| /* | |
| * Copyright 2011 Hans Leidekker for CodeWeavers | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| */ | |
| #include "httprequestid.h" | |
| import "oaidl.idl"; | |
| #ifndef __WIDL__ | |
| #define threading(model) | |
| #define progid(str) | |
| #define vi_progid(str) | |
| #endif | |
| [ | |
| 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)] | |
| 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_RejectUserpwd | |
| } WinHttpRequestOption; | |
| typedef | |
| [uuid(9d8a6df8-13de-4b1f-a330-67c719d62514)] | |
| enum WinHttpRequestAutoLogonPolicy | |
| { | |
| AutoLogonPolicy_Always, | |
| AutoLogonPolicy_OnlyIfBypassProxy, | |
| AutoLogonPolicy_Never | |
| } WinHttpRequestAutoLogonPolicy; | |
| [ | |
| object, | |
| uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396b), | |
| odl, | |
| dual, | |
| oleautomation, | |
| nonextensible, | |
| pointer_default(unique) | |
| ] | |
| interface IWinHttpRequest : IDispatch | |
| { | |
| [id(DISPID_HTTPREQUEST_SETPROXY)] | |
| HRESULT SetProxy( | |
| [in] HTTPREQUEST_PROXY_SETTING proxy_setting, | |
| [in, optional] VARIANT proxy_server, | |
| [in, optional] VARIANT bypass_list); | |
| [id(DISPID_HTTPREQUEST_SETCREDENTIALS)] | |
| HRESULT SetCredentials( | |
| [in] BSTR username, | |
| [in] BSTR password, | |
| [in] HTTPREQUEST_SETCREDENTIALS_FLAGS flags); | |
| [id(DISPID_HTTPREQUEST_OPEN)] | |
| HRESULT Open( | |
| [in] BSTR method, | |
| [in] BSTR url, | |
| [in, optional] VARIANT async); | |
| [id(DISPID_HTTPREQUEST_SETREQUESTHEADER)] | |
| HRESULT SetRequestHeader( | |
| [in] BSTR header, | |
| [in] BSTR value); | |
| [id(DISPID_HTTPREQUEST_GETRESPONSEHEADER)] | |
| HRESULT GetResponseHeader( | |
| [in] BSTR header, | |
| [out, retval] BSTR *value); | |
| [id(DISPID_HTTPREQUEST_GETALLRESPONSEHEADERS)] | |
| HRESULT GetAllResponseHeaders( | |
| [out, retval] BSTR *headers); | |
| [id(DISPID_HTTPREQUEST_SEND)] | |
| HRESULT Send( | |
| [in, optional] VARIANT body); | |
| [propget, id(DISPID_HTTPREQUEST_STATUS)] | |
| HRESULT Status( | |
| [out, retval] LONG *status); | |
| [propget, id(DISPID_HTTPREQUEST_STATUSTEXT)] | |
| HRESULT StatusText( | |
| [out, retval] BSTR *status); | |
| [propget, id(DISPID_HTTPREQUEST_RESPONSETEXT)] | |
| HRESULT ResponseText( | |
| [out, retval] BSTR *body); | |
| [propget, id(DISPID_HTTPREQUEST_RESPONSEBODY)] | |
| HRESULT ResponseBody( | |
| [out, retval] VARIANT *body); | |
| [propget, id(DISPID_HTTPREQUEST_RESPONSESTREAM)] | |
| 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)] | |
| HRESULT WaitForResponse( | |
| [in, optional] VARIANT timeout, | |
| [out, retval] VARIANT_BOOL *succeeded); | |
| [id(DISPID_HTTPREQUEST_ABORT)] | |
| HRESULT Abort(); | |
| [id(DISPID_HTTPREQUEST_SETTIMEOUTS)] | |
| HRESULT SetTimeouts( | |
| [in] LONG resolve_timeout, | |
| [in] LONG connect_timeout, | |
| [in] LONG send_timeout, | |
| [in] LONG receive_timeout); | |
| [id(DISPID_HTTPREQUEST_SETCLIENTCERTIFICATE)] | |
| HRESULT SetClientCertificate( | |
| [in] BSTR certificate); | |
| [id(DISPID_HTTPREQUEST_SETAUTOLOGONPOLICY)] | |
| HRESULT SetAutoLogonPolicy( | |
| [in] WinHttpRequestAutoLogonPolicy policy); | |
| } | |
| [ | |
| helpstring("WinHttpRequest Component version 5.1"), | |
| threading(apartment), | |
| progid("WinHttp.WinHttpRequest.5.1"), | |
| uuid(2087c2f4-2cef-4953-a8ab-66779b670495) | |
| ] | |
| coclass WinHttpRequest { interface IWinHttpRequest; } | |
| } /* WinHttp */ |