IBindStatusCallback (Interfaces)
Last changed: ms.vinod@gmail.com-202.83.36.114

.
Summary
IBindStatusCallback interface definition

C# Definition:

    [ComImport,
    Guid("79EAC9C1-BAF9-11CE-8C82-00AA004BA90B"),
    InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IBindStatusCallback
    {
        [MethodImpl(MethodImplOptions.InternalCall,
        MethodCodeType=MethodCodeType.Runtime)]
        void OnStartBinding(
            [In] uint dwReserved,
            [In, MarshalAs(UnmanagedType.Interface)] IBinding pib);

        [MethodImpl(MethodImplOptions.InternalCall,
        MethodCodeType=MethodCodeType.Runtime)]
        void GetPriority(out int pnPriority);

        [MethodImpl(MethodImplOptions.InternalCall,
        MethodCodeType=MethodCodeType.Runtime)]
        void OnLowResource([In] uint reserved);

        [MethodImpl(MethodImplOptions.InternalCall,
        MethodCodeType=MethodCodeType.Runtime)]
        void OnProgress(
            [In] uint ulProgress,
            [In] uint ulProgressMax,
            [In] BINDSTATUS ulStatusCode,
            [In, MarshalAs(UnmanagedType.LPWStr)] string szStatusText);

        [MethodImpl(MethodImplOptions.InternalCall,
        MethodCodeType=MethodCodeType.Runtime)]
        void OnStopBinding(
            [In, MarshalAs(UnmanagedType.Error)] uint hresult,
            [In, MarshalAs(UnmanagedType.LPWStr)] string szError);

        [MethodImpl(MethodImplOptions.InternalCall,
        MethodCodeType=MethodCodeType.Runtime)]
        void GetBindInfo(
            out BINDF grfBINDF,
            [In, Out] ref BINDINFO pbindinfo);

        [MethodImpl(MethodImplOptions.InternalCall,
        MethodCodeType=MethodCodeType.Runtime)]
        void OnDataAvailable(
            [In] uint grfBSCF,
            [In] uint dwSize,
            [In] ref FORMATETC pFormatetc,
            [In] ref STGMEDIUM pStgmed);

        [MethodImpl(MethodImplOptions.InternalCall,
        MethodCodeType=MethodCodeType.Runtime)]
        void OnObjectAvailable(
            [In] ref Guid riid,
            [In, MarshalAs(UnmanagedType.IUnknown)] object punk);
    }

VB Definition:

   TODO

User-Defined Types:

    [Flags]
    public enum BINDVERB : uint
    {
        BINDVERB_GET       = 0x00000000,       // default action
        BINDVERB_POST      = 0x00000001,       // post verb
        BINDVERB_PUT       = 0x00000002,       // put verb
        BINDVERB_CUSTOM    = 0x00000003,       // custom verb
    }

    // flags that describe the type of transaction that caller wants
    [Flags]
    public enum BINDF : uint
        {
     BINDF_DEFAULT             = 0x00000000
    ,BINDF_ASYNCHRONOUS          = 0x00000001
    ,BINDF_ASYNCSTORAGE          = 0x00000002
    ,BINDF_NOPROGRESSIVERENDERING    = 0x00000004
    ,BINDF_OFFLINEOPERATION      = 0x00000008
    ,BINDF_GETNEWESTVERSION      = 0x00000010
    ,BINDF_NOWRITECACHE          = 0x00000020
    ,BINDF_NEEDFILE          = 0x00000040
    ,BINDF_PULLDATA          = 0x00000080
    ,BINDF_IGNORESECURITYPROBLEM     = 0x00000100
    ,BINDF_RESYNCHRONIZE         = 0x00000200
    ,BINDF_HYPERLINK         = 0x00000400
    ,BINDF_NO_UI             = 0x00000800
    ,BINDF_SILENTOPERATION       = 0x00001000
    ,BINDF_PRAGMA_NO_CACHE       = 0x00002000

    ,BINDF_GETCLASSOBJECT        = 0x00004000
    ,BINDF_RESERVED_1        = 0x00008000

    // bindstatus callback from client is free threaded
    ,BINDF_FREE_THREADED         = 0x00010000
    // client does not need to know excat size of data available
    // hence the read goes directly to e.g. socket
    ,BINDF_DIRECT_READ           = 0x00020000
    // is the transaction a forms submit.
    ,BINDF_FORMS_SUBMIT          = 0x00040000
    ,BINDF_GETFROMCACHE_IF_NET_FAIL  = 0x00080000
    // binding is from UrlMoniker
    ,BINDF_FROMURLMON        = 0x00100000
    ,BINDF_FWD_BACK          = 0x00200000

    ,BINDF_PREFERDEFAULTHANDLER      = 0x00400000
    ,BINDF_ENFORCERESTRICTED     = 0x00800000

    // Note:
    // the highest byte 0x??000000 is used internally
    // see other documentation
    }

    [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto, Pack=4)]
    public struct SECURITY_ATTRIBUTES
    {
        public uint nLength;
        public uint lpSecurityDescriptor;
        public int bInheritHandle;
    }

    [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto, Pack=4)]
    public struct BINDINFO
    {
        public uint cbSize;
        [MarshalAs(UnmanagedType.LPWStr)]
        public string szExtraInfo;
        public STGMEDIUM stgmedData;
        public uint grfBindInfoF;
        public BINDVERB dwBindVerb;
        [MarshalAs(UnmanagedType.LPWStr)]
        public string szCustomVerb;
        public uint cbstgmedData;
        public uint dwOptions;
        public uint dwOptionsFlags;
        public uint dwCodePage;
        public SECURITY_ATTRIBUTES securityAttributes;
        public Guid iid;
        [MarshalAs(UnmanagedType.IUnknown)]
        public object punk;
        public uint dwReserved;
    }

    [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto, Pack=4), ComConversionLoss]
    public struct FORMATETC
    {
        public uint cfFormat;
        [ComConversionLoss]
        public IntPtr ptd;
        public uint dwAspect;
        public int lindex;
        public uint tymed;
    }

    [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto, Pack=4), ComConversionLoss]
    public struct STGMEDIUM
    {
        public uint tymed;
        [ComConversionLoss]
        public IntPtr data;
        [MarshalAs(UnmanagedType.IUnknown)]
        public object pUnkForRelease;
    }

    public enum BINDSTATUS : uint
    {
     BINDSTATUS_FINDINGRESOURCE      = 1
    ,BINDSTATUS_CONNECTING
    ,BINDSTATUS_REDIRECTING
    ,BINDSTATUS_BEGINDOWNLOADDATA
    ,BINDSTATUS_DOWNLOADINGDATA
    ,BINDSTATUS_ENDDOWNLOADDATA
    ,BINDSTATUS_BEGINDOWNLOADCOMPONENTS
    ,BINDSTATUS_INSTALLINGCOMPONENTS
    ,BINDSTATUS_ENDDOWNLOADCOMPONENTS
    ,BINDSTATUS_USINGCACHEDCOPY
    ,BINDSTATUS_SENDINGREQUEST
    ,BINDSTATUS_CLASSIDAVAILABLE
    ,BINDSTATUS_MIMETYPEAVAILABLE
    ,BINDSTATUS_CACHEFILENAMEAVAILABLE
    ,BINDSTATUS_BEGINSYNCOPERATION
    ,BINDSTATUS_ENDSYNCOPERATION
    ,BINDSTATUS_BEGINUPLOADDATA
    ,BINDSTATUS_UPLOADINGDATA
    ,BINDSTATUS_ENDUPLOADDATA
    ,BINDSTATUS_PROTOCOLCLASSID
    ,BINDSTATUS_ENCODING
    ,BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE
    ,BINDSTATUS_CLASSINSTALLLOCATION
    ,BINDSTATUS_DECODING
    ,BINDSTATUS_LOADINGMIMEHANDLER
    ,BINDSTATUS_CONTENTDISPOSITIONATTACH
    ,BINDSTATUS_FILTERREPORTMIMETYPE
    ,BINDSTATUS_CLSIDCANINSTANTIATE
    ,BINDSTATUS_IUNKNOWNAVAILABLE
    ,BINDSTATUS_DIRECTBIND
    ,BINDSTATUS_RAWMIMETYPE
    ,BINDSTATUS_PROXYDETECTING
    ,BINDSTATUS_ACCEPTRANGES
    ,BINDSTATUS_COOKIE_SENT
    ,BINDSTATUS_COMPACT_POLICY_RECEIVED
    ,BINDSTATUS_COOKIE_SUPPRESSED
    ,BINDSTATUS_COOKIE_STATE_UNKNOWN
    ,BINDSTATUS_COOKIE_STATE_ACCEPT
    ,BINDSTATUS_COOKIE_STATE_REJECT
    ,BINDSTATUS_COOKIE_STATE_PROMPT
    ,BINDSTATUS_COOKIE_STATE_LEASH
    ,BINDSTATUS_COOKIE_STATE_DOWNGRADE
    ,BINDSTATUS_POLICY_HREF
    ,BINDSTATUS_P3P_HEADER
    ,BINDSTATUS_SESSION_COOKIE_RECEIVED
    ,BINDSTATUS_PERSISTENT_COOKIE_RECEIVED
    ,BINDSTATUS_SESSION_COOKIES_ALLOWED
    }

Notes:

None.

Documentation