home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / servprov.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  7KB  |  241 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:59:13 1997
  6.  */
  7. /* Compiler settings for servprov.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 __servprov_h__
  32. #define __servprov_h__
  33.  
  34. #ifdef __cplusplus
  35. extern "C"{
  36. #endif 
  37.  
  38. /* Forward Declarations */ 
  39.  
  40. #ifndef __IServiceProvider_FWD_DEFINED__
  41. #define __IServiceProvider_FWD_DEFINED__
  42. typedef interface IServiceProvider IServiceProvider;
  43. #endif     /* __IServiceProvider_FWD_DEFINED__ */
  44.  
  45.  
  46. /* header files for imported files */
  47. #include "objidl.h"
  48.  
  49. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  50. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  51.  
  52. /****************************************
  53.  * Generated header for interface: __MIDL_itf_servprov_0000
  54.  * at Thu Sep 11 10:59:13 1997
  55.  * using MIDL 3.03.0110
  56.  ****************************************/
  57. /* [local] */ 
  58.  
  59.  
  60. //=--------------------------------------------------------------------------=
  61. // ServProv.h
  62. //=--------------------------------------------------------------------------=
  63. // (C) Copyright 1995-1997 Microsoft Corporation.  All Rights Reserved.
  64. //
  65. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  66. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  67. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  68. // PARTICULAR PURPOSE.
  69. //=--------------------------------------------------------------------------=
  70.  
  71. #pragma comment(lib,"uuid.lib")
  72.  
  73. //---------------------------------------------------------------------------=
  74. // IServiceProvider Interfaces.
  75.  
  76.  
  77. #ifndef _LPSERVICEPROVIDER_DEFINED
  78. #define _LPSERVICEPROVIDER_DEFINED
  79.  
  80.  
  81. extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_v0_0_c_ifspec;
  82. extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_v0_0_s_ifspec;
  83.  
  84. #ifndef __IServiceProvider_INTERFACE_DEFINED__
  85. #define __IServiceProvider_INTERFACE_DEFINED__
  86.  
  87. /****************************************
  88.  * Generated header for interface: IServiceProvider
  89.  * at Thu Sep 11 10:59:13 1997
  90.  * using MIDL 3.03.0110
  91.  ****************************************/
  92. /* [unique][uuid][object] */ 
  93.  
  94.  
  95. typedef /* [unique] */ IServiceProvider __RPC_FAR *LPSERVICEPROVIDER;
  96.  
  97.  
  98. EXTERN_C const IID IID_IServiceProvider;
  99.  
  100. #if defined(__cplusplus) && !defined(CINTERFACE)
  101.     
  102. #if (_MSC_VER >= 1200)    // VC6 or greater
  103. extern "C++"
  104. {
  105. #endif
  106.  
  107.     MIDL_INTERFACE("6d5140c1-7436-11ce-8034-00aa006009fa")
  108.     IServiceProvider : public IUnknown
  109.     {
  110.     public:
  111.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE QueryService( 
  112.             /* [in] */ REFGUID guidService,
  113.             /* [in] */ REFIID riid,
  114.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
  115.         
  116. #if (_MSC_VER >= 1200)    // VC6 or greater
  117.         template <class Q>
  118.         HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, Q** pp)
  119.         {
  120.             return QueryService(guidService, __uuidof(Q), (void**)pp);
  121.         }
  122. #endif    
  123.     };
  124.  
  125. #if (_MSC_VER >= 1200)    // VC6 or greater
  126. } // extern "C++"
  127. #endif
  128.     
  129. #else     /* C style interface */
  130.  
  131.     typedef struct IServiceProviderVtbl
  132.     {
  133.         BEGIN_INTERFACE
  134.         
  135.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  136.             IServiceProvider __RPC_FAR * This,
  137.             /* [in] */ REFIID riid,
  138.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  139.         
  140.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  141.             IServiceProvider __RPC_FAR * This);
  142.         
  143.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  144.             IServiceProvider __RPC_FAR * This);
  145.         
  146.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryService )( 
  147.             IServiceProvider __RPC_FAR * This,
  148.             /* [in] */ REFGUID guidService,
  149.             /* [in] */ REFIID riid,
  150.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  151.         
  152.         END_INTERFACE
  153.     } IServiceProviderVtbl;
  154.  
  155.     interface IServiceProvider
  156.     {
  157.         CONST_VTBL struct IServiceProviderVtbl __RPC_FAR *lpVtbl;
  158.     };
  159.  
  160.     
  161.  
  162. #ifdef COBJMACROS
  163.  
  164.  
  165. #define IServiceProvider_QueryInterface(This,riid,ppvObject)    \
  166.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  167.  
  168. #define IServiceProvider_AddRef(This)    \
  169.     (This)->lpVtbl -> AddRef(This)
  170.  
  171. #define IServiceProvider_Release(This)    \
  172.     (This)->lpVtbl -> Release(This)
  173.  
  174.  
  175. #define IServiceProvider_QueryService(This,guidService,riid,ppvObject)    \
  176.     (This)->lpVtbl -> QueryService(This,guidService,riid,ppvObject)
  177.  
  178. #endif /* COBJMACROS */
  179.  
  180.  
  181. #endif     /* C style interface */
  182.  
  183.  
  184.  
  185. /* [call_as] */ HRESULT STDMETHODCALLTYPE IServiceProvider_RemoteQueryService_Proxy( 
  186.     IServiceProvider __RPC_FAR * This,
  187.     /* [in] */ REFGUID guidService,
  188.     /* [in] */ REFIID riid,
  189.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  190.  
  191.  
  192. void __RPC_STUB IServiceProvider_RemoteQueryService_Stub(
  193.     IRpcStubBuffer *This,
  194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  195.     PRPC_MESSAGE _pRpcMessage,
  196.     DWORD *_pdwStubPhase);
  197.  
  198.  
  199.  
  200. #endif     /* __IServiceProvider_INTERFACE_DEFINED__ */
  201.  
  202.  
  203. /****************************************
  204.  * Generated header for interface: __MIDL_itf_servprov_0074
  205.  * at Thu Sep 11 10:59:13 1997
  206.  * using MIDL 3.03.0110
  207.  ****************************************/
  208. /* [local] */ 
  209.  
  210.  
  211. #endif
  212.  
  213.  
  214. extern RPC_IF_HANDLE __MIDL_itf_servprov_0074_v0_0_c_ifspec;
  215. extern RPC_IF_HANDLE __MIDL_itf_servprov_0074_v0_0_s_ifspec;
  216.  
  217. /* Additional Prototypes for ALL interfaces */
  218.  
  219. /* [local] */ HRESULT STDMETHODCALLTYPE IServiceProvider_QueryService_Proxy( 
  220.     IServiceProvider __RPC_FAR * This,
  221.     /* [in] */ REFGUID guidService,
  222.     /* [in] */ REFIID riid,
  223.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  224.  
  225.  
  226. /* [call_as] */ HRESULT STDMETHODCALLTYPE IServiceProvider_QueryService_Stub( 
  227.     IServiceProvider __RPC_FAR * This,
  228.     /* [in] */ REFGUID guidService,
  229.     /* [in] */ REFIID riid,
  230.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObject);
  231.  
  232.  
  233.  
  234. /* end of Additional Prototypes */
  235.  
  236. #ifdef __cplusplus
  237. }
  238. #endif
  239.  
  240. #endif
  241.