master
1/*** Autogenerated by WIDL 10.4 from include/httprequest.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __httprequest_h__
17#define __httprequest_h__
18
19/* Forward declarations */
20
21#ifndef __IWinHttpRequest_FWD_DEFINED__
22#define __IWinHttpRequest_FWD_DEFINED__
23typedef interface IWinHttpRequest IWinHttpRequest;
24#ifdef __cplusplus
25interface IWinHttpRequest;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __WinHttpRequest_FWD_DEFINED__
30#define __WinHttpRequest_FWD_DEFINED__
31#ifdef __cplusplus
32typedef class WinHttpRequest WinHttpRequest;
33#else
34typedef struct WinHttpRequest WinHttpRequest;
35#endif /* defined __cplusplus */
36#endif /* defined __WinHttpRequest_FWD_DEFINED__ */
37
38/* Headers for imported files */
39
40#include <oaidl.h>
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
46#ifndef __WinHttp_LIBRARY_DEFINED__
47#define __WinHttp_LIBRARY_DEFINED__
48
49DEFINE_GUID(LIBID_WinHttp, 0x662901fc, 0x6951, 0x4854, 0x9e,0xb2, 0xd9,0xa2,0x57,0x0f,0x2b,0x2e);
50
51typedef LONG HTTPREQUEST_PROXY_SETTING;
52#define HTTPREQUEST_PROXYSETTING_DEFAULT (0x0)
53
54#define HTTPREQUEST_PROXYSETTING_PRECONFIG (0x0)
55
56#define HTTPREQUEST_PROXYSETTING_DIRECT (0x1)
57
58#define HTTPREQUEST_PROXYSETTING_PROXY (0x2)
59
60typedef LONG HTTPREQUEST_SETCREDENTIALS_FLAGS;
61#define HTTPREQUEST_SETCREDENTIALS_FOR_SERVER (0x0)
62
63#define HTTPREQUEST_SETCREDENTIALS_FOR_PROXY (0x1)
64
65typedef enum WinHttpRequestOption {
66 WinHttpRequestOption_UserAgentString = 0,
67 WinHttpRequestOption_URL = 1,
68 WinHttpRequestOption_URLCodePage = 2,
69 WinHttpRequestOption_EscapePercentInURL = 3,
70 WinHttpRequestOption_SslErrorIgnoreFlags = 4,
71 WinHttpRequestOption_SelectCertificate = 5,
72 WinHttpRequestOption_EnableRedirects = 6,
73 WinHttpRequestOption_UrlEscapeDisable = 7,
74 WinHttpRequestOption_UrlEscapeDisableQuery = 8,
75 WinHttpRequestOption_SecureProtocols = 9,
76 WinHttpRequestOption_EnableTracing = 10,
77 WinHttpRequestOption_RevertImpersonationOverSsl = 11,
78 WinHttpRequestOption_EnableHttpsToHttpRedirects = 12,
79 WinHttpRequestOption_EnablePassportAuthentication = 13,
80 WinHttpRequestOption_MaxAutomaticRedirects = 14,
81 WinHttpRequestOption_MaxResponseHeaderSize = 15,
82 WinHttpRequestOption_MaxResponseDrainSize = 16,
83 WinHttpRequestOption_EnableHttp1_1 = 17,
84 WinHttpRequestOption_EnableCertificateRevocationCheck = 18,
85 WinHttpRequestOption_RejectUserpwd = 19
86} WinHttpRequestOption;
87typedef enum WinHttpRequestAutoLogonPolicy {
88 AutoLogonPolicy_Always = 0,
89 AutoLogonPolicy_OnlyIfBypassProxy = 1,
90 AutoLogonPolicy_Never = 2
91} WinHttpRequestAutoLogonPolicy;
92/*****************************************************************************
93 * IWinHttpRequest interface
94 */
95#ifndef __IWinHttpRequest_INTERFACE_DEFINED__
96#define __IWinHttpRequest_INTERFACE_DEFINED__
97
98DEFINE_GUID(IID_IWinHttpRequest, 0x016fe2ec, 0xb2c8, 0x45f8, 0xb2,0x3b, 0x39,0xe5,0x3a,0x75,0x39,0x6b);
99#if defined(__cplusplus) && !defined(CINTERFACE)
100MIDL_INTERFACE("016fe2ec-b2c8-45f8-b23b-39e53a75396b")
101IWinHttpRequest : public IDispatch
102{
103 virtual HRESULT STDMETHODCALLTYPE SetProxy(
104 HTTPREQUEST_PROXY_SETTING proxy_setting,
105 VARIANT proxy_server,
106 VARIANT bypass_list) = 0;
107
108 virtual HRESULT STDMETHODCALLTYPE SetCredentials(
109 BSTR username,
110 BSTR password,
111 HTTPREQUEST_SETCREDENTIALS_FLAGS flags) = 0;
112
113 virtual HRESULT STDMETHODCALLTYPE Open(
114 BSTR method,
115 BSTR url,
116 VARIANT async) = 0;
117
118 virtual HRESULT STDMETHODCALLTYPE SetRequestHeader(
119 BSTR header,
120 BSTR value) = 0;
121
122 virtual HRESULT STDMETHODCALLTYPE GetResponseHeader(
123 BSTR header,
124 BSTR *value) = 0;
125
126 virtual HRESULT STDMETHODCALLTYPE GetAllResponseHeaders(
127 BSTR *headers) = 0;
128
129 virtual HRESULT STDMETHODCALLTYPE Send(
130 VARIANT body) = 0;
131
132 virtual HRESULT STDMETHODCALLTYPE get_Status(
133 LONG *status) = 0;
134
135 virtual HRESULT STDMETHODCALLTYPE get_StatusText(
136 BSTR *status) = 0;
137
138 virtual HRESULT STDMETHODCALLTYPE get_ResponseText(
139 BSTR *body) = 0;
140
141 virtual HRESULT STDMETHODCALLTYPE get_ResponseBody(
142 VARIANT *body) = 0;
143
144 virtual HRESULT STDMETHODCALLTYPE get_ResponseStream(
145 VARIANT *body) = 0;
146
147 virtual HRESULT STDMETHODCALLTYPE get_Option(
148 WinHttpRequestOption option,
149 VARIANT *value) = 0;
150
151 virtual HRESULT STDMETHODCALLTYPE put_Option(
152 WinHttpRequestOption option,
153 VARIANT value) = 0;
154
155 virtual HRESULT STDMETHODCALLTYPE WaitForResponse(
156 VARIANT timeout,
157 VARIANT_BOOL *succeeded) = 0;
158
159 virtual HRESULT STDMETHODCALLTYPE Abort(
160 ) = 0;
161
162 virtual HRESULT STDMETHODCALLTYPE SetTimeouts(
163 LONG resolve_timeout,
164 LONG connect_timeout,
165 LONG send_timeout,
166 LONG receive_timeout) = 0;
167
168 virtual HRESULT STDMETHODCALLTYPE SetClientCertificate(
169 BSTR certificate) = 0;
170
171 virtual HRESULT STDMETHODCALLTYPE SetAutoLogonPolicy(
172 WinHttpRequestAutoLogonPolicy policy) = 0;
173
174};
175#ifdef __CRT_UUID_DECL
176__CRT_UUID_DECL(IWinHttpRequest, 0x016fe2ec, 0xb2c8, 0x45f8, 0xb2,0x3b, 0x39,0xe5,0x3a,0x75,0x39,0x6b)
177#endif
178#else
179typedef struct IWinHttpRequestVtbl {
180 BEGIN_INTERFACE
181
182 /*** IUnknown methods ***/
183 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
184 IWinHttpRequest *This,
185 REFIID riid,
186 void **ppvObject);
187
188 ULONG (STDMETHODCALLTYPE *AddRef)(
189 IWinHttpRequest *This);
190
191 ULONG (STDMETHODCALLTYPE *Release)(
192 IWinHttpRequest *This);
193
194 /*** IDispatch methods ***/
195 HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
196 IWinHttpRequest *This,
197 UINT *pctinfo);
198
199 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
200 IWinHttpRequest *This,
201 UINT iTInfo,
202 LCID lcid,
203 ITypeInfo **ppTInfo);
204
205 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
206 IWinHttpRequest *This,
207 REFIID riid,
208 LPOLESTR *rgszNames,
209 UINT cNames,
210 LCID lcid,
211 DISPID *rgDispId);
212
213 HRESULT (STDMETHODCALLTYPE *Invoke)(
214 IWinHttpRequest *This,
215 DISPID dispIdMember,
216 REFIID riid,
217 LCID lcid,
218 WORD wFlags,
219 DISPPARAMS *pDispParams,
220 VARIANT *pVarResult,
221 EXCEPINFO *pExcepInfo,
222 UINT *puArgErr);
223
224 /*** IWinHttpRequest methods ***/
225 HRESULT (STDMETHODCALLTYPE *SetProxy)(
226 IWinHttpRequest *This,
227 HTTPREQUEST_PROXY_SETTING proxy_setting,
228 VARIANT proxy_server,
229 VARIANT bypass_list);
230
231 HRESULT (STDMETHODCALLTYPE *SetCredentials)(
232 IWinHttpRequest *This,
233 BSTR username,
234 BSTR password,
235 HTTPREQUEST_SETCREDENTIALS_FLAGS flags);
236
237 HRESULT (STDMETHODCALLTYPE *Open)(
238 IWinHttpRequest *This,
239 BSTR method,
240 BSTR url,
241 VARIANT async);
242
243 HRESULT (STDMETHODCALLTYPE *SetRequestHeader)(
244 IWinHttpRequest *This,
245 BSTR header,
246 BSTR value);
247
248 HRESULT (STDMETHODCALLTYPE *GetResponseHeader)(
249 IWinHttpRequest *This,
250 BSTR header,
251 BSTR *value);
252
253 HRESULT (STDMETHODCALLTYPE *GetAllResponseHeaders)(
254 IWinHttpRequest *This,
255 BSTR *headers);
256
257 HRESULT (STDMETHODCALLTYPE *Send)(
258 IWinHttpRequest *This,
259 VARIANT body);
260
261 HRESULT (STDMETHODCALLTYPE *get_Status)(
262 IWinHttpRequest *This,
263 LONG *status);
264
265 HRESULT (STDMETHODCALLTYPE *get_StatusText)(
266 IWinHttpRequest *This,
267 BSTR *status);
268
269 HRESULT (STDMETHODCALLTYPE *get_ResponseText)(
270 IWinHttpRequest *This,
271 BSTR *body);
272
273 HRESULT (STDMETHODCALLTYPE *get_ResponseBody)(
274 IWinHttpRequest *This,
275 VARIANT *body);
276
277 HRESULT (STDMETHODCALLTYPE *get_ResponseStream)(
278 IWinHttpRequest *This,
279 VARIANT *body);
280
281 HRESULT (STDMETHODCALLTYPE *get_Option)(
282 IWinHttpRequest *This,
283 WinHttpRequestOption option,
284 VARIANT *value);
285
286 HRESULT (STDMETHODCALLTYPE *put_Option)(
287 IWinHttpRequest *This,
288 WinHttpRequestOption option,
289 VARIANT value);
290
291 HRESULT (STDMETHODCALLTYPE *WaitForResponse)(
292 IWinHttpRequest *This,
293 VARIANT timeout,
294 VARIANT_BOOL *succeeded);
295
296 HRESULT (STDMETHODCALLTYPE *Abort)(
297 IWinHttpRequest *This);
298
299 HRESULT (STDMETHODCALLTYPE *SetTimeouts)(
300 IWinHttpRequest *This,
301 LONG resolve_timeout,
302 LONG connect_timeout,
303 LONG send_timeout,
304 LONG receive_timeout);
305
306 HRESULT (STDMETHODCALLTYPE *SetClientCertificate)(
307 IWinHttpRequest *This,
308 BSTR certificate);
309
310 HRESULT (STDMETHODCALLTYPE *SetAutoLogonPolicy)(
311 IWinHttpRequest *This,
312 WinHttpRequestAutoLogonPolicy policy);
313
314 END_INTERFACE
315} IWinHttpRequestVtbl;
316
317interface IWinHttpRequest {
318 CONST_VTBL IWinHttpRequestVtbl* lpVtbl;
319};
320
321#ifdef COBJMACROS
322#ifndef WIDL_C_INLINE_WRAPPERS
323/*** IUnknown methods ***/
324#define IWinHttpRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
325#define IWinHttpRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
326#define IWinHttpRequest_Release(This) (This)->lpVtbl->Release(This)
327/*** IDispatch methods ***/
328#define IWinHttpRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
329#define IWinHttpRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
330#define IWinHttpRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
331#define IWinHttpRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
332/*** IWinHttpRequest methods ***/
333#define IWinHttpRequest_SetProxy(This,proxy_setting,proxy_server,bypass_list) (This)->lpVtbl->SetProxy(This,proxy_setting,proxy_server,bypass_list)
334#define IWinHttpRequest_SetCredentials(This,username,password,flags) (This)->lpVtbl->SetCredentials(This,username,password,flags)
335#define IWinHttpRequest_Open(This,method,url,async) (This)->lpVtbl->Open(This,method,url,async)
336#define IWinHttpRequest_SetRequestHeader(This,header,value) (This)->lpVtbl->SetRequestHeader(This,header,value)
337#define IWinHttpRequest_GetResponseHeader(This,header,value) (This)->lpVtbl->GetResponseHeader(This,header,value)
338#define IWinHttpRequest_GetAllResponseHeaders(This,headers) (This)->lpVtbl->GetAllResponseHeaders(This,headers)
339#define IWinHttpRequest_Send(This,body) (This)->lpVtbl->Send(This,body)
340#define IWinHttpRequest_get_Status(This,status) (This)->lpVtbl->get_Status(This,status)
341#define IWinHttpRequest_get_StatusText(This,status) (This)->lpVtbl->get_StatusText(This,status)
342#define IWinHttpRequest_get_ResponseText(This,body) (This)->lpVtbl->get_ResponseText(This,body)
343#define IWinHttpRequest_get_ResponseBody(This,body) (This)->lpVtbl->get_ResponseBody(This,body)
344#define IWinHttpRequest_get_ResponseStream(This,body) (This)->lpVtbl->get_ResponseStream(This,body)
345#define IWinHttpRequest_get_Option(This,option,value) (This)->lpVtbl->get_Option(This,option,value)
346#define IWinHttpRequest_put_Option(This,option,value) (This)->lpVtbl->put_Option(This,option,value)
347#define IWinHttpRequest_WaitForResponse(This,timeout,succeeded) (This)->lpVtbl->WaitForResponse(This,timeout,succeeded)
348#define IWinHttpRequest_Abort(This) (This)->lpVtbl->Abort(This)
349#define IWinHttpRequest_SetTimeouts(This,resolve_timeout,connect_timeout,send_timeout,receive_timeout) (This)->lpVtbl->SetTimeouts(This,resolve_timeout,connect_timeout,send_timeout,receive_timeout)
350#define IWinHttpRequest_SetClientCertificate(This,certificate) (This)->lpVtbl->SetClientCertificate(This,certificate)
351#define IWinHttpRequest_SetAutoLogonPolicy(This,policy) (This)->lpVtbl->SetAutoLogonPolicy(This,policy)
352#else
353/*** IUnknown methods ***/
354static inline HRESULT IWinHttpRequest_QueryInterface(IWinHttpRequest* This,REFIID riid,void **ppvObject) {
355 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
356}
357static inline ULONG IWinHttpRequest_AddRef(IWinHttpRequest* This) {
358 return This->lpVtbl->AddRef(This);
359}
360static inline ULONG IWinHttpRequest_Release(IWinHttpRequest* This) {
361 return This->lpVtbl->Release(This);
362}
363/*** IDispatch methods ***/
364static inline HRESULT IWinHttpRequest_GetTypeInfoCount(IWinHttpRequest* This,UINT *pctinfo) {
365 return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
366}
367static inline HRESULT IWinHttpRequest_GetTypeInfo(IWinHttpRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
368 return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
369}
370static inline HRESULT IWinHttpRequest_GetIDsOfNames(IWinHttpRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
371 return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
372}
373static inline HRESULT IWinHttpRequest_Invoke(IWinHttpRequest* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
374 return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
375}
376/*** IWinHttpRequest methods ***/
377static inline HRESULT IWinHttpRequest_SetProxy(IWinHttpRequest* This,HTTPREQUEST_PROXY_SETTING proxy_setting,VARIANT proxy_server,VARIANT bypass_list) {
378 return This->lpVtbl->SetProxy(This,proxy_setting,proxy_server,bypass_list);
379}
380static inline HRESULT IWinHttpRequest_SetCredentials(IWinHttpRequest* This,BSTR username,BSTR password,HTTPREQUEST_SETCREDENTIALS_FLAGS flags) {
381 return This->lpVtbl->SetCredentials(This,username,password,flags);
382}
383static inline HRESULT IWinHttpRequest_Open(IWinHttpRequest* This,BSTR method,BSTR url,VARIANT async) {
384 return This->lpVtbl->Open(This,method,url,async);
385}
386static inline HRESULT IWinHttpRequest_SetRequestHeader(IWinHttpRequest* This,BSTR header,BSTR value) {
387 return This->lpVtbl->SetRequestHeader(This,header,value);
388}
389static inline HRESULT IWinHttpRequest_GetResponseHeader(IWinHttpRequest* This,BSTR header,BSTR *value) {
390 return This->lpVtbl->GetResponseHeader(This,header,value);
391}
392static inline HRESULT IWinHttpRequest_GetAllResponseHeaders(IWinHttpRequest* This,BSTR *headers) {
393 return This->lpVtbl->GetAllResponseHeaders(This,headers);
394}
395static inline HRESULT IWinHttpRequest_Send(IWinHttpRequest* This,VARIANT body) {
396 return This->lpVtbl->Send(This,body);
397}
398static inline HRESULT IWinHttpRequest_get_Status(IWinHttpRequest* This,LONG *status) {
399 return This->lpVtbl->get_Status(This,status);
400}
401static inline HRESULT IWinHttpRequest_get_StatusText(IWinHttpRequest* This,BSTR *status) {
402 return This->lpVtbl->get_StatusText(This,status);
403}
404static inline HRESULT IWinHttpRequest_get_ResponseText(IWinHttpRequest* This,BSTR *body) {
405 return This->lpVtbl->get_ResponseText(This,body);
406}
407static inline HRESULT IWinHttpRequest_get_ResponseBody(IWinHttpRequest* This,VARIANT *body) {
408 return This->lpVtbl->get_ResponseBody(This,body);
409}
410static inline HRESULT IWinHttpRequest_get_ResponseStream(IWinHttpRequest* This,VARIANT *body) {
411 return This->lpVtbl->get_ResponseStream(This,body);
412}
413static inline HRESULT IWinHttpRequest_get_Option(IWinHttpRequest* This,WinHttpRequestOption option,VARIANT *value) {
414 return This->lpVtbl->get_Option(This,option,value);
415}
416static inline HRESULT IWinHttpRequest_put_Option(IWinHttpRequest* This,WinHttpRequestOption option,VARIANT value) {
417 return This->lpVtbl->put_Option(This,option,value);
418}
419static inline HRESULT IWinHttpRequest_WaitForResponse(IWinHttpRequest* This,VARIANT timeout,VARIANT_BOOL *succeeded) {
420 return This->lpVtbl->WaitForResponse(This,timeout,succeeded);
421}
422static inline HRESULT IWinHttpRequest_Abort(IWinHttpRequest* This) {
423 return This->lpVtbl->Abort(This);
424}
425static inline HRESULT IWinHttpRequest_SetTimeouts(IWinHttpRequest* This,LONG resolve_timeout,LONG connect_timeout,LONG send_timeout,LONG receive_timeout) {
426 return This->lpVtbl->SetTimeouts(This,resolve_timeout,connect_timeout,send_timeout,receive_timeout);
427}
428static inline HRESULT IWinHttpRequest_SetClientCertificate(IWinHttpRequest* This,BSTR certificate) {
429 return This->lpVtbl->SetClientCertificate(This,certificate);
430}
431static inline HRESULT IWinHttpRequest_SetAutoLogonPolicy(IWinHttpRequest* This,WinHttpRequestAutoLogonPolicy policy) {
432 return This->lpVtbl->SetAutoLogonPolicy(This,policy);
433}
434#endif
435#endif
436
437#endif
438
439
440#endif /* __IWinHttpRequest_INTERFACE_DEFINED__ */
441
442/*****************************************************************************
443 * WinHttpRequest coclass
444 */
445
446DEFINE_GUID(CLSID_WinHttpRequest, 0x2087c2f4, 0x2cef, 0x4953, 0xa8,0xab, 0x66,0x77,0x9b,0x67,0x04,0x95);
447
448#ifdef __cplusplus
449class DECLSPEC_UUID("2087c2f4-2cef-4953-a8ab-66779b670495") WinHttpRequest;
450#ifdef __CRT_UUID_DECL
451__CRT_UUID_DECL(WinHttpRequest, 0x2087c2f4, 0x2cef, 0x4953, 0xa8,0xab, 0x66,0x77,0x9b,0x67,0x04,0x95)
452#endif
453#endif
454
455#endif /* __WinHttp_LIBRARY_DEFINED__ */
456/* Begin additional prototypes for all interfaces */
457
458ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
459unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
460unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
461void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
462ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
463unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
464unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
465void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
466
467/* End additional prototypes */
468
469#ifdef __cplusplus
470}
471#endif
472
473#endif /* __httprequest_h__ */