//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1996. // // File: urlmon.idl // // Contents: async moniker interfaces // // Classes: // // Functions: // // History: 11-02-95 Created // //---------------------------------------------------------------------------- cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// UrlMon.h") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// (C) Copyright 1995-1996 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("") import "objidl.idl"; import "oleidl.idl"; import "servprov.idl"; interface IPersistMoniker; interface IBindProtocol; interface IBinding; interface IBindStatusCallback; interface IBindStatusCallbackMsg; interface IAuthenticate; interface IWindowForBindingUI; interface ICodeInstall; interface IHttpNegotiate; interface IServiceProvider; 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("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; ") #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(" ") #pragma midl_echo("STDAPI CreateURLMoniker(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER FAR * ppmk); ") #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 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(" ") #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 RegisterMediaTypesW(UINT ctypes, const LPCWSTR* rgszTypes, CLIPFORMAT* rgcfTypes); ") #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(" ") #pragma midl_echo("// URLMON-specific defines for UrlMkSetSessionOption() above") #pragma midl_echo("#define URLMON_OPTION_USERAGENT 0x10000001") #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_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_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(" ") 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("#define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS ") 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("// ") // // 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) ") // // HResult range returned in OnStopBinding // cpp_quote("#define INET_E_ERROR_FIRST _HRESULT_TYPEDEF_(0x800C0002L) ") cpp_quote("#define INET_E_ERROR_LAST INET_E_CANNOT_INSTANTIATE_OBJECT ") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1996. // // Contents: IPersistMoniker interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPPERSISTMONIKER_DEFINED") cpp_quote("#define _LPPERSISTMONIKER_DEFINED") [ object, uuid(79eac9c9-baf9-11ce-8c82-00aa004ba90b), pointer_default(unique) ] //interface IPersistMoniker : IPersist interface IPersistMoniker : IUnknown { typedef [unique] IPersistMoniker *LPPERSISTMONIKER; HRESULT GetClassID( [out] CLSID *pClassID ); HRESULT IsDirty(void); HRESULT Load( [in] BOOL fFullyAvailable, [in] IMoniker * pimkName, [in] LPBC pibc, [in] DWORD grfMode ); HRESULT Save( [in] IMoniker * pimkName, [in] LPBC pbc, [in] BOOL fRemember); HRESULT SaveCompleted( [in] IMoniker * pimkName, [in] LPBC pibc); HRESULT GetCurMoniker( [out] IMoniker ** ppimkName); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1996. // // 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 - 1996. // // 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 - 1996. // // 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_PULLDATA = 0x00000080, BINDF_IGNORESECURITYPROBLEM = 0x00000100, BINDF_RESYNCHRONIZE = 0x00000200, BINDF_HYPERLINK = 0x00000400, BINDF_INLINESGETNEWESTVERSION = 0x10000000, // need to remove from SDK BINDF_INLINESRESYNCHRONIZE = 0x20000000, // need to remove from SDK BINDF_CONTAINER_NOWRITECACHE = 0x40000000 // need to remove from SDK } 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 } BINDINFO; 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 } 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; 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; 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 - 1996. // // 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) ] interface IAuthenticate : IUnknown { typedef [unique] IAuthenticate *LPAUTHENTICATION; HRESULT Authenticate( [out] HWND* phwnd, [out] LPWSTR *pszUsername, [out] LPWSTR *pszPassword ); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1996. // // Contents: IHttpNegotiate interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPHTTPNEGOTIATE_DEFINED") cpp_quote("#define _LPHTTPNEGOTIATE_DEFINED") [ object, uuid(79eac9d2-baf9-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IHttpNegotiate : IUnknown { typedef [unique] IHttpNegotiate *LPHTTPNEGOTIATE; HRESULT BeginningTransaction( [in] LPCWSTR szURL, [in, unique] LPCWSTR szHeaders, [in] DWORD dwReserved, [out] LPWSTR *pszAdditionalHeaders ); HRESULT OnResponse( [in] DWORD dwResponseCode, [in, unique] LPCWSTR szResponseHeaders, [in, unique] LPCWSTR szRequestHeaders, [out] LPWSTR *pszAdditionalRequestHeaders ); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1996. // // Contents: IWindowForBindingUI interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPWINDOWFORBINDINGUI_DEFINED") cpp_quote("#define _LPWINDOWFORBINDINGUI_DEFINED") [ local, object, uuid(79eac9d5-bafa-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IWindowForBindingUI : IUnknown { typedef [unique] IWindowForBindingUI *LPWINDOWFORBINDINGUI; HRESULT GetWindow( [in] REFGUID rguidReason, [out] HWND* phwnd); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1996. // // Contents: ICodeDownloadClient interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPCODEINSTALL_DEFINED") cpp_quote("#define _LPCODEINSTALL_DEFINED") [ local, object, uuid(79eac9d1-baf9-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface ICodeInstall : IWindowForBindingUI { typedef [unique] ICodeInstall *LPCODEINSTALL; typedef enum { CIP_DISK_FULL, CIP_ACCESS_DENIED, CIP_NEWER_VERSION_EXISTS, CIP_OLDER_VERSION_EXISTS, CIP_NAME_CONFLICT, CIP_TRUST_VERIFICATION_COMPONENT_MISSING, CIP_EXE_SELF_REGISTERATION_TIMEOUT, CIP_UNSAFE_TO_ABORT, CIP_NEED_REBOOT } CIP_STATUS; HRESULT OnCodeInstallProblem( [in] ULONG ulStatusCode, // contingency status [in, unique] LPCWSTR szDestination, // file that needs to be updated [in, unique] LPCWSTR szSource, // new version from 'net (a temp file) [in] DWORD dwReserved // for future use ); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1996. // // Contents: IWinInetInfo interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPWININETINFO_DEFINED") cpp_quote("#define _LPWININETINFO_DEFINED") [ local, object, uuid(79eac9d6-bafa-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IWinInetInfo : IUnknown { typedef [unique] IWinInetInfo *LPWININETINFO; HRESULT QueryOption( [in] DWORD dwOption, [out] LPVOID pBuffer, [in, out] DWORD *pcbBuf); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1996. // // Contents: IHttpSecurity interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPHTTPSECURITY_DEFINED") cpp_quote("#define _LPHTTPSECURITY_DEFINED") [ local, object, uuid(79eac9d7-bafa-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IHttpSecurity : IWindowForBindingUI { typedef [unique] IHttpSecurity *LPHTTPSECURITY; HRESULT OnSecurityProblem( [in] DWORD dwProblem); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1996. // // Contents: IWinInetHttpInfo interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPWININETHTTPINFO_DEFINED") cpp_quote("#define _LPWININETHTTPINFO_DEFINED") [ local, object, uuid(79eac9d8-bafa-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IWinInetHttpInfo : IWinInetInfo { typedef [unique] IWinInetHttpInfo *LPWININETHTTPINFO; HRESULT QueryInfo( [in] DWORD dwOption, [out] LPVOID pBuffer, [in, out] DWORD *pcbBuf, [in, out] DWORD *pdwFlags, [in, out] DWORD *pdwReserved ); } cpp_quote("#endif") cpp_quote("#define SID_IBindHost IID_IBindHost") cpp_quote("#define SID_SBindHost IID_IBindHost") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1996. // // Contents: IBindHost definition // //--------------------------------------------------------------------------- cpp_quote("#ifndef _LPBINDHOST_DEFINED") cpp_quote("#define _LPBINDHOST_DEFINED") cpp_quote("EXTERN_C const GUID SID_BindHost;") [ object, uuid(fc4801a1-2ba9-11cf-a229-00aa003d7352), pointer_default(unique) ] interface IBindHost : IUnknown { typedef [unique] IBindHost *LPBINDHOST; HRESULT CreateMoniker( [in] LPOLESTR szName, [in] IBindCtx *pBC, [out] IMoniker** ppmk, [in] DWORD dwReserved); [local] HRESULT MonikerBindToStorage( [in] IMoniker *pMk, [in] IBindCtx *pBC, [in] IBindStatusCallback *pBSC, [in] REFIID riid, [out] void **ppvObj); [call_as(MonikerBindToStorage)] HRESULT RemoteMonikerBindToStorage( [in, unique] IMoniker *pMk, [in, unique] IBindCtx *pBC, [in, unique] IBindStatusCallback *pBSC, [in] REFIID riid, [out, iid_is(riid)] IUnknown **ppvObj); [local] HRESULT MonikerBindToObject( [in] IMoniker *pMk, [in] IBindCtx *pBC, [in] IBindStatusCallback *pBSC, [in] REFIID riid, [out] void **ppvObj); [call_as(MonikerBindToObject)] HRESULT RemoteMonikerBindToObject( [in, unique] IMoniker *pMk, [in, unique] IBindCtx *pBC, [in, unique] IBindStatusCallback *pBSC, [in] REFIID riid, [out, iid_is(riid)] IUnknown **ppvObj); } cpp_quote("#endif") // urlhlink stuff #pragma midl_echo(" ") cpp_quote("// These are for backwards compatibility with previous URLMON versions") #pragma midl_echo("// Flags for the UrlDownloadToCacheFile ") #pragma midl_echo("#define URLOSTRM_USECACHEDCOPY_ONLY 0x1 // Only get from cache ") #pragma midl_echo("#define URLOSTRM_USECACHEDCOPY 0x2 // Get from cache if available else download ") #pragma midl_echo("#define URLOSTRM_GETNEWESTVERSION 0x3 // Get new version only. But put it in cache too ") #pragma midl_echo(" ") #pragma midl_echo(" ") #pragma midl_echo("struct IBindStatusCallback; ") #pragma midl_echo("STDAPI HlinkSimpleNavigateToString( ") #pragma midl_echo(" /* [in] */ LPCWSTR szTarget, // required - target document - null if local jump w/in doc ") #pragma midl_echo(" /* [in] */ LPCWSTR szLocation, // optional, for navigation into middle of a doc ") #pragma midl_echo(" /* [in] */ LPCWSTR szTargetFrameName,// optional, for targeting frame-sets ") #pragma midl_echo(" /* [in] */ IUnknown *pUnk, // required - we'll search this for other necessary interfaces ") #pragma midl_echo(" /* [in] */ IBindCtx *pbc, // optional. caller may register an IBSC in this ") #pragma midl_echo(" /* [in] */ IBindStatusCallback *, ") #pragma midl_echo(" /* [in] */ DWORD grfHLNF, // flags ") #pragma midl_echo(" /* [in] */ DWORD dwReserved // for future use, must be NULL ") #pragma midl_echo("); ") #pragma midl_echo(" ") #pragma midl_echo("STDAPI HlinkSimpleNavigateToMoniker( ") #pragma midl_echo(" /* [in] */ IMoniker *pmkTarget, // required - target document - (may be null ") #pragma midl_echo(" /* [in] */ LPCWSTR szLocation, // optional, for navigation into middle of a doc ") #pragma midl_echo(" /* [in] */ LPCWSTR szTargetFrameName,// optional, for targeting frame-sets ") #pragma midl_echo(" /* [in] */ IUnknown *pUnk, // required - we'll search this for other necessary interfaces ") #pragma midl_echo(" /* [in] */ IBindCtx *pbc, // optional. caller may register an IBSC in this ") #pragma midl_echo(" /* [in] */ IBindStatusCallback *, ") #pragma midl_echo(" /* [in] */ DWORD grfHLNF, // flags ") #pragma midl_echo(" /* [in] */ DWORD dwReserved // for future use, must be NULL ") #pragma midl_echo("); ") //#pragma midl_echo("typedef HRESULT (STDAPICALLTYPE *LPFNUOSCALLBACK)(LPBINDSTATUSCALLBACK); ") #pragma midl_echo(" ") #pragma midl_echo("STDAPI URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK); ") #pragma midl_echo("STDAPI URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK); ") #pragma midl_echo("STDAPI URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK); ") #pragma midl_echo("STDAPI URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK); ") #pragma midl_echo("STDAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK); ") #pragma midl_echo("STDAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK); ") #pragma midl_echo("STDAPI URLDownloadToCacheFileA(LPUNKNOWN,LPCSTR,LPTSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK); ") #pragma midl_echo("STDAPI URLDownloadToCacheFileW(LPUNKNOWN,LPCWSTR,LPWSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK); ") #pragma midl_echo("STDAPI URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK); ") #pragma midl_echo("STDAPI URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK); ") #pragma midl_echo(" ") #pragma midl_echo("#ifdef UNICODE ") #pragma midl_echo("#define URLOpenStream URLOpenStreamW ") #pragma midl_echo("#define URLOpenPullStream URLOpenPullStreamW ") #pragma midl_echo("#define URLDownloadToFile URLDownloadToFileW ") #pragma midl_echo("#define URLDownloadToCacheFile URLDownloadToCacheFileW ") #pragma midl_echo("#define URLOpenBlockingStream URLOpenBlockingStreamW ") #pragma midl_echo("#else ") #pragma midl_echo("#define URLOpenStream URLOpenStreamA ") #pragma midl_echo("#define URLOpenPullStream URLOpenPullStreamA ") #pragma midl_echo("#define URLDownloadToFile URLDownloadToFileA ") #pragma midl_echo("#define URLDownloadToCacheFile URLDownloadToCacheFileA ") #pragma midl_echo("#define URLOpenBlockingStream URLOpenBlockingStreamA ") #pragma midl_echo("#endif // !UNICODE ") #pragma midl_echo(" ") #pragma midl_echo(" ") #pragma midl_echo("STDAPI HlinkGoBack(IUnknown *pUnk); ") #pragma midl_echo("STDAPI HlinkGoForward(IUnknown *pUnk); ") #pragma midl_echo("STDAPI HlinkNavigateString(IUnknown *pUnk, LPCWSTR szTarget); ") #pragma midl_echo("STDAPI HlinkNavigateMoniker(IUnknown *pUnk, IMoniker *pmkTarget); ") #pragma midl_echo(" ") // urlhlink end