Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192/* * 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)#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 */