include: Added the IInternetProtocolEx interface.

Based on an old patch by Reece Dunn.
This commit is contained in:
Alexandre Julliard 2008-11-14 12:08:03 +01:00
parent 5aa32e84c3
commit 9ab359314d
1 changed files with 145 additions and 0 deletions

View File

@ -22,6 +22,10 @@ import "oleidl.idl";
import "servprov.idl";
import "msxml.idl";
cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
cpp_quote("#undef GetUserName")
cpp_quote("#endif")
interface IInternetProtocolSink;
/*****************************************************************************
@ -1363,6 +1367,147 @@ typedef enum _tagINTERNETFEATURELIST
FEATURE_ENTRY_COUNT
} INTERNETFEATURELIST;
/*****************************************************************************
* IUri interface
*/
[
local,
object,
uuid(a39ee748-6a27-4817-a6f2-13914bef5890),
pointer_default(unique)
]
interface IUri : IUnknown
{
typedef enum
{
Uri_PROPERTY_ABSOLUTE_URI = 0,
Uri_PROPERTY_STRING_START = Uri_PROPERTY_ABSOLUTE_URI,
Uri_PROPERTY_AUTHORITY = 1,
Uri_PROPERTY_DISPLAY_URI = 2,
Uri_PROPERTY_DOMAIN = 3,
Uri_PROPERTY_EXTENSION = 4,
Uri_PROPERTY_FRAGMENT = 5,
Uri_PROPERTY_HOST = 6,
Uri_PROPERTY_PASSWORD = 7,
Uri_PROPERTY_PATH = 8,
Uri_PROPERTY_PATH_AND_QUERY = 9,
Uri_PROPERTY_QUERY = 10,
Uri_PROPERTY_RAW_URI = 11,
Uri_PROPERTY_SCHEME_NAME = 12,
Uri_PROPERTY_USER_INFO = 13,
Uri_PROPERTY_USER_NAME = 14,
Uri_PROPERTY_STRING_LAST = Uri_PROPERTY_USER_NAME,
Uri_PROPERTY_HOST_TYPE = 15,
Uri_PROPERTY_DWORD_START = Uri_PROPERTY_HOST_TYPE,
Uri_PROPERTY_PORT = 16,
Uri_PROPERTY_SCHEME = 17,
Uri_PROPERTY_ZONE = 18,
Uri_PROPERTY_DWORD_LAST = Uri_PROPERTY_ZONE
} Uri_PROPERTY;
HRESULT GetPropertyBSTR(
[in] Uri_PROPERTY uriProp,
[out] BSTR *pbstrProperty,
[in] DWORD dwFlags);
HRESULT GetPropertyLength(
[in] Uri_PROPERTY uriProp,
[out] DWORD *pcchProperty,
[in] DWORD dwFlags);
HRESULT GetPropertyDWORD(
[in] Uri_PROPERTY uriProp,
[out] DWORD *pdwProperty,
[in] DWORD dwFlags);
HRESULT HasProperty(
[in] Uri_PROPERTY uriProp,
[out] BOOL *pfHasProperty);
HRESULT GetAbsoluteUri(
[out] BSTR *pbstrAbsoluteUri);
HRESULT GetAuthority(
[out] BSTR *pbstrAuthority);
HRESULT GetDisplayUri(
[out] BSTR *pbstrDisplayString);
HRESULT GetDomain(
[out] BSTR *pbstrDomain);
HRESULT GetExtension(
[out] BSTR *pbstrExtension);
HRESULT GetFragment(
[out] BSTR *pbstrFragment);
HRESULT GetHost(
[out] BSTR *pbstrHost);
HRESULT GetPassword(
[out] BSTR *pbstrPassword);
HRESULT GetPath(
[out] BSTR *pbstrPath);
HRESULT GetPathAndQuery(
[out] BSTR *pbstrPathAndQuery);
HRESULT GetQuery(
[out] BSTR *pbstrQuery);
HRESULT GetRawUri(
[out] BSTR *pbstrRawUri);
HRESULT GetSchemeName(
[out] BSTR *pbstrSchemeName);
HRESULT GetUserInfo(
[out] BSTR *pbstrUserInfo);
HRESULT GetUserName(
[out] BSTR *pbstrUserName);
HRESULT GetHostType(
[out] DWORD *pdwHostType);
HRESULT GetPort(
[out] DWORD *pdwPort);
HRESULT GetScheme(
[out] DWORD *pdwScheme);
HRESULT GetZone(
[out] DWORD *pdwZone);
HRESULT GetProperties(
[out] LPDWORD pdwFlags);
HRESULT IsEqual(
[in] IUri *pUri,
[out] BOOL *pfEqual);
}
/*****************************************************************************
* IInternetProtocolEx interface
*/
[
local,
object,
uuid(c7a98e66-1010-492c-a1c8-c809e1f75905),
pointer_default(unique)
]
interface IInternetProtocolEx : IInternetProtocol
{
HRESULT StartEx(
[in] IUri *pUri,
[in] IInternetProtocolSink *pOIProtSink,
[in] IInternetBindInfo *pOIBindInfo,
[in] DWORD grfPI,
[in] HANDLE *dwReserved);
}
cpp_quote("DEFINE_GUID(CLSID_InternetSecurityManager, 0x7b8a2d94, 0x0ac9, 0x11d1, 0x89, 0x6c, 0x00, 0xc0, 0x4f, 0xB6, 0xbf, 0xc4);")
cpp_quote("DEFINE_GUID(CLSID_InternetZoneManager, 0x7B8A2D95, 0x0AC9, 0x11D1, 0x89, 0x6C, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4);")
cpp_quote("DEFINE_GUID(IID_IAsyncMoniker, 0x79EAC9D3, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);")