From: Thomas Faber Date: Thu, 21 Jun 2012 16:33:23 +0000 (+0000) Subject: [PSDK] X-Git-Tag: backups/ros-csrss@57560~769 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=6c59846bd7825a68d01957aad84ea023306dd7a0 [PSDK] - Add httprequest.idl and httprequestid.h from Wine 1.5.4 - Update winhttp.h to Wine 1.5.4 svn path=/trunk/; revision=56774 --- diff --git a/reactos/include/psdk/CMakeLists.txt b/reactos/include/psdk/CMakeLists.txt index 039460c9b2b..53e187435cc 100644 --- a/reactos/include/psdk/CMakeLists.txt +++ b/reactos/include/psdk/CMakeLists.txt @@ -41,6 +41,7 @@ list(APPEND SOURCE fusion.idl hlink.idl htiframe.idl + httprequest.idl iads.idl icftypes.idl imnact.idl diff --git a/reactos/include/psdk/httprequest.idl b/reactos/include/psdk/httprequest.idl new file mode 100644 index 00000000000..33ba59ca4cd --- /dev/null +++ b/reactos/include/psdk/httprequest.idl @@ -0,0 +1,191 @@ +/* + * 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 */ diff --git a/reactos/include/psdk/httprequestid.h b/reactos/include/psdk/httprequestid.h new file mode 100644 index 00000000000..9860b1fd6e8 --- /dev/null +++ b/reactos/include/psdk/httprequestid.h @@ -0,0 +1,42 @@ +/* + * 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 + */ + +#ifndef __WINE_HTTPREQUESTID_H +#define __WINE_HTTPREQUESTID_H + +#define DISPID_HTTPREQUEST_BASE 1 +#define DISPID_HTTPREQUEST_OPEN (DISPID_HTTPREQUEST_BASE) +#define DISPID_HTTPREQUEST_SETREQUESTHEADER (DISPID_HTTPREQUEST_BASE + 1) +#define DISPID_HTTPREQUEST_GETRESPONSEHEADER (DISPID_HTTPREQUEST_BASE + 2) +#define DISPID_HTTPREQUEST_GETALLRESPONSEHEADERS (DISPID_HTTPREQUEST_BASE + 3) +#define DISPID_HTTPREQUEST_SEND (DISPID_HTTPREQUEST_BASE + 4) +#define DISPID_HTTPREQUEST_OPTION (DISPID_HTTPREQUEST_BASE + 5) +#define DISPID_HTTPREQUEST_STATUS (DISPID_HTTPREQUEST_BASE + 6) +#define DISPID_HTTPREQUEST_STATUSTEXT (DISPID_HTTPREQUEST_BASE + 7) +#define DISPID_HTTPREQUEST_RESPONSETEXT (DISPID_HTTPREQUEST_BASE + 8) +#define DISPID_HTTPREQUEST_RESPONSEBODY (DISPID_HTTPREQUEST_BASE + 9) +#define DISPID_HTTPREQUEST_RESPONSESTREAM (DISPID_HTTPREQUEST_BASE + 10) +#define DISPID_HTTPREQUEST_ABORT (DISPID_HTTPREQUEST_BASE + 11) +#define DISPID_HTTPREQUEST_SETPROXY (DISPID_HTTPREQUEST_BASE + 12) +#define DISPID_HTTPREQUEST_SETCREDENTIALS (DISPID_HTTPREQUEST_BASE + 13) +#define DISPID_HTTPREQUEST_WAITFORRESPONSE (DISPID_HTTPREQUEST_BASE + 14) +#define DISPID_HTTPREQUEST_SETTIMEOUTS (DISPID_HTTPREQUEST_BASE + 15) +#define DISPID_HTTPREQUEST_SETCLIENTCERTIFICATE (DISPID_HTTPREQUEST_BASE + 16) +#define DISPID_HTTPREQUEST_SETAUTOLOGONPOLICY (DISPID_HTTPREQUEST_BASE + 17) + +#endif /* __WINE_HTTPREQUESTID_H */ diff --git a/reactos/include/psdk/winhttp.h b/reactos/include/psdk/winhttp.h index 68bec0a433d..b54bd92b0e8 100644 --- a/reactos/include/psdk/winhttp.h +++ b/reactos/include/psdk/winhttp.h @@ -408,7 +408,7 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME; | WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE | WINHTTP_CALLBACK_STATUS_READ_COMPLETE \ | WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE | WINHTTP_CALLBACK_STATUS_REQUEST_ERROR) #define WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS 0xffffffff -#define WINHTTP_INVALID_STATUS_CALLBACK ((WINHTTP_STATUS_CALLBACK)(-1L)) +#define WINHTTP_INVALID_STATUS_CALLBACK ((WINHTTP_STATUS_CALLBACK)(-1)) #define API_RECEIVE_RESPONSE (1) #define API_QUERY_DATA_AVAILABLE (2) @@ -503,6 +503,14 @@ typedef struct typedef VOID (CALLBACK *WINHTTP_STATUS_CALLBACK)(HINTERNET,DWORD_PTR,DWORD,LPVOID,DWORD); +#define WINHTTP_AUTO_DETECT_TYPE_DHCP 0x00000001 +#define WINHTTP_AUTO_DETECT_TYPE_DNS_A 0x00000002 + +#define WINHTTP_AUTOPROXY_AUTO_DETECT 0x00000001 +#define WINHTTP_AUTOPROXY_CONFIG_URL 0x00000002 +#define WINHTTP_AUTOPROXY_RUN_INPROCESS 0x00010000 +#define WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY 0x00020000 + typedef struct { DWORD dwFlags; diff --git a/reactos/lib/sdk/uuid/CMakeLists.txt b/reactos/lib/sdk/uuid/CMakeLists.txt index 86bfb21eb58..12c4e528f99 100644 --- a/reactos/lib/sdk/uuid/CMakeLists.txt +++ b/reactos/lib/sdk/uuid/CMakeLists.txt @@ -49,7 +49,7 @@ list(APPEND IDL_SOURCES # htiface.idl htiframe.idl # htmlfilter.idl -# httprequest.idl + httprequest.idl # iaccess.idl # iaspolcy.idl # iedial.idl