1/*** Autogenerated by WIDL 1.6 from include/dispex.idl - Do not edit ***/
2
3#ifndef __REQUIRED_RPCNDR_H_VERSION__
4#define __REQUIRED_RPCNDR_H_VERSION__ 475
5#endif
6
7#include <rpc.h>
8#include <rpcndr.h>
9
10#ifndef COM_NO_WINDOWS_H
11#include <windows.h>
12#include <ole2.h>
13#endif
14
15#ifndef __dispex_h__
16#define __dispex_h__
17
18/* Forward declarations */
19
20#ifndef __IDispatchEx_FWD_DEFINED__
21#define __IDispatchEx_FWD_DEFINED__
22typedef interface IDispatchEx IDispatchEx;
23#endif
24
25#ifndef __IDispError_FWD_DEFINED__
26#define __IDispError_FWD_DEFINED__
27typedef interface IDispError IDispError;
28#endif
29
30#ifndef __IVariantChangeType_FWD_DEFINED__
31#define __IVariantChangeType_FWD_DEFINED__
32typedef interface IVariantChangeType IVariantChangeType;
33#endif
34
35#ifndef __IObjectIdentity_FWD_DEFINED__
36#define __IObjectIdentity_FWD_DEFINED__
37typedef interface IObjectIdentity IObjectIdentity;
38#endif
39
40#ifndef __ICanHandleException_FWD_DEFINED__
41#define __ICanHandleException_FWD_DEFINED__
42typedef interface ICanHandleException ICanHandleException;
43#endif
44
45#ifndef __IProvideRuntimeContext_FWD_DEFINED__
46#define __IProvideRuntimeContext_FWD_DEFINED__
47typedef interface IProvideRuntimeContext IProvideRuntimeContext;
48#endif
49
50/* Headers for imported files */
51
52#include <ocidl.h>
53#include <oleidl.h>
54#include <oaidl.h>
55#include <servprov.h>
56
57#ifdef __cplusplus
58extern "C" {
59#endif
60
61/**
62 * This file is part of the mingw-w64 runtime package.
63 * No warranty is given; refer to the file DISCLAIMER within this package.
64 */
65
66#ifndef __IDispatchEx_FWD_DEFINED__
67#define __IDispatchEx_FWD_DEFINED__
68typedef interface IDispatchEx IDispatchEx;
69#endif
70
71#ifndef __IDispError_FWD_DEFINED__
72#define __IDispError_FWD_DEFINED__
73typedef interface IDispError IDispError;
74#endif
75
76#ifndef __IVariantChangeType_FWD_DEFINED__
77#define __IVariantChangeType_FWD_DEFINED__
78typedef interface IVariantChangeType IVariantChangeType;
79#endif
80
81#ifndef DISPEX_H_
82#define DISPEX_H_
83
84#include <winapifamily.h>
85
86#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
87
88#include "servprov.h"
89
90#ifndef _NO_DISPATCHEX_GUIDS
91
92DEFINE_GUID(SID_VariantConversion, 0x1f101481, 0xbccd, 0x11d0, 0x93, 0x36, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);
93DEFINE_GUID(SID_GetCaller, 0x4717cc40, 0xbcb9, 0x11d0, 0x93, 0x36, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);
94DEFINE_GUID(SID_ProvideRuntimeContext, 0x74a5040c, 0xdd0c, 0x48f0, 0xac, 0x85, 0x19, 0x4c, 0x32, 0x59, 0x18, 0xa);
95
96#define SID_GetScriptSite IID_IActiveScriptSite
97#endif
98
99#ifndef _NO_DISPATCHEX_CONSTS
100
101#define fdexNameCaseSensitive 0x1
102#define fdexNameEnsure 0x2
103#define fdexNameImplicit 0x4
104#define fdexNameCaseInsensitive 0x8
105#define fdexNameInternal 0x10
106#define fdexNameNoDynamicProperties 0x20
107
108#define fdexPropCanGet 0x1
109#define fdexPropCannotGet 0x2
110#define fdexPropCanPut 0x4
111#define fdexPropCannotPut 0x8
112#define fdexPropCanPutRef 0x10
113#define fdexPropCannotPutRef 0x20
114#define fdexPropNoSideEffects 0x40
115#define fdexPropDynamicType 0x80
116#define fdexPropCanCall 0x100
117#define fdexPropCannotCall 0x200
118#define fdexPropCanConstruct 0x400
119#define fdexPropCannotConstruct 0x800
120#define fdexPropCanSourceEvents 0x1000
121#define fdexPropCannotSourceEvents 0x02000
122
123#define grfdexPropCanAll (fdexPropCanGet | fdexPropCanPut | fdexPropCanPutRef | fdexPropCanCall | fdexPropCanConstruct | fdexPropCanSourceEvents)
124#define grfdexPropCannotAll (fdexPropCannotGet | fdexPropCannotPut | fdexPropCannotPutRef | fdexPropCannotCall | fdexPropCannotConstruct | fdexPropCannotSourceEvents)
125#define grfdexPropExtraAll (fdexPropNoSideEffects | fdexPropDynamicType)
126#define grfdexPropAll (grfdexPropCanAll | grfdexPropCannotAll | grfdexPropExtraAll)
127
128#define fdexEnumDefault 0x1
129#define fdexEnumAll 0x2
130
131#define DISPATCH_CONSTRUCT 0x4000
132#define DISPID_THIS (-613)
133#define DISPID_STARTENUM DISPID_UNKNOWN
134#endif
135
136/*****************************************************************************
137 * IDispatchEx interface
138 */
139#ifndef __IDispatchEx_INTERFACE_DEFINED__
140#define __IDispatchEx_INTERFACE_DEFINED__
141
142DEFINE_GUID(IID_IDispatchEx, 0xa6ef9860, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
143#if defined(__cplusplus) && !defined(CINTERFACE)
144MIDL_INTERFACE("a6ef9860-c720-11d0-9337-00a0c90dcaa9")
145IDispatchEx : public IDispatch
146{
147    virtual HRESULT STDMETHODCALLTYPE GetDispID(
148        BSTR bstrName,
149        DWORD grfdex,
150        DISPID *pid) = 0;
151
152    virtual HRESULT STDMETHODCALLTYPE InvokeEx(
153        DISPID id,
154        LCID lcid,
155        WORD wFlags,
156        DISPPARAMS *pdp,
157        VARIANT *pvarRes,
158        EXCEPINFO *pei,
159        IServiceProvider *pspCaller) = 0;
160
161    virtual HRESULT STDMETHODCALLTYPE DeleteMemberByName(
162        BSTR bstrName,
163        DWORD grfdex) = 0;
164
165    virtual HRESULT STDMETHODCALLTYPE DeleteMemberByDispID(
166        DISPID id) = 0;
167
168    virtual HRESULT STDMETHODCALLTYPE GetMemberProperties(
169        DISPID id,
170        DWORD grfdexFetch,
171        DWORD *pgrfdex) = 0;
172
173    virtual HRESULT STDMETHODCALLTYPE GetMemberName(
174        DISPID id,
175        BSTR *pbstrName) = 0;
176
177    virtual HRESULT STDMETHODCALLTYPE GetNextDispID(
178        DWORD grfdex,
179        DISPID id,
180        DISPID *pid) = 0;
181
182    virtual HRESULT STDMETHODCALLTYPE GetNameSpaceParent(
183        IUnknown **ppunk) = 0;
184
185};
186#ifdef __CRT_UUID_DECL
187__CRT_UUID_DECL(IDispatchEx, 0xa6ef9860, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
188#endif
189#else
190typedef struct IDispatchExVtbl {
191    BEGIN_INTERFACE
192
193    /*** IUnknown methods ***/
194    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
195        IDispatchEx* This,
196        REFIID riid,
197        void **ppvObject);
198
199    ULONG (STDMETHODCALLTYPE *AddRef)(
200        IDispatchEx* This);
201
202    ULONG (STDMETHODCALLTYPE *Release)(
203        IDispatchEx* This);
204
205    /*** IDispatch methods ***/
206    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
207        IDispatchEx* This,
208        UINT *pctinfo);
209
210    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
211        IDispatchEx* This,
212        UINT iTInfo,
213        LCID lcid,
214        ITypeInfo **ppTInfo);
215
216    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
217        IDispatchEx* This,
218        REFIID riid,
219        LPOLESTR *rgszNames,
220        UINT cNames,
221        LCID lcid,
222        DISPID *rgDispId);
223
224    HRESULT (STDMETHODCALLTYPE *Invoke)(
225        IDispatchEx* This,
226        DISPID dispIdMember,
227        REFIID riid,
228        LCID lcid,
229        WORD wFlags,
230        DISPPARAMS *pDispParams,
231        VARIANT *pVarResult,
232        EXCEPINFO *pExcepInfo,
233        UINT *puArgErr);
234
235    /*** IDispatchEx methods ***/
236    HRESULT (STDMETHODCALLTYPE *GetDispID)(
237        IDispatchEx* This,
238        BSTR bstrName,
239        DWORD grfdex,
240        DISPID *pid);
241
242    HRESULT (STDMETHODCALLTYPE *InvokeEx)(
243        IDispatchEx* This,
244        DISPID id,
245        LCID lcid,
246        WORD wFlags,
247        DISPPARAMS *pdp,
248        VARIANT *pvarRes,
249        EXCEPINFO *pei,
250        IServiceProvider *pspCaller);
251
252    HRESULT (STDMETHODCALLTYPE *DeleteMemberByName)(
253        IDispatchEx* This,
254        BSTR bstrName,
255        DWORD grfdex);
256
257    HRESULT (STDMETHODCALLTYPE *DeleteMemberByDispID)(
258        IDispatchEx* This,
259        DISPID id);
260
261    HRESULT (STDMETHODCALLTYPE *GetMemberProperties)(
262        IDispatchEx* This,
263        DISPID id,
264        DWORD grfdexFetch,
265        DWORD *pgrfdex);
266
267    HRESULT (STDMETHODCALLTYPE *GetMemberName)(
268        IDispatchEx* This,
269        DISPID id,
270        BSTR *pbstrName);
271
272    HRESULT (STDMETHODCALLTYPE *GetNextDispID)(
273        IDispatchEx* This,
274        DWORD grfdex,
275        DISPID id,
276        DISPID *pid);
277
278    HRESULT (STDMETHODCALLTYPE *GetNameSpaceParent)(
279        IDispatchEx* This,
280        IUnknown **ppunk);
281
282    END_INTERFACE
283} IDispatchExVtbl;
284interface IDispatchEx {
285    CONST_VTBL IDispatchExVtbl* lpVtbl;
286};
287
288#ifdef COBJMACROS
289#ifndef WIDL_C_INLINE_WRAPPERS
290/*** IUnknown methods ***/
291#define IDispatchEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
292#define IDispatchEx_AddRef(This) (This)->lpVtbl->AddRef(This)
293#define IDispatchEx_Release(This) (This)->lpVtbl->Release(This)
294/*** IDispatch methods ***/
295#define IDispatchEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
296#define IDispatchEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
297#define IDispatchEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
298#define IDispatchEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
299/*** IDispatchEx methods ***/
300#define IDispatchEx_GetDispID(This,bstrName,grfdex,pid) (This)->lpVtbl->GetDispID(This,bstrName,grfdex,pid)
301#define IDispatchEx_InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller) (This)->lpVtbl->InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller)
302#define IDispatchEx_DeleteMemberByName(This,bstrName,grfdex) (This)->lpVtbl->DeleteMemberByName(This,bstrName,grfdex)
303#define IDispatchEx_DeleteMemberByDispID(This,id) (This)->lpVtbl->DeleteMemberByDispID(This,id)
304#define IDispatchEx_GetMemberProperties(This,id,grfdexFetch,pgrfdex) (This)->lpVtbl->GetMemberProperties(This,id,grfdexFetch,pgrfdex)
305#define IDispatchEx_GetMemberName(This,id,pbstrName) (This)->lpVtbl->GetMemberName(This,id,pbstrName)
306#define IDispatchEx_GetNextDispID(This,grfdex,id,pid) (This)->lpVtbl->GetNextDispID(This,grfdex,id,pid)
307#define IDispatchEx_GetNameSpaceParent(This,ppunk) (This)->lpVtbl->GetNameSpaceParent(This,ppunk)
308#else
309/*** IUnknown methods ***/
310static FORCEINLINE HRESULT IDispatchEx_QueryInterface(IDispatchEx* This,REFIID riid,void **ppvObject) {
311    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
312}
313static FORCEINLINE ULONG IDispatchEx_AddRef(IDispatchEx* This) {
314    return This->lpVtbl->AddRef(This);
315}
316static FORCEINLINE ULONG IDispatchEx_Release(IDispatchEx* This) {
317    return This->lpVtbl->Release(This);
318}
319/*** IDispatch methods ***/
320static FORCEINLINE HRESULT IDispatchEx_GetTypeInfoCount(IDispatchEx* This,UINT *pctinfo) {
321    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
322}
323static FORCEINLINE HRESULT IDispatchEx_GetTypeInfo(IDispatchEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
324    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
325}
326static FORCEINLINE HRESULT IDispatchEx_GetIDsOfNames(IDispatchEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
327    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
328}
329static FORCEINLINE HRESULT IDispatchEx_Invoke(IDispatchEx* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
330    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
331}
332/*** IDispatchEx methods ***/
333static FORCEINLINE HRESULT IDispatchEx_GetDispID(IDispatchEx* This,BSTR bstrName,DWORD grfdex,DISPID *pid) {
334    return This->lpVtbl->GetDispID(This,bstrName,grfdex,pid);
335}
336static FORCEINLINE HRESULT IDispatchEx_InvokeEx(IDispatchEx* This,DISPID id,LCID lcid,WORD wFlags,DISPPARAMS *pdp,VARIANT *pvarRes,EXCEPINFO *pei,IServiceProvider *pspCaller) {
337    return This->lpVtbl->InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller);
338}
339static FORCEINLINE HRESULT IDispatchEx_DeleteMemberByName(IDispatchEx* This,BSTR bstrName,DWORD grfdex) {
340    return This->lpVtbl->DeleteMemberByName(This,bstrName,grfdex);
341}
342static FORCEINLINE HRESULT IDispatchEx_DeleteMemberByDispID(IDispatchEx* This,DISPID id) {
343    return This->lpVtbl->DeleteMemberByDispID(This,id);
344}
345static FORCEINLINE HRESULT IDispatchEx_GetMemberProperties(IDispatchEx* This,DISPID id,DWORD grfdexFetch,DWORD *pgrfdex) {
346    return This->lpVtbl->GetMemberProperties(This,id,grfdexFetch,pgrfdex);
347}
348static FORCEINLINE HRESULT IDispatchEx_GetMemberName(IDispatchEx* This,DISPID id,BSTR *pbstrName) {
349    return This->lpVtbl->GetMemberName(This,id,pbstrName);
350}
351static FORCEINLINE HRESULT IDispatchEx_GetNextDispID(IDispatchEx* This,DWORD grfdex,DISPID id,DISPID *pid) {
352    return This->lpVtbl->GetNextDispID(This,grfdex,id,pid);
353}
354static FORCEINLINE HRESULT IDispatchEx_GetNameSpaceParent(IDispatchEx* This,IUnknown **ppunk) {
355    return This->lpVtbl->GetNameSpaceParent(This,ppunk);
356}
357#endif
358#endif
359
360#endif
361
362HRESULT STDMETHODCALLTYPE IDispatchEx_GetDispID_Proxy(
363    IDispatchEx* This,
364    BSTR bstrName,
365    DWORD grfdex,
366    DISPID *pid);
367void __RPC_STUB IDispatchEx_GetDispID_Stub(
368    IRpcStubBuffer* This,
369    IRpcChannelBuffer* pRpcChannelBuffer,
370    PRPC_MESSAGE pRpcMessage,
371    DWORD* pdwStubPhase);
372HRESULT STDMETHODCALLTYPE IDispatchEx_RemoteInvokeEx_Proxy(
373    IDispatchEx* This,
374    DISPID id,
375    LCID lcid,
376    DWORD dwFlags,
377    DISPPARAMS *pdp,
378    VARIANT *pvarRes,
379    EXCEPINFO *pei,
380    IServiceProvider *pspCaller,
381    UINT cvarRefArg,
382    UINT *rgiRefArg,
383    VARIANT *rgvarRefArg);
384void __RPC_STUB IDispatchEx_RemoteInvokeEx_Stub(
385    IRpcStubBuffer* This,
386    IRpcChannelBuffer* pRpcChannelBuffer,
387    PRPC_MESSAGE pRpcMessage,
388    DWORD* pdwStubPhase);
389HRESULT STDMETHODCALLTYPE IDispatchEx_DeleteMemberByName_Proxy(
390    IDispatchEx* This,
391    BSTR bstrName,
392    DWORD grfdex);
393void __RPC_STUB IDispatchEx_DeleteMemberByName_Stub(
394    IRpcStubBuffer* This,
395    IRpcChannelBuffer* pRpcChannelBuffer,
396    PRPC_MESSAGE pRpcMessage,
397    DWORD* pdwStubPhase);
398HRESULT STDMETHODCALLTYPE IDispatchEx_DeleteMemberByDispID_Proxy(
399    IDispatchEx* This,
400    DISPID id);
401void __RPC_STUB IDispatchEx_DeleteMemberByDispID_Stub(
402    IRpcStubBuffer* This,
403    IRpcChannelBuffer* pRpcChannelBuffer,
404    PRPC_MESSAGE pRpcMessage,
405    DWORD* pdwStubPhase);
406HRESULT STDMETHODCALLTYPE IDispatchEx_GetMemberProperties_Proxy(
407    IDispatchEx* This,
408    DISPID id,
409    DWORD grfdexFetch,
410    DWORD *pgrfdex);
411void __RPC_STUB IDispatchEx_GetMemberProperties_Stub(
412    IRpcStubBuffer* This,
413    IRpcChannelBuffer* pRpcChannelBuffer,
414    PRPC_MESSAGE pRpcMessage,
415    DWORD* pdwStubPhase);
416HRESULT STDMETHODCALLTYPE IDispatchEx_GetMemberName_Proxy(
417    IDispatchEx* This,
418    DISPID id,
419    BSTR *pbstrName);
420void __RPC_STUB IDispatchEx_GetMemberName_Stub(
421    IRpcStubBuffer* This,
422    IRpcChannelBuffer* pRpcChannelBuffer,
423    PRPC_MESSAGE pRpcMessage,
424    DWORD* pdwStubPhase);
425HRESULT STDMETHODCALLTYPE IDispatchEx_GetNextDispID_Proxy(
426    IDispatchEx* This,
427    DWORD grfdex,
428    DISPID id,
429    DISPID *pid);
430void __RPC_STUB IDispatchEx_GetNextDispID_Stub(
431    IRpcStubBuffer* This,
432    IRpcChannelBuffer* pRpcChannelBuffer,
433    PRPC_MESSAGE pRpcMessage,
434    DWORD* pdwStubPhase);
435HRESULT STDMETHODCALLTYPE IDispatchEx_GetNameSpaceParent_Proxy(
436    IDispatchEx* This,
437    IUnknown **ppunk);
438void __RPC_STUB IDispatchEx_GetNameSpaceParent_Stub(
439    IRpcStubBuffer* This,
440    IRpcChannelBuffer* pRpcChannelBuffer,
441    PRPC_MESSAGE pRpcMessage,
442    DWORD* pdwStubPhase);
443HRESULT CALLBACK IDispatchEx_InvokeEx_Proxy(
444    IDispatchEx* This,
445    DISPID id,
446    LCID lcid,
447    WORD wFlags,
448    DISPPARAMS *pdp,
449    VARIANT *pvarRes,
450    EXCEPINFO *pei,
451    IServiceProvider *pspCaller);
452HRESULT __RPC_STUB IDispatchEx_InvokeEx_Stub(
453    IDispatchEx* This,
454    DISPID id,
455    LCID lcid,
456    DWORD dwFlags,
457    DISPPARAMS *pdp,
458    VARIANT *pvarRes,
459    EXCEPINFO *pei,
460    IServiceProvider *pspCaller,
461    UINT cvarRefArg,
462    UINT *rgiRefArg,
463    VARIANT *rgvarRefArg);
464
465#endif  /* __IDispatchEx_INTERFACE_DEFINED__ */
466
467/*****************************************************************************
468 * IDispError interface
469 */
470#ifndef __IDispError_INTERFACE_DEFINED__
471#define __IDispError_INTERFACE_DEFINED__
472
473DEFINE_GUID(IID_IDispError, 0xa6ef9861, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
474#if defined(__cplusplus) && !defined(CINTERFACE)
475MIDL_INTERFACE("a6ef9861-c720-11d0-9337-00a0c90dcaa9")
476IDispError : public IUnknown
477{
478    virtual HRESULT STDMETHODCALLTYPE QueryErrorInfo(
479        GUID guidErrorType,
480        IDispError **ppde) = 0;
481
482    virtual HRESULT STDMETHODCALLTYPE GetNext(
483        IDispError **ppde) = 0;
484
485    virtual HRESULT STDMETHODCALLTYPE GetHresult(
486        HRESULT *phr) = 0;
487
488    virtual HRESULT STDMETHODCALLTYPE GetSource(
489        BSTR *pbstrSource) = 0;
490
491    virtual HRESULT STDMETHODCALLTYPE GetHelpInfo(
492        BSTR *pbstrFileName,
493        DWORD *pdwContext) = 0;
494
495    virtual HRESULT STDMETHODCALLTYPE GetDescription(
496        BSTR *pbstrDescription) = 0;
497
498};
499#ifdef __CRT_UUID_DECL
500__CRT_UUID_DECL(IDispError, 0xa6ef9861, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
501#endif
502#else
503typedef struct IDispErrorVtbl {
504    BEGIN_INTERFACE
505
506    /*** IUnknown methods ***/
507    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
508        IDispError* This,
509        REFIID riid,
510        void **ppvObject);
511
512    ULONG (STDMETHODCALLTYPE *AddRef)(
513        IDispError* This);
514
515    ULONG (STDMETHODCALLTYPE *Release)(
516        IDispError* This);
517
518    /*** IDispError methods ***/
519    HRESULT (STDMETHODCALLTYPE *QueryErrorInfo)(
520        IDispError* This,
521        GUID guidErrorType,
522        IDispError **ppde);
523
524    HRESULT (STDMETHODCALLTYPE *GetNext)(
525        IDispError* This,
526        IDispError **ppde);
527
528    HRESULT (STDMETHODCALLTYPE *GetHresult)(
529        IDispError* This,
530        HRESULT *phr);
531
532    HRESULT (STDMETHODCALLTYPE *GetSource)(
533        IDispError* This,
534        BSTR *pbstrSource);
535
536    HRESULT (STDMETHODCALLTYPE *GetHelpInfo)(
537        IDispError* This,
538        BSTR *pbstrFileName,
539        DWORD *pdwContext);
540
541    HRESULT (STDMETHODCALLTYPE *GetDescription)(
542        IDispError* This,
543        BSTR *pbstrDescription);
544
545    END_INTERFACE
546} IDispErrorVtbl;
547interface IDispError {
548    CONST_VTBL IDispErrorVtbl* lpVtbl;
549};
550
551#ifdef COBJMACROS
552#ifndef WIDL_C_INLINE_WRAPPERS
553/*** IUnknown methods ***/
554#define IDispError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
555#define IDispError_AddRef(This) (This)->lpVtbl->AddRef(This)
556#define IDispError_Release(This) (This)->lpVtbl->Release(This)
557/*** IDispError methods ***/
558#define IDispError_QueryErrorInfo(This,guidErrorType,ppde) (This)->lpVtbl->QueryErrorInfo(This,guidErrorType,ppde)
559#define IDispError_GetNext(This,ppde) (This)->lpVtbl->GetNext(This,ppde)
560#define IDispError_GetHresult(This,phr) (This)->lpVtbl->GetHresult(This,phr)
561#define IDispError_GetSource(This,pbstrSource) (This)->lpVtbl->GetSource(This,pbstrSource)
562#define IDispError_GetHelpInfo(This,pbstrFileName,pdwContext) (This)->lpVtbl->GetHelpInfo(This,pbstrFileName,pdwContext)
563#define IDispError_GetDescription(This,pbstrDescription) (This)->lpVtbl->GetDescription(This,pbstrDescription)
564#else
565/*** IUnknown methods ***/
566static FORCEINLINE HRESULT IDispError_QueryInterface(IDispError* This,REFIID riid,void **ppvObject) {
567    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
568}
569static FORCEINLINE ULONG IDispError_AddRef(IDispError* This) {
570    return This->lpVtbl->AddRef(This);
571}
572static FORCEINLINE ULONG IDispError_Release(IDispError* This) {
573    return This->lpVtbl->Release(This);
574}
575/*** IDispError methods ***/
576static FORCEINLINE HRESULT IDispError_QueryErrorInfo(IDispError* This,GUID guidErrorType,IDispError **ppde) {
577    return This->lpVtbl->QueryErrorInfo(This,guidErrorType,ppde);
578}
579static FORCEINLINE HRESULT IDispError_GetNext(IDispError* This,IDispError **ppde) {
580    return This->lpVtbl->GetNext(This,ppde);
581}
582static FORCEINLINE HRESULT IDispError_GetHresult(IDispError* This,HRESULT *phr) {
583    return This->lpVtbl->GetHresult(This,phr);
584}
585static FORCEINLINE HRESULT IDispError_GetSource(IDispError* This,BSTR *pbstrSource) {
586    return This->lpVtbl->GetSource(This,pbstrSource);
587}
588static FORCEINLINE HRESULT IDispError_GetHelpInfo(IDispError* This,BSTR *pbstrFileName,DWORD *pdwContext) {
589    return This->lpVtbl->GetHelpInfo(This,pbstrFileName,pdwContext);
590}
591static FORCEINLINE HRESULT IDispError_GetDescription(IDispError* This,BSTR *pbstrDescription) {
592    return This->lpVtbl->GetDescription(This,pbstrDescription);
593}
594#endif
595#endif
596
597#endif
598
599HRESULT STDMETHODCALLTYPE IDispError_QueryErrorInfo_Proxy(
600    IDispError* This,
601    GUID guidErrorType,
602    IDispError **ppde);
603void __RPC_STUB IDispError_QueryErrorInfo_Stub(
604    IRpcStubBuffer* This,
605    IRpcChannelBuffer* pRpcChannelBuffer,
606    PRPC_MESSAGE pRpcMessage,
607    DWORD* pdwStubPhase);
608HRESULT STDMETHODCALLTYPE IDispError_GetNext_Proxy(
609    IDispError* This,
610    IDispError **ppde);
611void __RPC_STUB IDispError_GetNext_Stub(
612    IRpcStubBuffer* This,
613    IRpcChannelBuffer* pRpcChannelBuffer,
614    PRPC_MESSAGE pRpcMessage,
615    DWORD* pdwStubPhase);
616HRESULT STDMETHODCALLTYPE IDispError_GetHresult_Proxy(
617    IDispError* This,
618    HRESULT *phr);
619void __RPC_STUB IDispError_GetHresult_Stub(
620    IRpcStubBuffer* This,
621    IRpcChannelBuffer* pRpcChannelBuffer,
622    PRPC_MESSAGE pRpcMessage,
623    DWORD* pdwStubPhase);
624HRESULT STDMETHODCALLTYPE IDispError_GetSource_Proxy(
625    IDispError* This,
626    BSTR *pbstrSource);
627void __RPC_STUB IDispError_GetSource_Stub(
628    IRpcStubBuffer* This,
629    IRpcChannelBuffer* pRpcChannelBuffer,
630    PRPC_MESSAGE pRpcMessage,
631    DWORD* pdwStubPhase);
632HRESULT STDMETHODCALLTYPE IDispError_GetHelpInfo_Proxy(
633    IDispError* This,
634    BSTR *pbstrFileName,
635    DWORD *pdwContext);
636void __RPC_STUB IDispError_GetHelpInfo_Stub(
637    IRpcStubBuffer* This,
638    IRpcChannelBuffer* pRpcChannelBuffer,
639    PRPC_MESSAGE pRpcMessage,
640    DWORD* pdwStubPhase);
641HRESULT STDMETHODCALLTYPE IDispError_GetDescription_Proxy(
642    IDispError* This,
643    BSTR *pbstrDescription);
644void __RPC_STUB IDispError_GetDescription_Stub(
645    IRpcStubBuffer* This,
646    IRpcChannelBuffer* pRpcChannelBuffer,
647    PRPC_MESSAGE pRpcMessage,
648    DWORD* pdwStubPhase);
649
650#endif  /* __IDispError_INTERFACE_DEFINED__ */
651
652/*****************************************************************************
653 * IVariantChangeType interface
654 */
655#ifndef __IVariantChangeType_INTERFACE_DEFINED__
656#define __IVariantChangeType_INTERFACE_DEFINED__
657
658DEFINE_GUID(IID_IVariantChangeType, 0xa6ef9862, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
659#if defined(__cplusplus) && !defined(CINTERFACE)
660MIDL_INTERFACE("a6ef9862-c720-11d0-9337-00a0c90dcaa9")
661IVariantChangeType : public IUnknown
662{
663    virtual HRESULT STDMETHODCALLTYPE ChangeType(
664        VARIANT *pvarDst,
665        VARIANT *pvarSrc,
666        LCID lcid,
667        VARTYPE vtNew) = 0;
668
669};
670#ifdef __CRT_UUID_DECL
671__CRT_UUID_DECL(IVariantChangeType, 0xa6ef9862, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
672#endif
673#else
674typedef struct IVariantChangeTypeVtbl {
675    BEGIN_INTERFACE
676
677    /*** IUnknown methods ***/
678    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
679        IVariantChangeType* This,
680        REFIID riid,
681        void **ppvObject);
682
683    ULONG (STDMETHODCALLTYPE *AddRef)(
684        IVariantChangeType* This);
685
686    ULONG (STDMETHODCALLTYPE *Release)(
687        IVariantChangeType* This);
688
689    /*** IVariantChangeType methods ***/
690    HRESULT (STDMETHODCALLTYPE *ChangeType)(
691        IVariantChangeType* This,
692        VARIANT *pvarDst,
693        VARIANT *pvarSrc,
694        LCID lcid,
695        VARTYPE vtNew);
696
697    END_INTERFACE
698} IVariantChangeTypeVtbl;
699interface IVariantChangeType {
700    CONST_VTBL IVariantChangeTypeVtbl* lpVtbl;
701};
702
703#ifdef COBJMACROS
704#ifndef WIDL_C_INLINE_WRAPPERS
705/*** IUnknown methods ***/
706#define IVariantChangeType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
707#define IVariantChangeType_AddRef(This) (This)->lpVtbl->AddRef(This)
708#define IVariantChangeType_Release(This) (This)->lpVtbl->Release(This)
709/*** IVariantChangeType methods ***/
710#define IVariantChangeType_ChangeType(This,pvarDst,pvarSrc,lcid,vtNew) (This)->lpVtbl->ChangeType(This,pvarDst,pvarSrc,lcid,vtNew)
711#else
712/*** IUnknown methods ***/
713static FORCEINLINE HRESULT IVariantChangeType_QueryInterface(IVariantChangeType* This,REFIID riid,void **ppvObject) {
714    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
715}
716static FORCEINLINE ULONG IVariantChangeType_AddRef(IVariantChangeType* This) {
717    return This->lpVtbl->AddRef(This);
718}
719static FORCEINLINE ULONG IVariantChangeType_Release(IVariantChangeType* This) {
720    return This->lpVtbl->Release(This);
721}
722/*** IVariantChangeType methods ***/
723static FORCEINLINE HRESULT IVariantChangeType_ChangeType(IVariantChangeType* This,VARIANT *pvarDst,VARIANT *pvarSrc,LCID lcid,VARTYPE vtNew) {
724    return This->lpVtbl->ChangeType(This,pvarDst,pvarSrc,lcid,vtNew);
725}
726#endif
727#endif
728
729#endif
730
731HRESULT STDMETHODCALLTYPE IVariantChangeType_ChangeType_Proxy(
732    IVariantChangeType* This,
733    VARIANT *pvarDst,
734    VARIANT *pvarSrc,
735    LCID lcid,
736    VARTYPE vtNew);
737void __RPC_STUB IVariantChangeType_ChangeType_Stub(
738    IRpcStubBuffer* This,
739    IRpcChannelBuffer* pRpcChannelBuffer,
740    PRPC_MESSAGE pRpcMessage,
741    DWORD* pdwStubPhase);
742
743#endif  /* __IVariantChangeType_INTERFACE_DEFINED__ */
744
745/*****************************************************************************
746 * IObjectIdentity interface
747 */
748#ifndef __IObjectIdentity_INTERFACE_DEFINED__
749#define __IObjectIdentity_INTERFACE_DEFINED__
750
751DEFINE_GUID(IID_IObjectIdentity, 0xca04b7e6, 0x0d21, 0x11d1, 0x8c,0xc5, 0x00,0xc0,0x4f,0xc2,0xb0,0x85);
752#if defined(__cplusplus) && !defined(CINTERFACE)
753MIDL_INTERFACE("ca04b7e6-0d21-11d1-8cc5-00c04fc2b085")
754IObjectIdentity : public IUnknown
755{
756    virtual HRESULT STDMETHODCALLTYPE IsEqualObject(
757        IUnknown *punk) = 0;
758
759};
760#ifdef __CRT_UUID_DECL
761__CRT_UUID_DECL(IObjectIdentity, 0xca04b7e6, 0x0d21, 0x11d1, 0x8c,0xc5, 0x00,0xc0,0x4f,0xc2,0xb0,0x85)
762#endif
763#else
764typedef struct IObjectIdentityVtbl {
765    BEGIN_INTERFACE
766
767    /*** IUnknown methods ***/
768    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
769        IObjectIdentity* This,
770        REFIID riid,
771        void **ppvObject);
772
773    ULONG (STDMETHODCALLTYPE *AddRef)(
774        IObjectIdentity* This);
775
776    ULONG (STDMETHODCALLTYPE *Release)(
777        IObjectIdentity* This);
778
779    /*** IObjectIdentity methods ***/
780    HRESULT (STDMETHODCALLTYPE *IsEqualObject)(
781        IObjectIdentity* This,
782        IUnknown *punk);
783
784    END_INTERFACE
785} IObjectIdentityVtbl;
786interface IObjectIdentity {
787    CONST_VTBL IObjectIdentityVtbl* lpVtbl;
788};
789
790#ifdef COBJMACROS
791#ifndef WIDL_C_INLINE_WRAPPERS
792/*** IUnknown methods ***/
793#define IObjectIdentity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
794#define IObjectIdentity_AddRef(This) (This)->lpVtbl->AddRef(This)
795#define IObjectIdentity_Release(This) (This)->lpVtbl->Release(This)
796/*** IObjectIdentity methods ***/
797#define IObjectIdentity_IsEqualObject(This,punk) (This)->lpVtbl->IsEqualObject(This,punk)
798#else
799/*** IUnknown methods ***/
800static FORCEINLINE HRESULT IObjectIdentity_QueryInterface(IObjectIdentity* This,REFIID riid,void **ppvObject) {
801    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
802}
803static FORCEINLINE ULONG IObjectIdentity_AddRef(IObjectIdentity* This) {
804    return This->lpVtbl->AddRef(This);
805}
806static FORCEINLINE ULONG IObjectIdentity_Release(IObjectIdentity* This) {
807    return This->lpVtbl->Release(This);
808}
809/*** IObjectIdentity methods ***/
810static FORCEINLINE HRESULT IObjectIdentity_IsEqualObject(IObjectIdentity* This,IUnknown *punk) {
811    return This->lpVtbl->IsEqualObject(This,punk);
812}
813#endif
814#endif
815
816#endif
817
818HRESULT STDMETHODCALLTYPE IObjectIdentity_IsEqualObject_Proxy(
819    IObjectIdentity* This,
820    IUnknown *punk);
821void __RPC_STUB IObjectIdentity_IsEqualObject_Stub(
822    IRpcStubBuffer* This,
823    IRpcChannelBuffer* pRpcChannelBuffer,
824    PRPC_MESSAGE pRpcMessage,
825    DWORD* pdwStubPhase);
826
827#endif  /* __IObjectIdentity_INTERFACE_DEFINED__ */
828
829/*****************************************************************************
830 * ICanHandleException interface
831 */
832#ifndef __ICanHandleException_INTERFACE_DEFINED__
833#define __ICanHandleException_INTERFACE_DEFINED__
834
835DEFINE_GUID(IID_ICanHandleException, 0xc5598e60, 0xb307, 0x11d1, 0xb2,0x7d, 0x00,0x60,0x08,0xc3,0xfb,0xfb);
836#if defined(__cplusplus) && !defined(CINTERFACE)
837MIDL_INTERFACE("c5598e60-b307-11d1-b27d-006008c3fbfb")
838ICanHandleException : public IUnknown
839{
840    virtual HRESULT STDMETHODCALLTYPE CanHandleException(
841        EXCEPINFO *pExcepInfo,
842        VARIANT *pvar) = 0;
843
844};
845#ifdef __CRT_UUID_DECL
846__CRT_UUID_DECL(ICanHandleException, 0xc5598e60, 0xb307, 0x11d1, 0xb2,0x7d, 0x00,0x60,0x08,0xc3,0xfb,0xfb)
847#endif
848#else
849typedef struct ICanHandleExceptionVtbl {
850    BEGIN_INTERFACE
851
852    /*** IUnknown methods ***/
853    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
854        ICanHandleException* This,
855        REFIID riid,
856        void **ppvObject);
857
858    ULONG (STDMETHODCALLTYPE *AddRef)(
859        ICanHandleException* This);
860
861    ULONG (STDMETHODCALLTYPE *Release)(
862        ICanHandleException* This);
863
864    /*** ICanHandleException methods ***/
865    HRESULT (STDMETHODCALLTYPE *CanHandleException)(
866        ICanHandleException* This,
867        EXCEPINFO *pExcepInfo,
868        VARIANT *pvar);
869
870    END_INTERFACE
871} ICanHandleExceptionVtbl;
872interface ICanHandleException {
873    CONST_VTBL ICanHandleExceptionVtbl* lpVtbl;
874};
875
876#ifdef COBJMACROS
877#ifndef WIDL_C_INLINE_WRAPPERS
878/*** IUnknown methods ***/
879#define ICanHandleException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
880#define ICanHandleException_AddRef(This) (This)->lpVtbl->AddRef(This)
881#define ICanHandleException_Release(This) (This)->lpVtbl->Release(This)
882/*** ICanHandleException methods ***/
883#define ICanHandleException_CanHandleException(This,pExcepInfo,pvar) (This)->lpVtbl->CanHandleException(This,pExcepInfo,pvar)
884#else
885/*** IUnknown methods ***/
886static FORCEINLINE HRESULT ICanHandleException_QueryInterface(ICanHandleException* This,REFIID riid,void **ppvObject) {
887    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
888}
889static FORCEINLINE ULONG ICanHandleException_AddRef(ICanHandleException* This) {
890    return This->lpVtbl->AddRef(This);
891}
892static FORCEINLINE ULONG ICanHandleException_Release(ICanHandleException* This) {
893    return This->lpVtbl->Release(This);
894}
895/*** ICanHandleException methods ***/
896static FORCEINLINE HRESULT ICanHandleException_CanHandleException(ICanHandleException* This,EXCEPINFO *pExcepInfo,VARIANT *pvar) {
897    return This->lpVtbl->CanHandleException(This,pExcepInfo,pvar);
898}
899#endif
900#endif
901
902#endif
903
904HRESULT STDMETHODCALLTYPE ICanHandleException_CanHandleException_Proxy(
905    ICanHandleException* This,
906    EXCEPINFO *pExcepInfo,
907    VARIANT *pvar);
908void __RPC_STUB ICanHandleException_CanHandleException_Stub(
909    IRpcStubBuffer* This,
910    IRpcChannelBuffer* pRpcChannelBuffer,
911    PRPC_MESSAGE pRpcMessage,
912    DWORD* pdwStubPhase);
913
914#endif  /* __ICanHandleException_INTERFACE_DEFINED__ */
915
916/*****************************************************************************
917 * IProvideRuntimeContext interface
918 */
919#ifndef __IProvideRuntimeContext_INTERFACE_DEFINED__
920#define __IProvideRuntimeContext_INTERFACE_DEFINED__
921
922DEFINE_GUID(IID_IProvideRuntimeContext, 0x10e2414a, 0xec59, 0x49d2, 0xbc,0x51, 0x5a,0xdd,0x2c,0x36,0xfe,0xbc);
923#if defined(__cplusplus) && !defined(CINTERFACE)
924MIDL_INTERFACE("10e2414a-ec59-49d2-bc51-5add2c36febc")
925IProvideRuntimeContext : public IUnknown
926{
927    virtual HRESULT STDMETHODCALLTYPE GetCurrentSourceContext(
928        DWORD_PTR *pdwContext,
929        VARIANT_BOOL *pfExecutingGlobalCode) = 0;
930
931};
932#ifdef __CRT_UUID_DECL
933__CRT_UUID_DECL(IProvideRuntimeContext, 0x10e2414a, 0xec59, 0x49d2, 0xbc,0x51, 0x5a,0xdd,0x2c,0x36,0xfe,0xbc)
934#endif
935#else
936typedef struct IProvideRuntimeContextVtbl {
937    BEGIN_INTERFACE
938
939    /*** IUnknown methods ***/
940    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
941        IProvideRuntimeContext* This,
942        REFIID riid,
943        void **ppvObject);
944
945    ULONG (STDMETHODCALLTYPE *AddRef)(
946        IProvideRuntimeContext* This);
947
948    ULONG (STDMETHODCALLTYPE *Release)(
949        IProvideRuntimeContext* This);
950
951    /*** IProvideRuntimeContext methods ***/
952    HRESULT (STDMETHODCALLTYPE *GetCurrentSourceContext)(
953        IProvideRuntimeContext* This,
954        DWORD_PTR *pdwContext,
955        VARIANT_BOOL *pfExecutingGlobalCode);
956
957    END_INTERFACE
958} IProvideRuntimeContextVtbl;
959interface IProvideRuntimeContext {
960    CONST_VTBL IProvideRuntimeContextVtbl* lpVtbl;
961};
962
963#ifdef COBJMACROS
964#ifndef WIDL_C_INLINE_WRAPPERS
965/*** IUnknown methods ***/
966#define IProvideRuntimeContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
967#define IProvideRuntimeContext_AddRef(This) (This)->lpVtbl->AddRef(This)
968#define IProvideRuntimeContext_Release(This) (This)->lpVtbl->Release(This)
969/*** IProvideRuntimeContext methods ***/
970#define IProvideRuntimeContext_GetCurrentSourceContext(This,pdwContext,pfExecutingGlobalCode) (This)->lpVtbl->GetCurrentSourceContext(This,pdwContext,pfExecutingGlobalCode)
971#else
972/*** IUnknown methods ***/
973static FORCEINLINE HRESULT IProvideRuntimeContext_QueryInterface(IProvideRuntimeContext* This,REFIID riid,void **ppvObject) {
974    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
975}
976static FORCEINLINE ULONG IProvideRuntimeContext_AddRef(IProvideRuntimeContext* This) {
977    return This->lpVtbl->AddRef(This);
978}
979static FORCEINLINE ULONG IProvideRuntimeContext_Release(IProvideRuntimeContext* This) {
980    return This->lpVtbl->Release(This);
981}
982/*** IProvideRuntimeContext methods ***/
983static FORCEINLINE HRESULT IProvideRuntimeContext_GetCurrentSourceContext(IProvideRuntimeContext* This,DWORD_PTR *pdwContext,VARIANT_BOOL *pfExecutingGlobalCode) {
984    return This->lpVtbl->GetCurrentSourceContext(This,pdwContext,pfExecutingGlobalCode);
985}
986#endif
987#endif
988
989#endif
990
991HRESULT STDMETHODCALLTYPE IProvideRuntimeContext_GetCurrentSourceContext_Proxy(
992    IProvideRuntimeContext* This,
993    DWORD_PTR *pdwContext,
994    VARIANT_BOOL *pfExecutingGlobalCode);
995void __RPC_STUB IProvideRuntimeContext_GetCurrentSourceContext_Stub(
996    IRpcStubBuffer* This,
997    IRpcChannelBuffer* pRpcChannelBuffer,
998    PRPC_MESSAGE pRpcMessage,
999    DWORD* pdwStubPhase);
1000
1001#endif  /* __IProvideRuntimeContext_INTERFACE_DEFINED__ */
1002
1003#endif
1004#endif
1005/* Begin additional prototypes for all interfaces */
1006
1007ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
1008unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
1009unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1010void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
1011ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
1012unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
1013unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
1014void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
1015
1016/* End additional prototypes */
1017
1018#ifdef __cplusplus
1019}
1020#endif
1021
1022#endif /* __dispex_h__ */
1023