📄 urlmon.idl
字号:
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1997.
//
// Contents: IBindProtocol interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPBINDPROTOCOL_DEFINED")
cpp_quote("#define _LPBINDPROTOCOL_DEFINED")
[
local,
object,
uuid(79eac9cd-baf9-11ce-8c82-00aa004ba90b),
pointer_default(unique)
]
interface IBindProtocol : IUnknown
{
typedef [unique] IBindProtocol *LPBINDPROTOCOL;
HRESULT CreateBinding(
[in] LPCWSTR szUrl,
[in] IBindCtx *pbc,
[out] IBinding ** ppb);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1997.
//
// Contents: IBinding interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPBINDING_DEFINED")
cpp_quote("#define _LPBINDING_DEFINED")
[
object,
uuid(79eac9c0-baf9-11ce-8c82-00aa004ba90b),
pointer_default(unique)
]
interface IBinding: IUnknown
{
typedef [unique] IBinding *LPBINDING;
HRESULT Abort();
HRESULT Suspend();
HRESULT Resume();
HRESULT SetPriority(
[in] LONG nPriority);
HRESULT GetPriority(
[out] LONG * pnPriority);
[local]
HRESULT GetBindResult(
[out] CLSID *pclsidProtocol,
[out] DWORD *pdwResult,
[out] LPOLESTR *pszResult,
[in, out] DWORD *pdwReserved);
[call_as(GetBindResult)]
HRESULT RemoteGetBindResult(
[out] CLSID *pclsidProtocol,
[out] DWORD *pdwResult,
[out] LPOLESTR *pszResult,
[in] DWORD dwReserved);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1997.
//
// Contents: IBindStatusCallback interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPBINDSTATUSCALLBACK_DEFINED")
cpp_quote("#define _LPBINDSTATUSCALLBACK_DEFINED")
[
object,
uuid(79eac9c1-baf9-11ce-8c82-00aa004ba90b),
pointer_default(unique)
]
interface IBindStatusCallback: IUnknown
{
typedef [unique] IBindStatusCallback *LPBINDSTATUSCALLBACK;
typedef enum
{
BINDVERB_GET = 0x00000000, // default action
BINDVERB_POST = 0x00000001, // post verb
BINDVERB_PUT = 0x00000002, // put verb
BINDVERB_CUSTOM = 0x00000003, // custom verb
} BINDVERB;
typedef enum
{
BINDINFOF_URLENCODESTGMEDDATA = 0x00000001, // url encode the stgmed data
BINDINFOF_URLENCODEDEXTRAINFO = 0x00000002, // url encode the extra info
} BINDINFOF;
// flags that describe the type of transaction that caller wants
typedef enum
{
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
// 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
// Note:
// the highest byte 0x??000000 is used internally
// see other documentation
} BINDF;
typedef struct _tagBINDINFO
{
ULONG cbSize;
LPWSTR szExtraInfo; // e.g. string added to the URL string [range byte]
STGMEDIUM stgmedData; // e.g. put or post data
DWORD grfBindInfoF; // e.g. how meddata should be treaded
DWORD dwBindVerb; // e.g. put, post, ...
LPWSTR szCustomVerb; // e.g. custom verb
DWORD cbstgmedData; // size of data in stgmedData
DWORD dwOptions; // additional option
DWORD dwOptionsFlags; // options flags
DWORD dwCodePage; // the code used to convert the url
SECURITY_ATTRIBUTES securityAttributes;
IID iid; // iid of pUnk
IUnknown *pUnk; // pUnk - whatever
DWORD dwReserved; // should be null
} BINDINFO;
typedef struct _REMSECURITY_ATTRIBUTES
{
DWORD nLength;
DWORD lpSecurityDescriptor;
BOOL bInheritHandle;
} REMSECURITY_ATTRIBUTES, *PREMSECURITY_ATTRIBUTES, *LPREMSECURITY_ATTRIBUTES;
typedef struct _tagRemBINDINFO
{
ULONG cbSize;
LPWSTR szExtraInfo; // e.g. string added to the URL string [range byte]
DWORD grfBindInfoF; // e.g. how meddata should be treaded
DWORD dwBindVerb; // e.g. put, post, ...
LPWSTR szCustomVerb; // e.g. custom verb
DWORD cbstgmedData; // size of data in stgmedData
DWORD dwOptions; // additional options
DWORD dwOptionsFlags; // options flags
DWORD dwCodePage; // the code used to convert the url
REMSECURITY_ATTRIBUTES securityAttributes;
IID iid; // iid of pUnk
IUnknown *pUnk; // pUnk - whatever
DWORD dwReserved; // should be null
} RemBINDINFO;
typedef struct tagRemFORMATETC {
DWORD cfFormat;
DWORD ptd;
DWORD dwAspect;
LONG lindex;
DWORD tymed;
} RemFORMATETC, *LPREMFORMATETC;
// Data notification flags
typedef enum
{
BSCF_FIRSTDATANOTIFICATION = 0x00000001
,BSCF_INTERMEDIATEDATANOTIFICATION = 0x00000002
,BSCF_LASTDATANOTIFICATION = 0x00000004
,BSCF_DATAFULLYAVAILABLE = 0x00000008
,BSCF_AVAILABLEDATASIZEUNKNOWN = 0x00000010
} BSCF;
typedef enum tagBINDSTATUS
{
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;
HRESULT OnStartBinding(
[in] DWORD dwReserved,
[in] IBinding * pib);
HRESULT GetPriority(
[out] LONG * pnPriority);
HRESULT OnLowResource(
[in] DWORD reserved);
HRESULT OnProgress(
[in] ULONG ulProgress,
[in] ULONG ulProgressMax,
[in] ULONG ulStatusCode,
[in] LPCWSTR szStatusText);
HRESULT OnStopBinding(
[in] HRESULT hresult,
[in, unique] LPCWSTR szError
);
[local]
HRESULT GetBindInfo(
[out] DWORD *grfBINDF,
[in, out, unique] BINDINFO * pbindinfo
);
[call_as(GetBindInfo)]
HRESULT RemoteGetBindInfo(
[out] DWORD *grfBINDF,
[in, out, unique] RemBINDINFO * pbindinfo,
[in, out, unique] RemSTGMEDIUM* pstgmed
);
[local]
HRESULT OnDataAvailable(
[in] DWORD grfBSCF,
[in] DWORD dwSize,
[in] FORMATETC* pformatetc,
[in] STGMEDIUM* pstgmed
);
[call_as(OnDataAvailable)]
HRESULT RemoteOnDataAvailable(
[in] DWORD grfBSCF,
[in] DWORD dwSize,
[in] RemFORMATETC *pformatetc,
[in] RemSTGMEDIUM* pstgmed
);
HRESULT OnObjectAvailable(
[in] REFIID riid,
[in, iid_is(riid)] IUnknown* punk
);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1997.
//
// Contents: IAuthenticate interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPAUTHENTICATION_DEFINED")
cpp_quote("#define _LPAUTHENTICATION_DEFINED")
[
local,
object,
uuid(79eac9d0-baf9-11ce-8c82-00aa004ba90b),
pointer_default(unique)
]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -