0N/A/*
0N/A * Copyright 2011 Hans Leidekker for CodeWeavers
0N/A *
0N/A * This library is free software; you can redistribute it and/or
0N/A * modify it under the terms of the GNU Lesser General Public
0N/A * License as published by the Free Software Foundation; either
0N/A * version 2.1 of the License, or (at your option) any later version.
0N/A *
0N/A * This library is distributed in the hope that it will be useful,
0N/A * but WITHOUT ANY WARRANTY; without even the implied warranty of
0N/A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0N/A * Lesser General Public License for more details.
0N/A *
0N/A * You should have received a copy of the GNU Lesser General Public
0N/A * License along with this library; if not, write to the Free Software
0N/A * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
0N/A */
0N/A
0N/A/*
0N/A * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
1072N/A * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
0N/A * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
0N/A * a choice of LGPL license versions is made available with the language indicating
0N/A * that LGPLv2 or any later version may be used, or where a choice of which version
143N/A * of the LGPL is applied is otherwise unspecified.
143N/A */
143N/A
921N/A#include "httprequestid.h"
143N/A
143N/Aimport "oaidl.idl";
143N/A
202N/A#ifndef __WIDL__
421N/A#define threading(model)
200N/A#define progid(str)
143N/A#define vi_progid(str)
143N/A#endif
424N/A
143N/A[
143N/A uuid(662901fc-6951-4854-9eb2-d9a2570f2b2e),
99N/A helpstring("Microsoft WinHTTP Services, version 5.1"),
424N/A lcid(0x0000),
0N/A version(5.1)
202N/A]
202N/Alibrary WinHttp {
202N/A
202N/Aimportlib ("stdole2.tlb");
202N/A
670N/Atypedef [public] LONG HTTPREQUEST_PROXY_SETTING;
202N/Aconst HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_DEFAULT = 0x00000000;
202N/Aconst HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_PRECONFIG = 0x00000000;
202N/Aconst HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_DIRECT = 0x00000001;
202N/Aconst HTTPREQUEST_PROXY_SETTING HTTPREQUEST_PROXYSETTING_PROXY = 0x00000002;
202N/A
202N/Atypedef [public] LONG HTTPREQUEST_SETCREDENTIALS_FLAGS;
825N/Aconst HTTPREQUEST_SETCREDENTIALS_FLAGS HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0x00000000;
202N/Aconst HTTPREQUEST_SETCREDENTIALS_FLAGS HTTPREQUEST_SETCREDENTIALS_FOR_PROXY = 0x00000001;
202N/A
1073N/Atypedef
1153N/A[uuid(12782009-fe90-4877-9730-e5e183669b19)]
202N/Aenum WinHttpRequestOption
202N/A{
1028N/A WinHttpRequestOption_UserAgentString,
202N/A WinHttpRequestOption_URL,
202N/A WinHttpRequestOption_URLCodePage,
244N/A WinHttpRequestOption_EscapePercentInURL,
58N/A WinHttpRequestOption_SslErrorIgnoreFlags,
143N/A WinHttpRequestOption_SelectCertificate,
615N/A WinHttpRequestOption_EnableRedirects,
143N/A WinHttpRequestOption_UrlEscapeDisable,
143N/A WinHttpRequestOption_UrlEscapeDisableQuery,
0N/A WinHttpRequestOption_SecureProtocols,
0N/A WinHttpRequestOption_EnableTracing,
0N/A WinHttpRequestOption_RevertImpersonationOverSsl,
143N/A WinHttpRequestOption_EnableHttpsToHttpRedirects,
143N/A WinHttpRequestOption_EnablePassportAuthentication,
143N/A WinHttpRequestOption_MaxAutomaticRedirects,
143N/A WinHttpRequestOption_MaxResponseHeaderSize,
0N/A WinHttpRequestOption_MaxResponseDrainSize,
0N/A WinHttpRequestOption_EnableHttp1_1,
0N/A WinHttpRequestOption_EnableCertificateRevocationCheck,
0N/A WinHttpRequestOption_RejectUserpwd
143N/A} WinHttpRequestOption;
202N/A
202N/Atypedef
202N/A[uuid(9d8a6df8-13de-4b1f-a330-67c719d62514)]
202N/Aenum WinHttpRequestAutoLogonPolicy
483N/A{
483N/A AutoLogonPolicy_Always,
483N/A AutoLogonPolicy_OnlyIfBypassProxy,
483N/A AutoLogonPolicy_Never
202N/A} WinHttpRequestAutoLogonPolicy;
202N/A
202N/A[
202N/A object,
460N/A uuid(016fe2ec-b2c8-45f8-b23b-39e53a75396b),
202N/A odl,
202N/A dual,
202N/A oleautomation,
202N/A nonextensible,
202N/A pointer_default(unique)
202N/A]
202N/Ainterface IWinHttpRequest : IDispatch
202N/A{
202N/A [id(DISPID_HTTPREQUEST_SETPROXY)]
202N/A HRESULT SetProxy(
202N/A [in] HTTPREQUEST_PROXY_SETTING proxy_setting,
210N/A [in, optional] VARIANT proxy_server,
210N/A [in, optional] VARIANT bypass_list);
210N/A
210N/A [id(DISPID_HTTPREQUEST_SETCREDENTIALS)]
0N/A HRESULT SetCredentials(
0N/A [in] BSTR username,
0N/A [in] BSTR password,
36N/A [in] HTTPREQUEST_SETCREDENTIALS_FLAGS flags);
202N/A
202N/A [id(DISPID_HTTPREQUEST_OPEN)]
202N/A HRESULT Open(
202N/A [in] BSTR method,
202N/A [in] BSTR url,
202N/A [in, optional] VARIANT async);
202N/A
202N/A [id(DISPID_HTTPREQUEST_SETREQUESTHEADER)]
202N/A HRESULT SetRequestHeader(
257N/A [in] BSTR header,
257N/A [in] BSTR value);
202N/A
202N/A [id(DISPID_HTTPREQUEST_GETRESPONSEHEADER)]
670N/A HRESULT GetResponseHeader(
202N/A [in] BSTR header,
257N/A [out, retval] BSTR *value);
202N/A
202N/A [id(DISPID_HTTPREQUEST_GETALLRESPONSEHEADERS)]
1028N/A HRESULT GetAllResponseHeaders(
1072N/A [out, retval] BSTR *headers);
1153N/A
202N/A [id(DISPID_HTTPREQUEST_SEND)]
244N/A HRESULT Send(
202N/A [in, optional] VARIANT body);
825N/A
202N/A [propget, id(DISPID_HTTPREQUEST_STATUS)]
202N/A HRESULT Status(
202N/A [out, retval] LONG *status);
210N/A
0N/A [propget, id(DISPID_HTTPREQUEST_STATUSTEXT)]
0N/A HRESULT StatusText(
126N/A [out, retval] BSTR *status);
143N/A
210N/A [propget, id(DISPID_HTTPREQUEST_RESPONSETEXT)]
210N/A HRESULT ResponseText(
210N/A [out, retval] BSTR *body);
483N/A
483N/A [propget, id(DISPID_HTTPREQUEST_RESPONSEBODY)]
483N/A HRESULT ResponseBody(
483N/A [out, retval] VARIANT *body);
483N/A
210N/A [propget, id(DISPID_HTTPREQUEST_RESPONSESTREAM)]
210N/A HRESULT ResponseStream(
210N/A [out, retval] VARIANT *body);
210N/A
210N/A [propget, id(DISPID_HTTPREQUEST_OPTION)]
210N/A HRESULT Option(
257N/A [in] WinHttpRequestOption option,
257N/A [out, retval] VARIANT *value);
257N/A
210N/A [propput, id(DISPID_HTTPREQUEST_OPTION)]
210N/A HRESULT Option(
210N/A [in] WinHttpRequestOption option,
210N/A [in] VARIANT value);
210N/A
210N/A [id(DISPID_HTTPREQUEST_WAITFORRESPONSE)]
143N/A HRESULT WaitForResponse(
143N/A [in, optional] VARIANT timeout,
143N/A [out, retval] VARIANT_BOOL *succeeded);
202N/A
202N/A [id(DISPID_HTTPREQUEST_ABORT)]
143N/A HRESULT Abort();
143N/A
143N/A [id(DISPID_HTTPREQUEST_SETTIMEOUTS)]
202N/A HRESULT SetTimeouts(
202N/A [in] LONG resolve_timeout,
202N/A [in] LONG connect_timeout,
202N/A [in] LONG send_timeout,
202N/A [in] LONG receive_timeout);
202N/A
126N/A [id(DISPID_HTTPREQUEST_SETCLIENTCERTIFICATE)]
126N/A HRESULT SetClientCertificate(
143N/A [in] BSTR certificate);
202N/A
0N/A [id(DISPID_HTTPREQUEST_SETAUTOLOGONPOLICY)]
0N/A HRESULT SetAutoLogonPolicy(
0N/A [in] WinHttpRequestAutoLogonPolicy policy);
202N/A}
0N/A[
143N/A helpstring("WinHttpRequest Component version 5.1"),
143N/A threading(apartment),
143N/A progid("WinHttp.WinHttpRequest.5.1"),
143N/A uuid(2087c2f4-2cef-4953-a8ab-66779b670495)
143N/A]
143N/Acoclass WinHttpRequest { interface IWinHttpRequest; }
143N/A
143N/A} /* WinHttp */
143N/A