Authors: Stewart Caie<kyz@uklinux.net>, Jed Wing <jedwin@ugcs.caltech.edu>, Mike...
[wine] / include / dispex.h
1 /*** Autogenerated by WIDL 0.1 from dispex.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
4
5 #ifndef __WIDL_DISPEX_H
6 #define __WIDL_DISPEX_H
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #include <ocidl.h>
11 #include <oleidl.h>
12 #include <oaidl.h>
13 #include <servprov.h>
14 #define fdexNameCaseSensitive       0x00000001L
15 #define fdexNameEnsure              0x00000002L
16 #define fdexNameImplicit            0x00000004L
17 #define fdexNameCaseInsensitive     0x00000008L
18 #define fdexNameInternal            0x00000010L
19 #define fdexNameNoDynamicProperties 0x00000020L
20 #define fdexPropCanGet              0x00000001L
21 #define fdexPropCannotGet           0x00000002L
22 #define fdexPropCanPut              0x00000004L
23 #define fdexPropCannotPut           0x00000008L
24 #define fdexPropCanPutRef           0x00000010L
25 #define fdexPropCannotPutRef        0x00000020L
26 #define fdexPropNoSideEffects       0x00000040L
27 #define fdexPropDynamicType         0x00000080L
28 #define fdexPropCanCall             0x00000100L
29 #define fdexPropCannotCall          0x00000200L
30 #define fdexPropCanConstruct        0x00000400L
31 #define fdexPropCannotConstruct     0x00000800L
32 #define fdexPropCanSourceEvents     0x00001000L
33 #define fdexPropCannotSourceEvents  0x00002000L
34 #define fdexEnumDefault             0x00000001L
35 #define fdexEnumAll                 0x00000002L
36 #define grfdexPropCanAll \
37        (fdexPropCanGet | fdexPropCanPut | fdexPropCanPutRef | \
38         fdexPropCanCall | fdexPropCanConstruct | fdexPropCanSourceEvents)
39 #define grfdexPropCannotAll \
40        (fdexPropCannotGet | fdexPropCannotPut | fdexPropCannotPutRef | \
41         fdexPropCannotCall | fdexPropCannotConstruct | fdexPropCannotSourceEvents)
42 #define grfdexPropExtraAll \
43        (fdexPropNoSideEffects | fdexPropDynamicType)
44 #define grfdexPropAll \
45        (grfdexPropCanAll | grfdexPropCannotAll | grfdexPropExtraAll)
46 #define DISPATCH_CONSTRUCT 0x4000
47 #define DISPID_THIS (-613)
48 #define DISPID_STARTENUM DISPID_UNKNOWN
49 #ifndef __IDispatchEx_FWD_DEFINED__
50 #define __IDispatchEx_FWD_DEFINED__
51 typedef struct IDispatchEx IDispatchEx;
52 #endif
53
54 /*****************************************************************************
55  * IDispatchEx interface
56  */
57 #ifndef __IDispatchEx_INTERFACE_DEFINED__
58 #define __IDispatchEx_INTERFACE_DEFINED__
59
60 DEFINE_GUID(IID_IDispatchEx, 0xa6ef9860, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
61 #if defined(__cplusplus) && !defined(CINTERFACE)
62 struct IDispatchEx : public IDispatch
63 {
64     virtual HRESULT STDMETHODCALLTYPE GetDispID(
65         BSTR bstrName,
66         DWORD grfdex,
67         DISPID* pid) = 0;
68
69     virtual HRESULT STDMETHODCALLTYPE InvokeEx(
70         DISPID id,
71         LCID lcid,
72         WORD wFlags,
73         DISPPARAMS* pdp,
74         VARIANT* pvarRes,
75         EXCEPINFO* pei,
76         IServiceProvider* pspCaller) = 0;
77
78     virtual HRESULT STDMETHODCALLTYPE DeleteMemberByName(
79         BSTR bstrName,
80         DWORD grfdex) = 0;
81
82     virtual HRESULT STDMETHODCALLTYPE DeleteMemberByDispID(
83         DISPID id) = 0;
84
85     virtual HRESULT STDMETHODCALLTYPE GetMemberProperties(
86         DISPID id,
87         DWORD grfdexFetch,
88         DWORD* pgrfdex) = 0;
89
90     virtual HRESULT STDMETHODCALLTYPE GetMemberName(
91         DISPID id,
92         BSTR* pbstrName) = 0;
93
94     virtual HRESULT STDMETHODCALLTYPE GetNextDispID(
95         DWORD grfdex,
96         DISPID id,
97         DISPID* pid) = 0;
98
99     virtual HRESULT STDMETHODCALLTYPE GetNameSpaceParent(
100         IUnknown** ppunk) = 0;
101
102 };
103 #else
104 typedef struct IDispatchExVtbl IDispatchExVtbl;
105 struct IDispatchEx {
106     const IDispatchExVtbl* lpVtbl;
107 };
108 struct IDispatchExVtbl {
109     BEGIN_INTERFACE
110
111     /*** IUnknown methods ***/
112     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
113         IDispatchEx* This,
114         REFIID riid,
115         void** ppvObject);
116
117     ULONG (STDMETHODCALLTYPE *AddRef)(
118         IDispatchEx* This);
119
120     ULONG (STDMETHODCALLTYPE *Release)(
121         IDispatchEx* This);
122
123     /*** IDispatch methods ***/
124     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
125         IDispatchEx* This,
126         UINT* pctinfo);
127
128     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
129         IDispatchEx* This,
130         UINT iTInfo,
131         LCID lcid,
132         ITypeInfo** ppTInfo);
133
134     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
135         IDispatchEx* This,
136         REFIID riid,
137         LPOLESTR* rgszNames,
138         UINT cNames,
139         LCID lcid,
140         DISPID* rgDispId);
141
142     HRESULT (STDMETHODCALLTYPE *Invoke)(
143         IDispatchEx* This,
144         DISPID dispIdMember,
145         REFIID riid,
146         LCID lcid,
147         WORD wFlags,
148         DISPPARAMS* pDispParams,
149         VARIANT* pVarResult,
150         EXCEPINFO* pExcepInfo,
151         UINT* puArgErr);
152
153     /*** IDispatchEx methods ***/
154     HRESULT (STDMETHODCALLTYPE *GetDispID)(
155         IDispatchEx* This,
156         BSTR bstrName,
157         DWORD grfdex,
158         DISPID* pid);
159
160     HRESULT (STDMETHODCALLTYPE *InvokeEx)(
161         IDispatchEx* This,
162         DISPID id,
163         LCID lcid,
164         WORD wFlags,
165         DISPPARAMS* pdp,
166         VARIANT* pvarRes,
167         EXCEPINFO* pei,
168         IServiceProvider* pspCaller);
169
170     HRESULT (STDMETHODCALLTYPE *DeleteMemberByName)(
171         IDispatchEx* This,
172         BSTR bstrName,
173         DWORD grfdex);
174
175     HRESULT (STDMETHODCALLTYPE *DeleteMemberByDispID)(
176         IDispatchEx* This,
177         DISPID id);
178
179     HRESULT (STDMETHODCALLTYPE *GetMemberProperties)(
180         IDispatchEx* This,
181         DISPID id,
182         DWORD grfdexFetch,
183         DWORD* pgrfdex);
184
185     HRESULT (STDMETHODCALLTYPE *GetMemberName)(
186         IDispatchEx* This,
187         DISPID id,
188         BSTR* pbstrName);
189
190     HRESULT (STDMETHODCALLTYPE *GetNextDispID)(
191         IDispatchEx* This,
192         DWORD grfdex,
193         DISPID id,
194         DISPID* pid);
195
196     HRESULT (STDMETHODCALLTYPE *GetNameSpaceParent)(
197         IDispatchEx* This,
198         IUnknown** ppunk);
199
200     END_INTERFACE
201 };
202
203 #ifdef COBJMACROS
204 /*** IUnknown methods ***/
205 #define IDispatchEx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
206 #define IDispatchEx_AddRef(p) (p)->lpVtbl->AddRef(p)
207 #define IDispatchEx_Release(p) (p)->lpVtbl->Release(p)
208 /*** IDispatch methods ***/
209 #define IDispatchEx_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
210 #define IDispatchEx_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
211 #define IDispatchEx_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
212 #define IDispatchEx_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
213 /*** IDispatchEx methods ***/
214 #define IDispatchEx_GetDispID(p,a,b,c) (p)->lpVtbl->GetDispID(p,a,b,c)
215 #define IDispatchEx_InvokeEx(p,a,b,c,d,e,f,g) (p)->lpVtbl->InvokeEx(p,a,b,c,d,e,f,g)
216 #define IDispatchEx_DeleteMemberByName(p,a,b) (p)->lpVtbl->DeleteMemberByName(p,a,b)
217 #define IDispatchEx_DeleteMemberByDispID(p,a) (p)->lpVtbl->DeleteMemberByDispID(p,a)
218 #define IDispatchEx_GetMemberProperties(p,a,b,c) (p)->lpVtbl->GetMemberProperties(p,a,b,c)
219 #define IDispatchEx_GetMemberName(p,a,b) (p)->lpVtbl->GetMemberName(p,a,b)
220 #define IDispatchEx_GetNextDispID(p,a,b,c) (p)->lpVtbl->GetNextDispID(p,a,b,c)
221 #define IDispatchEx_GetNameSpaceParent(p,a) (p)->lpVtbl->GetNameSpaceParent(p,a)
222 #endif
223
224 #endif
225
226 #define IDispatchEx_METHODS \
227     /*** IUnknown methods ***/ \
228     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
229     STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
230     STDMETHOD_(ULONG,Release)(THIS) PURE; \
231     /*** IDispatch methods ***/ \
232     STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ UINT* pctinfo) PURE; \
233     STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) PURE; \
234     STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) PURE; \
235     STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \
236     /*** IDispatchEx methods ***/ \
237     STDMETHOD_(HRESULT,GetDispID)(THIS_ BSTR bstrName, DWORD grfdex, DISPID* pid) PURE; \
238     STDMETHOD_(HRESULT,InvokeEx)(THIS_ DISPID id, LCID lcid, WORD wFlags, DISPPARAMS* pdp, VARIANT* pvarRes, EXCEPINFO* pei, IServiceProvider* pspCaller) PURE; \
239     STDMETHOD_(HRESULT,DeleteMemberByName)(THIS_ BSTR bstrName, DWORD grfdex) PURE; \
240     STDMETHOD_(HRESULT,DeleteMemberByDispID)(THIS_ DISPID id) PURE; \
241     STDMETHOD_(HRESULT,GetMemberProperties)(THIS_ DISPID id, DWORD grfdexFetch, DWORD* pgrfdex) PURE; \
242     STDMETHOD_(HRESULT,GetMemberName)(THIS_ DISPID id, BSTR* pbstrName) PURE; \
243     STDMETHOD_(HRESULT,GetNextDispID)(THIS_ DWORD grfdex, DISPID id, DISPID* pid) PURE; \
244     STDMETHOD_(HRESULT,GetNameSpaceParent)(THIS_ IUnknown** ppunk) PURE;
245
246 HRESULT CALLBACK IDispatchEx_GetDispID_Proxy(
247     IDispatchEx* This,
248     BSTR bstrName,
249     DWORD grfdex,
250     DISPID* pid);
251 void __RPC_STUB IDispatchEx_GetDispID_Stub(
252     struct IRpcStubBuffer* This,
253     struct IRpcChannelBuffer* pRpcChannelBuffer,
254     PRPC_MESSAGE pRpcMessage,
255     DWORD* pdwStubPhase);
256 HRESULT CALLBACK IDispatchEx_RemoteInvokeEx_Proxy(
257     IDispatchEx* This,
258     DISPID id,
259     LCID lcid,
260     DWORD dwFlags,
261     DISPPARAMS* pdp,
262     VARIANT* pvarRes,
263     EXCEPINFO* pei,
264     IServiceProvider* pspCaller,
265     UINT cvarRefArg,
266     UINT* rgiRefArg,
267     VARIANT* rgvarRefArg);
268 void __RPC_STUB IDispatchEx_RemoteInvokeEx_Stub(
269     struct IRpcStubBuffer* This,
270     struct IRpcChannelBuffer* pRpcChannelBuffer,
271     PRPC_MESSAGE pRpcMessage,
272     DWORD* pdwStubPhase);
273 HRESULT CALLBACK IDispatchEx_InvokeEx_Proxy(
274     IDispatchEx* This,
275     DISPID id,
276     LCID lcid,
277     WORD wFlags,
278     DISPPARAMS* pdp,
279     VARIANT* pvarRes,
280     EXCEPINFO* pei,
281     IServiceProvider* pspCaller);
282 HRESULT __RPC_STUB IDispatchEx_InvokeEx_Stub(
283     IDispatchEx* This,
284     DISPID id,
285     LCID lcid,
286     DWORD dwFlags,
287     DISPPARAMS* pdp,
288     VARIANT* pvarRes,
289     EXCEPINFO* pei,
290     IServiceProvider* pspCaller,
291     UINT cvarRefArg,
292     UINT* rgiRefArg,
293     VARIANT* rgvarRefArg);
294 HRESULT CALLBACK IDispatchEx_DeleteMemberByName_Proxy(
295     IDispatchEx* This,
296     BSTR bstrName,
297     DWORD grfdex);
298 void __RPC_STUB IDispatchEx_DeleteMemberByName_Stub(
299     struct IRpcStubBuffer* This,
300     struct IRpcChannelBuffer* pRpcChannelBuffer,
301     PRPC_MESSAGE pRpcMessage,
302     DWORD* pdwStubPhase);
303 HRESULT CALLBACK IDispatchEx_DeleteMemberByDispID_Proxy(
304     IDispatchEx* This,
305     DISPID id);
306 void __RPC_STUB IDispatchEx_DeleteMemberByDispID_Stub(
307     struct IRpcStubBuffer* This,
308     struct IRpcChannelBuffer* pRpcChannelBuffer,
309     PRPC_MESSAGE pRpcMessage,
310     DWORD* pdwStubPhase);
311 HRESULT CALLBACK IDispatchEx_GetMemberProperties_Proxy(
312     IDispatchEx* This,
313     DISPID id,
314     DWORD grfdexFetch,
315     DWORD* pgrfdex);
316 void __RPC_STUB IDispatchEx_GetMemberProperties_Stub(
317     struct IRpcStubBuffer* This,
318     struct IRpcChannelBuffer* pRpcChannelBuffer,
319     PRPC_MESSAGE pRpcMessage,
320     DWORD* pdwStubPhase);
321 HRESULT CALLBACK IDispatchEx_GetMemberName_Proxy(
322     IDispatchEx* This,
323     DISPID id,
324     BSTR* pbstrName);
325 void __RPC_STUB IDispatchEx_GetMemberName_Stub(
326     struct IRpcStubBuffer* This,
327     struct IRpcChannelBuffer* pRpcChannelBuffer,
328     PRPC_MESSAGE pRpcMessage,
329     DWORD* pdwStubPhase);
330 HRESULT CALLBACK IDispatchEx_GetNextDispID_Proxy(
331     IDispatchEx* This,
332     DWORD grfdex,
333     DISPID id,
334     DISPID* pid);
335 void __RPC_STUB IDispatchEx_GetNextDispID_Stub(
336     struct IRpcStubBuffer* This,
337     struct IRpcChannelBuffer* pRpcChannelBuffer,
338     PRPC_MESSAGE pRpcMessage,
339     DWORD* pdwStubPhase);
340 HRESULT CALLBACK IDispatchEx_GetNameSpaceParent_Proxy(
341     IDispatchEx* This,
342     IUnknown** ppunk);
343 void __RPC_STUB IDispatchEx_GetNameSpaceParent_Stub(
344     struct IRpcStubBuffer* This,
345     struct IRpcChannelBuffer* pRpcChannelBuffer,
346     PRPC_MESSAGE pRpcMessage,
347     DWORD* pdwStubPhase);
348
349 #endif  /* __IDispatchEx_INTERFACE_DEFINED__ */
350
351 #ifndef __IDispError_FWD_DEFINED__
352 #define __IDispError_FWD_DEFINED__
353 typedef struct IDispError IDispError;
354 #endif
355
356 /*****************************************************************************
357  * IDispError interface
358  */
359 #ifndef __IDispError_INTERFACE_DEFINED__
360 #define __IDispError_INTERFACE_DEFINED__
361
362 DEFINE_GUID(IID_IDispError, 0xa6ef9861, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
363 #if defined(__cplusplus) && !defined(CINTERFACE)
364 struct IDispError : public IUnknown
365 {
366     virtual HRESULT STDMETHODCALLTYPE QueryErrorInfo(
367         GUID guidErrorType,
368         IDispError** ppde) = 0;
369
370     virtual HRESULT STDMETHODCALLTYPE GetNext(
371         IDispError** ppde) = 0;
372
373     virtual HRESULT STDMETHODCALLTYPE GetHresult(
374         HRESULT* phr) = 0;
375
376     virtual HRESULT STDMETHODCALLTYPE GetSource(
377         BSTR* pbstrSource) = 0;
378
379     virtual HRESULT STDMETHODCALLTYPE GetHelpInfo(
380         BSTR* pbstrFileName,
381         DWORD* pdwContext) = 0;
382
383     virtual HRESULT STDMETHODCALLTYPE GetDescription(
384         BSTR* pbstrDescription) = 0;
385
386 };
387 #else
388 typedef struct IDispErrorVtbl IDispErrorVtbl;
389 struct IDispError {
390     const IDispErrorVtbl* lpVtbl;
391 };
392 struct IDispErrorVtbl {
393     BEGIN_INTERFACE
394
395     /*** IUnknown methods ***/
396     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
397         IDispError* This,
398         REFIID riid,
399         void** ppvObject);
400
401     ULONG (STDMETHODCALLTYPE *AddRef)(
402         IDispError* This);
403
404     ULONG (STDMETHODCALLTYPE *Release)(
405         IDispError* This);
406
407     /*** IDispError methods ***/
408     HRESULT (STDMETHODCALLTYPE *QueryErrorInfo)(
409         IDispError* This,
410         GUID guidErrorType,
411         IDispError** ppde);
412
413     HRESULT (STDMETHODCALLTYPE *GetNext)(
414         IDispError* This,
415         IDispError** ppde);
416
417     HRESULT (STDMETHODCALLTYPE *GetHresult)(
418         IDispError* This,
419         HRESULT* phr);
420
421     HRESULT (STDMETHODCALLTYPE *GetSource)(
422         IDispError* This,
423         BSTR* pbstrSource);
424
425     HRESULT (STDMETHODCALLTYPE *GetHelpInfo)(
426         IDispError* This,
427         BSTR* pbstrFileName,
428         DWORD* pdwContext);
429
430     HRESULT (STDMETHODCALLTYPE *GetDescription)(
431         IDispError* This,
432         BSTR* pbstrDescription);
433
434     END_INTERFACE
435 };
436
437 #ifdef COBJMACROS
438 /*** IUnknown methods ***/
439 #define IDispError_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
440 #define IDispError_AddRef(p) (p)->lpVtbl->AddRef(p)
441 #define IDispError_Release(p) (p)->lpVtbl->Release(p)
442 /*** IDispError methods ***/
443 #define IDispError_QueryErrorInfo(p,a,b) (p)->lpVtbl->QueryErrorInfo(p,a,b)
444 #define IDispError_GetNext(p,a) (p)->lpVtbl->GetNext(p,a)
445 #define IDispError_GetHresult(p,a) (p)->lpVtbl->GetHresult(p,a)
446 #define IDispError_GetSource(p,a) (p)->lpVtbl->GetSource(p,a)
447 #define IDispError_GetHelpInfo(p,a,b) (p)->lpVtbl->GetHelpInfo(p,a,b)
448 #define IDispError_GetDescription(p,a) (p)->lpVtbl->GetDescription(p,a)
449 #endif
450
451 #endif
452
453 #define IDispError_METHODS \
454     /*** IUnknown methods ***/ \
455     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
456     STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
457     STDMETHOD_(ULONG,Release)(THIS) PURE; \
458     /*** IDispError methods ***/ \
459     STDMETHOD_(HRESULT,QueryErrorInfo)(THIS_ GUID guidErrorType, IDispError** ppde) PURE; \
460     STDMETHOD_(HRESULT,GetNext)(THIS_ IDispError** ppde) PURE; \
461     STDMETHOD_(HRESULT,GetHresult)(THIS_ HRESULT* phr) PURE; \
462     STDMETHOD_(HRESULT,GetSource)(THIS_ BSTR* pbstrSource) PURE; \
463     STDMETHOD_(HRESULT,GetHelpInfo)(THIS_ BSTR* pbstrFileName, DWORD* pdwContext) PURE; \
464     STDMETHOD_(HRESULT,GetDescription)(THIS_ BSTR* pbstrDescription) PURE;
465
466 HRESULT CALLBACK IDispError_QueryErrorInfo_Proxy(
467     IDispError* This,
468     GUID guidErrorType,
469     IDispError** ppde);
470 void __RPC_STUB IDispError_QueryErrorInfo_Stub(
471     struct IRpcStubBuffer* This,
472     struct IRpcChannelBuffer* pRpcChannelBuffer,
473     PRPC_MESSAGE pRpcMessage,
474     DWORD* pdwStubPhase);
475 HRESULT CALLBACK IDispError_GetNext_Proxy(
476     IDispError* This,
477     IDispError** ppde);
478 void __RPC_STUB IDispError_GetNext_Stub(
479     struct IRpcStubBuffer* This,
480     struct IRpcChannelBuffer* pRpcChannelBuffer,
481     PRPC_MESSAGE pRpcMessage,
482     DWORD* pdwStubPhase);
483 HRESULT CALLBACK IDispError_GetHresult_Proxy(
484     IDispError* This,
485     HRESULT* phr);
486 void __RPC_STUB IDispError_GetHresult_Stub(
487     struct IRpcStubBuffer* This,
488     struct IRpcChannelBuffer* pRpcChannelBuffer,
489     PRPC_MESSAGE pRpcMessage,
490     DWORD* pdwStubPhase);
491 HRESULT CALLBACK IDispError_GetSource_Proxy(
492     IDispError* This,
493     BSTR* pbstrSource);
494 void __RPC_STUB IDispError_GetSource_Stub(
495     struct IRpcStubBuffer* This,
496     struct IRpcChannelBuffer* pRpcChannelBuffer,
497     PRPC_MESSAGE pRpcMessage,
498     DWORD* pdwStubPhase);
499 HRESULT CALLBACK IDispError_GetHelpInfo_Proxy(
500     IDispError* This,
501     BSTR* pbstrFileName,
502     DWORD* pdwContext);
503 void __RPC_STUB IDispError_GetHelpInfo_Stub(
504     struct IRpcStubBuffer* This,
505     struct IRpcChannelBuffer* pRpcChannelBuffer,
506     PRPC_MESSAGE pRpcMessage,
507     DWORD* pdwStubPhase);
508 HRESULT CALLBACK IDispError_GetDescription_Proxy(
509     IDispError* This,
510     BSTR* pbstrDescription);
511 void __RPC_STUB IDispError_GetDescription_Stub(
512     struct IRpcStubBuffer* This,
513     struct IRpcChannelBuffer* pRpcChannelBuffer,
514     PRPC_MESSAGE pRpcMessage,
515     DWORD* pdwStubPhase);
516
517 #endif  /* __IDispError_INTERFACE_DEFINED__ */
518
519 #ifndef __IVariantChangeType_FWD_DEFINED__
520 #define __IVariantChangeType_FWD_DEFINED__
521 typedef struct IVariantChangeType IVariantChangeType;
522 #endif
523
524 /*****************************************************************************
525  * IVariantChangeType interface
526  */
527 #ifndef __IVariantChangeType_INTERFACE_DEFINED__
528 #define __IVariantChangeType_INTERFACE_DEFINED__
529
530 DEFINE_GUID(IID_IVariantChangeType, 0xa6ef9862, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
531 #if defined(__cplusplus) && !defined(CINTERFACE)
532 struct IVariantChangeType : public IUnknown
533 {
534     virtual HRESULT STDMETHODCALLTYPE ChangeType(
535         VARIANT* pvarDst,
536         VARIANT* pvarSrc,
537         LCID lcid,
538         VARTYPE vtNew) = 0;
539
540 };
541 #else
542 typedef struct IVariantChangeTypeVtbl IVariantChangeTypeVtbl;
543 struct IVariantChangeType {
544     const IVariantChangeTypeVtbl* lpVtbl;
545 };
546 struct IVariantChangeTypeVtbl {
547     BEGIN_INTERFACE
548
549     /*** IUnknown methods ***/
550     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
551         IVariantChangeType* This,
552         REFIID riid,
553         void** ppvObject);
554
555     ULONG (STDMETHODCALLTYPE *AddRef)(
556         IVariantChangeType* This);
557
558     ULONG (STDMETHODCALLTYPE *Release)(
559         IVariantChangeType* This);
560
561     /*** IVariantChangeType methods ***/
562     HRESULT (STDMETHODCALLTYPE *ChangeType)(
563         IVariantChangeType* This,
564         VARIANT* pvarDst,
565         VARIANT* pvarSrc,
566         LCID lcid,
567         VARTYPE vtNew);
568
569     END_INTERFACE
570 };
571
572 #ifdef COBJMACROS
573 /*** IUnknown methods ***/
574 #define IVariantChangeType_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
575 #define IVariantChangeType_AddRef(p) (p)->lpVtbl->AddRef(p)
576 #define IVariantChangeType_Release(p) (p)->lpVtbl->Release(p)
577 /*** IVariantChangeType methods ***/
578 #define IVariantChangeType_ChangeType(p,a,b,c,d) (p)->lpVtbl->ChangeType(p,a,b,c,d)
579 #endif
580
581 #endif
582
583 #define IVariantChangeType_METHODS \
584     /*** IUnknown methods ***/ \
585     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
586     STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
587     STDMETHOD_(ULONG,Release)(THIS) PURE; \
588     /*** IVariantChangeType methods ***/ \
589     STDMETHOD_(HRESULT,ChangeType)(THIS_ VARIANT* pvarDst, VARIANT* pvarSrc, LCID lcid, VARTYPE vtNew) PURE;
590
591 HRESULT CALLBACK IVariantChangeType_ChangeType_Proxy(
592     IVariantChangeType* This,
593     VARIANT* pvarDst,
594     VARIANT* pvarSrc,
595     LCID lcid,
596     VARTYPE vtNew);
597 void __RPC_STUB IVariantChangeType_ChangeType_Stub(
598     struct IRpcStubBuffer* This,
599     struct IRpcChannelBuffer* pRpcChannelBuffer,
600     PRPC_MESSAGE pRpcMessage,
601     DWORD* pdwStubPhase);
602
603 #endif  /* __IVariantChangeType_INTERFACE_DEFINED__ */
604
605 #ifndef __IObjectIdentity_FWD_DEFINED__
606 #define __IObjectIdentity_FWD_DEFINED__
607 typedef struct IObjectIdentity IObjectIdentity;
608 #endif
609
610 /*****************************************************************************
611  * IObjectIdentity interface
612  */
613 #ifndef __IObjectIdentity_INTERFACE_DEFINED__
614 #define __IObjectIdentity_INTERFACE_DEFINED__
615
616 DEFINE_GUID(IID_IObjectIdentity, 0xca04b7e6, 0x0d21, 0x11d1, 0x8c,0xc5, 0x00,0xc0,0x4f,0xc2,0xb0,0x85);
617 #if defined(__cplusplus) && !defined(CINTERFACE)
618 struct IObjectIdentity : public IUnknown
619 {
620     virtual HRESULT STDMETHODCALLTYPE IsEqualObject(
621         IUnknown* punk) = 0;
622
623 };
624 #else
625 typedef struct IObjectIdentityVtbl IObjectIdentityVtbl;
626 struct IObjectIdentity {
627     const IObjectIdentityVtbl* lpVtbl;
628 };
629 struct IObjectIdentityVtbl {
630     BEGIN_INTERFACE
631
632     /*** IUnknown methods ***/
633     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
634         IObjectIdentity* This,
635         REFIID riid,
636         void** ppvObject);
637
638     ULONG (STDMETHODCALLTYPE *AddRef)(
639         IObjectIdentity* This);
640
641     ULONG (STDMETHODCALLTYPE *Release)(
642         IObjectIdentity* This);
643
644     /*** IObjectIdentity methods ***/
645     HRESULT (STDMETHODCALLTYPE *IsEqualObject)(
646         IObjectIdentity* This,
647         IUnknown* punk);
648
649     END_INTERFACE
650 };
651
652 #ifdef COBJMACROS
653 /*** IUnknown methods ***/
654 #define IObjectIdentity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
655 #define IObjectIdentity_AddRef(p) (p)->lpVtbl->AddRef(p)
656 #define IObjectIdentity_Release(p) (p)->lpVtbl->Release(p)
657 /*** IObjectIdentity methods ***/
658 #define IObjectIdentity_IsEqualObject(p,a) (p)->lpVtbl->IsEqualObject(p,a)
659 #endif
660
661 #endif
662
663 #define IObjectIdentity_METHODS \
664     /*** IUnknown methods ***/ \
665     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
666     STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
667     STDMETHOD_(ULONG,Release)(THIS) PURE; \
668     /*** IObjectIdentity methods ***/ \
669     STDMETHOD_(HRESULT,IsEqualObject)(THIS_ IUnknown* punk) PURE;
670
671 HRESULT CALLBACK IObjectIdentity_IsEqualObject_Proxy(
672     IObjectIdentity* This,
673     IUnknown* punk);
674 void __RPC_STUB IObjectIdentity_IsEqualObject_Stub(
675     struct IRpcStubBuffer* This,
676     struct IRpcChannelBuffer* pRpcChannelBuffer,
677     PRPC_MESSAGE pRpcMessage,
678     DWORD* pdwStubPhase);
679
680 #endif  /* __IObjectIdentity_INTERFACE_DEFINED__ */
681
682 #ifdef __cplusplus
683 }
684 #endif
685 #endif /* __WIDL_DISPEX_H */