2 * InvokerClient interface defns for use with gcc.
4 * Note: These declarations mirror those of the InvokeBridge
18 #define STDCALL __stdcall
21 extern const CLSID CLSID_InvokeBridge;
22 extern const IID IID_IUnknown;
23 extern const IID IID_NULL;
24 extern const IID IID_InvokeBridge;
26 #ifdef WANT_UUID_DECLS
27 const CLSID CLSID_InvokeBridge = { 0x39D497D9,0x60E0,0x3525,{0xB7,0xF2,0x7B,0xC0,0x96,0xD3,0xA2,0xA3}};
28 //const IID IID_NULL = {0x00000000L, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
29 //const IID IID_IUnknown = {0x00000000L, 0x0000, 0x0000, {0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
30 const IID IID_InvokeBridge = { 0xAFF5FFCA, 0xC5C2, 0x3D5B, {0xAF, 0xD5, 0xED, 0x8E, 0x4B, 0x38, 0xDB, 0x7B}};
31 //0x3A85D703, 0xFAE4,0x3C5E, {0x9F,0x7E,0x20,0x98,0x31,0xCD,0x61,0x7A}};
34 #ifndef __InvokeBridge_INTERFACE_DEFINED__
35 #define __InvokeBridge_INTERFACE_DEFINED__
37 #define INTERFACE InvokeBridge
38 DECLARE_INTERFACE(InvokeBridge)
40 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
41 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
42 STDMETHOD_(ULONG,Release)(THIS) PURE;
43 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
44 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
45 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
46 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
48 STDMETHOD(ToString)(THIS_ BSTR*) PURE;
49 STDMETHOD(Equals)(THIS_ BSTR*) PURE;
50 STDMETHOD(GetHashCode)(THIS_ long*) PURE;
51 STDMETHOD(GetType)(THIS_ IUnknown**);
52 STDMETHOD(CreateObject)(THIS_ BSTR,BSTR,SAFEARRAY*, VARIANT*) PURE;
53 STDMETHOD(InvokeMethod)(THIS_ VARIANT,BSTR,SAFEARRAY*,VARIANT*) PURE;
54 STDMETHOD(InvokeStaticMethod)(THIS_ BSTR,BSTR,SAFEARRAY*,VARIANT*) PURE;
56 HRESULT ( STDCALL *GetField )(
58 /* [in] */ VARIANT obj,
59 /* [in] */ BSTR fieldSpec,
60 /* [retval][out] */ VARIANT *pRetVal);
62 HRESULT ( STDCALL *GetStaticField )(
64 /* [in] */ BSTR clsName,
65 /* [in] */ BSTR fieldSpec,
66 /* [retval][out] */ VARIANT *pRetVal);
68 HRESULT ( STDCALL *SetField )(
70 /* [in] */ VARIANT obj,
71 /* [in] */ BSTR fieldSpec,
72 /* [in] */ VARIANT val);
74 HRESULT ( STDCALL *SetStaticField )(
76 /* [in] */ BSTR clsName,
77 /* [in] */ BSTR fieldSpec,
78 /* [in] */ VARIANT val);
80 HRESULT ( STDCALL *NewString )(
83 /* [retval][out] */VARIANT* pRetVal);
85 HRESULT ( STDCALL *NewArgArray )(
88 /* [retval][out] */IUnknown **pRetVal);
90 HRESULT ( STDCALL *SetArg )(
92 /* [in] */ SAFEARRAY * arr,
93 /* [in] */ VARIANT val,
96 HRESULT ( STDCALL *GetArg )(
98 /* [in] */ SAFEARRAY * arr,
100 /* [retval][out] */ VARIANT *pRetVal);
102 HRESULT ( STDCALL *GetType_2 )(
104 /* [in] */ BSTR typeName,
105 /* [retval][out] */ IUnknown **pRetVal);
109 #define InvokeBridge_QueryInterface(This,riid,ppvObject) \
110 (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
112 #define InvokeBridge_AddRef(This) \
113 (This)->lpVtbl->AddRef(This)
115 #define InvokeBridge_Release(This) \
116 (This)->lpVtbl->Release(This)
118 #define InvokeBridge_GetTypeInfoCount(This,pctinfo) \
119 (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
121 #define InvokeBridge_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
122 (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
124 #define InvokeBridge_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
125 (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
127 #define InvokeBridge_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
128 (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
130 #define InvokeBridge_get_ToString(This,pRetVal) \
131 (This)->lpVtbl->get_ToString(This,pRetVal)
133 #define InvokeBridge_Equals(This,obj,pRetVal) \
134 (This)->lpVtbl->Equals(This,obj,pRetVal)
136 #define InvokeBridge_GetHashCode(This,pRetVal) \
137 (This)->lpVtbl->GetHashCode(This,pRetVal)
139 #define InvokeBridge_GetType(This,pRetVal) \
140 (This)->lpVtbl->GetType(This,pRetVal)
142 #define InvokeBridge_CreateObject(This,assemName,objSpec,args,pRetVal) \
143 (This)->lpVtbl->CreateObject(This,assemName,objSpec,args,pRetVal)
145 #define InvokeBridge_InvokeMethod(This,obj,methSpec,args,pRetVal) \
146 (This)->lpVtbl->InvokeMethod(This,obj,methSpec,args,pRetVal)
148 #define InvokeBridge_InvokeStaticMethod(This,assemName,methSpec,args,pRetVal) \
149 (This)->lpVtbl->InvokeStaticMethod(This,assemName,methSpec,args,pRetVal)
151 #define InvokeBridge_GetField(This,obj,fieldSpec,pRetVal) \
152 (This)->lpVtbl->GetField(This,obj,fieldSpec,pRetVal)
154 #define InvokeBridge_GetStaticField(This,clsName,fieldSpec,pRetVal) \
155 (This)->lpVtbl->GetStaticField(This,clsName,fieldSpec,pRetVal)
157 #define InvokeBridge_SetField(This,obj,fieldSpec,val) \
158 (This)->lpVtbl->SetField(This,obj,fieldSpec,val)
160 #define InvokeBridge_SetStaticField(This,clsName,fieldSpec,val) \
161 (This)->lpVtbl->SetStaticField(This,clsName,fieldSpec,val)
163 #define InvokeBridge_NewString(This,s,pRetVal) \
164 (This)->lpVtbl->NewString(This,s,pRetVal)
166 #define InvokeBridge_NewArgArray(This,sz,pRetVal) \
167 (This)->lpVtbl->NewArgArray(This,sz,pRetVal)
169 #define InvokeBridge_SetArg(This,arr,val,idx) \
170 (This)->lpVtbl->SetArg(This,arr,val,idx)
172 #define InvokeBridge_GetArg(This,arr,idx,pRetVal) \
173 (This)->lpVtbl->GetArg(This,arr,idx,pRetVal)
175 #define InvokeBridge_GetType_2(This,typeName,pRetVal) \
176 (This)->lpVtbl->GetType_2(This,typeName,pRetVal)