Sync to Wine-0_9_4:
[reactos.git] / reactos / w32api / include / urlmon.h
1 /*** Autogenerated by WIDL 0.9.4 from urlmon.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
4
5 #ifndef __WIDL_URLMON_H
6 #define __WIDL_URLMON_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include <objidl.h>
11 #include <oleidl.h>
12 #include <servprov.h>
13 #include <msxml.h>
14 #ifndef __IInternetProtocolSink_FWD_DEFINED__
15 #define __IInternetProtocolSink_FWD_DEFINED__
16 typedef interface IInternetProtocolSink IInternetProtocolSink;
17 #endif
18
19 #ifndef __IBinding_FWD_DEFINED__
20 #define __IBinding_FWD_DEFINED__
21 typedef interface IBinding IBinding;
22 #endif
23
24 typedef IBinding *LPBINDING;
25 /*****************************************************************************
26 * IBinding interface
27 */
28 #ifndef __IBinding_INTERFACE_DEFINED__
29 #define __IBinding_INTERFACE_DEFINED__
30
31 DEFINE_GUID(IID_IBinding, 0x79eac9c0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
32 #if defined(__cplusplus) && !defined(CINTERFACE)
33 interface IBinding : public IUnknown
34 {
35 virtual HRESULT STDMETHODCALLTYPE Abort(
36 ) = 0;
37
38 virtual HRESULT STDMETHODCALLTYPE Suspend(
39 ) = 0;
40
41 virtual HRESULT STDMETHODCALLTYPE Resume(
42 ) = 0;
43
44 virtual HRESULT STDMETHODCALLTYPE SetPriority(
45 LONG nPriority) = 0;
46
47 virtual HRESULT STDMETHODCALLTYPE GetPriority(
48 LONG* pnPriority) = 0;
49
50 virtual HRESULT STDMETHODCALLTYPE GetBindResult(
51 CLSID* pclsidProtocol,
52 DWORD* pdwResult,
53 LPOLESTR* pszResult,
54 DWORD* pdwReserved) = 0;
55
56 };
57 #else
58 typedef struct IBindingVtbl {
59 BEGIN_INTERFACE
60
61 /*** IUnknown methods ***/
62 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
63 IBinding* This,
64 REFIID riid,
65 void** ppvObject);
66
67 ULONG (STDMETHODCALLTYPE *AddRef)(
68 IBinding* This);
69
70 ULONG (STDMETHODCALLTYPE *Release)(
71 IBinding* This);
72
73 /*** IBinding methods ***/
74 HRESULT (STDMETHODCALLTYPE *Abort)(
75 IBinding* This);
76
77 HRESULT (STDMETHODCALLTYPE *Suspend)(
78 IBinding* This);
79
80 HRESULT (STDMETHODCALLTYPE *Resume)(
81 IBinding* This);
82
83 HRESULT (STDMETHODCALLTYPE *SetPriority)(
84 IBinding* This,
85 LONG nPriority);
86
87 HRESULT (STDMETHODCALLTYPE *GetPriority)(
88 IBinding* This,
89 LONG* pnPriority);
90
91 HRESULT (STDMETHODCALLTYPE *GetBindResult)(
92 IBinding* This,
93 CLSID* pclsidProtocol,
94 DWORD* pdwResult,
95 LPOLESTR* pszResult,
96 DWORD* pdwReserved);
97
98 END_INTERFACE
99 } IBindingVtbl;
100 interface IBinding {
101 const IBindingVtbl* lpVtbl;
102 };
103
104 #ifdef COBJMACROS
105 /*** IUnknown methods ***/
106 #define IBinding_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
107 #define IBinding_AddRef(p) (p)->lpVtbl->AddRef(p)
108 #define IBinding_Release(p) (p)->lpVtbl->Release(p)
109 /*** IBinding methods ***/
110 #define IBinding_Abort(p) (p)->lpVtbl->Abort(p)
111 #define IBinding_Suspend(p) (p)->lpVtbl->Suspend(p)
112 #define IBinding_Resume(p) (p)->lpVtbl->Resume(p)
113 #define IBinding_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
114 #define IBinding_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a)
115 #define IBinding_GetBindResult(p,a,b,c,d) (p)->lpVtbl->GetBindResult(p,a,b,c,d)
116 #endif
117
118 #endif
119
120 HRESULT CALLBACK IBinding_Abort_Proxy(
121 IBinding* This);
122 void __RPC_STUB IBinding_Abort_Stub(
123 IRpcStubBuffer* This,
124 IRpcChannelBuffer* pRpcChannelBuffer,
125 PRPC_MESSAGE pRpcMessage,
126 DWORD* pdwStubPhase);
127 HRESULT CALLBACK IBinding_Suspend_Proxy(
128 IBinding* This);
129 void __RPC_STUB IBinding_Suspend_Stub(
130 IRpcStubBuffer* This,
131 IRpcChannelBuffer* pRpcChannelBuffer,
132 PRPC_MESSAGE pRpcMessage,
133 DWORD* pdwStubPhase);
134 HRESULT CALLBACK IBinding_Resume_Proxy(
135 IBinding* This);
136 void __RPC_STUB IBinding_Resume_Stub(
137 IRpcStubBuffer* This,
138 IRpcChannelBuffer* pRpcChannelBuffer,
139 PRPC_MESSAGE pRpcMessage,
140 DWORD* pdwStubPhase);
141 HRESULT CALLBACK IBinding_SetPriority_Proxy(
142 IBinding* This,
143 LONG nPriority);
144 void __RPC_STUB IBinding_SetPriority_Stub(
145 IRpcStubBuffer* This,
146 IRpcChannelBuffer* pRpcChannelBuffer,
147 PRPC_MESSAGE pRpcMessage,
148 DWORD* pdwStubPhase);
149 HRESULT CALLBACK IBinding_GetPriority_Proxy(
150 IBinding* This,
151 LONG* pnPriority);
152 void __RPC_STUB IBinding_GetPriority_Stub(
153 IRpcStubBuffer* This,
154 IRpcChannelBuffer* pRpcChannelBuffer,
155 PRPC_MESSAGE pRpcMessage,
156 DWORD* pdwStubPhase);
157 HRESULT CALLBACK IBinding_RemoteGetBindResult_Proxy(
158 IBinding* This,
159 CLSID* pclsidProtocol,
160 DWORD* pdwResult,
161 LPOLESTR* pszResult,
162 DWORD dwReserved);
163 void __RPC_STUB IBinding_RemoteGetBindResult_Stub(
164 IRpcStubBuffer* This,
165 IRpcChannelBuffer* pRpcChannelBuffer,
166 PRPC_MESSAGE pRpcMessage,
167 DWORD* pdwStubPhase);
168 HRESULT CALLBACK IBinding_GetBindResult_Proxy(
169 IBinding* This,
170 CLSID* pclsidProtocol,
171 DWORD* pdwResult,
172 LPOLESTR* pszResult,
173 DWORD* pdwReserved);
174 HRESULT __RPC_STUB IBinding_GetBindResult_Stub(
175 IBinding* This,
176 CLSID* pclsidProtocol,
177 DWORD* pdwResult,
178 LPOLESTR* pszResult,
179 DWORD dwReserved);
180
181 #endif /* __IBinding_INTERFACE_DEFINED__ */
182
183 #ifndef __IBindStatusCallback_FWD_DEFINED__
184 #define __IBindStatusCallback_FWD_DEFINED__
185 typedef interface IBindStatusCallback IBindStatusCallback;
186 #endif
187
188 typedef IBindStatusCallback *LPBINDSTATUSCALLBACK;
189 typedef enum {
190 BINDVERB_GET = 0x0,
191 BINDVERB_POST = 0x1,
192 BINDVERB_PUT = 0x2,
193 BINDVERB_CUSTOM = 0x3
194 } BINDVERB;
195 typedef enum {
196 BINDF_ASYNCHRONOUS = 0x1,
197 BINDF_ASYNCSTORAGE = 0x2,
198 BINDF_NOPROGRESSIVERENDERING = 0x4,
199 BINDF_OFFLINEOPERATION = 0x8,
200 BINDF_GETNEWESTVERSION = 0x10,
201 BINDF_NOWRITECACHE = 0x20,
202 BINDF_NEEDFILE = 0x40,
203 BINDF_PULLDATA = 0x80,
204 BINDF_IGNORESECURITYPROBLEM = 0x100,
205 BINDF_RESYNCHRONIZE = 0x200,
206 BINDF_HYPERLINK = 0x400,
207 BINDF_NO_UI = 0x800,
208 BINDF_SILENTOPERATION = 0x1000,
209 BINDF_PRAGMA_NO_CACHE = 0x2000,
210 BINDF_GETCLASSOBJECT = 0x4000,
211 BINDF_RESERVED_1 = 0x8000,
212 BINDF_FREE_THREADED = 0x10000,
213 BINDF_DIRECT_READ = 0x20000,
214 BINDF_FORMS_SUBMIT = 0x40000,
215 BINDF_GETFROMCACHE_IF_NET_FAIL = 0x80000,
216 BINDF_FROMURLMON = 0x100000,
217 BINDF_FWD_BACK = 0x200000,
218 BINDF_PREFERDEFAULTHANDLER = 0x400000,
219 BINDF_ENFORCERESTRICTED = 0x800000
220 } BINDF;
221 typedef struct _tagBINDINFO {
222 ULONG cbSize;
223 LPWSTR szExtraInfo;
224 STGMEDIUM stgmedData;
225 DWORD grfBindInfoF;
226 DWORD dwBindVerb;
227 LPWSTR szCustomVerb;
228 DWORD cbStgmedData;
229 DWORD dwOptions;
230 DWORD dwOptionsFlags;
231 DWORD dwCodePage;
232 SECURITY_ATTRIBUTES securityAttributes;
233 IID iid;
234 IUnknown *pUnk;
235 DWORD dwReserved;
236 } BINDINFO;
237 typedef struct _REMSECURITY_ATTRIBUTES {
238 DWORD nLength;
239 DWORD lpSecurityDescriptor;
240 BOOL bInheritHandle;
241 } REMSECURITY_ATTRIBUTES, *PREMSECURITY_ATTRIBUTES, *LPREMSECURITY_ATTRIBUTES;
242 typedef struct _tagRemBINDINFO {
243 ULONG cbSize;
244 LPWSTR szExtraInfo;
245 DWORD grfBindInfoF;
246 DWORD dwBindVerb;
247 LPWSTR szCustomVerb;
248 DWORD cbstgmedData;
249 DWORD dwOptions;
250 DWORD dwOptionsFlags;
251 DWORD dwCodePage;
252 REMSECURITY_ATTRIBUTES securityAttributes;
253 IID iid;
254 IUnknown *pUnk;
255 DWORD dwReserved;
256 } RemBINDINFO;
257 typedef struct tagRemFORMATETC {
258 DWORD cfFormat;
259 DWORD ptd;
260 DWORD dwAspect;
261 LONG lindex;
262 DWORD tymed;
263 } RemFORMATETC, *LPREMFORMATETC;
264 typedef enum {
265 BSCF_FIRSTDATANOTIFICATION = 0x1,
266 BSCF_INTERMEDIATEDATANOTIFICATION = 0x2,
267 BSCF_LASTDATANOTIFICATION = 0x4,
268 BSCF_DATAFULLYAVAILABLE = 0x8,
269 BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10
270 } BSCF;
271 typedef enum BINDSTATUS {
272 BINDSTATUS_FINDINGRESOURCE = 1,
273 BINDSTATUS_CONNECTING,
274 BINDSTATUS_REDIRECTING,
275 BINDSTATUS_BEGINDOWNLOADDATA,
276 BINDSTATUS_DOWNLOADINGDATA,
277 BINDSTATUS_ENDDOWNLOADDATA,
278 BINDSTATUS_BEGINDOWNLOADCOMPONENTS,
279 BINDSTATUS_INSTALLINGCOMPONENTS,
280 BINDSTATUS_ENDDOWNLOADCOMPONENTS,
281 BINDSTATUS_USINGCACHEDCOPY,
282 BINDSTATUS_SENDINGREQUEST,
283 BINDSTATUS_CLASSIDAVAILABLE,
284 BINDSTATUS_MIMETYPEAVAILABLE,
285 BINDSTATUS_CACHEFILENAMEAVAILABLE,
286 BINDSTATUS_BEGINSYNCOPERATION,
287 BINDSTATUS_ENDSYNCOPERATION,
288 BINDSTATUS_BEGINUPLOADDATA,
289 BINDSTATUS_UPLOADINGDATA,
290 BINDSTATUS_ENDUPLOADINGDATA,
291 BINDSTATUS_PROTOCOLCLASSID,
292 BINDSTATUS_ENCODING,
293 BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE,
294 BINDSTATUS_CLASSINSTALLLOCATION,
295 BINDSTATUS_DECODING,
296 BINDSTATUS_LOADINGMIMEHANDLER,
297 BINDSTATUS_CONTENTDISPOSITIONATTACH,
298 BINDSTATUS_FILTERREPORTMIMETYPE,
299 BINDSTATUS_CLSIDCANINSTANTIATE,
300 BINDSTATUS_IUNKNOWNAVAILABLE,
301 BINDSTATUS_DIRECTBIND,
302 BINDSTATUS_RAWMIMETYPE,
303 BINDSTATUS_PROXYDETECTING,
304 BINDSTATUS_ACCEPTRANGES,
305 BINDSTATUS_COOKIE_SENT,
306 BINDSTATUS_COMPACT_POLICY_RECEIVED,
307 BINDSTATUS_COOKIE_SUPPRESSED,
308 BINDSTATUS_COOKIE_STATE_UNKNOWN,
309 BINDSTATUS_COOKIE_STATE_ACCEPT,
310 BINDSTATUS_COOKIE_STATE_REJECT,
311 BINDSTATUS_COOKIE_STATE_PROMPT,
312 BINDSTATUS_COOKIE_STATE_LEASH,
313 BINDSTATUS_COOKIE_STATE_DOWNGRADE,
314 BINDSTATUS_POLICY_HREF,
315 BINDSTATUS_P3P_HEADER,
316 BINDSTATUS_SESSION_COOKIE_RECEIVED,
317 BINDSTATUS_PERSISTENT_COOKIE_RECEIVED,
318 BINDSTATUS_SESSION_COOKIES_ALLOWED,
319 BINDSTATUS_CACHECONTROL,
320 BINDSTATUS_CONTENTDISPOSITIONFILENAME,
321 BINDSTATUS_MIMETEXTPLAINMISMATCH,
322 BINDSTATUS_PUBLISHERAVAILABLE,
323 BINDSTATUS_DISPLAYNAMEAVAILABLE
324 } BINDSTATUS;
325 /*****************************************************************************
326 * IBindStatusCallback interface
327 */
328 #ifndef __IBindStatusCallback_INTERFACE_DEFINED__
329 #define __IBindStatusCallback_INTERFACE_DEFINED__
330
331 DEFINE_GUID(IID_IBindStatusCallback, 0x79eac9c1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
332 #if defined(__cplusplus) && !defined(CINTERFACE)
333 interface IBindStatusCallback : public IUnknown
334 {
335 virtual HRESULT STDMETHODCALLTYPE OnStartBinding(
336 DWORD dwReserved,
337 IBinding* pib) = 0;
338
339 virtual HRESULT STDMETHODCALLTYPE GetPriority(
340 LONG* pnPriority) = 0;
341
342 virtual HRESULT STDMETHODCALLTYPE OnLowResource(
343 DWORD reserved) = 0;
344
345 virtual HRESULT STDMETHODCALLTYPE OnProgress(
346 ULONG ulProgress,
347 ULONG ulProgressMax,
348 ULONG ulStatusCode,
349 LPCWSTR szStatusText) = 0;
350
351 virtual HRESULT STDMETHODCALLTYPE OnStopBinding(
352 HRESULT hresult,
353 LPCWSTR szError) = 0;
354
355 virtual HRESULT STDMETHODCALLTYPE GetBindInfo(
356 DWORD* grfBINDF,
357 BINDINFO* pbindinfo) = 0;
358
359 virtual HRESULT STDMETHODCALLTYPE OnDataAvailable(
360 DWORD grfBSCF,
361 DWORD dwSize,
362 FORMATETC* pformatetc,
363 STGMEDIUM* pstgmed) = 0;
364
365 virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable(
366 REFIID riid,
367 IUnknown* punk) = 0;
368
369 };
370 #else
371 typedef struct IBindStatusCallbackVtbl {
372 BEGIN_INTERFACE
373
374 /*** IUnknown methods ***/
375 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
376 IBindStatusCallback* This,
377 REFIID riid,
378 void** ppvObject);
379
380 ULONG (STDMETHODCALLTYPE *AddRef)(
381 IBindStatusCallback* This);
382
383 ULONG (STDMETHODCALLTYPE *Release)(
384 IBindStatusCallback* This);
385
386 /*** IBindStatusCallback methods ***/
387 HRESULT (STDMETHODCALLTYPE *OnStartBinding)(
388 IBindStatusCallback* This,
389 DWORD dwReserved,
390 IBinding* pib);
391
392 HRESULT (STDMETHODCALLTYPE *GetPriority)(
393 IBindStatusCallback* This,
394 LONG* pnPriority);
395
396 HRESULT (STDMETHODCALLTYPE *OnLowResource)(
397 IBindStatusCallback* This,
398 DWORD reserved);
399
400 HRESULT (STDMETHODCALLTYPE *OnProgress)(
401 IBindStatusCallback* This,
402 ULONG ulProgress,
403 ULONG ulProgressMax,
404 ULONG ulStatusCode,
405 LPCWSTR szStatusText);
406
407 HRESULT (STDMETHODCALLTYPE *OnStopBinding)(
408 IBindStatusCallback* This,
409 HRESULT hresult,
410 LPCWSTR szError);
411
412 HRESULT (STDMETHODCALLTYPE *GetBindInfo)(
413 IBindStatusCallback* This,
414 DWORD* grfBINDF,
415 BINDINFO* pbindinfo);
416
417 HRESULT (STDMETHODCALLTYPE *OnDataAvailable)(
418 IBindStatusCallback* This,
419 DWORD grfBSCF,
420 DWORD dwSize,
421 FORMATETC* pformatetc,
422 STGMEDIUM* pstgmed);
423
424 HRESULT (STDMETHODCALLTYPE *OnObjectAvailable)(
425 IBindStatusCallback* This,
426 REFIID riid,
427 IUnknown* punk);
428
429 END_INTERFACE
430 } IBindStatusCallbackVtbl;
431 interface IBindStatusCallback {
432 const IBindStatusCallbackVtbl* lpVtbl;
433 };
434
435 #ifdef COBJMACROS
436 /*** IUnknown methods ***/
437 #define IBindStatusCallback_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
438 #define IBindStatusCallback_AddRef(p) (p)->lpVtbl->AddRef(p)
439 #define IBindStatusCallback_Release(p) (p)->lpVtbl->Release(p)
440 /*** IBindStatusCallback methods ***/
441 #define IBindStatusCallback_OnStartBinding(p,a,b) (p)->lpVtbl->OnStartBinding(p,a,b)
442 #define IBindStatusCallback_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a)
443 #define IBindStatusCallback_OnLowResource(p,a) (p)->lpVtbl->OnLowResource(p,a)
444 #define IBindStatusCallback_OnProgress(p,a,b,c,d) (p)->lpVtbl->OnProgress(p,a,b,c,d)
445 #define IBindStatusCallback_OnStopBinding(p,a,b) (p)->lpVtbl->OnStopBinding(p,a,b)
446 #define IBindStatusCallback_GetBindInfo(p,a,b) (p)->lpVtbl->GetBindInfo(p,a,b)
447 #define IBindStatusCallback_OnDataAvailable(p,a,b,c,d) (p)->lpVtbl->OnDataAvailable(p,a,b,c,d)
448 #define IBindStatusCallback_OnObjectAvailable(p,a,b) (p)->lpVtbl->OnObjectAvailable(p,a,b)
449 #endif
450
451 #endif
452
453 HRESULT CALLBACK IBindStatusCallback_OnStartBinding_Proxy(
454 IBindStatusCallback* This,
455 DWORD dwReserved,
456 IBinding* pib);
457 void __RPC_STUB IBindStatusCallback_OnStartBinding_Stub(
458 IRpcStubBuffer* This,
459 IRpcChannelBuffer* pRpcChannelBuffer,
460 PRPC_MESSAGE pRpcMessage,
461 DWORD* pdwStubPhase);
462 HRESULT CALLBACK IBindStatusCallback_GetPriority_Proxy(
463 IBindStatusCallback* This,
464 LONG* pnPriority);
465 void __RPC_STUB IBindStatusCallback_GetPriority_Stub(
466 IRpcStubBuffer* This,
467 IRpcChannelBuffer* pRpcChannelBuffer,
468 PRPC_MESSAGE pRpcMessage,
469 DWORD* pdwStubPhase);
470 HRESULT CALLBACK IBindStatusCallback_OnLowResource_Proxy(
471 IBindStatusCallback* This,
472 DWORD reserved);
473 void __RPC_STUB IBindStatusCallback_OnLowResource_Stub(
474 IRpcStubBuffer* This,
475 IRpcChannelBuffer* pRpcChannelBuffer,
476 PRPC_MESSAGE pRpcMessage,
477 DWORD* pdwStubPhase);
478 HRESULT CALLBACK IBindStatusCallback_OnProgress_Proxy(
479 IBindStatusCallback* This,
480 ULONG ulProgress,
481 ULONG ulProgressMax,
482 ULONG ulStatusCode,
483 LPCWSTR szStatusText);
484 void __RPC_STUB IBindStatusCallback_OnProgress_Stub(
485 IRpcStubBuffer* This,
486 IRpcChannelBuffer* pRpcChannelBuffer,
487 PRPC_MESSAGE pRpcMessage,
488 DWORD* pdwStubPhase);
489 HRESULT CALLBACK IBindStatusCallback_OnStopBinding_Proxy(
490 IBindStatusCallback* This,
491 HRESULT hresult,
492 LPCWSTR szError);
493 void __RPC_STUB IBindStatusCallback_OnStopBinding_Stub(
494 IRpcStubBuffer* This,
495 IRpcChannelBuffer* pRpcChannelBuffer,
496 PRPC_MESSAGE pRpcMessage,
497 DWORD* pdwStubPhase);
498 HRESULT CALLBACK IBindStatusCallback_RemoteGetBindInfo_Proxy(
499 IBindStatusCallback* This,
500 DWORD* grfBINDF,
501 RemBINDINFO* pbindinfo,
502 RemSTGMEDIUM* pstgmed);
503 void __RPC_STUB IBindStatusCallback_RemoteGetBindInfo_Stub(
504 IRpcStubBuffer* This,
505 IRpcChannelBuffer* pRpcChannelBuffer,
506 PRPC_MESSAGE pRpcMessage,
507 DWORD* pdwStubPhase);
508 HRESULT CALLBACK IBindStatusCallback_GetBindInfo_Proxy(
509 IBindStatusCallback* This,
510 DWORD* grfBINDF,
511 BINDINFO* pbindinfo);
512 HRESULT __RPC_STUB IBindStatusCallback_GetBindInfo_Stub(
513 IBindStatusCallback* This,
514 DWORD* grfBINDF,
515 RemBINDINFO* pbindinfo,
516 RemSTGMEDIUM* pstgmed);
517 HRESULT CALLBACK IBindStatusCallback_RemoteOnDataAvailable_Proxy(
518 IBindStatusCallback* This,
519 DWORD grfBSCF,
520 DWORD dwSize,
521 RemFORMATETC* pformatetc,
522 RemSTGMEDIUM* pstgmed);
523 void __RPC_STUB IBindStatusCallback_RemoteOnDataAvailable_Stub(
524 IRpcStubBuffer* This,
525 IRpcChannelBuffer* pRpcChannelBuffer,
526 PRPC_MESSAGE pRpcMessage,
527 DWORD* pdwStubPhase);
528 HRESULT CALLBACK IBindStatusCallback_OnDataAvailable_Proxy(
529 IBindStatusCallback* This,
530 DWORD grfBSCF,
531 DWORD dwSize,
532 FORMATETC* pformatetc,
533 STGMEDIUM* pstgmed);
534 HRESULT __RPC_STUB IBindStatusCallback_OnDataAvailable_Stub(
535 IBindStatusCallback* This,
536 DWORD grfBSCF,
537 DWORD dwSize,
538 RemFORMATETC* pformatetc,
539 RemSTGMEDIUM* pstgmed);
540 HRESULT CALLBACK IBindStatusCallback_OnObjectAvailable_Proxy(
541 IBindStatusCallback* This,
542 REFIID riid,
543 IUnknown* punk);
544 void __RPC_STUB IBindStatusCallback_OnObjectAvailable_Stub(
545 IRpcStubBuffer* This,
546 IRpcChannelBuffer* pRpcChannelBuffer,
547 PRPC_MESSAGE pRpcMessage,
548 DWORD* pdwStubPhase);
549
550 #endif /* __IBindStatusCallback_INTERFACE_DEFINED__ */
551
552 #ifndef __IAuthenticate_FWD_DEFINED__
553 #define __IAuthenticate_FWD_DEFINED__
554 typedef interface IAuthenticate IAuthenticate;
555 #endif
556
557 typedef IAuthenticate *LPAUTHENTICATION;
558 /*****************************************************************************
559 * IAuthenticate interface
560 */
561 #ifndef __IAuthenticate_INTERFACE_DEFINED__
562 #define __IAuthenticate_INTERFACE_DEFINED__
563
564 DEFINE_GUID(IID_IAuthenticate, 0x79eac9d0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
565 #if defined(__cplusplus) && !defined(CINTERFACE)
566 interface IAuthenticate : public IUnknown
567 {
568 virtual HRESULT STDMETHODCALLTYPE Authenticate(
569 HWND* phwnd,
570 LPWSTR* pszUsername,
571 LPWSTR* pszPassword) = 0;
572
573 };
574 #else
575 typedef struct IAuthenticateVtbl {
576 BEGIN_INTERFACE
577
578 /*** IUnknown methods ***/
579 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
580 IAuthenticate* This,
581 REFIID riid,
582 void** ppvObject);
583
584 ULONG (STDMETHODCALLTYPE *AddRef)(
585 IAuthenticate* This);
586
587 ULONG (STDMETHODCALLTYPE *Release)(
588 IAuthenticate* This);
589
590 /*** IAuthenticate methods ***/
591 HRESULT (STDMETHODCALLTYPE *Authenticate)(
592 IAuthenticate* This,
593 HWND* phwnd,
594 LPWSTR* pszUsername,
595 LPWSTR* pszPassword);
596
597 END_INTERFACE
598 } IAuthenticateVtbl;
599 interface IAuthenticate {
600 const IAuthenticateVtbl* lpVtbl;
601 };
602
603 #ifdef COBJMACROS
604 /*** IUnknown methods ***/
605 #define IAuthenticate_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
606 #define IAuthenticate_AddRef(p) (p)->lpVtbl->AddRef(p)
607 #define IAuthenticate_Release(p) (p)->lpVtbl->Release(p)
608 /*** IAuthenticate methods ***/
609 #define IAuthenticate_Authenticate(p,a,b,c) (p)->lpVtbl->Authenticate(p,a,b,c)
610 #endif
611
612 #endif
613
614 HRESULT CALLBACK IAuthenticate_Authenticate_Proxy(
615 IAuthenticate* This,
616 HWND* phwnd,
617 LPWSTR* pszUsername,
618 LPWSTR* pszPassword);
619 void __RPC_STUB IAuthenticate_Authenticate_Stub(
620 IRpcStubBuffer* This,
621 IRpcChannelBuffer* pRpcChannelBuffer,
622 PRPC_MESSAGE pRpcMessage,
623 DWORD* pdwStubPhase);
624
625 #endif /* __IAuthenticate_INTERFACE_DEFINED__ */
626
627 #ifndef __IHttpNegotiate_FWD_DEFINED__
628 #define __IHttpNegotiate_FWD_DEFINED__
629 typedef interface IHttpNegotiate IHttpNegotiate;
630 #endif
631
632 typedef IHttpNegotiate *LPHTTPNEGOTIATE;
633 /*****************************************************************************
634 * IHttpNegotiate interface
635 */
636 #ifndef __IHttpNegotiate_INTERFACE_DEFINED__
637 #define __IHttpNegotiate_INTERFACE_DEFINED__
638
639 DEFINE_GUID(IID_IHttpNegotiate, 0x79eac9d2, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
640 #if defined(__cplusplus) && !defined(CINTERFACE)
641 interface IHttpNegotiate : public IUnknown
642 {
643 virtual HRESULT STDMETHODCALLTYPE BeginningTransaction(
644 LPCWSTR szURL,
645 LPCWSTR szHeaders,
646 DWORD dwReserved,
647 LPWSTR* pszAdditionalHeaders) = 0;
648
649 virtual HRESULT STDMETHODCALLTYPE OnResponse(
650 DWORD dwResponseCode,
651 LPCWSTR szResponseHeaders,
652 LPCWSTR szRequestHeaders,
653 LPWSTR* pszAdditionalRequestHeaders) = 0;
654
655 };
656 #else
657 typedef struct IHttpNegotiateVtbl {
658 BEGIN_INTERFACE
659
660 /*** IUnknown methods ***/
661 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
662 IHttpNegotiate* This,
663 REFIID riid,
664 void** ppvObject);
665
666 ULONG (STDMETHODCALLTYPE *AddRef)(
667 IHttpNegotiate* This);
668
669 ULONG (STDMETHODCALLTYPE *Release)(
670 IHttpNegotiate* This);
671
672 /*** IHttpNegotiate methods ***/
673 HRESULT (STDMETHODCALLTYPE *BeginningTransaction)(
674 IHttpNegotiate* This,
675 LPCWSTR szURL,
676 LPCWSTR szHeaders,
677 DWORD dwReserved,
678 LPWSTR* pszAdditionalHeaders);
679
680 HRESULT (STDMETHODCALLTYPE *OnResponse)(
681 IHttpNegotiate* This,
682 DWORD dwResponseCode,
683 LPCWSTR szResponseHeaders,
684 LPCWSTR szRequestHeaders,
685 LPWSTR* pszAdditionalRequestHeaders);
686
687 END_INTERFACE
688 } IHttpNegotiateVtbl;
689 interface IHttpNegotiate {
690 const IHttpNegotiateVtbl* lpVtbl;
691 };
692
693 #ifdef COBJMACROS
694 /*** IUnknown methods ***/
695 #define IHttpNegotiate_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
696 #define IHttpNegotiate_AddRef(p) (p)->lpVtbl->AddRef(p)
697 #define IHttpNegotiate_Release(p) (p)->lpVtbl->Release(p)
698 /*** IHttpNegotiate methods ***/
699 #define IHttpNegotiate_BeginningTransaction(p,a,b,c,d) (p)->lpVtbl->BeginningTransaction(p,a,b,c,d)
700 #define IHttpNegotiate_OnResponse(p,a,b,c,d) (p)->lpVtbl->OnResponse(p,a,b,c,d)
701 #endif
702
703 #endif
704
705 HRESULT CALLBACK IHttpNegotiate_BeginningTransaction_Proxy(
706 IHttpNegotiate* This,
707 LPCWSTR szURL,
708 LPCWSTR szHeaders,
709 DWORD dwReserved,
710 LPWSTR* pszAdditionalHeaders);
711 void __RPC_STUB IHttpNegotiate_BeginningTransaction_Stub(
712 IRpcStubBuffer* This,
713 IRpcChannelBuffer* pRpcChannelBuffer,
714 PRPC_MESSAGE pRpcMessage,
715 DWORD* pdwStubPhase);
716 HRESULT CALLBACK IHttpNegotiate_OnResponse_Proxy(
717 IHttpNegotiate* This,
718 DWORD dwResponseCode,
719 LPCWSTR szResponseHeaders,
720 LPCWSTR szRequestHeaders,
721 LPWSTR* pszAdditionalRequestHeaders);
722 void __RPC_STUB IHttpNegotiate_OnResponse_Stub(
723 IRpcStubBuffer* This,
724 IRpcChannelBuffer* pRpcChannelBuffer,
725 PRPC_MESSAGE pRpcMessage,
726 DWORD* pdwStubPhase);
727
728 #endif /* __IHttpNegotiate_INTERFACE_DEFINED__ */
729
730 #ifndef __IHttpNegotiate2_FWD_DEFINED__
731 #define __IHttpNegotiate2_FWD_DEFINED__
732 typedef interface IHttpNegotiate2 IHttpNegotiate2;
733 #endif
734
735 typedef IHttpNegotiate2 *LPHTTPNEGOTIATE2;
736 /*****************************************************************************
737 * IHttpNegotiate2 interface
738 */
739 #ifndef __IHttpNegotiate2_INTERFACE_DEFINED__
740 #define __IHttpNegotiate2_INTERFACE_DEFINED__
741
742 DEFINE_GUID(IID_IHttpNegotiate2, 0x4f9f9fcb, 0xe0f4, 0x48eb, 0xb7,0xab, 0xfa,0x2e,0xa9,0x36,0x5c,0xb4);
743 #if defined(__cplusplus) && !defined(CINTERFACE)
744 interface IHttpNegotiate2 : public IHttpNegotiate
745 {
746 virtual HRESULT STDMETHODCALLTYPE GetRootSecurityId(
747 BYTE* pbSecurityId,
748 DWORD* pcbSecurityId,
749 DWORD_PTR dwReserved) = 0;
750
751 };
752 #else
753 typedef struct IHttpNegotiate2Vtbl {
754 BEGIN_INTERFACE
755
756 /*** IUnknown methods ***/
757 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
758 IHttpNegotiate2* This,
759 REFIID riid,
760 void** ppvObject);
761
762 ULONG (STDMETHODCALLTYPE *AddRef)(
763 IHttpNegotiate2* This);
764
765 ULONG (STDMETHODCALLTYPE *Release)(
766 IHttpNegotiate2* This);
767
768 /*** IHttpNegotiate methods ***/
769 HRESULT (STDMETHODCALLTYPE *BeginningTransaction)(
770 IHttpNegotiate2* This,
771 LPCWSTR szURL,
772 LPCWSTR szHeaders,
773 DWORD dwReserved,
774 LPWSTR* pszAdditionalHeaders);
775
776 HRESULT (STDMETHODCALLTYPE *OnResponse)(
777 IHttpNegotiate2* This,
778 DWORD dwResponseCode,
779 LPCWSTR szResponseHeaders,
780 LPCWSTR szRequestHeaders,
781 LPWSTR* pszAdditionalRequestHeaders);
782
783 /*** IHttpNegotiate2 methods ***/
784 HRESULT (STDMETHODCALLTYPE *GetRootSecurityId)(
785 IHttpNegotiate2* This,
786 BYTE* pbSecurityId,
787 DWORD* pcbSecurityId,
788 DWORD_PTR dwReserved);
789
790 END_INTERFACE
791 } IHttpNegotiate2Vtbl;
792 interface IHttpNegotiate2 {
793 const IHttpNegotiate2Vtbl* lpVtbl;
794 };
795
796 #ifdef COBJMACROS
797 /*** IUnknown methods ***/
798 #define IHttpNegotiate2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
799 #define IHttpNegotiate2_AddRef(p) (p)->lpVtbl->AddRef(p)
800 #define IHttpNegotiate2_Release(p) (p)->lpVtbl->Release(p)
801 /*** IHttpNegotiate methods ***/
802 #define IHttpNegotiate2_BeginningTransaction(p,a,b,c,d) (p)->lpVtbl->BeginningTransaction(p,a,b,c,d)
803 #define IHttpNegotiate2_OnResponse(p,a,b,c,d) (p)->lpVtbl->OnResponse(p,a,b,c,d)
804 /*** IHttpNegotiate2 methods ***/
805 #define IHttpNegotiate2_GetRootSecurityId(p,a,b,c) (p)->lpVtbl->GetRootSecurityId(p,a,b,c)
806 #endif
807
808 #endif
809
810 HRESULT CALLBACK IHttpNegotiate2_GetRootSecurityId_Proxy(
811 IHttpNegotiate2* This,
812 BYTE* pbSecurityId,
813 DWORD* pcbSecurityId,
814 DWORD_PTR dwReserved);
815 void __RPC_STUB IHttpNegotiate2_GetRootSecurityId_Stub(
816 IRpcStubBuffer* This,
817 IRpcChannelBuffer* pRpcChannelBuffer,
818 PRPC_MESSAGE pRpcMessage,
819 DWORD* pdwStubPhase);
820
821 #endif /* __IHttpNegotiate2_INTERFACE_DEFINED__ */
822
823 #define SID_IBindHost IID_IBindHost
824 #define SID_SBindHost IID_IBindHost
825 #ifndef __IBindHost_FWD_DEFINED__
826 #define __IBindHost_FWD_DEFINED__
827 typedef interface IBindHost IBindHost;
828 #endif
829
830 typedef IBindHost *LPBINDHOST;
831 /*****************************************************************************
832 * IBindHost interface
833 */
834 #ifndef __IBindHost_INTERFACE_DEFINED__
835 #define __IBindHost_INTERFACE_DEFINED__
836
837 DEFINE_GUID(IID_IBindHost, 0xfc4801a1, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52);
838 #if defined(__cplusplus) && !defined(CINTERFACE)
839 interface IBindHost : public IUnknown
840 {
841 virtual HRESULT STDMETHODCALLTYPE CreateMoniker(
842 LPOLESTR szName,
843 IBindCtx* pBC,
844 IMoniker** ppmk,
845 DWORD dwReserved) = 0;
846
847 virtual HRESULT STDMETHODCALLTYPE MonikerBindToStorage(
848 IMoniker* pMk,
849 IBindCtx* pBC,
850 IBindStatusCallback* pBSC,
851 REFIID riid,
852 void** ppvObj) = 0;
853
854 virtual HRESULT STDMETHODCALLTYPE MonikerBindToObject(
855 IMoniker* pMk,
856 IBindCtx* pBC,
857 IBindStatusCallback* pBSC,
858 REFIID riid,
859 void** ppvObj) = 0;
860
861 };
862 #else
863 typedef struct IBindHostVtbl {
864 BEGIN_INTERFACE
865
866 /*** IUnknown methods ***/
867 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
868 IBindHost* This,
869 REFIID riid,
870 void** ppvObject);
871
872 ULONG (STDMETHODCALLTYPE *AddRef)(
873 IBindHost* This);
874
875 ULONG (STDMETHODCALLTYPE *Release)(
876 IBindHost* This);
877
878 /*** IBindHost methods ***/
879 HRESULT (STDMETHODCALLTYPE *CreateMoniker)(
880 IBindHost* This,
881 LPOLESTR szName,
882 IBindCtx* pBC,
883 IMoniker** ppmk,
884 DWORD dwReserved);
885
886 HRESULT (STDMETHODCALLTYPE *MonikerBindToStorage)(
887 IBindHost* This,
888 IMoniker* pMk,
889 IBindCtx* pBC,
890 IBindStatusCallback* pBSC,
891 REFIID riid,
892 void** ppvObj);
893
894 HRESULT (STDMETHODCALLTYPE *MonikerBindToObject)(
895 IBindHost* This,
896 IMoniker* pMk,
897 IBindCtx* pBC,
898 IBindStatusCallback* pBSC,
899 REFIID riid,
900 void** ppvObj);
901
902 END_INTERFACE
903 } IBindHostVtbl;
904 interface IBindHost {
905 const IBindHostVtbl* lpVtbl;
906 };
907
908 #ifdef COBJMACROS
909 /*** IUnknown methods ***/
910 #define IBindHost_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
911 #define IBindHost_AddRef(p) (p)->lpVtbl->AddRef(p)
912 #define IBindHost_Release(p) (p)->lpVtbl->Release(p)
913 /*** IBindHost methods ***/
914 #define IBindHost_CreateMoniker(p,a,b,c,d) (p)->lpVtbl->CreateMoniker(p,a,b,c,d)
915 #define IBindHost_MonikerBindToStorage(p,a,b,c,d,e) (p)->lpVtbl->MonikerBindToStorage(p,a,b,c,d,e)
916 #define IBindHost_MonikerBindToObject(p,a,b,c,d,e) (p)->lpVtbl->MonikerBindToObject(p,a,b,c,d,e)
917 #endif
918
919 #endif
920
921 HRESULT CALLBACK IBindHost_CreateMoniker_Proxy(
922 IBindHost* This,
923 LPOLESTR szName,
924 IBindCtx* pBC,
925 IMoniker** ppmk,
926 DWORD dwReserved);
927 void __RPC_STUB IBindHost_CreateMoniker_Stub(
928 IRpcStubBuffer* This,
929 IRpcChannelBuffer* pRpcChannelBuffer,
930 PRPC_MESSAGE pRpcMessage,
931 DWORD* pdwStubPhase);
932 HRESULT CALLBACK IBindHost_RemoteMonikerBindToStorage_Proxy(
933 IBindHost* This,
934 IMoniker* pMk,
935 IBindCtx* pBC,
936 IBindStatusCallback* pBSC,
937 REFIID riid,
938 IUnknown** ppvObj);
939 void __RPC_STUB IBindHost_RemoteMonikerBindToStorage_Stub(
940 IRpcStubBuffer* This,
941 IRpcChannelBuffer* pRpcChannelBuffer,
942 PRPC_MESSAGE pRpcMessage,
943 DWORD* pdwStubPhase);
944 HRESULT CALLBACK IBindHost_MonikerBindToStorage_Proxy(
945 IBindHost* This,
946 IMoniker* pMk,
947 IBindCtx* pBC,
948 IBindStatusCallback* pBSC,
949 REFIID riid,
950 void** ppvObj);
951 HRESULT __RPC_STUB IBindHost_MonikerBindToStorage_Stub(
952 IBindHost* This,
953 IMoniker* pMk,
954 IBindCtx* pBC,
955 IBindStatusCallback* pBSC,
956 REFIID riid,
957 IUnknown** ppvObj);
958 HRESULT CALLBACK IBindHost_RemoteMonikerBindToObject_Proxy(
959 IBindHost* This,
960 IMoniker* pMk,
961 IBindCtx* pBC,
962 IBindStatusCallback* pBSC,
963 REFIID riid,
964 IUnknown** ppvObj);
965 void __RPC_STUB IBindHost_RemoteMonikerBindToObject_Stub(
966 IRpcStubBuffer* This,
967 IRpcChannelBuffer* pRpcChannelBuffer,
968 PRPC_MESSAGE pRpcMessage,
969 DWORD* pdwStubPhase);
970 HRESULT CALLBACK IBindHost_MonikerBindToObject_Proxy(
971 IBindHost* This,
972 IMoniker* pMk,
973 IBindCtx* pBC,
974 IBindStatusCallback* pBSC,
975 REFIID riid,
976 void** ppvObj);
977 HRESULT __RPC_STUB IBindHost_MonikerBindToObject_Stub(
978 IBindHost* This,
979 IMoniker* pMk,
980 IBindCtx* pBC,
981 IBindStatusCallback* pBSC,
982 REFIID riid,
983 IUnknown** ppvObj);
984
985 #endif /* __IBindHost_INTERFACE_DEFINED__ */
986
987 #ifndef __IWinInetInfo_FWD_DEFINED__
988 #define __IWinInetInfo_FWD_DEFINED__
989 typedef interface IWinInetInfo IWinInetInfo;
990 #endif
991
992 typedef IWinInetInfo *LPWININETINFO;
993 /*****************************************************************************
994 * IWinInetInfo interface
995 */
996 #ifndef __IWinInetInfo_INTERFACE_DEFINED__
997 #define __IWinInetInfo_INTERFACE_DEFINED__
998
999 DEFINE_GUID(IID_IWinInetInfo, 0x79eac9d6, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1000 #if defined(__cplusplus) && !defined(CINTERFACE)
1001 interface IWinInetInfo : public IUnknown
1002 {
1003 virtual HRESULT STDMETHODCALLTYPE QueryOption(
1004 DWORD dwOption,
1005 LPVOID pBuffer,
1006 DWORD* pcbBuf) = 0;
1007
1008 };
1009 #else
1010 typedef struct IWinInetInfoVtbl {
1011 BEGIN_INTERFACE
1012
1013 /*** IUnknown methods ***/
1014 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1015 IWinInetInfo* This,
1016 REFIID riid,
1017 void** ppvObject);
1018
1019 ULONG (STDMETHODCALLTYPE *AddRef)(
1020 IWinInetInfo* This);
1021
1022 ULONG (STDMETHODCALLTYPE *Release)(
1023 IWinInetInfo* This);
1024
1025 /*** IWinInetInfo methods ***/
1026 HRESULT (STDMETHODCALLTYPE *QueryOption)(
1027 IWinInetInfo* This,
1028 DWORD dwOption,
1029 LPVOID pBuffer,
1030 DWORD* pcbBuf);
1031
1032 END_INTERFACE
1033 } IWinInetInfoVtbl;
1034 interface IWinInetInfo {
1035 const IWinInetInfoVtbl* lpVtbl;
1036 };
1037
1038 #ifdef COBJMACROS
1039 /*** IUnknown methods ***/
1040 #define IWinInetInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1041 #define IWinInetInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1042 #define IWinInetInfo_Release(p) (p)->lpVtbl->Release(p)
1043 /*** IWinInetInfo methods ***/
1044 #define IWinInetInfo_QueryOption(p,a,b,c) (p)->lpVtbl->QueryOption(p,a,b,c)
1045 #endif
1046
1047 #endif
1048
1049 HRESULT CALLBACK IWinInetInfo_RemoteQueryOption_Proxy(
1050 IWinInetInfo* This,
1051 DWORD dwOption,
1052 BYTE* pBuffer,
1053 DWORD* pcbBuf);
1054 void __RPC_STUB IWinInetInfo_RemoteQueryOption_Stub(
1055 IRpcStubBuffer* This,
1056 IRpcChannelBuffer* pRpcChannelBuffer,
1057 PRPC_MESSAGE pRpcMessage,
1058 DWORD* pdwStubPhase);
1059 HRESULT CALLBACK IWinInetInfo_QueryOption_Proxy(
1060 IWinInetInfo* This,
1061 DWORD dwOption,
1062 LPVOID pBuffer,
1063 DWORD* pcbBuf);
1064 HRESULT __RPC_STUB IWinInetInfo_QueryOption_Stub(
1065 IWinInetInfo* This,
1066 DWORD dwOption,
1067 BYTE* pBuffer,
1068 DWORD* pcbBuf);
1069
1070 #endif /* __IWinInetInfo_INTERFACE_DEFINED__ */
1071
1072 #ifndef __IWinInetHttpInfo_FWD_DEFINED__
1073 #define __IWinInetHttpInfo_FWD_DEFINED__
1074 typedef interface IWinInetHttpInfo IWinInetHttpInfo;
1075 #endif
1076
1077 typedef IWinInetHttpInfo *LPWININETHTTPINFO;
1078 /*****************************************************************************
1079 * IWinInetHttpInfo interface
1080 */
1081 #ifndef __IWinInetHttpInfo_INTERFACE_DEFINED__
1082 #define __IWinInetHttpInfo_INTERFACE_DEFINED__
1083
1084 DEFINE_GUID(IID_IWinInetHttpInfo, 0x79eac9d8, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1085 #if defined(__cplusplus) && !defined(CINTERFACE)
1086 interface IWinInetHttpInfo : public IWinInetInfo
1087 {
1088 virtual HRESULT STDMETHODCALLTYPE QueryInfo(
1089 DWORD dwOption,
1090 LPVOID pBuffer,
1091 DWORD* pcbBuf,
1092 DWORD* pdwFlags,
1093 DWORD* pdwReserved) = 0;
1094
1095 };
1096 #else
1097 typedef struct IWinInetHttpInfoVtbl {
1098 BEGIN_INTERFACE
1099
1100 /*** IUnknown methods ***/
1101 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1102 IWinInetHttpInfo* This,
1103 REFIID riid,
1104 void** ppvObject);
1105
1106 ULONG (STDMETHODCALLTYPE *AddRef)(
1107 IWinInetHttpInfo* This);
1108
1109 ULONG (STDMETHODCALLTYPE *Release)(
1110 IWinInetHttpInfo* This);
1111
1112 /*** IWinInetInfo methods ***/
1113 HRESULT (STDMETHODCALLTYPE *QueryOption)(
1114 IWinInetHttpInfo* This,
1115 DWORD dwOption,
1116 LPVOID pBuffer,
1117 DWORD* pcbBuf);
1118
1119 /*** IWinInetHttpInfo methods ***/
1120 HRESULT (STDMETHODCALLTYPE *QueryInfo)(
1121 IWinInetHttpInfo* This,
1122 DWORD dwOption,
1123 LPVOID pBuffer,
1124 DWORD* pcbBuf,
1125 DWORD* pdwFlags,
1126 DWORD* pdwReserved);
1127
1128 END_INTERFACE
1129 } IWinInetHttpInfoVtbl;
1130 interface IWinInetHttpInfo {
1131 const IWinInetHttpInfoVtbl* lpVtbl;
1132 };
1133
1134 #ifdef COBJMACROS
1135 /*** IUnknown methods ***/
1136 #define IWinInetHttpInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1137 #define IWinInetHttpInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1138 #define IWinInetHttpInfo_Release(p) (p)->lpVtbl->Release(p)
1139 /*** IWinInetInfo methods ***/
1140 #define IWinInetHttpInfo_QueryOption(p,a,b,c) (p)->lpVtbl->QueryOption(p,a,b,c)
1141 /*** IWinInetHttpInfo methods ***/
1142 #define IWinInetHttpInfo_QueryInfo(p,a,b,c,d,e) (p)->lpVtbl->QueryInfo(p,a,b,c,d,e)
1143 #endif
1144
1145 #endif
1146
1147 HRESULT CALLBACK IWinInetHttpInfo_RemoteQueryInfo_Proxy(
1148 IWinInetHttpInfo* This,
1149 DWORD dwOption,
1150 BYTE* pBuffer,
1151 DWORD* pcbBuf,
1152 DWORD* pdwFlags,
1153 DWORD* pdwReserved);
1154 void __RPC_STUB IWinInetHttpInfo_RemoteQueryInfo_Stub(
1155 IRpcStubBuffer* This,
1156 IRpcChannelBuffer* pRpcChannelBuffer,
1157 PRPC_MESSAGE pRpcMessage,
1158 DWORD* pdwStubPhase);
1159 HRESULT CALLBACK IWinInetHttpInfo_QueryInfo_Proxy(
1160 IWinInetHttpInfo* This,
1161 DWORD dwOption,
1162 LPVOID pBuffer,
1163 DWORD* pcbBuf,
1164 DWORD* pdwFlags,
1165 DWORD* pdwReserved);
1166 HRESULT __RPC_STUB IWinInetHttpInfo_QueryInfo_Stub(
1167 IWinInetHttpInfo* This,
1168 DWORD dwOption,
1169 BYTE* pBuffer,
1170 DWORD* pcbBuf,
1171 DWORD* pdwFlags,
1172 DWORD* pdwReserved);
1173
1174 #endif /* __IWinInetHttpInfo_INTERFACE_DEFINED__ */
1175
1176 #ifndef __IPersistMoniker_FWD_DEFINED__
1177 #define __IPersistMoniker_FWD_DEFINED__
1178 typedef interface IPersistMoniker IPersistMoniker;
1179 #endif
1180
1181 typedef IPersistMoniker *LPPERSISTMONIKER;
1182 /*****************************************************************************
1183 * IPersistMoniker interface
1184 */
1185 #ifndef __IPersistMoniker_INTERFACE_DEFINED__
1186 #define __IPersistMoniker_INTERFACE_DEFINED__
1187
1188 DEFINE_GUID(IID_IPersistMoniker, 0x79eac9c9, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1189 #if defined(__cplusplus) && !defined(CINTERFACE)
1190 interface IPersistMoniker : public IUnknown
1191 {
1192 virtual HRESULT STDMETHODCALLTYPE GetClassID(
1193 CLSID* pClassID) = 0;
1194
1195 virtual HRESULT STDMETHODCALLTYPE IsDirty(
1196 ) = 0;
1197
1198 virtual HRESULT STDMETHODCALLTYPE Load(
1199 BOOL fFullyAvailable,
1200 IMoniker* pimkName,
1201 LPBC pibc,
1202 DWORD grfMode) = 0;
1203
1204 virtual HRESULT STDMETHODCALLTYPE Save(
1205 IMoniker* pimkName,
1206 LPBC pbc,
1207 BOOL fRemember) = 0;
1208
1209 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
1210 IMoniker* pimkName,
1211 LPBC pibc) = 0;
1212
1213 virtual HRESULT STDMETHODCALLTYPE GetCurMoniker(
1214 IMoniker** ppimkName) = 0;
1215
1216 };
1217 #else
1218 typedef struct IPersistMonikerVtbl {
1219 BEGIN_INTERFACE
1220
1221 /*** IUnknown methods ***/
1222 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1223 IPersistMoniker* This,
1224 REFIID riid,
1225 void** ppvObject);
1226
1227 ULONG (STDMETHODCALLTYPE *AddRef)(
1228 IPersistMoniker* This);
1229
1230 ULONG (STDMETHODCALLTYPE *Release)(
1231 IPersistMoniker* This);
1232
1233 /*** IPersistMoniker methods ***/
1234 HRESULT (STDMETHODCALLTYPE *GetClassID)(
1235 IPersistMoniker* This,
1236 CLSID* pClassID);
1237
1238 HRESULT (STDMETHODCALLTYPE *IsDirty)(
1239 IPersistMoniker* This);
1240
1241 HRESULT (STDMETHODCALLTYPE *Load)(
1242 IPersistMoniker* This,
1243 BOOL fFullyAvailable,
1244 IMoniker* pimkName,
1245 LPBC pibc,
1246 DWORD grfMode);
1247
1248 HRESULT (STDMETHODCALLTYPE *Save)(
1249 IPersistMoniker* This,
1250 IMoniker* pimkName,
1251 LPBC pbc,
1252 BOOL fRemember);
1253
1254 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
1255 IPersistMoniker* This,
1256 IMoniker* pimkName,
1257 LPBC pibc);
1258
1259 HRESULT (STDMETHODCALLTYPE *GetCurMoniker)(
1260 IPersistMoniker* This,
1261 IMoniker** ppimkName);
1262
1263 END_INTERFACE
1264 } IPersistMonikerVtbl;
1265 interface IPersistMoniker {
1266 const IPersistMonikerVtbl* lpVtbl;
1267 };
1268
1269 #ifdef COBJMACROS
1270 /*** IUnknown methods ***/
1271 #define IPersistMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1272 #define IPersistMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
1273 #define IPersistMoniker_Release(p) (p)->lpVtbl->Release(p)
1274 /*** IPersistMoniker methods ***/
1275 #define IPersistMoniker_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
1276 #define IPersistMoniker_IsDirty(p) (p)->lpVtbl->IsDirty(p)
1277 #define IPersistMoniker_Load(p,a,b,c,d) (p)->lpVtbl->Load(p,a,b,c,d)
1278 #define IPersistMoniker_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1279 #define IPersistMoniker_SaveCompleted(p,a,b) (p)->lpVtbl->SaveCompleted(p,a,b)
1280 #define IPersistMoniker_GetCurMoniker(p,a) (p)->lpVtbl->GetCurMoniker(p,a)
1281 #endif
1282
1283 #endif
1284
1285 HRESULT CALLBACK IPersistMoniker_GetClassID_Proxy(
1286 IPersistMoniker* This,
1287 CLSID* pClassID);
1288 void __RPC_STUB IPersistMoniker_GetClassID_Stub(
1289 IRpcStubBuffer* This,
1290 IRpcChannelBuffer* pRpcChannelBuffer,
1291 PRPC_MESSAGE pRpcMessage,
1292 DWORD* pdwStubPhase);
1293 HRESULT CALLBACK IPersistMoniker_IsDirty_Proxy(
1294 IPersistMoniker* This);
1295 void __RPC_STUB IPersistMoniker_IsDirty_Stub(
1296 IRpcStubBuffer* This,
1297 IRpcChannelBuffer* pRpcChannelBuffer,
1298 PRPC_MESSAGE pRpcMessage,
1299 DWORD* pdwStubPhase);
1300 HRESULT CALLBACK IPersistMoniker_Load_Proxy(
1301 IPersistMoniker* This,
1302 BOOL fFullyAvailable,
1303 IMoniker* pimkName,
1304 LPBC pibc,
1305 DWORD grfMode);
1306 void __RPC_STUB IPersistMoniker_Load_Stub(
1307 IRpcStubBuffer* This,
1308 IRpcChannelBuffer* pRpcChannelBuffer,
1309 PRPC_MESSAGE pRpcMessage,
1310 DWORD* pdwStubPhase);
1311 HRESULT CALLBACK IPersistMoniker_Save_Proxy(
1312 IPersistMoniker* This,
1313 IMoniker* pimkName,
1314 LPBC pbc,
1315 BOOL fRemember);
1316 void __RPC_STUB IPersistMoniker_Save_Stub(
1317 IRpcStubBuffer* This,
1318 IRpcChannelBuffer* pRpcChannelBuffer,
1319 PRPC_MESSAGE pRpcMessage,
1320 DWORD* pdwStubPhase);
1321 HRESULT CALLBACK IPersistMoniker_SaveCompleted_Proxy(
1322 IPersistMoniker* This,
1323 IMoniker* pimkName,
1324 LPBC pibc);
1325 void __RPC_STUB IPersistMoniker_SaveCompleted_Stub(
1326 IRpcStubBuffer* This,
1327 IRpcChannelBuffer* pRpcChannelBuffer,
1328 PRPC_MESSAGE pRpcMessage,
1329 DWORD* pdwStubPhase);
1330 HRESULT CALLBACK IPersistMoniker_GetCurMoniker_Proxy(
1331 IPersistMoniker* This,
1332 IMoniker** ppimkName);
1333 void __RPC_STUB IPersistMoniker_GetCurMoniker_Stub(
1334 IRpcStubBuffer* This,
1335 IRpcChannelBuffer* pRpcChannelBuffer,
1336 PRPC_MESSAGE pRpcMessage,
1337 DWORD* pdwStubPhase);
1338
1339 #endif /* __IPersistMoniker_INTERFACE_DEFINED__ */
1340
1341 #ifndef __IMonikerProp_FWD_DEFINED__
1342 #define __IMonikerProp_FWD_DEFINED__
1343 typedef interface IMonikerProp IMonikerProp;
1344 #endif
1345
1346 typedef IMonikerProp *LPMONIKERPROP;
1347 typedef enum {
1348 MIMETYPEPROP = 0x0,
1349 USE_SRC_URL = 0x1
1350 } MONIKERPROPERTY;
1351 /*****************************************************************************
1352 * IMonikerProp interface
1353 */
1354 #ifndef __IMonikerProp_INTERFACE_DEFINED__
1355 #define __IMonikerProp_INTERFACE_DEFINED__
1356
1357 DEFINE_GUID(IID_IMonikerProp, 0xa5ca5f7f, 0x1847, 0x4d87, 0x9c,0x5b, 0x91,0x85,0x09,0xf7,0x51,0x1d);
1358 #if defined(__cplusplus) && !defined(CINTERFACE)
1359 interface IMonikerProp : public IUnknown
1360 {
1361 virtual HRESULT STDMETHODCALLTYPE PutProperty(
1362 MONIKERPROPERTY mkp,
1363 LPCWSTR val) = 0;
1364
1365 };
1366 #else
1367 typedef struct IMonikerPropVtbl {
1368 BEGIN_INTERFACE
1369
1370 /*** IUnknown methods ***/
1371 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1372 IMonikerProp* This,
1373 REFIID riid,
1374 void** ppvObject);
1375
1376 ULONG (STDMETHODCALLTYPE *AddRef)(
1377 IMonikerProp* This);
1378
1379 ULONG (STDMETHODCALLTYPE *Release)(
1380 IMonikerProp* This);
1381
1382 /*** IMonikerProp methods ***/
1383 HRESULT (STDMETHODCALLTYPE *PutProperty)(
1384 IMonikerProp* This,
1385 MONIKERPROPERTY mkp,
1386 LPCWSTR val);
1387
1388 END_INTERFACE
1389 } IMonikerPropVtbl;
1390 interface IMonikerProp {
1391 const IMonikerPropVtbl* lpVtbl;
1392 };
1393
1394 #ifdef COBJMACROS
1395 /*** IUnknown methods ***/
1396 #define IMonikerProp_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1397 #define IMonikerProp_AddRef(p) (p)->lpVtbl->AddRef(p)
1398 #define IMonikerProp_Release(p) (p)->lpVtbl->Release(p)
1399 /*** IMonikerProp methods ***/
1400 #define IMonikerProp_PutProperty(p,a,b) (p)->lpVtbl->PutProperty(p,a,b)
1401 #endif
1402
1403 #endif
1404
1405 HRESULT CALLBACK IMonikerProp_PutProperty_Proxy(
1406 IMonikerProp* This,
1407 MONIKERPROPERTY mkp,
1408 LPCWSTR val);
1409 void __RPC_STUB IMonikerProp_PutProperty_Stub(
1410 IRpcStubBuffer* This,
1411 IRpcChannelBuffer* pRpcChannelBuffer,
1412 PRPC_MESSAGE pRpcMessage,
1413 DWORD* pdwStubPhase);
1414
1415 #endif /* __IMonikerProp_INTERFACE_DEFINED__ */
1416
1417 #ifndef __IInternetBindInfo_FWD_DEFINED__
1418 #define __IInternetBindInfo_FWD_DEFINED__
1419 typedef interface IInternetBindInfo IInternetBindInfo;
1420 #endif
1421
1422 typedef IInternetBindInfo *LPIINTERNETBINDINFO;
1423 typedef enum tagBINDSTRING {
1424 BINDSTRING_HEADERS = 1,
1425 BINDSTRING_ACCEPT_MIMES,
1426 BINDSTRING_EXTRA_URL,
1427 BINDSTRING_LANGUAGE,
1428 BINDSTRING_USERNAME,
1429 BINDSTRING_PASSWORD,
1430 BINDSTRING_UA_PIXELS,
1431 BINDSTRING_UA_COLOR,
1432 BINDSTRING_OS,
1433 BINDSTRING_USER_AGENT,
1434 BINDSTRING_ACCEPT_ENCODINGS,
1435 BINDSTRING_POST_COOKIE,
1436 BINDSTRING_POST_DATA_MIME,
1437 BINDSTRING_URL,
1438 BINDSTRING_IID,
1439 BINDSTRING_FLAG_BIND_TO_OBJECT,
1440 BINDSTRING_PTR_BIND_CONTEXT
1441 } BINDSTRING;
1442 /*****************************************************************************
1443 * IInternetBindInfo interface
1444 */
1445 #ifndef __IInternetBindInfo_INTERFACE_DEFINED__
1446 #define __IInternetBindInfo_INTERFACE_DEFINED__
1447
1448 DEFINE_GUID(IID_IInternetBindInfo, 0x79eac9e1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1449 #if defined(__cplusplus) && !defined(CINTERFACE)
1450 interface IInternetBindInfo : public IUnknown
1451 {
1452 virtual HRESULT STDMETHODCALLTYPE GetBindInfo(
1453 DWORD* grfBINDF,
1454 BINDINFO* pbindinfo) = 0;
1455
1456 virtual HRESULT STDMETHODCALLTYPE GetBindString(
1457 ULONG ulStringType,
1458 LPOLESTR* ppwzStr,
1459 ULONG cEl,
1460 ULONG* pcElFetched) = 0;
1461
1462 };
1463 #else
1464 typedef struct IInternetBindInfoVtbl {
1465 BEGIN_INTERFACE
1466
1467 /*** IUnknown methods ***/
1468 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1469 IInternetBindInfo* This,
1470 REFIID riid,
1471 void** ppvObject);
1472
1473 ULONG (STDMETHODCALLTYPE *AddRef)(
1474 IInternetBindInfo* This);
1475
1476 ULONG (STDMETHODCALLTYPE *Release)(
1477 IInternetBindInfo* This);
1478
1479 /*** IInternetBindInfo methods ***/
1480 HRESULT (STDMETHODCALLTYPE *GetBindInfo)(
1481 IInternetBindInfo* This,
1482 DWORD* grfBINDF,
1483 BINDINFO* pbindinfo);
1484
1485 HRESULT (STDMETHODCALLTYPE *GetBindString)(
1486 IInternetBindInfo* This,
1487 ULONG ulStringType,
1488 LPOLESTR* ppwzStr,
1489 ULONG cEl,
1490 ULONG* pcElFetched);
1491
1492 END_INTERFACE
1493 } IInternetBindInfoVtbl;
1494 interface IInternetBindInfo {
1495 const IInternetBindInfoVtbl* lpVtbl;
1496 };
1497
1498 #ifdef COBJMACROS
1499 /*** IUnknown methods ***/
1500 #define IInternetBindInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1501 #define IInternetBindInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1502 #define IInternetBindInfo_Release(p) (p)->lpVtbl->Release(p)
1503 /*** IInternetBindInfo methods ***/
1504 #define IInternetBindInfo_GetBindInfo(p,a,b) (p)->lpVtbl->GetBindInfo(p,a,b)
1505 #define IInternetBindInfo_GetBindString(p,a,b,c,d) (p)->lpVtbl->GetBindString(p,a,b,c,d)
1506 #endif
1507
1508 #endif
1509
1510 HRESULT CALLBACK IInternetBindInfo_GetBindInfo_Proxy(
1511 IInternetBindInfo* This,
1512 DWORD* grfBINDF,
1513 BINDINFO* pbindinfo);
1514 void __RPC_STUB IInternetBindInfo_GetBindInfo_Stub(
1515 IRpcStubBuffer* This,
1516 IRpcChannelBuffer* pRpcChannelBuffer,
1517 PRPC_MESSAGE pRpcMessage,
1518 DWORD* pdwStubPhase);
1519 HRESULT CALLBACK IInternetBindInfo_GetBindString_Proxy(
1520 IInternetBindInfo* This,
1521 ULONG ulStringType,
1522 LPOLESTR* ppwzStr,
1523 ULONG cEl,
1524 ULONG* pcElFetched);
1525 void __RPC_STUB IInternetBindInfo_GetBindString_Stub(
1526 IRpcStubBuffer* This,
1527 IRpcChannelBuffer* pRpcChannelBuffer,
1528 PRPC_MESSAGE pRpcMessage,
1529 DWORD* pdwStubPhase);
1530
1531 #endif /* __IInternetBindInfo_INTERFACE_DEFINED__ */
1532
1533 #ifndef __IInternetPriority_FWD_DEFINED__
1534 #define __IInternetPriority_FWD_DEFINED__
1535 typedef interface IInternetPriority IInternetPriority;
1536 #endif
1537
1538 typedef IInternetPriority *LPIINTERNETPRIORITY;
1539 /*****************************************************************************
1540 * IInternetPriority interface
1541 */
1542 #ifndef __IInternetPriority_INTERFACE_DEFINED__
1543 #define __IInternetPriority_INTERFACE_DEFINED__
1544
1545 DEFINE_GUID(IID_IInternetPriority, 0x79eac9eb, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1546 #if defined(__cplusplus) && !defined(CINTERFACE)
1547 interface IInternetPriority : public IUnknown
1548 {
1549 virtual HRESULT STDMETHODCALLTYPE SetPriority(
1550 LONG nPriority) = 0;
1551
1552 virtual HRESULT STDMETHODCALLTYPE GetPriority(
1553 LONG* pnPriority) = 0;
1554
1555 };
1556 #else
1557 typedef struct IInternetPriorityVtbl {
1558 BEGIN_INTERFACE
1559
1560 /*** IUnknown methods ***/
1561 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1562 IInternetPriority* This,
1563 REFIID riid,
1564 void** ppvObject);
1565
1566 ULONG (STDMETHODCALLTYPE *AddRef)(
1567 IInternetPriority* This);
1568
1569 ULONG (STDMETHODCALLTYPE *Release)(
1570 IInternetPriority* This);
1571
1572 /*** IInternetPriority methods ***/
1573 HRESULT (STDMETHODCALLTYPE *SetPriority)(
1574 IInternetPriority* This,
1575 LONG nPriority);
1576
1577 HRESULT (STDMETHODCALLTYPE *GetPriority)(
1578 IInternetPriority* This,
1579 LONG* pnPriority);
1580
1581 END_INTERFACE
1582 } IInternetPriorityVtbl;
1583 interface IInternetPriority {
1584 const IInternetPriorityVtbl* lpVtbl;
1585 };
1586
1587 #ifdef COBJMACROS
1588 /*** IUnknown methods ***/
1589 #define IInternetPriority_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1590 #define IInternetPriority_AddRef(p) (p)->lpVtbl->AddRef(p)
1591 #define IInternetPriority_Release(p) (p)->lpVtbl->Release(p)
1592 /*** IInternetPriority methods ***/
1593 #define IInternetPriority_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
1594 #define IInternetPriority_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a)
1595 #endif
1596
1597 #endif
1598
1599 HRESULT CALLBACK IInternetPriority_SetPriority_Proxy(
1600 IInternetPriority* This,
1601 LONG nPriority);
1602 void __RPC_STUB IInternetPriority_SetPriority_Stub(
1603 IRpcStubBuffer* This,
1604 IRpcChannelBuffer* pRpcChannelBuffer,
1605 PRPC_MESSAGE pRpcMessage,
1606 DWORD* pdwStubPhase);
1607 HRESULT CALLBACK IInternetPriority_GetPriority_Proxy(
1608 IInternetPriority* This,
1609 LONG* pnPriority);
1610 void __RPC_STUB IInternetPriority_GetPriority_Stub(
1611 IRpcStubBuffer* This,
1612 IRpcChannelBuffer* pRpcChannelBuffer,
1613 PRPC_MESSAGE pRpcMessage,
1614 DWORD* pdwStubPhase);
1615
1616 #endif /* __IInternetPriority_INTERFACE_DEFINED__ */
1617
1618 #ifndef __IInternetProtocolRoot_FWD_DEFINED__
1619 #define __IInternetProtocolRoot_FWD_DEFINED__
1620 typedef interface IInternetProtocolRoot IInternetProtocolRoot;
1621 #endif
1622
1623 typedef IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT;
1624 typedef enum _tagPI_FLAGS {
1625 PI_PARSE_URL = 0x1,
1626 PI_FILTER_MODE = 0x2,
1627 PI_FORCE_ASYNC = 0x4,
1628 PI_USE_WORKERTHREAD = 0x8,
1629 PI_MIMEVERIFICATION = 0x10,
1630 PI_CLSIDLOOKUP = 0x20,
1631 PI_DATAPROGRESS = 0x40,
1632 PI_SYNCHRONOUS = 0x80,
1633 PI_APARTMENTTHREADED = 0x100,
1634 PI_CLASSINSTALL = 0x200,
1635 PD_FORCE_SWITCH = 0x10000
1636 } PI_FLAGS;
1637 typedef struct _tagPROTOCOLDATA {
1638 DWORD grfFlags;
1639 DWORD dwState;
1640 LPVOID pData;
1641 ULONG cbData;
1642 } PROTOCOLDATA;
1643 /*****************************************************************************
1644 * IInternetProtocolRoot interface
1645 */
1646 #ifndef __IInternetProtocolRoot_INTERFACE_DEFINED__
1647 #define __IInternetProtocolRoot_INTERFACE_DEFINED__
1648
1649 DEFINE_GUID(IID_IInternetProtocolRoot, 0x79eac9e3, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1650 #if defined(__cplusplus) && !defined(CINTERFACE)
1651 interface IInternetProtocolRoot : public IUnknown
1652 {
1653 virtual HRESULT STDMETHODCALLTYPE Start(
1654 LPCWSTR szUrl,
1655 IInternetProtocolSink* pOIProtSink,
1656 IInternetBindInfo* pOIBindInfo,
1657 DWORD grfPI,
1658 DWORD dwReserved) = 0;
1659
1660 virtual HRESULT STDMETHODCALLTYPE Continue(
1661 PROTOCOLDATA* pProtocolData) = 0;
1662
1663 virtual HRESULT STDMETHODCALLTYPE Abort(
1664 HRESULT hrReason,
1665 DWORD dwOptions) = 0;
1666
1667 virtual HRESULT STDMETHODCALLTYPE Terminate(
1668 DWORD dwOptions) = 0;
1669
1670 virtual HRESULT STDMETHODCALLTYPE Suspend(
1671 ) = 0;
1672
1673 virtual HRESULT STDMETHODCALLTYPE Resume(
1674 ) = 0;
1675
1676 };
1677 #else
1678 typedef struct IInternetProtocolRootVtbl {
1679 BEGIN_INTERFACE
1680
1681 /*** IUnknown methods ***/
1682 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1683 IInternetProtocolRoot* This,
1684 REFIID riid,
1685 void** ppvObject);
1686
1687 ULONG (STDMETHODCALLTYPE *AddRef)(
1688 IInternetProtocolRoot* This);
1689
1690 ULONG (STDMETHODCALLTYPE *Release)(
1691 IInternetProtocolRoot* This);
1692
1693 /*** IInternetProtocolRoot methods ***/
1694 HRESULT (STDMETHODCALLTYPE *Start)(
1695 IInternetProtocolRoot* This,
1696 LPCWSTR szUrl,
1697 IInternetProtocolSink* pOIProtSink,
1698 IInternetBindInfo* pOIBindInfo,
1699 DWORD grfPI,
1700 DWORD dwReserved);
1701
1702 HRESULT (STDMETHODCALLTYPE *Continue)(
1703 IInternetProtocolRoot* This,
1704 PROTOCOLDATA* pProtocolData);
1705
1706 HRESULT (STDMETHODCALLTYPE *Abort)(
1707 IInternetProtocolRoot* This,
1708 HRESULT hrReason,
1709 DWORD dwOptions);
1710
1711 HRESULT (STDMETHODCALLTYPE *Terminate)(
1712 IInternetProtocolRoot* This,
1713 DWORD dwOptions);
1714
1715 HRESULT (STDMETHODCALLTYPE *Suspend)(
1716 IInternetProtocolRoot* This);
1717
1718 HRESULT (STDMETHODCALLTYPE *Resume)(
1719 IInternetProtocolRoot* This);
1720
1721 END_INTERFACE
1722 } IInternetProtocolRootVtbl;
1723 interface IInternetProtocolRoot {
1724 const IInternetProtocolRootVtbl* lpVtbl;
1725 };
1726
1727 #ifdef COBJMACROS
1728 /*** IUnknown methods ***/
1729 #define IInternetProtocolRoot_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1730 #define IInternetProtocolRoot_AddRef(p) (p)->lpVtbl->AddRef(p)
1731 #define IInternetProtocolRoot_Release(p) (p)->lpVtbl->Release(p)
1732 /*** IInternetProtocolRoot methods ***/
1733 #define IInternetProtocolRoot_Start(p,a,b,c,d,e) (p)->lpVtbl->Start(p,a,b,c,d,e)
1734 #define IInternetProtocolRoot_Continue(p,a) (p)->lpVtbl->Continue(p,a)
1735 #define IInternetProtocolRoot_Abort(p,a,b) (p)->lpVtbl->Abort(p,a,b)
1736 #define IInternetProtocolRoot_Terminate(p,a) (p)->lpVtbl->Terminate(p,a)
1737 #define IInternetProtocolRoot_Suspend(p) (p)->lpVtbl->Suspend(p)
1738 #define IInternetProtocolRoot_Resume(p) (p)->lpVtbl->Resume(p)
1739 #endif
1740
1741 #endif
1742
1743 HRESULT CALLBACK IInternetProtocolRoot_Start_Proxy(
1744 IInternetProtocolRoot* This,
1745 LPCWSTR szUrl,
1746 IInternetProtocolSink* pOIProtSink,
1747 IInternetBindInfo* pOIBindInfo,
1748 DWORD grfPI,
1749 DWORD dwReserved);
1750 void __RPC_STUB IInternetProtocolRoot_Start_Stub(
1751 IRpcStubBuffer* This,
1752 IRpcChannelBuffer* pRpcChannelBuffer,
1753 PRPC_MESSAGE pRpcMessage,
1754 DWORD* pdwStubPhase);
1755 HRESULT CALLBACK IInternetProtocolRoot_Continue_Proxy(
1756 IInternetProtocolRoot* This,
1757 PROTOCOLDATA* pProtocolData);
1758 void __RPC_STUB IInternetProtocolRoot_Continue_Stub(
1759 IRpcStubBuffer* This,
1760 IRpcChannelBuffer* pRpcChannelBuffer,
1761 PRPC_MESSAGE pRpcMessage,
1762 DWORD* pdwStubPhase);
1763 HRESULT CALLBACK IInternetProtocolRoot_Abort_Proxy(
1764 IInternetProtocolRoot* This,
1765 HRESULT hrReason,
1766 DWORD dwOptions);
1767 void __RPC_STUB IInternetProtocolRoot_Abort_Stub(
1768 IRpcStubBuffer* This,
1769 IRpcChannelBuffer* pRpcChannelBuffer,
1770 PRPC_MESSAGE pRpcMessage,
1771 DWORD* pdwStubPhase);
1772 HRESULT CALLBACK IInternetProtocolRoot_Terminate_Proxy(
1773 IInternetProtocolRoot* This,
1774 DWORD dwOptions);
1775 void __RPC_STUB IInternetProtocolRoot_Terminate_Stub(
1776 IRpcStubBuffer* This,
1777 IRpcChannelBuffer* pRpcChannelBuffer,
1778 PRPC_MESSAGE pRpcMessage,
1779 DWORD* pdwStubPhase);
1780 HRESULT CALLBACK IInternetProtocolRoot_Suspend_Proxy(
1781 IInternetProtocolRoot* This);
1782 void __RPC_STUB IInternetProtocolRoot_Suspend_Stub(
1783 IRpcStubBuffer* This,
1784 IRpcChannelBuffer* pRpcChannelBuffer,
1785 PRPC_MESSAGE pRpcMessage,
1786 DWORD* pdwStubPhase);
1787 HRESULT CALLBACK IInternetProtocolRoot_Resume_Proxy(
1788 IInternetProtocolRoot* This);
1789 void __RPC_STUB IInternetProtocolRoot_Resume_Stub(
1790 IRpcStubBuffer* This,
1791 IRpcChannelBuffer* pRpcChannelBuffer,
1792 PRPC_MESSAGE pRpcMessage,
1793 DWORD* pdwStubPhase);
1794
1795 #endif /* __IInternetProtocolRoot_INTERFACE_DEFINED__ */
1796
1797 typedef IInternetProtocolSink *LPIINTERNETPROTOCOLSINK;
1798 /*****************************************************************************
1799 * IInternetProtocolSink interface
1800 */
1801 #ifndef __IInternetProtocolSink_INTERFACE_DEFINED__
1802 #define __IInternetProtocolSink_INTERFACE_DEFINED__
1803
1804 DEFINE_GUID(IID_IInternetProtocolSink, 0x79eac9e5, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1805 #if defined(__cplusplus) && !defined(CINTERFACE)
1806 interface IInternetProtocolSink : public IUnknown
1807 {
1808 virtual HRESULT STDMETHODCALLTYPE Switch(
1809 PROTOCOLDATA* pProtocolData) = 0;
1810
1811 virtual HRESULT STDMETHODCALLTYPE ReportProgress(
1812 ULONG ulStatusCode,
1813 LPCWSTR szStatusText) = 0;
1814
1815 virtual HRESULT STDMETHODCALLTYPE ReportData(
1816 DWORD grfBSCF,
1817 ULONG ulProgress,
1818 ULONG ulProgressMax) = 0;
1819
1820 virtual HRESULT STDMETHODCALLTYPE ReportResult(
1821 HRESULT hrResult,
1822 DWORD dwError,
1823 LPCWSTR szResult) = 0;
1824
1825 };
1826 #else
1827 typedef struct IInternetProtocolSinkVtbl {
1828 BEGIN_INTERFACE
1829
1830 /*** IUnknown methods ***/
1831 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1832 IInternetProtocolSink* This,
1833 REFIID riid,
1834 void** ppvObject);
1835
1836 ULONG (STDMETHODCALLTYPE *AddRef)(
1837 IInternetProtocolSink* This);
1838
1839 ULONG (STDMETHODCALLTYPE *Release)(
1840 IInternetProtocolSink* This);
1841
1842 /*** IInternetProtocolSink methods ***/
1843 HRESULT (STDMETHODCALLTYPE *Switch)(
1844 IInternetProtocolSink* This,
1845 PROTOCOLDATA* pProtocolData);
1846
1847 HRESULT (STDMETHODCALLTYPE *ReportProgress)(
1848 IInternetProtocolSink* This,
1849 ULONG ulStatusCode,
1850 LPCWSTR szStatusText);
1851
1852 HRESULT (STDMETHODCALLTYPE *ReportData)(
1853 IInternetProtocolSink* This,
1854 DWORD grfBSCF,
1855 ULONG ulProgress,
1856 ULONG ulProgressMax);
1857
1858 HRESULT (STDMETHODCALLTYPE *ReportResult)(
1859 IInternetProtocolSink* This,
1860 HRESULT hrResult,
1861 DWORD dwError,
1862 LPCWSTR szResult);
1863
1864 END_INTERFACE
1865 } IInternetProtocolSinkVtbl;
1866 interface IInternetProtocolSink {
1867 const IInternetProtocolSinkVtbl* lpVtbl;
1868 };
1869
1870 #ifdef COBJMACROS
1871 /*** IUnknown methods ***/
1872 #define IInternetProtocolSink_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1873 #define IInternetProtocolSink_AddRef(p) (p)->lpVtbl->AddRef(p)
1874 #define IInternetProtocolSink_Release(p) (p)->lpVtbl->Release(p)
1875 /*** IInternetProtocolSink methods ***/
1876 #define IInternetProtocolSink_Switch(p,a) (p)->lpVtbl->Switch(p,a)
1877 #define IInternetProtocolSink_ReportProgress(p,a,b) (p)->lpVtbl->ReportProgress(p,a,b)
1878 #define IInternetProtocolSink_ReportData(p,a,b,c) (p)->lpVtbl->ReportData(p,a,b,c)
1879 #define IInternetProtocolSink_ReportResult(p,a,b,c) (p)->lpVtbl->ReportResult(p,a,b,c)
1880 #endif
1881
1882 #endif
1883
1884 HRESULT CALLBACK IInternetProtocolSink_Switch_Proxy(
1885 IInternetProtocolSink* This,
1886 PROTOCOLDATA* pProtocolData);
1887 void __RPC_STUB IInternetProtocolSink_Switch_Stub(
1888 IRpcStubBuffer* This,
1889 IRpcChannelBuffer* pRpcChannelBuffer,
1890 PRPC_MESSAGE pRpcMessage,
1891 DWORD* pdwStubPhase);
1892 HRESULT CALLBACK IInternetProtocolSink_ReportProgress_Proxy(
1893 IInternetProtocolSink* This,
1894 ULONG ulStatusCode,
1895 LPCWSTR szStatusText);
1896 void __RPC_STUB IInternetProtocolSink_ReportProgress_Stub(
1897 IRpcStubBuffer* This,
1898 IRpcChannelBuffer* pRpcChannelBuffer,
1899 PRPC_MESSAGE pRpcMessage,
1900 DWORD* pdwStubPhase);
1901 HRESULT CALLBACK IInternetProtocolSink_ReportData_Proxy(
1902 IInternetProtocolSink* This,
1903 DWORD grfBSCF,
1904 ULONG ulProgress,
1905 ULONG ulProgressMax);
1906 void __RPC_STUB IInternetProtocolSink_ReportData_Stub(
1907 IRpcStubBuffer* This,
1908 IRpcChannelBuffer* pRpcChannelBuffer,
1909 PRPC_MESSAGE pRpcMessage,
1910 DWORD* pdwStubPhase);
1911 HRESULT CALLBACK IInternetProtocolSink_ReportResult_Proxy(
1912 IInternetProtocolSink* This,
1913 HRESULT hrResult,
1914 DWORD dwError,
1915 LPCWSTR szResult);
1916 void __RPC_STUB IInternetProtocolSink_ReportResult_Stub(
1917 IRpcStubBuffer* This,
1918 IRpcChannelBuffer* pRpcChannelBuffer,
1919 PRPC_MESSAGE pRpcMessage,
1920 DWORD* pdwStubPhase);
1921
1922 #endif /* __IInternetProtocolSink_INTERFACE_DEFINED__ */
1923
1924 #ifndef __IInternetProtocol_FWD_DEFINED__
1925 #define __IInternetProtocol_FWD_DEFINED__
1926 typedef interface IInternetProtocol IInternetProtocol;
1927 #endif
1928
1929 typedef IInternetProtocol *LPIINTERNETPROTOCOL;
1930 /*****************************************************************************
1931 * IInternetProtocol interface
1932 */
1933 #ifndef __IInternetProtocol_INTERFACE_DEFINED__
1934 #define __IInternetProtocol_INTERFACE_DEFINED__
1935
1936 DEFINE_GUID(IID_IInternetProtocol, 0x79eac9e4, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1937 #if defined(__cplusplus) && !defined(CINTERFACE)
1938 interface IInternetProtocol : public IInternetProtocolRoot
1939 {
1940 virtual HRESULT STDMETHODCALLTYPE Read(
1941 void* pv,
1942 ULONG cb,
1943 ULONG* pcbRead) = 0;
1944
1945 virtual HRESULT STDMETHODCALLTYPE Seek(
1946 LARGE_INTEGER dlibMove,
1947 DWORD dwOrigin,
1948 ULARGE_INTEGER* plibNewPosition) = 0;
1949
1950 virtual HRESULT STDMETHODCALLTYPE LockRequest(
1951 DWORD dwOptions) = 0;
1952
1953 virtual HRESULT STDMETHODCALLTYPE UnlockRequest(
1954 ) = 0;
1955
1956 };
1957 #else
1958 typedef struct IInternetProtocolVtbl {
1959 BEGIN_INTERFACE
1960
1961 /*** IUnknown methods ***/
1962 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1963 IInternetProtocol* This,
1964 REFIID riid,
1965 void** ppvObject);
1966
1967 ULONG (STDMETHODCALLTYPE *AddRef)(
1968 IInternetProtocol* This);
1969
1970 ULONG (STDMETHODCALLTYPE *Release)(
1971 IInternetProtocol* This);
1972
1973 /*** IInternetProtocolRoot methods ***/
1974 HRESULT (STDMETHODCALLTYPE *Start)(
1975 IInternetProtocol* This,
1976 LPCWSTR szUrl,
1977 IInternetProtocolSink* pOIProtSink,
1978 IInternetBindInfo* pOIBindInfo,
1979 DWORD grfPI,
1980 DWORD dwReserved);
1981
1982 HRESULT (STDMETHODCALLTYPE *Continue)(
1983 IInternetProtocol* This,
1984 PROTOCOLDATA* pProtocolData);
1985
1986 HRESULT (STDMETHODCALLTYPE *Abort)(
1987 IInternetProtocol* This,
1988 HRESULT hrReason,
1989 DWORD dwOptions);
1990
1991 HRESULT (STDMETHODCALLTYPE *Terminate)(
1992 IInternetProtocol* This,
1993 DWORD dwOptions);
1994
1995 HRESULT (STDMETHODCALLTYPE *Suspend)(
1996 IInternetProtocol* This);
1997
1998 HRESULT (STDMETHODCALLTYPE *Resume)(
1999 IInternetProtocol* This);
2000
2001 /*** IInternetProtocol methods ***/
2002 HRESULT (STDMETHODCALLTYPE *Read)(
2003 IInternetProtocol* This,
2004 void* pv,
2005 ULONG cb,
2006 ULONG* pcbRead);
2007
2008 HRESULT (STDMETHODCALLTYPE *Seek)(
2009 IInternetProtocol* This,
2010 LARGE_INTEGER dlibMove,
2011 DWORD dwOrigin,
2012 ULARGE_INTEGER* plibNewPosition);
2013
2014 HRESULT (STDMETHODCALLTYPE *LockRequest)(
2015 IInternetProtocol* This,
2016 DWORD dwOptions);
2017
2018 HRESULT (STDMETHODCALLTYPE *UnlockRequest)(
2019 IInternetProtocol* This);
2020
2021 END_INTERFACE
2022 } IInternetProtocolVtbl;
2023 interface IInternetProtocol {
2024 const IInternetProtocolVtbl* lpVtbl;
2025 };
2026
2027 #ifdef COBJMACROS
2028 /*** IUnknown methods ***/
2029 #define IInternetProtocol_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2030 #define IInternetProtocol_AddRef(p) (p)->lpVtbl->AddRef(p)
2031 #define IInternetProtocol_Release(p) (p)->lpVtbl->Release(p)
2032 /*** IInternetProtocolRoot methods ***/
2033 #define IInternetProtocol_Start(p,a,b,c,d,e) (p)->lpVtbl->Start(p,a,b,c,d,e)
2034 #define IInternetProtocol_Continue(p,a) (p)->lpVtbl->Continue(p,a)
2035 #define IInternetProtocol_Abort(p,a,b) (p)->lpVtbl->Abort(p,a,b)
2036 #define IInternetProtocol_Terminate(p,a) (p)->lpVtbl->Terminate(p,a)
2037 #define IInternetProtocol_Suspend(p) (p)->lpVtbl->Suspend(p)
2038 #define IInternetProtocol_Resume(p) (p)->lpVtbl->Resume(p)
2039 /*** IInternetProtocol methods ***/
2040 #define IInternetProtocol_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
2041 #define IInternetProtocol_Seek(p,a,b,c) (p)->lpVtbl->Seek(p,a,b,c)
2042 #define IInternetProtocol_LockRequest(p,a) (p)->lpVtbl->LockRequest(p,a)
2043 #define IInternetProtocol_UnlockRequest(p) (p)->lpVtbl->UnlockRequest(p)
2044 #endif
2045
2046 #endif
2047
2048 HRESULT CALLBACK IInternetProtocol_Read_Proxy(
2049 IInternetProtocol* This,
2050 void* pv,
2051 ULONG cb,
2052 ULONG* pcbRead);
2053 void __RPC_STUB IInternetProtocol_Read_Stub(
2054 IRpcStubBuffer* This,
2055 IRpcChannelBuffer* pRpcChannelBuffer,
2056 PRPC_MESSAGE pRpcMessage,
2057 DWORD* pdwStubPhase);
2058 HRESULT CALLBACK IInternetProtocol_Seek_Proxy(
2059 IInternetProtocol* This,
2060 LARGE_INTEGER dlibMove,
2061 DWORD dwOrigin,
2062 ULARGE_INTEGER* plibNewPosition);
2063 void __RPC_STUB IInternetProtocol_Seek_Stub(
2064 IRpcStubBuffer* This,
2065 IRpcChannelBuffer* pRpcChannelBuffer,
2066 PRPC_MESSAGE pRpcMessage,
2067 DWORD* pdwStubPhase);
2068 HRESULT CALLBACK IInternetProtocol_LockRequest_Proxy(
2069 IInternetProtocol* This,
2070 DWORD dwOptions);
2071 void __RPC_STUB IInternetProtocol_LockRequest_Stub(
2072 IRpcStubBuffer* This,
2073 IRpcChannelBuffer* pRpcChannelBuffer,
2074 PRPC_MESSAGE pRpcMessage,
2075 DWORD* pdwStubPhase);
2076 HRESULT CALLBACK IInternetProtocol_UnlockRequest_Proxy(
2077 IInternetProtocol* This);
2078 void __RPC_STUB IInternetProtocol_UnlockRequest_Stub(
2079 IRpcStubBuffer* This,
2080 IRpcChannelBuffer* pRpcChannelBuffer,
2081 PRPC_MESSAGE pRpcMessage,
2082 DWORD* pdwStubPhase);
2083
2084 #endif /* __IInternetProtocol_INTERFACE_DEFINED__ */
2085
2086 #ifndef __IInternetProtocolInfo_FWD_DEFINED__
2087 #define __IInternetProtocolInfo_FWD_DEFINED__
2088 typedef interface IInternetProtocolInfo IInternetProtocolInfo;
2089 #endif
2090
2091 typedef IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO;
2092 typedef enum _tagPARSEACTION {
2093 PARSE_CANONICALIZE = 1,
2094 PARSE_FRIENDLY,
2095 PARSE_SECURITY_URL,
2096 PARSE_ROOTDOCUMENT,
2097 PARSE_DOCUMENT,
2098 PARSE_ANCHOR,
2099 PARSE_ENCODE,
2100 PARSE_DECODE,
2101 PARSE_PATH_FROM_URL,
2102 PARSE_URL_FROM_PATH,
2103 PARSE_MIME,
2104 PARSE_SERVER,
2105 PARSE_SCHEMA,
2106 PARSE_SITE,
2107 PARSE_DOMAIN,
2108 PARSE_LOCATION,
2109 PARSE_SECURITY_DOMAIN,
2110 PARSE_ESCAPE,
2111 PARSE_UNESCAPE
2112 } PARSEACTION;
2113 typedef enum _tagPSUACTION {
2114 PSU_DEFAULT = 1,
2115 PSU_SECURITY_URL_ONLY
2116 } PSUACTION;
2117 typedef enum _tagQUERYOPTION {
2118 QUERY_EXPIRATION_DATE = 1,
2119 QUERY_TIME_OF_LAST_CHANGE,
2120 QUERY_CONTENT_ENCODING,
2121 QUERY_CONTENT_TYPE,
2122 QUERY_REFRESH,
2123 QUERY_RECOMBINE,
2124 QUERY_CAN_NAVIGATE,
2125 QUERY_USES_NETWORK,
2126 QUERY_IS_CACHED,
2127 QUERY_IS_INSTALLEDENTRY,
2128 QUERY_IS_CACHED_OR_MAPPED,
2129 QUERY_USES_CACHE,
2130 QUERY_IS_SECURE,
2131 QUERY_IS_SAFE
2132 } QUERYOPTION;
2133 /*****************************************************************************
2134 * IInternetProtocolInfo interface
2135 */
2136 #ifndef __IInternetProtocolInfo_INTERFACE_DEFINED__
2137 #define __IInternetProtocolInfo_INTERFACE_DEFINED__
2138
2139 DEFINE_GUID(IID_IInternetProtocolInfo, 0x79eac9ec, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
2140 #if defined(__cplusplus) && !defined(CINTERFACE)
2141 interface IInternetProtocolInfo : public IUnknown
2142 {
2143 virtual HRESULT STDMETHODCALLTYPE ParseUrl(
2144 LPCWSTR pwzUrl,
2145 PARSEACTION ParseAction,
2146 DWORD dwParseFlags,
2147 LPWSTR pwzResult,
2148 DWORD cchResult,
2149 DWORD* pcchResult,
2150 DWORD dwReserved) = 0;
2151
2152 virtual HRESULT STDMETHODCALLTYPE CombineUrl(
2153 LPCWSTR pwzBaseUrl,
2154 LPCWSTR pwzRelativeUrl,
2155 DWORD dwCombineFlags,
2156 LPWSTR pwzResult,
2157 DWORD cchResult,
2158 DWORD* pcchResult,
2159 DWORD dwReserved) = 0;
2160
2161 virtual HRESULT STDMETHODCALLTYPE CompareUrl(
2162 LPCWSTR pwzUrl1,
2163 LPCWSTR pwzUrl2,
2164 DWORD dwCompareFlags) = 0;
2165
2166 virtual HRESULT STDMETHODCALLTYPE QueryInfo(
2167 LPCWSTR pwzUrl,
2168 QUERYOPTION OueryOption,
2169 DWORD dwQueryFlags,
2170 LPVOID pBuffer,
2171 DWORD cbBuffer,
2172 DWORD* pcbBuf,
2173 DWORD dwReserved) = 0;
2174
2175 };
2176 #else
2177 typedef struct IInternetProtocolInfoVtbl {
2178 BEGIN_INTERFACE
2179
2180 /*** IUnknown methods ***/
2181 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2182 IInternetProtocolInfo* This,
2183 REFIID riid,
2184 void** ppvObject);
2185
2186 ULONG (STDMETHODCALLTYPE *AddRef)(
2187 IInternetProtocolInfo* This);
2188
2189 ULONG (STDMETHODCALLTYPE *Release)(
2190 IInternetProtocolInfo* This);
2191
2192 /*** IInternetProtocolInfo methods ***/
2193 HRESULT (STDMETHODCALLTYPE *ParseUrl)(
2194 IInternetProtocolInfo* This,
2195 LPCWSTR pwzUrl,
2196 PARSEACTION ParseAction,
2197 DWORD dwParseFlags,
2198 LPWSTR pwzResult,
2199 DWORD cchResult,
2200 DWORD* pcchResult,
2201 DWORD dwReserved);
2202
2203 HRESULT (STDMETHODCALLTYPE *CombineUrl)(
2204 IInternetProtocolInfo* This,
2205 LPCWSTR pwzBaseUrl,
2206 LPCWSTR pwzRelativeUrl,
2207 DWORD dwCombineFlags,
2208 LPWSTR pwzResult,
2209 DWORD cchResult,
2210 DWORD* pcchResult,
2211 DWORD dwReserved);
2212
2213 HRESULT (STDMETHODCALLTYPE *CompareUrl)(
2214 IInternetProtocolInfo* This,
2215 LPCWSTR pwzUrl1,
2216 LPCWSTR pwzUrl2,
2217 DWORD dwCompareFlags);
2218
2219 HRESULT (STDMETHODCALLTYPE *QueryInfo)(
2220 IInternetProtocolInfo* This,
2221 LPCWSTR pwzUrl,
2222 QUERYOPTION OueryOption,
2223 DWORD dwQueryFlags,
2224 LPVOID pBuffer,
2225 DWORD cbBuffer,
2226 DWORD* pcbBuf,
2227 DWORD dwReserved);
2228
2229 END_INTERFACE
2230 } IInternetProtocolInfoVtbl;
2231 interface IInternetProtocolInfo {
2232 const IInternetProtocolInfoVtbl* lpVtbl;
2233 };
2234
2235 #ifdef COBJMACROS
2236 /*** IUnknown methods ***/
2237 #define IInternetProtocolInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2238 #define IInternetProtocolInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
2239 #define IInternetProtocolInfo_Release(p) (p)->lpVtbl->Release(p)
2240 /*** IInternetProtocolInfo methods ***/
2241 #define IInternetProtocolInfo_ParseUrl(p,a,b,c,d,e,f,g) (p)->lpVtbl->ParseUrl(p,a,b,c,d,e,f,g)
2242 #define IInternetProtocolInfo_CombineUrl(p,a,b,c,d,e,f,g) (p)->lpVtbl->CombineUrl(p,a,b,c,d,e,f,g)
2243 #define IInternetProtocolInfo_CompareUrl(p,a,b,c) (p)->lpVtbl->CompareUrl(p,a,b,c)
2244 #define IInternetProtocolInfo_QueryInfo(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryInfo(p,a,b,c,d,e,f,g)
2245 #endif
2246
2247 #endif
2248
2249 HRESULT CALLBACK IInternetProtocolInfo_ParseUrl_Proxy(
2250 IInternetProtocolInfo* This,
2251 LPCWSTR pwzUrl,
2252 PARSEACTION ParseAction,
2253 DWORD dwParseFlags,
2254 LPWSTR pwzResult,
2255 DWORD cchResult,
2256 DWORD* pcchResult,
2257 DWORD dwReserved);
2258 void __RPC_STUB IInternetProtocolInfo_ParseUrl_Stub(
2259 IRpcStubBuffer* This,
2260 IRpcChannelBuffer* pRpcChannelBuffer,
2261 PRPC_MESSAGE pRpcMessage,
2262 DWORD* pdwStubPhase);
2263 HRESULT CALLBACK IInternetProtocolInfo_CombineUrl_Proxy(
2264 IInternetProtocolInfo* This,
2265 LPCWSTR pwzBaseUrl,
2266 LPCWSTR pwzRelativeUrl,
2267 DWORD dwCombineFlags,
2268 LPWSTR pwzResult,
2269 DWORD cchResult,
2270 DWORD* pcchResult,
2271 DWORD dwReserved);
2272 void __RPC_STUB IInternetProtocolInfo_CombineUrl_Stub(
2273 IRpcStubBuffer* This,
2274 IRpcChannelBuffer* pRpcChannelBuffer,
2275 PRPC_MESSAGE pRpcMessage,
2276 DWORD* pdwStubPhase);
2277 HRESULT CALLBACK IInternetProtocolInfo_CompareUrl_Proxy(
2278 IInternetProtocolInfo* This,
2279 LPCWSTR pwzUrl1,
2280 LPCWSTR pwzUrl2,
2281 DWORD dwCompareFlags);
2282 void __RPC_STUB IInternetProtocolInfo_CompareUrl_Stub(
2283 IRpcStubBuffer* This,
2284 IRpcChannelBuffer* pRpcChannelBuffer,
2285 PRPC_MESSAGE pRpcMessage,
2286 DWORD* pdwStubPhase);
2287 HRESULT CALLBACK IInternetProtocolInfo_QueryInfo_Proxy(
2288 IInternetProtocolInfo* This,
2289 LPCWSTR pwzUrl,
2290 QUERYOPTION OueryOption,
2291 DWORD dwQueryFlags,
2292 LPVOID pBuffer,
2293 DWORD cbBuffer,
2294 DWORD* pcbBuf,
2295 DWORD dwReserved);
2296 void __RPC_STUB IInternetProtocolInfo_QueryInfo_Stub(
2297 IRpcStubBuffer* This,
2298 IRpcChannelBuffer* pRpcChannelBuffer,
2299 PRPC_MESSAGE pRpcMessage,
2300 DWORD* pdwStubPhase);
2301
2302 #endif /* __IInternetProtocolInfo_INTERFACE_DEFINED__ */
2303
2304 #ifndef __IInternetSession_FWD_DEFINED__
2305 #define __IInternetSession_FWD_DEFINED__
2306 typedef interface IInternetSession IInternetSession;
2307 #endif
2308
2309 typedef IInternetSession *LPIINTERNETSESSION;
2310 typedef enum _tagOIBDG_FLAGS {
2311 OIBDG_APARTMENTTHREADED = 0x100,
2312 OIBDG_DATAONLY = 0x1000
2313 } OIBDG_FLAGS;
2314 /*****************************************************************************
2315 * IInternetSession interface
2316 */
2317 #ifndef __IInternetSession_INTERFACE_DEFINED__
2318 #define __IInternetSession_INTERFACE_DEFINED__
2319
2320 DEFINE_GUID(IID_IInternetSession, 0x79eac9e7, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
2321 #if defined(__cplusplus) && !defined(CINTERFACE)
2322 interface IInternetSession : public IUnknown
2323 {
2324 virtual HRESULT STDMETHODCALLTYPE RegisterNameSpace(
2325 IClassFactory* pCF,
2326 REFCLSID rclsid,
2327 LPCWSTR pwzProtocol,
2328 ULONG cPatterns,
2329 const LPCWSTR* ppwzPatterns,
2330 DWORD dwReserved) = 0;
2331
2332 virtual HRESULT STDMETHODCALLTYPE UnregisterNameSpace(
2333 IClassFactory* pCF,
2334 LPCWSTR pszProtocol) = 0;
2335
2336 virtual HRESULT STDMETHODCALLTYPE RegisterMimeFilter(
2337 IClassFactory* pCF,
2338 REFCLSID rclsid,
2339 LPCWSTR pwzType) = 0;
2340
2341 virtual HRESULT STDMETHODCALLTYPE UnregisterMimeFilter(
2342 IClassFactory* pCF,
2343 LPCWSTR pwzType) = 0;
2344
2345 virtual HRESULT STDMETHODCALLTYPE CreateBinding(
2346 LPBC pBC,
2347 LPCWSTR szUrl,
2348 IUnknown* pUnkOuter,
2349 IUnknown** ppUnk,
2350 IInternetProtocol** ppOInetProt,
2351 DWORD dwOption) = 0;
2352
2353 virtual HRESULT STDMETHODCALLTYPE SetSessionOption(
2354 DWORD dwOption,
2355 LPVOID pBuffer,
2356 DWORD dwBufferLength,
2357 DWORD dwReserved) = 0;
2358
2359 };
2360 #else
2361 typedef struct IInternetSessionVtbl {
2362 BEGIN_INTERFACE
2363
2364 /*** IUnknown methods ***/
2365 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2366 IInternetSession* This,
2367 REFIID riid,
2368 void** ppvObject);
2369
2370 ULONG (STDMETHODCALLTYPE *AddRef)(
2371 IInternetSession* This);
2372
2373 ULONG (STDMETHODCALLTYPE *Release)(
2374 IInternetSession* This);
2375
2376 /*** IInternetSession methods ***/
2377 HRESULT (STDMETHODCALLTYPE *RegisterNameSpace)(
2378 IInternetSession* This,
2379 IClassFactory* pCF,
2380 REFCLSID rclsid,
2381 LPCWSTR pwzProtocol,
2382 ULONG cPatterns,
2383 const LPCWSTR* ppwzPatterns,
2384 DWORD dwReserved);
2385
2386 HRESULT (STDMETHODCALLTYPE *UnregisterNameSpace)(
2387 IInternetSession* This,
2388 IClassFactory* pCF,
2389 LPCWSTR pszProtocol);
2390
2391 HRESULT (STDMETHODCALLTYPE *RegisterMimeFilter)(
2392 IInternetSession* This,
2393 IClassFactory* pCF,
2394 REFCLSID rclsid,
2395 LPCWSTR pwzType);
2396
2397 HRESULT (STDMETHODCALLTYPE *UnregisterMimeFilter)(
2398 IInternetSession* This,
2399 IClassFactory* pCF,
2400 LPCWSTR pwzType);
2401
2402 HRESULT (STDMETHODCALLTYPE *CreateBinding)(
2403 IInternetSession* This,
2404 LPBC pBC,
2405 LPCWSTR szUrl,
2406 IUnknown* pUnkOuter,
2407 IUnknown** ppUnk,
2408 IInternetProtocol** ppOInetProt,
2409 DWORD dwOption);
2410
2411 HRESULT (STDMETHODCALLTYPE *SetSessionOption)(
2412 IInternetSession* This,
2413 DWORD dwOption,
2414 LPVOID pBuffer,
2415 DWORD dwBufferLength,
2416 DWORD dwReserved);
2417
2418 END_INTERFACE
2419 } IInternetSessionVtbl;
2420 interface IInternetSession {
2421 const IInternetSessionVtbl* lpVtbl;
2422 };
2423
2424 #ifdef COBJMACROS
2425 /*** IUnknown methods ***/
2426 #define IInternetSession_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2427 #define IInternetSession_AddRef(p) (p)->lpVtbl->AddRef(p)
2428 #define IInternetSession_Release(p) (p)->lpVtbl->Release(p)
2429 /*** IInternetSession methods ***/
2430 #define IInternetSession_RegisterNameSpace(p,a,b,c,d,e,f) (p)->lpVtbl->RegisterNameSpace(p,a,b,c,d,e,f)
2431 #define IInternetSession_UnregisterNameSpace(p,a,b) (p)->lpVtbl->UnregisterNameSpace(p,a,b)
2432 #define IInternetSession_RegisterMimeFilter(p,a,b,c) (p)->lpVtbl->RegisterMimeFilter(p,a,b,c)
2433 #define IInternetSession_UnregisterMimeFilter(p,a,b) (p)->lpVtbl->UnregisterMimeFilter(p,a,b)
2434 #define IInternetSession_CreateBinding(p,a,b,c,d,e,f) (p)->lpVtbl->CreateBinding(p,a,b,c,d,e,f)
2435 #define IInternetSession_SetSessionOption(p,a,b,c,d) (p)->lpVtbl->SetSessionOption(p,a,b,c,d)
2436 #endif
2437
2438 #endif
2439
2440 HRESULT CALLBACK IInternetSession_RegisterNameSpace_Proxy(
2441 IInternetSession* This,
2442 IClassFactory* pCF,
2443 REFCLSID rclsid,
2444 LPCWSTR pwzProtocol,
2445 ULONG cPatterns,
2446 const LPCWSTR* ppwzPatterns,
2447 DWORD dwReserved);
2448 void __RPC_STUB IInternetSession_RegisterNameSpace_Stub(
2449 IRpcStubBuffer* This,
2450 IRpcChannelBuffer* pRpcChannelBuffer,
2451 PRPC_MESSAGE pRpcMessage,
2452 DWORD* pdwStubPhase);
2453 HRESULT CALLBACK IInternetSession_UnregisterNameSpace_Proxy(
2454 IInternetSession* This,
2455 IClassFactory* pCF,
2456 LPCWSTR pszProtocol);
2457 void __RPC_STUB IInternetSession_UnregisterNameSpace_Stub(
2458 IRpcStubBuffer* This,
2459 IRpcChannelBuffer* pRpcChannelBuffer,
2460 PRPC_MESSAGE pRpcMessage,
2461 DWORD* pdwStubPhase);
2462 HRESULT CALLBACK IInternetSession_RegisterMimeFilter_Proxy(
2463 IInternetSession* This,
2464 IClassFactory* pCF,
2465 REFCLSID rclsid,
2466 LPCWSTR pwzType);
2467 void __RPC_STUB IInternetSession_RegisterMimeFilter_Stub(
2468 IRpcStubBuffer* This,
2469 IRpcChannelBuffer* pRpcChannelBuffer,
2470 PRPC_MESSAGE pRpcMessage,
2471 DWORD* pdwStubPhase);
2472 HRESULT CALLBACK IInternetSession_UnregisterMimeFilter_Proxy(
2473 IInternetSession* This,
2474 IClassFactory* pCF,
2475 LPCWSTR pwzType);
2476 void __RPC_STUB IInternetSession_UnregisterMimeFilter_Stub(
2477 IRpcStubBuffer* This,
2478 IRpcChannelBuffer* pRpcChannelBuffer,
2479 PRPC_MESSAGE pRpcMessage,
2480 DWORD* pdwStubPhase);
2481 HRESULT CALLBACK IInternetSession_CreateBinding_Proxy(
2482 IInternetSession* This,
2483 LPBC pBC,
2484 LPCWSTR szUrl,
2485 IUnknown* pUnkOuter,
2486 IUnknown** ppUnk,
2487 IInternetProtocol** ppOInetProt,
2488 DWORD dwOption);
2489 void __RPC_STUB IInternetSession_CreateBinding_Stub(
2490 IRpcStubBuffer* This,
2491 IRpcChannelBuffer* pRpcChannelBuffer,
2492 PRPC_MESSAGE pRpcMessage,
2493 DWORD* pdwStubPhase);
2494 HRESULT CALLBACK IInternetSession_SetSessionOption_Proxy(
2495 IInternetSession* This,
2496 DWORD dwOption,
2497 LPVOID pBuffer,
2498 DWORD dwBufferLength,
2499 DWORD dwReserved);
2500 void __RPC_STUB IInternetSession_SetSessionOption_Stub(
2501 IRpcStubBuffer* This,
2502 IRpcChannelBuffer* pRpcChannelBuffer,
2503 PRPC_MESSAGE pRpcMessage,
2504 DWORD* pdwStubPhase);
2505
2506 #endif /* __IInternetSession_INTERFACE_DEFINED__ */
2507
2508 #ifndef __IInternetSecurityMgrSite_FWD_DEFINED__
2509 #define __IInternetSecurityMgrSite_FWD_DEFINED__
2510 typedef interface IInternetSecurityMgrSite IInternetSecurityMgrSite;
2511 #endif
2512
2513 /*****************************************************************************
2514 * IInternetSecurityMgrSite interface
2515 */
2516 #ifndef __IInternetSecurityMgrSite_INTERFACE_DEFINED__
2517 #define __IInternetSecurityMgrSite_INTERFACE_DEFINED__
2518
2519 DEFINE_GUID(IID_IInternetSecurityMgrSite, 0x79eac9ed, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
2520 #if defined(__cplusplus) && !defined(CINTERFACE)
2521 interface IInternetSecurityMgrSite : public IUnknown
2522 {
2523 virtual HRESULT STDMETHODCALLTYPE GetWindow(
2524 HWND* phwnd) = 0;
2525
2526 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
2527 BOOL fEnable) = 0;
2528
2529 };
2530 #else
2531 typedef struct IInternetSecurityMgrSiteVtbl {
2532 BEGIN_INTERFACE
2533
2534 /*** IUnknown methods ***/
2535 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2536 IInternetSecurityMgrSite* This,
2537 REFIID riid,
2538 void** ppvObject);
2539
2540 ULONG (STDMETHODCALLTYPE *AddRef)(
2541 IInternetSecurityMgrSite* This);
2542
2543 ULONG (STDMETHODCALLTYPE *Release)(
2544 IInternetSecurityMgrSite* This);
2545
2546 /*** IInternetSecurityMgrSite methods ***/
2547 HRESULT (STDMETHODCALLTYPE *GetWindow)(
2548 IInternetSecurityMgrSite* This,
2549 HWND* phwnd);
2550
2551 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
2552 IInternetSecurityMgrSite* This,
2553 BOOL fEnable);
2554
2555 END_INTERFACE
2556 } IInternetSecurityMgrSiteVtbl;
2557 interface IInternetSecurityMgrSite {
2558 const IInternetSecurityMgrSiteVtbl* lpVtbl;
2559 };
2560
2561 #ifdef COBJMACROS
2562 /*** IUnknown methods ***/
2563 #define IInternetSecurityMgrSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2564 #define IInternetSecurityMgrSite_AddRef(p) (p)->lpVtbl->AddRef(p)
2565 #define IInternetSecurityMgrSite_Release(p) (p)->lpVtbl->Release(p)
2566 /*** IInternetSecurityMgrSite methods ***/
2567 #define IInternetSecurityMgrSite_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
2568 #define IInternetSecurityMgrSite_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
2569 #endif
2570
2571 #endif
2572
2573 HRESULT CALLBACK IInternetSecurityMgrSite_GetWindow_Proxy(
2574 IInternetSecurityMgrSite* This,
2575 HWND* phwnd);
2576 void __RPC_STUB IInternetSecurityMgrSite_GetWindow_Stub(
2577 IRpcStubBuffer* This,
2578 IRpcChannelBuffer* pRpcChannelBuffer,
2579 PRPC_MESSAGE pRpcMessage,
2580 DWORD* pdwStubPhase);
2581 HRESULT CALLBACK IInternetSecurityMgrSite_EnableModeless_Proxy(
2582 IInternetSecurityMgrSite* This,
2583 BOOL fEnable);
2584 void __RPC_STUB IInternetSecurityMgrSite_EnableModeless_Stub(
2585 IRpcStubBuffer* This,
2586 IRpcChannelBuffer* pRpcChannelBuffer,
2587 PRPC_MESSAGE pRpcMessage,
2588 DWORD* pdwStubPhase);
2589
2590 #endif /* __IInternetSecurityMgrSite_INTERFACE_DEFINED__ */
2591
2592 #define SID_SInternetSecurityManager IID_IInternetSecurityManager
2593 #ifndef __IInternetSecurityManager_FWD_DEFINED__
2594 #define __IInternetSecurityManager_FWD_DEFINED__
2595 typedef interface IInternetSecurityManager IInternetSecurityManager;
2596 #endif
2597
2598 #define MAX_SIZE_SECURITY_ID 512
2599 typedef enum {
2600 PUAF_DEFAULT = 0x0,
2601 PUAF_NOUI = 0x1,
2602 PUAF_ISFILE = 0x2,
2603 PUAF_WARN_IF_DENIED = 0x4,
2604 PUAF_FORCEUI_FOREGROUND = 0x8,
2605 PUAF_CHECK_TIPS = 0x10
2606 } PUAF;
2607 typedef enum {
2608 SZM_CREATE = 0x0,
2609 SZM_DELETE = 0x1
2610 } SZM_FLAGS;
2611 /*****************************************************************************
2612 * IInternetSecurityManager interface
2613 */
2614 #ifndef __IInternetSecurityManager_INTERFACE_DEFINED__
2615 #define __IInternetSecurityManager_INTERFACE_DEFINED__
2616
2617 DEFINE_GUID(IID_IInternetSecurityManager, 0x79eac9ee, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
2618 #if defined(__cplusplus) && !defined(CINTERFACE)
2619 interface IInternetSecurityManager : public IUnknown
2620 {
2621 virtual HRESULT STDMETHODCALLTYPE SetSecuritySite(
2622 IInternetSecurityMgrSite* pSite) = 0;
2623
2624 virtual HRESULT STDMETHODCALLTYPE GetSecuritySite(
2625 IInternetSecurityMgrSite** ppSite) = 0;
2626
2627 virtual HRESULT STDMETHODCALLTYPE MapUrlToZone(
2628 LPCWSTR pwszUrl,
2629 DWORD* pdwZone,
2630 DWORD dwFlags) = 0;
2631
2632 virtual HRESULT STDMETHODCALLTYPE GetSecurityId(
2633 LPCWSTR pwszUrl,
2634 BYTE* pbSecurityId,
2635 DWORD* pcbSecurityId,
2636 DWORD_PTR dwReserved) = 0;
2637
2638 virtual HRESULT STDMETHODCALLTYPE ProcessUrlAction(
2639 LPCWSTR pwszUrl,
2640 DWORD dwAction,
2641 BYTE* pPolicy,
2642 DWORD cbPolicy,
2643 BYTE* pContext,
2644 DWORD cbContext,
2645 DWORD dwFlags,
2646 DWORD dwReserved) = 0;
2647
2648 virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicy(
2649 LPCWSTR pwszUrl,
2650 REFGUID guidKey,
2651 BYTE** ppPolicy,
2652 DWORD* pcbPolicy,
2653 BYTE* pContext,
2654 DWORD cbContext,
2655 DWORD dwReserved) = 0;
2656
2657 virtual HRESULT STDMETHODCALLTYPE SetZoneMapping(
2658 DWORD dwZone,
2659 LPCWSTR lpszPattern,
2660 DWORD dwFlags) = 0;
2661
2662 virtual HRESULT STDMETHODCALLTYPE GetZoneMappings(
2663 DWORD dwZone,
2664 IEnumString** ppenumString,
2665 DWORD dwFlags) = 0;
2666
2667 };
2668 #else
2669 typedef struct IInternetSecurityManagerVtbl {
2670 BEGIN_INTERFACE
2671
2672 /*** IUnknown methods ***/
2673 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2674 IInternetSecurityManager* This,
2675 REFIID riid,
2676 void** ppvObject);
2677
2678 ULONG (STDMETHODCALLTYPE *AddRef)(
2679 IInternetSecurityManager* This);
2680
2681 ULONG (STDMETHODCALLTYPE *Release)(
2682 IInternetSecurityManager* This);
2683
2684 /*** IInternetSecurityManager methods ***/
2685 HRESULT (STDMETHODCALLTYPE *SetSecuritySite)(
2686 IInternetSecurityManager* This,
2687 IInternetSecurityMgrSite* pSite);
2688
2689 HRESULT (STDMETHODCALLTYPE *GetSecuritySite)(
2690 IInternetSecurityManager* This,
2691 IInternetSecurityMgrSite** ppSite);
2692
2693 HRESULT (STDMETHODCALLTYPE *MapUrlToZone)(
2694 IInternetSecurityManager* This,
2695 LPCWSTR pwszUrl,
2696 DWORD* pdwZone,
2697 DWORD dwFlags);
2698
2699 HRESULT (STDMETHODCALLTYPE *GetSecurityId)(
2700 IInternetSecurityManager* This,
2701 LPCWSTR pwszUrl,
2702 BYTE* pbSecurityId,
2703 DWORD* pcbSecurityId,
2704 DWORD_PTR dwReserved);
2705
2706 HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)(
2707 IInternetSecurityManager* This,
2708 LPCWSTR pwszUrl,
2709 DWORD dwAction,
2710 BYTE* pPolicy,
2711 DWORD cbPolicy,
2712 BYTE* pContext,
2713 DWORD cbContext,
2714 DWORD dwFlags,
2715 DWORD dwReserved);
2716
2717 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)(
2718 IInternetSecurityManager* This,
2719 LPCWSTR pwszUrl,
2720 REFGUID guidKey,
2721 BYTE** ppPolicy,
2722 DWORD* pcbPolicy,
2723 BYTE* pContext,
2724 DWORD cbContext,
2725 DWORD dwReserved);
2726
2727 HRESULT (STDMETHODCALLTYPE *SetZoneMapping)(
2728 IInternetSecurityManager* This,
2729 DWORD dwZone,
2730 LPCWSTR lpszPattern,
2731 DWORD dwFlags);
2732
2733 HRESULT (STDMETHODCALLTYPE *GetZoneMappings)(
2734 IInternetSecurityManager* This,
2735 DWORD dwZone,
2736 IEnumString** ppenumString,
2737 DWORD dwFlags);
2738
2739 END_INTERFACE
2740 } IInternetSecurityManagerVtbl;
2741 interface IInternetSecurityManager {
2742 const IInternetSecurityManagerVtbl* lpVtbl;
2743 };
2744
2745 #ifdef COBJMACROS
2746 /*** IUnknown methods ***/
2747 #define IInternetSecurityManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2748 #define IInternetSecurityManager_AddRef(p) (p)->lpVtbl->AddRef(p)
2749 #define IInternetSecurityManager_Release(p) (p)->lpVtbl->Release(p)
2750 /*** IInternetSecurityManager methods ***/
2751 #define IInternetSecurityManager_SetSecuritySite(p,a) (p)->lpVtbl->SetSecuritySite(p,a)
2752 #define IInternetSecurityManager_GetSecuritySite(p,a) (p)->lpVtbl->GetSecuritySite(p,a)
2753 #define IInternetSecurityManager_MapUrlToZone(p,a,b,c) (p)->lpVtbl->MapUrlToZone(p,a,b,c)
2754 #define IInternetSecurityManager_GetSecurityId(p,a,b,c,d) (p)->lpVtbl->GetSecurityId(p,a,b,c,d)
2755 #define IInternetSecurityManager_ProcessUrlAction(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->ProcessUrlAction(p,a,b,c,d,e,f,g,h)
2756 #define IInternetSecurityManager_QueryCustomPolicy(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryCustomPolicy(p,a,b,c,d,e,f,g)
2757 #define IInternetSecurityManager_SetZoneMapping(p,a,b,c) (p)->lpVtbl->SetZoneMapping(p,a,b,c)
2758 #define IInternetSecurityManager_GetZoneMappings(p,a,b,c) (p)->lpVtbl->GetZoneMappings(p,a,b,c)
2759 #endif
2760
2761 #endif
2762
2763 HRESULT CALLBACK IInternetSecurityManager_SetSecuritySite_Proxy(
2764 IInternetSecurityManager* This,
2765 IInternetSecurityMgrSite* pSite);
2766 void __RPC_STUB IInternetSecurityManager_SetSecuritySite_Stub(
2767 IRpcStubBuffer* This,
2768 IRpcChannelBuffer* pRpcChannelBuffer,
2769 PRPC_MESSAGE pRpcMessage,
2770 DWORD* pdwStubPhase);
2771 HRESULT CALLBACK IInternetSecurityManager_GetSecuritySite_Proxy(
2772 IInternetSecurityManager* This,
2773 IInternetSecurityMgrSite** ppSite);
2774 void __RPC_STUB IInternetSecurityManager_GetSecuritySite_Stub(
2775 IRpcStubBuffer* This,
2776 IRpcChannelBuffer* pRpcChannelBuffer,
2777 PRPC_MESSAGE pRpcMessage,
2778 DWORD* pdwStubPhase);
2779 HRESULT CALLBACK IInternetSecurityManager_MapUrlToZone_Proxy(
2780 IInternetSecurityManager* This,
2781 LPCWSTR pwszUrl,
2782 DWORD* pdwZone,
2783 DWORD dwFlags);
2784 void __RPC_STUB IInternetSecurityManager_MapUrlToZone_Stub(
2785 IRpcStubBuffer* This,
2786 IRpcChannelBuffer* pRpcChannelBuffer,
2787 PRPC_MESSAGE pRpcMessage,
2788 DWORD* pdwStubPhase);
2789 HRESULT CALLBACK IInternetSecurityManager_GetSecurityId_Proxy(
2790 IInternetSecurityManager* This,
2791 LPCWSTR pwszUrl,
2792 BYTE* pbSecurityId,
2793 DWORD* pcbSecurityId,
2794 DWORD_PTR dwReserved);
2795 void __RPC_STUB IInternetSecurityManager_GetSecurityId_Stub(
2796 IRpcStubBuffer* This,
2797 IRpcChannelBuffer* pRpcChannelBuffer,
2798 PRPC_MESSAGE pRpcMessage,
2799 DWORD* pdwStubPhase);
2800 HRESULT CALLBACK IInternetSecurityManager_ProcessUrlAction_Proxy(
2801 IInternetSecurityManager* This,
2802 LPCWSTR pwszUrl,
2803 DWORD dwAction,
2804 BYTE* pPolicy,
2805 DWORD cbPolicy,
2806 BYTE* pContext,
2807 DWORD cbContext,
2808 DWORD dwFlags,
2809 DWORD dwReserved);
2810 void __RPC_STUB IInternetSecurityManager_ProcessUrlAction_Stub(
2811 IRpcStubBuffer* This,
2812 IRpcChannelBuffer* pRpcChannelBuffer,
2813 PRPC_MESSAGE pRpcMessage,
2814 DWORD* pdwStubPhase);
2815 HRESULT CALLBACK IInternetSecurityManager_QueryCustomPolicy_Proxy(
2816 IInternetSecurityManager* This,
2817 LPCWSTR pwszUrl,
2818 REFGUID guidKey,
2819 BYTE** ppPolicy,
2820 DWORD* pcbPolicy,
2821 BYTE* pContext,
2822 DWORD cbContext,
2823 DWORD dwReserved);
2824 void __RPC_STUB IInternetSecurityManager_QueryCustomPolicy_Stub(
2825 IRpcStubBuffer* This,
2826 IRpcChannelBuffer* pRpcChannelBuffer,
2827 PRPC_MESSAGE pRpcMessage,
2828 DWORD* pdwStubPhase);
2829 HRESULT CALLBACK IInternetSecurityManager_SetZoneMapping_Proxy(
2830 IInternetSecurityManager* This,
2831 DWORD dwZone,
2832 LPCWSTR lpszPattern,
2833 DWORD dwFlags);
2834 void __RPC_STUB IInternetSecurityManager_SetZoneMapping_Stub(
2835 IRpcStubBuffer* This,
2836 IRpcChannelBuffer* pRpcChannelBuffer,
2837 PRPC_MESSAGE pRpcMessage,
2838 DWORD* pdwStubPhase);
2839 HRESULT CALLBACK IInternetSecurityManager_GetZoneMappings_Proxy(
2840 IInternetSecurityManager* This,
2841 DWORD dwZone,
2842 IEnumString** ppenumString,
2843 DWORD dwFlags);
2844 void __RPC_STUB IInternetSecurityManager_GetZoneMappings_Stub(
2845 IRpcStubBuffer* This,
2846 IRpcChannelBuffer* pRpcChannelBuffer,
2847 PRPC_MESSAGE pRpcMessage,
2848 DWORD* pdwStubPhase);
2849
2850 #endif /* __IInternetSecurityManager_INTERFACE_DEFINED__ */
2851
2852 #ifndef __IInternetZoneManager_FWD_DEFINED__
2853 #define __IInternetZoneManager_FWD_DEFINED__
2854 typedef interface IInternetZoneManager IInternetZoneManager;
2855 #endif
2856
2857 typedef IInternetZoneManager *LPURLZONEMANAGER;
2858 typedef enum tagURLZONE {
2859 URLZONE_PREDEFINED_MIN = 0,
2860 URLZONE_LOCAL_MACHINE = 0,
2861 URLZONE_INTRANET = 1,
2862 URLZONE_TRUSTED = 2,
2863 URLZONE_INTERNET = 3,
2864 URLZONE_UNTRUSTED = 4,
2865 URLZONE_PREDEFINED_MAX = 999,
2866 URLZONE_USER_MIN = 1000,
2867 URLZONE_USER_MAX = 10000
2868 } URLZONE;
2869 typedef enum tagURLTEMPLATE {
2870 URLTEMPLATE_CUSTOM = 0x0,
2871 URLTEMPLATE_PREDEFINED_MIN = 0x10000,
2872 URLTEMPLATE_LOW = 0x10000,
2873 URLTEMPLATE_MEDIUM = 0x11000,
2874 URLTEMPLATE_HIGH = 0x12000,
2875 URLTEMPLATE_PREDEFINED_MAX = 0x20000
2876 } URLTEMPLATE;
2877 typedef enum {
2878 ZAFLAGS_CUSTOM_EDIT = 0x1,
2879 ZAFLAGS_ADD_SITES = 0x2,
2880 ZAFLAGS_REQUIRE_VERIFICATION = 0x4,
2881 ZAFLAGS_INCLUDE_PROXY_OVERRIDE = 0x8,
2882 ZAFLAGS_INCLUDE_INTRANET_SITES = 0x10,
2883 ZAFLAGS_NO_UI = 0x20,
2884 ZAFLAGS_SUPPORTS_VERIFICATION = 0x40,
2885 ZAFLAGS_UNC_AS_INTRANET = 0x80
2886 } ZAFLAGS;
2887 enum {
2888 MAX_ZONE_PATH = 260,
2889 MAX_ZONE_DESCRIPTION = 200
2890 };
2891
2892 typedef struct _ZONEATTRIBUTES {
2893 ULONG cbSize;
2894 WCHAR szDisplayName[260];
2895 WCHAR szDescription[200];
2896 WCHAR szIconPath[260];
2897 DWORD dwTemplateMinLevel;
2898 DWORD dwTemplateRecommended;
2899 DWORD dwTemplateCurrentLevel;
2900 DWORD dwFlags;
2901 } ZONEATTRIBUTES, *LPZONEATTRIBUTES;
2902 typedef enum _URLZONEREG {
2903 URLZONEREG_DEFAULT,
2904 URLZONEREG_HKLM,
2905 URLZONEREG_HKCU
2906 } URLZONEREG;
2907 /*****************************************************************************
2908 * IInternetZoneManager interface
2909 */
2910 #ifndef __IInternetZoneManager_INTERFACE_DEFINED__
2911 #define __IInternetZoneManager_INTERFACE_DEFINED__
2912
2913 DEFINE_GUID(IID_IInternetZoneManager, 0x79eac9ef, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
2914 #if defined(__cplusplus) && !defined(CINTERFACE)
2915 interface IInternetZoneManager : public IUnknown
2916 {
2917 virtual HRESULT STDMETHODCALLTYPE GetZoneAttributes(
2918 DWORD dwZone,
2919 ZONEATTRIBUTES* pZoneAttributes) = 0;
2920
2921 virtual HRESULT STDMETHODCALLTYPE SetZoneAttributes(
2922 DWORD dwZone,
2923 ZONEATTRIBUTES* pZoneAttributes) = 0;
2924
2925 virtual HRESULT STDMETHODCALLTYPE GetZoneCustomPolicy(
2926 DWORD dwZone,
2927 REFGUID guidKey,
2928 BYTE** ppPolicy,
2929 DWORD* pcbPolicy,
2930 URLZONEREG ulrZoneReg) = 0;
2931
2932 virtual HRESULT STDMETHODCALLTYPE SetZoneCustomPolicy(
2933 DWORD dwZone,
2934 REFGUID guidKey,
2935 BYTE* ppPolicy,
2936 DWORD pcbPolicy,
2937 URLZONEREG ulrZoneReg) = 0;
2938
2939 virtual HRESULT STDMETHODCALLTYPE GetZoneActionPolicy(
2940 DWORD dwZone,
2941 DWORD dwAction,
2942 BYTE* pPolicy,
2943 DWORD cbPolicy,
2944 URLZONEREG urlZoneReg) = 0;
2945
2946 virtual HRESULT STDMETHODCALLTYPE SetZoneActionPolicy(
2947 DWORD dwZone,
2948 DWORD dwAction,
2949 BYTE* pPolicy,
2950 DWORD cbPolicy,
2951 URLZONEREG urlZoneReg) = 0;
2952
2953 virtual HRESULT STDMETHODCALLTYPE PromptAction(
2954 DWORD dwAction,
2955 HWND hwndParent,
2956 LPCWSTR pwszUrl,
2957 LPCWSTR pwszText,
2958 DWORD dwPromptFlags) = 0;
2959
2960 virtual HRESULT STDMETHODCALLTYPE LogAction(
2961 DWORD dwAction,
2962 LPCWSTR pwszUrl,
2963 LPCWSTR pwszText,
2964 DWORD dwLogFlags) = 0;
2965
2966 virtual HRESULT STDMETHODCALLTYPE CreateZoneEnumerator(
2967 DWORD* pdwEnum,
2968 DWORD* pdwCount,
2969 DWORD dwFlags) = 0;
2970
2971 virtual HRESULT STDMETHODCALLTYPE GetZoneAt(
2972 DWORD dwEnum,
2973 DWORD dwIndex,
2974 DWORD* pdwZone) = 0;
2975
2976 virtual HRESULT STDMETHODCALLTYPE DestroyZoneEnumerator(
2977 DWORD dwEnum) = 0;
2978
2979 virtual HRESULT STDMETHODCALLTYPE CopyTemplatePoliciesToZone(
2980 DWORD dwTemplate,
2981 DWORD dwZone,
2982 DWORD dwReserved) = 0;
2983
2984 };
2985 #else
2986 typedef struct IInternetZoneManagerVtbl {
2987 BEGIN_INTERFACE
2988
2989 /*** IUnknown methods ***/
2990 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2991 IInternetZoneManager* This,
2992 REFIID riid,
2993 void** ppvObject);
2994
2995 ULONG (STDMETHODCALLTYPE *AddRef)(
2996 IInternetZoneManager* This);
2997
2998 ULONG (STDMETHODCALLTYPE *Release)(
2999 IInternetZoneManager* This);
3000
3001 /*** IInternetZoneManager methods ***/
3002 HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)(
3003 IInternetZoneManager* This,
3004 DWORD dwZone,
3005 ZONEATTRIBUTES* pZoneAttributes);
3006
3007 HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)(
3008 IInternetZoneManager* This,
3009 DWORD dwZone,
3010 ZONEATTRIBUTES* pZoneAttributes);
3011
3012 HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)(
3013 IInternetZoneManager* This,
3014 DWORD dwZone,
3015 REFGUID guidKey,
3016 BYTE** ppPolicy,
3017 DWORD* pcbPolicy,
3018 URLZONEREG ulrZoneReg);
3019
3020 HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)(
3021 IInternetZoneManager* This,
3022 DWORD dwZone,
3023 REFGUID guidKey,
3024 BYTE* ppPolicy,
3025 DWORD pcbPolicy,
3026 URLZONEREG ulrZoneReg);
3027
3028 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)(
3029 IInternetZoneManager* This,
3030 DWORD dwZone,
3031 DWORD dwAction,
3032 BYTE* pPolicy,
3033 DWORD cbPolicy,
3034 URLZONEREG urlZoneReg);
3035
3036 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)(
3037 IInternetZoneManager* This,
3038 DWORD dwZone,
3039 DWORD dwAction,
3040 BYTE* pPolicy,
3041 DWORD cbPolicy,
3042 URLZONEREG urlZoneReg);
3043
3044 HRESULT (STDMETHODCALLTYPE *PromptAction)(
3045 IInternetZoneManager* This,
3046 DWORD dwAction,
3047 HWND hwndParent,
3048 LPCWSTR pwszUrl,
3049 LPCWSTR pwszText,
3050 DWORD dwPromptFlags);
3051
3052 HRESULT (STDMETHODCALLTYPE *LogAction)(
3053 IInternetZoneManager* This,
3054 DWORD dwAction,
3055 LPCWSTR pwszUrl,
3056 LPCWSTR pwszText,
3057 DWORD dwLogFlags);
3058
3059 HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)(
3060 IInternetZoneManager* This,
3061 DWORD* pdwEnum,
3062 DWORD* pdwCount,
3063 DWORD dwFlags);
3064
3065 HRESULT (STDMETHODCALLTYPE *GetZoneAt)(
3066 IInternetZoneManager* This,
3067 DWORD dwEnum,
3068 DWORD dwIndex,
3069 DWORD* pdwZone);
3070
3071 HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)(
3072 IInternetZoneManager* This,
3073 DWORD dwEnum);
3074
3075 HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)(
3076 IInternetZoneManager* This,
3077 DWORD dwTemplate,
3078 DWORD dwZone,
3079 DWORD dwReserved);
3080
3081 END_INTERFACE
3082 } IInternetZoneManagerVtbl;
3083 interface IInternetZoneManager {
3084 const IInternetZoneManagerVtbl* lpVtbl;
3085 };
3086
3087 #ifdef COBJMACROS
3088 /*** IUnknown methods ***/
3089 #define IInternetZoneManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3090 #define IInternetZoneManager_AddRef(p) (p)->lpVtbl->AddRef(p)
3091 #define IInternetZoneManager_Release(p) (p)->lpVtbl->Release(p)
3092 /*** IInternetZoneManager methods ***/
3093 #define IInternetZoneManager_GetZoneAttributes(p,a,b) (p)->lpVtbl->GetZoneAttributes(p,a,b)
3094 #define IInternetZoneManager_SetZoneAttributes(p,a,b) (p)->lpVtbl->SetZoneAttributes(p,a,b)
3095 #define IInternetZoneManager_GetZoneCustomPolicy(p,a,b,c,d,e) (p)->lpVtbl->GetZoneCustomPolicy(p,a,b,c,d,e)
3096 #define IInternetZoneManager_SetZoneCustomPolicy(p,a,b,c,d,e) (p)->lpVtbl->SetZoneCustomPolicy(p,a,b,c,d,e)
3097 #define IInternetZoneManager_GetZoneActionPolicy(p,a,b,c,d,e) (p)->lpVtbl->GetZoneActionPolicy(p,a,b,c,d,e)
3098 #define IInternetZoneManager_SetZoneActionPolicy(p,a,b,c,d,e) (p)->lpVtbl->SetZoneActionPolicy(p,a,b,c,d,e)
3099 #define IInternetZoneManager_PromptAction(p,a,b,c,d,e) (p)->lpVtbl->PromptAction(p,a,b,c,d,e)
3100 #define IInternetZoneManager_LogAction(p,a,b,c,d) (p)->lpVtbl->LogAction(p,a,b,c,d)
3101 #define IInternetZoneManager_CreateZoneEnumerator(p,a,b,c) (p)->lpVtbl->CreateZoneEnumerator(p,a,b,c)
3102 #define IInternetZoneManager_GetZoneAt(p,a,b,c) (p)->lpVtbl->GetZoneAt(p,a,b,c)
3103 #define IInternetZoneManager_DestroyZoneEnumerator(p,a) (p)->lpVtbl->DestroyZoneEnumerator(p,a)
3104 #define IInternetZoneManager_CopyTemplatePoliciesToZone(p,a,b,c) (p)->lpVtbl->CopyTemplatePoliciesToZone(p,a,b,c)
3105 #endif
3106
3107 #endif
3108
3109 HRESULT CALLBACK IInternetZoneManager_GetZoneAttributes_Proxy(
3110 IInternetZoneManager* This,
3111 DWORD dwZone,
3112 ZONEATTRIBUTES* pZoneAttributes);
3113 void __RPC_STUB IInternetZoneManager_GetZoneAttributes_Stub(
3114 IRpcStubBuffer* This,
3115 IRpcChannelBuffer* pRpcChannelBuffer,
3116 PRPC_MESSAGE pRpcMessage,
3117 DWORD* pdwStubPhase);
3118 HRESULT CALLBACK IInternetZoneManager_SetZoneAttributes_Proxy(
3119 IInternetZoneManager* This,
3120 DWORD dwZone,
3121 ZONEATTRIBUTES* pZoneAttributes);
3122 void __RPC_STUB IInternetZoneManager_SetZoneAttributes_Stub(
3123 IRpcStubBuffer* This,
3124 IRpcChannelBuffer* pRpcChannelBuffer,
3125 PRPC_MESSAGE pRpcMessage,
3126 DWORD* pdwStubPhase);
3127 HRESULT CALLBACK IInternetZoneManager_GetZoneCustomPolicy_Proxy(
3128 IInternetZoneManager* This,
3129 DWORD dwZone,
3130 REFGUID guidKey,
3131 BYTE** ppPolicy,
3132 DWORD* pcbPolicy,
3133 URLZONEREG ulrZoneReg);
3134 void __RPC_STUB IInternetZoneManager_GetZoneCustomPolicy_Stub(
3135 IRpcStubBuffer* This,
3136 IRpcChannelBuffer* pRpcChannelBuffer,
3137 PRPC_MESSAGE pRpcMessage,
3138 DWORD* pdwStubPhase);
3139 HRESULT CALLBACK IInternetZoneManager_SetZoneCustomPolicy_Proxy(
3140 IInternetZoneManager* This,
3141 DWORD dwZone,
3142 REFGUID guidKey,
3143 BYTE* ppPolicy,
3144 DWORD pcbPolicy,
3145 URLZONEREG ulrZoneReg);
3146 void __RPC_STUB IInternetZoneManager_SetZoneCustomPolicy_Stub(
3147 IRpcStubBuffer* This,
3148 IRpcChannelBuffer* pRpcChannelBuffer,
3149 PRPC_MESSAGE pRpcMessage,
3150 DWORD* pdwStubPhase);
3151 HRESULT CALLBACK IInternetZoneManager_GetZoneActionPolicy_Proxy(
3152 IInternetZoneManager* This,
3153 DWORD dwZone,
3154 DWORD dwAction,
3155 BYTE* pPolicy,
3156 DWORD cbPolicy,
3157 URLZONEREG urlZoneReg);
3158 void __RPC_STUB IInternetZoneManager_GetZoneActionPolicy_Stub(
3159 IRpcStubBuffer* This,
3160 IRpcChannelBuffer* pRpcChannelBuffer,
3161 PRPC_MESSAGE pRpcMessage,
3162 DWORD* pdwStubPhase);
3163 HRESULT CALLBACK IInternetZoneManager_SetZoneActionPolicy_Proxy(
3164 IInternetZoneManager* This,
3165 DWORD dwZone,
3166 DWORD dwAction,
3167 BYTE* pPolicy,
3168 DWORD cbPolicy,
3169 URLZONEREG urlZoneReg);
3170 void __RPC_STUB IInternetZoneManager_SetZoneActionPolicy_Stub(
3171 IRpcStubBuffer* This,
3172 IRpcChannelBuffer* pRpcChannelBuffer,
3173 PRPC_MESSAGE pRpcMessage,
3174 DWORD* pdwStubPhase);
3175 HRESULT CALLBACK IInternetZoneManager_PromptAction_Proxy(
3176 IInternetZoneManager* This,
3177 DWORD dwAction,
3178 HWND hwndParent,
3179 LPCWSTR pwszUrl,
3180 LPCWSTR pwszText,
3181 DWORD dwPromptFlags);
3182 void __RPC_STUB IInternetZoneManager_PromptAction_Stub(
3183 IRpcStubBuffer* This,
3184 IRpcChannelBuffer* pRpcChannelBuffer,
3185 PRPC_MESSAGE pRpcMessage,
3186 DWORD* pdwStubPhase);
3187 HRESULT CALLBACK IInternetZoneManager_LogAction_Proxy(
3188 IInternetZoneManager* This,
3189 DWORD dwAction,
3190 LPCWSTR pwszUrl,
3191 LPCWSTR pwszText,
3192 DWORD dwLogFlags);
3193 void __RPC_STUB IInternetZoneManager_LogAction_Stub(
3194 IRpcStubBuffer* This,
3195 IRpcChannelBuffer* pRpcChannelBuffer,
3196 PRPC_MESSAGE pRpcMessage,
3197 DWORD* pdwStubPhase);
3198 HRESULT CALLBACK IInternetZoneManager_CreateZoneEnumerator_Proxy(
3199 IInternetZoneManager* This,
3200 DWORD* pdwEnum,
3201 DWORD* pdwCount,
3202 DWORD dwFlags);
3203 void __RPC_STUB IInternetZoneManager_CreateZoneEnumerator_Stub(
3204 IRpcStubBuffer* This,
3205 IRpcChannelBuffer* pRpcChannelBuffer,
3206 PRPC_MESSAGE pRpcMessage,
3207 DWORD* pdwStubPhase);
3208 HRESULT CALLBACK IInternetZoneManager_GetZoneAt_Proxy(
3209 IInternetZoneManager* This,
3210 DWORD dwEnum,
3211 DWORD dwIndex,
3212 DWORD* pdwZone);
3213 void __RPC_STUB IInternetZoneManager_GetZoneAt_Stub(
3214 IRpcStubBuffer* This,
3215 IRpcChannelBuffer* pRpcChannelBuffer,
3216 PRPC_MESSAGE pRpcMessage,
3217 DWORD* pdwStubPhase);
3218 HRESULT CALLBACK IInternetZoneManager_DestroyZoneEnumerator_Proxy(
3219 IInternetZoneManager* This,
3220 DWORD dwEnum);
3221 void __RPC_STUB IInternetZoneManager_DestroyZoneEnumerator_Stub(
3222 IRpcStubBuffer* This,
3223 IRpcChannelBuffer* pRpcChannelBuffer,
3224 PRPC_MESSAGE pRpcMessage,
3225 DWORD* pdwStubPhase);
3226 HRESULT CALLBACK IInternetZoneManager_CopyTemplatePoliciesToZone_Proxy(
3227 IInternetZoneManager* This,
3228 DWORD dwTemplate,
3229 DWORD dwZone,
3230 DWORD dwReserved);
3231 void __RPC_STUB IInternetZoneManager_CopyTemplatePoliciesToZone_Stub(
3232 IRpcStubBuffer* This,
3233 IRpcChannelBuffer* pRpcChannelBuffer,
3234 PRPC_MESSAGE pRpcMessage,
3235 DWORD* pdwStubPhase);
3236
3237 #endif /* __IInternetZoneManager_INTERFACE_DEFINED__ */
3238
3239 typedef struct _tagSOFTDISTINFO {
3240 ULONG cbSize;
3241 DWORD dwFlags;
3242 DWORD dwAdState;
3243 LPWSTR szTitle;
3244 LPWSTR szAbstract;
3245 LPWSTR szHREF;
3246 DWORD dwInstalledVersionMS;
3247 DWORD dwInstalledVersionLS;
3248 DWORD dwUpdateVersionMS;
3249 DWORD dwUpdateVersionLS;
3250 DWORD dwAdvertisedVersionMS;
3251 DWORD dwAdvertisedVersionLS;
3252 DWORD dwReserved;
3253 } SOFTDISTINFO, *LPSOFTDISTINFO;
3254 typedef struct _tagCODEBASEHOLD {
3255 DWORD cbSize;
3256 LPWSTR szDistUnit;
3257 LPWSTR szCodeBase;
3258 DWORD dwVersionMS;
3259 DWORD dwVersionLS;
3260 DWORD dwStyle;
3261 } CODEBASEHOLD, *LPCODEBASEHOLD;
3262 #ifndef __ISoftDistExt_FWD_DEFINED__
3263 #define __ISoftDistExt_FWD_DEFINED__
3264 typedef interface ISoftDistExt ISoftDistExt;
3265 #endif
3266
3267 /*****************************************************************************
3268 * ISoftDistExt interface
3269 */
3270 #ifndef __ISoftDistExt_INTERFACE_DEFINED__
3271 #define __ISoftDistExt_INTERFACE_DEFINED__
3272
3273 DEFINE_GUID(IID_ISoftDistExt, 0xb15b8dc1, 0xc7e1, 0x11d0, 0x86,0x80, 0x00,0xaa,0x00,0xbd,0xcb,0x71);
3274 #if defined(__cplusplus) && !defined(CINTERFACE)
3275 interface ISoftDistExt : public IUnknown
3276 {
3277 virtual HRESULT STDMETHODCALLTYPE ProcessSoftDist(
3278 LPCWSTR szCDFURL,
3279 IXMLElement* pSoftDistElement,
3280 LPSOFTDISTINFO lpsdi) = 0;
3281
3282 virtual HRESULT STDMETHODCALLTYPE GetFirstCodeBase(
3283 LPWSTR* szCodeBase,
3284 LPDWORD dwMaxSize) = 0;
3285
3286 virtual HRESULT STDMETHODCALLTYPE GetNextCodeBase(
3287 LPWSTR* szCodeBase,
3288 LPDWORD dwMaxSize) = 0;
3289
3290 virtual HRESULT STDMETHODCALLTYPE AsyncInstallDistributionUnit(
3291 IBindCtx* pbc,
3292 LPVOID lpReserved,
3293 DWORD flags,
3294 LPCODEBASEHOLD lpcbh) = 0;
3295
3296 };
3297 #else
3298 typedef struct ISoftDistExtVtbl {
3299 BEGIN_INTERFACE
3300
3301 /*** IUnknown methods ***/
3302 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3303 ISoftDistExt* This,
3304 REFIID riid,
3305 void** ppvObject);
3306
3307 ULONG (STDMETHODCALLTYPE *AddRef)(
3308 ISoftDistExt* This);
3309
3310 ULONG (STDMETHODCALLTYPE *Release)(
3311 ISoftDistExt* This);
3312
3313 /*** ISoftDistExt methods ***/
3314 HRESULT (STDMETHODCALLTYPE *ProcessSoftDist)(
3315 ISoftDistExt* This,
3316 LPCWSTR szCDFURL,
3317 IXMLElement* pSoftDistElement,
3318 LPSOFTDISTINFO lpsdi);
3319
3320 HRESULT (STDMETHODCALLTYPE *GetFirstCodeBase)(
3321 ISoftDistExt* This,
3322 LPWSTR* szCodeBase,
3323 LPDWORD dwMaxSize);
3324
3325 HRESULT (STDMETHODCALLTYPE *GetNextCodeBase)(
3326 ISoftDistExt* This,
3327 LPWSTR* szCodeBase,
3328 LPDWORD dwMaxSize);
3329
3330 HRESULT (STDMETHODCALLTYPE *AsyncInstallDistributionUnit)(
3331 ISoftDistExt* This,
3332 IBindCtx* pbc,
3333 LPVOID lpReserved,
3334 DWORD flags,
3335 LPCODEBASEHOLD lpcbh);
3336
3337 END_INTERFACE
3338 } ISoftDistExtVtbl;
3339 interface ISoftDistExt {
3340 const ISoftDistExtVtbl* lpVtbl;
3341 };
3342
3343 #ifdef COBJMACROS
3344 /*** IUnknown methods ***/
3345 #define ISoftDistExt_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3346 #define ISoftDistExt_AddRef(p) (p)->lpVtbl->AddRef(p)
3347 #define ISoftDistExt_Release(p) (p)->lpVtbl->Release(p)
3348 /*** ISoftDistExt methods ***/
3349 #define ISoftDistExt_ProcessSoftDist(p,a,b,c) (p)->lpVtbl->ProcessSoftDist(p,a,b,c)
3350 #define ISoftDistExt_GetFirstCodeBase(p,a,b) (p)->lpVtbl->GetFirstCodeBase(p,a,b)
3351 #define ISoftDistExt_GetNextCodeBase(p,a,b) (p)->lpVtbl->GetNextCodeBase(p,a,b)
3352 #define ISoftDistExt_AsyncInstallDistributionUnit(p,a,b,c,d) (p)->lpVtbl->AsyncInstallDistributionUnit(p,a,b,c,d)
3353 #endif
3354
3355 #endif
3356
3357 HRESULT CALLBACK ISoftDistExt_ProcessSoftDist_Proxy(
3358 ISoftDistExt* This,
3359 LPCWSTR szCDFURL,
3360 IXMLElement* pSoftDistElement,
3361 LPSOFTDISTINFO lpsdi);
3362 void __RPC_STUB ISoftDistExt_ProcessSoftDist_Stub(
3363 IRpcStubBuffer* This,
3364 IRpcChannelBuffer* pRpcChannelBuffer,
3365 PRPC_MESSAGE pRpcMessage,
3366 DWORD* pdwStubPhase);
3367 HRESULT CALLBACK ISoftDistExt_GetFirstCodeBase_Proxy(
3368 ISoftDistExt* This,
3369 LPWSTR* szCodeBase,
3370 LPDWORD dwMaxSize);
3371 void __RPC_STUB ISoftDistExt_GetFirstCodeBase_Stub(
3372 IRpcStubBuffer* This,
3373 IRpcChannelBuffer* pRpcChannelBuffer,
3374 PRPC_MESSAGE pRpcMessage,
3375 DWORD* pdwStubPhase);
3376 HRESULT CALLBACK ISoftDistExt_GetNextCodeBase_Proxy(
3377 ISoftDistExt* This,
3378 LPWSTR* szCodeBase,
3379 LPDWORD dwMaxSize);
3380 void __RPC_STUB ISoftDistExt_GetNextCodeBase_Stub(
3381 IRpcStubBuffer* This,
3382 IRpcChannelBuffer* pRpcChannelBuffer,
3383 PRPC_MESSAGE pRpcMessage,
3384 DWORD* pdwStubPhase);
3385 HRESULT CALLBACK ISoftDistExt_AsyncInstallDistributionUnit_Proxy(
3386 ISoftDistExt* This,
3387 IBindCtx* pbc,
3388 LPVOID lpReserved,
3389 DWORD flags,
3390 LPCODEBASEHOLD lpcbh);
3391 void __RPC_STUB ISoftDistExt_AsyncInstallDistributionUnit_Stub(
3392 IRpcStubBuffer* This,
3393 IRpcChannelBuffer* pRpcChannelBuffer,
3394 PRPC_MESSAGE pRpcMessage,
3395 DWORD* pdwStubPhase);
3396
3397 #endif /* __ISoftDistExt_INTERFACE_DEFINED__ */
3398
3399 DEFINE_GUID(CLSID_InternetSecurityManager, 0x7b8a2d94, 0x0ac9, 0x11d1, 0x89, 0x6c, 0x00, 0xc0, 0x4f, 0xB6, 0xbf, 0xc4);
3400 DEFINE_GUID(CLSID_InternetZoneManager, 0x7B8A2D95, 0x0AC9, 0x11D1, 0x89, 0x6C, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4);
3401 DEFINE_GUID(IID_IAsyncMoniker, 0x79EAC9D3, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
3402 DEFINE_GUID(IID_IAsyncBindCtx, 0x79EAC9D4, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
3403 DEFINE_GUID(CLSID_StdURLMoniker, 0x79EAC9E0, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
3404 DEFINE_GUID(CLSID_CdlProtocol, 0x3dd53d40, 0x7b8b, 0x11D0, 0xb0,0x13, 0x00,0xaa,0x00,0x59,0xce,0x02);
3405 DEFINE_GUID(CLSID_FileProtocol, 0x79EAC9E7, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);
3406 DEFINE_GUID(CLSID_FtpProtocol, 0x79EAC9E3, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);
3407 DEFINE_GUID(CLSID_GopherProtocol, 0x79EAC9E4, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);
3408 DEFINE_GUID(CLSID_HttpProtocol, 0x79EAC9E2, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);
3409 DEFINE_GUID(CLSID_HttpSProtocol, 0x79EAC9E5, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);
3410 DEFINE_GUID(CLSID_MkProtocol, 0x79EAC9E6, 0xBAF9, 0x11CE, 0x8C,0x82, 0x00,0xAA,0x00,0x4B,0xA9,0x0B);
3411 #define MK_S_ASYNCHRONOUS 0x000401E8
3412 #define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS
3413 #define INET_E_ERROR_FIRST 0x800C0002
3414 #define INET_E_INVALID_URL 0x800C0002
3415 #define INET_E_NO_SESSION 0x800C0003
3416 #define INET_E_CANNOT_CONNECT 0x800C0004
3417 #define INET_E_RESOURCE_NOT_FOUND 0x800C0005
3418 #define INET_E_OBJECT_NOT_FOUND 0x800C0006
3419 #define INET_E_DATA_NOT_AVAILABLE 0x800C0007
3420 #define INET_E_DOWNLOAD_FAILURE 0x800C0008
3421 #define INET_E_AUTHENTICATION_REQUIRED 0x800C0009
3422 #define INET_E_NO_VALID_MEDIA 0x800C000A
3423 #define INET_E_CONNECTION_TIMEOUT 0x800C000B
3424 #define INET_E_INVALID_REQUEST 0x800C000C
3425 #define INET_E_UNKNOWN_PROTOCOL 0x800C000D
3426 #define INET_E_SECURITY_PROBLEM 0x800C000E
3427 #define INET_E_CANNOT_LOAD_DATA 0x800C000F
3428 #define INET_E_CANNOT_INSTANTIATE_OBJECT 0x800C0010
3429 #define INET_E_USE_DEFAULT_PROTOCOLHANDLER 0x800C0011
3430 #define INET_E_QUERYOPTION_UNKNOWN 0x800C0013
3431 #define INET_E_REDIRECT_FAILED 0x800C0014
3432 #define INET_E_REDIRECT_TO_DIR 0x800C0015
3433 #define INET_E_CANNOT_LOCK_REQUEST 0x800C0016
3434 #define INET_E_ERROR_LAST INET_E_REDIRECT_TO_DIR
3435 #define INET_E_DEFAULT_ACTION INET_E_USE_DEFAULT_PROTOCOLHANDLER
3436 HRESULT WINAPI CoGetClassObjectFromURL(REFCLSID, LPCWSTR, DWORD, DWORD, LPCWSTR, LPBINDCTX, DWORD, LPVOID, REFIID, LPVOID*);
3437 HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk);
3438 HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbsc, DWORD dwReserved);
3439 HRESULT WINAPI CompareSecurityIds(BYTE*,DWORD,BYTE*,DWORD,DWORD);
3440 HRESULT WINAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
3441 HRESULT WINAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
3442 HRESULT WINAPI URLDownloadToCacheFileA(LPUNKNOWN,LPCSTR,LPSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);
3443 HRESULT WINAPI URLDownloadToCacheFileW(LPUNKNOWN,LPCWSTR,LPWSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);
3444 HRESULT WINAPI CoInternetGetSession(DWORD,IInternetSession**,DWORD);
3445 HRESULT WINAPI MkParseDisplayNameEx(IBindCtx*,LPCWSTR,ULONG*,IMoniker**);
3446 HRESULT WINAPI IsAsyncMoniker(IMoniker* pmk);
3447 HRESULT WINAPI CreateAsyncBindCtx(DWORD, IBindStatusCallback*, IEnumFORMATETC*, IBindCtx**);
3448 HRESULT WINAPI CreateAsyncBindCtxEx(IBindCtx*,DWORD,IBindStatusCallback*,IEnumFORMATETC*,IBindCtx**,DWORD);
3449 HRESULT WINAPI CoInternetCreateSecurityManager(IServiceProvider*,IInternetSecurityManager**,DWORD);
3450 HRESULT WINAPI CoInternetCombineUrl(LPCWSTR,LPCWSTR,DWORD,LPWSTR,DWORD,DWORD*,DWORD);
3451 HRESULT WINAPI CoInternetCompareUrl(LPCWSTR,LPCWSTR,DWORD);
3452 HRESULT WINAPI CoInternetCreateZoneManager(IServiceProvider*, IInternetZoneManager**, DWORD);
3453 HRESULT WINAPI CoInternetParseUrl(LPCWSTR,PARSEACTION,DWORD,LPWSTR,DWORD,DWORD*,DWORD);
3454 HRESULT WINAPI CoInternetQueryInfo(LPCWSTR,QUERYOPTION,DWORD,LPVOID,DWORD,DWORD*,DWORD);
3455 HRESULT WINAPI CreateFormatEnumerator(UINT,FORMATETC*,IEnumFORMATETC**);
3456 HRESULT WINAPI GetSoftwareUpdateInfo( LPCWSTR szDistUnit, LPSOFTDISTINFO psdi);
3457 HRESULT WINAPI FaultInIEFeature(HWND,uCLSSPEC*,QUERYCONTEXT*,DWORD);
3458 HRESULT WINAPI FindMimeFromData(LPBC,LPCWSTR,LPVOID,DWORD,LPCWSTR,DWORD,LPWSTR*,DWORD);
3459 HRESULT WINAPI HlinkGoBack(IUnknown*);
3460 HRESULT WINAPI HlinkGoForward(IUnknown*);
3461 HRESULT WINAPI HlinkNavigateMoniker(IUnknown*,IMoniker*);
3462 HRESULT WINAPI HlinkNavigateString(IUnknown*,LPCWSTR);
3463 HRESULT WINAPI HlinkSimpleNavigateToMoniker(IMoniker*,LPCWSTR,LPCWSTR,IUnknown*,IBindCtx*,IBindStatusCallback*,DWORD,DWORD);
3464 HRESULT WINAPI HlinkSimpleNavigateToString(LPCWSTR,LPCWSTR,LPCWSTR,IUnknown*,IBindCtx*,IBindStatusCallback*,DWORD,DWORD);
3465 HRESULT WINAPI IsValidURL(LPBC,LPCWSTR,DWORD);
3466 HRESULT WINAPI ObtainUserAgentString(DWORD,LPSTR,DWORD*);
3467 HRESULT WINAPI RegisterFormatEnumerator(LPBC,IEnumFORMATETC*,DWORD);
3468 HRESULT WINAPI RevokeFormatEnumerator(LPBC,IEnumFORMATETC*);
3469 HRESULT WINAPI RevokeBindStatusCallback(LPBC,IBindStatusCallback*);
3470 void WINAPI ReleaseBindInfo(BINDINFO