1 /*** Autogenerated by WIDL 0.1 from urlmon.idl - Do not edit ***/
5 #ifndef __WIDL_URLMON_H
6 #define __WIDL_URLMON_H
13 #ifndef __IBinding_FWD_DEFINED__
14 #define __IBinding_FWD_DEFINED__
15 typedef struct IBinding IBinding;
18 typedef IBinding *LPBINDING;
20 /*****************************************************************************
23 #ifndef __IBinding_INTERFACE_DEFINED__
24 #define __IBinding_INTERFACE_DEFINED__
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
30 virtual HRESULT STDMETHODCALLTYPE Abort(
33 virtual HRESULT STDMETHODCALLTYPE Suspend(
36 virtual HRESULT STDMETHODCALLTYPE Resume(
39 virtual HRESULT STDMETHODCALLTYPE SetPriority(
42 virtual HRESULT STDMETHODCALLTYPE GetPriority(
43 LONG* pnPriority) = 0;
45 virtual HRESULT STDMETHODCALLTYPE GetBindResult(
46 CLSID* pclsidProtocol,
49 DWORD* pdwReserved) = 0;
53 typedef struct IBindingVtbl IBindingVtbl;
55 const IBindingVtbl* lpVtbl;
58 ICOM_MSVTABLE_COMPAT_FIELDS
60 /*** IUnknown methods ***/
61 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
66 ULONG (STDMETHODCALLTYPE *AddRef)(
69 ULONG (STDMETHODCALLTYPE *Release)(
72 /*** IBinding methods ***/
73 HRESULT (STDMETHODCALLTYPE *Abort)(
76 HRESULT (STDMETHODCALLTYPE *Suspend)(
79 HRESULT (STDMETHODCALLTYPE *Resume)(
82 HRESULT (STDMETHODCALLTYPE *SetPriority)(
86 HRESULT (STDMETHODCALLTYPE *GetPriority)(
90 HRESULT (STDMETHODCALLTYPE *GetBindResult)(
92 CLSID* pclsidProtocol,
100 /*** IUnknown methods ***/
101 #define IBinding_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
102 #define IBinding_AddRef(p) (p)->lpVtbl->AddRef(p)
103 #define IBinding_Release(p) (p)->lpVtbl->Release(p)
104 /*** IBinding methods ***/
105 #define IBinding_Abort(p) (p)->lpVtbl->Abort(p)
106 #define IBinding_Suspend(p) (p)->lpVtbl->Suspend(p)
107 #define IBinding_Resume(p) (p)->lpVtbl->Resume(p)
108 #define IBinding_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
109 #define IBinding_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a)
110 #define IBinding_GetBindResult(p,a,b,c,d) (p)->lpVtbl->GetBindResult(p,a,b,c,d)
115 #define IBinding_METHODS \
116 ICOM_MSVTABLE_COMPAT_FIELDS \
117 /*** IUnknown methods ***/ \
118 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
119 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
120 STDMETHOD_(ULONG,Release)(THIS) PURE; \
121 /*** IBinding methods ***/ \
122 STDMETHOD_(HRESULT,Abort)(THIS) PURE; \
123 STDMETHOD_(HRESULT,Suspend)(THIS) PURE; \
124 STDMETHOD_(HRESULT,Resume)(THIS) PURE; \
125 STDMETHOD_(HRESULT,SetPriority)(THIS_ LONG nPriority) PURE; \
126 STDMETHOD_(HRESULT,GetPriority)(THIS_ LONG* pnPriority) PURE; \
127 STDMETHOD_(HRESULT,GetBindResult)(THIS_ CLSID* pclsidProtocol, DWORD* pdwResult, LPOLESTR* pszResult, DWORD* pdwReserved) PURE;
129 HRESULT CALLBACK IBinding_Abort_Proxy(
131 void __RPC_STUB IBinding_Abort_Stub(
132 struct IRpcStubBuffer* This,
133 struct IRpcChannelBuffer* pRpcChannelBuffer,
134 PRPC_MESSAGE pRpcMessage,
135 DWORD* pdwStubPhase);
136 HRESULT CALLBACK IBinding_Suspend_Proxy(
138 void __RPC_STUB IBinding_Suspend_Stub(
139 struct IRpcStubBuffer* This,
140 struct IRpcChannelBuffer* pRpcChannelBuffer,
141 PRPC_MESSAGE pRpcMessage,
142 DWORD* pdwStubPhase);
143 HRESULT CALLBACK IBinding_Resume_Proxy(
145 void __RPC_STUB IBinding_Resume_Stub(
146 struct IRpcStubBuffer* This,
147 struct IRpcChannelBuffer* pRpcChannelBuffer,
148 PRPC_MESSAGE pRpcMessage,
149 DWORD* pdwStubPhase);
150 HRESULT CALLBACK IBinding_SetPriority_Proxy(
153 void __RPC_STUB IBinding_SetPriority_Stub(
154 struct IRpcStubBuffer* This,
155 struct IRpcChannelBuffer* pRpcChannelBuffer,
156 PRPC_MESSAGE pRpcMessage,
157 DWORD* pdwStubPhase);
158 HRESULT CALLBACK IBinding_GetPriority_Proxy(
161 void __RPC_STUB IBinding_GetPriority_Stub(
162 struct IRpcStubBuffer* This,
163 struct IRpcChannelBuffer* pRpcChannelBuffer,
164 PRPC_MESSAGE pRpcMessage,
165 DWORD* pdwStubPhase);
166 HRESULT CALLBACK IBinding_RemoteGetBindResult_Proxy(
168 CLSID* pclsidProtocol,
172 void __RPC_STUB IBinding_RemoteGetBindResult_Stub(
173 struct IRpcStubBuffer* This,
174 struct IRpcChannelBuffer* pRpcChannelBuffer,
175 PRPC_MESSAGE pRpcMessage,
176 DWORD* pdwStubPhase);
177 HRESULT CALLBACK IBinding_GetBindResult_Proxy(
179 CLSID* pclsidProtocol,
183 HRESULT __RPC_STUB IBinding_GetBindResult_Stub(
185 CLSID* pclsidProtocol,
190 #endif /* __IBinding_INTERFACE_DEFINED__ */
192 #ifndef __IBindStatusCallback_FWD_DEFINED__
193 #define __IBindStatusCallback_FWD_DEFINED__
194 typedef struct IBindStatusCallback IBindStatusCallback;
197 typedef IBindStatusCallback *LPBINDSTATUSCALLBACK;
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,
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
226 typedef struct _tagBINDINFO {
229 STGMEDIUM stgmedData;
235 DWORD dwOptionsFlags;
237 SECURITY_ATTRIBUTES securityAttributes;
243 typedef struct _REMSECURITY_ATTRIBUTES {
245 DWORD lpSecurityDescriptor;
247 } REMSECURITY_ATTRIBUTES, *PREMSECURITY_ATTRIBUTES, *LPREMSECURITY_ATTRIBUTES;
249 typedef struct _tagRemBINDINFO {
257 DWORD dwOptionsFlags;
259 REMSECURITY_ATTRIBUTES securityAttributes;
265 typedef struct tagRemFORMATETC {
271 } RemFORMATETC, *LPREMFORMATETC;
274 BSCF_FIRSTDATANOTIFICATION = 0x1,
275 BSCF_INTERMEDIATEDATANOTIFICATION = 0x2,
276 BSCF_LASTDATANOTIFICATION = 0x4,
277 BSCF_DATAFULLYAVAILABLE = 0x8,
278 BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10
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,
303 BINDSTATUS_VERFIEDMIMETYPEAVAILABLE,
304 BINDSTATUS_CLASSINSTALLLOCATION,
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
332 /*****************************************************************************
333 * IBindStatusCallback interface
335 #ifndef __IBindStatusCallback_INTERFACE_DEFINED__
336 #define __IBindStatusCallback_INTERFACE_DEFINED__
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
342 virtual HRESULT STDMETHODCALLTYPE OnStartBinding(
346 virtual HRESULT STDMETHODCALLTYPE GetPriority(
347 LONG* pnPriority) = 0;
349 virtual HRESULT STDMETHODCALLTYPE OnLowResource(
352 virtual HRESULT STDMETHODCALLTYPE OnProgress(
356 LPCWSTR szStatusText) = 0;
358 virtual HRESULT STDMETHODCALLTYPE OnStopBinding(
360 LPCWSTR szError) = 0;
362 virtual HRESULT STDMETHODCALLTYPE GetBindInfo(
364 BINDINFO* pbindinfo) = 0;
366 virtual HRESULT STDMETHODCALLTYPE OnDataAvailable(
369 FORMATETC* pformatetc,
370 STGMEDIUM* pstgmed) = 0;
372 virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable(
378 typedef struct IBindStatusCallbackVtbl IBindStatusCallbackVtbl;
379 struct IBindStatusCallback {
380 const IBindStatusCallbackVtbl* lpVtbl;
382 struct IBindStatusCallbackVtbl {
383 ICOM_MSVTABLE_COMPAT_FIELDS
385 /*** IUnknown methods ***/
386 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
387 IBindStatusCallback* This,
391 ULONG (STDMETHODCALLTYPE *AddRef)(
392 IBindStatusCallback* This);
394 ULONG (STDMETHODCALLTYPE *Release)(
395 IBindStatusCallback* This);
397 /*** IBindStatusCallback methods ***/
398 HRESULT (STDMETHODCALLTYPE *OnStartBinding)(
399 IBindStatusCallback* This,
403 HRESULT (STDMETHODCALLTYPE *GetPriority)(
404 IBindStatusCallback* This,
407 HRESULT (STDMETHODCALLTYPE *OnLowResource)(
408 IBindStatusCallback* This,
411 HRESULT (STDMETHODCALLTYPE *OnProgress)(
412 IBindStatusCallback* This,
416 LPCWSTR szStatusText);
418 HRESULT (STDMETHODCALLTYPE *OnStopBinding)(
419 IBindStatusCallback* This,
423 HRESULT (STDMETHODCALLTYPE *GetBindInfo)(
424 IBindStatusCallback* This,
426 BINDINFO* pbindinfo);
428 HRESULT (STDMETHODCALLTYPE *OnDataAvailable)(
429 IBindStatusCallback* This,
432 FORMATETC* pformatetc,
435 HRESULT (STDMETHODCALLTYPE *OnObjectAvailable)(
436 IBindStatusCallback* This,
443 /*** IUnknown methods ***/
444 #define IBindStatusCallback_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
445 #define IBindStatusCallback_AddRef(p) (p)->lpVtbl->AddRef(p)
446 #define IBindStatusCallback_Release(p) (p)->lpVtbl->Release(p)
447 /*** IBindStatusCallback methods ***/
448 #define IBindStatusCallback_OnStartBinding(p,a,b) (p)->lpVtbl->OnStartBinding(p,a,b)
449 #define IBindStatusCallback_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a)
450 #define IBindStatusCallback_OnLowResource(p,a) (p)->lpVtbl->OnLowResource(p,a)
451 #define IBindStatusCallback_OnProgress(p,a,b,c,d) (p)->lpVtbl->OnProgress(p,a,b,c,d)
452 #define IBindStatusCallback_OnStopBinding(p,a,b) (p)->lpVtbl->OnStopBinding(p,a,b)
453 #define IBindStatusCallback_GetBindInfo(p,a,b) (p)->lpVtbl->GetBindInfo(p,a,b)
454 #define IBindStatusCallback_OnDataAvailable(p,a,b,c,d) (p)->lpVtbl->OnDataAvailable(p,a,b,c,d)
455 #define IBindStatusCallback_OnObjectAvailable(p,a,b) (p)->lpVtbl->OnObjectAvailable(p,a,b)
460 #define IBindStatusCallback_METHODS \
461 ICOM_MSVTABLE_COMPAT_FIELDS \
462 /*** IUnknown methods ***/ \
463 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
464 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
465 STDMETHOD_(ULONG,Release)(THIS) PURE; \
466 /*** IBindStatusCallback methods ***/ \
467 STDMETHOD_(HRESULT,OnStartBinding)(THIS_ DWORD dwReserved, IBinding* pib) PURE; \
468 STDMETHOD_(HRESULT,GetPriority)(THIS_ LONG* pnPriority) PURE; \
469 STDMETHOD_(HRESULT,OnLowResource)(THIS_ DWORD reserved) PURE; \
470 STDMETHOD_(HRESULT,OnProgress)(THIS_ ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText) PURE; \
471 STDMETHOD_(HRESULT,OnStopBinding)(THIS_ HRESULT hresult, LPCWSTR szError) PURE; \
472 STDMETHOD_(HRESULT,GetBindInfo)(THIS_ DWORD* grfBINDF, BINDINFO* pbindinfo) PURE; \
473 STDMETHOD_(HRESULT,OnDataAvailable)(THIS_ DWORD grfBSCF, DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed) PURE; \
474 STDMETHOD_(HRESULT,OnObjectAvailable)(THIS_ REFIID riid, IUnknown* punk) PURE;
476 HRESULT CALLBACK IBindStatusCallback_OnStartBinding_Proxy(
477 IBindStatusCallback* This,
480 void __RPC_STUB IBindStatusCallback_OnStartBinding_Stub(
481 struct IRpcStubBuffer* This,
482 struct IRpcChannelBuffer* pRpcChannelBuffer,
483 PRPC_MESSAGE pRpcMessage,
484 DWORD* pdwStubPhase);
485 HRESULT CALLBACK IBindStatusCallback_GetPriority_Proxy(
486 IBindStatusCallback* This,
488 void __RPC_STUB IBindStatusCallback_GetPriority_Stub(
489 struct IRpcStubBuffer* This,
490 struct IRpcChannelBuffer* pRpcChannelBuffer,
491 PRPC_MESSAGE pRpcMessage,
492 DWORD* pdwStubPhase);
493 HRESULT CALLBACK IBindStatusCallback_OnLowResource_Proxy(
494 IBindStatusCallback* This,
496 void __RPC_STUB IBindStatusCallback_OnLowResource_Stub(
497 struct IRpcStubBuffer* This,
498 struct IRpcChannelBuffer* pRpcChannelBuffer,
499 PRPC_MESSAGE pRpcMessage,
500 DWORD* pdwStubPhase);
501 HRESULT CALLBACK IBindStatusCallback_OnProgress_Proxy(
502 IBindStatusCallback* This,
506 LPCWSTR szStatusText);
507 void __RPC_STUB IBindStatusCallback_OnProgress_Stub(
508 struct IRpcStubBuffer* This,
509 struct IRpcChannelBuffer* pRpcChannelBuffer,
510 PRPC_MESSAGE pRpcMessage,
511 DWORD* pdwStubPhase);
512 HRESULT CALLBACK IBindStatusCallback_OnStopBinding_Proxy(
513 IBindStatusCallback* This,
516 void __RPC_STUB IBindStatusCallback_OnStopBinding_Stub(
517 struct IRpcStubBuffer* This,
518 struct IRpcChannelBuffer* pRpcChannelBuffer,
519 PRPC_MESSAGE pRpcMessage,
520 DWORD* pdwStubPhase);
521 HRESULT CALLBACK IBindStatusCallback_RemoteGetBindInfo_Proxy(
522 IBindStatusCallback* This,
524 RemBINDINFO* pbindinfo,
525 RemSTGMEDIUM* pstgmed);
526 void __RPC_STUB IBindStatusCallback_RemoteGetBindInfo_Stub(
527 struct IRpcStubBuffer* This,
528 struct IRpcChannelBuffer* pRpcChannelBuffer,
529 PRPC_MESSAGE pRpcMessage,
530 DWORD* pdwStubPhase);
531 HRESULT CALLBACK IBindStatusCallback_GetBindInfo_Proxy(
532 IBindStatusCallback* This,
534 BINDINFO* pbindinfo);
535 HRESULT __RPC_STUB IBindStatusCallback_GetBindInfo_Stub(
536 IBindStatusCallback* This,
538 RemBINDINFO* pbindinfo,
539 RemSTGMEDIUM* pstgmed);
540 HRESULT CALLBACK IBindStatusCallback_RemoteOnDataAvailable_Proxy(
541 IBindStatusCallback* This,
544 RemFORMATETC* pformatetc,
545 RemSTGMEDIUM* pstgmed);
546 void __RPC_STUB IBindStatusCallback_RemoteOnDataAvailable_Stub(
547 struct IRpcStubBuffer* This,
548 struct IRpcChannelBuffer* pRpcChannelBuffer,
549 PRPC_MESSAGE pRpcMessage,
550 DWORD* pdwStubPhase);
551 HRESULT CALLBACK IBindStatusCallback_OnDataAvailable_Proxy(
552 IBindStatusCallback* This,
555 FORMATETC* pformatetc,
557 HRESULT __RPC_STUB IBindStatusCallback_OnDataAvailable_Stub(
558 IBindStatusCallback* This,
561 RemFORMATETC* pformatetc,
562 RemSTGMEDIUM* pstgmed);
563 HRESULT CALLBACK IBindStatusCallback_OnObjectAvailable_Proxy(
564 IBindStatusCallback* This,
567 void __RPC_STUB IBindStatusCallback_OnObjectAvailable_Stub(
568 struct IRpcStubBuffer* This,
569 struct IRpcChannelBuffer* pRpcChannelBuffer,
570 PRPC_MESSAGE pRpcMessage,
571 DWORD* pdwStubPhase);
573 #endif /* __IBindStatusCallback_INTERFACE_DEFINED__ */
575 #define SID_IBindHost IID_IBindHost
576 #define SID_SBindHost IID_IBindHost
577 #ifndef __IBindHost_FWD_DEFINED__
578 #define __IBindHost_FWD_DEFINED__
579 typedef struct IBindHost IBindHost;
582 typedef IBindHost *LPBINDHOST;
584 /*****************************************************************************
585 * IBindHost interface
587 #ifndef __IBindHost_INTERFACE_DEFINED__
588 #define __IBindHost_INTERFACE_DEFINED__
590 DEFINE_GUID(IID_IBindHost, 0xfc4801a1, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52);
591 #if defined(__cplusplus) && !defined(CINTERFACE)
592 struct IBindHost : public IUnknown
594 virtual HRESULT STDMETHODCALLTYPE CreateMoniker(
598 DWORD dwReserved) = 0;
600 virtual HRESULT STDMETHODCALLTYPE MonikerBindToStorage(
603 IBindStatusCallback* pBSC,
607 virtual HRESULT STDMETHODCALLTYPE MonikerBindToObject(
610 IBindStatusCallback* pBSC,
616 typedef struct IBindHostVtbl IBindHostVtbl;
618 const IBindHostVtbl* lpVtbl;
620 struct IBindHostVtbl {
621 ICOM_MSVTABLE_COMPAT_FIELDS
623 /*** IUnknown methods ***/
624 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
629 ULONG (STDMETHODCALLTYPE *AddRef)(
632 ULONG (STDMETHODCALLTYPE *Release)(
635 /*** IBindHost methods ***/
636 HRESULT (STDMETHODCALLTYPE *CreateMoniker)(
643 HRESULT (STDMETHODCALLTYPE *MonikerBindToStorage)(
647 IBindStatusCallback* pBSC,
651 HRESULT (STDMETHODCALLTYPE *MonikerBindToObject)(
655 IBindStatusCallback* pBSC,
662 /*** IUnknown methods ***/
663 #define IBindHost_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
664 #define IBindHost_AddRef(p) (p)->lpVtbl->AddRef(p)
665 #define IBindHost_Release(p) (p)->lpVtbl->Release(p)
666 /*** IBindHost methods ***/
667 #define IBindHost_CreateMoniker(p,a,b,c,d) (p)->lpVtbl->CreateMoniker(p,a,b,c,d)
668 #define IBindHost_MonikerBindToStorage(p,a,b,c,d,e) (p)->lpVtbl->MonikerBindToStorage(p,a,b,c,d,e)
669 #define IBindHost_MonikerBindToObject(p,a,b,c,d,e) (p)->lpVtbl->MonikerBindToObject(p,a,b,c,d,e)
674 #define IBindHost_METHODS \
675 ICOM_MSVTABLE_COMPAT_FIELDS \
676 /*** IUnknown methods ***/ \
677 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
678 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
679 STDMETHOD_(ULONG,Release)(THIS) PURE; \
680 /*** IBindHost methods ***/ \
681 STDMETHOD_(HRESULT,CreateMoniker)(THIS_ LPOLESTR szName, IBindCtx* pBC, IMoniker** ppmk, DWORD dwReserved) PURE; \
682 STDMETHOD_(HRESULT,MonikerBindToStorage)(THIS_ IMoniker* pMk, IBindCtx* pBC, IBindStatusCallback* pBSC, REFIID riid, void** ppvObj) PURE; \
683 STDMETHOD_(HRESULT,MonikerBindToObject)(THIS_ IMoniker* pMk, IBindCtx* pBC, IBindStatusCallback* pBSC, REFIID riid, void** ppvObj) PURE;
685 HRESULT CALLBACK IBindHost_CreateMoniker_Proxy(
691 void __RPC_STUB IBindHost_CreateMoniker_Stub(
692 struct IRpcStubBuffer* This,
693 struct IRpcChannelBuffer* pRpcChannelBuffer,
694 PRPC_MESSAGE pRpcMessage,
695 DWORD* pdwStubPhase);
696 HRESULT CALLBACK IBindHost_RemoteMonikerBindToStorage_Proxy(
700 IBindStatusCallback* pBSC,
703 void __RPC_STUB IBindHost_RemoteMonikerBindToStorage_Stub(
704 struct IRpcStubBuffer* This,
705 struct IRpcChannelBuffer* pRpcChannelBuffer,
706 PRPC_MESSAGE pRpcMessage,
707 DWORD* pdwStubPhase);
708 HRESULT CALLBACK IBindHost_MonikerBindToStorage_Proxy(
712 IBindStatusCallback* pBSC,
715 HRESULT __RPC_STUB IBindHost_MonikerBindToStorage_Stub(
719 IBindStatusCallback* pBSC,
722 HRESULT CALLBACK IBindHost_RemoteMonikerBindToObject_Proxy(
726 IBindStatusCallback* pBSC,
729 void __RPC_STUB IBindHost_RemoteMonikerBindToObject_Stub(
730 struct IRpcStubBuffer* This,
731 struct IRpcChannelBuffer* pRpcChannelBuffer,
732 PRPC_MESSAGE pRpcMessage,
733 DWORD* pdwStubPhase);
734 HRESULT CALLBACK IBindHost_MonikerBindToObject_Proxy(
738 IBindStatusCallback* pBSC,
741 HRESULT __RPC_STUB IBindHost_MonikerBindToObject_Stub(
745 IBindStatusCallback* pBSC,
749 #endif /* __IBindHost_INTERFACE_DEFINED__ */
751 #ifndef __IWinInetInfo_FWD_DEFINED__
752 #define __IWinInetInfo_FWD_DEFINED__
753 typedef struct IWinInetInfo IWinInetInfo;
756 typedef IWinInetInfo *LPWININETINFO;
758 /*****************************************************************************
759 * IWinInetInfo interface
761 #ifndef __IWinInetInfo_INTERFACE_DEFINED__
762 #define __IWinInetInfo_INTERFACE_DEFINED__
764 DEFINE_GUID(IID_IWinInetInfo, 0x79eac9d6, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
765 #if defined(__cplusplus) && !defined(CINTERFACE)
766 struct IWinInetInfo : public IUnknown
768 virtual HRESULT STDMETHODCALLTYPE QueryOption(
775 typedef struct IWinInetInfoVtbl IWinInetInfoVtbl;
776 struct IWinInetInfo {
777 const IWinInetInfoVtbl* lpVtbl;
779 struct IWinInetInfoVtbl {
780 ICOM_MSVTABLE_COMPAT_FIELDS
782 /*** IUnknown methods ***/
783 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
788 ULONG (STDMETHODCALLTYPE *AddRef)(
791 ULONG (STDMETHODCALLTYPE *Release)(
794 /*** IWinInetInfo methods ***/
795 HRESULT (STDMETHODCALLTYPE *QueryOption)(
804 /*** IUnknown methods ***/
805 #define IWinInetInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
806 #define IWinInetInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
807 #define IWinInetInfo_Release(p) (p)->lpVtbl->Release(p)
808 /*** IWinInetInfo methods ***/
809 #define IWinInetInfo_QueryOption(p,a,b,c) (p)->lpVtbl->QueryOption(p,a,b,c)
814 #define IWinInetInfo_METHODS \
815 ICOM_MSVTABLE_COMPAT_FIELDS \
816 /*** IUnknown methods ***/ \
817 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
818 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
819 STDMETHOD_(ULONG,Release)(THIS) PURE; \
820 /*** IWinInetInfo methods ***/ \
821 STDMETHOD_(HRESULT,QueryOption)(THIS_ DWORD dwOption, LPVOID pBuffer, DWORD* pcbBuf) PURE;
823 HRESULT CALLBACK IWinInetInfo_RemoteQueryOption_Proxy(
828 void __RPC_STUB IWinInetInfo_RemoteQueryOption_Stub(
829 struct IRpcStubBuffer* This,
830 struct IRpcChannelBuffer* pRpcChannelBuffer,
831 PRPC_MESSAGE pRpcMessage,
832 DWORD* pdwStubPhase);
833 HRESULT CALLBACK IWinInetInfo_QueryOption_Proxy(
838 HRESULT __RPC_STUB IWinInetInfo_QueryOption_Stub(
844 #endif /* __IWinInetInfo_INTERFACE_DEFINED__ */
846 #ifndef __IWinInetHttpInfo_FWD_DEFINED__
847 #define __IWinInetHttpInfo_FWD_DEFINED__
848 typedef struct IWinInetHttpInfo IWinInetHttpInfo;
851 typedef IWinInetHttpInfo *LPWININETHTTPINFO;
853 /*****************************************************************************
854 * IWinInetHttpInfo interface
856 #ifndef __IWinInetHttpInfo_INTERFACE_DEFINED__
857 #define __IWinInetHttpInfo_INTERFACE_DEFINED__
859 DEFINE_GUID(IID_IWinInetHttpInfo, 0x79eac9d8, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
860 #if defined(__cplusplus) && !defined(CINTERFACE)
861 struct IWinInetHttpInfo : public IWinInetInfo
863 virtual HRESULT STDMETHODCALLTYPE QueryInfo(
868 DWORD* pdwReserved) = 0;
872 typedef struct IWinInetHttpInfoVtbl IWinInetHttpInfoVtbl;
873 struct IWinInetHttpInfo {
874 const IWinInetHttpInfoVtbl* lpVtbl;
876 struct IWinInetHttpInfoVtbl {
877 ICOM_MSVTABLE_COMPAT_FIELDS
879 /*** IUnknown methods ***/
880 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
881 IWinInetHttpInfo* This,
885 ULONG (STDMETHODCALLTYPE *AddRef)(
886 IWinInetHttpInfo* This);
888 ULONG (STDMETHODCALLTYPE *Release)(
889 IWinInetHttpInfo* This);
891 /*** IWinInetInfo methods ***/
892 HRESULT (STDMETHODCALLTYPE *QueryOption)(
893 IWinInetHttpInfo* This,
898 /*** IWinInetHttpInfo methods ***/
899 HRESULT (STDMETHODCALLTYPE *QueryInfo)(
900 IWinInetHttpInfo* This,
910 /*** IUnknown methods ***/
911 #define IWinInetHttpInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
912 #define IWinInetHttpInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
913 #define IWinInetHttpInfo_Release(p) (p)->lpVtbl->Release(p)
914 /*** IWinInetInfo methods ***/
915 #define IWinInetHttpInfo_QueryOption(p,a,b,c) (p)->lpVtbl->QueryOption(p,a,b,c)
916 /*** IWinInetHttpInfo methods ***/
917 #define IWinInetHttpInfo_QueryInfo(p,a,b,c,d,e) (p)->lpVtbl->QueryInfo(p,a,b,c,d,e)
922 #define IWinInetHttpInfo_METHODS \
923 ICOM_MSVTABLE_COMPAT_FIELDS \
924 /*** IUnknown methods ***/ \
925 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
926 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
927 STDMETHOD_(ULONG,Release)(THIS) PURE; \
928 /*** IWinInetInfo methods ***/ \
929 STDMETHOD_(HRESULT,QueryOption)(THIS_ DWORD dwOption, LPVOID pBuffer, DWORD* pcbBuf) PURE; \
930 /*** IWinInetHttpInfo methods ***/ \
931 STDMETHOD_(HRESULT,QueryInfo)(THIS_ DWORD dwOption, LPVOID pBuffer, DWORD* pcbBuf, DWORD* pdwFlags, DWORD* pdwReserved) PURE;
933 HRESULT CALLBACK IWinInetHttpInfo_RemoteQueryInfo_Proxy(
934 IWinInetHttpInfo* This,
940 void __RPC_STUB IWinInetHttpInfo_RemoteQueryInfo_Stub(
941 struct IRpcStubBuffer* This,
942 struct IRpcChannelBuffer* pRpcChannelBuffer,
943 PRPC_MESSAGE pRpcMessage,
944 DWORD* pdwStubPhase);
945 HRESULT CALLBACK IWinInetHttpInfo_QueryInfo_Proxy(
946 IWinInetHttpInfo* This,
952 HRESULT __RPC_STUB IWinInetHttpInfo_QueryInfo_Stub(
953 IWinInetHttpInfo* This,
960 #endif /* __IWinInetHttpInfo_INTERFACE_DEFINED__ */
962 #ifndef __IPersistMoniker_FWD_DEFINED__
963 #define __IPersistMoniker_FWD_DEFINED__
964 typedef struct IPersistMoniker IPersistMoniker;
967 typedef IPersistMoniker *LPPERSISTMONIKER;
969 /*****************************************************************************
970 * IPersistMoniker interface
972 #ifndef __IPersistMoniker_INTERFACE_DEFINED__
973 #define __IPersistMoniker_INTERFACE_DEFINED__
975 DEFINE_GUID(IID_IPersistMoniker, 0x79eac9c9, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
976 #if defined(__cplusplus) && !defined(CINTERFACE)
977 struct IPersistMoniker : public IUnknown
979 virtual HRESULT STDMETHODCALLTYPE GetClassID(
980 CLSID* pClassID) = 0;
982 virtual HRESULT STDMETHODCALLTYPE IsDirty(
985 virtual HRESULT STDMETHODCALLTYPE Load(
986 BOOL fFullyAvailable,
991 virtual HRESULT STDMETHODCALLTYPE Save(
996 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
1000 virtual HRESULT STDMETHODCALLTYPE GetCurMoniker(
1001 IMoniker** ppimkName) = 0;
1005 typedef struct IPersistMonikerVtbl IPersistMonikerVtbl;
1006 struct IPersistMoniker {
1007 const IPersistMonikerVtbl* lpVtbl;
1009 struct IPersistMonikerVtbl {
1010 ICOM_MSVTABLE_COMPAT_FIELDS
1012 /*** IUnknown methods ***/
1013 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1014 IPersistMoniker* This,
1018 ULONG (STDMETHODCALLTYPE *AddRef)(
1019 IPersistMoniker* This);
1021 ULONG (STDMETHODCALLTYPE *Release)(
1022 IPersistMoniker* This);
1024 /*** IPersistMoniker methods ***/
1025 HRESULT (STDMETHODCALLTYPE *GetClassID)(
1026 IPersistMoniker* This,
1029 HRESULT (STDMETHODCALLTYPE *IsDirty)(
1030 IPersistMoniker* This);
1032 HRESULT (STDMETHODCALLTYPE *Load)(
1033 IPersistMoniker* This,
1034 BOOL fFullyAvailable,
1039 HRESULT (STDMETHODCALLTYPE *Save)(
1040 IPersistMoniker* This,
1045 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
1046 IPersistMoniker* This,
1050 HRESULT (STDMETHODCALLTYPE *GetCurMoniker)(
1051 IPersistMoniker* This,
1052 IMoniker** ppimkName);
1057 /*** IUnknown methods ***/
1058 #define IPersistMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1059 #define IPersistMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
1060 #define IPersistMoniker_Release(p) (p)->lpVtbl->Release(p)
1061 /*** IPersistMoniker methods ***/
1062 #define IPersistMoniker_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
1063 #define IPersistMoniker_IsDirty(p) (p)->lpVtbl->IsDirty(p)
1064 #define IPersistMoniker_Load(p,a,b,c,d) (p)->lpVtbl->Load(p,a,b,c,d)
1065 #define IPersistMoniker_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1066 #define IPersistMoniker_SaveCompleted(p,a,b) (p)->lpVtbl->SaveCompleted(p,a,b)
1067 #define IPersistMoniker_GetCurMoniker(p,a) (p)->lpVtbl->GetCurMoniker(p,a)
1072 #define IPersistMoniker_METHODS \
1073 ICOM_MSVTABLE_COMPAT_FIELDS \
1074 /*** IUnknown methods ***/ \
1075 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1076 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1077 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1078 /*** IPersistMoniker methods ***/ \
1079 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
1080 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
1081 STDMETHOD_(HRESULT,Load)(THIS_ BOOL fFullyAvailable, IMoniker* pimkName, LPBC pibc, DWORD grfMode) PURE; \
1082 STDMETHOD_(HRESULT,Save)(THIS_ IMoniker* pimkName, LPBC pbc, BOOL fRemember) PURE; \
1083 STDMETHOD_(HRESULT,SaveCompleted)(THIS_ IMoniker* pimkName, LPBC pibc) PURE; \
1084 STDMETHOD_(HRESULT,GetCurMoniker)(THIS_ IMoniker** ppimkName) PURE;
1086 HRESULT CALLBACK IPersistMoniker_GetClassID_Proxy(
1087 IPersistMoniker* This,
1089 void __RPC_STUB IPersistMoniker_GetClassID_Stub(
1090 struct IRpcStubBuffer* This,
1091 struct IRpcChannelBuffer* pRpcChannelBuffer,
1092 PRPC_MESSAGE pRpcMessage,
1093 DWORD* pdwStubPhase);
1094 HRESULT CALLBACK IPersistMoniker_IsDirty_Proxy(
1095 IPersistMoniker* This);
1096 void __RPC_STUB IPersistMoniker_IsDirty_Stub(
1097 struct IRpcStubBuffer* This,
1098 struct IRpcChannelBuffer* pRpcChannelBuffer,
1099 PRPC_MESSAGE pRpcMessage,
1100 DWORD* pdwStubPhase);
1101 HRESULT CALLBACK IPersistMoniker_Load_Proxy(
1102 IPersistMoniker* This,
1103 BOOL fFullyAvailable,
1107 void __RPC_STUB IPersistMoniker_Load_Stub(
1108 struct IRpcStubBuffer* This,
1109 struct IRpcChannelBuffer* pRpcChannelBuffer,
1110 PRPC_MESSAGE pRpcMessage,
1111 DWORD* pdwStubPhase);
1112 HRESULT CALLBACK IPersistMoniker_Save_Proxy(
1113 IPersistMoniker* This,
1117 void __RPC_STUB IPersistMoniker_Save_Stub(
1118 struct IRpcStubBuffer* This,
1119 struct IRpcChannelBuffer* pRpcChannelBuffer,
1120 PRPC_MESSAGE pRpcMessage,
1121 DWORD* pdwStubPhase);
1122 HRESULT CALLBACK IPersistMoniker_SaveCompleted_Proxy(
1123 IPersistMoniker* This,
1126 void __RPC_STUB IPersistMoniker_SaveCompleted_Stub(
1127 struct IRpcStubBuffer* This,
1128 struct IRpcChannelBuffer* pRpcChannelBuffer,
1129 PRPC_MESSAGE pRpcMessage,
1130 DWORD* pdwStubPhase);
1131 HRESULT CALLBACK IPersistMoniker_GetCurMoniker_Proxy(
1132 IPersistMoniker* This,
1133 IMoniker** ppimkName);
1134 void __RPC_STUB IPersistMoniker_GetCurMoniker_Stub(
1135 struct IRpcStubBuffer* This,
1136 struct IRpcChannelBuffer* pRpcChannelBuffer,
1137 PRPC_MESSAGE pRpcMessage,
1138 DWORD* pdwStubPhase);
1140 #endif /* __IPersistMoniker_INTERFACE_DEFINED__ */
1142 #ifndef __IInternetProtocolInfo_FWD_DEFINED__
1143 #define __IInternetProtocolInfo_FWD_DEFINED__
1144 typedef struct IInternetProtocolInfo IInternetProtocolInfo;
1147 typedef IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO;
1149 typedef enum _tagPARSEACTION {
1150 PARSE_CANONICALIZE = 1,
1158 PARSE_PATH_FROM_URL,
1159 PARSE_URL_FROM_PATH,
1166 PARSE_SECURITY_DOMAIN,
1171 typedef enum _tagPSUACTION {
1173 PSU_SECURITY_URL_ONLY
1176 typedef enum _tagQUERYOPTION {
1177 QUERY_EXPIRATION_DATE = 1,
1178 QUERY_TIME_OF_LAST_CHANGE,
1179 QUERY_CONTENT_ENCODING,
1186 QUERY_IS_INSTALLEDENTRY,
1187 QUERY_IS_CACHED_OR_MAPPED,
1193 /*****************************************************************************
1194 * IInternetProtocolInfo interface
1196 #ifndef __IInternetProtocolInfo_INTERFACE_DEFINED__
1197 #define __IInternetProtocolInfo_INTERFACE_DEFINED__
1199 DEFINE_GUID(IID_IInternetProtocolInfo, 0x79eac9ec, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1200 #if defined(__cplusplus) && !defined(CINTERFACE)
1201 struct IInternetProtocolInfo : public IUnknown
1203 virtual HRESULT STDMETHODCALLTYPE ParseUrl(
1205 PARSEACTION ParseAction,
1210 DWORD dwReserved) = 0;
1212 virtual HRESULT STDMETHODCALLTYPE CombineUrl(
1214 LPCWSTR pwzRelativeUrl,
1215 DWORD dwCombineFlags,
1219 DWORD dwReserved) = 0;
1221 virtual HRESULT STDMETHODCALLTYPE CompareUrl(
1224 DWORD dwCompareFlags) = 0;
1226 virtual HRESULT STDMETHODCALLTYPE QueryInfo(
1228 QUERYOPTION OueryOption,
1233 DWORD dwReserved) = 0;
1237 typedef struct IInternetProtocolInfoVtbl IInternetProtocolInfoVtbl;
1238 struct IInternetProtocolInfo {
1239 const IInternetProtocolInfoVtbl* lpVtbl;
1241 struct IInternetProtocolInfoVtbl {
1242 ICOM_MSVTABLE_COMPAT_FIELDS
1244 /*** IUnknown methods ***/
1245 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1246 IInternetProtocolInfo* This,
1250 ULONG (STDMETHODCALLTYPE *AddRef)(
1251 IInternetProtocolInfo* This);
1253 ULONG (STDMETHODCALLTYPE *Release)(
1254 IInternetProtocolInfo* This);
1256 /*** IInternetProtocolInfo methods ***/
1257 HRESULT (STDMETHODCALLTYPE *ParseUrl)(
1258 IInternetProtocolInfo* This,
1260 PARSEACTION ParseAction,
1267 HRESULT (STDMETHODCALLTYPE *CombineUrl)(
1268 IInternetProtocolInfo* This,
1270 LPCWSTR pwzRelativeUrl,
1271 DWORD dwCombineFlags,
1277 HRESULT (STDMETHODCALLTYPE *CompareUrl)(
1278 IInternetProtocolInfo* This,
1281 DWORD dwCompareFlags);
1283 HRESULT (STDMETHODCALLTYPE *QueryInfo)(
1284 IInternetProtocolInfo* This,
1286 QUERYOPTION OueryOption,
1296 /*** IUnknown methods ***/
1297 #define IInternetProtocolInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1298 #define IInternetProtocolInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1299 #define IInternetProtocolInfo_Release(p) (p)->lpVtbl->Release(p)
1300 /*** IInternetProtocolInfo methods ***/
1301 #define IInternetProtocolInfo_ParseUrl(p,a,b,c,d,e,f,g) (p)->lpVtbl->ParseUrl(p,a,b,c,d,e,f,g)
1302 #define IInternetProtocolInfo_CombineUrl(p,a,b,c,d,e,f,g) (p)->lpVtbl->CombineUrl(p,a,b,c,d,e,f,g)
1303 #define IInternetProtocolInfo_CompareUrl(p,a,b,c) (p)->lpVtbl->CompareUrl(p,a,b,c)
1304 #define IInternetProtocolInfo_QueryInfo(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryInfo(p,a,b,c,d,e,f,g)
1309 #define IInternetProtocolInfo_METHODS \
1310 ICOM_MSVTABLE_COMPAT_FIELDS \
1311 /*** IUnknown methods ***/ \
1312 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1313 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1314 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1315 /*** IInternetProtocolInfo methods ***/ \
1316 STDMETHOD_(HRESULT,ParseUrl)(THIS_ LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwParseFlags, LPWSTR pwzResult, DWORD cchResult, DWORD* pcchResult, DWORD dwReserved) PURE; \
1317 STDMETHOD_(HRESULT,CombineUrl)(THIS_ LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pwzResult, DWORD cchResult, DWORD* pcchResult, DWORD dwReserved) PURE; \
1318 STDMETHOD_(HRESULT,CompareUrl)(THIS_ LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwCompareFlags) PURE; \
1319 STDMETHOD_(HRESULT,QueryInfo)(THIS_ LPCWSTR pwzUrl, QUERYOPTION OueryOption, DWORD dwQueryFlags, LPVOID pBuffer, DWORD cbBuffer, DWORD* pcbBuf, DWORD dwReserved) PURE;
1321 HRESULT CALLBACK IInternetProtocolInfo_ParseUrl_Proxy(
1322 IInternetProtocolInfo* This,
1324 PARSEACTION ParseAction,
1330 void __RPC_STUB IInternetProtocolInfo_ParseUrl_Stub(
1331 struct IRpcStubBuffer* This,
1332 struct IRpcChannelBuffer* pRpcChannelBuffer,
1333 PRPC_MESSAGE pRpcMessage,
1334 DWORD* pdwStubPhase);
1335 HRESULT CALLBACK IInternetProtocolInfo_CombineUrl_Proxy(
1336 IInternetProtocolInfo* This,
1338 LPCWSTR pwzRelativeUrl,
1339 DWORD dwCombineFlags,
1344 void __RPC_STUB IInternetProtocolInfo_CombineUrl_Stub(
1345 struct IRpcStubBuffer* This,
1346 struct IRpcChannelBuffer* pRpcChannelBuffer,
1347 PRPC_MESSAGE pRpcMessage,
1348 DWORD* pdwStubPhase);
1349 HRESULT CALLBACK IInternetProtocolInfo_CompareUrl_Proxy(
1350 IInternetProtocolInfo* This,
1353 DWORD dwCompareFlags);
1354 void __RPC_STUB IInternetProtocolInfo_CompareUrl_Stub(
1355 struct IRpcStubBuffer* This,
1356 struct IRpcChannelBuffer* pRpcChannelBuffer,
1357 PRPC_MESSAGE pRpcMessage,
1358 DWORD* pdwStubPhase);
1359 HRESULT CALLBACK IInternetProtocolInfo_QueryInfo_Proxy(
1360 IInternetProtocolInfo* This,
1362 QUERYOPTION OueryOption,
1368 void __RPC_STUB IInternetProtocolInfo_QueryInfo_Stub(
1369 struct IRpcStubBuffer* This,
1370 struct IRpcChannelBuffer* pRpcChannelBuffer,
1371 PRPC_MESSAGE pRpcMessage,
1372 DWORD* pdwStubPhase);
1374 #endif /* __IInternetProtocolInfo_INTERFACE_DEFINED__ */
1376 #ifndef __IInternetSession_FWD_DEFINED__
1377 #define __IInternetSession_FWD_DEFINED__
1378 typedef struct IInternetSession IInternetSession;
1381 typedef IInternetSession *LPIINTERNETSESSION;
1383 typedef enum _tagOIBDG_FLAGS {
1384 OIBDG_APARTMENTTHREADED = 0x100,
1385 OIBDG_DATAONLY = 0x1000
1388 /*****************************************************************************
1389 * IInternetSession interface
1391 #ifndef __IInternetSession_INTERFACE_DEFINED__
1392 #define __IInternetSession_INTERFACE_DEFINED__
1394 DEFINE_GUID(IID_IInternetSession, 0x79eac9e7, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1395 #if defined(__cplusplus) && !defined(CINTERFACE)
1396 struct IInternetSession : public IUnknown
1398 virtual HRESULT STDMETHODCALLTYPE RegisterNameSpace(
1401 LPCWSTR pwzProtocol,
1403 const LPCWSTR* ppwzPatterns,
1404 DWORD dwReserved) = 0;
1406 virtual HRESULT STDMETHODCALLTYPE UnregisterNameSpace(
1408 LPCWSTR pszProtocol) = 0;
1410 virtual HRESULT STDMETHODCALLTYPE RegisterMimeFilter(
1413 LPCWSTR pwzType) = 0;
1415 virtual HRESULT STDMETHODCALLTYPE UnregisterMimeFilter(
1417 LPCWSTR pwzType) = 0;
1419 virtual HRESULT STDMETHODCALLTYPE CreateBinding(
1422 IUnknown* pUnkOuter,
1425 DWORD dwOption) = 0;
1427 virtual HRESULT STDMETHODCALLTYPE SetSessionOption(
1430 DWORD dwBufferLength,
1431 DWORD dwReserved) = 0;
1435 typedef struct IInternetSessionVtbl IInternetSessionVtbl;
1436 struct IInternetSession {
1437 const IInternetSessionVtbl* lpVtbl;
1439 struct IInternetSessionVtbl {
1440 ICOM_MSVTABLE_COMPAT_FIELDS
1442 /*** IUnknown methods ***/
1443 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1444 IInternetSession* This,
1448 ULONG (STDMETHODCALLTYPE *AddRef)(
1449 IInternetSession* This);
1451 ULONG (STDMETHODCALLTYPE *Release)(
1452 IInternetSession* This);
1454 /*** IInternetSession methods ***/
1455 HRESULT (STDMETHODCALLTYPE *RegisterNameSpace)(
1456 IInternetSession* This,
1459 LPCWSTR pwzProtocol,
1461 const LPCWSTR* ppwzPatterns,
1464 HRESULT (STDMETHODCALLTYPE *UnregisterNameSpace)(
1465 IInternetSession* This,
1467 LPCWSTR pszProtocol);
1469 HRESULT (STDMETHODCALLTYPE *RegisterMimeFilter)(
1470 IInternetSession* This,
1475 HRESULT (STDMETHODCALLTYPE *UnregisterMimeFilter)(
1476 IInternetSession* This,
1480 HRESULT (STDMETHODCALLTYPE *CreateBinding)(
1481 IInternetSession* This,
1484 IUnknown* pUnkOuter,
1489 HRESULT (STDMETHODCALLTYPE *SetSessionOption)(
1490 IInternetSession* This,
1493 DWORD dwBufferLength,
1499 /*** IUnknown methods ***/
1500 #define IInternetSession_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1501 #define IInternetSession_AddRef(p) (p)->lpVtbl->AddRef(p)
1502 #define IInternetSession_Release(p) (p)->lpVtbl->Release(p)
1503 /*** IInternetSession methods ***/
1504 #define IInternetSession_RegisterNameSpace(p,a,b,c,d,e,f) (p)->lpVtbl->RegisterNameSpace(p,a,b,c,d,e,f)
1505 #define IInternetSession_UnregisterNameSpace(p,a,b) (p)->lpVtbl->UnregisterNameSpace(p,a,b)
1506 #define IInternetSession_RegisterMimeFilter(p,a,b,c) (p)->lpVtbl->RegisterMimeFilter(p,a,b,c)
1507 #define IInternetSession_UnregisterMimeFilter(p,a,b) (p)->lpVtbl->UnregisterMimeFilter(p,a,b)
1508 #define IInternetSession_CreateBinding(p,a,b,c,d,e,f) (p)->lpVtbl->CreateBinding(p,a,b,c,d,e,f)
1509 #define IInternetSession_SetSessionOption(p,a,b,c,d) (p)->lpVtbl->SetSessionOption(p,a,b,c,d)
1514 #define IInternetSession_METHODS \
1515 ICOM_MSVTABLE_COMPAT_FIELDS \
1516 /*** IUnknown methods ***/ \
1517 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1518 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1519 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1520 /*** IInternetSession methods ***/ \
1521 STDMETHOD_(HRESULT,RegisterNameSpace)(THIS_ IClassFactory* pCF, REFCLSID rclsid, LPCWSTR pwzProtocol, ULONG cPatterns, const LPCWSTR* ppwzPatterns, DWORD dwReserved) PURE; \
1522 STDMETHOD_(HRESULT,UnregisterNameSpace)(THIS_ IClassFactory* pCF, LPCWSTR pszProtocol) PURE; \
1523 STDMETHOD_(HRESULT,RegisterMimeFilter)(THIS_ IClassFactory* pCF, REFCLSID rclsid, LPCWSTR pwzType) PURE; \
1524 STDMETHOD_(HRESULT,UnregisterMimeFilter)(THIS_ IClassFactory* pCF, LPCWSTR pwzType) PURE; \
1525 STDMETHOD_(HRESULT,CreateBinding)(THIS_ LPBC pBC, LPCWSTR szUrl, IUnknown* pUnkOuter, IUnknown** ppUnk, void** ppOInetProt, DWORD dwOption) PURE; \
1526 STDMETHOD_(HRESULT,SetSessionOption)(THIS_ DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved) PURE;
1528 HRESULT CALLBACK IInternetSession_RegisterNameSpace_Proxy(
1529 IInternetSession* This,
1532 LPCWSTR pwzProtocol,
1534 const LPCWSTR* ppwzPatterns,
1536 void __RPC_STUB IInternetSession_RegisterNameSpace_Stub(
1537 struct IRpcStubBuffer* This,
1538 struct IRpcChannelBuffer* pRpcChannelBuffer,
1539 PRPC_MESSAGE pRpcMessage,
1540 DWORD* pdwStubPhase);
1541 HRESULT CALLBACK IInternetSession_UnregisterNameSpace_Proxy(
1542 IInternetSession* This,
1544 LPCWSTR pszProtocol);
1545 void __RPC_STUB IInternetSession_UnregisterNameSpace_Stub(
1546 struct IRpcStubBuffer* This,
1547 struct IRpcChannelBuffer* pRpcChannelBuffer,
1548 PRPC_MESSAGE pRpcMessage,
1549 DWORD* pdwStubPhase);
1550 HRESULT CALLBACK IInternetSession_RegisterMimeFilter_Proxy(
1551 IInternetSession* This,
1555 void __RPC_STUB IInternetSession_RegisterMimeFilter_Stub(
1556 struct IRpcStubBuffer* This,
1557 struct IRpcChannelBuffer* pRpcChannelBuffer,
1558 PRPC_MESSAGE pRpcMessage,
1559 DWORD* pdwStubPhase);
1560 HRESULT CALLBACK IInternetSession_UnregisterMimeFilter_Proxy(
1561 IInternetSession* This,
1564 void __RPC_STUB IInternetSession_UnregisterMimeFilter_Stub(
1565 struct IRpcStubBuffer* This,
1566 struct IRpcChannelBuffer* pRpcChannelBuffer,
1567 PRPC_MESSAGE pRpcMessage,
1568 DWORD* pdwStubPhase);
1569 HRESULT CALLBACK IInternetSession_CreateBinding_Proxy(
1570 IInternetSession* This,
1573 IUnknown* pUnkOuter,
1577 void __RPC_STUB IInternetSession_CreateBinding_Stub(
1578 struct IRpcStubBuffer* This,
1579 struct IRpcChannelBuffer* pRpcChannelBuffer,
1580 PRPC_MESSAGE pRpcMessage,
1581 DWORD* pdwStubPhase);
1582 HRESULT CALLBACK IInternetSession_SetSessionOption_Proxy(
1583 IInternetSession* This,
1586 DWORD dwBufferLength,
1588 void __RPC_STUB IInternetSession_SetSessionOption_Stub(
1589 struct IRpcStubBuffer* This,
1590 struct IRpcChannelBuffer* pRpcChannelBuffer,
1591 PRPC_MESSAGE pRpcMessage,
1592 DWORD* pdwStubPhase);
1594 #endif /* __IInternetSession_INTERFACE_DEFINED__ */
1596 DEFINE_GUID(IID_IAsyncMoniker, 0x79EAC9D3, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
1597 DEFINE_GUID(CLSID_StdURLMoniker, 0x79EAC9E0, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
1598 #define MK_S_ASYNCHRONOUS 0x000401E8
1599 #define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS
1600 #define INET_E_ERROR_FIRST 0x800C0002L
1601 #define INET_E_INVALID_URL 0x800C0002L
1602 #define INET_E_NO_SESSION 0x800C0003L
1603 #define INET_E_CANNOT_CONNECT 0x800C0004L
1604 #define INET_E_RESOURCE_NOT_FOUND 0x800C0005L
1605 #define INET_E_OBJECT_NOT_FOUND 0x800C0006L
1606 #define INET_E_DATA_NOT_AVAILABLE 0x800C0007L
1607 #define INET_E_DOWNLOAD_FAILURE 0x800C0008L
1608 #define INET_E_AUTHENTICATION_REQUIRED 0x800C0009L
1609 #define INET_E_NO_VALID_MEDIA 0x800C000AL
1610 #define INET_E_CONNECTION_TIMEOUT 0x800C000BL
1611 #define INET_E_INVALID_REQUEST 0x800C000CL
1612 #define INET_E_UNKNOWN_PROTOCOL 0x800C000DL
1613 #define INET_E_SECURITY_PROBLEM 0x800C000EL
1614 #define INET_E_CANNOT_LOAD_DATA 0x800C000FL
1615 #define INET_E_CANNOT_INSTANTIATE_OBJECT 0x800C0010L
1616 #define INET_E_QUERYOPTION_UNKNOWN 0x800C0013L
1617 #define INET_E_REDIRECT_FAILED 0x800C0014L
1618 #define INET_E_REDIRECT_TO_DIR 0x800C0015L
1619 #define INET_E_CANNOT_LOCK_REQUEST 0x800C0016L
1620 #define INET_E_ERROR_LAST INET_E_REDIRECT_TO_DIR
1621 HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk);
1622 HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbsc, DWORD dwReserved);
1623 HRESULT WINAPI CompareSecurityIds(BYTE*,DWORD,BYTE*,DWORD,DWORD);
1624 HRESULT WINAPI URLDownloadToFileA(LPUNKNOWN pCaller, LPCSTR szURL, LPCSTR szFileName, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB);
1625 HRESULT WINAPI URLDownloadToFileW(LPUNKNOWN pCaller, LPCWSTR szURL, LPCWSTR szFileName, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB);
1626 HRESULT WINAPI CoInternetGetSession(DWORD,IInternetSession**,DWORD);
1627 HRESULT WINAPI MkParseDisplayNameEx(IBindCtx*,LPCWSTR,ULONG*,IMoniker**);
1628 HRESULT WINAPI IsAsyncMoniker(IMoniker* pmk);
1629 HRESULT WINAPI CreateAsyncBindCtx(DWORD, IBindStatusCallback*, IEnumFORMATETC*, IBindCtx**);
1630 HRESULT WINAPI CoInternetCombineUrl(LPCWSTR,LPCWSTR,DWORD,LPWSTR,DWORD,DWORD*,DWORD);
1631 HRESULT WINAPI CoInternetCompareUrl(LPCWSTR,LPCWSTR,DWORD);
1632 #define OInetCombineUrl CoInternetCombineUrl
1633 #define OInetCompareUrl CoInternetCompareUrl
1634 #define OInetGetSession CoInternetGetSession
1635 #define MKSYS_URLMONIKER 6
1639 #endif /* __WIDL_URLMON_H */