Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

157 lines
6.1 KiB

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2000.
//
// File: httprequest.idl
//
//--------------------------------------------------------------------------
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows")
cpp_quote("// Copyright (C) Microsoft Corporation, 2000.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
#include "httprequestid.h"
[
uuid(c92a03cf-b92b-404f-9ac5-58664a592e4c),
helpstring("Microsoft WinHttpRequest component, version 5.0"),
lcid(0x0000),
version(5.0)
]
library WinHttp
{
importlib ("stdole32.tlb");
importlib ("stdole2.tlb");
typedef [public] long HTTPREQUEST_PROXY_SETTING;
const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_DEFAULT = 0x00000000;
const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_PRECONFIG = 0x00000000;
const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_DIRECT = 0x00000001;
const HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_PROXY = 0x00000002;
typedef [public] long HTTPREQUEST_SETCREDENTIALS_FLAGS;
const HTTPREQUEST_SETCREDENTIALS_FLAGS HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0x00000000;
const HTTPREQUEST_SETCREDENTIALS_FLAGS HTTPREQUEST_SETCREDENTIALS_FOR_PROXY = 0x00000001;
typedef
[uuid(12782009-FE90-4877-9730-E5E183669B19), helpstring("WinHttpRequest Options")]
enum WinHttpRequestOption
{
WinHttpRequestOption_UserAgentString,
WinHttpRequestOption_URL,
WinHttpRequestOption_URLCodePage,
WinHttpRequestOption_EscapePercentInURL,
WinHttpRequestOption_SslErrorIgnoreFlags,
WinHttpRequestOption_SelectCertificate,
WinHttpRequestOption_EnableRedirects
} WinHttpRequestOption;
[
object,
uuid(06f29373-5c5a-4b54-b025-6ef1bf8abf0e),
odl,
dual,
oleautomation,
nonextensible,
helpstring("IWinHttpRequest Interface"),
pointer_default(unique)
]
interface IWinHttpRequest : IDispatch
{
[id(DISPID_HTTPREQUEST_SETPROXY), helpstring("Specify proxy configuration")]
HRESULT SetProxy([in] HTTPREQUEST_PROXY_SETTING ProxySetting,
[in, optional] VARIANT varProxyServer,
[in, optional] VARIANT varBypassList);
[id(DISPID_HTTPREQUEST_SETCREDENTIALS), helpstring("Specify authentication credentials")]
HRESULT SetCredentials([in] BSTR bstrUserName,
[in] BSTR bstrPassword,
[in] HTTPREQUEST_SETCREDENTIALS_FLAGS Flags);
[id(DISPID_HTTPREQUEST_OPEN), helpstring("Open HTTP connection")]
HRESULT Open([in] BSTR bstrMethod, [in] BSTR bstrUrl, [in, optional] VARIANT varAsync);
[id(DISPID_HTTPREQUEST_SETREQUESTHEADER), helpstring("Add HTTP request header")]
HRESULT SetRequestHeader([in] BSTR bstrHeader, [in] BSTR bstrValue);
[id(DISPID_HTTPREQUEST_GETRESPONSEHEADER), helpstring("Get HTTP response header")]
HRESULT GetResponseHeader([in] BSTR bstrHeader, [out, retval] BSTR * pbstrValue);
[id(DISPID_HTTPREQUEST_GETALLRESPONSEHEADERS), helpstring("Get all HTTP response headers")]
HRESULT GetAllResponseHeaders([out, retval] BSTR * pbstrHeaders);
[id(DISPID_HTTPREQUEST_SEND), helpstring("Send HTTP request")]
HRESULT Send([in, optional] VARIANT varBody);
[propget, id(DISPID_HTTPREQUEST_STATUS), helpstring("Get HTTP status code")]
HRESULT Status([out, retval] long * plStatus);
[propget, id(DISPID_HTTPREQUEST_STATUSTEXT), helpstring("Get HTTP status text")]
HRESULT StatusText([out, retval] BSTR * pbstrStatus);
[propget, id(DISPID_HTTPREQUEST_RESPONSETEXT), helpstring("Get response body as a string")]
HRESULT ResponseText([out, retval] BSTR * pbstrBody);
[propget, id(DISPID_HTTPREQUEST_RESPONSEBODY), helpstring("Get response body as a safearray of UI1")]
HRESULT ResponseBody([out, retval] VARIANT * pvarBody);
[propget, id(DISPID_HTTPREQUEST_RESPONSESTREAM), helpstring("Get response body as a stream")]
HRESULT ResponseStream([out, retval] VARIANT * pvarBody);
[propget, id(DISPID_HTTPREQUEST_OPTION)]
HRESULT Option([in] WinHttpRequestOption Option, [out, retval] VARIANT * Value);
[propput, id(DISPID_HTTPREQUEST_OPTION)]
HRESULT Option([in] WinHttpRequestOption Option, [in] VARIANT Value);
[id(DISPID_HTTPREQUEST_WAITFORRESPONSE), helpstring("Wait for asynchronous send to complete, with optional timeout (in seconds)")]
HRESULT WaitForResponse([in, optional] VARIANT Timeout, [out, retval] VARIANT_BOOL * Succeeded);
[id(DISPID_HTTPREQUEST_ABORT), helpstring("Abort an asynchronous operation in progress")]
HRESULT Abort();
[id(DISPID_HTTPREQUEST_SETTIMEOUTS), helpstring("Specify timeout settings (in milliseconds)")]
HRESULT SetTimeouts([in] long ResolveTimeout, [in] long ConnectTimeout, [in] long SendTimeout, [in] long ReceiveTimeout);
};
[
object,
uuid(cff7bd4c-6689-4bbe-91c2-0f559e8b88a7),
odl,
oleautomation,
nonextensible,
helpstring("IWinHttpRequestEvents Interface"),
pointer_default(unique)
]
interface IWinHttpRequestEvents : IUnknown
{
void OnResponseStart([in] long Status, [in] BSTR ContentType);
void OnResponseDataAvailable([in] SAFEARRAY(unsigned char) * Data);
void OnResponseFinished();
};
// WinHttpRequest Class
[
uuid(91e2ead3-ab7e-4d5c-88de-f7fa382172bc),
helpstring("WinHttpRequest class.")
]
coclass WinHttpRequest
{
[default] interface IWinHttpRequest;
[default, source] interface IWinHttpRequestEvents;
};
}