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

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  
  3.  
  4. /* File created by MIDL compiler version 3.03.0110 */
  5. /* at Thu Sep 11 10:57:03 1997
  6.  */
  7. /* Compiler settings for unknwn.idl:
  8.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  9.     error checks: none
  10. */
  11. //@@MIDL_FILE_HEADING(  )
  12.  
  13.  
  14. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  15. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  16. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  17. #endif
  18.  
  19. #include "rpc.h"
  20. #include "rpcndr.h"
  21.  
  22. #ifndef __RPCNDR_H_VERSION__
  23. #error this stub requires an updated version of <rpcndr.h>
  24. #endif // __RPCNDR_H_VERSION__
  25.  
  26. #ifndef COM_NO_WINDOWS_H
  27. #include "windows.h"
  28. #include "ole2.h"
  29. #endif /*COM_NO_WINDOWS_H*/
  30.  
  31. #ifndef __unknwn_h__
  32. #define __unknwn_h__
  33.  
  34. #ifdef __cplusplus
  35. extern "C"{
  36. #endif 
  37.  
  38. /* Forward Declarations */ 
  39.  
  40. #ifndef __IUnknown_FWD_DEFINED__
  41. #define __IUnknown_FWD_DEFINED__
  42. typedef interface IUnknown IUnknown;
  43. #endif     /* __IUnknown_FWD_DEFINED__ */
  44.  
  45.  
  46. #ifndef __IClassFactory_FWD_DEFINED__
  47. #define __IClassFactory_FWD_DEFINED__
  48. typedef interface IClassFactory IClassFactory;
  49. #endif     /* __IClassFactory_FWD_DEFINED__ */
  50.  
  51.  
  52. /* header files for imported files */
  53. #include "wtypes.h"
  54.  
  55. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  56. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  57.  
  58. /****************************************
  59.  * Generated header for interface: __MIDL_itf_unknwn_0000
  60.  * at Thu Sep 11 10:57:03 1997
  61.  * using MIDL 3.03.0110
  62.  ****************************************/
  63. /* [local] */ 
  64.  
  65.  
  66. //+-------------------------------------------------------------------------
  67. //
  68. //  Microsoft Windows
  69. //  Copyright (C) Microsoft Corporation, 1992-1997.
  70. //
  71. //--------------------------------------------------------------------------
  72.  
  73.  
  74. extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_v0_0_c_ifspec;
  75. extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_v0_0_s_ifspec;
  76.  
  77. #ifndef __IUnknown_INTERFACE_DEFINED__
  78. #define __IUnknown_INTERFACE_DEFINED__
  79.  
  80. /****************************************
  81.  * Generated header for interface: IUnknown
  82.  * at Thu Sep 11 10:57:03 1997
  83.  * using MIDL 3.03.0110
  84.  ****************************************/
  85. /* [unique][uuid][object][local] */ 
  86.  
  87.  
  88. typedef /* [unique] */ IUnknown __RPC_FAR *LPUNKNOWN;
  89.  
  90. //////////////////////////////////////////////////////////////////
  91. // IID_IUnknown and all other system IIDs are provided in UUID.LIB
  92. // Link that library in with your proxies, clients and servers
  93. //////////////////////////////////////////////////////////////////
  94.  
  95. EXTERN_C const IID IID_IUnknown;
  96.  
  97. #if defined(__cplusplus) && !defined(CINTERFACE)
  98.  
  99. #if (_MSC_VER >= 1200)    // VC6 or greater
  100. extern "C++"
  101. {
  102. #endif
  103.  
  104.     MIDL_INTERFACE("00000000-0000-0000-C000-000000000046")
  105.     IUnknown
  106.     {
  107.     public:
  108.         BEGIN_INTERFACE
  109.         virtual HRESULT STDMETHODCALLTYPE QueryInterface( 
  110.             /* [in] */ REFIID riid,
  111.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  112.         
  113.         virtual ULONG STDMETHODCALLTYPE AddRef( void) = 0;
  114.         
  115.         virtual ULONG STDMETHODCALLTYPE Release( void) = 0;
  116.  
  117. #if (_MSC_VER >= 1200)    // VC6 or greater
  118.         template <class Q>
  119.         HRESULT STDMETHODCALLTYPE QueryInterface(Q** pp)
  120.         {
  121.             return QueryInterface(__uuidof(Q), (void**)pp);
  122.         }
  123. #endif    
  124.  
  125.         END_INTERFACE
  126.     };
  127.  
  128. #if (_MSC_VER >= 1200)    // VC6 or greater
  129. } // extern "C++"
  130. #endif
  131.     
  132. #else     /* C style interface */
  133.  
  134.     typedef struct IUnknownVtbl
  135.     {
  136.         BEGIN_INTERFACE
  137.         
  138.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  139.             IUnknown __RPC_FAR * This,
  140.             /* [in] */ REFIID riid,
  141.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  142.         
  143.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  144.             IUnknown __RPC_FAR * This);
  145.         
  146.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  147.             IUnknown __RPC_FAR * This);
  148.         
  149.         END_INTERFACE
  150.     } IUnknownVtbl;
  151.  
  152.     interface IUnknown
  153.     {
  154.         CONST_VTBL struct IUnknownVtbl __RPC_FAR *lpVtbl;
  155.     };
  156.  
  157.     
  158.  
  159. #ifdef COBJMACROS
  160.  
  161.  
  162. #define IUnknown_QueryInterface(This,riid,ppvObject)    \
  163.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  164.  
  165. #define IUnknown_AddRef(This)    \
  166.     (This)->lpVtbl -> AddRef(This)
  167.  
  168. #define IUnknown_Release(This)    \
  169.     (This)->lpVtbl -> Release(This)
  170.  
  171. #endif /* COBJMACROS */
  172.  
  173.  
  174. #endif     /* C style interface */
  175.  
  176. HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy( 
  177.     IUnknown __RPC_FAR * This,
  178.     /* [in] */ REFIID riid,
  179.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  180.  
  181.  
  182. void __RPC_STUB IUnknown_QueryInterface_Stub(
  183.     IRpcStubBuffer *This,
  184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  185.     PRPC_MESSAGE _pRpcMessage,
  186.     DWORD *_pdwStubPhase);
  187.  
  188.  
  189. ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy( 
  190.     IUnknown __RPC_FAR * This);
  191.  
  192.  
  193. void __RPC_STUB IUnknown_AddRef_Stub(
  194.     IRpcStubBuffer *This,
  195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  196.     PRPC_MESSAGE _pRpcMessage,
  197.     DWORD *_pdwStubPhase);
  198.  
  199.  
  200. ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy( 
  201.     IUnknown __RPC_FAR * This);
  202.  
  203.  
  204. void __RPC_STUB IUnknown_Release_Stub(
  205.     IRpcStubBuffer *This,
  206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  207.     PRPC_MESSAGE _pRpcMessage,
  208.     DWORD *_pdwStubPhase);
  209.  
  210.  
  211.  
  212. #endif     /* __IUnknown_INTERFACE_DEFINED__ */
  213.  
  214.  
  215. #ifndef __IClassFactory_INTERFACE_DEFINED__
  216. #define __IClassFactory_INTERFACE_DEFINED__
  217.  
  218. /****************************************
  219.  * Generated header for interface: IClassFactory
  220.  * at Thu Sep 11 10:57:03 1997
  221.  * using MIDL 3.03.0110
  222.  ****************************************/
  223. /* [unique][uuid][object] */ 
  224.  
  225.  
  226. typedef /* [unique] */ IClassFactory __RPC_FAR *LPCLASSFACTORY;
  227.  
  228.  
  229. EXTERN_C const IID IID_IClassFactory;
  230.  
  231. #if defined(__cplusplus) && !defined(CINTERFACE)
  232.     
  233.     MIDL_INTERFACE("00000001-0000-0000-C000-000000000046")
  234.     IClassFactory : public IUnknown
  235.     {
  236.     public:
  237.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateInstance( 
  238.             /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  239.             /* [in] */ REFIID riid,
  240.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  241.         
  242.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE LockServer( 
  243.             /* [in] */ BOOL fLock) = 0;
  244.         
  245.     };
  246.     
  247. #else     /* C style interface */
  248.  
  249.     typedef struct IClassFactoryVtbl
  250.     {
  251.         BEGIN_INTERFACE
  252.         
  253.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  254.             IClassFactory __RPC_FAR * This,
  255.             /* [in] */ REFIID riid,
  256.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  257.         
  258.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  259.             IClassFactory __RPC_FAR * This);
  260.         
  261.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  262.             IClassFactory __RPC_FAR * This);
  263.         
  264.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateInstance )( 
  265.             IClassFactory __RPC_FAR * This,
  266.             /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  267.             /* [in] */ REFIID riid,
  268.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  269.         
  270.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockServer )( 
  271.             IClassFactory __RPC_FAR * This,
  272.             /* [in] */ BOOL fLock);
  273.         
  274.         END_INTERFACE
  275.     } IClassFactoryVtbl;
  276.  
  277.     interface IClassFactory
  278.     {
  279.         CONST_VTBL struct IClassFactoryVtbl __RPC_FAR *lpVtbl;
  280.     };
  281.  
  282.     
  283.  
  284. #ifdef COBJMACROS
  285.  
  286.  
  287. #define IClassFactory_QueryInterface(This,riid,ppvObject)    \
  288.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  289.  
  290. #define IClassFactory_AddRef(This)    \
  291.     (This)->lpVtbl -> AddRef(This)
  292.  
  293. #define IClassFactory_Release(This)    \
  294.     (This)->lpVtbl -> Release(This)
  295.  
  296.  
  297. #define IClassFactory_CreateInstance(This,pUnkOuter,riid,ppvObject)    \
  298.     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObject)
  299.  
  300. #define IClassFactory_LockServer(This,fLock)    \
  301.     (This)->lpVtbl -> LockServer(This,fLock)
  302.  
  303. #endif /* COBJMACROS */
  304.  
  305.  
  306. #endif     /* C style interface */
  307.  
  308.  
  309.  
  310. /* [call_as] */ HRESULT STDMETHODCALLTYPE IClassFactory_RemoteCreateInstance_Proxy( 
  311.     IClassFactory __RPC_FAR * This,
  312.     /* [in] */ REFIID riid,
  313.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  314.  
  315.  
  316. void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(
  317.     IRpcStubBuffer *This,
  318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  319.     PRPC_MESSAGE _pRpcMessage,
  320.     DWORD *_pdwStubPhase);
  321.  
  322.  
  323. /* [call_as] */ HRESULT __stdcall IClassFactory_RemoteLockServer_Proxy( 
  324.     IClassFactory __RPC_FAR * This,
  325.     /* [in] */ BOOL fLock);
  326.  
  327.  
  328. void __RPC_STUB IClassFactory_RemoteLockServer_Stub(
  329.     IRpcStubBuffer *This,
  330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  331.     PRPC_MESSAGE _pRpcMessage,
  332.     DWORD *_pdwStubPhase);
  333.  
  334.  
  335.  
  336. #endif     /* __IClassFactory_INTERFACE_DEFINED__ */
  337.  
  338.  
  339. /* Additional Prototypes for ALL interfaces */
  340.  
  341. /* [local] */ HRESULT STDMETHODCALLTYPE IClassFactory_CreateInstance_Proxy( 
  342.     IClassFactory __RPC_FAR * This,
  343.     /* [unique][in] */ IUnknown __RPC_FAR *pUnkOuter,
  344.     /* [in] */ REFIID riid,
  345.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  346.  
  347.  
  348. /* [call_as] */ HRESULT STDMETHODCALLTYPE IClassFactory_CreateInstance_Stub( 
  349.     IClassFactory __RPC_FAR * This,
  350.     /* [in] */ REFIID riid,
  351.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  352.  
  353. /* [local] */ HRESULT STDMETHODCALLTYPE IClassFactory_LockServer_Proxy( 
  354.     IClassFactory __RPC_FAR * This,
  355.     /* [in] */ BOOL fLock);
  356.  
  357.  
  358. /* [call_as] */ HRESULT __stdcall IClassFactory_LockServer_Stub( 
  359.     IClassFactory __RPC_FAR * This,
  360.     /* [in] */ BOOL fLock);
  361.  
  362.  
  363.  
  364. /* end of Additional Prototypes */
  365.  
  366. #ifdef __cplusplus
  367. }
  368. #endif
  369.  
  370. #endif
  371.