📄 urlmon.h
字号:
STDAPI CreateURLBinding(LPCWSTR lpszUrl, IBindCtx *pbc, IBinding **ppBdg);
STDAPI RegisterMediaTypes(UINT ctypes, const LPCSTR* rgszTypes, CLIPFORMAT* rgcfTypes);
STDAPI FindMediaType(LPCSTR rgszTypes, CLIPFORMAT* rgcfTypes);
STDAPI CreateFormatEnumerator( UINT cfmtetc, FORMATETC* rgfmtetc, IEnumFORMATETC** ppenumfmtetc);
STDAPI RegisterFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc, DWORD reserved);
STDAPI RevokeFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc);
STDAPI RegisterMediaTypeClass(LPBC pBC,UINT ctypes, const LPCSTR* rgszTypes, CLSID *rgclsID, DWORD reserved);
STDAPI FindMediaTypeClass(LPBC pBC, LPCSTR szType, CLSID *pclsID, DWORD reserved);
STDAPI UrlMkSetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved);
STDAPI UrlMkGetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD *pdwBufferLength, DWORD dwReserved);
STDAPI FindMimeFromData(
LPBC pBC, // bind context - can be NULL
LPCWSTR pwzUrl, // url - can be null
LPVOID pBuffer, // buffer with data to sniff - can be null (pwzUrl must be valid)
DWORD cbSize, // size of buffer
LPCWSTR pwzMimeProposed, // proposed mime if - can be null
DWORD dwMimeFlags, // will be defined
LPWSTR *ppwzMimeOut, // the suggested mime
DWORD dwReserved); // must be 0
#define FMFD_DEFAULT 0x00000000
#define FMFD_URLASFILENAME 0x00000001
#define FMFD_ENABLEMIMESNIFFING 0x00000002
#define FMFD_IGNOREMIMETEXTPLAIN 0x00000004
STDAPI ObtainUserAgentString(DWORD dwOption, LPSTR pszUAOut, DWORD* cbSize);
STDAPI CompareSecurityIds(BYTE* pbSecurityId1, DWORD dwLen1, BYTE* pbSecurityId2, DWORD dwLen2, DWORD dwReserved);
STDAPI CompatFlagsFromClsid(CLSID *pclsid, LPDWORD pdwCompatFlags, LPDWORD pdwMiscStatusFlags);
// URLMON-specific defines for UrlMkSetSessionOption() above
#define URLMON_OPTION_USERAGENT 0x10000001
#define URLMON_OPTION_USERAGENT_REFRESH 0x10000002
#define URLMON_OPTION_URL_ENCODING 0x10000004
#define URLMON_OPTION_USE_BINDSTRINGCREDS 0x10000008
#define CF_NULL 0
#define CFSTR_MIME_NULL NULL
#define CFSTR_MIME_TEXT (TEXT("text/plain"))
#define CFSTR_MIME_RICHTEXT (TEXT("text/richtext"))
#define CFSTR_MIME_X_BITMAP (TEXT("image/x-xbitmap"))
#define CFSTR_MIME_POSTSCRIPT (TEXT("application/postscript"))
#define CFSTR_MIME_AIFF (TEXT("audio/aiff"))
#define CFSTR_MIME_BASICAUDIO (TEXT("audio/basic"))
#define CFSTR_MIME_WAV (TEXT("audio/wav"))
#define CFSTR_MIME_X_WAV (TEXT("audio/x-wav"))
#define CFSTR_MIME_GIF (TEXT("image/gif"))
#define CFSTR_MIME_PJPEG (TEXT("image/pjpeg"))
#define CFSTR_MIME_JPEG (TEXT("image/jpeg"))
#define CFSTR_MIME_TIFF (TEXT("image/tiff"))
#define CFSTR_MIME_X_PNG (TEXT("image/x-png"))
#define CFSTR_MIME_BMP (TEXT("image/bmp"))
#define CFSTR_MIME_X_ART (TEXT("image/x-jg"))
#define CFSTR_MIME_X_EMF (TEXT("image/x-emf"))
#define CFSTR_MIME_X_WMF (TEXT("image/x-wmf"))
#define CFSTR_MIME_AVI (TEXT("video/avi"))
#define CFSTR_MIME_MPEG (TEXT("video/mpeg"))
#define CFSTR_MIME_FRACTALS (TEXT("application/fractals"))
#define CFSTR_MIME_RAWDATA (TEXT("application/octet-stream"))
#define CFSTR_MIME_RAWDATASTRM (TEXT("application/octet-stream"))
#define CFSTR_MIME_PDF (TEXT("application/pdf"))
#define CFSTR_MIME_HTA (TEXT("application/hta"))
#define CFSTR_MIME_X_AIFF (TEXT("audio/x-aiff"))
#define CFSTR_MIME_X_REALAUDIO (TEXT("audio/x-pn-realaudio"))
#define CFSTR_MIME_XBM (TEXT("image/xbm"))
#define CFSTR_MIME_QUICKTIME (TEXT("video/quicktime"))
#define CFSTR_MIME_X_MSVIDEO (TEXT("video/x-msvideo"))
#define CFSTR_MIME_X_SGI_MOVIE (TEXT("video/x-sgi-movie"))
#define CFSTR_MIME_HTML (TEXT("text/html"))
#define CFSTR_MIME_XML (TEXT("text/xml"))
// MessageId: MK_S_ASYNCHRONOUS
// MessageText: Operation is successful, but will complete asynchronously.
//
#define MK_S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x000401E8L)
#ifndef S_ASYNCHRONOUS
#define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS
#endif
#ifndef E_PENDING
#define E_PENDING _HRESULT_TYPEDEF_(0x8000000AL)
#endif
//
//
// WinINet and protocol specific errors are mapped to one of the following
// error which are returned in IBSC::OnStopBinding
//
//
// Note: FACILITY C is split into ranges of 1k
// C0000 - C03FF INET_E_ (URLMON's original hresult)
// C0400 - C07FF INET_E_CLIENT_xxx
// C0800 - C0BFF INET_E_SERVER_xxx
// C0C00 - C0FFF INET_E_????
// C1000 - C13FF INET_E_AGENT_xxx (info delivery agents)
#define INET_E_INVALID_URL _HRESULT_TYPEDEF_(0x800C0002L)
#define INET_E_NO_SESSION _HRESULT_TYPEDEF_(0x800C0003L)
#define INET_E_CANNOT_CONNECT _HRESULT_TYPEDEF_(0x800C0004L)
#define INET_E_RESOURCE_NOT_FOUND _HRESULT_TYPEDEF_(0x800C0005L)
#define INET_E_OBJECT_NOT_FOUND _HRESULT_TYPEDEF_(0x800C0006L)
#define INET_E_DATA_NOT_AVAILABLE _HRESULT_TYPEDEF_(0x800C0007L)
#define INET_E_DOWNLOAD_FAILURE _HRESULT_TYPEDEF_(0x800C0008L)
#define INET_E_AUTHENTICATION_REQUIRED _HRESULT_TYPEDEF_(0x800C0009L)
#define INET_E_NO_VALID_MEDIA _HRESULT_TYPEDEF_(0x800C000AL)
#define INET_E_CONNECTION_TIMEOUT _HRESULT_TYPEDEF_(0x800C000BL)
#define INET_E_INVALID_REQUEST _HRESULT_TYPEDEF_(0x800C000CL)
#define INET_E_UNKNOWN_PROTOCOL _HRESULT_TYPEDEF_(0x800C000DL)
#define INET_E_SECURITY_PROBLEM _HRESULT_TYPEDEF_(0x800C000EL)
#define INET_E_CANNOT_LOAD_DATA _HRESULT_TYPEDEF_(0x800C000FL)
#define INET_E_CANNOT_INSTANTIATE_OBJECT _HRESULT_TYPEDEF_(0x800C0010L)
#define INET_E_REDIRECT_FAILED _HRESULT_TYPEDEF_(0x800C0014L)
#define INET_E_REDIRECT_TO_DIR _HRESULT_TYPEDEF_(0x800C0015L)
#define INET_E_CANNOT_LOCK_REQUEST _HRESULT_TYPEDEF_(0x800C0016L)
#define INET_E_USE_EXTEND_BINDING _HRESULT_TYPEDEF_(0x800C0017L)
#define INET_E_TERMINATED_BIND _HRESULT_TYPEDEF_(0x800C0018L)
#define INET_E_ERROR_FIRST _HRESULT_TYPEDEF_(0x800C0002L)
#define INET_E_CODE_DOWNLOAD_DECLINED _HRESULT_TYPEDEF_(0x800C0100L)
#define INET_E_RESULT_DISPATCHED _HRESULT_TYPEDEF_(0x800C0200L)
#define INET_E_CANNOT_REPLACE_SFP_FILE _HRESULT_TYPEDEF_(0x800C0300L)
#define INET_E_CODE_INSTALL_SUPPRESSED _HRESULT_TYPEDEF_(0x800C0400L)
#define INET_E_ERROR_LAST INET_E_CANNOT_REPLACE_SFP_FILE
#ifndef _LPPERSISTMONIKER_DEFINED
#define _LPPERSISTMONIKER_DEFINED
extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_v0_0_s_ifspec;
#ifndef __IPersistMoniker_INTERFACE_DEFINED__
#define __IPersistMoniker_INTERFACE_DEFINED__
/* interface IPersistMoniker */
/* [unique][uuid][object] */
typedef /* [unique] */ IPersistMoniker *LPPERSISTMONIKER;
EXTERN_C const IID IID_IPersistMoniker;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("79eac9c9-baf9-11ce-8c82-00aa004ba90b")
IPersistMoniker : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetClassID(
/* [out] */ CLSID *pClassID) = 0;
virtual HRESULT STDMETHODCALLTYPE IsDirty( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Load(
/* [in] */ BOOL fFullyAvailable,
/* [in] */ IMoniker *pimkName,
/* [in] */ LPBC pibc,
/* [in] */ DWORD grfMode) = 0;
virtual HRESULT STDMETHODCALLTYPE Save(
/* [in] */ IMoniker *pimkName,
/* [in] */ LPBC pbc,
/* [in] */ BOOL fRemember) = 0;
virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
/* [in] */ IMoniker *pimkName,
/* [in] */ LPBC pibc) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurMoniker(
/* [out] */ IMoniker **ppimkName) = 0;
};
#else /* C style interface */
typedef struct IPersistMonikerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IPersistMoniker * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IPersistMoniker * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IPersistMoniker * This);
HRESULT ( STDMETHODCALLTYPE *GetClassID )(
IPersistMoniker * This,
/* [out] */ CLSID *pClassID);
HRESULT ( STDMETHODCALLTYPE *IsDirty )(
IPersistMoniker * This);
HRESULT ( STDMETHODCALLTYPE *Load )(
IPersistMoniker * This,
/* [in] */ BOOL fFullyAvailable,
/* [in] */ IMoniker *pimkName,
/* [in] */ LPBC pibc,
/* [in] */ DWORD grfMode);
HRESULT ( STDMETHODCALLTYPE *Save )(
IPersistMoniker * This,
/* [in] */ IMoniker *pimkName,
/* [in] */ LPBC pbc,
/* [in] */ BOOL fRemember);
HRESULT ( STDMETHODCALLTYPE *SaveCompleted )(
IPersistMoniker * This,
/* [in] */ IMoniker *pimkName,
/* [in] */ LPBC pibc);
HRESULT ( STDMETHODCALLTYPE *GetCurMoniker )(
IPersistMoniker * This,
/* [out] */ IMoniker **ppimkName);
END_INTERFACE
} IPersistMonikerVtbl;
interface IPersistMoniker
{
CONST_VTBL struct IPersistMonikerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IPersistMoniker_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IPersistMoniker_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IPersistMoniker_Release(This) \
(This)->lpVtbl -> Release(This)
#define IPersistMoniker_GetClassID(This,pClassID) \
(This)->lpVtbl -> GetClassID(This,pClassID)
#define IPersistMoniker_IsDirty(This) \
(This)->lpVtbl -> IsDirty(This)
#define IPersistMoniker_Load(This,fFullyAvailable,pimkName,pibc,grfMode) \
(This)->lpVtbl -> Load(This,fFullyAvailable,pimkName,pibc,grfMode)
#define IPersistMoniker_Save(This,pimkName,pbc,fRemember) \
(This)->lpVtbl -> Save(This,pimkName,pbc,fRemember)
#define IPersistMoniker_SaveCompleted(This,pimkName,pibc) \
(This)->lpVtbl -> SaveCompleted(This,pimkName,pibc)
#define IPersistMoniker_GetCurMoniker(This,ppimkName) \
(This)->lpVtbl -> GetCurMoniker(This,ppimkName)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IPersistMoniker_GetClassID_Proxy(
IPersistMoniker * This,
/* [out] */ CLSID *pClassID);
void __RPC_STUB IPersistMoniker_GetClassID_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPersistMoniker_IsDirty_Proxy(
IPersistMoniker * This);
void __RPC_STUB IPersistMoniker_IsDirty_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPersistMoniker_Load_Proxy(
IPersistMoniker * This,
/* [in] */ BOOL fFullyAvailable,
/* [in] */ IMoniker *pimkName,
/* [in] */ LPBC pibc,
/* [in] */ DWORD grfMode);
void __RPC_STUB IPersistMoniker_Load_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPersistMoniker_Save_Proxy(
IPersistMoniker * This,
/* [in] */ IMoniker *pimkName,
/* [in] */ LPBC pbc,
/* [in] */ BOOL fRemember);
void __RPC_STUB IPersistMoniker_Save_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPersistMoniker_SaveCompleted_Proxy(
IPersistMoniker * This,
/* [in] */ IMoniker *pimkName,
/* [in] */ LPBC pibc);
void __RPC_STUB IPersistMoniker_SaveCompleted_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IPersistMoniker_GetCurMoniker_Proxy(
IPersistMoniker * This,
/* [out] */ IMoniker **ppimkName);
void __RPC_STUB IPersistMoniker_GetCurMoniker_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IPersistMoniker_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_urlmon_0174 */
/* [local] */
#endif
#ifndef _LPMONIKERPROP_DEFINED
#define _LPMONIKERPROP_DEFINED
extern RPC_IF_HANDLE __MIDL_itf_urlmon_0174_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_urlmon_0174_v0_0_s_ifspec;
#ifndef __IMonikerProp_INTERFACE_DEFINED__
#define __IMonikerProp_INTERFACE_DEFINED__
/* interface IMonikerProp */
/* [unique][uuid][object] */
typedef /* [unique] */ IMonikerProp *LPMONIKERPROP;
typedef /* [public][public] */
enum __MIDL_IMonikerProp_0001
{ MIMETYPEPROP = 0,
USE_SRC_URL = 0x1,
CLASSIDPROP = 0x2,
TRUSTEDDOWNLOADPROP = 0x3,
POPUPLEVELPROP = 0x4
} MONIKERPROPERTY;
EXTERN_C const IID IID_IMonikerProp;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a5ca5f7f-1847-4d87-9c5b-918509f7511d")
IMonikerProp : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE PutProperty(
/* [in] */ MONIKERPROPERTY mkp,
/* [in] */ LPCWSTR val) = 0;
};
#else /* C style interface */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -