Sanity check when closing service handle.
[wine.git] / include / dispex.h
blob3b46ba05d192b49bec7c007b2262f5a0510f4087
1 /*** Autogenerated by WIDL 0.1 from dispex.idl - Do not edit ***/
2 #include <rpc.h>
3 #include <rpcndr.h>
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
54 /*****************************************************************************
55 * IDispatchEx interface
57 #ifndef __IDispatchEx_INTERFACE_DEFINED__
58 #define __IDispatchEx_INTERFACE_DEFINED__
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
64 virtual HRESULT STDMETHODCALLTYPE GetDispID(
65 BSTR bstrName,
66 DWORD grfdex,
67 DISPID* pid) = 0;
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;
78 virtual HRESULT STDMETHODCALLTYPE DeleteMemberByName(
79 BSTR bstrName,
80 DWORD grfdex) = 0;
82 virtual HRESULT STDMETHODCALLTYPE DeleteMemberByDispID(
83 DISPID id) = 0;
85 virtual HRESULT STDMETHODCALLTYPE GetMemberProperties(
86 DISPID id,
87 DWORD grfdexFetch,
88 DWORD* pgrfdex) = 0;
90 virtual HRESULT STDMETHODCALLTYPE GetMemberName(
91 DISPID id,
92 BSTR* pbstrName) = 0;
94 virtual HRESULT STDMETHODCALLTYPE GetNextDispID(
95 DWORD grfdex,
96 DISPID id,
97 DISPID* pid) = 0;
99 virtual HRESULT STDMETHODCALLTYPE GetNameSpaceParent(
100 IUnknown** ppunk) = 0;
103 #else
104 typedef struct IDispatchExVtbl IDispatchExVtbl;
105 struct IDispatchEx {
106 const IDispatchExVtbl* lpVtbl;
108 struct IDispatchExVtbl {
109 BEGIN_INTERFACE
111 /*** IUnknown methods ***/
112 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
113 IDispatchEx* This,
114 REFIID riid,
115 void** ppvObject);
117 ULONG (STDMETHODCALLTYPE *AddRef)(
118 IDispatchEx* This);
120 ULONG (STDMETHODCALLTYPE *Release)(
121 IDispatchEx* This);
123 /*** IDispatch methods ***/
124 HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
125 IDispatchEx* This,
126 UINT* pctinfo);
128 HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
129 IDispatchEx* This,
130 UINT iTInfo,
131 LCID lcid,
132 ITypeInfo** ppTInfo);
134 HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
135 IDispatchEx* This,
136 REFIID riid,
137 LPOLESTR* rgszNames,
138 UINT cNames,
139 LCID lcid,
140 DISPID* rgDispId);
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);
153 /*** IDispatchEx methods ***/
154 HRESULT (STDMETHODCALLTYPE *GetDispID)(
155 IDispatchEx* This,
156 BSTR bstrName,
157 DWORD grfdex,
158 DISPID* pid);
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);
170 HRESULT (STDMETHODCALLTYPE *DeleteMemberByName)(
171 IDispatchEx* This,
172 BSTR bstrName,
173 DWORD grfdex);
175 HRESULT (STDMETHODCALLTYPE *DeleteMemberByDispID)(
176 IDispatchEx* This,
177 DISPID id);
179 HRESULT (STDMETHODCALLTYPE *GetMemberProperties)(
180 IDispatchEx* This,
181 DISPID id,
182 DWORD grfdexFetch,
183 DWORD* pgrfdex);
185 HRESULT (STDMETHODCALLTYPE *GetMemberName)(
186 IDispatchEx* This,
187 DISPID id,
188 BSTR* pbstrName);
190 HRESULT (STDMETHODCALLTYPE *GetNextDispID)(
191 IDispatchEx* This,
192 DWORD grfdex,
193 DISPID id,
194 DISPID* pid);
196 HRESULT (STDMETHODCALLTYPE *GetNameSpaceParent)(
197 IDispatchEx* This,
198 IUnknown** ppunk);
200 END_INTERFACE
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
224 #endif
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;
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);
349 #endif /* __IDispatchEx_INTERFACE_DEFINED__ */
351 #ifndef __IDispError_FWD_DEFINED__
352 #define __IDispError_FWD_DEFINED__
353 typedef struct IDispError IDispError;
354 #endif
356 /*****************************************************************************
357 * IDispError interface
359 #ifndef __IDispError_INTERFACE_DEFINED__
360 #define __IDispError_INTERFACE_DEFINED__
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
366 virtual HRESULT STDMETHODCALLTYPE QueryErrorInfo(
367 GUID guidErrorType,
368 IDispError** ppde) = 0;
370 virtual HRESULT STDMETHODCALLTYPE GetNext(
371 IDispError** ppde) = 0;
373 virtual HRESULT STDMETHODCALLTYPE GetHresult(
374 HRESULT* phr) = 0;
376 virtual HRESULT STDMETHODCALLTYPE GetSource(
377 BSTR* pbstrSource) = 0;
379 virtual HRESULT STDMETHODCALLTYPE GetHelpInfo(
380 BSTR* pbstrFileName,
381 DWORD* pdwContext) = 0;
383 virtual HRESULT STDMETHODCALLTYPE GetDescription(
384 BSTR* pbstrDescription) = 0;
387 #else
388 typedef struct IDispErrorVtbl IDispErrorVtbl;
389 struct IDispError {
390 const IDispErrorVtbl* lpVtbl;
392 struct IDispErrorVtbl {
393 BEGIN_INTERFACE
395 /*** IUnknown methods ***/
396 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
397 IDispError* This,
398 REFIID riid,
399 void** ppvObject);
401 ULONG (STDMETHODCALLTYPE *AddRef)(
402 IDispError* This);
404 ULONG (STDMETHODCALLTYPE *Release)(
405 IDispError* This);
407 /*** IDispError methods ***/
408 HRESULT (STDMETHODCALLTYPE *QueryErrorInfo)(
409 IDispError* This,
410 GUID guidErrorType,
411 IDispError** ppde);
413 HRESULT (STDMETHODCALLTYPE *GetNext)(
414 IDispError* This,
415 IDispError** ppde);
417 HRESULT (STDMETHODCALLTYPE *GetHresult)(
418 IDispError* This,
419 HRESULT* phr);
421 HRESULT (STDMETHODCALLTYPE *GetSource)(
422 IDispError* This,
423 BSTR* pbstrSource);
425 HRESULT (STDMETHODCALLTYPE *GetHelpInfo)(
426 IDispError* This,
427 BSTR* pbstrFileName,
428 DWORD* pdwContext);
430 HRESULT (STDMETHODCALLTYPE *GetDescription)(
431 IDispError* This,
432 BSTR* pbstrDescription);
434 END_INTERFACE
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
451 #endif
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;
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);
517 #endif /* __IDispError_INTERFACE_DEFINED__ */
519 #ifndef __IVariantChangeType_FWD_DEFINED__
520 #define __IVariantChangeType_FWD_DEFINED__
521 typedef struct IVariantChangeType IVariantChangeType;
522 #endif
524 /*****************************************************************************
525 * IVariantChangeType interface
527 #ifndef __IVariantChangeType_INTERFACE_DEFINED__
528 #define __IVariantChangeType_INTERFACE_DEFINED__
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
534 virtual HRESULT STDMETHODCALLTYPE ChangeType(
535 VARIANT* pvarDst,
536 VARIANT* pvarSrc,
537 LCID lcid,
538 VARTYPE vtNew) = 0;
541 #else
542 typedef struct IVariantChangeTypeVtbl IVariantChangeTypeVtbl;
543 struct IVariantChangeType {
544 const IVariantChangeTypeVtbl* lpVtbl;
546 struct IVariantChangeTypeVtbl {
547 BEGIN_INTERFACE
549 /*** IUnknown methods ***/
550 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
551 IVariantChangeType* This,
552 REFIID riid,
553 void** ppvObject);
555 ULONG (STDMETHODCALLTYPE *AddRef)(
556 IVariantChangeType* This);
558 ULONG (STDMETHODCALLTYPE *Release)(
559 IVariantChangeType* This);
561 /*** IVariantChangeType methods ***/
562 HRESULT (STDMETHODCALLTYPE *ChangeType)(
563 IVariantChangeType* This,
564 VARIANT* pvarDst,
565 VARIANT* pvarSrc,
566 LCID lcid,
567 VARTYPE vtNew);
569 END_INTERFACE
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
581 #endif
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;
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);
603 #endif /* __IVariantChangeType_INTERFACE_DEFINED__ */
605 #ifndef __IObjectIdentity_FWD_DEFINED__
606 #define __IObjectIdentity_FWD_DEFINED__
607 typedef struct IObjectIdentity IObjectIdentity;
608 #endif
610 /*****************************************************************************
611 * IObjectIdentity interface
613 #ifndef __IObjectIdentity_INTERFACE_DEFINED__
614 #define __IObjectIdentity_INTERFACE_DEFINED__
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
620 virtual HRESULT STDMETHODCALLTYPE IsEqualObject(
621 IUnknown* punk) = 0;
624 #else
625 typedef struct IObjectIdentityVtbl IObjectIdentityVtbl;
626 struct IObjectIdentity {
627 const IObjectIdentityVtbl* lpVtbl;
629 struct IObjectIdentityVtbl {
630 BEGIN_INTERFACE
632 /*** IUnknown methods ***/
633 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
634 IObjectIdentity* This,
635 REFIID riid,
636 void** ppvObject);
638 ULONG (STDMETHODCALLTYPE *AddRef)(
639 IObjectIdentity* This);
641 ULONG (STDMETHODCALLTYPE *Release)(
642 IObjectIdentity* This);
644 /*** IObjectIdentity methods ***/
645 HRESULT (STDMETHODCALLTYPE *IsEqualObject)(
646 IObjectIdentity* This,
647 IUnknown* punk);
649 END_INTERFACE
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
661 #endif
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;
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);
680 #endif /* __IObjectIdentity_INTERFACE_DEFINED__ */
682 #ifdef __cplusplus
684 #endif
685 #endif /* __WIDL_DISPEX_H */