Sync to Wine-20050830:
[reactos.git] / reactos / include / wine / 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 #ifndef __IBinding_FWD_DEFINED__
14 #define __IBinding_FWD_DEFINED__
15 typedef struct IBinding IBinding;
16 #endif
17
18 typedef IBinding *LPBINDING;
19
20 /*****************************************************************************
21 * IBinding interface
22 */
23 #ifndef __IBinding_INTERFACE_DEFINED__
24 #define __IBinding_INTERFACE_DEFINED__
25
26 DEFINE_GUID(IID_IBinding, 0x79eac9c0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
27 #if defined(__cplusplus) && !defined(CINTERFACE)
28 struct IBinding : public IUnknown
29 {
30 virtual HRESULT STDMETHODCALLTYPE Abort(
31 ) = 0;
32
33 virtual HRESULT STDMETHODCALLTYPE Suspend(
34 ) = 0;
35
36 virtual HRESULT STDMETHODCALLTYPE Resume(
37 ) = 0;
38
39 virtual HRESULT STDMETHODCALLTYPE SetPriority(
40 LONG nPriority) = 0;
41
42 virtual HRESULT STDMETHODCALLTYPE GetPriority(
43 LONG* pnPriority) = 0;
44
45 virtual HRESULT STDMETHODCALLTYPE GetBindResult(
46 CLSID* pclsidProtocol,
47 DWORD* pdwResult,
48 LPOLESTR* pszResult,
49 DWORD* pdwReserved) = 0;
50
51 };
52 #else
53 typedef struct IBindingVtbl IBindingVtbl;
54 struct IBinding {
55 const IBindingVtbl* lpVtbl;
56 };
57 struct IBindingVtbl {
58 BEGIN_INTERFACE
59
60 /*** IUnknown methods ***/
61 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
62 IBinding* This,
63 REFIID riid,
64 void** ppvObject);
65
66 ULONG (STDMETHODCALLTYPE *AddRef)(
67 IBinding* This);
68
69 ULONG (STDMETHODCALLTYPE *Release)(
70 IBinding* This);
71
72 /*** IBinding methods ***/
73 HRESULT (STDMETHODCALLTYPE *Abort)(
74 IBinding* This);
75
76 HRESULT (STDMETHODCALLTYPE *Suspend)(
77 IBinding* This);
78
79 HRESULT (STDMETHODCALLTYPE *Resume)(
80 IBinding* This);
81
82 HRESULT (STDMETHODCALLTYPE *SetPriority)(
83 IBinding* This,
84 LONG nPriority);
85
86 HRESULT (STDMETHODCALLTYPE *GetPriority)(
87 IBinding* This,
88 LONG* pnPriority);
89
90 HRESULT (STDMETHODCALLTYPE *GetBindResult)(
91 IBinding* This,
92 CLSID* pclsidProtocol,
93 DWORD* pdwResult,
94 LPOLESTR* pszResult,
95 DWORD* pdwReserved);
96
97 END_INTERFACE
98 };
99
100 #ifdef COBJMACROS
101 /*** IUnknown methods ***/
102 #define IBinding_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
103 #define IBinding_AddRef(p) (p)->lpVtbl->AddRef(p)
104 #define IBinding_Release(p) (p)->lpVtbl->Release(p)
105 /*** IBinding methods ***/
106 #define IBinding_Abort(p) (p)->lpVtbl->Abort(p)
107 #define IBinding_Suspend(p) (p)->lpVtbl->Suspend(p)
108 #define IBinding_Resume(p) (p)->lpVtbl->Resume(p)
109 #define IBinding_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
110 #define IBinding_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a)
111 #define IBinding_GetBindResult(p,a,b,c,d) (p)->lpVtbl->GetBindResult(p,a,b,c,d)
112 #endif
113
114 #endif
115
116 HRESULT CALLBACK IBinding_Abort_Proxy(
117 IBinding* This);
118 void __RPC_STUB IBinding_Abort_Stub(
119 struct IRpcStubBuffer* This,
120 struct IRpcChannelBuffer* pRpcChannelBuffer,
121 PRPC_MESSAGE pRpcMessage,
122 DWORD* pdwStubPhase);
123 HRESULT CALLBACK IBinding_Suspend_Proxy(
124 IBinding* This);
125 void __RPC_STUB IBinding_Suspend_Stub(
126 struct IRpcStubBuffer* This,
127 struct IRpcChannelBuffer* pRpcChannelBuffer,
128 PRPC_MESSAGE pRpcMessage,
129 DWORD* pdwStubPhase);
130 HRESULT CALLBACK IBinding_Resume_Proxy(
131 IBinding* This);
132 void __RPC_STUB IBinding_Resume_Stub(
133 struct IRpcStubBuffer* This,
134 struct IRpcChannelBuffer* pRpcChannelBuffer,
135 PRPC_MESSAGE pRpcMessage,
136 DWORD* pdwStubPhase);
137 HRESULT CALLBACK IBinding_SetPriority_Proxy(
138 IBinding* This,
139 LONG nPriority);
140 void __RPC_STUB IBinding_SetPriority_Stub(
141 struct IRpcStubBuffer* This,
142 struct IRpcChannelBuffer* pRpcChannelBuffer,
143 PRPC_MESSAGE pRpcMessage,
144 DWORD* pdwStubPhase);
145 HRESULT CALLBACK IBinding_GetPriority_Proxy(
146 IBinding* This,
147 LONG* pnPriority);
148 void __RPC_STUB IBinding_GetPriority_Stub(
149 struct IRpcStubBuffer* This,
150 struct IRpcChannelBuffer* pRpcChannelBuffer,
151 PRPC_MESSAGE pRpcMessage,
152 DWORD* pdwStubPhase);
153 HRESULT CALLBACK IBinding_RemoteGetBindResult_Proxy(
154 IBinding* This,
155 CLSID* pclsidProtocol,
156 DWORD* pdwResult,
157 LPOLESTR* pszResult,
158 DWORD dwReserved);
159 void __RPC_STUB IBinding_RemoteGetBindResult_Stub(
160 struct IRpcStubBuffer* This,
161 struct IRpcChannelBuffer* pRpcChannelBuffer,
162 PRPC_MESSAGE pRpcMessage,
163 DWORD* pdwStubPhase);
164 HRESULT CALLBACK IBinding_GetBindResult_Proxy(
165 IBinding* This,
166 CLSID* pclsidProtocol,
167 DWORD* pdwResult,
168 LPOLESTR* pszResult,
169 DWORD* pdwReserved);
170 HRESULT __RPC_STUB IBinding_GetBindResult_Stub(
171 IBinding* This,
172 CLSID* pclsidProtocol,
173 DWORD* pdwResult,
174 LPOLESTR* pszResult,
175 DWORD dwReserved);
176
177 #endif /* __IBinding_INTERFACE_DEFINED__ */
178
179 #ifndef __IBindStatusCallback_FWD_DEFINED__
180 #define __IBindStatusCallback_FWD_DEFINED__
181 typedef struct IBindStatusCallback IBindStatusCallback;
182 #endif
183
184 typedef IBindStatusCallback *LPBINDSTATUSCALLBACK;
185
186 typedef enum {
187 BINDF_ASYNCHRONOUS = 0x1,
188 BINDF_ASYNCSTORAGE = 0x2,
189 BINDF_NOPROGRESSIVERENDERING = 0x4,
190 BINDF_OFFLINEOPERATION = 0x8,
191 BINDF_GETNEWESTVERSION = 0x10,
192 BINDF_NOWRITECACHE = 0x20,
193 BINDF_NEEDFILE = 0x40,
194 BINDF_PULLDATA = 0x80,
195 BINDF_IGNORESECURITYPROBLEM = 0x100,
196 BINDF_RESYNCHRONIZE = 0x200,
197 BINDF_HYPERLINK = 0x400,
198 BINDF_NO_UI = 0x800,
199 BINDF_SILENTOPERATION = 0x1000,
200 BINDF_PRAGMA_NO_CACHE = 0x2000,
201 BINDF_GETCLASSOBJECT = 0x4000,
202 BINDF_RESERVED_1 = 0x8000,
203 BINDF_FREE_THREADED = 0x10000,
204 BINDF_DIRECT_READ = 0x20000,
205 BINDF_FORMS_SUBMIT = 0x40000,
206 BINDF_GETFROMCACHE_IF_NET_FAIL = 0x80000,
207 BINDF_FROMURLMON = 0x100000,
208 BINDF_FWD_BACK = 0x200000,
209 BINDF_PREFERDEFAULTHANDLER = 0x400000,
210 BINDF_ENFORCERESTRICTED = 0x800000
211 } BINDF;
212
213 typedef struct _tagBINDINFO {
214 ULONG cbSize;
215 LPWSTR szExtraInfo;
216 STGMEDIUM stgmedData;
217 DWORD grfBindInfoF;
218 DWORD dwBindVerb;
219 LPWSTR szCustomVerb;
220 DWORD cbStgmedData;
221 DWORD dwOptions;
222 DWORD dwOptionsFlags;
223 DWORD dwCodePage;
224 SECURITY_ATTRIBUTES securityAttributes;
225 IID iid;
226 IUnknown *pUnk;
227 DWORD dwReserved;
228 } BINDINFO;
229
230 typedef struct _REMSECURITY_ATTRIBUTES {
231 DWORD nLength;
232 DWORD lpSecurityDescriptor;
233 BOOL bInheritHandle;
234 } REMSECURITY_ATTRIBUTES, *PREMSECURITY_ATTRIBUTES, *LPREMSECURITY_ATTRIBUTES;
235
236 typedef struct _tagRemBINDINFO {
237 ULONG cbSize;
238 LPWSTR szExtraInfo;
239 DWORD grfBindInfoF;
240 DWORD dwBindVerb;
241 LPWSTR szCustomVerb;
242 DWORD cbstgmedData;
243 DWORD dwOptions;
244 DWORD dwOptionsFlags;
245 DWORD dwCodePage;
246 REMSECURITY_ATTRIBUTES securityAttributes;
247 IID iid;
248 IUnknown *pUnk;
249 DWORD dwReserved;
250 } RemBINDINFO;
251
252 typedef struct tagRemFORMATETC {
253 DWORD cfFormat;
254 DWORD ptd;
255 DWORD dwAspect;
256 LONG lindex;
257 DWORD tymed;
258 } RemFORMATETC, *LPREMFORMATETC;
259
260 typedef enum {
261 BSCF_FIRSTDATANOTIFICATION = 0x1,
262 BSCF_INTERMEDIATEDATANOTIFICATION = 0x2,
263 BSCF_LASTDATANOTIFICATION = 0x4,
264 BSCF_DATAFULLYAVAILABLE = 0x8,
265 BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10
266 } BSCF;
267
268 typedef enum BINDSTATUS {
269 BINDSTATUS_FINDINGRESOURCE = 1,
270 BINDSTATUS_CONNECTING,
271 BINDSTATUS_REDIRECTING,
272 BINDSTATUS_BEGINDOWNLOADDATA,
273 BINDSTATUS_DOWNLOADINGDATA,
274 BINDSTATUS_ENDDOWNLOADDATA,
275 BINDSTATUS_BEGINDOWNLOADCOMPONENTS,
276 BINDSTATUS_INSTALLINGCOMPONENTS,
277 BINDSTATUS_ENDDOWNLOADCOMPONENTS,
278 BINDSTATUS_USINGCACHEDCOPY,
279 BINDSTATUS_SENDINGREQUEST,
280 BINDSTATUS_CLASSIDAVAILABLE,
281 BINDSTATUS_MIMETYPEAVAILABLE,
282 BINDSTATUS_CACHEFILENAMEAVAILABLE,
283 BINDSTATUS_BEGINSYNCOPERATION,
284 BINDSTATUS_ENDSYNCOPERATION,
285 BINDSTATUS_BEGINUPLOADDATA,
286 BINDSTATUS_UPLOADINGDATA,
287 BINDSTATUS_ENDUPLOADINGDATA,
288 BINDSTATUS_PROTOCOLCLASSID,
289 BINDSTATUS_ENCODING,
290 BINDSTATUS_VERFIEDMIMETYPEAVAILABLE,
291 BINDSTATUS_CLASSINSTALLLOCATION,
292 BINDSTATUS_DECODING,
293 BINDSTATUS_LOADINGMIMEHANDLER,
294 BINDSTATUS_CONTENTDISPOSITIONATTACH,
295 BINDSTATUS_FILTERREPORTMIMETYPE,
296 BINDSTATUS_CLSIDCANINSTANTIATE,
297 BINDSTATUS_IUNKNOWNAVAILABLE,
298 BINDSTATUS_DIRECTBIND,
299 BINDSTATUS_RAWMIMETYPE,
300 BINDSTATUS_PROXYDETECTING,
301 BINDSTATUS_ACCEPTRANGES,
302 BINDSTATUS_COOKIE_SENT,
303 BINDSTATUS_COMPACT_POLICY_RECEIVED,
304 BINDSTATUS_COOKIE_SUPPRESSED,
305 BINDSTATUS_COOKIE_STATE_UNKNOWN,
306 BINDSTATUS_COOKIE_STATE_ACCEPT,
307 BINDSTATUS_COOKIE_STATE_REJECT,
308 BINDSTATUS_COOKIE_STATE_PROMPT,
309 BINDSTATUS_COOKIE_STATE_LEASH,
310 BINDSTATUS_COOKIE_STATE_DOWNGRADE,
311 BINDSTATUS_POLICY_HREF,
312 BINDSTATUS_P3P_HEADER,
313 BINDSTATUS_SESSION_COOKIE_RECEIVED,
314 BINDSTATUS_PERSISTENT_COOKIE_RECEIVED,
315 BINDSTATUS_SESSION_COOKIES_ALLOWED,
316 BINDSTATUS_CACHECONTROL
317 } BINDSTATUS;
318
319 /*****************************************************************************
320 * IBindStatusCallback interface
321 */
322 #ifndef __IBindStatusCallback_INTERFACE_DEFINED__
323 #define __IBindStatusCallback_INTERFACE_DEFINED__
324
325 DEFINE_GUID(IID_IBindStatusCallback, 0x79eac9c1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
326 #if defined(__cplusplus) && !defined(CINTERFACE)
327 struct IBindStatusCallback : public IUnknown
328 {
329 virtual HRESULT STDMETHODCALLTYPE OnStartBinding(
330 DWORD dwReserved,
331 IBinding* pib) = 0;
332
333 virtual HRESULT STDMETHODCALLTYPE GetPriority(
334 LONG* pnPriority) = 0;
335
336 virtual HRESULT STDMETHODCALLTYPE OnLowResource(
337 DWORD reserved) = 0;
338
339 virtual HRESULT STDMETHODCALLTYPE OnProgress(
340 ULONG ulProgress,
341 ULONG ulProgressMax,
342 ULONG ulStatusCode,
343 LPCWSTR szStatusText) = 0;
344
345 virtual HRESULT STDMETHODCALLTYPE OnStopBinding(
346 HRESULT hresult,
347 LPCWSTR szError) = 0;
348
349 virtual HRESULT STDMETHODCALLTYPE GetBindInfo(
350 DWORD* grfBINDF,
351 BINDINFO* pbindinfo) = 0;
352
353 virtual HRESULT STDMETHODCALLTYPE OnDataAvailable(
354 DWORD grfBSCF,
355 DWORD dwSize,
356 FORMATETC* pformatetc,
357 STGMEDIUM* pstgmed) = 0;
358
359 virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable(
360 REFIID riid,
361 IUnknown* punk) = 0;
362
363 };
364 #else
365 typedef struct IBindStatusCallbackVtbl IBindStatusCallbackVtbl;
366 struct IBindStatusCallback {
367 const IBindStatusCallbackVtbl* lpVtbl;
368 };
369 struct IBindStatusCallbackVtbl {
370 BEGIN_INTERFACE
371
372 /*** IUnknown methods ***/
373 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
374 IBindStatusCallback* This,
375 REFIID riid,
376 void** ppvObject);
377
378 ULONG (STDMETHODCALLTYPE *AddRef)(
379 IBindStatusCallback* This);
380
381 ULONG (STDMETHODCALLTYPE *Release)(
382 IBindStatusCallback* This);
383
384 /*** IBindStatusCallback methods ***/
385 HRESULT (STDMETHODCALLTYPE *OnStartBinding)(
386 IBindStatusCallback* This,
387 DWORD dwReserved,
388 IBinding* pib);
389
390 HRESULT (STDMETHODCALLTYPE *GetPriority)(
391 IBindStatusCallback* This,
392 LONG* pnPriority);
393
394 HRESULT (STDMETHODCALLTYPE *OnLowResource)(
395 IBindStatusCallback* This,
396 DWORD reserved);
397
398 HRESULT (STDMETHODCALLTYPE *OnProgress)(
399 IBindStatusCallback* This,
400 ULONG ulProgress,
401 ULONG ulProgressMax,
402 ULONG ulStatusCode,
403 LPCWSTR szStatusText);
404
405 HRESULT (STDMETHODCALLTYPE *OnStopBinding)(
406 IBindStatusCallback* This,
407 HRESULT hresult,
408 LPCWSTR szError);
409
410 HRESULT (STDMETHODCALLTYPE *GetBindInfo)(
411 IBindStatusCallback* This,
412 DWORD* grfBINDF,
413 BINDINFO* pbindinfo);
414
415 HRESULT (STDMETHODCALLTYPE *OnDataAvailable)(
416 IBindStatusCallback* This,
417 DWORD grfBSCF,
418 DWORD dwSize,
419 FORMATETC* pformatetc,
420 STGMEDIUM* pstgmed);
421
422 HRESULT (STDMETHODCALLTYPE *OnObjectAvailable)(
423 IBindStatusCallback* This,
424 REFIID riid,
425 IUnknown* punk);
426
427 END_INTERFACE
428 };
429
430 #ifdef COBJMACROS
431 /*** IUnknown methods ***/
432 #define IBindStatusCallback_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
433 #define IBindStatusCallback_AddRef(p) (p)->lpVtbl->AddRef(p)
434 #define IBindStatusCallback_Release(p) (p)->lpVtbl->Release(p)
435 /*** IBindStatusCallback methods ***/
436 #define IBindStatusCallback_OnStartBinding(p,a,b) (p)->lpVtbl->OnStartBinding(p,a,b)
437 #define IBindStatusCallback_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a)
438 #define IBindStatusCallback_OnLowResource(p,a) (p)->lpVtbl->OnLowResource(p,a)
439 #define IBindStatusCallback_OnProgress(p,a,b,c,d) (p)->lpVtbl->OnProgress(p,a,b,c,d)
440 #define IBindStatusCallback_OnStopBinding(p,a,b) (p)->lpVtbl->OnStopBinding(p,a,b)
441 #define IBindStatusCallback_GetBindInfo(p,a,b) (p)->lpVtbl->GetBindInfo(p,a,b)
442 #define IBindStatusCallback_OnDataAvailable(p,a,b,c,d) (p)->lpVtbl->OnDataAvailable(p,a,b,c,d)
443 #define IBindStatusCallback_OnObjectAvailable(p,a,b) (p)->lpVtbl->OnObjectAvailable(p,a,b)
444 #endif
445
446 #endif
447
448 HRESULT CALLBACK IBindStatusCallback_OnStartBinding_Proxy(
449 IBindStatusCallback* This,
450 DWORD dwReserved,
451 IBinding* pib);
452 void __RPC_STUB IBindStatusCallback_OnStartBinding_Stub(
453 struct IRpcStubBuffer* This,
454 struct IRpcChannelBuffer* pRpcChannelBuffer,
455 PRPC_MESSAGE pRpcMessage,
456 DWORD* pdwStubPhase);
457 HRESULT CALLBACK IBindStatusCallback_GetPriority_Proxy(
458 IBindStatusCallback* This,
459 LONG* pnPriority);
460 void __RPC_STUB IBindStatusCallback_GetPriority_Stub(
461 struct IRpcStubBuffer* This,
462 struct IRpcChannelBuffer* pRpcChannelBuffer,
463 PRPC_MESSAGE pRpcMessage,
464 DWORD* pdwStubPhase);
465 HRESULT CALLBACK IBindStatusCallback_OnLowResource_Proxy(
466 IBindStatusCallback* This,
467 DWORD reserved);
468 void __RPC_STUB IBindStatusCallback_OnLowResource_Stub(
469 struct IRpcStubBuffer* This,
470 struct IRpcChannelBuffer* pRpcChannelBuffer,
471 PRPC_MESSAGE pRpcMessage,
472 DWORD* pdwStubPhase);
473 HRESULT CALLBACK IBindStatusCallback_OnProgress_Proxy(
474 IBindStatusCallback* This,
475 ULONG ulProgress,
476 ULONG ulProgressMax,
477 ULONG ulStatusCode,
478 LPCWSTR szStatusText);
479 void __RPC_STUB IBindStatusCallback_OnProgress_Stub(
480 struct IRpcStubBuffer* This,
481 struct IRpcChannelBuffer* pRpcChannelBuffer,
482 PRPC_MESSAGE pRpcMessage,
483 DWORD* pdwStubPhase);
484 HRESULT CALLBACK IBindStatusCallback_OnStopBinding_Proxy(
485 IBindStatusCallback* This,
486 HRESULT hresult,
487 LPCWSTR szError);
488 void __RPC_STUB IBindStatusCallback_OnStopBinding_Stub(
489 struct IRpcStubBuffer* This,
490 struct IRpcChannelBuffer* pRpcChannelBuffer,
491 PRPC_MESSAGE pRpcMessage,
492 DWORD* pdwStubPhase);
493 HRESULT CALLBACK IBindStatusCallback_RemoteGetBindInfo_Proxy(
494 IBindStatusCallback* This,
495 DWORD* grfBINDF,
496 RemBINDINFO* pbindinfo,
497 RemSTGMEDIUM* pstgmed);
498 void __RPC_STUB IBindStatusCallback_RemoteGetBindInfo_Stub(
499 struct IRpcStubBuffer* This,
500 struct IRpcChannelBuffer* pRpcChannelBuffer,
501 PRPC_MESSAGE pRpcMessage,
502 DWORD* pdwStubPhase);
503 HRESULT CALLBACK IBindStatusCallback_GetBindInfo_Proxy(
504 IBindStatusCallback* This,
505 DWORD* grfBINDF,
506 BINDINFO* pbindinfo);
507 HRESULT __RPC_STUB IBindStatusCallback_GetBindInfo_Stub(
508 IBindStatusCallback* This,
509 DWORD* grfBINDF,
510 RemBINDINFO* pbindinfo,
511 RemSTGMEDIUM* pstgmed);
512 HRESULT CALLBACK IBindStatusCallback_RemoteOnDataAvailable_Proxy(
513 IBindStatusCallback* This,
514 DWORD grfBSCF,
515 DWORD dwSize,
516 RemFORMATETC* pformatetc,
517 RemSTGMEDIUM* pstgmed);
518 void __RPC_STUB IBindStatusCallback_RemoteOnDataAvailable_Stub(
519 struct IRpcStubBuffer* This,
520 struct IRpcChannelBuffer* pRpcChannelBuffer,
521 PRPC_MESSAGE pRpcMessage,
522 DWORD* pdwStubPhase);
523 HRESULT CALLBACK IBindStatusCallback_OnDataAvailable_Proxy(
524 IBindStatusCallback* This,
525 DWORD grfBSCF,
526 DWORD dwSize,
527 FORMATETC* pformatetc,
528 STGMEDIUM* pstgmed);
529 HRESULT __RPC_STUB IBindStatusCallback_OnDataAvailable_Stub(
530 IBindStatusCallback* This,
531 DWORD grfBSCF,
532 DWORD dwSize,
533 RemFORMATETC* pformatetc,
534 RemSTGMEDIUM* pstgmed);
535 HRESULT CALLBACK IBindStatusCallback_OnObjectAvailable_Proxy(
536 IBindStatusCallback* This,
537 REFIID riid,
538 IUnknown* punk);
539 void __RPC_STUB IBindStatusCallback_OnObjectAvailable_Stub(
540 struct IRpcStubBuffer* This,
541 struct IRpcChannelBuffer* pRpcChannelBuffer,
542 PRPC_MESSAGE pRpcMessage,
543 DWORD* pdwStubPhase);
544
545 #endif /* __IBindStatusCallback_INTERFACE_DEFINED__ */
546
547 #define SID_IBindHost IID_IBindHost
548 #define SID_SBindHost IID_IBindHost
549 #ifndef __IBindHost_FWD_DEFINED__
550 #define __IBindHost_FWD_DEFINED__
551 typedef struct IBindHost IBindHost;
552 #endif
553
554 typedef IBindHost *LPBINDHOST;
555
556 /*****************************************************************************
557 * IBindHost interface
558 */
559 #ifndef __IBindHost_INTERFACE_DEFINED__
560 #define __IBindHost_INTERFACE_DEFINED__
561
562 DEFINE_GUID(IID_IBindHost, 0xfc4801a1, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52);
563 #if defined(__cplusplus) && !defined(CINTERFACE)
564 struct IBindHost : public IUnknown
565 {
566 virtual HRESULT STDMETHODCALLTYPE CreateMoniker(
567 LPOLESTR szName,
568 IBindCtx* pBC,
569 IMoniker** ppmk,
570 DWORD dwReserved) = 0;
571
572 virtual HRESULT STDMETHODCALLTYPE MonikerBindToStorage(
573 IMoniker* pMk,
574 IBindCtx* pBC,
575 IBindStatusCallback* pBSC,
576 REFIID riid,
577 void** ppvObj) = 0;
578
579 virtual HRESULT STDMETHODCALLTYPE MonikerBindToObject(
580 IMoniker* pMk,
581 IBindCtx* pBC,
582 IBindStatusCallback* pBSC,
583 REFIID riid,
584 void** ppvObj) = 0;
585
586 };
587 #else
588 typedef struct IBindHostVtbl IBindHostVtbl;
589 struct IBindHost {
590 const IBindHostVtbl* lpVtbl;
591 };
592 struct IBindHostVtbl {
593 BEGIN_INTERFACE
594
595 /*** IUnknown methods ***/
596 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
597 IBindHost* This,
598 REFIID riid,
599 void** ppvObject);
600
601 ULONG (STDMETHODCALLTYPE *AddRef)(
602 IBindHost* This);
603
604 ULONG (STDMETHODCALLTYPE *Release)(
605 IBindHost* This);
606
607 /*** IBindHost methods ***/
608 HRESULT (STDMETHODCALLTYPE *CreateMoniker)(
609 IBindHost* This,
610 LPOLESTR szName,
611 IBindCtx* pBC,
612 IMoniker** ppmk,
613 DWORD dwReserved);
614
615 HRESULT (STDMETHODCALLTYPE *MonikerBindToStorage)(
616 IBindHost* This,
617 IMoniker* pMk,
618 IBindCtx* pBC,
619 IBindStatusCallback* pBSC,
620 REFIID riid,
621 void** ppvObj);
622
623 HRESULT (STDMETHODCALLTYPE *MonikerBindToObject)(
624 IBindHost* This,
625 IMoniker* pMk,
626 IBindCtx* pBC,
627 IBindStatusCallback* pBSC,
628 REFIID riid,
629 void** ppvObj);
630
631 END_INTERFACE
632 };
633
634 #ifdef COBJMACROS
635 /*** IUnknown methods ***/
636 #define IBindHost_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
637 #define IBindHost_AddRef(p) (p)->lpVtbl->AddRef(p)
638 #define IBindHost_Release(p) (p)->lpVtbl->Release(p)
639 /*** IBindHost methods ***/
640 #define IBindHost_CreateMoniker(p,a,b,c,d) (p)->lpVtbl->CreateMoniker(p,a,b,c,d)
641 #define IBindHost_MonikerBindToStorage(p,a,b,c,d,e) (p)->lpVtbl->MonikerBindToStorage(p,a,b,c,d,e)
642 #define IBindHost_MonikerBindToObject(p,a,b,c,d,e) (p)->lpVtbl->MonikerBindToObject(p,a,b,c,d,e)
643 #endif
644
645 #endif
646
647 HRESULT CALLBACK IBindHost_CreateMoniker_Proxy(
648 IBindHost* This,
649 LPOLESTR szName,
650 IBindCtx* pBC,
651 IMoniker** ppmk,
652 DWORD dwReserved);
653 void __RPC_STUB IBindHost_CreateMoniker_Stub(
654 struct IRpcStubBuffer* This,
655 struct IRpcChannelBuffer* pRpcChannelBuffer,
656 PRPC_MESSAGE pRpcMessage,
657 DWORD* pdwStubPhase);
658 HRESULT CALLBACK IBindHost_RemoteMonikerBindToStorage_Proxy(
659 IBindHost* This,
660 IMoniker* pMk,
661 IBindCtx* pBC,
662 IBindStatusCallback* pBSC,
663 REFIID riid,
664 IUnknown** ppvObj);
665 void __RPC_STUB IBindHost_RemoteMonikerBindToStorage_Stub(
666 struct IRpcStubBuffer* This,
667 struct IRpcChannelBuffer* pRpcChannelBuffer,
668 PRPC_MESSAGE pRpcMessage,
669 DWORD* pdwStubPhase);
670 HRESULT CALLBACK IBindHost_MonikerBindToStorage_Proxy(
671 IBindHost* This,
672 IMoniker* pMk,
673 IBindCtx* pBC,
674 IBindStatusCallback* pBSC,
675 REFIID riid,
676 void** ppvObj);
677 HRESULT __RPC_STUB IBindHost_MonikerBindToStorage_Stub(
678 IBindHost* This,
679 IMoniker* pMk,
680 IBindCtx* pBC,
681 IBindStatusCallback* pBSC,
682 REFIID riid,
683 IUnknown** ppvObj);
684 HRESULT CALLBACK IBindHost_RemoteMonikerBindToObject_Proxy(
685 IBindHost* This,
686 IMoniker* pMk,
687 IBindCtx* pBC,
688 IBindStatusCallback* pBSC,
689 REFIID riid,
690 IUnknown** ppvObj);
691 void __RPC_STUB IBindHost_RemoteMonikerBindToObject_Stub(
692 struct IRpcStubBuffer* This,
693 struct IRpcChannelBuffer* pRpcChannelBuffer,
694 PRPC_MESSAGE pRpcMessage,
695 DWORD* pdwStubPhase);
696 HRESULT CALLBACK IBindHost_MonikerBindToObject_Proxy(
697 IBindHost* This,
698 IMoniker* pMk,
699 IBindCtx* pBC,
700 IBindStatusCallback* pBSC,
701 REFIID riid,
702 void** ppvObj);
703 HRESULT __RPC_STUB IBindHost_MonikerBindToObject_Stub(
704 IBindHost* This,
705 IMoniker* pMk,
706 IBindCtx* pBC,
707 IBindStatusCallback* pBSC,
708 REFIID riid,
709 IUnknown** ppvObj);
710
711 #endif /* __IBindHost_INTERFACE_DEFINED__ */
712
713 #ifndef __IWinInetInfo_FWD_DEFINED__
714 #define __IWinInetInfo_FWD_DEFINED__
715 typedef struct IWinInetInfo IWinInetInfo;
716 #endif
717
718 typedef IWinInetInfo *LPWININETINFO;
719
720 /*****************************************************************************
721 * IWinInetInfo interface
722 */
723 #ifndef __IWinInetInfo_INTERFACE_DEFINED__
724 #define __IWinInetInfo_INTERFACE_DEFINED__
725
726 DEFINE_GUID(IID_IWinInetInfo, 0x79eac9d6, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
727 #if defined(__cplusplus) && !defined(CINTERFACE)
728 struct IWinInetInfo : public IUnknown
729 {
730 virtual HRESULT STDMETHODCALLTYPE QueryOption(
731 DWORD dwOption,
732 LPVOID pBuffer,
733 DWORD* pcbBuf) = 0;
734
735 };
736 #else
737 typedef struct IWinInetInfoVtbl IWinInetInfoVtbl;
738 struct IWinInetInfo {
739 const IWinInetInfoVtbl* lpVtbl;
740 };
741 struct IWinInetInfoVtbl {
742 BEGIN_INTERFACE
743
744 /*** IUnknown methods ***/
745 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
746 IWinInetInfo* This,
747 REFIID riid,
748 void** ppvObject);
749
750 ULONG (STDMETHODCALLTYPE *AddRef)(
751 IWinInetInfo* This);
752
753 ULONG (STDMETHODCALLTYPE *Release)(
754 IWinInetInfo* This);
755
756 /*** IWinInetInfo methods ***/
757 HRESULT (STDMETHODCALLTYPE *QueryOption)(
758 IWinInetInfo* This,
759 DWORD dwOption,
760 LPVOID pBuffer,
761 DWORD* pcbBuf);
762
763 END_INTERFACE
764 };
765
766 #ifdef COBJMACROS
767 /*** IUnknown methods ***/
768 #define IWinInetInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
769 #define IWinInetInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
770 #define IWinInetInfo_Release(p) (p)->lpVtbl->Release(p)
771 /*** IWinInetInfo methods ***/
772 #define IWinInetInfo_QueryOption(p,a,b,c) (p)->lpVtbl->QueryOption(p,a,b,c)
773 #endif
774
775 #endif
776
777 HRESULT CALLBACK IWinInetInfo_RemoteQueryOption_Proxy(
778 IWinInetInfo* This,
779 DWORD dwOption,
780 BYTE* pBuffer,
781 DWORD* pcbBuf);
782 void __RPC_STUB IWinInetInfo_RemoteQueryOption_Stub(
783 struct IRpcStubBuffer* This,
784 struct IRpcChannelBuffer* pRpcChannelBuffer,
785 PRPC_MESSAGE pRpcMessage,
786 DWORD* pdwStubPhase);
787 HRESULT CALLBACK IWinInetInfo_QueryOption_Proxy(
788 IWinInetInfo* This,
789 DWORD dwOption,
790 LPVOID pBuffer,
791 DWORD* pcbBuf);
792 HRESULT __RPC_STUB IWinInetInfo_QueryOption_Stub(
793 IWinInetInfo* This,
794 DWORD dwOption,
795 BYTE* pBuffer,
796 DWORD* pcbBuf);
797
798 #endif /* __IWinInetInfo_INTERFACE_DEFINED__ */
799
800 #ifndef __IWinInetHttpInfo_FWD_DEFINED__
801 #define __IWinInetHttpInfo_FWD_DEFINED__
802 typedef struct IWinInetHttpInfo IWinInetHttpInfo;
803 #endif
804
805 typedef IWinInetHttpInfo *LPWININETHTTPINFO;
806
807 /*****************************************************************************
808 * IWinInetHttpInfo interface
809 */
810 #ifndef __IWinInetHttpInfo_INTERFACE_DEFINED__
811 #define __IWinInetHttpInfo_INTERFACE_DEFINED__
812
813 DEFINE_GUID(IID_IWinInetHttpInfo, 0x79eac9d8, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
814 #if defined(__cplusplus) && !defined(CINTERFACE)
815 struct IWinInetHttpInfo : public IWinInetInfo
816 {
817 virtual HRESULT STDMETHODCALLTYPE QueryInfo(
818 DWORD dwOption,
819 LPVOID pBuffer,
820 DWORD* pcbBuf,
821 DWORD* pdwFlags,
822 DWORD* pdwReserved) = 0;
823
824 };
825 #else
826 typedef struct IWinInetHttpInfoVtbl IWinInetHttpInfoVtbl;
827 struct IWinInetHttpInfo {
828 const IWinInetHttpInfoVtbl* lpVtbl;
829 };
830 struct IWinInetHttpInfoVtbl {
831 BEGIN_INTERFACE
832
833 /*** IUnknown methods ***/
834 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
835 IWinInetHttpInfo* This,
836 REFIID riid,
837 void** ppvObject);
838
839 ULONG (STDMETHODCALLTYPE *AddRef)(
840 IWinInetHttpInfo* This);
841
842 ULONG (STDMETHODCALLTYPE *Release)(
843 IWinInetHttpInfo* This);
844
845 /*** IWinInetInfo methods ***/
846 HRESULT (STDMETHODCALLTYPE *QueryOption)(
847 IWinInetHttpInfo* This,
848 DWORD dwOption,
849 LPVOID pBuffer,
850 DWORD* pcbBuf);
851
852 /*** IWinInetHttpInfo methods ***/
853 HRESULT (STDMETHODCALLTYPE *QueryInfo)(
854 IWinInetHttpInfo* This,
855 DWORD dwOption,
856 LPVOID pBuffer,
857 DWORD* pcbBuf,
858 DWORD* pdwFlags,
859 DWORD* pdwReserved);
860
861 END_INTERFACE
862 };
863
864 #ifdef COBJMACROS
865 /*** IUnknown methods ***/
866 #define IWinInetHttpInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
867 #define IWinInetHttpInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
868 #define IWinInetHttpInfo_Release(p) (p)->lpVtbl->Release(p)
869 /*** IWinInetInfo methods ***/
870 #define IWinInetHttpInfo_QueryOption(p,a,b,c) (p)->lpVtbl->QueryOption(p,a,b,c)
871 /*** IWinInetHttpInfo methods ***/
872 #define IWinInetHttpInfo_QueryInfo(p,a,b,c,d,e) (p)->lpVtbl->QueryInfo(p,a,b,c,d,e)
873 #endif
874
875 #endif
876
877 HRESULT CALLBACK IWinInetHttpInfo_RemoteQueryInfo_Proxy(
878 IWinInetHttpInfo* This,
879 DWORD dwOption,
880 BYTE* pBuffer,
881 DWORD* pcbBuf,
882 DWORD* pdwFlags,
883 DWORD* pdwReserved);
884 void __RPC_STUB IWinInetHttpInfo_RemoteQueryInfo_Stub(
885 struct IRpcStubBuffer* This,
886 struct IRpcChannelBuffer* pRpcChannelBuffer,
887 PRPC_MESSAGE pRpcMessage,
888 DWORD* pdwStubPhase);
889 HRESULT CALLBACK IWinInetHttpInfo_QueryInfo_Proxy(
890 IWinInetHttpInfo* This,
891 DWORD dwOption,
892 LPVOID pBuffer,
893 DWORD* pcbBuf,
894 DWORD* pdwFlags,
895 DWORD* pdwReserved);
896 HRESULT __RPC_STUB IWinInetHttpInfo_QueryInfo_Stub(
897 IWinInetHttpInfo* This,
898 DWORD dwOption,
899 BYTE* pBuffer,
900 DWORD* pcbBuf,
901 DWORD* pdwFlags,
902 DWORD* pdwReserved);
903
904 #endif /* __IWinInetHttpInfo_INTERFACE_DEFINED__ */
905
906 #ifndef __IPersistMoniker_FWD_DEFINED__
907 #define __IPersistMoniker_FWD_DEFINED__
908 typedef struct IPersistMoniker IPersistMoniker;
909 #endif
910
911 typedef IPersistMoniker *LPPERSISTMONIKER;
912
913 /*****************************************************************************
914 * IPersistMoniker interface
915 */
916 #ifndef __IPersistMoniker_INTERFACE_DEFINED__
917 #define __IPersistMoniker_INTERFACE_DEFINED__
918
919 DEFINE_GUID(IID_IPersistMoniker, 0x79eac9c9, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
920 #if defined(__cplusplus) && !defined(CINTERFACE)
921 struct IPersistMoniker : public IUnknown
922 {
923 virtual HRESULT STDMETHODCALLTYPE GetClassID(
924 CLSID* pClassID) = 0;
925
926 virtual HRESULT STDMETHODCALLTYPE IsDirty(
927 ) = 0;
928
929 virtual HRESULT STDMETHODCALLTYPE Load(
930 BOOL fFullyAvailable,
931 IMoniker* pimkName,
932 LPBC pibc,
933 DWORD grfMode) = 0;
934
935 virtual HRESULT STDMETHODCALLTYPE Save(
936 IMoniker* pimkName,
937 LPBC pbc,
938 BOOL fRemember) = 0;
939
940 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
941 IMoniker* pimkName,
942 LPBC pibc) = 0;
943
944 virtual HRESULT STDMETHODCALLTYPE GetCurMoniker(
945 IMoniker** ppimkName) = 0;
946
947 };
948 #else
949 typedef struct IPersistMonikerVtbl IPersistMonikerVtbl;
950 struct IPersistMoniker {
951 const IPersistMonikerVtbl* lpVtbl;
952 };
953 struct IPersistMonikerVtbl {
954 BEGIN_INTERFACE
955
956 /*** IUnknown methods ***/
957 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
958 IPersistMoniker* This,
959 REFIID riid,
960 void** ppvObject);
961
962 ULONG (STDMETHODCALLTYPE *AddRef)(
963 IPersistMoniker* This);
964
965 ULONG (STDMETHODCALLTYPE *Release)(
966 IPersistMoniker* This);
967
968 /*** IPersistMoniker methods ***/
969 HRESULT (STDMETHODCALLTYPE *GetClassID)(
970 IPersistMoniker* This,
971 CLSID* pClassID);
972
973 HRESULT (STDMETHODCALLTYPE *IsDirty)(
974 IPersistMoniker* This);
975
976 HRESULT (STDMETHODCALLTYPE *Load)(
977 IPersistMoniker* This,
978 BOOL fFullyAvailable,
979 IMoniker* pimkName,
980 LPBC pibc,
981 DWORD grfMode);
982
983 HRESULT (STDMETHODCALLTYPE *Save)(
984 IPersistMoniker* This,
985 IMoniker* pimkName,
986 LPBC pbc,
987 BOOL fRemember);
988
989 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
990 IPersistMoniker* This,
991 IMoniker* pimkName,
992 LPBC pibc);
993
994 HRESULT (STDMETHODCALLTYPE *GetCurMoniker)(
995 IPersistMoniker* This,
996 IMoniker** ppimkName);
997
998 END_INTERFACE
999 };
1000
1001 #ifdef COBJMACROS
1002 /*** IUnknown methods ***/
1003 #define IPersistMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1004 #define IPersistMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
1005 #define IPersistMoniker_Release(p) (p)->lpVtbl->Release(p)
1006 /*** IPersistMoniker methods ***/
1007 #define IPersistMoniker_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
1008 #define IPersistMoniker_IsDirty(p) (p)->lpVtbl->IsDirty(p)
1009 #define IPersistMoniker_Load(p,a,b,c,d) (p)->lpVtbl->Load(p,a,b,c,d)
1010 #define IPersistMoniker_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1011 #define IPersistMoniker_SaveCompleted(p,a,b) (p)->lpVtbl->SaveCompleted(p,a,b)
1012 #define IPersistMoniker_GetCurMoniker(p,a) (p)->lpVtbl->GetCurMoniker(p,a)
1013 #endif
1014
1015 #endif
1016
1017 HRESULT CALLBACK IPersistMoniker_GetClassID_Proxy(
1018 IPersistMoniker* This,
1019 CLSID* pClassID);
1020 void __RPC_STUB IPersistMoniker_GetClassID_Stub(
1021 struct IRpcStubBuffer* This,
1022 struct IRpcChannelBuffer* pRpcChannelBuffer,
1023 PRPC_MESSAGE pRpcMessage,
1024 DWORD* pdwStubPhase);
1025 HRESULT CALLBACK IPersistMoniker_IsDirty_Proxy(
1026 IPersistMoniker* This);
1027 void __RPC_STUB IPersistMoniker_IsDirty_Stub(
1028 struct IRpcStubBuffer* This,
1029 struct IRpcChannelBuffer* pRpcChannelBuffer,
1030 PRPC_MESSAGE pRpcMessage,
1031 DWORD* pdwStubPhase);
1032 HRESULT CALLBACK IPersistMoniker_Load_Proxy(
1033 IPersistMoniker* This,
1034 BOOL fFullyAvailable,
1035 IMoniker* pimkName,
1036 LPBC pibc,
1037 DWORD grfMode);
1038 void __RPC_STUB IPersistMoniker_Load_Stub(
1039 struct IRpcStubBuffer* This,
1040 struct IRpcChannelBuffer* pRpcChannelBuffer,
1041 PRPC_MESSAGE pRpcMessage,
1042 DWORD* pdwStubPhase);
1043 HRESULT CALLBACK IPersistMoniker_Save_Proxy(
1044 IPersistMoniker* This,
1045 IMoniker* pimkName,
1046 LPBC pbc,
1047 BOOL fRemember);
1048 void __RPC_STUB IPersistMoniker_Save_Stub(
1049 struct IRpcStubBuffer* This,
1050 struct IRpcChannelBuffer* pRpcChannelBuffer,
1051 PRPC_MESSAGE pRpcMessage,
1052 DWORD* pdwStubPhase);
1053 HRESULT CALLBACK IPersistMoniker_SaveCompleted_Proxy(
1054 IPersistMoniker* This,
1055 IMoniker* pimkName,
1056 LPBC pibc);
1057 void __RPC_STUB IPersistMoniker_SaveCompleted_Stub(
1058 struct IRpcStubBuffer* This,
1059 struct IRpcChannelBuffer* pRpcChannelBuffer,
1060 PRPC_MESSAGE pRpcMessage,
1061 DWORD* pdwStubPhase);
1062 HRESULT CALLBACK IPersistMoniker_GetCurMoniker_Proxy(
1063 IPersistMoniker* This,
1064 IMoniker** ppimkName);
1065 void __RPC_STUB IPersistMoniker_GetCurMoniker_Stub(
1066 struct IRpcStubBuffer* This,
1067 struct IRpcChannelBuffer* pRpcChannelBuffer,
1068 PRPC_MESSAGE pRpcMessage,
1069 DWORD* pdwStubPhase);
1070
1071 #endif /* __IPersistMoniker_INTERFACE_DEFINED__ */
1072
1073 #ifndef __IInternetProtocolInfo_FWD_DEFINED__
1074 #define __IInternetProtocolInfo_FWD_DEFINED__
1075 typedef struct IInternetProtocolInfo IInternetProtocolInfo;
1076 #endif
1077
1078 typedef IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO;
1079
1080 typedef enum _tagPARSEACTION {
1081 PARSE_CANONICALIZE = 1,
1082 PARSE_FRIENDLY,
1083 PARSE_SECURITY_URL,
1084 PARSE_ROOTDOCUMENT,
1085 PARSE_DOCUMENT,
1086 PARSE_ANCHOR,
1087 PARSE_ENCODE,
1088 PARSE_DECODE,
1089 PARSE_PATH_FROM_URL,
1090 PARSE_URL_FROM_PATH,
1091 PARSE_MIME,
1092 PARSE_SERVER,
1093 PARSE_SCHEMA,
1094 PARSE_SITE,
1095 PARSE_DOMAIN,
1096 PARSE_LOCATION,
1097 PARSE_SECURITY_DOMAIN,
1098 PARSE_ESCAPE,
1099 PARSE_UNESCAPE
1100 } PARSEACTION;
1101
1102 typedef enum _tagPSUACTION {
1103 PSU_DEFAULT = 1,
1104 PSU_SECURITY_URL_ONLY
1105 } PSUACTION;
1106
1107 typedef enum _tagQUERYOPTION {
1108 QUERY_EXPIRATION_DATE = 1,
1109 QUERY_TIME_OF_LAST_CHANGE,
1110 QUERY_CONTENT_ENCODING,
1111 QUERY_CONTENT_TYPE,
1112 QUERY_REFRESH,
1113 QUERY_RECOMBINE,
1114 QUERY_CAN_NAVIGATE,
1115 QUERY_USES_NETWORK,
1116 QUERY_IS_CACHED,
1117 QUERY_IS_INSTALLEDENTRY,
1118 QUERY_IS_CACHED_OR_MAPPED,
1119 QUERY_USES_CACHE,
1120 QUERY_IS_SECURE,
1121 QUERY_IS_SAFE
1122 } QUERYOPTION;
1123
1124 /*****************************************************************************
1125 * IInternetProtocolInfo interface
1126 */
1127 #ifndef __IInternetProtocolInfo_INTERFACE_DEFINED__
1128 #define __IInternetProtocolInfo_INTERFACE_DEFINED__
1129
1130 DEFINE_GUID(IID_IInternetProtocolInfo, 0x79eac9ec, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1131 #if defined(__cplusplus) && !defined(CINTERFACE)
1132 struct IInternetProtocolInfo : public IUnknown
1133 {
1134 virtual HRESULT STDMETHODCALLTYPE ParseUrl(
1135 LPCWSTR pwzUrl,
1136 PARSEACTION ParseAction,
1137 DWORD dwParseFlags,
1138 LPWSTR pwzResult,
1139 DWORD cchResult,
1140 DWORD* pcchResult,
1141 DWORD dwReserved) = 0;
1142
1143 virtual HRESULT STDMETHODCALLTYPE CombineUrl(
1144 LPCWSTR pwzBaseUrl,
1145 LPCWSTR pwzRelativeUrl,
1146 DWORD dwCombineFlags,
1147 LPWSTR pwzResult,
1148 DWORD cchResult,
1149 DWORD* pcchResult,
1150 DWORD dwReserved) = 0;
1151
1152 virtual HRESULT STDMETHODCALLTYPE CompareUrl(
1153 LPCWSTR pwzUrl1,
1154 LPCWSTR pwzUrl2,
1155 DWORD dwCompareFlags) = 0;
1156
1157 virtual HRESULT STDMETHODCALLTYPE QueryInfo(
1158 LPCWSTR pwzUrl,
1159 QUERYOPTION OueryOption,
1160 DWORD dwQueryFlags,
1161 LPVOID pBuffer,
1162 DWORD cbBuffer,
1163 DWORD* pcbBuf,
1164 DWORD dwReserved) = 0;
1165
1166 };
1167 #else
1168 typedef struct IInternetProtocolInfoVtbl IInternetProtocolInfoVtbl;
1169 struct IInternetProtocolInfo {
1170 const IInternetProtocolInfoVtbl* lpVtbl;
1171 };
1172 struct IInternetProtocolInfoVtbl {
1173 BEGIN_INTERFACE
1174
1175 /*** IUnknown methods ***/
1176 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1177 IInternetProtocolInfo* This,
1178 REFIID riid,
1179 void** ppvObject);
1180
1181 ULONG (STDMETHODCALLTYPE *AddRef)(
1182 IInternetProtocolInfo* This);
1183
1184 ULONG (STDMETHODCALLTYPE *Release)(
1185 IInternetProtocolInfo* This);
1186
1187 /*** IInternetProtocolInfo methods ***/
1188 HRESULT (STDMETHODCALLTYPE *ParseUrl)(
1189 IInternetProtocolInfo* This,
1190 LPCWSTR pwzUrl,
1191 PARSEACTION ParseAction,
1192 DWORD dwParseFlags,
1193 LPWSTR pwzResult,
1194 DWORD cchResult,
1195 DWORD* pcchResult,
1196 DWORD dwReserved);
1197
1198 HRESULT (STDMETHODCALLTYPE *CombineUrl)(
1199 IInternetProtocolInfo* This,
1200 LPCWSTR pwzBaseUrl,
1201 LPCWSTR pwzRelativeUrl,
1202 DWORD dwCombineFlags,
1203 LPWSTR pwzResult,
1204 DWORD cchResult,
1205 DWORD* pcchResult,
1206 DWORD dwReserved);
1207
1208 HRESULT (STDMETHODCALLTYPE *CompareUrl)(
1209 IInternetProtocolInfo* This,
1210 LPCWSTR pwzUrl1,
1211 LPCWSTR pwzUrl2,
1212 DWORD dwCompareFlags);
1213
1214 HRESULT (STDMETHODCALLTYPE *QueryInfo)(
1215 IInternetProtocolInfo* This,
1216 LPCWSTR pwzUrl,
1217 QUERYOPTION OueryOption,
1218 DWORD dwQueryFlags,
1219 LPVOID pBuffer,
1220 DWORD cbBuffer,
1221 DWORD* pcbBuf,
1222 DWORD dwReserved);
1223
1224 END_INTERFACE
1225 };
1226
1227 #ifdef COBJMACROS
1228 /*** IUnknown methods ***/
1229 #define IInternetProtocolInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1230 #define IInternetProtocolInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1231 #define IInternetProtocolInfo_Release(p) (p)->lpVtbl->Release(p)
1232 /*** IInternetProtocolInfo methods ***/
1233 #define IInternetProtocolInfo_ParseUrl(p,a,b,c,d,e,f,g) (p)->lpVtbl->ParseUrl(p,a,b,c,d,e,f,g)
1234 #define IInternetProtocolInfo_CombineUrl(p,a,b,c,d,e,f,g) (p)->lpVtbl->CombineUrl(p,a,b,c,d,e,f,g)
1235 #define IInternetProtocolInfo_CompareUrl(p,a,b,c) (p)->lpVtbl->CompareUrl(p,a,b,c)
1236 #define IInternetProtocolInfo_QueryInfo(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryInfo(p,a,b,c,d,e,f,g)
1237 #endif
1238
1239 #endif
1240
1241 HRESULT CALLBACK IInternetProtocolInfo_ParseUrl_Proxy(
1242 IInternetProtocolInfo* This,
1243 LPCWSTR pwzUrl,
1244 PARSEACTION ParseAction,
1245 DWORD dwParseFlags,
1246 LPWSTR pwzResult,
1247 DWORD cchResult,
1248 DWORD* pcchResult,
1249 DWORD dwReserved);
1250 void __RPC_STUB IInternetProtocolInfo_ParseUrl_Stub(
1251 struct IRpcStubBuffer* This,
1252 struct IRpcChannelBuffer* pRpcChannelBuffer,
1253 PRPC_MESSAGE pRpcMessage,
1254 DWORD* pdwStubPhase);
1255 HRESULT CALLBACK IInternetProtocolInfo_CombineUrl_Proxy(
1256 IInternetProtocolInfo* This,
1257 LPCWSTR pwzBaseUrl,
1258 LPCWSTR pwzRelativeUrl,
1259 DWORD dwCombineFlags,
1260 LPWSTR pwzResult,
1261 DWORD cchResult,
1262 DWORD* pcchResult,
1263 DWORD dwReserved);
1264 void __RPC_STUB IInternetProtocolInfo_CombineUrl_Stub(
1265 struct IRpcStubBuffer* This,
1266 struct IRpcChannelBuffer* pRpcChannelBuffer,
1267 PRPC_MESSAGE pRpcMessage,
1268 DWORD* pdwStubPhase);
1269 HRESULT CALLBACK IInternetProtocolInfo_CompareUrl_Proxy(
1270 IInternetProtocolInfo* This,
1271 LPCWSTR pwzUrl1,
1272 LPCWSTR pwzUrl2,
1273 DWORD dwCompareFlags);
1274 void __RPC_STUB IInternetProtocolInfo_CompareUrl_Stub(
1275 struct IRpcStubBuffer* This,
1276 struct IRpcChannelBuffer* pRpcChannelBuffer,
1277 PRPC_MESSAGE pRpcMessage,
1278 DWORD* pdwStubPhase);
1279 HRESULT CALLBACK IInternetProtocolInfo_QueryInfo_Proxy(
1280 IInternetProtocolInfo* This,
1281 LPCWSTR pwzUrl,
1282 QUERYOPTION OueryOption,
1283 DWORD dwQueryFlags,
1284 LPVOID pBuffer,
1285 DWORD cbBuffer,
1286 DWORD* pcbBuf,
1287 DWORD dwReserved);
1288 void __RPC_STUB IInternetProtocolInfo_QueryInfo_Stub(
1289 struct IRpcStubBuffer* This,
1290 struct IRpcChannelBuffer* pRpcChannelBuffer,
1291 PRPC_MESSAGE pRpcMessage,
1292 DWORD* pdwStubPhase);
1293
1294 #endif /* __IInternetProtocolInfo_INTERFACE_DEFINED__ */
1295
1296 #ifndef __IInternetSession_FWD_DEFINED__
1297 #define __IInternetSession_FWD_DEFINED__
1298 typedef struct IInternetSession IInternetSession;
1299 #endif
1300
1301 typedef IInternetSession *LPIINTERNETSESSION;
1302
1303 typedef enum _tagOIBDG_FLAGS {
1304 OIBDG_APARTMENTTHREADED = 0x100,
1305 OIBDG_DATAONLY = 0x1000
1306 } OIBDG_FLAGS;
1307
1308 /*****************************************************************************
1309 * IInternetSession interface
1310 */
1311 #ifndef __IInternetSession_INTERFACE_DEFINED__
1312 #define __IInternetSession_INTERFACE_DEFINED__
1313
1314 DEFINE_GUID(IID_IInternetSession, 0x79eac9e7, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1315 #if defined(__cplusplus) && !defined(CINTERFACE)
1316 struct IInternetSession : public IUnknown
1317 {
1318 virtual HRESULT STDMETHODCALLTYPE RegisterNameSpace(
1319 IClassFactory* pCF,
1320 REFCLSID rclsid,
1321 LPCWSTR pwzProtocol,
1322 ULONG cPatterns,
1323 const LPCWSTR* ppwzPatterns,
1324 DWORD dwReserved) = 0;
1325
1326 virtual HRESULT STDMETHODCALLTYPE UnregisterNameSpace(
1327 IClassFactory* pCF,
1328 LPCWSTR pszProtocol) = 0;
1329
1330 virtual HRESULT STDMETHODCALLTYPE RegisterMimeFilter(
1331 IClassFactory* pCF,
1332 REFCLSID rclsid,
1333 LPCWSTR pwzType) = 0;
1334
1335 virtual HRESULT STDMETHODCALLTYPE UnregisterMimeFilter(
1336 IClassFactory* pCF,
1337 LPCWSTR pwzType) = 0;
1338
1339 virtual HRESULT STDMETHODCALLTYPE CreateBinding(
1340 LPBC pBC,
1341 LPCWSTR szUrl,
1342 IUnknown* pUnkOuter,
1343 IUnknown** ppUnk,
1344 void** ppOInetProt,
1345 DWORD dwOption) = 0;
1346
1347 virtual HRESULT STDMETHODCALLTYPE SetSessionOption(
1348 DWORD dwOption,
1349 LPVOID pBuffer,
1350 DWORD dwBufferLength,
1351 DWORD dwReserved) = 0;
1352
1353 };
1354 #else
1355 typedef struct IInternetSessionVtbl IInternetSessionVtbl;
1356 struct IInternetSession {
1357 const IInternetSessionVtbl* lpVtbl;
1358 };
1359 struct IInternetSessionVtbl {
1360 BEGIN_INTERFACE
1361
1362 /*** IUnknown methods ***/
1363 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1364 IInternetSession* This,
1365 REFIID riid,
1366 void** ppvObject);
1367
1368 ULONG (STDMETHODCALLTYPE *AddRef)(
1369 IInternetSession* This);
1370
1371 ULONG (STDMETHODCALLTYPE *Release)(
1372 IInternetSession* This);
1373
1374 /*** IInternetSession methods ***/
1375 HRESULT (STDMETHODCALLTYPE *RegisterNameSpace)(
1376 IInternetSession* This,
1377 IClassFactory* pCF,
1378 REFCLSID rclsid,
1379 LPCWSTR pwzProtocol,
1380 ULONG cPatterns,
1381 const LPCWSTR* ppwzPatterns,
1382 DWORD dwReserved);
1383
1384 HRESULT (STDMETHODCALLTYPE *UnregisterNameSpace)(
1385 IInternetSession* This,
1386 IClassFactory* pCF,
1387 LPCWSTR pszProtocol);
1388
1389 HRESULT (STDMETHODCALLTYPE *RegisterMimeFilter)(
1390 IInternetSession* This,
1391 IClassFactory* pCF,
1392 REFCLSID rclsid,
1393 LPCWSTR pwzType);
1394
1395 HRESULT (STDMETHODCALLTYPE *UnregisterMimeFilter)(
1396 IInternetSession* This,
1397 IClassFactory* pCF,
1398 LPCWSTR pwzType);
1399
1400 HRESULT (STDMETHODCALLTYPE *CreateBinding)(
1401 IInternetSession* This,
1402 LPBC pBC,
1403 LPCWSTR szUrl,
1404 IUnknown* pUnkOuter,
1405 IUnknown** ppUnk,
1406 void** ppOInetProt,
1407 DWORD dwOption);
1408
1409 HRESULT (STDMETHODCALLTYPE *SetSessionOption)(
1410 IInternetSession* This,
1411 DWORD dwOption,
1412 LPVOID pBuffer,
1413 DWORD dwBufferLength,
1414 DWORD dwReserved);
1415
1416 END_INTERFACE
1417 };
1418
1419 #ifdef COBJMACROS
1420 /*** IUnknown methods ***/
1421 #define IInternetSession_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1422 #define IInternetSession_AddRef(p) (p)->lpVtbl->AddRef(p)
1423 #define IInternetSession_Release(p) (p)->lpVtbl->Release(p)
1424 /*** IInternetSession methods ***/
1425 #define IInternetSession_RegisterNameSpace(p,a,b,c,d,e,f) (p)->lpVtbl->RegisterNameSpace(p,a,b,c,d,e,f)
1426 #define IInternetSession_UnregisterNameSpace(p,a,b) (p)->lpVtbl->UnregisterNameSpace(p,a,b)
1427 #define IInternetSession_RegisterMimeFilter(p,a,b,c) (p)->lpVtbl->RegisterMimeFilter(p,a,b,c)
1428 #define IInternetSession_UnregisterMimeFilter(p,a,b) (p)->lpVtbl->UnregisterMimeFilter(p,a,b)
1429 #define IInternetSession_CreateBinding(p,a,b,c,d,e,f) (p)->lpVtbl->CreateBinding(p,a,b,c,d,e,f)
1430 #define IInternetSession_SetSessionOption(p,a,b,c,d) (p)->lpVtbl->SetSessionOption(p,a,b,c,d)
1431 #endif
1432
1433 #endif
1434
1435 HRESULT CALLBACK IInternetSession_RegisterNameSpace_Proxy(
1436 IInternetSession* This,
1437 IClassFactory* pCF,
1438 REFCLSID rclsid,
1439 LPCWSTR pwzProtocol,
1440 ULONG cPatterns,
1441 const LPCWSTR* ppwzPatterns,
1442 DWORD dwReserved);
1443 void __RPC_STUB IInternetSession_RegisterNameSpace_Stub(
1444 struct IRpcStubBuffer* This,
1445 struct IRpcChannelBuffer* pRpcChannelBuffer,
1446 PRPC_MESSAGE pRpcMessage,
1447 DWORD* pdwStubPhase);
1448 HRESULT CALLBACK IInternetSession_UnregisterNameSpace_Proxy(
1449 IInternetSession* This,
1450 IClassFactory* pCF,
1451 LPCWSTR pszProtocol);
1452 void __RPC_STUB IInternetSession_UnregisterNameSpace_Stub(
1453 struct IRpcStubBuffer* This,
1454 struct IRpcChannelBuffer* pRpcChannelBuffer,
1455 PRPC_MESSAGE pRpcMessage,
1456 DWORD* pdwStubPhase);
1457 HRESULT CALLBACK IInternetSession_RegisterMimeFilter_Proxy(
1458 IInternetSession* This,
1459 IClassFactory* pCF,
1460 REFCLSID rclsid,
1461 LPCWSTR pwzType);
1462 void __RPC_STUB IInternetSession_RegisterMimeFilter_Stub(
1463 struct IRpcStubBuffer* This,
1464 struct IRpcChannelBuffer* pRpcChannelBuffer,
1465 PRPC_MESSAGE pRpcMessage,
1466 DWORD* pdwStubPhase);
1467 HRESULT CALLBACK IInternetSession_UnregisterMimeFilter_Proxy(
1468 IInternetSession* This,
1469 IClassFactory* pCF,
1470 LPCWSTR pwzType);
1471 void __RPC_STUB IInternetSession_UnregisterMimeFilter_Stub(
1472 struct IRpcStubBuffer* This,
1473 struct IRpcChannelBuffer* pRpcChannelBuffer,
1474 PRPC_MESSAGE pRpcMessage,
1475 DWORD* pdwStubPhase);
1476 HRESULT CALLBACK IInternetSession_CreateBinding_Proxy(
1477 IInternetSession* This,
1478 LPBC pBC,
1479 LPCWSTR szUrl,
1480 IUnknown* pUnkOuter,
1481 IUnknown** ppUnk,
1482 void** ppOInetProt,
1483 DWORD dwOption);
1484 void __RPC_STUB IInternetSession_CreateBinding_Stub(
1485 struct IRpcStubBuffer* This,
1486 struct IRpcChannelBuffer* pRpcChannelBuffer,
1487 PRPC_MESSAGE pRpcMessage,
1488 DWORD* pdwStubPhase);
1489 HRESULT CALLBACK IInternetSession_SetSessionOption_Proxy(
1490 IInternetSession* This,
1491 DWORD dwOption,
1492 LPVOID pBuffer,
1493 DWORD dwBufferLength,
1494 DWORD dwReserved);
1495 void __RPC_STUB IInternetSession_SetSessionOption_Stub(
1496 struct IRpcStubBuffer* This,
1497 struct IRpcChannelBuffer* pRpcChannelBuffer,
1498 PRPC_MESSAGE pRpcMessage,
1499 DWORD* pdwStubPhase);
1500
1501 #endif /* __IInternetSession_INTERFACE_DEFINED__ */
1502
1503 #ifndef __IInternetSecurityMgrSite_FWD_DEFINED__
1504 #define __IInternetSecurityMgrSite_FWD_DEFINED__
1505 typedef struct IInternetSecurityMgrSite IInternetSecurityMgrSite;
1506 #endif
1507
1508 /*****************************************************************************
1509 * IInternetSecurityMgrSite interface
1510 */
1511 #ifndef __IInternetSecurityMgrSite_INTERFACE_DEFINED__
1512 #define __IInternetSecurityMgrSite_INTERFACE_DEFINED__
1513
1514 DEFINE_GUID(IID_IInternetSecurityMgrSite, 0x79eac9ed, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1515 #if defined(__cplusplus) && !defined(CINTERFACE)
1516 struct IInternetSecurityMgrSite : public IUnknown
1517 {
1518 virtual HRESULT STDMETHODCALLTYPE GetWindow(
1519 HWND* phwnd) = 0;
1520
1521 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
1522 BOOL fEnable) = 0;
1523
1524 };
1525 #else
1526 typedef struct IInternetSecurityMgrSiteVtbl IInternetSecurityMgrSiteVtbl;
1527 struct IInternetSecurityMgrSite {
1528 const IInternetSecurityMgrSiteVtbl* lpVtbl;
1529 };
1530 struct IInternetSecurityMgrSiteVtbl {
1531 BEGIN_INTERFACE
1532
1533 /*** IUnknown methods ***/
1534 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1535 IInternetSecurityMgrSite* This,
1536 REFIID riid,
1537 void** ppvObject);
1538
1539 ULONG (STDMETHODCALLTYPE *AddRef)(
1540 IInternetSecurityMgrSite* This);
1541
1542 ULONG (STDMETHODCALLTYPE *Release)(
1543 IInternetSecurityMgrSite* This);
1544
1545 /*** IInternetSecurityMgrSite methods ***/
1546 HRESULT (STDMETHODCALLTYPE *GetWindow)(
1547 IInternetSecurityMgrSite* This,
1548 HWND* phwnd);
1549
1550 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
1551 IInternetSecurityMgrSite* This,
1552 BOOL fEnable);
1553
1554 END_INTERFACE
1555 };
1556
1557 #ifdef COBJMACROS
1558 /*** IUnknown methods ***/
1559 #define IInternetSecurityMgrSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1560 #define IInternetSecurityMgrSite_AddRef(p) (p)->lpVtbl->AddRef(p)
1561 #define IInternetSecurityMgrSite_Release(p) (p)->lpVtbl->Release(p)
1562 /*** IInternetSecurityMgrSite methods ***/
1563 #define IInternetSecurityMgrSite_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
1564 #define IInternetSecurityMgrSite_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
1565 #endif
1566
1567 #endif
1568
1569 HRESULT CALLBACK IInternetSecurityMgrSite_GetWindow_Proxy(
1570 IInternetSecurityMgrSite* This,
1571 HWND* phwnd);
1572 void __RPC_STUB IInternetSecurityMgrSite_GetWindow_Stub(
1573 struct IRpcStubBuffer* This,
1574 struct IRpcChannelBuffer* pRpcChannelBuffer,
1575 PRPC_MESSAGE pRpcMessage,
1576 DWORD* pdwStubPhase);
1577 HRESULT CALLBACK IInternetSecurityMgrSite_EnableModeless_Proxy(
1578 IInternetSecurityMgrSite* This,
1579 BOOL fEnable);
1580 void __RPC_STUB IInternetSecurityMgrSite_EnableModeless_Stub(
1581 struct IRpcStubBuffer* This,
1582 struct IRpcChannelBuffer* pRpcChannelBuffer,
1583 PRPC_MESSAGE pRpcMessage,
1584 DWORD* pdwStubPhase);
1585
1586 #endif /* __IInternetSecurityMgrSite_INTERFACE_DEFINED__ */
1587
1588 #define SID_SInternetSecurityManager IID_IInternetSecurityManager
1589 #ifndef __IInternetSecurityManager_FWD_DEFINED__
1590 #define __IInternetSecurityManager_FWD_DEFINED__
1591 typedef struct IInternetSecurityManager IInternetSecurityManager;
1592 #endif
1593
1594 #define MAX_SIZE_SECURITY_ID 512
1595 typedef enum {
1596 PUAF_DEFAULT = 0x0,
1597 PUAF_NOUI = 0x1,
1598 PUAF_ISFILE = 0x2,
1599 PUAF_WARN_IF_DENIED = 0x4,
1600 PUAF_FORCEUI_FOREGROUND = 0x8,
1601 PUAF_CHECK_TIPS = 0x10
1602 } PUAF;
1603
1604 typedef enum {
1605 SZM_CREATE = 0x0,
1606 SZM_DELETE = 0x1
1607 } SZM_FLAGS;
1608
1609 /*****************************************************************************
1610 * IInternetSecurityManager interface
1611 */
1612 #ifndef __IInternetSecurityManager_INTERFACE_DEFINED__
1613 #define __IInternetSecurityManager_INTERFACE_DEFINED__
1614
1615 DEFINE_GUID(IID_IInternetSecurityManager, 0x79eac9ee, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1616 #if defined(__cplusplus) && !defined(CINTERFACE)
1617 struct IInternetSecurityManager : public IUnknown
1618 {
1619 virtual HRESULT STDMETHODCALLTYPE SetSecuritySite(
1620 IInternetSecurityMgrSite* pSite) = 0;
1621
1622 virtual HRESULT STDMETHODCALLTYPE GetSecuritySite(
1623 IInternetSecurityMgrSite** ppSite) = 0;
1624
1625 virtual HRESULT STDMETHODCALLTYPE MapUrlToZone(
1626 LPCWSTR pwszUrl,
1627 DWORD* pdwZone,
1628 DWORD dwFlags) = 0;
1629
1630 virtual HRESULT STDMETHODCALLTYPE GetSecurityId(
1631 LPCWSTR pwszUrl,
1632 BYTE* pbSecurityId,
1633 DWORD* pcbSecurityId,
1634 DWORD dwReserved) = 0;
1635
1636 virtual HRESULT STDMETHODCALLTYPE ProcessUrlAction(
1637 LPCWSTR pwszUrl,
1638 DWORD dwAction,
1639 BYTE* pPolicy,
1640 DWORD cbPolicy,
1641 BYTE* pContext,
1642 DWORD cbContext,
1643 DWORD dwFlags,
1644 DWORD dwReserved) = 0;
1645
1646 virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicy(
1647 LPCWSTR pwszUrl,
1648 REFGUID guidKey,
1649 BYTE** ppPolicy,
1650 DWORD* pcbPolicy,
1651 BYTE* pContext,
1652 DWORD cbContext,
1653 DWORD dwReserved) = 0;
1654
1655 virtual HRESULT STDMETHODCALLTYPE SetZoneMapping(
1656 DWORD dwZone,
1657 LPCWSTR lpszPattern,
1658 DWORD dwFlags) = 0;
1659
1660 virtual HRESULT STDMETHODCALLTYPE GetZoneMappings(
1661 DWORD dwZone,
1662 IEnumString** ppenumString,
1663 DWORD dwFlags) = 0;
1664
1665 };
1666 #else
1667 typedef struct IInternetSecurityManagerVtbl IInternetSecurityManagerVtbl;
1668 struct IInternetSecurityManager {
1669 const IInternetSecurityManagerVtbl* lpVtbl;
1670 };
1671 struct IInternetSecurityManagerVtbl {
1672 BEGIN_INTERFACE
1673
1674 /*** IUnknown methods ***/
1675 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1676 IInternetSecurityManager* This,
1677 REFIID riid,
1678 void** ppvObject);
1679
1680 ULONG (STDMETHODCALLTYPE *AddRef)(
1681 IInternetSecurityManager* This);
1682
1683 ULONG (STDMETHODCALLTYPE *Release)(
1684 IInternetSecurityManager* This);
1685
1686 /*** IInternetSecurityManager methods ***/
1687 HRESULT (STDMETHODCALLTYPE *SetSecuritySite)(
1688 IInternetSecurityManager* This,
1689 IInternetSecurityMgrSite* pSite);
1690
1691 HRESULT (STDMETHODCALLTYPE *GetSecuritySite)(
1692 IInternetSecurityManager* This,
1693 IInternetSecurityMgrSite** ppSite);
1694
1695 HRESULT (STDMETHODCALLTYPE *MapUrlToZone)(
1696 IInternetSecurityManager* This,
1697 LPCWSTR pwszUrl,
1698 DWORD* pdwZone,
1699 DWORD dwFlags);
1700
1701 HRESULT (STDMETHODCALLTYPE *GetSecurityId)(
1702 IInternetSecurityManager* This,
1703 LPCWSTR pwszUrl,
1704 BYTE* pbSecurityId,
1705 DWORD* pcbSecurityId,
1706 DWORD dwReserved);
1707
1708 HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)(
1709 IInternetSecurityManager* This,
1710 LPCWSTR pwszUrl,
1711 DWORD dwAction,
1712 BYTE* pPolicy,
1713 DWORD cbPolicy,
1714 BYTE* pContext,
1715 DWORD cbContext,
1716 DWORD dwFlags,
1717 DWORD dwReserved);
1718
1719 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)(
1720 IInternetSecurityManager* This,
1721 LPCWSTR pwszUrl,
1722 REFGUID guidKey,
1723 BYTE** ppPolicy,
1724 DWORD* pcbPolicy,
1725 BYTE* pContext,
1726 DWORD cbContext,
1727 DWORD dwReserved);
1728
1729 HRESULT (STDMETHODCALLTYPE *SetZoneMapping)(
1730 IInternetSecurityManager* This,
1731 DWORD dwZone,
1732 LPCWSTR lpszPattern,
1733 DWORD dwFlags);
1734
1735 HRESULT (STDMETHODCALLTYPE *GetZoneMappings)(
1736 IInternetSecurityManager* This,
1737 DWORD dwZone,
1738 IEnumString** ppenumString,
1739 DWORD dwFlags);
1740
1741 END_INTERFACE
1742 };
1743
1744 #ifdef COBJMACROS
1745 /*** IUnknown methods ***/
1746 #define IInternetSecurityManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1747 #define IInternetSecurityManager_AddRef(p) (p)->lpVtbl->AddRef(p)
1748 #define IInternetSecurityManager_Release(p) (p)->lpVtbl->Release(p)
1749 /*** IInternetSecurityManager methods ***/
1750 #define IInternetSecurityManager_SetSecuritySite(p,a) (p)->lpVtbl->SetSecuritySite(p,a)
1751 #define IInternetSecurityManager_GetSecuritySite(p,a) (p)->lpVtbl->GetSecuritySite(p,a)
1752 #define IInternetSecurityManager_MapUrlToZone(p,a,b,c) (p)->lpVtbl->MapUrlToZone(p,a,b,c)
1753 #define IInternetSecurityManager_GetSecurityId(p,a,b,c,d) (p)->lpVtbl->GetSecurityId(p,a,b,c,d)
1754 #define IInternetSecurityManager_ProcessUrlAction(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->ProcessUrlAction(p,a,b,c,d,e,f,g,h)
1755 #define IInternetSecurityManager_QueryCustomPolicy(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryCustomPolicy(p,a,b,c,d,e,f,g)
1756 #define IInternetSecurityManager_SetZoneMapping(p,a,b,c) (p)->lpVtbl->SetZoneMapping(p,a,b,c)
1757 #define IInternetSecurityManager_GetZoneMappings(p,a,b,c) (p)->lpVtbl->GetZoneMappings(p,a,b,c)
1758 #endif
1759
1760 #endif
1761
1762 HRESULT CALLBACK IInternetSecurityManager_SetSecuritySite_Proxy(
1763 IInternetSecurityManager* This,
1764 IInternetSecurityMgrSite* pSite);
1765 void __RPC_STUB IInternetSecurityManager_SetSecuritySite_Stub(
1766 struct IRpcStubBuffer* This,
1767 struct IRpcChannelBuffer* pRpcChannelBuffer,
1768 PRPC_MESSAGE pRpcMessage,
1769 DWORD* pdwStubPhase);
1770 HRESULT CALLBACK IInternetSecurityManager_GetSecuritySite_Proxy(
1771 IInternetSecurityManager* This,
1772 IInternetSecurityMgrSite** ppSite);
1773 void __RPC_STUB IInternetSecurityManager_GetSecuritySite_Stub(
1774 struct IRpcStubBuffer* This,
1775 struct IRpcChannelBuffer* pRpcChannelBuffer,
1776 PRPC_MESSAGE pRpcMessage,
1777 DWORD* pdwStubPhase);
1778 HRESULT CALLBACK IInternetSecurityManager_MapUrlToZone_Proxy(
1779 IInternetSecurityManager* This,
1780 LPCWSTR pwszUrl,
1781 DWORD* pdwZone,
1782 DWORD dwFlags);
1783 void __RPC_STUB IInternetSecurityManager_MapUrlToZone_Stub(
1784 struct IRpcStubBuffer* This,
1785 struct IRpcChannelBuffer* pRpcChannelBuffer,
1786 PRPC_MESSAGE pRpcMessage,
1787 DWORD* pdwStubPhase);
1788 HRESULT CALLBACK IInternetSecurityManager_GetSecurityId_Proxy(
1789 IInternetSecurityManager* This,
1790 LPCWSTR pwszUrl,
1791 BYTE* pbSecurityId,
1792 DWORD* pcbSecurityId,
1793 DWORD dwReserved);
1794 void __RPC_STUB IInternetSecurityManager_GetSecurityId_Stub(
1795 struct IRpcStubBuffer* This,
1796 struct IRpcChannelBuffer* pRpcChannelBuffer,
1797 PRPC_MESSAGE pRpcMessage,
1798 DWORD* pdwStubPhase);
1799 HRESULT CALLBACK IInternetSecurityManager_ProcessUrlAction_Proxy(
1800 IInternetSecurityManager* This,
1801 LPCWSTR pwszUrl,
1802 DWORD dwAction,
1803 BYTE* pPolicy,
1804 DWORD cbPolicy,
1805 BYTE* pContext,
1806 DWORD cbContext,
1807 DWORD dwFlags,
1808 DWORD dwReserved);
1809 void __RPC_STUB IInternetSecurityManager_ProcessUrlAction_Stub(
1810 struct IRpcStubBuffer* This,
1811 struct IRpcChannelBuffer* pRpcChannelBuffer,
1812 PRPC_MESSAGE pRpcMessage,
1813 DWORD* pdwStubPhase);
1814 HRESULT CALLBACK IInternetSecurityManager_QueryCustomPolicy_Proxy(
1815 IInternetSecurityManager* This,
1816 LPCWSTR pwszUrl,
1817 REFGUID guidKey,
1818 BYTE** ppPolicy,
1819 DWORD* pcbPolicy,
1820 BYTE* pContext,
1821 DWORD cbContext,
1822 DWORD dwReserved);
1823 void __RPC_STUB IInternetSecurityManager_QueryCustomPolicy_Stub(
1824 struct IRpcStubBuffer* This,
1825 struct IRpcChannelBuffer* pRpcChannelBuffer,
1826 PRPC_MESSAGE pRpcMessage,
1827 DWORD* pdwStubPhase);
1828 HRESULT CALLBACK IInternetSecurityManager_SetZoneMapping_Proxy(
1829 IInternetSecurityManager* This,
1830 DWORD dwZone,
1831 LPCWSTR lpszPattern,
1832 DWORD dwFlags);
1833 void __RPC_STUB IInternetSecurityManager_SetZoneMapping_Stub(
1834 struct IRpcStubBuffer* This,
1835 struct IRpcChannelBuffer* pRpcChannelBuffer,
1836 PRPC_MESSAGE pRpcMessage,
1837 DWORD* pdwStubPhase);
1838 HRESULT CALLBACK IInternetSecurityManager_GetZoneMappings_Proxy(
1839 IInternetSecurityManager* This,
1840 DWORD dwZone,
1841 IEnumString** ppenumString,
1842 DWORD dwFlags);
1843 void __RPC_STUB IInternetSecurityManager_GetZoneMappings_Stub(
1844 struct IRpcStubBuffer* This,
1845 struct IRpcChannelBuffer* pRpcChannelBuffer,
1846 PRPC_MESSAGE pRpcMessage,
1847 DWORD* pdwStubPhase);
1848
1849 #endif /* __IInternetSecurityManager_INTERFACE_DEFINED__ */
1850
1851 #ifndef __IInternetZoneManager_FWD_DEFINED__
1852 #define __IInternetZoneManager_FWD_DEFINED__
1853 typedef struct IInternetZoneManager IInternetZoneManager;
1854 #endif
1855
1856 typedef IInternetZoneManager *LPURLZONEMANAGER;
1857
1858 typedef enum tagURLZONE {
1859 URLZONE_PREDEFINED_MIN = 0,
1860 URLZONE_LOCAL_MACHINE = 0,
1861 URLZONE_INTRANET = 1,
1862 URLZONE_TRUSTED = 2,
1863 URLZONE_INTERNET = 3,
1864 URLZONE_UNTRUSTED = 4,
1865 URLZONE_PREDEFINED_MAX = 999,
1866 URLZONE_USER_MIN = 1000,
1867 URLZONE_USER_MAX = 10000
1868 } URLZONE;
1869
1870 typedef enum tagURLTEMPLATE {
1871 URLTEMPLATE_CUSTOM = 0x0,
1872 URLTEMPLATE_PREDEFINED_MIN = 0x10000,
1873 URLTEMPLATE_LOW = 0x10000,
1874 URLTEMPLATE_MEDIUM = 0x11000,
1875 URLTEMPLATE_HIGH = 0x12000,
1876 URLTEMPLATE_PREDEFINED_MAX = 0x20000
1877 } URLTEMPLATE;
1878
1879 typedef enum {
1880 ZAFLAGS_CUSTOM_EDIT = 0x1,
1881 ZAFLAGS_ADD_SITES = 0x2,
1882 ZAFLAGS_REQUIRE_VERIFICATION = 0x4,
1883 ZAFLAGS_INCLUDE_PROXY_OVERRIDE = 0x8,
1884 ZAFLAGS_INCLUDE_INTRANET_SITES = 0x10,
1885 ZAFLAGS_NO_UI = 0x20,
1886 ZAFLAGS_SUPPORTS_VERIFICATION = 0x40,
1887 ZAFLAGS_UNC_AS_INTRANET = 0x80
1888 } ZAFLAGS;
1889
1890 enum {
1891 MAX_ZONE_PATH = 260,
1892 MAX_ZONE_DESCRIPTION = 200
1893 };
1894
1895 typedef struct _ZONEATTRIBUTES {
1896 ULONG cbSize;
1897 WCHAR szDisplayName[260];
1898 WCHAR szDescription[200];
1899 WCHAR szIconPath[260];
1900 DWORD dwTemplateMinLevel;
1901 DWORD dwTemplateRecommended;
1902 DWORD dwTemplateCurrentLevel;
1903 DWORD dwFlags;
1904 } ZONEATTRIBUTES, *LPZONEATTRIBUTES;
1905
1906 typedef enum _URLZONEREG {
1907 URLZONEREG_DEFAULT,
1908 URLZONEREG_HKLM,
1909 URLZONEREG_HKCU
1910 } URLZONEREG;
1911
1912 /*****************************************************************************
1913 * IInternetZoneManager interface
1914 */
1915 #ifndef __IInternetZoneManager_INTERFACE_DEFINED__
1916 #define __IInternetZoneManager_INTERFACE_DEFINED__
1917
1918 DEFINE_GUID(IID_IInternetZoneManager, 0x79eac9ef, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1919 #if defined(__cplusplus) && !defined(CINTERFACE)
1920 struct IInternetZoneManager : public IUnknown
1921 {
1922 virtual HRESULT STDMETHODCALLTYPE GetZoneAttributes(
1923 DWORD dwZone,
1924 ZONEATTRIBUTES* pZoneAttributes) = 0;
1925
1926 virtual HRESULT STDMETHODCALLTYPE SetZoneAttributes(
1927 DWORD dwZone,
1928 ZONEATTRIBUTES* pZoneAttributes) = 0;
1929
1930 virtual HRESULT STDMETHODCALLTYPE GetZoneCustomPolicy(
1931 DWORD dwZone,
1932 REFGUID guidKey,
1933 BYTE** ppPolicy,
1934 DWORD* pcbPolicy,
1935 URLZONEREG ulrZoneReg) = 0;
1936
1937 virtual HRESULT STDMETHODCALLTYPE SetZoneCustomPolicy(
1938 DWORD dwZone,
1939 REFGUID guidKey,
1940 BYTE* ppPolicy,
1941 DWORD pcbPolicy,
1942 URLZONEREG ulrZoneReg) = 0;
1943
1944 virtual HRESULT STDMETHODCALLTYPE GetZoneActionPolicy(
1945 DWORD dwZone,
1946 DWORD dwAction,
1947 BYTE* pPolicy,
1948 DWORD cbPolicy,
1949 URLZONEREG urlZoneReg) = 0;
1950
1951 virtual HRESULT STDMETHODCALLTYPE SetZoneActionPolicy(
1952 DWORD dwZone,
1953 DWORD dwAction,
1954 BYTE* pPolicy,
1955 DWORD cbPolicy,
1956 URLZONEREG urlZoneReg) = 0;
1957
1958 virtual HRESULT STDMETHODCALLTYPE LogAction(
1959 DWORD dwAction,
1960 LPCWSTR pwszUrl,
1961 LPCWSTR pwszText,
1962 DWORD dwLogFlags) = 0;
1963
1964 virtual HRESULT STDMETHODCALLTYPE CreateZoneEnumerator(
1965 DWORD* pdwEnum,
1966 DWORD* pdwCount,
1967 DWORD dwFlags) = 0;
1968
1969 virtual HRESULT STDMETHODCALLTYPE GetZoneAt(
1970 DWORD dwEnum,
1971 DWORD dwIndex,
1972 DWORD* pdwZone) = 0;
1973
1974 virtual HRESULT STDMETHODCALLTYPE DestroyZoneEnumerator(
1975 DWORD dwEnum) = 0;
1976
1977 virtual HRESULT STDMETHODCALLTYPE CopyTemplatePoliciesToZone(
1978 DWORD dwTemplate,
1979 DWORD dwZone,
1980 DWORD dwReserved) = 0;
1981
1982 };
1983 #else
1984 typedef struct IInternetZoneManagerVtbl IInternetZoneManagerVtbl;
1985 struct IInternetZoneManager {
1986 const IInternetZoneManagerVtbl* lpVtbl;
1987 };
1988 struct IInternetZoneManagerVtbl {
1989 BEGIN_INTERFACE
1990
1991 /*** IUnknown methods ***/
1992 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1993 IInternetZoneManager* This,
1994 REFIID riid,
1995 void** ppvObject);
1996
1997 ULONG (STDMETHODCALLTYPE *AddRef)(
1998 IInternetZoneManager* This);
1999
2000 ULONG (STDMETHODCALLTYPE *Release)(
2001 IInternetZoneManager* This);
2002
2003 /*** IInternetZoneManager methods ***/
2004 HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)(
2005 IInternetZoneManager* This,
2006 DWORD dwZone,
2007 ZONEATTRIBUTES* pZoneAttributes);
2008
2009 HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)(
2010 IInternetZoneManager* This,
2011 DWORD dwZone,
2012 ZONEATTRIBUTES* pZoneAttributes);
2013
2014 HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)(
2015 IInternetZoneManager* This,
2016 DWORD dwZone,
2017 REFGUID guidKey,
2018 BYTE** ppPolicy,
2019 DWORD* pcbPolicy,
2020 URLZONEREG ulrZoneReg);
2021
2022 HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)(
2023 IInternetZoneManager* This,
2024 DWORD dwZone,
2025 REFGUID guidKey,
2026 BYTE* ppPolicy,
2027 DWORD pcbPolicy,
2028 URLZONEREG ulrZoneReg);
2029
2030 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)(
2031 IInternetZoneManager* This,
2032 DWORD dwZone,
2033 DWORD dwAction,
2034 BYTE* pPolicy,
2035 DWORD cbPolicy,
2036 URLZONEREG urlZoneReg);
2037
2038 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)(
2039 IInternetZoneManager* This,
2040 DWORD dwZone,
2041 DWORD dwAction,
2042 BYTE* pPolicy,
2043 DWORD cbPolicy,
2044 URLZONEREG urlZoneReg);
2045
2046 HRESULT (STDMETHODCALLTYPE *PromptAction)(
2047 IInternetZoneManager* This,
2048 DWORD dwAction,
2049 LPCWSTR pwszUrl,
2050 LPCWSTR pwszText,
2051 DWORD dwPromptFlags);
2052
2053 HRESULT (STDMETHODCALLTYPE *LogAction)(
2054 IInternetZoneManager* This,
2055 DWORD dwAction,
2056 LPCWSTR pwszUrl,
2057 LPCWSTR pwszText,
2058 DWORD dwLogFlags);
2059
2060 HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)(
2061 IInternetZoneManager* This,
2062 DWORD* pdwEnum,
2063 DWORD* pdwCount,
2064 DWORD dwFlags);
2065
2066 HRESULT (STDMETHODCALLTYPE *GetZoneAt)(
2067 IInternetZoneManager* This,
2068 DWORD dwEnum,
2069 DWORD dwIndex,
2070 DWORD* pdwZone);
2071
2072 HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)(
2073 IInternetZoneManager* This,
2074 DWORD dwEnum);
2075
2076 HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)(
2077 IInternetZoneManager* This,
2078 DWORD dwTemplate,
2079 DWORD dwZone,
2080 DWORD dwReserved);
2081
2082 END_INTERFACE
2083 };
2084
2085 #ifdef COBJMACROS
2086 /*** IUnknown methods ***/
2087 #define IInternetZoneManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2088 #define IInternetZoneManager_AddRef(p) (p)->lpVtbl->AddRef(p)
2089 #define IInternetZoneManager_Release(p) (p)->lpVtbl->Release(p)
2090 /*** IInternetZoneManager methods ***/
2091 #define IInternetZoneManager_GetZoneAttributes(p,a,b) (p)->lpVtbl->GetZoneAttributes(p,a,b)
2092 #define IInternetZoneManager_SetZoneAttributes(p,a,b) (p)->lpVtbl->SetZoneAttributes(p,a,b)
2093 #define IInternetZoneManager_GetZoneCustomPolicy(p,a,b,c,d,e) (p)->lpVtbl->GetZoneCustomPolicy(p,a,b,c,d,e)
2094 #define IInternetZoneManager_SetZoneCustomPolicy(p,a,b,c,d,e) (p)->lpVtbl->SetZoneCustomPolicy(p,a,b,c,d,e)
2095 #define IInternetZoneManager_GetZoneActionPolicy(p,a,b,c,d,e) (p)->lpVtbl->GetZoneActionPolicy(p,a,b,c,d,e)
2096 #define IInternetZoneManager_SetZoneActionPolicy(p,a,b,c,d,e) (p)->lpVtbl->SetZoneActionPolicy(p,a,b,c,d,e)
2097 #define IInternetZoneManager_LogAction(p,a,b,c,d) (p)->lpVtbl->LogAction(p,a,b,c,d)
2098 #define IInternetZoneManager_CreateZoneEnumerator(p,a,b,c) (p)->lpVtbl->CreateZoneEnumerator(p,a,b,c)
2099 #define IInternetZoneManager_GetZoneAt(p,a,b,c) (p)->lpVtbl->GetZoneAt(p,a,b,c)
2100 #define IInternetZoneManager_DestroyZoneEnumerator(p,a) (p)->lpVtbl->DestroyZoneEnumerator(p,a)
2101 #define IInternetZoneManager_CopyTemplatePoliciesToZone(p,a,b,c) (p)->lpVtbl->CopyTemplatePoliciesToZone(p,a,b,c)
2102 #endif
2103
2104 #endif
2105
2106 HRESULT CALLBACK IInternetZoneManager_GetZoneAttributes_Proxy(
2107 IInternetZoneManager* This,
2108 DWORD dwZone,
2109 ZONEATTRIBUTES* pZoneAttributes);
2110 void __RPC_STUB IInternetZoneManager_GetZoneAttributes_Stub(
2111 struct IRpcStubBuffer* This,
2112 struct IRpcChannelBuffer* pRpcChannelBuffer,
2113 PRPC_MESSAGE pRpcMessage,
2114 DWORD* pdwStubPhase);
2115 HRESULT CALLBACK IInternetZoneManager_SetZoneAttributes_Proxy(
2116 IInternetZoneManager* This,
2117 DWORD dwZone,
2118 ZONEATTRIBUTES* pZoneAttributes);
2119 void __RPC_STUB IInternetZoneManager_SetZoneAttributes_Stub(
2120 struct IRpcStubBuffer* This,
2121 struct IRpcChannelBuffer* pRpcChannelBuffer,
2122 PRPC_MESSAGE pRpcMessage,
2123 DWORD* pdwStubPhase);
2124 HRESULT CALLBACK IInternetZoneManager_GetZoneCustomPolicy_Proxy(
2125 IInternetZoneManager* This,
2126 DWORD dwZone,
2127 REFGUID guidKey,
2128 BYTE** ppPolicy,
2129 DWORD* pcbPolicy,
2130 URLZONEREG ulrZoneReg);
2131 void __RPC_STUB IInternetZoneManager_GetZoneCustomPolicy_Stub(
2132 struct IRpcStubBuffer* This,
2133 struct IRpcChannelBuffer* pRpcChannelBuffer,
2134 PRPC_MESSAGE pRpcMessage,
2135 DWORD* pdwStubPhase);
2136 HRESULT CALLBACK IInternetZoneManager_SetZoneCustomPolicy_Proxy(
2137 IInternetZoneManager* This,
2138 DWORD dwZone,
2139 REFGUID guidKey,
2140 BYTE* ppPolicy,
2141 DWORD pcbPolicy,
2142 URLZONEREG ulrZoneReg);
2143 void __RPC_STUB IInternetZoneManager_SetZoneCustomPolicy_Stub(
2144 struct IRpcStubBuffer* This,
2145 struct IRpcChannelBuffer* pRpcChannelBuffer,
2146 PRPC_MESSAGE pRpcMessage,
2147 DWORD* pdwStubPhase);
2148 HRESULT CALLBACK IInternetZoneManager_GetZoneActionPolicy_Proxy(
2149 IInternetZoneManager* This,
2150 DWORD dwZone,
2151 DWORD dwAction,
2152 BYTE* pPolicy,
2153 DWORD cbPolicy,
2154 URLZONEREG urlZoneReg);
2155 void __RPC_STUB IInternetZoneManager_GetZoneActionPolicy_Stub(
2156 struct IRpcStubBuffer* This,
2157 struct IRpcChannelBuffer* pRpcChannelBuffer,
2158 PRPC_MESSAGE pRpcMessage,
2159 DWORD* pdwStubPhase);
2160 HRESULT CALLBACK IInternetZoneManager_SetZoneActionPolicy_Proxy(
2161 IInternetZoneManager* This,
2162 DWORD dwZone,
2163 DWORD dwAction,
2164 BYTE* pPolicy,
2165 DWORD cbPolicy,
2166 URLZONEREG urlZoneReg);
2167 void __RPC_STUB IInternetZoneManager_SetZoneActionPolicy_Stub(
2168 struct IRpcStubBuffer* This,
2169 struct IRpcChannelBuffer* pRpcChannelBuffer,
2170 PRPC_MESSAGE pRpcMessage,
2171 DWORD* pdwStubPhase);
2172 HRESULT CALLBACK IInternetZoneManager_LogAction_Proxy(
2173 IInternetZoneManager* This,
2174 DWORD dwAction,
2175 LPCWSTR pwszUrl,
2176 LPCWSTR pwszText,
2177 DWORD dwLogFlags);
2178 void __RPC_STUB IInternetZoneManager_LogAction_Stub(
2179 struct IRpcStubBuffer* This,
2180 struct IRpcChannelBuffer* pRpcChannelBuffer,
2181 PRPC_MESSAGE pRpcMessage,
2182 DWORD* pdwStubPhase);
2183 HRESULT CALLBACK IInternetZoneManager_CreateZoneEnumerator_Proxy(
2184 IInternetZoneManager* This,
2185 DWORD* pdwEnum,
2186 DWORD* pdwCount,
2187 DWORD dwFlags);
2188 void __RPC_STUB IInternetZoneManager_CreateZoneEnumerator_Stub(
2189 struct IRpcStubBuffer* This,
2190 struct IRpcChannelBuffer* pRpcChannelBuffer,
2191 PRPC_MESSAGE pRpcMessage,
2192 DWORD* pdwStubPhase);
2193 HRESULT CALLBACK IInternetZoneManager_GetZoneAt_Proxy(
2194 IInternetZoneManager* This,
2195 DWORD dwEnum,
2196 DWORD dwIndex,
2197 DWORD* pdwZone);
2198 void __RPC_STUB IInternetZoneManager_GetZoneAt_Stub(
2199 struct IRpcStubBuffer* This,
2200 struct IRpcChannelBuffer* pRpcChannelBuffer,
2201 PRPC_MESSAGE pRpcMessage,
2202 DWORD* pdwStubPhase);
2203 HRESULT CALLBACK IInternetZoneManager_DestroyZoneEnumerator_Proxy(
2204 IInternetZoneManager* This,
2205 DWORD dwEnum);
2206 void __RPC_STUB IInternetZoneManager_DestroyZoneEnumerator_Stub(
2207 struct IRpcStubBuffer* This,
2208 struct IRpcChannelBuffer* pRpcChannelBuffer,
2209 PRPC_MESSAGE pRpcMessage,
2210 DWORD* pdwStubPhase);
2211 HRESULT CALLBACK IInternetZoneManager_CopyTemplatePoliciesToZone_Proxy(
2212 IInternetZoneManager* This,
2213 DWORD dwTemplate,
2214 DWORD dwZone,
2215 DWORD dwReserved);
2216 void __RPC_STUB IInternetZoneManager_CopyTemplatePoliciesToZone_Stub(
2217 struct IRpcStubBuffer* This,
2218 struct IRpcChannelBuffer* pRpcChannelBuffer,
2219 PRPC_MESSAGE pRpcMessage,
2220 DWORD* pdwStubPhase);
2221
2222 #endif /* __IInternetZoneManager_INTERFACE_DEFINED__ */
2223
2224 typedef struct _tagSOFTDISTINFO {
2225 ULONG cbSize;
2226 DWORD dwFlags;
2227 DWORD dwAdState;
2228 LPWSTR szTitle;
2229 LPWSTR szAbstract;
2230 LPWSTR szHREF;
2231 DWORD dwInstalledVersionMS;
2232 DWORD dwInstalledVersionLS;
2233 DWORD dwUpdateVersionMS;
2234 DWORD dwUpdateVersionLS;
2235 DWORD dwAdvertisedVersionMS;
2236 DWORD dwAdvertisedVersionLS;
2237 DWORD dwReserved;
2238 } SOFTDISTINFO, *LPSOFTDISTINFO;
2239
2240 DEFINE_GUID(CLSID_InternetSecurityManager, 0x7b8a2d94, 0x0ac9, 0x11d1, 0x89, 0x6c, 0x00, 0xc0, 0x4f, 0xB6, 0xbf, 0xc4);
2241 DEFINE_GUID(CLSID_InternetZoneManager, 0x7B8A2D95, 0x0AC9, 0x11D1, 0x89, 0x6C, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4);
2242 DEFINE_GUID(IID_IAsyncMoniker, 0x79EAC9D3, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
2243 DEFINE_GUID(CLSID_StdURLMoniker, 0x79EAC9E0, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
2244 #define MK_S_ASYNCHRONOUS 0x000401E8
2245 #define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS
2246 #define INET_E_ERROR_FIRST 0x800C0002L
2247 #define INET_E_INVALID_URL 0x800C0002L
2248 #define INET_E_NO_SESSION 0x800C0003L
2249 #define INET_E_CANNOT_CONNECT 0x800C0004L
2250 #define INET_E_RESOURCE_NOT_FOUND 0x800C0005L
2251 #define INET_E_OBJECT_NOT_FOUND 0x800C0006L
2252 #define INET_E_DATA_NOT_AVAILABLE 0x800C0007L
2253 #define INET_E_DOWNLOAD_FAILURE 0x800C0008L
2254 #define INET_E_AUTHENTICATION_REQUIRED 0x800C0009L
2255 #define INET_E_NO_VALID_MEDIA 0x800C000AL
2256 #define INET_E_CONNECTION_TIMEOUT 0x800C000BL
2257 #define INET_E_INVALID_REQUEST 0x800C000CL
2258 #define INET_E_UNKNOWN_PROTOCOL 0x800C000DL
2259 #define INET_E_SECURITY_PROBLEM 0x800C000EL
2260 #define INET_E_CANNOT_LOAD_DATA 0x800C000FL
2261 #define INET_E_CANNOT_INSTANTIATE_OBJECT 0x800C0010L
2262 #define INET_E_QUERYOPTION_UNKNOWN 0x800C0013L
2263 #define INET_E_REDIRECT_FAILED 0x800C0014L
2264 #define INET_E_REDIRECT_TO_DIR 0x800C0015L
2265 #define INET_E_CANNOT_LOCK_REQUEST 0x800C0016L
2266 #define INET_E_ERROR_LAST INET_E_REDIRECT_TO_DIR
2267 HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk);
2268 HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbsc, DWORD dwReserved);
2269 HRESULT WINAPI CompareSecurityIds(BYTE*,DWORD,BYTE*,DWORD,DWORD);
2270 HRESULT WINAPI URLDownloadToFileA(LPUNKNOWN pCaller, LPCSTR szURL, LPCSTR szFileName, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB);
2271 HRESULT WINAPI URLDownloadToFileW(LPUNKNOWN pCaller, LPCWSTR szURL, LPCWSTR szFileName, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB);
2272 HRESULT WINAPI CoInternetGetSession(DWORD,IInternetSession**,DWORD);
2273 HRESULT WINAPI MkParseDisplayNameEx(IBindCtx*,LPCWSTR,ULONG*,IMoniker**);
2274 HRESULT WINAPI IsAsyncMoniker(IMoniker* pmk);
2275 HRESULT WINAPI CreateAsyncBindCtx(DWORD, IBindStatusCallback*, IEnumFORMATETC*, IBindCtx**);
2276 HRESULT WINAPI CoInternetCombineUrl(LPCWSTR,LPCWSTR,DWORD,LPWSTR,DWORD,DWORD*,DWORD);
2277 HRESULT WINAPI CoInternetCompareUrl(LPCWSTR,LPCWSTR,DWORD);
2278 HRESULT WINAPI CoInternetCreateZoneManager(IServiceProvider*, IInternetZoneManager**, DWORD);
2279 #define OInetCombineUrl CoInternetCombineUrl
2280 #define OInetCompareUrl CoInternetCompareUrl
2281 #define OInetGetSession CoInternetGetSession
2282 #define MKSYS_URLMONIKER 6
2283 #ifdef __cplusplus
2284 }
2285 #endif
2286 #endif /* __WIDL_URLMON_H */