home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / multinfo.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  7KB  |  231 lines

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  
  3.  
  4. /* File created by MIDL compiler version 2.00.0102 */
  5. /* at Fri Mar 29 16:59:57 1996
  6.  */
  7. //@@MIDL_FILE_HEADING(  )
  8. #include "rpc.h"
  9. #include "rpcndr.h"
  10. #ifndef COM_NO_WINDOWS_H
  11. #include "windows.h"
  12. #include "ole2.h"
  13. #endif /*COM_NO_WINDOWS_H*/
  14.  
  15. #ifndef __multinfo_h__
  16. #define __multinfo_h__
  17.  
  18. #ifdef __cplusplus
  19. extern "C"{
  20. #endif 
  21.  
  22. /* Forward Declarations */ 
  23.  
  24. #ifndef __IProvideClassInfo_FWD_DEFINED__
  25. #define __IProvideClassInfo_FWD_DEFINED__
  26. typedef interface IProvideClassInfo IProvideClassInfo;
  27. #endif     /* __IProvideClassInfo_FWD_DEFINED__ */
  28.  
  29.  
  30. #ifndef __IProvideClassInfo2_FWD_DEFINED__
  31. #define __IProvideClassInfo2_FWD_DEFINED__
  32. typedef interface IProvideClassInfo2 IProvideClassInfo2;
  33. #endif     /* __IProvideClassInfo2_FWD_DEFINED__ */
  34.  
  35.  
  36. #ifndef __IProvideMultipleClassInfo_FWD_DEFINED__
  37. #define __IProvideMultipleClassInfo_FWD_DEFINED__
  38. typedef interface IProvideMultipleClassInfo IProvideMultipleClassInfo;
  39. #endif     /* __IProvideMultipleClassInfo_FWD_DEFINED__ */
  40.  
  41.  
  42. /* header files for imported files */
  43. #include "oaidl.h"
  44.  
  45. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  46. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  47.  
  48. /****************************************
  49.  * Generated header for interface: __MIDL__intf_0000
  50.  * at Fri Mar 29 16:59:57 1996
  51.  * using MIDL 2.00.0102
  52.  ****************************************/
  53. /* [local] */ 
  54.  
  55.  
  56. #ifndef _OLECTL_H_
  57. #include <olectl.h>
  58. #endif
  59.  
  60. // {A7ABA9C1-8983-11cf-8F20-00805F2CD064}
  61. DEFINE_GUID(IID_IProvideMultipleClassInfo,
  62. 0xa7aba9c1, 0x8983, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);
  63.  
  64.  
  65. extern RPC_IF_HANDLE __MIDL__intf_0053_v0_0_c_ifspec;
  66. extern RPC_IF_HANDLE __MIDL__intf_0053_v0_0_s_ifspec;
  67.  
  68. #ifndef __IProvideMultipleClassInfo_INTERFACE_DEFINED__
  69. #define __IProvideMultipleClassInfo_INTERFACE_DEFINED__
  70.  
  71. /****************************************
  72.  * Generated header for interface: IProvideMultipleClassInfo
  73.  * at Fri Mar 29 16:59:57 1996
  74.  * using MIDL 2.00.0102
  75.  ****************************************/
  76. /* [unique][uuid][object] */ 
  77.  
  78.  
  79. #define MULTICLASSINFO_GETTYPEINFO           0x00000001
  80. #define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x00000002
  81. #define MULTICLASSINFO_GETIIDPRIMARY         0x00000004
  82. #define MULTICLASSINFO_GETIIDSOURCE          0x00000008
  83. #define TIFLAGS_EXTENDDISPATCHONLY           0x00000001
  84.  
  85. EXTERN_C const IID IID_IProvideMultipleClassInfo;
  86.  
  87. #if defined(__cplusplus) && !defined(CINTERFACE)
  88.     
  89.     interface IProvideMultipleClassInfo : public IProvideClassInfo2
  90.     {
  91.     public:
  92.         virtual HRESULT __stdcall GetMultiTypeInfoCount( 
  93.             /* [out] */ ULONG __RPC_FAR *pcti) = 0;
  94.         
  95.         virtual HRESULT __stdcall GetInfoOfIndex( 
  96.             /* [in] */ ULONG iti,
  97.             /* [in] */ DWORD dwFlags,
  98.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptiCoClass,
  99.             /* [out] */ DWORD __RPC_FAR *pdwTIFlags,
  100.             /* [out] */ ULONG __RPC_FAR *pcdispidReserved,
  101.             /* [out] */ IID __RPC_FAR *piidPrimary,
  102.             /* [out] */ IID __RPC_FAR *piidSource) = 0;
  103.         
  104.     };
  105.     
  106. #else     /* C style interface */
  107.  
  108.     typedef struct IProvideMultipleClassInfoVtbl
  109.     {
  110.         
  111.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  112.             IProvideMultipleClassInfo __RPC_FAR * This,
  113.             /* [in] */ REFIID riid,
  114.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  115.         
  116.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  117.             IProvideMultipleClassInfo __RPC_FAR * This);
  118.         
  119.         ULONG ( __stdcall __RPC_FAR *Release )( 
  120.             IProvideMultipleClassInfo __RPC_FAR * This);
  121.         
  122.         HRESULT ( __stdcall __RPC_FAR *GetClassInfo )( 
  123.             IProvideMultipleClassInfo __RPC_FAR * This,
  124.             /* [out] */ LPTYPEINFO __RPC_FAR *ppTI);
  125.         
  126.         HRESULT ( __stdcall __RPC_FAR *GetGUID )( 
  127.             IProvideMultipleClassInfo __RPC_FAR * This,
  128.             /* [in] */ DWORD dwGuidKind,
  129.             /* [out] */ GUID __RPC_FAR *pGUID);
  130.         
  131.         HRESULT ( __stdcall __RPC_FAR *GetMultiTypeInfoCount )( 
  132.             IProvideMultipleClassInfo __RPC_FAR * This,
  133.             /* [out] */ ULONG __RPC_FAR *pcti);
  134.         
  135.         HRESULT ( __stdcall __RPC_FAR *GetInfoOfIndex )( 
  136.             IProvideMultipleClassInfo __RPC_FAR * This,
  137.             /* [in] */ ULONG iti,
  138.             /* [in] */ DWORD dwFlags,
  139.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptiCoClass,
  140.             /* [out] */ DWORD __RPC_FAR *pdwTIFlags,
  141.             /* [out] */ ULONG __RPC_FAR *pcdispidReserved,
  142.             /* [out] */ IID __RPC_FAR *piidPrimary,
  143.             /* [out] */ IID __RPC_FAR *piidSource);
  144.         
  145.     } IProvideMultipleClassInfoVtbl;
  146.  
  147.     interface IProvideMultipleClassInfo
  148.     {
  149.         CONST_VTBL struct IProvideMultipleClassInfoVtbl __RPC_FAR *lpVtbl;
  150.     };
  151.  
  152.     
  153.  
  154. #ifdef COBJMACROS
  155.  
  156.  
  157. #define IProvideMultipleClassInfo_QueryInterface(This,riid,ppvObject)    \
  158.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  159.  
  160. #define IProvideMultipleClassInfo_AddRef(This)    \
  161.     (This)->lpVtbl -> AddRef(This)
  162.  
  163. #define IProvideMultipleClassInfo_Release(This)    \
  164.     (This)->lpVtbl -> Release(This)
  165.  
  166.  
  167. #define IProvideMultipleClassInfo_GetClassInfo(This,ppTI)    \
  168.     (This)->lpVtbl -> GetClassInfo(This,ppTI)
  169.  
  170.  
  171. #define IProvideMultipleClassInfo_GetGUID(This,dwGuidKind,pGUID)    \
  172.     (This)->lpVtbl -> GetGUID(This,dwGuidKind,pGUID)
  173.  
  174.  
  175. #define IProvideMultipleClassInfo_GetMultiTypeInfoCount(This,pcti)    \
  176.     (This)->lpVtbl -> GetMultiTypeInfoCount(This,pcti)
  177.  
  178. #define IProvideMultipleClassInfo_GetInfoOfIndex(This,iti,dwFlags,pptiCoClass,pdwTIFlags,pcdispidReserved,piidPrimary,piidSource)    \
  179.     (This)->lpVtbl -> GetInfoOfIndex(This,iti,dwFlags,pptiCoClass,pdwTIFlags,pcdispidReserved,piidPrimary,piidSource)
  180.  
  181. #endif /* COBJMACROS */
  182.  
  183.  
  184. #endif     /* C style interface */
  185.  
  186.  
  187.  
  188. HRESULT __stdcall IProvideMultipleClassInfo_GetMultiTypeInfoCount_Proxy( 
  189.     IProvideMultipleClassInfo __RPC_FAR * This,
  190.     /* [out] */ ULONG __RPC_FAR *pcti);
  191.  
  192.  
  193. void __RPC_STUB IProvideMultipleClassInfo_GetMultiTypeInfoCount_Stub(
  194.     IRpcStubBuffer *This,
  195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  196.     PRPC_MESSAGE _pRpcMessage,
  197.     DWORD *_pdwStubPhase);
  198.  
  199.  
  200. HRESULT __stdcall IProvideMultipleClassInfo_GetInfoOfIndex_Proxy( 
  201.     IProvideMultipleClassInfo __RPC_FAR * This,
  202.     /* [in] */ ULONG iti,
  203.     /* [in] */ DWORD dwFlags,
  204.     /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *pptiCoClass,
  205.     /* [out] */ DWORD __RPC_FAR *pdwTIFlags,
  206.     /* [out] */ ULONG __RPC_FAR *pcdispidReserved,
  207.     /* [out] */ IID __RPC_FAR *piidPrimary,
  208.     /* [out] */ IID __RPC_FAR *piidSource);
  209.  
  210.  
  211. void __RPC_STUB IProvideMultipleClassInfo_GetInfoOfIndex_Stub(
  212.     IRpcStubBuffer *This,
  213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  214.     PRPC_MESSAGE _pRpcMessage,
  215.     DWORD *_pdwStubPhase);
  216.  
  217.  
  218.  
  219. #endif     /* __IProvideMultipleClassInfo_INTERFACE_DEFINED__ */
  220.  
  221.  
  222. /* Additional Prototypes for ALL interfaces */
  223.  
  224. /* end of Additional Prototypes */
  225.  
  226. #ifdef __cplusplus
  227. }
  228. #endif
  229.  
  230. #endif
  231.