123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- //+-------------------------------------------------------------------------
- //
- // Microsoft Windows HTTP Services (WinHTTP)
- // Copyright (C) Microsoft Corporation. All rights reserved.
- //
- // File: httprequest.idl
- //
- //--------------------------------------------------------------------------
- cpp_quote("//+-------------------------------------------------------------------------")
- cpp_quote("//")
- cpp_quote("// Microsoft Windows HTTP Services (WinHTTP) version 5.1")
- cpp_quote("// Copyright (C) Microsoft Corporation. All rights reserved.")
- cpp_quote("//")
- cpp_quote("//--------------------------------------------------------------------------")
- #include "httprequestid.h"
- [
- uuid(662901fc-6951-4854-9eb2-d9a2570f2b2e),
- helpstring("Microsoft WinHTTP Services, version 5.1"),
- lcid(0x0000),
- version(5.1)
- ]
- library WinHttp
- {
- 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_UrlEscapeDisable,
- WinHttpRequestOption_UrlEscapeDisableQuery,
- WinHttpRequestOption_SecureProtocols,
- WinHttpRequestOption_EnableTracing,
- WinHttpRequestOption_RevertImpersonationOverSsl,
- WinHttpRequestOption_EnableHttpsToHttpRedirects,
- WinHttpRequestOption_EnablePassportAuthentication,
- WinHttpRequestOption_MaxAutomaticRedirects,
- WinHttpRequestOption_MaxResponseHeaderSize,
- WinHttpRequestOption_MaxResponseDrainSize,
- WinHttpRequestOption_EnableHttp1_1,
- WinHttpRequestOption_EnableCertificateRevocationCheck
- } WinHttpRequestOption;
- typedef
- [uuid(9d8a6df8-13de-4b1f-a330-67c719d62514)]
- enum WinHttpRequestAutoLogonPolicy
- {
- AutoLogonPolicy_Always,
- AutoLogonPolicy_OnlyIfBypassProxy,
- AutoLogonPolicy_Never
- } WinHttpRequestAutoLogonPolicy;
- typedef
- [uuid(152a1ca2-55a9-43a3-b187-0605bb886349)]
- enum WinHttpRequestSslErrorFlags
- {
- SslErrorFlag_UnknownCA = 0x00000100,
- SslErrorFlag_CertWrongUsage = 0x00000200,
- SslErrorFlag_CertCNInvalid = 0x00001000,
- SslErrorFlag_CertDateInvalid = 0x00002000,
- SslErrorFlag_Ignore_All = 0x00003300
- } WinHttpRequestSslErrorFlags;
- typedef
- [uuid(6b2c51c1-a8ea-46bd-b928-c9b76f9f14dd)]
- enum WinHttpRequestSecureProtocols
- {
- SecureProtocol_SSL2 = 0x00000008,
- SecureProtocol_SSL3 = 0x00000020,
- SecureProtocol_TLS1 = 0x00000080,
- SecureProtocol_ALL = 0x000000A8
- } WinHttpRequestSecureProtocols;
- [
- object,
- uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396b),
- 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 ProxyServer,
- [in, optional] VARIANT BypassList);
- [id(DISPID_HTTPREQUEST_SETCREDENTIALS), helpstring("Specify authentication credentials")]
- HRESULT SetCredentials([in] BSTR UserName,
- [in] BSTR Password,
- [in] HTTPREQUEST_SETCREDENTIALS_FLAGS Flags);
- [id(DISPID_HTTPREQUEST_OPEN), helpstring("Open HTTP connection")]
- HRESULT Open([in] BSTR Method, [in] BSTR Url, [in, optional] VARIANT Async);
-
- [id(DISPID_HTTPREQUEST_SETREQUESTHEADER), helpstring("Add HTTP request header")]
- HRESULT SetRequestHeader([in] BSTR Header, [in] BSTR Value);
-
- [id(DISPID_HTTPREQUEST_GETRESPONSEHEADER), helpstring("Get HTTP response header")]
- HRESULT GetResponseHeader([in] BSTR Header, [out, retval] BSTR * Value);
-
- [id(DISPID_HTTPREQUEST_GETALLRESPONSEHEADERS), helpstring("Get all HTTP response headers")]
- HRESULT GetAllResponseHeaders([out, retval] BSTR * Headers);
-
- [id(DISPID_HTTPREQUEST_SEND), helpstring("Send HTTP request")]
- HRESULT Send([in, optional] VARIANT Body);
- [propget, id(DISPID_HTTPREQUEST_STATUS), helpstring("Get HTTP status code")]
- HRESULT Status([out, retval] long * Status);
- [propget, id(DISPID_HTTPREQUEST_STATUSTEXT), helpstring("Get HTTP status text")]
- HRESULT StatusText([out, retval] BSTR * Status);
- [propget, id(DISPID_HTTPREQUEST_RESPONSETEXT), helpstring("Get response body as a string")]
- HRESULT ResponseText([out, retval] BSTR * Body);
- [propget, id(DISPID_HTTPREQUEST_RESPONSEBODY), helpstring("Get response body as a safearray of UI1")]
- HRESULT ResponseBody([out, retval] VARIANT * Body);
- [propget, id(DISPID_HTTPREQUEST_RESPONSESTREAM), helpstring("Get response body as a stream")]
- HRESULT ResponseStream([out, retval] VARIANT * Body);
- [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);
- [id(DISPID_HTTPREQUEST_SETCLIENTCERTIFICATE), helpstring("Specify a client certificate")]
- HRESULT SetClientCertificate([in] BSTR ClientCertificate);
- [id(DISPID_HTTPREQUEST_SETAUTOLOGONPOLICY), helpstring("Specify if credentials should be sent automatically")]
- HRESULT SetAutoLogonPolicy([in] WinHttpRequestAutoLogonPolicy AutoLogonPolicy);
- };
- [
- object,
- uuid(f97f4e15-b787-4212-80d1-d380cbbf982e),
- 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();
- void OnError([in] long ErrorNumber, [in] BSTR ErrorDescription);
- };
- // WinHttpRequest Class
- [
- uuid(2087c2f4-2cef-4953-a8ab-66779b670495),
- helpstring("WinHttpRequest component")
- ]
- coclass WinHttpRequest
- {
- [default] interface IWinHttpRequest;
- [default, source] interface IWinHttpRequestEvents;
- };
- }
|