urlmon.idl
来自「本源码是vc环境下的usb程序」· IDL 代码 · 共 1,612 行 · 第 1/5 页
IDL
1,612 行
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IInternetBindInfo interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPIINTERNETBINDINFO")
cpp_quote("#define _LPIINTERNETBINDINFO")
[
local,
object,
uuid(79eac9e1-baf9-11ce-8c82-00aa004ba90b),
pointer_default(unique)
]
interface IInternetBindInfo : IUnknown
{
typedef [unique] IInternetBindInfo *LPIINTERNETBINDINFO;
typedef enum tagBINDSTRING
{
BINDSTRING_HEADERS = 1
,BINDSTRING_ACCEPT_MIMES
,BINDSTRING_EXTRA_URL
,BINDSTRING_LANGUAGE
,BINDSTRING_USERNAME
,BINDSTRING_PASSWORD
,BINDSTRING_UA_PIXELS
,BINDSTRING_UA_COLOR
,BINDSTRING_OS
,BINDSTRING_USER_AGENT
,BINDSTRING_ACCEPT_ENCODINGS
,BINDSTRING_POST_COOKIE
,BINDSTRING_POST_DATA_MIME
,BINDSTRING_URL
,BINDSTRING_IID
,BINDSTRING_FLAG_BIND_TO_OBJECT
,BINDSTRING_PTR_BIND_CONTEXT
} BINDSTRING;
HRESULT GetBindInfo(
[out] DWORD *grfBINDF,
[in, out, unique] BINDINFO * pbindinfo
);
HRESULT GetBindString(
[in] ULONG ulStringType,
[in, out] LPOLESTR *ppwzStr,
[in] ULONG cEl,
[in, out] ULONG *pcElFetched
);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IInternetProtocolRoot interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPIINTERNETPROTOCOLROOT_DEFINED")
cpp_quote("#define _LPIINTERNETPROTOCOLROOT_DEFINED")
[
local,
object,
uuid(79eac9e3-baf9-11ce-8c82-00aa004ba90b),
pointer_default(unique)
]
interface IInternetProtocolRoot : IUnknown
{
typedef [unique] IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT;
typedef enum _tagPI_FLAGS
{
PI_PARSE_URL = 0x00000001
,PI_FILTER_MODE = 0x00000002
,PI_FORCE_ASYNC = 0x00000004
,PI_USE_WORKERTHREAD = 0x00000008
,PI_MIMEVERIFICATION = 0x00000010
,PI_CLSIDLOOKUP = 0x00000020
,PI_DATAPROGRESS = 0x00000040
,PI_SYNCHRONOUS = 0x00000080
,PI_APARTMENTTHREADED = 0x00000100
,PI_CLASSINSTALL = 0x00000200
// new flags to deal with mime handler
// and to load app directly
,PI_PASSONBINDCTX = 0x00002000
,PI_NOMIMEHANDLER = 0x00008000
,PI_LOADAPPDIRECT = 0x00004000
// flags used in the protocol data on switch
,PD_FORCE_SWITCH = 0x00010000
,PI_PREFERDEFAULTHANDLER = 0x00020000
} PI_FLAGS;
typedef struct _tagPROTOCOLDATA
{
DWORD grfFlags;
DWORD dwState;
LPVOID pData;
ULONG cbData;
} PROTOCOLDATA;
typedef struct _tagStartParam
{
IID iid;
IBindCtx *pIBindCtx;
IUnknown *pItf;
} StartParam;
HRESULT Start(
[in] LPCWSTR szUrl,
[in] IInternetProtocolSink *pOIProtSink,
[in] IInternetBindInfo *pOIBindInfo,
[in] DWORD grfPI,
[in] HANDLE_PTR dwReserved
);
HRESULT Continue(
[in] PROTOCOLDATA *pProtocolData
);
HRESULT Abort(
[in] HRESULT hrReason,
[in] DWORD dwOptions
);
HRESULT Terminate(
[in] DWORD dwOptions
);
HRESULT Suspend();
HRESULT Resume();
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IInternetProtocol interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPIINTERNETPROTOCOL_DEFINED")
cpp_quote("#define _LPIINTERNETPROTOCOL_DEFINED")
[
local,
object,
uuid(79eac9e4-baf9-11ce-8c82-00aa004ba90b),
pointer_default(unique)
]
interface IInternetProtocol : IInternetProtocolRoot
{
typedef [unique] IInternetProtocol *LPIINTERNETPROTOCOL;
HRESULT Read(
[in,out, size_is(cb), length_is(*pcbRead)]
void *pv,
[in] ULONG cb,
[out] ULONG *pcbRead);
HRESULT Seek(
[in] LARGE_INTEGER dlibMove,
[in] DWORD dwOrigin,
[out] ULARGE_INTEGER *plibNewPosition);
HRESULT LockRequest(
[in] DWORD dwOptions
);
HRESULT UnlockRequest();
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IInternetProtocolSink interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPIINTERNETPROTOCOLSINK_DEFINED")
cpp_quote("#define _LPIINTERNETPROTOCOLSINK_DEFINED")
[
local,
object,
uuid(79eac9e5-baf9-11ce-8c82-00aa004ba90b),
pointer_default(unique)
]
interface IInternetProtocolSink : IUnknown
{
typedef [unique] IInternetProtocolSink *LPIINTERNETPROTOCOLSINK;
HRESULT Switch(
[in] PROTOCOLDATA *pProtocolData
);
HRESULT ReportProgress(
[in] ULONG ulStatusCode,
[in] LPCWSTR szStatusText
);
HRESULT ReportData(
[in] DWORD grfBSCF,
[in] ULONG ulProgress,
[in] ULONG ulProgressMax
);
HRESULT ReportResult(
[in] HRESULT hrResult,
[in] DWORD dwError,
[in] LPCWSTR szResult
);
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995-1998.
//
// Contents: IInternetProtocolSinkStackable interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED")
cpp_quote("#define _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED")
[
local,
object,
uuid(79eac9f0-baf9-11ce-8c82-00aa004ba90b),
pointer_default(unique)
]
interface IInternetProtocolSinkStackable : IUnknown
{
typedef [unique] IInternetProtocolSinkStackable *LPIINTERNETPROTOCOLSINKStackable;
HRESULT SwitchSink(
[in] IInternetProtocolSink *pOIProtSink
);
HRESULT CommitSwitch();
HRESULT RollbackSwitch();
}
cpp_quote("#endif")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1995 - 1997.
//
// Contents: IInternetSession interface definition
//
//----------------------------------------------------------------------------
cpp_quote("#ifndef _LPIINTERNETSESSION_DEFINED")
cpp_quote("#define _LPIINTERNETSESSION_DEFINED")
[
local,
object,
uuid(79eac9e7-baf9-11ce-8c82-00aa004ba90b),
pointer_default(unique)
]
interface IInternetSession : IUnknown
{
typedef [unique] IInternetSession *LPIINTERNETSESSION;
typedef enum _tagOIBDG_FLAGS
{
// default is free threaded
OIBDG_APARTMENTTHREADED = 0x00000100
,OIBDG_DATAONLY = 0x00001000
} OIBDG_FLAGS;
HRESULT RegisterNameSpace(
[in] IClassFactory *pCF,
[in] REFCLSID rclsid,
[in] LPCWSTR pwzProtocol,
[in] ULONG cPatterns,
[in] const LPCWSTR *ppwzPatterns,
[in] DWORD dwReserved
);
HRESULT UnregisterNameSpace(
[in] IClassFactory *pCF,
[in] LPCWSTR pszProtocol
);
HRESULT RegisterMimeFilter(
[in] IClassFactory *pCF,
[in] REFCLSID rclsid,
[in] LPCWSTR pwzType
);
HRESULT UnregisterMimeFilter(
[in] IClassFactory *pCF,
[in] LPCWSTR pwzType
);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?