urlmon.idl
来自「本源码是vc环境下的usb程序」· IDL 代码 · 共 1,612 行 · 第 1/5 页
IDL
1,612 行
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992-1999.
//
// File: urlmon.idl
//
// Contents: async moniker interfaces
//
// Classes:
//
// Functions:
//
//
//----------------------------------------------------------------------------
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// UrlMon.h")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.")
cpp_quote("//")
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
cpp_quote("// PARTICULAR PURPOSE.")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
cpp_quote("#pragma comment(lib,\"uuid.lib\")")
cpp_quote("")
cpp_quote("//---------------------------------------------------------------------------=")
cpp_quote("// URL Moniker Interfaces.")
cpp_quote("")
#ifdef UNIX
typedef unsigned long HANDLE_PTR;
#endif /* UNIX */
import "objidl.idl";
import "oleidl.idl";
import "servprov.idl";
import "msxml.idl";
interface IPersistMoniker;
interface IBindProtocol;
interface IBinding;
interface IBindStatusCallback;
interface IBindStatusCallbackMsg;
interface IAuthenticate;
interface IWindowForBindingUI;
interface ICodeInstall;
interface IHttpNegotiate;
interface IHttpNegotiate2;
cpp_quote("// Side-by-Side clsid")
cpp_quote("EXTERN_C const IID CLSID_SBS_StdURLMoniker; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_HttpProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_FtpProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_GopherProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_HttpSProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_FileProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_MkProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_UrlMkBindCtx; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_SoftDistExt; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_StdEncodingFilterFac; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_DeCompMimeFilter; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_CdlProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_ClassInstallFilter; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_InternetSecurityManager; ")
cpp_quote("EXTERN_C const IID CLSID_SBS_InternetZoneManager; ")
cpp_quote("// END Side-by-Side clsid")
cpp_quote("// These are for backwards compatibility with previous URLMON versions")
cpp_quote("#define BINDF_DONTUSECACHE BINDF_GETNEWESTVERSION")
cpp_quote("#define BINDF_DONTPUTINCACHE BINDF_NOWRITECACHE")
cpp_quote("#define BINDF_NOCOPYDATA BINDF_PULLDATA")
cpp_quote("#define INVALID_P_ROOT_SECURITY_ID ((BYTE*)-1)")
cpp_quote("#define PI_DOCFILECLSIDLOOKUP PI_CLSIDLOOKUP")
cpp_quote("EXTERN_C const IID IID_IAsyncMoniker; ")
cpp_quote("EXTERN_C const IID CLSID_StdURLMoniker; ")
cpp_quote("EXTERN_C const IID CLSID_HttpProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_FtpProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_GopherProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_HttpSProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_FileProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_MkProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_StdURLProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_UrlMkBindCtx; ")
cpp_quote("EXTERN_C const IID CLSID_StdEncodingFilterFac; ")
cpp_quote("EXTERN_C const IID CLSID_DeCompMimeFilter; ")
cpp_quote("EXTERN_C const IID CLSID_CdlProtocol; ")
cpp_quote("EXTERN_C const IID CLSID_ClassInstallFilter; ")
cpp_quote("EXTERN_C const IID IID_IAsyncBindCtx; ")
#pragma midl_echo(" ")
#pragma midl_echo("#define SZ_URLCONTEXT OLESTR(\"URL Context\")")
#pragma midl_echo("#define SZ_ASYNC_CALLEE OLESTR(\"AsyncCallee\")")
#pragma midl_echo("#define MKSYS_URLMONIKER 6 ")
#pragma midl_echo("#define URL_MK_LEGACY 0 ")
#pragma midl_echo("#define URL_MK_UNIFORM 1 ")
#pragma midl_echo("#define URL_MK_NO_CANONICALIZE 2 ")
#pragma midl_echo(" ")
#pragma midl_echo("STDAPI CreateURLMoniker(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER FAR * ppmk); ")
#pragma midl_echo("STDAPI CreateURLMonikerEx(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER FAR * ppmk, DWORD dwFlags); ")
#pragma midl_echo("STDAPI GetClassURL(LPCWSTR szURL, CLSID *pClsID); ")
#pragma midl_echo("STDAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *pBSCb, ")
#pragma midl_echo(" IEnumFORMATETC *pEFetc, IBindCtx **ppBC); ")
#pragma midl_echo("STDAPI CreateAsyncBindCtxEx(IBindCtx *pbc, DWORD dwOptions, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEnum, ")
#pragma midl_echo(" IBindCtx **ppBC, DWORD reserved); ")
#pragma midl_echo("STDAPI MkParseDisplayNameEx(IBindCtx *pbc, LPCWSTR szDisplayName, ULONG *pchEaten, ")
#pragma midl_echo(" LPMONIKER *ppmk); ")
#pragma midl_echo("STDAPI RegisterBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb, ")
#pragma midl_echo(" IBindStatusCallback** ppBSCBPrev, DWORD dwReserved); ")
#pragma midl_echo("STDAPI RevokeBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb); ")
#pragma midl_echo("STDAPI GetClassFileOrMime(LPBC pBC, LPCWSTR szFilename, LPVOID pBuffer, DWORD cbSize, LPCWSTR szMime, DWORD dwReserved, CLSID *pclsid); ")
#pragma midl_echo("STDAPI IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved); ")
#pragma midl_echo("STDAPI CoGetClassObjectFromURL( REFCLSID rCLASSID,")
#pragma midl_echo(" LPCWSTR szCODE, DWORD dwFileVersionMS, ")
#pragma midl_echo(" DWORD dwFileVersionLS, LPCWSTR szTYPE,")
#pragma midl_echo(" LPBINDCTX pBindCtx, DWORD dwClsContext,")
#pragma midl_echo(" LPVOID pvReserved, REFIID riid, LPVOID * ppv);")
#pragma midl_echo("STDAPI FaultInIEFeature( HWND hWnd,")
#pragma midl_echo(" uCLSSPEC *pClassSpec,")
#pragma midl_echo(" QUERYCONTEXT *pQuery, DWORD dwFlags); ")
#pragma midl_echo("STDAPI GetComponentIDFromCLSSPEC(uCLSSPEC *pClassspec,")
#pragma midl_echo(" LPSTR * ppszComponentID); ")
#pragma midl_echo("// flags for FaultInIEFeature")
#pragma midl_echo("#define FIEF_FLAG_FORCE_JITUI 0x1 // force JIT ui even if")
#pragma midl_echo(" // previoulsy rejected by ")
#pragma midl_echo(" // user in this session or")
#pragma midl_echo(" // marked as Never Ask Again")
#pragma midl_echo("#define FIEF_FLAG_PEEK 0x2 // just peek, don't faultin")
#pragma midl_echo("#define FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK 0x4 // force JIT without checking local version")
#pragma midl_echo(" ")
#pragma midl_echo("//helper apis ")
#pragma midl_echo("STDAPI IsAsyncMoniker(IMoniker* pmk); ")
#pragma midl_echo("STDAPI CreateURLBinding(LPCWSTR lpszUrl, IBindCtx *pbc, IBinding **ppBdg); ")
#pragma midl_echo(" ")
#pragma midl_echo("STDAPI RegisterMediaTypes(UINT ctypes, const LPCSTR* rgszTypes, CLIPFORMAT* rgcfTypes); ")
#pragma midl_echo("STDAPI FindMediaType(LPCSTR rgszTypes, CLIPFORMAT* rgcfTypes); ")
#pragma midl_echo("STDAPI CreateFormatEnumerator( UINT cfmtetc, FORMATETC* rgfmtetc, IEnumFORMATETC** ppenumfmtetc); ")
#pragma midl_echo("STDAPI RegisterFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc, DWORD reserved); ")
#pragma midl_echo("STDAPI RevokeFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc); ")
#pragma midl_echo("STDAPI RegisterMediaTypeClass(LPBC pBC,UINT ctypes, const LPCSTR* rgszTypes, CLSID *rgclsID, DWORD reserved); ")
#pragma midl_echo("STDAPI FindMediaTypeClass(LPBC pBC, LPCSTR szType, CLSID *pclsID, DWORD reserved); ")
#pragma midl_echo("STDAPI UrlMkSetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved); ")
#pragma midl_echo("STDAPI UrlMkGetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD *pdwBufferLength, DWORD dwReserved); ")
#pragma midl_echo("STDAPI FindMimeFromData( ")
#pragma midl_echo(" LPBC pBC, // bind context - can be NULL ")
#pragma midl_echo(" LPCWSTR pwzUrl, // url - can be null ")
#pragma midl_echo(" LPVOID pBuffer, // buffer with data to sniff - can be null (pwzUrl must be valid) ")
#pragma midl_echo(" DWORD cbSize, // size of buffer ")
#pragma midl_echo(" LPCWSTR pwzMimeProposed, // proposed mime if - can be null ")
#pragma midl_echo(" DWORD dwMimeFlags, // will be defined ")
#pragma midl_echo(" LPWSTR *ppwzMimeOut, // the suggested mime ")
#pragma midl_echo(" DWORD dwReserved); // must be 0 ")
#pragma midl_echo("#define FMFD_DEFAULT 0x00000000 ")
#pragma midl_echo("#define FMFD_URLASFILENAME 0x00000001 ")
#pragma midl_echo("#define FMFD_ENABLEMIMESNIFFING 0x00000002 ")
#pragma midl_echo("#define FMFD_IGNOREMIMETEXTPLAIN 0x00000004 ")
#pragma midl_echo("STDAPI ObtainUserAgentString(DWORD dwOption, LPSTR pszUAOut, DWORD* cbSize); ")
#pragma midl_echo("STDAPI CompareSecurityIds(BYTE* pbSecurityId1, DWORD dwLen1, BYTE* pbSecurityId2, DWORD dwLen2, DWORD dwReserved); ")
#pragma midl_echo("STDAPI CompatFlagsFromClsid(CLSID *pclsid, LPDWORD pdwCompatFlags, LPDWORD pdwMiscStatusFlags); ")
#pragma midl_echo(" ")
#pragma midl_echo("// URLMON-specific defines for UrlMkSetSessionOption() above")
#pragma midl_echo("#define URLMON_OPTION_USERAGENT 0x10000001")
#pragma midl_echo("#define URLMON_OPTION_USERAGENT_REFRESH 0x10000002")
#pragma midl_echo("#define URLMON_OPTION_URL_ENCODING 0x10000004")
#pragma midl_echo("#define URLMON_OPTION_USE_BINDSTRINGCREDS 0x10000008")
#pragma midl_echo(" ")
#pragma midl_echo("#define CF_NULL 0 ")
#pragma midl_echo("#define CFSTR_MIME_NULL NULL ")
// 7 bit MIME Types
#pragma midl_echo("#define CFSTR_MIME_TEXT (TEXT(\"text/plain\")) ")
#pragma midl_echo("#define CFSTR_MIME_RICHTEXT (TEXT(\"text/richtext\")) ")
#pragma midl_echo("#define CFSTR_MIME_X_BITMAP (TEXT(\"image/x-xbitmap\")) ")
#pragma midl_echo("#define CFSTR_MIME_POSTSCRIPT (TEXT(\"application/postscript\")) ")
// 8 bit MIME Types
#pragma midl_echo("#define CFSTR_MIME_AIFF (TEXT(\"audio/aiff\")) ")
#pragma midl_echo("#define CFSTR_MIME_BASICAUDIO (TEXT(\"audio/basic\")) ")
#pragma midl_echo("#define CFSTR_MIME_WAV (TEXT(\"audio/wav\")) ")
#pragma midl_echo("#define CFSTR_MIME_X_WAV (TEXT(\"audio/x-wav\")) ")
#pragma midl_echo("#define CFSTR_MIME_GIF (TEXT(\"image/gif\")) ")
#pragma midl_echo("#define CFSTR_MIME_PJPEG (TEXT(\"image/pjpeg\")) ")
#pragma midl_echo("#define CFSTR_MIME_JPEG (TEXT(\"image/jpeg\")) ")
#pragma midl_echo("#define CFSTR_MIME_TIFF (TEXT(\"image/tiff\")) ")
#pragma midl_echo("#define CFSTR_MIME_X_PNG (TEXT(\"image/x-png\")) ")
#pragma midl_echo("#define CFSTR_MIME_BMP (TEXT(\"image/bmp\")) ")
#pragma midl_echo("#define CFSTR_MIME_X_ART (TEXT(\"image/x-jg\")) ")
#pragma midl_echo("#define CFSTR_MIME_X_EMF (TEXT(\"image/x-emf\")) ")
#pragma midl_echo("#define CFSTR_MIME_X_WMF (TEXT(\"image/x-wmf\")) ")
#pragma midl_echo("#define CFSTR_MIME_AVI (TEXT(\"video/avi\")) ")
#pragma midl_echo("#define CFSTR_MIME_MPEG (TEXT(\"video/mpeg\")) ")
#pragma midl_echo("#define CFSTR_MIME_FRACTALS (TEXT(\"application/fractals\")) ")
#pragma midl_echo("#define CFSTR_MIME_RAWDATA (TEXT(\"application/octet-stream\"))")
#pragma midl_echo("#define CFSTR_MIME_RAWDATASTRM (TEXT(\"application/octet-stream\"))")
#pragma midl_echo("#define CFSTR_MIME_PDF (TEXT(\"application/pdf\")) ")
#pragma midl_echo("#define CFSTR_MIME_HTA (TEXT(\"application/hta\")) ")
#pragma midl_echo("#define CFSTR_MIME_X_AIFF (TEXT(\"audio/x-aiff\")) ")
#pragma midl_echo("#define CFSTR_MIME_X_REALAUDIO (TEXT(\"audio/x-pn-realaudio\")) ")
#pragma midl_echo("#define CFSTR_MIME_XBM (TEXT(\"image/xbm\")) ")
#pragma midl_echo("#define CFSTR_MIME_QUICKTIME (TEXT(\"video/quicktime\")) ")
#pragma midl_echo("#define CFSTR_MIME_X_MSVIDEO (TEXT(\"video/x-msvideo\")) ")
#pragma midl_echo("#define CFSTR_MIME_X_SGI_MOVIE (TEXT(\"video/x-sgi-movie\")) ")
// 7 or 8 bit MIME Types
#pragma midl_echo("#define CFSTR_MIME_HTML (TEXT(\"text/html\")) ")
#pragma midl_echo("#define CFSTR_MIME_XML (TEXT(\"text/xml\")) ")
#pragma midl_echo(" ")
cpp_quote("// MessageId: MK_S_ASYNCHRONOUS ")
cpp_quote("// MessageText: Operation is successful, but will complete asynchronously. ")
cpp_quote("// ")
cpp_quote("#define MK_S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x000401E8L) ")
cpp_quote("#ifndef S_ASYNCHRONOUS ")
cpp_quote("#define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS ")
cpp_quote("#endif ")
cpp_quote(" ")
cpp_quote("#ifndef E_PENDING ")
cpp_quote("#define E_PENDING _HRESULT_TYPEDEF_(0x8000000AL) ")
cpp_quote("#endif ")
cpp_quote(" ")
cpp_quote("// ")
cpp_quote("// ")
cpp_quote("// WinINet and protocol specific errors are mapped to one of the following ")
cpp_quote("// error which are returned in IBSC::OnStopBinding ")
cpp_quote("// ")
cpp_quote("// ")
cpp_quote("// Note: FACILITY C is split into ranges of 1k ")
cpp_quote("// C0000 - C03FF INET_E_ (URLMON's original hresult) ")
cpp_quote("// C0400 - C07FF INET_E_CLIENT_xxx ")
cpp_quote("// C0800 - C0BFF INET_E_SERVER_xxx ")
cpp_quote("// C0C00 - C0FFF INET_E_???? ")
cpp_quote("// C1000 - C13FF INET_E_AGENT_xxx (info delivery agents) ")
//
// url could not be parsed
//
cpp_quote("#define INET_E_INVALID_URL _HRESULT_TYPEDEF_(0x800C0002L) ")
//
// InternetOpen failed - no session was established
//
cpp_quote("#define INET_E_NO_SESSION _HRESULT_TYPEDEF_(0x800C0003L) ")
//
// InternetConnect failed - no
//
cpp_quote("#define INET_E_CANNOT_CONNECT _HRESULT_TYPEDEF_(0x800C0004L) ")
//
// the server or proxy was not found
//
cpp_quote("#define INET_E_RESOURCE_NOT_FOUND _HRESULT_TYPEDEF_(0x800C0005L) ")
//
// the actual object was not found - e.g. http: 404
//
cpp_quote("#define INET_E_OBJECT_NOT_FOUND _HRESULT_TYPEDEF_(0x800C0006L) ")
//
// connection was established but data can not be retrieved
// no filename from cache invalid etc.
//
cpp_quote("#define INET_E_DATA_NOT_AVAILABLE _HRESULT_TYPEDEF_(0x800C0007L) ")
//
// generic download failure - connection broke
//
cpp_quote("#define INET_E_DOWNLOAD_FAILURE _HRESULT_TYPEDEF_(0x800C0008L) ")
//
// to access to this object need authentication e.g. http: 401
//
cpp_quote("#define INET_E_AUTHENTICATION_REQUIRED _HRESULT_TYPEDEF_(0x800C0009L) ")
//
// the object is not available of the required type http: 403 no object
//
cpp_quote("#define INET_E_NO_VALID_MEDIA _HRESULT_TYPEDEF_(0x800C000AL) ")
//
// the internet connection timed out
//
cpp_quote("#define INET_E_CONNECTION_TIMEOUT _HRESULT_TYPEDEF_(0x800C000BL) ")
//
// the request was invalid
//
cpp_quote("#define INET_E_INVALID_REQUEST _HRESULT_TYPEDEF_(0x800C000CL) ")
//
// protocol is not know and no plugable protocol is registered
//
cpp_quote("#define INET_E_UNKNOWN_PROTOCOL _HRESULT_TYPEDEF_(0x800C000DL) ")
//
// security problem encountered
//
cpp_quote("#define INET_E_SECURITY_PROBLEM _HRESULT_TYPEDEF_(0x800C000EL) ")
//
// object could not be loaded; IPersistXXX::Load failed
//
cpp_quote("#define INET_E_CANNOT_LOAD_DATA _HRESULT_TYPEDEF_(0x800C000FL) ")
//
// CoCreateInstance failed.
//
cpp_quote("#define INET_E_CANNOT_INSTANTIATE_OBJECT _HRESULT_TYPEDEF_(0x800C0010L) ")
//
// Redirect failed.
//
cpp_quote("#define INET_E_REDIRECT_FAILED _HRESULT_TYPEDEF_(0x800C0014L) ")
//
// Redirect to directory.
//
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?