ifdef guard TCHAR declaration like PSDK does.
[wine.git] / include / urlmon.h
blobc7b9b866c9ca6f51f30c1f14a5649fdfb66fb34f
1 /*** Autogenerated by WIDL 0.1 from urlmon.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
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
18 typedef IBinding *LPBINDING;
20 /*****************************************************************************
21 * IBinding interface
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(
31 ) = 0;
33 virtual HRESULT STDMETHODCALLTYPE Suspend(
34 ) = 0;
36 virtual HRESULT STDMETHODCALLTYPE Resume(
37 ) = 0;
39 virtual HRESULT STDMETHODCALLTYPE SetPriority(
40 LONG nPriority) = 0;
42 virtual HRESULT STDMETHODCALLTYPE GetPriority(
43 LONG* pnPriority) = 0;
45 virtual HRESULT STDMETHODCALLTYPE GetBindResult(
46 CLSID* pclsidProtocol,
47 DWORD* pdwResult,
48 LPOLESTR* pszResult,
49 DWORD* pdwReserved) = 0;
52 #else
53 typedef struct IBindingVtbl IBindingVtbl;
54 struct IBinding {
55 const IBindingVtbl* lpVtbl;
57 struct IBindingVtbl {
58 ICOM_MSVTABLE_COMPAT_FIELDS
60 /*** IUnknown methods ***/
61 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
62 IBinding* This,
63 REFIID riid,
64 void** ppvObject);
66 ULONG (STDMETHODCALLTYPE *AddRef)(
67 IBinding* This);
69 ULONG (STDMETHODCALLTYPE *Release)(
70 IBinding* This);
72 /*** IBinding methods ***/
73 HRESULT (STDMETHODCALLTYPE *Abort)(
74 IBinding* This);
76 HRESULT (STDMETHODCALLTYPE *Suspend)(
77 IBinding* This);
79 HRESULT (STDMETHODCALLTYPE *Resume)(
80 IBinding* This);
82 HRESULT (STDMETHODCALLTYPE *SetPriority)(
83 IBinding* This,
84 LONG nPriority);
86 HRESULT (STDMETHODCALLTYPE *GetPriority)(
87 IBinding* This,
88 LONG* pnPriority);
90 HRESULT (STDMETHODCALLTYPE *GetBindResult)(
91 IBinding* This,
92 CLSID* pclsidProtocol,
93 DWORD* pdwResult,
94 LPOLESTR* pszResult,
95 DWORD* pdwReserved);
99 /*** IUnknown methods ***/
100 #define IBinding_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
101 #define IBinding_AddRef(p) (p)->lpVtbl->AddRef(p)
102 #define IBinding_Release(p) (p)->lpVtbl->Release(p)
103 /*** IBinding methods ***/
104 #define IBinding_Abort(p) (p)->lpVtbl->Abort(p)
105 #define IBinding_Suspend(p) (p)->lpVtbl->Suspend(p)
106 #define IBinding_Resume(p) (p)->lpVtbl->Resume(p)
107 #define IBinding_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
108 #define IBinding_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a)
109 #define IBinding_GetBindResult(p,a,b,c,d) (p)->lpVtbl->GetBindResult(p,a,b,c,d)
111 #endif
113 #define IBinding_METHODS \
114 ICOM_MSVTABLE_COMPAT_FIELDS \
115 /*** IUnknown methods ***/ \
116 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
117 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
118 STDMETHOD_(ULONG,Release)(THIS) PURE; \
119 /*** IBinding methods ***/ \
120 STDMETHOD_(HRESULT,Abort)(THIS) PURE; \
121 STDMETHOD_(HRESULT,Suspend)(THIS) PURE; \
122 STDMETHOD_(HRESULT,Resume)(THIS) PURE; \
123 STDMETHOD_(HRESULT,SetPriority)(THIS_ LONG nPriority) PURE; \
124 STDMETHOD_(HRESULT,GetPriority)(THIS_ LONG* pnPriority) PURE; \
125 STDMETHOD_(HRESULT,GetBindResult)(THIS_ CLSID* pclsidProtocol, DWORD* pdwResult, LPOLESTR* pszResult, DWORD* pdwReserved) PURE;
127 HRESULT CALLBACK IBinding_Abort_Proxy(
128 IBinding* This);
129 void __RPC_STUB IBinding_Abort_Stub(
130 struct IRpcStubBuffer* This,
131 struct IRpcChannelBuffer* pRpcChannelBuffer,
132 PRPC_MESSAGE pRpcMessage,
133 DWORD* pdwStubPhase);
134 HRESULT CALLBACK IBinding_Suspend_Proxy(
135 IBinding* This);
136 void __RPC_STUB IBinding_Suspend_Stub(
137 struct IRpcStubBuffer* This,
138 struct IRpcChannelBuffer* pRpcChannelBuffer,
139 PRPC_MESSAGE pRpcMessage,
140 DWORD* pdwStubPhase);
141 HRESULT CALLBACK IBinding_Resume_Proxy(
142 IBinding* This);
143 void __RPC_STUB IBinding_Resume_Stub(
144 struct IRpcStubBuffer* This,
145 struct IRpcChannelBuffer* pRpcChannelBuffer,
146 PRPC_MESSAGE pRpcMessage,
147 DWORD* pdwStubPhase);
148 HRESULT CALLBACK IBinding_SetPriority_Proxy(
149 IBinding* This,
150 LONG nPriority);
151 void __RPC_STUB IBinding_SetPriority_Stub(
152 struct IRpcStubBuffer* This,
153 struct IRpcChannelBuffer* pRpcChannelBuffer,
154 PRPC_MESSAGE pRpcMessage,
155 DWORD* pdwStubPhase);
156 HRESULT CALLBACK IBinding_GetPriority_Proxy(
157 IBinding* This,
158 LONG* pnPriority);
159 void __RPC_STUB IBinding_GetPriority_Stub(
160 struct IRpcStubBuffer* This,
161 struct IRpcChannelBuffer* pRpcChannelBuffer,
162 PRPC_MESSAGE pRpcMessage,
163 DWORD* pdwStubPhase);
164 HRESULT CALLBACK IBinding_RemoteGetBindResult_Proxy(
165 IBinding* This,
166 CLSID* pclsidProtocol,
167 DWORD* pdwResult,
168 LPOLESTR* pszResult,
169 DWORD dwReserved);
170 void __RPC_STUB IBinding_RemoteGetBindResult_Stub(
171 struct IRpcStubBuffer* This,
172 struct IRpcChannelBuffer* pRpcChannelBuffer,
173 PRPC_MESSAGE pRpcMessage,
174 DWORD* pdwStubPhase);
175 HRESULT CALLBACK IBinding_GetBindResult_Proxy(
176 IBinding* This,
177 CLSID* pclsidProtocol,
178 DWORD* pdwResult,
179 LPOLESTR* pszResult,
180 DWORD* pdwReserved);
181 HRESULT __RPC_STUB IBinding_GetBindResult_Stub(
182 IBinding* This,
183 CLSID* pclsidProtocol,
184 DWORD* pdwResult,
185 LPOLESTR* pszResult,
186 DWORD dwReserved);
188 #endif /* __IBinding_INTERFACE_DEFINED__ */
190 #ifndef __IBindStatusCallback_FWD_DEFINED__
191 #define __IBindStatusCallback_FWD_DEFINED__
192 typedef struct IBindStatusCallback IBindStatusCallback;
193 #endif
195 typedef IBindStatusCallback *LPBINDSTATUSCALLBACK;
197 typedef enum {
198 BINDF_ASYNCHRONOUS = 0x1,
199 BINDF_ASYNCSTORAGE = 0x2,
200 BINDF_NOPROGRESSIVERENDERING = 0x4,
201 BINDF_OFFLINEOPERATION = 0x8,
202 BINDF_GETNEWESTVERSION = 0x10,
203 BINDF_NOWRITECACHE = 0x20,
204 BINDF_NEEDFILE = 0x40,
205 BINDF_PULLDATA = 0x80,
206 BINDF_IGNORESECURITYPROBLEM = 0x100,
207 BINDF_RESYNCHRONIZE = 0x200,
208 BINDF_HYPERLINK = 0x400,
209 BINDF_NO_UI = 0x800,
210 BINDF_SILENTOPERATION = 0x1000,
211 BINDF_PRAGMA_NO_CACHE = 0x2000,
212 BINDF_GETCLASSOBJECT = 0x4000,
213 BINDF_RESERVED_1 = 0x8000,
214 BINDF_FREE_THREADED = 0x10000,
215 BINDF_DIRECT_READ = 0x20000,
216 BINDF_FORMS_SUBMIT = 0x40000,
217 BINDF_GETFROMCACHE_IF_NET_FAIL = 0x80000,
218 BINDF_FROMURLMON = 0x100000,
219 BINDF_FWD_BACK = 0x200000,
220 BINDF_PREFERDEFAULTHANDLER = 0x400000,
221 BINDF_ENFORCERESTRICTED = 0x800000
222 } BINDF;
224 typedef struct _tagBINDINFO {
225 ULONG cbSize;
226 LPWSTR szExtraInfo;
227 STGMEDIUM stgmedData;
228 DWORD grfBindInfoF;
229 DWORD dwBindVerb;
230 LPWSTR szCustomVerb;
231 DWORD cbStgmedData;
232 DWORD dwOptions;
233 DWORD dwOptionsFlags;
234 DWORD dwCodePage;
235 SECURITY_ATTRIBUTES securityAttributes;
236 IID iid;
237 IUnknown *pUnk;
238 DWORD dwReserved;
239 } BINDINFO;
241 typedef struct _REMSECURITY_ATTRIBUTES {
242 DWORD nLength;
243 DWORD lpSecurityDescriptor;
244 BOOL bInheritHandle;
245 } REMSECURITY_ATTRIBUTES, *PREMSECURITY_ATTRIBUTES, *LPREMSECURITY_ATTRIBUTES;
247 typedef struct _tagRemBINDINFO {
248 ULONG cbSize;
249 LPWSTR szExtraInfo;
250 DWORD grfBindInfoF;
251 DWORD dwBindVerb;
252 LPWSTR szCustomVerb;
253 DWORD cbstgmedData;
254 DWORD dwOptions;
255 DWORD dwOptionsFlags;
256 DWORD dwCodePage;
257 REMSECURITY_ATTRIBUTES securityAttributes;
258 IID iid;
259 IUnknown *pUnk;
260 DWORD dwReserved;
261 } RemBINDINFO;
263 typedef struct tagRemFORMATETC {
264 DWORD cfFormat;
265 DWORD ptd;
266 DWORD dwAspect;
267 LONG lindex;
268 DWORD tymed;
269 } RemFORMATETC, *LPREMFORMATETC;
271 typedef enum {
272 BSCF_FIRSTDATANOTIFICATION = 0x1,
273 BSCF_INTERMEDIATEDATANOTIFICATION = 0x2,
274 BSCF_LASTDATANOTIFICATION = 0x4,
275 BSCF_DATAFULLYAVAILABLE = 0x8,
276 BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10
277 } BSCF;
279 typedef enum BINDSTATUS {
280 BINDSTATUS_FINDINGRESOURCE = 1,
281 BINDSTATUS_CONNECTING,
282 BINDSTATUS_REDIRECTING,
283 BINDSTATUS_BEGINDOWNLOADDATA,
284 BINDSTATUS_DOWNLOADINGDATA,
285 BINDSTATUS_ENDDOWNLOADDATA,
286 BINDSTATUS_BEGINDOWNLOADCOMPONENTS,
287 BINDSTATUS_INSTALLINGCOMPONENTS,
288 BINDSTATUS_ENDDOWNLOADCOMPONENTS,
289 BINDSTATUS_USINGCACHEDCOPY,
290 BINDSTATUS_SENDINGREQUEST,
291 BINDSTATUS_CLASSIDAVAILABLE,
292 BINDSTATUS_MIMETYPEAVAILABLE,
293 BINDSTATUS_CACHEFILENAMEAVAILABLE,
294 BINDSTATUS_BEGINSYNCOPERATION,
295 BINDSTATUS_ENDSYNCOPERATION,
296 BINDSTATUS_BEGINUPLOADDATA,
297 BINDSTATUS_UPLOADINGDATA,
298 BINDSTATUS_ENDUPLOADINGDATA,
299 BINDSTATUS_PROTOCOLCLASSID,
300 BINDSTATUS_ENCODING,
301 BINDSTATUS_VERFIEDMIMETYPEAVAILABLE,
302 BINDSTATUS_CLASSINSTALLLOCATION,
303 BINDSTATUS_DECODING,
304 BINDSTATUS_LOADINGMIMEHANDLER,
305 BINDSTATUS_CONTENTDISPOSITIONATTACH,
306 BINDSTATUS_FILTERREPORTMIMETYPE,
307 BINDSTATUS_CLSIDCANINSTANTIATE,
308 BINDSTATUS_IUNKNOWNAVAILABLE,
309 BINDSTATUS_DIRECTBIND,
310 BINDSTATUS_RAWMIMETYPE,
311 BINDSTATUS_PROXYDETECTING,
312 BINDSTATUS_ACCEPTRANGES,
313 BINDSTATUS_COOKIE_SENT,
314 BINDSTATUS_COMPACT_POLICY_RECEIVED,
315 BINDSTATUS_COOKIE_SUPPRESSED,
316 BINDSTATUS_COOKIE_STATE_UNKNOWN,
317 BINDSTATUS_COOKIE_STATE_ACCEPT,
318 BINDSTATUS_COOKIE_STATE_REJECT,
319 BINDSTATUS_COOKIE_STATE_PROMPT,
320 BINDSTATUS_COOKIE_STATE_LEASH,
321 BINDSTATUS_COOKIE_STATE_DOWNGRADE,
322 BINDSTATUS_POLICY_HREF,
323 BINDSTATUS_P3P_HEADER,
324 BINDSTATUS_SESSION_COOKIE_RECEIVED,
325 BINDSTATUS_PERSISTENT_COOKIE_RECEIVED,
326 BINDSTATUS_SESSION_COOKIES_ALLOWED,
327 BINDSTATUS_CACHECONTROL
328 } BINDSTATUS;
330 /*****************************************************************************
331 * IBindStatusCallback interface
333 #ifndef __IBindStatusCallback_INTERFACE_DEFINED__
334 #define __IBindStatusCallback_INTERFACE_DEFINED__
336 DEFINE_GUID(IID_IBindStatusCallback, 0x79eac9c1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
337 #if defined(__cplusplus) && !defined(CINTERFACE)
338 struct IBindStatusCallback : public IUnknown
340 virtual HRESULT STDMETHODCALLTYPE OnStartBinding(
341 DWORD dwReserved,
342 IBinding* pib) = 0;
344 virtual HRESULT STDMETHODCALLTYPE GetPriority(
345 LONG* pnPriority) = 0;
347 virtual HRESULT STDMETHODCALLTYPE OnLowResource(
348 DWORD reserved) = 0;
350 virtual HRESULT STDMETHODCALLTYPE OnProgress(
351 ULONG ulProgress,
352 ULONG ulProgressMax,
353 ULONG ulStatusCode,
354 LPCWSTR szStatusText) = 0;
356 virtual HRESULT STDMETHODCALLTYPE OnStopBinding(
357 HRESULT hresult,
358 LPCWSTR szError) = 0;
360 virtual HRESULT STDMETHODCALLTYPE GetBindInfo(
361 DWORD* grfBINDF,
362 BINDINFO* pbindinfo) = 0;
364 virtual HRESULT STDMETHODCALLTYPE OnDataAvailable(
365 DWORD grfBSCF,
366 DWORD dwSize,
367 FORMATETC* pformatetc,
368 STGMEDIUM* pstgmed) = 0;
370 virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable(
371 REFIID riid,
372 IUnknown* punk) = 0;
375 #else
376 typedef struct IBindStatusCallbackVtbl IBindStatusCallbackVtbl;
377 struct IBindStatusCallback {
378 const IBindStatusCallbackVtbl* lpVtbl;
380 struct IBindStatusCallbackVtbl {
381 ICOM_MSVTABLE_COMPAT_FIELDS
383 /*** IUnknown methods ***/
384 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
385 IBindStatusCallback* This,
386 REFIID riid,
387 void** ppvObject);
389 ULONG (STDMETHODCALLTYPE *AddRef)(
390 IBindStatusCallback* This);
392 ULONG (STDMETHODCALLTYPE *Release)(
393 IBindStatusCallback* This);
395 /*** IBindStatusCallback methods ***/
396 HRESULT (STDMETHODCALLTYPE *OnStartBinding)(
397 IBindStatusCallback* This,
398 DWORD dwReserved,
399 IBinding* pib);
401 HRESULT (STDMETHODCALLTYPE *GetPriority)(
402 IBindStatusCallback* This,
403 LONG* pnPriority);
405 HRESULT (STDMETHODCALLTYPE *OnLowResource)(
406 IBindStatusCallback* This,
407 DWORD reserved);
409 HRESULT (STDMETHODCALLTYPE *OnProgress)(
410 IBindStatusCallback* This,
411 ULONG ulProgress,
412 ULONG ulProgressMax,
413 ULONG ulStatusCode,
414 LPCWSTR szStatusText);
416 HRESULT (STDMETHODCALLTYPE *OnStopBinding)(
417 IBindStatusCallback* This,
418 HRESULT hresult,
419 LPCWSTR szError);
421 HRESULT (STDMETHODCALLTYPE *GetBindInfo)(
422 IBindStatusCallback* This,
423 DWORD* grfBINDF,
424 BINDINFO* pbindinfo);
426 HRESULT (STDMETHODCALLTYPE *OnDataAvailable)(
427 IBindStatusCallback* This,
428 DWORD grfBSCF,
429 DWORD dwSize,
430 FORMATETC* pformatetc,
431 STGMEDIUM* pstgmed);
433 HRESULT (STDMETHODCALLTYPE *OnObjectAvailable)(
434 IBindStatusCallback* This,
435 REFIID riid,
436 IUnknown* punk);
440 /*** IUnknown methods ***/
441 #define IBindStatusCallback_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
442 #define IBindStatusCallback_AddRef(p) (p)->lpVtbl->AddRef(p)
443 #define IBindStatusCallback_Release(p) (p)->lpVtbl->Release(p)
444 /*** IBindStatusCallback methods ***/
445 #define IBindStatusCallback_OnStartBinding(p,a,b) (p)->lpVtbl->OnStartBinding(p,a,b)
446 #define IBindStatusCallback_GetPriority(p,a) (p)->lpVtbl->GetPriority(p,a)
447 #define IBindStatusCallback_OnLowResource(p,a) (p)->lpVtbl->OnLowResource(p,a)
448 #define IBindStatusCallback_OnProgress(p,a,b,c,d) (p)->lpVtbl->OnProgress(p,a,b,c,d)
449 #define IBindStatusCallback_OnStopBinding(p,a,b) (p)->lpVtbl->OnStopBinding(p,a,b)
450 #define IBindStatusCallback_GetBindInfo(p,a,b) (p)->lpVtbl->GetBindInfo(p,a,b)
451 #define IBindStatusCallback_OnDataAvailable(p,a,b,c,d) (p)->lpVtbl->OnDataAvailable(p,a,b,c,d)
452 #define IBindStatusCallback_OnObjectAvailable(p,a,b) (p)->lpVtbl->OnObjectAvailable(p,a,b)
454 #endif
456 #define IBindStatusCallback_METHODS \
457 ICOM_MSVTABLE_COMPAT_FIELDS \
458 /*** IUnknown methods ***/ \
459 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
460 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
461 STDMETHOD_(ULONG,Release)(THIS) PURE; \
462 /*** IBindStatusCallback methods ***/ \
463 STDMETHOD_(HRESULT,OnStartBinding)(THIS_ DWORD dwReserved, IBinding* pib) PURE; \
464 STDMETHOD_(HRESULT,GetPriority)(THIS_ LONG* pnPriority) PURE; \
465 STDMETHOD_(HRESULT,OnLowResource)(THIS_ DWORD reserved) PURE; \
466 STDMETHOD_(HRESULT,OnProgress)(THIS_ ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText) PURE; \
467 STDMETHOD_(HRESULT,OnStopBinding)(THIS_ HRESULT hresult, LPCWSTR szError) PURE; \
468 STDMETHOD_(HRESULT,GetBindInfo)(THIS_ DWORD* grfBINDF, BINDINFO* pbindinfo) PURE; \
469 STDMETHOD_(HRESULT,OnDataAvailable)(THIS_ DWORD grfBSCF, DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed) PURE; \
470 STDMETHOD_(HRESULT,OnObjectAvailable)(THIS_ REFIID riid, IUnknown* punk) PURE;
472 HRESULT CALLBACK IBindStatusCallback_OnStartBinding_Proxy(
473 IBindStatusCallback* This,
474 DWORD dwReserved,
475 IBinding* pib);
476 void __RPC_STUB IBindStatusCallback_OnStartBinding_Stub(
477 struct IRpcStubBuffer* This,
478 struct IRpcChannelBuffer* pRpcChannelBuffer,
479 PRPC_MESSAGE pRpcMessage,
480 DWORD* pdwStubPhase);
481 HRESULT CALLBACK IBindStatusCallback_GetPriority_Proxy(
482 IBindStatusCallback* This,
483 LONG* pnPriority);
484 void __RPC_STUB IBindStatusCallback_GetPriority_Stub(
485 struct IRpcStubBuffer* This,
486 struct IRpcChannelBuffer* pRpcChannelBuffer,
487 PRPC_MESSAGE pRpcMessage,
488 DWORD* pdwStubPhase);
489 HRESULT CALLBACK IBindStatusCallback_OnLowResource_Proxy(
490 IBindStatusCallback* This,
491 DWORD reserved);
492 void __RPC_STUB IBindStatusCallback_OnLowResource_Stub(
493 struct IRpcStubBuffer* This,
494 struct IRpcChannelBuffer* pRpcChannelBuffer,
495 PRPC_MESSAGE pRpcMessage,
496 DWORD* pdwStubPhase);
497 HRESULT CALLBACK IBindStatusCallback_OnProgress_Proxy(
498 IBindStatusCallback* This,
499 ULONG ulProgress,
500 ULONG ulProgressMax,
501 ULONG ulStatusCode,
502 LPCWSTR szStatusText);
503 void __RPC_STUB IBindStatusCallback_OnProgress_Stub(
504 struct IRpcStubBuffer* This,
505 struct IRpcChannelBuffer* pRpcChannelBuffer,
506 PRPC_MESSAGE pRpcMessage,
507 DWORD* pdwStubPhase);
508 HRESULT CALLBACK IBindStatusCallback_OnStopBinding_Proxy(
509 IBindStatusCallback* This,
510 HRESULT hresult,
511 LPCWSTR szError);
512 void __RPC_STUB IBindStatusCallback_OnStopBinding_Stub(
513 struct IRpcStubBuffer* This,
514 struct IRpcChannelBuffer* pRpcChannelBuffer,
515 PRPC_MESSAGE pRpcMessage,
516 DWORD* pdwStubPhase);
517 HRESULT CALLBACK IBindStatusCallback_RemoteGetBindInfo_Proxy(
518 IBindStatusCallback* This,
519 DWORD* grfBINDF,
520 RemBINDINFO* pbindinfo,
521 RemSTGMEDIUM* pstgmed);
522 void __RPC_STUB IBindStatusCallback_RemoteGetBindInfo_Stub(
523 struct IRpcStubBuffer* This,
524 struct IRpcChannelBuffer* pRpcChannelBuffer,
525 PRPC_MESSAGE pRpcMessage,
526 DWORD* pdwStubPhase);
527 HRESULT CALLBACK IBindStatusCallback_GetBindInfo_Proxy(
528 IBindStatusCallback* This,
529 DWORD* grfBINDF,
530 BINDINFO* pbindinfo);
531 HRESULT __RPC_STUB IBindStatusCallback_GetBindInfo_Stub(
532 IBindStatusCallback* This,
533 DWORD* grfBINDF,
534 RemBINDINFO* pbindinfo,
535 RemSTGMEDIUM* pstgmed);
536 HRESULT CALLBACK IBindStatusCallback_RemoteOnDataAvailable_Proxy(
537 IBindStatusCallback* This,
538 DWORD grfBSCF,
539 DWORD dwSize,
540 RemFORMATETC* pformatetc,
541 RemSTGMEDIUM* pstgmed);
542 void __RPC_STUB IBindStatusCallback_RemoteOnDataAvailable_Stub(
543 struct IRpcStubBuffer* This,
544 struct IRpcChannelBuffer* pRpcChannelBuffer,
545 PRPC_MESSAGE pRpcMessage,
546 DWORD* pdwStubPhase);
547 HRESULT CALLBACK IBindStatusCallback_OnDataAvailable_Proxy(
548 IBindStatusCallback* This,
549 DWORD grfBSCF,
550 DWORD dwSize,
551 FORMATETC* pformatetc,
552 STGMEDIUM* pstgmed);
553 HRESULT __RPC_STUB IBindStatusCallback_OnDataAvailable_Stub(
554 IBindStatusCallback* This,
555 DWORD grfBSCF,
556 DWORD dwSize,
557 RemFORMATETC* pformatetc,
558 RemSTGMEDIUM* pstgmed);
559 HRESULT CALLBACK IBindStatusCallback_OnObjectAvailable_Proxy(
560 IBindStatusCallback* This,
561 REFIID riid,
562 IUnknown* punk);
563 void __RPC_STUB IBindStatusCallback_OnObjectAvailable_Stub(
564 struct IRpcStubBuffer* This,
565 struct IRpcChannelBuffer* pRpcChannelBuffer,
566 PRPC_MESSAGE pRpcMessage,
567 DWORD* pdwStubPhase);
569 #endif /* __IBindStatusCallback_INTERFACE_DEFINED__ */
571 #define SID_IBindHost IID_IBindHost
572 #define SID_SBindHost IID_IBindHost
573 #ifndef __IBindHost_FWD_DEFINED__
574 #define __IBindHost_FWD_DEFINED__
575 typedef struct IBindHost IBindHost;
576 #endif
578 typedef IBindHost *LPBINDHOST;
580 /*****************************************************************************
581 * IBindHost interface
583 #ifndef __IBindHost_INTERFACE_DEFINED__
584 #define __IBindHost_INTERFACE_DEFINED__
586 DEFINE_GUID(IID_IBindHost, 0xfc4801a1, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52);
587 #if defined(__cplusplus) && !defined(CINTERFACE)
588 struct IBindHost : public IUnknown
590 virtual HRESULT STDMETHODCALLTYPE CreateMoniker(
591 LPOLESTR szName,
592 IBindCtx* pBC,
593 IMoniker** ppmk,
594 DWORD dwReserved) = 0;
596 virtual HRESULT STDMETHODCALLTYPE MonikerBindToStorage(
597 IMoniker* pMk,
598 IBindCtx* pBC,
599 IBindStatusCallback* pBSC,
600 REFIID riid,
601 void** ppvObj) = 0;
603 virtual HRESULT STDMETHODCALLTYPE MonikerBindToObject(
604 IMoniker* pMk,
605 IBindCtx* pBC,
606 IBindStatusCallback* pBSC,
607 REFIID riid,
608 void** ppvObj) = 0;
611 #else
612 typedef struct IBindHostVtbl IBindHostVtbl;
613 struct IBindHost {
614 const IBindHostVtbl* lpVtbl;
616 struct IBindHostVtbl {
617 ICOM_MSVTABLE_COMPAT_FIELDS
619 /*** IUnknown methods ***/
620 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
621 IBindHost* This,
622 REFIID riid,
623 void** ppvObject);
625 ULONG (STDMETHODCALLTYPE *AddRef)(
626 IBindHost* This);
628 ULONG (STDMETHODCALLTYPE *Release)(
629 IBindHost* This);
631 /*** IBindHost methods ***/
632 HRESULT (STDMETHODCALLTYPE *CreateMoniker)(
633 IBindHost* This,
634 LPOLESTR szName,
635 IBindCtx* pBC,
636 IMoniker** ppmk,
637 DWORD dwReserved);
639 HRESULT (STDMETHODCALLTYPE *MonikerBindToStorage)(
640 IBindHost* This,
641 IMoniker* pMk,
642 IBindCtx* pBC,
643 IBindStatusCallback* pBSC,
644 REFIID riid,
645 void** ppvObj);
647 HRESULT (STDMETHODCALLTYPE *MonikerBindToObject)(
648 IBindHost* This,
649 IMoniker* pMk,
650 IBindCtx* pBC,
651 IBindStatusCallback* pBSC,
652 REFIID riid,
653 void** ppvObj);
657 /*** IUnknown methods ***/
658 #define IBindHost_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
659 #define IBindHost_AddRef(p) (p)->lpVtbl->AddRef(p)
660 #define IBindHost_Release(p) (p)->lpVtbl->Release(p)
661 /*** IBindHost methods ***/
662 #define IBindHost_CreateMoniker(p,a,b,c,d) (p)->lpVtbl->CreateMoniker(p,a,b,c,d)
663 #define IBindHost_MonikerBindToStorage(p,a,b,c,d,e) (p)->lpVtbl->MonikerBindToStorage(p,a,b,c,d,e)
664 #define IBindHost_MonikerBindToObject(p,a,b,c,d,e) (p)->lpVtbl->MonikerBindToObject(p,a,b,c,d,e)
666 #endif
668 #define IBindHost_METHODS \
669 ICOM_MSVTABLE_COMPAT_FIELDS \
670 /*** IUnknown methods ***/ \
671 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
672 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
673 STDMETHOD_(ULONG,Release)(THIS) PURE; \
674 /*** IBindHost methods ***/ \
675 STDMETHOD_(HRESULT,CreateMoniker)(THIS_ LPOLESTR szName, IBindCtx* pBC, IMoniker** ppmk, DWORD dwReserved) PURE; \
676 STDMETHOD_(HRESULT,MonikerBindToStorage)(THIS_ IMoniker* pMk, IBindCtx* pBC, IBindStatusCallback* pBSC, REFIID riid, void** ppvObj) PURE; \
677 STDMETHOD_(HRESULT,MonikerBindToObject)(THIS_ IMoniker* pMk, IBindCtx* pBC, IBindStatusCallback* pBSC, REFIID riid, void** ppvObj) PURE;
679 HRESULT CALLBACK IBindHost_CreateMoniker_Proxy(
680 IBindHost* This,
681 LPOLESTR szName,
682 IBindCtx* pBC,
683 IMoniker** ppmk,
684 DWORD dwReserved);
685 void __RPC_STUB IBindHost_CreateMoniker_Stub(
686 struct IRpcStubBuffer* This,
687 struct IRpcChannelBuffer* pRpcChannelBuffer,
688 PRPC_MESSAGE pRpcMessage,
689 DWORD* pdwStubPhase);
690 HRESULT CALLBACK IBindHost_RemoteMonikerBindToStorage_Proxy(
691 IBindHost* This,
692 IMoniker* pMk,
693 IBindCtx* pBC,
694 IBindStatusCallback* pBSC,
695 REFIID riid,
696 IUnknown** ppvObj);
697 void __RPC_STUB IBindHost_RemoteMonikerBindToStorage_Stub(
698 struct IRpcStubBuffer* This,
699 struct IRpcChannelBuffer* pRpcChannelBuffer,
700 PRPC_MESSAGE pRpcMessage,
701 DWORD* pdwStubPhase);
702 HRESULT CALLBACK IBindHost_MonikerBindToStorage_Proxy(
703 IBindHost* This,
704 IMoniker* pMk,
705 IBindCtx* pBC,
706 IBindStatusCallback* pBSC,
707 REFIID riid,
708 void** ppvObj);
709 HRESULT __RPC_STUB IBindHost_MonikerBindToStorage_Stub(
710 IBindHost* This,
711 IMoniker* pMk,
712 IBindCtx* pBC,
713 IBindStatusCallback* pBSC,
714 REFIID riid,
715 IUnknown** ppvObj);
716 HRESULT CALLBACK IBindHost_RemoteMonikerBindToObject_Proxy(
717 IBindHost* This,
718 IMoniker* pMk,
719 IBindCtx* pBC,
720 IBindStatusCallback* pBSC,
721 REFIID riid,
722 IUnknown** ppvObj);
723 void __RPC_STUB IBindHost_RemoteMonikerBindToObject_Stub(
724 struct IRpcStubBuffer* This,
725 struct IRpcChannelBuffer* pRpcChannelBuffer,
726 PRPC_MESSAGE pRpcMessage,
727 DWORD* pdwStubPhase);
728 HRESULT CALLBACK IBindHost_MonikerBindToObject_Proxy(
729 IBindHost* This,
730 IMoniker* pMk,
731 IBindCtx* pBC,
732 IBindStatusCallback* pBSC,
733 REFIID riid,
734 void** ppvObj);
735 HRESULT __RPC_STUB IBindHost_MonikerBindToObject_Stub(
736 IBindHost* This,
737 IMoniker* pMk,
738 IBindCtx* pBC,
739 IBindStatusCallback* pBSC,
740 REFIID riid,
741 IUnknown** ppvObj);
743 #endif /* __IBindHost_INTERFACE_DEFINED__ */
745 #ifndef __IWinInetInfo_FWD_DEFINED__
746 #define __IWinInetInfo_FWD_DEFINED__
747 typedef struct IWinInetInfo IWinInetInfo;
748 #endif
750 typedef IWinInetInfo *LPWININETINFO;
752 /*****************************************************************************
753 * IWinInetInfo interface
755 #ifndef __IWinInetInfo_INTERFACE_DEFINED__
756 #define __IWinInetInfo_INTERFACE_DEFINED__
758 DEFINE_GUID(IID_IWinInetInfo, 0x79eac9d6, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
759 #if defined(__cplusplus) && !defined(CINTERFACE)
760 struct IWinInetInfo : public IUnknown
762 virtual HRESULT STDMETHODCALLTYPE QueryOption(
763 DWORD dwOption,
764 LPVOID pBuffer,
765 DWORD* pcbBuf) = 0;
768 #else
769 typedef struct IWinInetInfoVtbl IWinInetInfoVtbl;
770 struct IWinInetInfo {
771 const IWinInetInfoVtbl* lpVtbl;
773 struct IWinInetInfoVtbl {
774 ICOM_MSVTABLE_COMPAT_FIELDS
776 /*** IUnknown methods ***/
777 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
778 IWinInetInfo* This,
779 REFIID riid,
780 void** ppvObject);
782 ULONG (STDMETHODCALLTYPE *AddRef)(
783 IWinInetInfo* This);
785 ULONG (STDMETHODCALLTYPE *Release)(
786 IWinInetInfo* This);
788 /*** IWinInetInfo methods ***/
789 HRESULT (STDMETHODCALLTYPE *QueryOption)(
790 IWinInetInfo* This,
791 DWORD dwOption,
792 LPVOID pBuffer,
793 DWORD* pcbBuf);
797 /*** IUnknown methods ***/
798 #define IWinInetInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
799 #define IWinInetInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
800 #define IWinInetInfo_Release(p) (p)->lpVtbl->Release(p)
801 /*** IWinInetInfo methods ***/
802 #define IWinInetInfo_QueryOption(p,a,b,c) (p)->lpVtbl->QueryOption(p,a,b,c)
804 #endif
806 #define IWinInetInfo_METHODS \
807 ICOM_MSVTABLE_COMPAT_FIELDS \
808 /*** IUnknown methods ***/ \
809 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
810 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
811 STDMETHOD_(ULONG,Release)(THIS) PURE; \
812 /*** IWinInetInfo methods ***/ \
813 STDMETHOD_(HRESULT,QueryOption)(THIS_ DWORD dwOption, LPVOID pBuffer, DWORD* pcbBuf) PURE;
815 HRESULT CALLBACK IWinInetInfo_RemoteQueryOption_Proxy(
816 IWinInetInfo* This,
817 DWORD dwOption,
818 BYTE* pBuffer,
819 DWORD* pcbBuf);
820 void __RPC_STUB IWinInetInfo_RemoteQueryOption_Stub(
821 struct IRpcStubBuffer* This,
822 struct IRpcChannelBuffer* pRpcChannelBuffer,
823 PRPC_MESSAGE pRpcMessage,
824 DWORD* pdwStubPhase);
825 HRESULT CALLBACK IWinInetInfo_QueryOption_Proxy(
826 IWinInetInfo* This,
827 DWORD dwOption,
828 LPVOID pBuffer,
829 DWORD* pcbBuf);
830 HRESULT __RPC_STUB IWinInetInfo_QueryOption_Stub(
831 IWinInetInfo* This,
832 DWORD dwOption,
833 BYTE* pBuffer,
834 DWORD* pcbBuf);
836 #endif /* __IWinInetInfo_INTERFACE_DEFINED__ */
838 #ifndef __IWinInetHttpInfo_FWD_DEFINED__
839 #define __IWinInetHttpInfo_FWD_DEFINED__
840 typedef struct IWinInetHttpInfo IWinInetHttpInfo;
841 #endif
843 typedef IWinInetHttpInfo *LPWININETHTTPINFO;
845 /*****************************************************************************
846 * IWinInetHttpInfo interface
848 #ifndef __IWinInetHttpInfo_INTERFACE_DEFINED__
849 #define __IWinInetHttpInfo_INTERFACE_DEFINED__
851 DEFINE_GUID(IID_IWinInetHttpInfo, 0x79eac9d8, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
852 #if defined(__cplusplus) && !defined(CINTERFACE)
853 struct IWinInetHttpInfo : public IWinInetInfo
855 virtual HRESULT STDMETHODCALLTYPE QueryInfo(
856 DWORD dwOption,
857 LPVOID pBuffer,
858 DWORD* pcbBuf,
859 DWORD* pdwFlags,
860 DWORD* pdwReserved) = 0;
863 #else
864 typedef struct IWinInetHttpInfoVtbl IWinInetHttpInfoVtbl;
865 struct IWinInetHttpInfo {
866 const IWinInetHttpInfoVtbl* lpVtbl;
868 struct IWinInetHttpInfoVtbl {
869 ICOM_MSVTABLE_COMPAT_FIELDS
871 /*** IUnknown methods ***/
872 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
873 IWinInetHttpInfo* This,
874 REFIID riid,
875 void** ppvObject);
877 ULONG (STDMETHODCALLTYPE *AddRef)(
878 IWinInetHttpInfo* This);
880 ULONG (STDMETHODCALLTYPE *Release)(
881 IWinInetHttpInfo* This);
883 /*** IWinInetInfo methods ***/
884 HRESULT (STDMETHODCALLTYPE *QueryOption)(
885 IWinInetHttpInfo* This,
886 DWORD dwOption,
887 LPVOID pBuffer,
888 DWORD* pcbBuf);
890 /*** IWinInetHttpInfo methods ***/
891 HRESULT (STDMETHODCALLTYPE *QueryInfo)(
892 IWinInetHttpInfo* This,
893 DWORD dwOption,
894 LPVOID pBuffer,
895 DWORD* pcbBuf,
896 DWORD* pdwFlags,
897 DWORD* pdwReserved);
901 /*** IUnknown methods ***/
902 #define IWinInetHttpInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
903 #define IWinInetHttpInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
904 #define IWinInetHttpInfo_Release(p) (p)->lpVtbl->Release(p)
905 /*** IWinInetInfo methods ***/
906 #define IWinInetHttpInfo_QueryOption(p,a,b,c) (p)->lpVtbl->QueryOption(p,a,b,c)
907 /*** IWinInetHttpInfo methods ***/
908 #define IWinInetHttpInfo_QueryInfo(p,a,b,c,d,e) (p)->lpVtbl->QueryInfo(p,a,b,c,d,e)
910 #endif
912 #define IWinInetHttpInfo_METHODS \
913 ICOM_MSVTABLE_COMPAT_FIELDS \
914 /*** IUnknown methods ***/ \
915 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
916 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
917 STDMETHOD_(ULONG,Release)(THIS) PURE; \
918 /*** IWinInetInfo methods ***/ \
919 STDMETHOD_(HRESULT,QueryOption)(THIS_ DWORD dwOption, LPVOID pBuffer, DWORD* pcbBuf) PURE; \
920 /*** IWinInetHttpInfo methods ***/ \
921 STDMETHOD_(HRESULT,QueryInfo)(THIS_ DWORD dwOption, LPVOID pBuffer, DWORD* pcbBuf, DWORD* pdwFlags, DWORD* pdwReserved) PURE;
923 HRESULT CALLBACK IWinInetHttpInfo_RemoteQueryInfo_Proxy(
924 IWinInetHttpInfo* This,
925 DWORD dwOption,
926 BYTE* pBuffer,
927 DWORD* pcbBuf,
928 DWORD* pdwFlags,
929 DWORD* pdwReserved);
930 void __RPC_STUB IWinInetHttpInfo_RemoteQueryInfo_Stub(
931 struct IRpcStubBuffer* This,
932 struct IRpcChannelBuffer* pRpcChannelBuffer,
933 PRPC_MESSAGE pRpcMessage,
934 DWORD* pdwStubPhase);
935 HRESULT CALLBACK IWinInetHttpInfo_QueryInfo_Proxy(
936 IWinInetHttpInfo* This,
937 DWORD dwOption,
938 LPVOID pBuffer,
939 DWORD* pcbBuf,
940 DWORD* pdwFlags,
941 DWORD* pdwReserved);
942 HRESULT __RPC_STUB IWinInetHttpInfo_QueryInfo_Stub(
943 IWinInetHttpInfo* This,
944 DWORD dwOption,
945 BYTE* pBuffer,
946 DWORD* pcbBuf,
947 DWORD* pdwFlags,
948 DWORD* pdwReserved);
950 #endif /* __IWinInetHttpInfo_INTERFACE_DEFINED__ */
952 #ifndef __IPersistMoniker_FWD_DEFINED__
953 #define __IPersistMoniker_FWD_DEFINED__
954 typedef struct IPersistMoniker IPersistMoniker;
955 #endif
957 typedef IPersistMoniker *LPPERSISTMONIKER;
959 /*****************************************************************************
960 * IPersistMoniker interface
962 #ifndef __IPersistMoniker_INTERFACE_DEFINED__
963 #define __IPersistMoniker_INTERFACE_DEFINED__
965 DEFINE_GUID(IID_IPersistMoniker, 0x79eac9c9, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
966 #if defined(__cplusplus) && !defined(CINTERFACE)
967 struct IPersistMoniker : public IUnknown
969 virtual HRESULT STDMETHODCALLTYPE GetClassID(
970 CLSID* pClassID) = 0;
972 virtual HRESULT STDMETHODCALLTYPE IsDirty(
973 ) = 0;
975 virtual HRESULT STDMETHODCALLTYPE Load(
976 BOOL fFullyAvailable,
977 IMoniker* pimkName,
978 LPBC pibc,
979 DWORD grfMode) = 0;
981 virtual HRESULT STDMETHODCALLTYPE Save(
982 IMoniker* pimkName,
983 LPBC pbc,
984 BOOL fRemember) = 0;
986 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
987 IMoniker* pimkName,
988 LPBC pibc) = 0;
990 virtual HRESULT STDMETHODCALLTYPE GetCurMoniker(
991 IMoniker** ppimkName) = 0;
994 #else
995 typedef struct IPersistMonikerVtbl IPersistMonikerVtbl;
996 struct IPersistMoniker {
997 const IPersistMonikerVtbl* lpVtbl;
999 struct IPersistMonikerVtbl {
1000 ICOM_MSVTABLE_COMPAT_FIELDS
1002 /*** IUnknown methods ***/
1003 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1004 IPersistMoniker* This,
1005 REFIID riid,
1006 void** ppvObject);
1008 ULONG (STDMETHODCALLTYPE *AddRef)(
1009 IPersistMoniker* This);
1011 ULONG (STDMETHODCALLTYPE *Release)(
1012 IPersistMoniker* This);
1014 /*** IPersistMoniker methods ***/
1015 HRESULT (STDMETHODCALLTYPE *GetClassID)(
1016 IPersistMoniker* This,
1017 CLSID* pClassID);
1019 HRESULT (STDMETHODCALLTYPE *IsDirty)(
1020 IPersistMoniker* This);
1022 HRESULT (STDMETHODCALLTYPE *Load)(
1023 IPersistMoniker* This,
1024 BOOL fFullyAvailable,
1025 IMoniker* pimkName,
1026 LPBC pibc,
1027 DWORD grfMode);
1029 HRESULT (STDMETHODCALLTYPE *Save)(
1030 IPersistMoniker* This,
1031 IMoniker* pimkName,
1032 LPBC pbc,
1033 BOOL fRemember);
1035 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
1036 IPersistMoniker* This,
1037 IMoniker* pimkName,
1038 LPBC pibc);
1040 HRESULT (STDMETHODCALLTYPE *GetCurMoniker)(
1041 IPersistMoniker* This,
1042 IMoniker** ppimkName);
1046 /*** IUnknown methods ***/
1047 #define IPersistMoniker_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1048 #define IPersistMoniker_AddRef(p) (p)->lpVtbl->AddRef(p)
1049 #define IPersistMoniker_Release(p) (p)->lpVtbl->Release(p)
1050 /*** IPersistMoniker methods ***/
1051 #define IPersistMoniker_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
1052 #define IPersistMoniker_IsDirty(p) (p)->lpVtbl->IsDirty(p)
1053 #define IPersistMoniker_Load(p,a,b,c,d) (p)->lpVtbl->Load(p,a,b,c,d)
1054 #define IPersistMoniker_Save(p,a,b,c) (p)->lpVtbl->Save(p,a,b,c)
1055 #define IPersistMoniker_SaveCompleted(p,a,b) (p)->lpVtbl->SaveCompleted(p,a,b)
1056 #define IPersistMoniker_GetCurMoniker(p,a) (p)->lpVtbl->GetCurMoniker(p,a)
1058 #endif
1060 #define IPersistMoniker_METHODS \
1061 ICOM_MSVTABLE_COMPAT_FIELDS \
1062 /*** IUnknown methods ***/ \
1063 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1064 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1065 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1066 /*** IPersistMoniker methods ***/ \
1067 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
1068 STDMETHOD_(HRESULT,IsDirty)(THIS) PURE; \
1069 STDMETHOD_(HRESULT,Load)(THIS_ BOOL fFullyAvailable, IMoniker* pimkName, LPBC pibc, DWORD grfMode) PURE; \
1070 STDMETHOD_(HRESULT,Save)(THIS_ IMoniker* pimkName, LPBC pbc, BOOL fRemember) PURE; \
1071 STDMETHOD_(HRESULT,SaveCompleted)(THIS_ IMoniker* pimkName, LPBC pibc) PURE; \
1072 STDMETHOD_(HRESULT,GetCurMoniker)(THIS_ IMoniker** ppimkName) PURE;
1074 HRESULT CALLBACK IPersistMoniker_GetClassID_Proxy(
1075 IPersistMoniker* This,
1076 CLSID* pClassID);
1077 void __RPC_STUB IPersistMoniker_GetClassID_Stub(
1078 struct IRpcStubBuffer* This,
1079 struct IRpcChannelBuffer* pRpcChannelBuffer,
1080 PRPC_MESSAGE pRpcMessage,
1081 DWORD* pdwStubPhase);
1082 HRESULT CALLBACK IPersistMoniker_IsDirty_Proxy(
1083 IPersistMoniker* This);
1084 void __RPC_STUB IPersistMoniker_IsDirty_Stub(
1085 struct IRpcStubBuffer* This,
1086 struct IRpcChannelBuffer* pRpcChannelBuffer,
1087 PRPC_MESSAGE pRpcMessage,
1088 DWORD* pdwStubPhase);
1089 HRESULT CALLBACK IPersistMoniker_Load_Proxy(
1090 IPersistMoniker* This,
1091 BOOL fFullyAvailable,
1092 IMoniker* pimkName,
1093 LPBC pibc,
1094 DWORD grfMode);
1095 void __RPC_STUB IPersistMoniker_Load_Stub(
1096 struct IRpcStubBuffer* This,
1097 struct IRpcChannelBuffer* pRpcChannelBuffer,
1098 PRPC_MESSAGE pRpcMessage,
1099 DWORD* pdwStubPhase);
1100 HRESULT CALLBACK IPersistMoniker_Save_Proxy(
1101 IPersistMoniker* This,
1102 IMoniker* pimkName,
1103 LPBC pbc,
1104 BOOL fRemember);
1105 void __RPC_STUB IPersistMoniker_Save_Stub(
1106 struct IRpcStubBuffer* This,
1107 struct IRpcChannelBuffer* pRpcChannelBuffer,
1108 PRPC_MESSAGE pRpcMessage,
1109 DWORD* pdwStubPhase);
1110 HRESULT CALLBACK IPersistMoniker_SaveCompleted_Proxy(
1111 IPersistMoniker* This,
1112 IMoniker* pimkName,
1113 LPBC pibc);
1114 void __RPC_STUB IPersistMoniker_SaveCompleted_Stub(
1115 struct IRpcStubBuffer* This,
1116 struct IRpcChannelBuffer* pRpcChannelBuffer,
1117 PRPC_MESSAGE pRpcMessage,
1118 DWORD* pdwStubPhase);
1119 HRESULT CALLBACK IPersistMoniker_GetCurMoniker_Proxy(
1120 IPersistMoniker* This,
1121 IMoniker** ppimkName);
1122 void __RPC_STUB IPersistMoniker_GetCurMoniker_Stub(
1123 struct IRpcStubBuffer* This,
1124 struct IRpcChannelBuffer* pRpcChannelBuffer,
1125 PRPC_MESSAGE pRpcMessage,
1126 DWORD* pdwStubPhase);
1128 #endif /* __IPersistMoniker_INTERFACE_DEFINED__ */
1130 #ifndef __IInternetProtocolInfo_FWD_DEFINED__
1131 #define __IInternetProtocolInfo_FWD_DEFINED__
1132 typedef struct IInternetProtocolInfo IInternetProtocolInfo;
1133 #endif
1135 typedef IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO;
1137 typedef enum _tagPARSEACTION {
1138 PARSE_CANONICALIZE = 1,
1139 PARSE_FRIENDLY,
1140 PARSE_SECURITY_URL,
1141 PARSE_ROOTDOCUMENT,
1142 PARSE_DOCUMENT,
1143 PARSE_ANCHOR,
1144 PARSE_ENCODE,
1145 PARSE_DECODE,
1146 PARSE_PATH_FROM_URL,
1147 PARSE_URL_FROM_PATH,
1148 PARSE_MIME,
1149 PARSE_SERVER,
1150 PARSE_SCHEMA,
1151 PARSE_SITE,
1152 PARSE_DOMAIN,
1153 PARSE_LOCATION,
1154 PARSE_SECURITY_DOMAIN,
1155 PARSE_ESCAPE,
1156 PARSE_UNESCAPE
1157 } PARSEACTION;
1159 typedef enum _tagPSUACTION {
1160 PSU_DEFAULT = 1,
1161 PSU_SECURITY_URL_ONLY
1162 } PSUACTION;
1164 typedef enum _tagQUERYOPTION {
1165 QUERY_EXPIRATION_DATE = 1,
1166 QUERY_TIME_OF_LAST_CHANGE,
1167 QUERY_CONTENT_ENCODING,
1168 QUERY_CONTENT_TYPE,
1169 QUERY_REFRESH,
1170 QUERY_RECOMBINE,
1171 QUERY_CAN_NAVIGATE,
1172 QUERY_USES_NETWORK,
1173 QUERY_IS_CACHED,
1174 QUERY_IS_INSTALLEDENTRY,
1175 QUERY_IS_CACHED_OR_MAPPED,
1176 QUERY_USES_CACHE,
1177 QUERY_IS_SECURE,
1178 QUERY_IS_SAFE
1179 } QUERYOPTION;
1181 /*****************************************************************************
1182 * IInternetProtocolInfo interface
1184 #ifndef __IInternetProtocolInfo_INTERFACE_DEFINED__
1185 #define __IInternetProtocolInfo_INTERFACE_DEFINED__
1187 DEFINE_GUID(IID_IInternetProtocolInfo, 0x79eac9ec, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1188 #if defined(__cplusplus) && !defined(CINTERFACE)
1189 struct IInternetProtocolInfo : public IUnknown
1191 virtual HRESULT STDMETHODCALLTYPE ParseUrl(
1192 LPCWSTR pwzUrl,
1193 PARSEACTION ParseAction,
1194 DWORD dwParseFlags,
1195 LPWSTR pwzResult,
1196 DWORD cchResult,
1197 DWORD* pcchResult,
1198 DWORD dwReserved) = 0;
1200 virtual HRESULT STDMETHODCALLTYPE CombineUrl(
1201 LPCWSTR pwzBaseUrl,
1202 LPCWSTR pwzRelativeUrl,
1203 DWORD dwCombineFlags,
1204 LPWSTR pwzResult,
1205 DWORD cchResult,
1206 DWORD* pcchResult,
1207 DWORD dwReserved) = 0;
1209 virtual HRESULT STDMETHODCALLTYPE CompareUrl(
1210 LPCWSTR pwzUrl1,
1211 LPCWSTR pwzUrl2,
1212 DWORD dwCompareFlags) = 0;
1214 virtual HRESULT STDMETHODCALLTYPE QueryInfo(
1215 LPCWSTR pwzUrl,
1216 QUERYOPTION OueryOption,
1217 DWORD dwQueryFlags,
1218 LPVOID pBuffer,
1219 DWORD cbBuffer,
1220 DWORD* pcbBuf,
1221 DWORD dwReserved) = 0;
1224 #else
1225 typedef struct IInternetProtocolInfoVtbl IInternetProtocolInfoVtbl;
1226 struct IInternetProtocolInfo {
1227 const IInternetProtocolInfoVtbl* lpVtbl;
1229 struct IInternetProtocolInfoVtbl {
1230 ICOM_MSVTABLE_COMPAT_FIELDS
1232 /*** IUnknown methods ***/
1233 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1234 IInternetProtocolInfo* This,
1235 REFIID riid,
1236 void** ppvObject);
1238 ULONG (STDMETHODCALLTYPE *AddRef)(
1239 IInternetProtocolInfo* This);
1241 ULONG (STDMETHODCALLTYPE *Release)(
1242 IInternetProtocolInfo* This);
1244 /*** IInternetProtocolInfo methods ***/
1245 HRESULT (STDMETHODCALLTYPE *ParseUrl)(
1246 IInternetProtocolInfo* This,
1247 LPCWSTR pwzUrl,
1248 PARSEACTION ParseAction,
1249 DWORD dwParseFlags,
1250 LPWSTR pwzResult,
1251 DWORD cchResult,
1252 DWORD* pcchResult,
1253 DWORD dwReserved);
1255 HRESULT (STDMETHODCALLTYPE *CombineUrl)(
1256 IInternetProtocolInfo* This,
1257 LPCWSTR pwzBaseUrl,
1258 LPCWSTR pwzRelativeUrl,
1259 DWORD dwCombineFlags,
1260 LPWSTR pwzResult,
1261 DWORD cchResult,
1262 DWORD* pcchResult,
1263 DWORD dwReserved);
1265 HRESULT (STDMETHODCALLTYPE *CompareUrl)(
1266 IInternetProtocolInfo* This,
1267 LPCWSTR pwzUrl1,
1268 LPCWSTR pwzUrl2,
1269 DWORD dwCompareFlags);
1271 HRESULT (STDMETHODCALLTYPE *QueryInfo)(
1272 IInternetProtocolInfo* This,
1273 LPCWSTR pwzUrl,
1274 QUERYOPTION OueryOption,
1275 DWORD dwQueryFlags,
1276 LPVOID pBuffer,
1277 DWORD cbBuffer,
1278 DWORD* pcbBuf,
1279 DWORD dwReserved);
1283 /*** IUnknown methods ***/
1284 #define IInternetProtocolInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1285 #define IInternetProtocolInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
1286 #define IInternetProtocolInfo_Release(p) (p)->lpVtbl->Release(p)
1287 /*** IInternetProtocolInfo methods ***/
1288 #define IInternetProtocolInfo_ParseUrl(p,a,b,c,d,e,f,g) (p)->lpVtbl->ParseUrl(p,a,b,c,d,e,f,g)
1289 #define IInternetProtocolInfo_CombineUrl(p,a,b,c,d,e,f,g) (p)->lpVtbl->CombineUrl(p,a,b,c,d,e,f,g)
1290 #define IInternetProtocolInfo_CompareUrl(p,a,b,c) (p)->lpVtbl->CompareUrl(p,a,b,c)
1291 #define IInternetProtocolInfo_QueryInfo(p,a,b,c,d,e,f,g) (p)->lpVtbl->QueryInfo(p,a,b,c,d,e,f,g)
1293 #endif
1295 #define IInternetProtocolInfo_METHODS \
1296 ICOM_MSVTABLE_COMPAT_FIELDS \
1297 /*** IUnknown methods ***/ \
1298 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1299 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1300 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1301 /*** IInternetProtocolInfo methods ***/ \
1302 STDMETHOD_(HRESULT,ParseUrl)(THIS_ LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwParseFlags, LPWSTR pwzResult, DWORD cchResult, DWORD* pcchResult, DWORD dwReserved) PURE; \
1303 STDMETHOD_(HRESULT,CombineUrl)(THIS_ LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pwzResult, DWORD cchResult, DWORD* pcchResult, DWORD dwReserved) PURE; \
1304 STDMETHOD_(HRESULT,CompareUrl)(THIS_ LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwCompareFlags) PURE; \
1305 STDMETHOD_(HRESULT,QueryInfo)(THIS_ LPCWSTR pwzUrl, QUERYOPTION OueryOption, DWORD dwQueryFlags, LPVOID pBuffer, DWORD cbBuffer, DWORD* pcbBuf, DWORD dwReserved) PURE;
1307 HRESULT CALLBACK IInternetProtocolInfo_ParseUrl_Proxy(
1308 IInternetProtocolInfo* This,
1309 LPCWSTR pwzUrl,
1310 PARSEACTION ParseAction,
1311 DWORD dwParseFlags,
1312 LPWSTR pwzResult,
1313 DWORD cchResult,
1314 DWORD* pcchResult,
1315 DWORD dwReserved);
1316 void __RPC_STUB IInternetProtocolInfo_ParseUrl_Stub(
1317 struct IRpcStubBuffer* This,
1318 struct IRpcChannelBuffer* pRpcChannelBuffer,
1319 PRPC_MESSAGE pRpcMessage,
1320 DWORD* pdwStubPhase);
1321 HRESULT CALLBACK IInternetProtocolInfo_CombineUrl_Proxy(
1322 IInternetProtocolInfo* This,
1323 LPCWSTR pwzBaseUrl,
1324 LPCWSTR pwzRelativeUrl,
1325 DWORD dwCombineFlags,
1326 LPWSTR pwzResult,
1327 DWORD cchResult,
1328 DWORD* pcchResult,
1329 DWORD dwReserved);
1330 void __RPC_STUB IInternetProtocolInfo_CombineUrl_Stub(
1331 struct IRpcStubBuffer* This,
1332 struct IRpcChannelBuffer* pRpcChannelBuffer,
1333 PRPC_MESSAGE pRpcMessage,
1334 DWORD* pdwStubPhase);
1335 HRESULT CALLBACK IInternetProtocolInfo_CompareUrl_Proxy(
1336 IInternetProtocolInfo* This,
1337 LPCWSTR pwzUrl1,
1338 LPCWSTR pwzUrl2,
1339 DWORD dwCompareFlags);
1340 void __RPC_STUB IInternetProtocolInfo_CompareUrl_Stub(
1341 struct IRpcStubBuffer* This,
1342 struct IRpcChannelBuffer* pRpcChannelBuffer,
1343 PRPC_MESSAGE pRpcMessage,
1344 DWORD* pdwStubPhase);
1345 HRESULT CALLBACK IInternetProtocolInfo_QueryInfo_Proxy(
1346 IInternetProtocolInfo* This,
1347 LPCWSTR pwzUrl,
1348 QUERYOPTION OueryOption,
1349 DWORD dwQueryFlags,
1350 LPVOID pBuffer,
1351 DWORD cbBuffer,
1352 DWORD* pcbBuf,
1353 DWORD dwReserved);
1354 void __RPC_STUB IInternetProtocolInfo_QueryInfo_Stub(
1355 struct IRpcStubBuffer* This,
1356 struct IRpcChannelBuffer* pRpcChannelBuffer,
1357 PRPC_MESSAGE pRpcMessage,
1358 DWORD* pdwStubPhase);
1360 #endif /* __IInternetProtocolInfo_INTERFACE_DEFINED__ */
1362 DEFINE_GUID(CLSID_StdURLMoniker, 0x79EAC9E0, 0xBAF9, 0x11CE, 0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B);
1363 #define MK_S_ASYNCHRONOUS 0x000401E8
1364 #define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS
1365 #define INET_E_ERROR_FIRST 0x800C0002L
1366 #define INET_E_INVALID_URL 0x800C0002L
1367 #define INET_E_NO_SESSION 0x800C0003L
1368 #define INET_E_CANNOT_CONNECT 0x800C0004L
1369 #define INET_E_RESOURCE_NOT_FOUND 0x800C0005L
1370 #define INET_E_OBJECT_NOT_FOUND 0x800C0006L
1371 #define INET_E_DATA_NOT_AVAILABLE 0x800C0007L
1372 #define INET_E_DOWNLOAD_FAILURE 0x800C0008L
1373 #define INET_E_AUTHENTICATION_REQUIRED 0x800C0009L
1374 #define INET_E_NO_VALID_MEDIA 0x800C000AL
1375 #define INET_E_CONNECTION_TIMEOUT 0x800C000BL
1376 #define INET_E_INVALID_REQUEST 0x800C000CL
1377 #define INET_E_UNKNOWN_PROTOCOL 0x800C000DL
1378 #define INET_E_SECURITY_PROBLEM 0x800C000EL
1379 #define INET_E_CANNOT_LOAD_DATA 0x800C000FL
1380 #define INET_E_CANNOT_INSTANTIATE_OBJECT 0x800C0010L
1381 #define INET_E_QUERYOPTION_UNKNOWN 0x800C0013L
1382 #define INET_E_REDIRECT_FAILED 0x800C0014L
1383 #define INET_E_REDIRECT_TO_DIR 0x800C0015L
1384 #define INET_E_CANNOT_LOCK_REQUEST 0x800C0016L
1385 #define INET_E_ERROR_LAST INET_E_REDIRECT_TO_DIR
1386 HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk);
1387 HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbsc, DWORD dwReserved);
1388 HRESULT WINAPI CompareSecurityIds(BYTE*,DWORD,BYTE*,DWORD,DWORD);
1389 HRESULT WINAPI URLDownloadToFileA(LPUNKNOWN pCaller, LPCSTR szURL, LPCSTR szFileName, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB);
1390 HRESULT WINAPI URLDownloadToFileW(LPUNKNOWN pCaller, LPCWSTR szURL, LPCWSTR szFileName, DWORD dwReserved, LPBINDSTATUSCALLBACK lpfnCB);
1391 HRESULT WINAPI CoInternetGetSession(DWORD,/*IInternetSession*/void**,DWORD);
1392 HRESULT WINAPI MkParseDisplayNameEx(IBindCtx*,LPCWSTR,ULONG*,IMoniker**);
1393 HRESULT WINAPI IsAsyncMoniker(IMoniker* pmk);
1394 HRESULT WINAPI CreateAsyncBindCtx(DWORD, IBindStatusCallback*, IEnumFORMATETC*, IBindCtx**);
1395 #define MKSYS_URLMONIKER 6
1396 #ifdef __cplusplus
1398 #endif
1399 #endif /* __WIDL_URLMON_H */