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