DispEx.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:28k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for dispex.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __dispex_h__
  27. #define __dispex_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IDispatchEx_FWD_DEFINED__
  33. #define __IDispatchEx_FWD_DEFINED__
  34. typedef interface IDispatchEx IDispatchEx;
  35. #endif  /* __IDispatchEx_FWD_DEFINED__ */
  36. #ifndef __IDispError_FWD_DEFINED__
  37. #define __IDispError_FWD_DEFINED__
  38. typedef interface IDispError IDispError;
  39. #endif  /* __IDispError_FWD_DEFINED__ */
  40. #ifndef __IVariantChangeType_FWD_DEFINED__
  41. #define __IVariantChangeType_FWD_DEFINED__
  42. typedef interface IVariantChangeType IVariantChangeType;
  43. #endif  /* __IVariantChangeType_FWD_DEFINED__ */
  44. #ifndef __IObjectIdentity_FWD_DEFINED__
  45. #define __IObjectIdentity_FWD_DEFINED__
  46. typedef interface IObjectIdentity IObjectIdentity;
  47. #endif  /* __IObjectIdentity_FWD_DEFINED__ */
  48. /* header files for imported files */
  49. #include "ocidl.h"
  50. #ifdef __cplusplus
  51. extern "C"{
  52. #endif 
  53. void * __RPC_USER MIDL_user_allocate(size_t);
  54. void __RPC_USER MIDL_user_free( void * ); 
  55. /* interface __MIDL_itf_dispex_0000 */
  56. /* [local] */ 
  57. //=--------------------------------------------------------------------------=
  58. // DispEx.h
  59. //=--------------------------------------------------------------------------=
  60. // (C) Copyright 1997 Microsoft Corporation.  All Rights Reserved.
  61. //
  62. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  63. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  64. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  65. // PARTICULAR PURPOSE.
  66. //=--------------------------------------------------------------------------=
  67. #pragma comment(lib,"uuid.lib")
  68. //---------------------------------------------------------------------------=
  69. // IDispatchEx Interfaces.
  70. //
  71. #ifndef DISPEX_H_
  72. #define DISPEX_H_
  73. #include "servprov.h"
  74. #ifndef _NO_DISPATCHEX_GUIDS
  75. // {A6EF9860-C720-11d0-9337-00A0C90DCAA9}
  76. DEFINE_GUID(IID_IDispatchEx, 0xa6ef9860, 0xc720, 0x11d0, 0x93, 0x37, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);
  77. // {A6EF9861-C720-11d0-9337-00A0C90DCAA9}
  78. DEFINE_GUID(IID_IDispError, 0xa6ef9861, 0xc720, 0x11d0, 0x93, 0x37, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);
  79. // {A6EF9862-C720-11d0-9337-00A0C90DCAA9}
  80. DEFINE_GUID(IID_IVariantChangeType, 0xa6ef9862, 0xc720, 0x11d0, 0x93, 0x37, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);
  81. // {1F101481-BCCD-11d0-9336-00A0C90DCAA9}
  82. DEFINE_GUID(SID_VariantConversion, 0x1f101481, 0xbccd, 0x11d0, 0x93, 0x36, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);
  83. // {4717CC40-BCB9-11d0-9336-00A0C90DCAA9}
  84. DEFINE_GUID(SID_GetCaller, 0x4717cc40, 0xbcb9, 0x11d0, 0x93, 0x36, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);
  85. // {CA04B7E6-0D21-11d1-8CC5-00C04FC2B085}
  86. DEFINE_GUID(IID_IObjectIdentity, 0xca04b7e6, 0xd21, 0x11d1, 0x8c, 0xc5, 0x0, 0xc0, 0x4f, 0xc2, 0xb0, 0x85);
  87. #define SID_GetScriptSite IID_IActiveScriptSite
  88. #endif // _NO_DISPATCHEX_GUIDS
  89. #ifndef _NO_DISPATCHEX_CONSTS
  90. // Input flags for GetDispID
  91. #define fdexNameCaseSensitive       0x00000001L
  92. #define fdexNameEnsure              0x00000002L
  93. #define fdexNameImplicit            0x00000004L
  94. #define fdexNameCaseInsensitive     0x00000008L
  95. #define fdexNameInternal            0x00000010L
  96. #define fdexNameNoDynamicProperties 0x00000020L
  97. // Output flags for GetMemberProperties
  98. #define fdexPropCanGet              0x00000001L
  99. #define fdexPropCannotGet           0x00000002L
  100. #define fdexPropCanPut              0x00000004L
  101. #define fdexPropCannotPut           0x00000008L
  102. #define fdexPropCanPutRef           0x00000010L
  103. #define fdexPropCannotPutRef        0x00000020L
  104. #define fdexPropNoSideEffects       0x00000040L
  105. #define fdexPropDynamicType         0x00000080L
  106. #define fdexPropCanCall             0x00000100L
  107. #define fdexPropCannotCall          0x00000200L
  108. #define fdexPropCanConstruct        0x00000400L
  109. #define fdexPropCannotConstruct     0x00000800L
  110. #define fdexPropCanSourceEvents     0x00001000L
  111. #define fdexPropCannotSourceEvents  0x00002000L
  112. #define grfdexPropCanAll 
  113.        (fdexPropCanGet | fdexPropCanPut | fdexPropCanPutRef | 
  114.         fdexPropCanCall | fdexPropCanConstruct | fdexPropCanSourceEvents)
  115. #define grfdexPropCannotAll 
  116.        (fdexPropCannotGet | fdexPropCannotPut | fdexPropCannotPutRef | 
  117.         fdexPropCannotCall | fdexPropCannotConstruct | fdexPropCannotSourceEvents)
  118. #define grfdexPropExtraAll 
  119.        (fdexPropNoSideEffects | fdexPropDynamicType)
  120. #define grfdexPropAll 
  121.        (grfdexPropCanAll | grfdexPropCannotAll | grfdexPropExtraAll)
  122. // Input flags for GetNextDispID
  123. #define fdexEnumDefault             0x00000001L
  124. #define fdexEnumAll                 0x00000002L
  125. // Additional flags for Invoke - when object member is
  126. // used as a constructor.
  127. #define DISPATCH_CONSTRUCT 0x4000
  128. // Standard DISPIDs
  129. #define DISPID_THIS (-613)
  130. #define DISPID_STARTENUM DISPID_UNKNOWN
  131. #endif //_NO_DISPATCHEX_CONSTS
  132. extern RPC_IF_HANDLE __MIDL_itf_dispex_0000_v0_0_c_ifspec;
  133. extern RPC_IF_HANDLE __MIDL_itf_dispex_0000_v0_0_s_ifspec;
  134. #ifndef __IDispatchEx_INTERFACE_DEFINED__
  135. #define __IDispatchEx_INTERFACE_DEFINED__
  136. /* interface IDispatchEx */
  137. /* [unique][uuid][object] */ 
  138. EXTERN_C const IID IID_IDispatchEx;
  139. #if defined(__cplusplus) && !defined(CINTERFACE)
  140.     
  141.     MIDL_INTERFACE("A6EF9860-C720-11d0-9337-00A0C90DCAA9")
  142.     IDispatchEx : public IDispatch
  143.     {
  144.     public:
  145.         virtual HRESULT STDMETHODCALLTYPE GetDispID( 
  146.             /* [in] */ BSTR bstrName,
  147.             /* [in] */ DWORD grfdex,
  148.             /* [out] */ DISPID *pid) = 0;
  149.         
  150.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE InvokeEx( 
  151.             /* [in] */ DISPID id,
  152.             /* [in] */ LCID lcid,
  153.             /* [in] */ WORD wFlags,
  154.             /* [in] */ DISPPARAMS *pdp,
  155.             /* [out] */ VARIANT *pvarRes,
  156.             /* [out] */ EXCEPINFO *pei,
  157.             /* [unique][in] */ IServiceProvider *pspCaller) = 0;
  158.         
  159.         virtual HRESULT STDMETHODCALLTYPE DeleteMemberByName( 
  160.             /* [in] */ BSTR bstrName,
  161.             /* [in] */ DWORD grfdex) = 0;
  162.         
  163.         virtual HRESULT STDMETHODCALLTYPE DeleteMemberByDispID( 
  164.             /* [in] */ DISPID id) = 0;
  165.         
  166.         virtual HRESULT STDMETHODCALLTYPE GetMemberProperties( 
  167.             /* [in] */ DISPID id,
  168.             /* [in] */ DWORD grfdexFetch,
  169.             /* [out] */ DWORD *pgrfdex) = 0;
  170.         
  171.         virtual HRESULT STDMETHODCALLTYPE GetMemberName( 
  172.             /* [in] */ DISPID id,
  173.             /* [out] */ BSTR *pbstrName) = 0;
  174.         
  175.         virtual HRESULT STDMETHODCALLTYPE GetNextDispID( 
  176.             /* [in] */ DWORD grfdex,
  177.             /* [in] */ DISPID id,
  178.             /* [out] */ DISPID *pid) = 0;
  179.         
  180.         virtual HRESULT STDMETHODCALLTYPE GetNameSpaceParent( 
  181.             /* [out] */ IUnknown **ppunk) = 0;
  182.         
  183.     };
  184.     
  185. #else  /* C style interface */
  186.     typedef struct IDispatchExVtbl
  187.     {
  188.         BEGIN_INTERFACE
  189.         
  190.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  191.             IDispatchEx * This,
  192.             /* [in] */ REFIID riid,
  193.             /* [iid_is][out] */ void **ppvObject);
  194.         
  195.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  196.             IDispatchEx * This);
  197.         
  198.         ULONG ( STDMETHODCALLTYPE *Release )( 
  199.             IDispatchEx * This);
  200.         
  201.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  202.             IDispatchEx * This,
  203.             /* [out] */ UINT *pctinfo);
  204.         
  205.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  206.             IDispatchEx * This,
  207.             /* [in] */ UINT iTInfo,
  208.             /* [in] */ LCID lcid,
  209.             /* [out] */ ITypeInfo **ppTInfo);
  210.         
  211.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  212.             IDispatchEx * This,
  213.             /* [in] */ REFIID riid,
  214.             /* [size_is][in] */ LPOLESTR *rgszNames,
  215.             /* [in] */ UINT cNames,
  216.             /* [in] */ LCID lcid,
  217.             /* [size_is][out] */ DISPID *rgDispId);
  218.         
  219.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  220.             IDispatchEx * This,
  221.             /* [in] */ DISPID dispIdMember,
  222.             /* [in] */ REFIID riid,
  223.             /* [in] */ LCID lcid,
  224.             /* [in] */ WORD wFlags,
  225.             /* [out][in] */ DISPPARAMS *pDispParams,
  226.             /* [out] */ VARIANT *pVarResult,
  227.             /* [out] */ EXCEPINFO *pExcepInfo,
  228.             /* [out] */ UINT *puArgErr);
  229.         
  230.         HRESULT ( STDMETHODCALLTYPE *GetDispID )( 
  231.             IDispatchEx * This,
  232.             /* [in] */ BSTR bstrName,
  233.             /* [in] */ DWORD grfdex,
  234.             /* [out] */ DISPID *pid);
  235.         
  236.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *InvokeEx )( 
  237.             IDispatchEx * This,
  238.             /* [in] */ DISPID id,
  239.             /* [in] */ LCID lcid,
  240.             /* [in] */ WORD wFlags,
  241.             /* [in] */ DISPPARAMS *pdp,
  242.             /* [out] */ VARIANT *pvarRes,
  243.             /* [out] */ EXCEPINFO *pei,
  244.             /* [unique][in] */ IServiceProvider *pspCaller);
  245.         
  246.         HRESULT ( STDMETHODCALLTYPE *DeleteMemberByName )( 
  247.             IDispatchEx * This,
  248.             /* [in] */ BSTR bstrName,
  249.             /* [in] */ DWORD grfdex);
  250.         
  251.         HRESULT ( STDMETHODCALLTYPE *DeleteMemberByDispID )( 
  252.             IDispatchEx * This,
  253.             /* [in] */ DISPID id);
  254.         
  255.         HRESULT ( STDMETHODCALLTYPE *GetMemberProperties )( 
  256.             IDispatchEx * This,
  257.             /* [in] */ DISPID id,
  258.             /* [in] */ DWORD grfdexFetch,
  259.             /* [out] */ DWORD *pgrfdex);
  260.         
  261.         HRESULT ( STDMETHODCALLTYPE *GetMemberName )( 
  262.             IDispatchEx * This,
  263.             /* [in] */ DISPID id,
  264.             /* [out] */ BSTR *pbstrName);
  265.         
  266.         HRESULT ( STDMETHODCALLTYPE *GetNextDispID )( 
  267.             IDispatchEx * This,
  268.             /* [in] */ DWORD grfdex,
  269.             /* [in] */ DISPID id,
  270.             /* [out] */ DISPID *pid);
  271.         
  272.         HRESULT ( STDMETHODCALLTYPE *GetNameSpaceParent )( 
  273.             IDispatchEx * This,
  274.             /* [out] */ IUnknown **ppunk);
  275.         
  276.         END_INTERFACE
  277.     } IDispatchExVtbl;
  278.     interface IDispatchEx
  279.     {
  280.         CONST_VTBL struct IDispatchExVtbl *lpVtbl;
  281.     };
  282.     
  283. #ifdef COBJMACROS
  284. #define IDispatchEx_QueryInterface(This,riid,ppvObject)
  285.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  286. #define IDispatchEx_AddRef(This)
  287.     (This)->lpVtbl -> AddRef(This)
  288. #define IDispatchEx_Release(This)
  289.     (This)->lpVtbl -> Release(This)
  290. #define IDispatchEx_GetTypeInfoCount(This,pctinfo)
  291.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  292. #define IDispatchEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  293.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  294. #define IDispatchEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  295.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  296. #define IDispatchEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  297.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  298. #define IDispatchEx_GetDispID(This,bstrName,grfdex,pid)
  299.     (This)->lpVtbl -> GetDispID(This,bstrName,grfdex,pid)
  300. #define IDispatchEx_InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller)
  301.     (This)->lpVtbl -> InvokeEx(This,id,lcid,wFlags,pdp,pvarRes,pei,pspCaller)
  302. #define IDispatchEx_DeleteMemberByName(This,bstrName,grfdex)
  303.     (This)->lpVtbl -> DeleteMemberByName(This,bstrName,grfdex)
  304. #define IDispatchEx_DeleteMemberByDispID(This,id)
  305.     (This)->lpVtbl -> DeleteMemberByDispID(This,id)
  306. #define IDispatchEx_GetMemberProperties(This,id,grfdexFetch,pgrfdex)
  307.     (This)->lpVtbl -> GetMemberProperties(This,id,grfdexFetch,pgrfdex)
  308. #define IDispatchEx_GetMemberName(This,id,pbstrName)
  309.     (This)->lpVtbl -> GetMemberName(This,id,pbstrName)
  310. #define IDispatchEx_GetNextDispID(This,grfdex,id,pid)
  311.     (This)->lpVtbl -> GetNextDispID(This,grfdex,id,pid)
  312. #define IDispatchEx_GetNameSpaceParent(This,ppunk)
  313.     (This)->lpVtbl -> GetNameSpaceParent(This,ppunk)
  314. #endif /* COBJMACROS */
  315. #endif  /* C style interface */
  316. HRESULT STDMETHODCALLTYPE IDispatchEx_GetDispID_Proxy( 
  317.     IDispatchEx * This,
  318.     /* [in] */ BSTR bstrName,
  319.     /* [in] */ DWORD grfdex,
  320.     /* [out] */ DISPID *pid);
  321. void __RPC_STUB IDispatchEx_GetDispID_Stub(
  322.     IRpcStubBuffer *This,
  323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  324.     PRPC_MESSAGE _pRpcMessage,
  325.     DWORD *_pdwStubPhase);
  326. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatchEx_RemoteInvokeEx_Proxy( 
  327.     IDispatchEx * This,
  328.     /* [in] */ DISPID id,
  329.     /* [in] */ LCID lcid,
  330.     /* [in] */ DWORD dwFlags,
  331.     /* [in] */ DISPPARAMS *pdp,
  332.     /* [out] */ VARIANT *pvarRes,
  333.     /* [out] */ EXCEPINFO *pei,
  334.     /* [unique][in] */ IServiceProvider *pspCaller,
  335.     /* [in] */ UINT cvarRefArg,
  336.     /* [size_is][in] */ UINT *rgiRefArg,
  337.     /* [size_is][out][in] */ VARIANT *rgvarRefArg);
  338. void __RPC_STUB IDispatchEx_RemoteInvokeEx_Stub(
  339.     IRpcStubBuffer *This,
  340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  341.     PRPC_MESSAGE _pRpcMessage,
  342.     DWORD *_pdwStubPhase);
  343. HRESULT STDMETHODCALLTYPE IDispatchEx_DeleteMemberByName_Proxy( 
  344.     IDispatchEx * This,
  345.     /* [in] */ BSTR bstrName,
  346.     /* [in] */ DWORD grfdex);
  347. void __RPC_STUB IDispatchEx_DeleteMemberByName_Stub(
  348.     IRpcStubBuffer *This,
  349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  350.     PRPC_MESSAGE _pRpcMessage,
  351.     DWORD *_pdwStubPhase);
  352. HRESULT STDMETHODCALLTYPE IDispatchEx_DeleteMemberByDispID_Proxy( 
  353.     IDispatchEx * This,
  354.     /* [in] */ DISPID id);
  355. void __RPC_STUB IDispatchEx_DeleteMemberByDispID_Stub(
  356.     IRpcStubBuffer *This,
  357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  358.     PRPC_MESSAGE _pRpcMessage,
  359.     DWORD *_pdwStubPhase);
  360. HRESULT STDMETHODCALLTYPE IDispatchEx_GetMemberProperties_Proxy( 
  361.     IDispatchEx * This,
  362.     /* [in] */ DISPID id,
  363.     /* [in] */ DWORD grfdexFetch,
  364.     /* [out] */ DWORD *pgrfdex);
  365. void __RPC_STUB IDispatchEx_GetMemberProperties_Stub(
  366.     IRpcStubBuffer *This,
  367.     IRpcChannelBuffer *_pRpcChannelBuffer,
  368.     PRPC_MESSAGE _pRpcMessage,
  369.     DWORD *_pdwStubPhase);
  370. HRESULT STDMETHODCALLTYPE IDispatchEx_GetMemberName_Proxy( 
  371.     IDispatchEx * This,
  372.     /* [in] */ DISPID id,
  373.     /* [out] */ BSTR *pbstrName);
  374. void __RPC_STUB IDispatchEx_GetMemberName_Stub(
  375.     IRpcStubBuffer *This,
  376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  377.     PRPC_MESSAGE _pRpcMessage,
  378.     DWORD *_pdwStubPhase);
  379. HRESULT STDMETHODCALLTYPE IDispatchEx_GetNextDispID_Proxy( 
  380.     IDispatchEx * This,
  381.     /* [in] */ DWORD grfdex,
  382.     /* [in] */ DISPID id,
  383.     /* [out] */ DISPID *pid);
  384. void __RPC_STUB IDispatchEx_GetNextDispID_Stub(
  385.     IRpcStubBuffer *This,
  386.     IRpcChannelBuffer *_pRpcChannelBuffer,
  387.     PRPC_MESSAGE _pRpcMessage,
  388.     DWORD *_pdwStubPhase);
  389. HRESULT STDMETHODCALLTYPE IDispatchEx_GetNameSpaceParent_Proxy( 
  390.     IDispatchEx * This,
  391.     /* [out] */ IUnknown **ppunk);
  392. void __RPC_STUB IDispatchEx_GetNameSpaceParent_Stub(
  393.     IRpcStubBuffer *This,
  394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  395.     PRPC_MESSAGE _pRpcMessage,
  396.     DWORD *_pdwStubPhase);
  397. #endif  /* __IDispatchEx_INTERFACE_DEFINED__ */
  398. #ifndef __IDispError_INTERFACE_DEFINED__
  399. #define __IDispError_INTERFACE_DEFINED__
  400. /* interface IDispError */
  401. /* [unique][uuid][object] */ 
  402. EXTERN_C const IID IID_IDispError;
  403. #if defined(__cplusplus) && !defined(CINTERFACE)
  404.     
  405.     MIDL_INTERFACE("A6EF9861-C720-11d0-9337-00A0C90DCAA9")
  406.     IDispError : public IUnknown
  407.     {
  408.     public:
  409.         virtual HRESULT STDMETHODCALLTYPE QueryErrorInfo( 
  410.             /* [in] */ GUID guidErrorType,
  411.             /* [out] */ IDispError **ppde) = 0;
  412.         
  413.         virtual HRESULT STDMETHODCALLTYPE GetNext( 
  414.             /* [out] */ IDispError **ppde) = 0;
  415.         
  416.         virtual HRESULT STDMETHODCALLTYPE GetHresult( 
  417.             /* [out] */ HRESULT *phr) = 0;
  418.         
  419.         virtual HRESULT STDMETHODCALLTYPE GetSource( 
  420.             /* [out] */ BSTR *pbstrSource) = 0;
  421.         
  422.         virtual HRESULT STDMETHODCALLTYPE GetHelpInfo( 
  423.             /* [out] */ BSTR *pbstrFileName,
  424.             /* [out] */ DWORD *pdwContext) = 0;
  425.         
  426.         virtual HRESULT STDMETHODCALLTYPE GetDescription( 
  427.             /* [out] */ BSTR *pbstrDescription) = 0;
  428.         
  429.     };
  430.     
  431. #else  /* C style interface */
  432.     typedef struct IDispErrorVtbl
  433.     {
  434.         BEGIN_INTERFACE
  435.         
  436.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  437.             IDispError * This,
  438.             /* [in] */ REFIID riid,
  439.             /* [iid_is][out] */ void **ppvObject);
  440.         
  441.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  442.             IDispError * This);
  443.         
  444.         ULONG ( STDMETHODCALLTYPE *Release )( 
  445.             IDispError * This);
  446.         
  447.         HRESULT ( STDMETHODCALLTYPE *QueryErrorInfo )( 
  448.             IDispError * This,
  449.             /* [in] */ GUID guidErrorType,
  450.             /* [out] */ IDispError **ppde);
  451.         
  452.         HRESULT ( STDMETHODCALLTYPE *GetNext )( 
  453.             IDispError * This,
  454.             /* [out] */ IDispError **ppde);
  455.         
  456.         HRESULT ( STDMETHODCALLTYPE *GetHresult )( 
  457.             IDispError * This,
  458.             /* [out] */ HRESULT *phr);
  459.         
  460.         HRESULT ( STDMETHODCALLTYPE *GetSource )( 
  461.             IDispError * This,
  462.             /* [out] */ BSTR *pbstrSource);
  463.         
  464.         HRESULT ( STDMETHODCALLTYPE *GetHelpInfo )( 
  465.             IDispError * This,
  466.             /* [out] */ BSTR *pbstrFileName,
  467.             /* [out] */ DWORD *pdwContext);
  468.         
  469.         HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
  470.             IDispError * This,
  471.             /* [out] */ BSTR *pbstrDescription);
  472.         
  473.         END_INTERFACE
  474.     } IDispErrorVtbl;
  475.     interface IDispError
  476.     {
  477.         CONST_VTBL struct IDispErrorVtbl *lpVtbl;
  478.     };
  479.     
  480. #ifdef COBJMACROS
  481. #define IDispError_QueryInterface(This,riid,ppvObject)
  482.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  483. #define IDispError_AddRef(This)
  484.     (This)->lpVtbl -> AddRef(This)
  485. #define IDispError_Release(This)
  486.     (This)->lpVtbl -> Release(This)
  487. #define IDispError_QueryErrorInfo(This,guidErrorType,ppde)
  488.     (This)->lpVtbl -> QueryErrorInfo(This,guidErrorType,ppde)
  489. #define IDispError_GetNext(This,ppde)
  490.     (This)->lpVtbl -> GetNext(This,ppde)
  491. #define IDispError_GetHresult(This,phr)
  492.     (This)->lpVtbl -> GetHresult(This,phr)
  493. #define IDispError_GetSource(This,pbstrSource)
  494.     (This)->lpVtbl -> GetSource(This,pbstrSource)
  495. #define IDispError_GetHelpInfo(This,pbstrFileName,pdwContext)
  496.     (This)->lpVtbl -> GetHelpInfo(This,pbstrFileName,pdwContext)
  497. #define IDispError_GetDescription(This,pbstrDescription)
  498.     (This)->lpVtbl -> GetDescription(This,pbstrDescription)
  499. #endif /* COBJMACROS */
  500. #endif  /* C style interface */
  501. HRESULT STDMETHODCALLTYPE IDispError_QueryErrorInfo_Proxy( 
  502.     IDispError * This,
  503.     /* [in] */ GUID guidErrorType,
  504.     /* [out] */ IDispError **ppde);
  505. void __RPC_STUB IDispError_QueryErrorInfo_Stub(
  506.     IRpcStubBuffer *This,
  507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  508.     PRPC_MESSAGE _pRpcMessage,
  509.     DWORD *_pdwStubPhase);
  510. HRESULT STDMETHODCALLTYPE IDispError_GetNext_Proxy( 
  511.     IDispError * This,
  512.     /* [out] */ IDispError **ppde);
  513. void __RPC_STUB IDispError_GetNext_Stub(
  514.     IRpcStubBuffer *This,
  515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  516.     PRPC_MESSAGE _pRpcMessage,
  517.     DWORD *_pdwStubPhase);
  518. HRESULT STDMETHODCALLTYPE IDispError_GetHresult_Proxy( 
  519.     IDispError * This,
  520.     /* [out] */ HRESULT *phr);
  521. void __RPC_STUB IDispError_GetHresult_Stub(
  522.     IRpcStubBuffer *This,
  523.     IRpcChannelBuffer *_pRpcChannelBuffer,
  524.     PRPC_MESSAGE _pRpcMessage,
  525.     DWORD *_pdwStubPhase);
  526. HRESULT STDMETHODCALLTYPE IDispError_GetSource_Proxy( 
  527.     IDispError * This,
  528.     /* [out] */ BSTR *pbstrSource);
  529. void __RPC_STUB IDispError_GetSource_Stub(
  530.     IRpcStubBuffer *This,
  531.     IRpcChannelBuffer *_pRpcChannelBuffer,
  532.     PRPC_MESSAGE _pRpcMessage,
  533.     DWORD *_pdwStubPhase);
  534. HRESULT STDMETHODCALLTYPE IDispError_GetHelpInfo_Proxy( 
  535.     IDispError * This,
  536.     /* [out] */ BSTR *pbstrFileName,
  537.     /* [out] */ DWORD *pdwContext);
  538. void __RPC_STUB IDispError_GetHelpInfo_Stub(
  539.     IRpcStubBuffer *This,
  540.     IRpcChannelBuffer *_pRpcChannelBuffer,
  541.     PRPC_MESSAGE _pRpcMessage,
  542.     DWORD *_pdwStubPhase);
  543. HRESULT STDMETHODCALLTYPE IDispError_GetDescription_Proxy( 
  544.     IDispError * This,
  545.     /* [out] */ BSTR *pbstrDescription);
  546. void __RPC_STUB IDispError_GetDescription_Stub(
  547.     IRpcStubBuffer *This,
  548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  549.     PRPC_MESSAGE _pRpcMessage,
  550.     DWORD *_pdwStubPhase);
  551. #endif  /* __IDispError_INTERFACE_DEFINED__ */
  552. #ifndef __IVariantChangeType_INTERFACE_DEFINED__
  553. #define __IVariantChangeType_INTERFACE_DEFINED__
  554. /* interface IVariantChangeType */
  555. /* [unique][uuid][object] */ 
  556. EXTERN_C const IID IID_IVariantChangeType;
  557. #if defined(__cplusplus) && !defined(CINTERFACE)
  558.     
  559.     MIDL_INTERFACE("A6EF9862-C720-11d0-9337-00A0C90DCAA9")
  560.     IVariantChangeType : public IUnknown
  561.     {
  562.     public:
  563.         virtual HRESULT STDMETHODCALLTYPE ChangeType( 
  564.             /* [unique][out][in] */ VARIANT *pvarDst,
  565.             /* [unique][in] */ VARIANT *pvarSrc,
  566.             /* [in] */ LCID lcid,
  567.             /* [in] */ VARTYPE vtNew) = 0;
  568.         
  569.     };
  570.     
  571. #else  /* C style interface */
  572.     typedef struct IVariantChangeTypeVtbl
  573.     {
  574.         BEGIN_INTERFACE
  575.         
  576.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  577.             IVariantChangeType * This,
  578.             /* [in] */ REFIID riid,
  579.             /* [iid_is][out] */ void **ppvObject);
  580.         
  581.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  582.             IVariantChangeType * This);
  583.         
  584.         ULONG ( STDMETHODCALLTYPE *Release )( 
  585.             IVariantChangeType * This);
  586.         
  587.         HRESULT ( STDMETHODCALLTYPE *ChangeType )( 
  588.             IVariantChangeType * This,
  589.             /* [unique][out][in] */ VARIANT *pvarDst,
  590.             /* [unique][in] */ VARIANT *pvarSrc,
  591.             /* [in] */ LCID lcid,
  592.             /* [in] */ VARTYPE vtNew);
  593.         
  594.         END_INTERFACE
  595.     } IVariantChangeTypeVtbl;
  596.     interface IVariantChangeType
  597.     {
  598.         CONST_VTBL struct IVariantChangeTypeVtbl *lpVtbl;
  599.     };
  600.     
  601. #ifdef COBJMACROS
  602. #define IVariantChangeType_QueryInterface(This,riid,ppvObject)
  603.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  604. #define IVariantChangeType_AddRef(This)
  605.     (This)->lpVtbl -> AddRef(This)
  606. #define IVariantChangeType_Release(This)
  607.     (This)->lpVtbl -> Release(This)
  608. #define IVariantChangeType_ChangeType(This,pvarDst,pvarSrc,lcid,vtNew)
  609.     (This)->lpVtbl -> ChangeType(This,pvarDst,pvarSrc,lcid,vtNew)
  610. #endif /* COBJMACROS */
  611. #endif  /* C style interface */
  612. HRESULT STDMETHODCALLTYPE IVariantChangeType_ChangeType_Proxy( 
  613.     IVariantChangeType * This,
  614.     /* [unique][out][in] */ VARIANT *pvarDst,
  615.     /* [unique][in] */ VARIANT *pvarSrc,
  616.     /* [in] */ LCID lcid,
  617.     /* [in] */ VARTYPE vtNew);
  618. void __RPC_STUB IVariantChangeType_ChangeType_Stub(
  619.     IRpcStubBuffer *This,
  620.     IRpcChannelBuffer *_pRpcChannelBuffer,
  621.     PRPC_MESSAGE _pRpcMessage,
  622.     DWORD *_pdwStubPhase);
  623. #endif  /* __IVariantChangeType_INTERFACE_DEFINED__ */
  624. #ifndef __IObjectIdentity_INTERFACE_DEFINED__
  625. #define __IObjectIdentity_INTERFACE_DEFINED__
  626. /* interface IObjectIdentity */
  627. /* [unique][uuid][object] */ 
  628. EXTERN_C const IID IID_IObjectIdentity;
  629. #if defined(__cplusplus) && !defined(CINTERFACE)
  630.     
  631.     MIDL_INTERFACE("CA04B7E6-0D21-11d1-8CC5-00C04FC2B085")
  632.     IObjectIdentity : public IUnknown
  633.     {
  634.     public:
  635.         virtual HRESULT STDMETHODCALLTYPE IsEqualObject( 
  636.             /* [in] */ IUnknown *punk) = 0;
  637.         
  638.     };
  639.     
  640. #else  /* C style interface */
  641.     typedef struct IObjectIdentityVtbl
  642.     {
  643.         BEGIN_INTERFACE
  644.         
  645.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  646.             IObjectIdentity * This,
  647.             /* [in] */ REFIID riid,
  648.             /* [iid_is][out] */ void **ppvObject);
  649.         
  650.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  651.             IObjectIdentity * This);
  652.         
  653.         ULONG ( STDMETHODCALLTYPE *Release )( 
  654.             IObjectIdentity * This);
  655.         
  656.         HRESULT ( STDMETHODCALLTYPE *IsEqualObject )( 
  657.             IObjectIdentity * This,
  658.             /* [in] */ IUnknown *punk);
  659.         
  660.         END_INTERFACE
  661.     } IObjectIdentityVtbl;
  662.     interface IObjectIdentity
  663.     {
  664.         CONST_VTBL struct IObjectIdentityVtbl *lpVtbl;
  665.     };
  666.     
  667. #ifdef COBJMACROS
  668. #define IObjectIdentity_QueryInterface(This,riid,ppvObject)
  669.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  670. #define IObjectIdentity_AddRef(This)
  671.     (This)->lpVtbl -> AddRef(This)
  672. #define IObjectIdentity_Release(This)
  673.     (This)->lpVtbl -> Release(This)
  674. #define IObjectIdentity_IsEqualObject(This,punk)
  675.     (This)->lpVtbl -> IsEqualObject(This,punk)
  676. #endif /* COBJMACROS */
  677. #endif  /* C style interface */
  678. HRESULT STDMETHODCALLTYPE IObjectIdentity_IsEqualObject_Proxy( 
  679.     IObjectIdentity * This,
  680.     /* [in] */ IUnknown *punk);
  681. void __RPC_STUB IObjectIdentity_IsEqualObject_Stub(
  682.     IRpcStubBuffer *This,
  683.     IRpcChannelBuffer *_pRpcChannelBuffer,
  684.     PRPC_MESSAGE _pRpcMessage,
  685.     DWORD *_pdwStubPhase);
  686. #endif  /* __IObjectIdentity_INTERFACE_DEFINED__ */
  687. /* interface __MIDL_itf_dispex_0257 */
  688. /* [local] */ 
  689. #endif //DISPEX_H_
  690. extern RPC_IF_HANDLE __MIDL_itf_dispex_0257_v0_0_c_ifspec;
  691. extern RPC_IF_HANDLE __MIDL_itf_dispex_0257_v0_0_s_ifspec;
  692. /* Additional Prototypes for ALL interfaces */
  693. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  694. unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  695. unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  696. void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  697. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  698. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  699. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  700. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  701. /* [local] */ HRESULT STDMETHODCALLTYPE IDispatchEx_InvokeEx_Proxy( 
  702.     IDispatchEx * This,
  703.     /* [in] */ DISPID id,
  704.     /* [in] */ LCID lcid,
  705.     /* [in] */ WORD wFlags,
  706.     /* [in] */ DISPPARAMS *pdp,
  707.     /* [out] */ VARIANT *pvarRes,
  708.     /* [out] */ EXCEPINFO *pei,
  709.     /* [unique][in] */ IServiceProvider *pspCaller);
  710. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatchEx_InvokeEx_Stub( 
  711.     IDispatchEx * This,
  712.     /* [in] */ DISPID id,
  713.     /* [in] */ LCID lcid,
  714.     /* [in] */ DWORD dwFlags,
  715.     /* [in] */ DISPPARAMS *pdp,
  716.     /* [out] */ VARIANT *pvarRes,
  717.     /* [out] */ EXCEPINFO *pei,
  718.     /* [unique][in] */ IServiceProvider *pspCaller,
  719.     /* [in] */ UINT cvarRefArg,
  720.     /* [size_is][in] */ UINT *rgiRefArg,
  721.     /* [size_is][out][in] */ VARIANT *rgvarRefArg);
  722. /* end of Additional Prototypes */
  723. #ifdef __cplusplus
  724. }
  725. #endif
  726. #endif