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

模拟服务器

开发平台:

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 wbemprov.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  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__ 475
  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 __wbemprov_h__
  27. #define __wbemprov_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IWbemPropertyProvider_FWD_DEFINED__
  33. #define __IWbemPropertyProvider_FWD_DEFINED__
  34. typedef interface IWbemPropertyProvider IWbemPropertyProvider;
  35. #endif  /* __IWbemPropertyProvider_FWD_DEFINED__ */
  36. #ifndef __IWbemUnboundObjectSink_FWD_DEFINED__
  37. #define __IWbemUnboundObjectSink_FWD_DEFINED__
  38. typedef interface IWbemUnboundObjectSink IWbemUnboundObjectSink;
  39. #endif  /* __IWbemUnboundObjectSink_FWD_DEFINED__ */
  40. #ifndef __IWbemEventProvider_FWD_DEFINED__
  41. #define __IWbemEventProvider_FWD_DEFINED__
  42. typedef interface IWbemEventProvider IWbemEventProvider;
  43. #endif  /* __IWbemEventProvider_FWD_DEFINED__ */
  44. #ifndef __IWbemEventProviderQuerySink_FWD_DEFINED__
  45. #define __IWbemEventProviderQuerySink_FWD_DEFINED__
  46. typedef interface IWbemEventProviderQuerySink IWbemEventProviderQuerySink;
  47. #endif  /* __IWbemEventProviderQuerySink_FWD_DEFINED__ */
  48. #ifndef __IWbemEventProviderSecurity_FWD_DEFINED__
  49. #define __IWbemEventProviderSecurity_FWD_DEFINED__
  50. typedef interface IWbemEventProviderSecurity IWbemEventProviderSecurity;
  51. #endif  /* __IWbemEventProviderSecurity_FWD_DEFINED__ */
  52. #ifndef __IWbemEventConsumerProvider_FWD_DEFINED__
  53. #define __IWbemEventConsumerProvider_FWD_DEFINED__
  54. typedef interface IWbemEventConsumerProvider IWbemEventConsumerProvider;
  55. #endif  /* __IWbemEventConsumerProvider_FWD_DEFINED__ */
  56. #ifndef __IWbemEventConsumerProviderEx_FWD_DEFINED__
  57. #define __IWbemEventConsumerProviderEx_FWD_DEFINED__
  58. typedef interface IWbemEventConsumerProviderEx IWbemEventConsumerProviderEx;
  59. #endif  /* __IWbemEventConsumerProviderEx_FWD_DEFINED__ */
  60. #ifndef __IWbemProviderInitSink_FWD_DEFINED__
  61. #define __IWbemProviderInitSink_FWD_DEFINED__
  62. typedef interface IWbemProviderInitSink IWbemProviderInitSink;
  63. #endif  /* __IWbemProviderInitSink_FWD_DEFINED__ */
  64. #ifndef __IWbemProviderInit_FWD_DEFINED__
  65. #define __IWbemProviderInit_FWD_DEFINED__
  66. typedef interface IWbemProviderInit IWbemProviderInit;
  67. #endif  /* __IWbemProviderInit_FWD_DEFINED__ */
  68. #ifndef __IWbemHiPerfProvider_FWD_DEFINED__
  69. #define __IWbemHiPerfProvider_FWD_DEFINED__
  70. typedef interface IWbemHiPerfProvider IWbemHiPerfProvider;
  71. #endif  /* __IWbemHiPerfProvider_FWD_DEFINED__ */
  72. #ifndef __IWbemDecoupledRegistrar_FWD_DEFINED__
  73. #define __IWbemDecoupledRegistrar_FWD_DEFINED__
  74. typedef interface IWbemDecoupledRegistrar IWbemDecoupledRegistrar;
  75. #endif  /* __IWbemDecoupledRegistrar_FWD_DEFINED__ */
  76. #ifndef __WbemAdministrativeLocator_FWD_DEFINED__
  77. #define __WbemAdministrativeLocator_FWD_DEFINED__
  78. #ifdef __cplusplus
  79. typedef class WbemAdministrativeLocator WbemAdministrativeLocator;
  80. #else
  81. typedef struct WbemAdministrativeLocator WbemAdministrativeLocator;
  82. #endif /* __cplusplus */
  83. #endif  /* __WbemAdministrativeLocator_FWD_DEFINED__ */
  84. #ifndef __WbemAuthenticatedLocator_FWD_DEFINED__
  85. #define __WbemAuthenticatedLocator_FWD_DEFINED__
  86. #ifdef __cplusplus
  87. typedef class WbemAuthenticatedLocator WbemAuthenticatedLocator;
  88. #else
  89. typedef struct WbemAuthenticatedLocator WbemAuthenticatedLocator;
  90. #endif /* __cplusplus */
  91. #endif  /* __WbemAuthenticatedLocator_FWD_DEFINED__ */
  92. #ifndef __WbemUnauthenticatedLocator_FWD_DEFINED__
  93. #define __WbemUnauthenticatedLocator_FWD_DEFINED__
  94. #ifdef __cplusplus
  95. typedef class WbemUnauthenticatedLocator WbemUnauthenticatedLocator;
  96. #else
  97. typedef struct WbemUnauthenticatedLocator WbemUnauthenticatedLocator;
  98. #endif /* __cplusplus */
  99. #endif  /* __WbemUnauthenticatedLocator_FWD_DEFINED__ */
  100. #ifndef __WbemDecoupledRegistrar_FWD_DEFINED__
  101. #define __WbemDecoupledRegistrar_FWD_DEFINED__
  102. #ifdef __cplusplus
  103. typedef class WbemDecoupledRegistrar WbemDecoupledRegistrar;
  104. #else
  105. typedef struct WbemDecoupledRegistrar WbemDecoupledRegistrar;
  106. #endif /* __cplusplus */
  107. #endif  /* __WbemDecoupledRegistrar_FWD_DEFINED__ */
  108. #ifndef __WbemDecoupledBasicEventProvider_FWD_DEFINED__
  109. #define __WbemDecoupledBasicEventProvider_FWD_DEFINED__
  110. #ifdef __cplusplus
  111. typedef class WbemDecoupledBasicEventProvider WbemDecoupledBasicEventProvider;
  112. #else
  113. typedef struct WbemDecoupledBasicEventProvider WbemDecoupledBasicEventProvider;
  114. #endif /* __cplusplus */
  115. #endif  /* __WbemDecoupledBasicEventProvider_FWD_DEFINED__ */
  116. #ifndef __IWbemUnboundObjectSink_FWD_DEFINED__
  117. #define __IWbemUnboundObjectSink_FWD_DEFINED__
  118. typedef interface IWbemUnboundObjectSink IWbemUnboundObjectSink;
  119. #endif  /* __IWbemUnboundObjectSink_FWD_DEFINED__ */
  120. #ifndef __IWbemPropertyProvider_FWD_DEFINED__
  121. #define __IWbemPropertyProvider_FWD_DEFINED__
  122. typedef interface IWbemPropertyProvider IWbemPropertyProvider;
  123. #endif  /* __IWbemPropertyProvider_FWD_DEFINED__ */
  124. #ifndef __IWbemEventProvider_FWD_DEFINED__
  125. #define __IWbemEventProvider_FWD_DEFINED__
  126. typedef interface IWbemEventProvider IWbemEventProvider;
  127. #endif  /* __IWbemEventProvider_FWD_DEFINED__ */
  128. #ifndef __IWbemEventProviderQuerySink_FWD_DEFINED__
  129. #define __IWbemEventProviderQuerySink_FWD_DEFINED__
  130. typedef interface IWbemEventProviderQuerySink IWbemEventProviderQuerySink;
  131. #endif  /* __IWbemEventProviderQuerySink_FWD_DEFINED__ */
  132. #ifndef __IWbemEventProviderSecurity_FWD_DEFINED__
  133. #define __IWbemEventProviderSecurity_FWD_DEFINED__
  134. typedef interface IWbemEventProviderSecurity IWbemEventProviderSecurity;
  135. #endif  /* __IWbemEventProviderSecurity_FWD_DEFINED__ */
  136. #ifndef __IWbemProviderIdentity_FWD_DEFINED__
  137. #define __IWbemProviderIdentity_FWD_DEFINED__
  138. typedef interface IWbemProviderIdentity IWbemProviderIdentity;
  139. #endif  /* __IWbemProviderIdentity_FWD_DEFINED__ */
  140. #ifndef __IWbemEventConsumerProvider_FWD_DEFINED__
  141. #define __IWbemEventConsumerProvider_FWD_DEFINED__
  142. typedef interface IWbemEventConsumerProvider IWbemEventConsumerProvider;
  143. #endif  /* __IWbemEventConsumerProvider_FWD_DEFINED__ */
  144. #ifndef __IWbemEventConsumerProviderEx_FWD_DEFINED__
  145. #define __IWbemEventConsumerProviderEx_FWD_DEFINED__
  146. typedef interface IWbemEventConsumerProviderEx IWbemEventConsumerProviderEx;
  147. #endif  /* __IWbemEventConsumerProviderEx_FWD_DEFINED__ */
  148. #ifndef __IWbemProviderInitSink_FWD_DEFINED__
  149. #define __IWbemProviderInitSink_FWD_DEFINED__
  150. typedef interface IWbemProviderInitSink IWbemProviderInitSink;
  151. #endif  /* __IWbemProviderInitSink_FWD_DEFINED__ */
  152. #ifndef __IWbemProviderInit_FWD_DEFINED__
  153. #define __IWbemProviderInit_FWD_DEFINED__
  154. typedef interface IWbemProviderInit IWbemProviderInit;
  155. #endif  /* __IWbemProviderInit_FWD_DEFINED__ */
  156. #ifndef __IWbemHiPerfProvider_FWD_DEFINED__
  157. #define __IWbemHiPerfProvider_FWD_DEFINED__
  158. typedef interface IWbemHiPerfProvider IWbemHiPerfProvider;
  159. #endif  /* __IWbemHiPerfProvider_FWD_DEFINED__ */
  160. #ifndef __IWbemDecoupledRegistrar_FWD_DEFINED__
  161. #define __IWbemDecoupledRegistrar_FWD_DEFINED__
  162. typedef interface IWbemDecoupledRegistrar IWbemDecoupledRegistrar;
  163. #endif  /* __IWbemDecoupledRegistrar_FWD_DEFINED__ */
  164. #ifndef __IWbemDecoupledBasicEventProvider_FWD_DEFINED__
  165. #define __IWbemDecoupledBasicEventProvider_FWD_DEFINED__
  166. typedef interface IWbemDecoupledBasicEventProvider IWbemDecoupledBasicEventProvider;
  167. #endif  /* __IWbemDecoupledBasicEventProvider_FWD_DEFINED__ */
  168. #ifndef __IWbemEventSink_FWD_DEFINED__
  169. #define __IWbemEventSink_FWD_DEFINED__
  170. typedef interface IWbemEventSink IWbemEventSink;
  171. #endif  /* __IWbemEventSink_FWD_DEFINED__ */
  172. /* header files for imported files */
  173. #include "objidl.h"
  174. #include "oleidl.h"
  175. #include "oaidl.h"
  176. #include "wbemcli.h"
  177. #ifdef __cplusplus
  178. extern "C"{
  179. #endif 
  180. void * __RPC_USER MIDL_user_allocate(size_t);
  181. void __RPC_USER MIDL_user_free( void * ); 
  182. /* interface __MIDL_itf_wbemprov_0000 */
  183. /* [local] */ 
  184. typedef VARIANT WBEM_VARIANT;
  185. typedef /* [string] */ WCHAR *WBEM_WSTR;
  186. typedef /* [string] */ const WCHAR *WBEM_CWSTR;
  187. typedef /* [v1_enum] */ 
  188. enum tag_WBEM_PROVIDER_REQUIREMENTS_TYPE
  189.     { WBEM_REQUIREMENTS_START_POSTFILTER = 0,
  190. WBEM_REQUIREMENTS_STOP_POSTFILTER = 1,
  191. WBEM_REQUIREMENTS_RECHECK_SUBSCRIPTIONS = 2
  192.     }  WBEM_PROVIDER_REQUIREMENTS_TYPE;
  193. extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_v0_0_c_ifspec;
  194. extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0000_v0_0_s_ifspec;
  195. #ifndef __WbemProviders_v1_LIBRARY_DEFINED__
  196. #define __WbemProviders_v1_LIBRARY_DEFINED__
  197. /* library WbemProviders_v1 */
  198. /* [uuid] */ 
  199. EXTERN_C const IID LIBID_WbemProviders_v1;
  200. #ifndef __IWbemPropertyProvider_INTERFACE_DEFINED__
  201. #define __IWbemPropertyProvider_INTERFACE_DEFINED__
  202. /* interface IWbemPropertyProvider */
  203. /* [uuid][object][restricted] */ 
  204. EXTERN_C const IID IID_IWbemPropertyProvider;
  205. #if defined(__cplusplus) && !defined(CINTERFACE)
  206.     
  207.     MIDL_INTERFACE("CE61E841-65BC-11d0-B6BD-00AA003240C7")
  208.     IWbemPropertyProvider : public IUnknown
  209.     {
  210.     public:
  211.         virtual HRESULT STDMETHODCALLTYPE GetProperty( 
  212.             /* [in] */ long lFlags,
  213.             /* [in] */ const BSTR strLocale,
  214.             /* [in] */ const BSTR strClassMapping,
  215.             /* [in] */ const BSTR strInstMapping,
  216.             /* [in] */ const BSTR strPropMapping,
  217.             /* [out] */ VARIANT *pvValue) = 0;
  218.         
  219.         virtual HRESULT STDMETHODCALLTYPE PutProperty( 
  220.             /* [in] */ long lFlags,
  221.             /* [in] */ const BSTR strLocale,
  222.             /* [in] */ const BSTR strClassMapping,
  223.             /* [in] */ const BSTR strInstMapping,
  224.             /* [in] */ const BSTR strPropMapping,
  225.             /* [in] */ const VARIANT *pvValue) = 0;
  226.         
  227.     };
  228.     
  229. #else  /* C style interface */
  230.     typedef struct IWbemPropertyProviderVtbl
  231.     {
  232.         BEGIN_INTERFACE
  233.         
  234.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  235.             IWbemPropertyProvider * This,
  236.             /* [in] */ REFIID riid,
  237.             /* [iid_is][out] */ void **ppvObject);
  238.         
  239.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  240.             IWbemPropertyProvider * This);
  241.         
  242.         ULONG ( STDMETHODCALLTYPE *Release )( 
  243.             IWbemPropertyProvider * This);
  244.         
  245.         HRESULT ( STDMETHODCALLTYPE *GetProperty )( 
  246.             IWbemPropertyProvider * This,
  247.             /* [in] */ long lFlags,
  248.             /* [in] */ const BSTR strLocale,
  249.             /* [in] */ const BSTR strClassMapping,
  250.             /* [in] */ const BSTR strInstMapping,
  251.             /* [in] */ const BSTR strPropMapping,
  252.             /* [out] */ VARIANT *pvValue);
  253.         
  254.         HRESULT ( STDMETHODCALLTYPE *PutProperty )( 
  255.             IWbemPropertyProvider * This,
  256.             /* [in] */ long lFlags,
  257.             /* [in] */ const BSTR strLocale,
  258.             /* [in] */ const BSTR strClassMapping,
  259.             /* [in] */ const BSTR strInstMapping,
  260.             /* [in] */ const BSTR strPropMapping,
  261.             /* [in] */ const VARIANT *pvValue);
  262.         
  263.         END_INTERFACE
  264.     } IWbemPropertyProviderVtbl;
  265.     interface IWbemPropertyProvider
  266.     {
  267.         CONST_VTBL struct IWbemPropertyProviderVtbl *lpVtbl;
  268.     };
  269.     
  270. #ifdef COBJMACROS
  271. #define IWbemPropertyProvider_QueryInterface(This,riid,ppvObject)
  272.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  273. #define IWbemPropertyProvider_AddRef(This)
  274.     (This)->lpVtbl -> AddRef(This)
  275. #define IWbemPropertyProvider_Release(This)
  276.     (This)->lpVtbl -> Release(This)
  277. #define IWbemPropertyProvider_GetProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue)
  278.     (This)->lpVtbl -> GetProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue)
  279. #define IWbemPropertyProvider_PutProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue)
  280.     (This)->lpVtbl -> PutProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue)
  281. #endif /* COBJMACROS */
  282. #endif  /* C style interface */
  283. HRESULT STDMETHODCALLTYPE IWbemPropertyProvider_GetProperty_Proxy( 
  284.     IWbemPropertyProvider * This,
  285.     /* [in] */ long lFlags,
  286.     /* [in] */ const BSTR strLocale,
  287.     /* [in] */ const BSTR strClassMapping,
  288.     /* [in] */ const BSTR strInstMapping,
  289.     /* [in] */ const BSTR strPropMapping,
  290.     /* [out] */ VARIANT *pvValue);
  291. void __RPC_STUB IWbemPropertyProvider_GetProperty_Stub(
  292.     IRpcStubBuffer *This,
  293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  294.     PRPC_MESSAGE _pRpcMessage,
  295.     DWORD *_pdwStubPhase);
  296. HRESULT STDMETHODCALLTYPE IWbemPropertyProvider_PutProperty_Proxy( 
  297.     IWbemPropertyProvider * This,
  298.     /* [in] */ long lFlags,
  299.     /* [in] */ const BSTR strLocale,
  300.     /* [in] */ const BSTR strClassMapping,
  301.     /* [in] */ const BSTR strInstMapping,
  302.     /* [in] */ const BSTR strPropMapping,
  303.     /* [in] */ const VARIANT *pvValue);
  304. void __RPC_STUB IWbemPropertyProvider_PutProperty_Stub(
  305.     IRpcStubBuffer *This,
  306.     IRpcChannelBuffer *_pRpcChannelBuffer,
  307.     PRPC_MESSAGE _pRpcMessage,
  308.     DWORD *_pdwStubPhase);
  309. #endif  /* __IWbemPropertyProvider_INTERFACE_DEFINED__ */
  310. #ifndef __IWbemUnboundObjectSink_INTERFACE_DEFINED__
  311. #define __IWbemUnboundObjectSink_INTERFACE_DEFINED__
  312. /* interface IWbemUnboundObjectSink */
  313. /* [uuid][object][restricted] */ 
  314. EXTERN_C const IID IID_IWbemUnboundObjectSink;
  315. #if defined(__cplusplus) && !defined(CINTERFACE)
  316.     
  317.     MIDL_INTERFACE("e246107b-b06e-11d0-ad61-00c04fd8fdff")
  318.     IWbemUnboundObjectSink : public IUnknown
  319.     {
  320.     public:
  321.         virtual HRESULT STDMETHODCALLTYPE IndicateToConsumer( 
  322.             /* [in] */ IWbemClassObject *pLogicalConsumer,
  323.             /* [in] */ long lNumObjects,
  324.             /* [size_is][in] */ IWbemClassObject **apObjects) = 0;
  325.         
  326.     };
  327.     
  328. #else  /* C style interface */
  329.     typedef struct IWbemUnboundObjectSinkVtbl
  330.     {
  331.         BEGIN_INTERFACE
  332.         
  333.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  334.             IWbemUnboundObjectSink * This,
  335.             /* [in] */ REFIID riid,
  336.             /* [iid_is][out] */ void **ppvObject);
  337.         
  338.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  339.             IWbemUnboundObjectSink * This);
  340.         
  341.         ULONG ( STDMETHODCALLTYPE *Release )( 
  342.             IWbemUnboundObjectSink * This);
  343.         
  344.         HRESULT ( STDMETHODCALLTYPE *IndicateToConsumer )( 
  345.             IWbemUnboundObjectSink * This,
  346.             /* [in] */ IWbemClassObject *pLogicalConsumer,
  347.             /* [in] */ long lNumObjects,
  348.             /* [size_is][in] */ IWbemClassObject **apObjects);
  349.         
  350.         END_INTERFACE
  351.     } IWbemUnboundObjectSinkVtbl;
  352.     interface IWbemUnboundObjectSink
  353.     {
  354.         CONST_VTBL struct IWbemUnboundObjectSinkVtbl *lpVtbl;
  355.     };
  356.     
  357. #ifdef COBJMACROS
  358. #define IWbemUnboundObjectSink_QueryInterface(This,riid,ppvObject)
  359.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  360. #define IWbemUnboundObjectSink_AddRef(This)
  361.     (This)->lpVtbl -> AddRef(This)
  362. #define IWbemUnboundObjectSink_Release(This)
  363.     (This)->lpVtbl -> Release(This)
  364. #define IWbemUnboundObjectSink_IndicateToConsumer(This,pLogicalConsumer,lNumObjects,apObjects)
  365.     (This)->lpVtbl -> IndicateToConsumer(This,pLogicalConsumer,lNumObjects,apObjects)
  366. #endif /* COBJMACROS */
  367. #endif  /* C style interface */
  368. HRESULT STDMETHODCALLTYPE IWbemUnboundObjectSink_IndicateToConsumer_Proxy( 
  369.     IWbemUnboundObjectSink * This,
  370.     /* [in] */ IWbemClassObject *pLogicalConsumer,
  371.     /* [in] */ long lNumObjects,
  372.     /* [size_is][in] */ IWbemClassObject **apObjects);
  373. void __RPC_STUB IWbemUnboundObjectSink_IndicateToConsumer_Stub(
  374.     IRpcStubBuffer *This,
  375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  376.     PRPC_MESSAGE _pRpcMessage,
  377.     DWORD *_pdwStubPhase);
  378. #endif  /* __IWbemUnboundObjectSink_INTERFACE_DEFINED__ */
  379. #ifndef __IWbemEventProvider_INTERFACE_DEFINED__
  380. #define __IWbemEventProvider_INTERFACE_DEFINED__
  381. /* interface IWbemEventProvider */
  382. /* [uuid][object][restricted] */ 
  383. EXTERN_C const IID IID_IWbemEventProvider;
  384. #if defined(__cplusplus) && !defined(CINTERFACE)
  385.     
  386.     MIDL_INTERFACE("e245105b-b06e-11d0-ad61-00c04fd8fdff")
  387.     IWbemEventProvider : public IUnknown
  388.     {
  389.     public:
  390.         virtual HRESULT STDMETHODCALLTYPE ProvideEvents( 
  391.             /* [in] */ IWbemObjectSink *pSink,
  392.             /* [in] */ long lFlags) = 0;
  393.         
  394.     };
  395.     
  396. #else  /* C style interface */
  397.     typedef struct IWbemEventProviderVtbl
  398.     {
  399.         BEGIN_INTERFACE
  400.         
  401.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  402.             IWbemEventProvider * This,
  403.             /* [in] */ REFIID riid,
  404.             /* [iid_is][out] */ void **ppvObject);
  405.         
  406.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  407.             IWbemEventProvider * This);
  408.         
  409.         ULONG ( STDMETHODCALLTYPE *Release )( 
  410.             IWbemEventProvider * This);
  411.         
  412.         HRESULT ( STDMETHODCALLTYPE *ProvideEvents )( 
  413.             IWbemEventProvider * This,
  414.             /* [in] */ IWbemObjectSink *pSink,
  415.             /* [in] */ long lFlags);
  416.         
  417.         END_INTERFACE
  418.     } IWbemEventProviderVtbl;
  419.     interface IWbemEventProvider
  420.     {
  421.         CONST_VTBL struct IWbemEventProviderVtbl *lpVtbl;
  422.     };
  423.     
  424. #ifdef COBJMACROS
  425. #define IWbemEventProvider_QueryInterface(This,riid,ppvObject)
  426.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  427. #define IWbemEventProvider_AddRef(This)
  428.     (This)->lpVtbl -> AddRef(This)
  429. #define IWbemEventProvider_Release(This)
  430.     (This)->lpVtbl -> Release(This)
  431. #define IWbemEventProvider_ProvideEvents(This,pSink,lFlags)
  432.     (This)->lpVtbl -> ProvideEvents(This,pSink,lFlags)
  433. #endif /* COBJMACROS */
  434. #endif  /* C style interface */
  435. HRESULT STDMETHODCALLTYPE IWbemEventProvider_ProvideEvents_Proxy( 
  436.     IWbemEventProvider * This,
  437.     /* [in] */ IWbemObjectSink *pSink,
  438.     /* [in] */ long lFlags);
  439. void __RPC_STUB IWbemEventProvider_ProvideEvents_Stub(
  440.     IRpcStubBuffer *This,
  441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  442.     PRPC_MESSAGE _pRpcMessage,
  443.     DWORD *_pdwStubPhase);
  444. #endif  /* __IWbemEventProvider_INTERFACE_DEFINED__ */
  445. #ifndef __IWbemEventProviderQuerySink_INTERFACE_DEFINED__
  446. #define __IWbemEventProviderQuerySink_INTERFACE_DEFINED__
  447. /* interface IWbemEventProviderQuerySink */
  448. /* [uuid][object][restricted] */ 
  449. EXTERN_C const IID IID_IWbemEventProviderQuerySink;
  450. #if defined(__cplusplus) && !defined(CINTERFACE)
  451.     
  452.     MIDL_INTERFACE("580acaf8-fa1c-11d0-ad72-00c04fd8fdff")
  453.     IWbemEventProviderQuerySink : public IUnknown
  454.     {
  455.     public:
  456.         virtual HRESULT STDMETHODCALLTYPE NewQuery( 
  457.             /* [in] */ unsigned long dwId,
  458.             /* [in] */ WBEM_WSTR wszQueryLanguage,
  459.             /* [in] */ WBEM_WSTR wszQuery) = 0;
  460.         
  461.         virtual HRESULT STDMETHODCALLTYPE CancelQuery( 
  462.             /* [in] */ unsigned long dwId) = 0;
  463.         
  464.     };
  465.     
  466. #else  /* C style interface */
  467.     typedef struct IWbemEventProviderQuerySinkVtbl
  468.     {
  469.         BEGIN_INTERFACE
  470.         
  471.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  472.             IWbemEventProviderQuerySink * This,
  473.             /* [in] */ REFIID riid,
  474.             /* [iid_is][out] */ void **ppvObject);
  475.         
  476.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  477.             IWbemEventProviderQuerySink * This);
  478.         
  479.         ULONG ( STDMETHODCALLTYPE *Release )( 
  480.             IWbemEventProviderQuerySink * This);
  481.         
  482.         HRESULT ( STDMETHODCALLTYPE *NewQuery )( 
  483.             IWbemEventProviderQuerySink * This,
  484.             /* [in] */ unsigned long dwId,
  485.             /* [in] */ WBEM_WSTR wszQueryLanguage,
  486.             /* [in] */ WBEM_WSTR wszQuery);
  487.         
  488.         HRESULT ( STDMETHODCALLTYPE *CancelQuery )( 
  489.             IWbemEventProviderQuerySink * This,
  490.             /* [in] */ unsigned long dwId);
  491.         
  492.         END_INTERFACE
  493.     } IWbemEventProviderQuerySinkVtbl;
  494.     interface IWbemEventProviderQuerySink
  495.     {
  496.         CONST_VTBL struct IWbemEventProviderQuerySinkVtbl *lpVtbl;
  497.     };
  498.     
  499. #ifdef COBJMACROS
  500. #define IWbemEventProviderQuerySink_QueryInterface(This,riid,ppvObject)
  501.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  502. #define IWbemEventProviderQuerySink_AddRef(This)
  503.     (This)->lpVtbl -> AddRef(This)
  504. #define IWbemEventProviderQuerySink_Release(This)
  505.     (This)->lpVtbl -> Release(This)
  506. #define IWbemEventProviderQuerySink_NewQuery(This,dwId,wszQueryLanguage,wszQuery)
  507.     (This)->lpVtbl -> NewQuery(This,dwId,wszQueryLanguage,wszQuery)
  508. #define IWbemEventProviderQuerySink_CancelQuery(This,dwId)
  509.     (This)->lpVtbl -> CancelQuery(This,dwId)
  510. #endif /* COBJMACROS */
  511. #endif  /* C style interface */
  512. HRESULT STDMETHODCALLTYPE IWbemEventProviderQuerySink_NewQuery_Proxy( 
  513.     IWbemEventProviderQuerySink * This,
  514.     /* [in] */ unsigned long dwId,
  515.     /* [in] */ WBEM_WSTR wszQueryLanguage,
  516.     /* [in] */ WBEM_WSTR wszQuery);
  517. void __RPC_STUB IWbemEventProviderQuerySink_NewQuery_Stub(
  518.     IRpcStubBuffer *This,
  519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  520.     PRPC_MESSAGE _pRpcMessage,
  521.     DWORD *_pdwStubPhase);
  522. HRESULT STDMETHODCALLTYPE IWbemEventProviderQuerySink_CancelQuery_Proxy( 
  523.     IWbemEventProviderQuerySink * This,
  524.     /* [in] */ unsigned long dwId);
  525. void __RPC_STUB IWbemEventProviderQuerySink_CancelQuery_Stub(
  526.     IRpcStubBuffer *This,
  527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  528.     PRPC_MESSAGE _pRpcMessage,
  529.     DWORD *_pdwStubPhase);
  530. #endif  /* __IWbemEventProviderQuerySink_INTERFACE_DEFINED__ */
  531. #ifndef __IWbemEventProviderSecurity_INTERFACE_DEFINED__
  532. #define __IWbemEventProviderSecurity_INTERFACE_DEFINED__
  533. /* interface IWbemEventProviderSecurity */
  534. /* [uuid][object][restricted] */ 
  535. EXTERN_C const IID IID_IWbemEventProviderSecurity;
  536. #if defined(__cplusplus) && !defined(CINTERFACE)
  537.     
  538.     MIDL_INTERFACE("631f7d96-d993-11d2-b339-00105a1f4aaf")
  539.     IWbemEventProviderSecurity : public IUnknown
  540.     {
  541.     public:
  542.         virtual HRESULT STDMETHODCALLTYPE AccessCheck( 
  543.             /* [in] */ WBEM_CWSTR wszQueryLanguage,
  544.             /* [in] */ WBEM_CWSTR wszQuery,
  545.             /* [in] */ long lSidLength,
  546.             /* [unique][size_is][in] */ const BYTE *pSid) = 0;
  547.         
  548.     };
  549.     
  550. #else  /* C style interface */
  551.     typedef struct IWbemEventProviderSecurityVtbl
  552.     {
  553.         BEGIN_INTERFACE
  554.         
  555.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  556.             IWbemEventProviderSecurity * This,
  557.             /* [in] */ REFIID riid,
  558.             /* [iid_is][out] */ void **ppvObject);
  559.         
  560.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  561.             IWbemEventProviderSecurity * This);
  562.         
  563.         ULONG ( STDMETHODCALLTYPE *Release )( 
  564.             IWbemEventProviderSecurity * This);
  565.         
  566.         HRESULT ( STDMETHODCALLTYPE *AccessCheck )( 
  567.             IWbemEventProviderSecurity * This,
  568.             /* [in] */ WBEM_CWSTR wszQueryLanguage,
  569.             /* [in] */ WBEM_CWSTR wszQuery,
  570.             /* [in] */ long lSidLength,
  571.             /* [unique][size_is][in] */ const BYTE *pSid);
  572.         
  573.         END_INTERFACE
  574.     } IWbemEventProviderSecurityVtbl;
  575.     interface IWbemEventProviderSecurity
  576.     {
  577.         CONST_VTBL struct IWbemEventProviderSecurityVtbl *lpVtbl;
  578.     };
  579.     
  580. #ifdef COBJMACROS
  581. #define IWbemEventProviderSecurity_QueryInterface(This,riid,ppvObject)
  582.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  583. #define IWbemEventProviderSecurity_AddRef(This)
  584.     (This)->lpVtbl -> AddRef(This)
  585. #define IWbemEventProviderSecurity_Release(This)
  586.     (This)->lpVtbl -> Release(This)
  587. #define IWbemEventProviderSecurity_AccessCheck(This,wszQueryLanguage,wszQuery,lSidLength,pSid)
  588.     (This)->lpVtbl -> AccessCheck(This,wszQueryLanguage,wszQuery,lSidLength,pSid)
  589. #endif /* COBJMACROS */
  590. #endif  /* C style interface */
  591. HRESULT STDMETHODCALLTYPE IWbemEventProviderSecurity_AccessCheck_Proxy( 
  592.     IWbemEventProviderSecurity * This,
  593.     /* [in] */ WBEM_CWSTR wszQueryLanguage,
  594.     /* [in] */ WBEM_CWSTR wszQuery,
  595.     /* [in] */ long lSidLength,
  596.     /* [unique][size_is][in] */ const BYTE *pSid);
  597. void __RPC_STUB IWbemEventProviderSecurity_AccessCheck_Stub(
  598.     IRpcStubBuffer *This,
  599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  600.     PRPC_MESSAGE _pRpcMessage,
  601.     DWORD *_pdwStubPhase);
  602. #endif  /* __IWbemEventProviderSecurity_INTERFACE_DEFINED__ */
  603. #ifndef __IWbemEventConsumerProvider_INTERFACE_DEFINED__
  604. #define __IWbemEventConsumerProvider_INTERFACE_DEFINED__
  605. /* interface IWbemEventConsumerProvider */
  606. /* [uuid][object][restricted] */ 
  607. EXTERN_C const IID IID_IWbemEventConsumerProvider;
  608. #if defined(__cplusplus) && !defined(CINTERFACE)
  609.     
  610.     MIDL_INTERFACE("e246107a-b06e-11d0-ad61-00c04fd8fdff")
  611.     IWbemEventConsumerProvider : public IUnknown
  612.     {
  613.     public:
  614.         virtual HRESULT STDMETHODCALLTYPE FindConsumer( 
  615.             /* [in] */ IWbemClassObject *pLogicalConsumer,
  616.             /* [out] */ IWbemUnboundObjectSink **ppConsumer) = 0;
  617.         
  618.     };
  619.     
  620. #else  /* C style interface */
  621.     typedef struct IWbemEventConsumerProviderVtbl
  622.     {
  623.         BEGIN_INTERFACE
  624.         
  625.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  626.             IWbemEventConsumerProvider * This,
  627.             /* [in] */ REFIID riid,
  628.             /* [iid_is][out] */ void **ppvObject);
  629.         
  630.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  631.             IWbemEventConsumerProvider * This);
  632.         
  633.         ULONG ( STDMETHODCALLTYPE *Release )( 
  634.             IWbemEventConsumerProvider * This);
  635.         
  636.         HRESULT ( STDMETHODCALLTYPE *FindConsumer )( 
  637.             IWbemEventConsumerProvider * This,
  638.             /* [in] */ IWbemClassObject *pLogicalConsumer,
  639.             /* [out] */ IWbemUnboundObjectSink **ppConsumer);
  640.         
  641.         END_INTERFACE
  642.     } IWbemEventConsumerProviderVtbl;
  643.     interface IWbemEventConsumerProvider
  644.     {
  645.         CONST_VTBL struct IWbemEventConsumerProviderVtbl *lpVtbl;
  646.     };
  647.     
  648. #ifdef COBJMACROS
  649. #define IWbemEventConsumerProvider_QueryInterface(This,riid,ppvObject)
  650.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  651. #define IWbemEventConsumerProvider_AddRef(This)
  652.     (This)->lpVtbl -> AddRef(This)
  653. #define IWbemEventConsumerProvider_Release(This)
  654.     (This)->lpVtbl -> Release(This)
  655. #define IWbemEventConsumerProvider_FindConsumer(This,pLogicalConsumer,ppConsumer)
  656.     (This)->lpVtbl -> FindConsumer(This,pLogicalConsumer,ppConsumer)
  657. #endif /* COBJMACROS */
  658. #endif  /* C style interface */
  659. HRESULT STDMETHODCALLTYPE IWbemEventConsumerProvider_FindConsumer_Proxy( 
  660.     IWbemEventConsumerProvider * This,
  661.     /* [in] */ IWbemClassObject *pLogicalConsumer,
  662.     /* [out] */ IWbemUnboundObjectSink **ppConsumer);
  663. void __RPC_STUB IWbemEventConsumerProvider_FindConsumer_Stub(
  664.     IRpcStubBuffer *This,
  665.     IRpcChannelBuffer *_pRpcChannelBuffer,
  666.     PRPC_MESSAGE _pRpcMessage,
  667.     DWORD *_pdwStubPhase);
  668. #endif  /* __IWbemEventConsumerProvider_INTERFACE_DEFINED__ */
  669. #ifndef __IWbemEventConsumerProviderEx_INTERFACE_DEFINED__
  670. #define __IWbemEventConsumerProviderEx_INTERFACE_DEFINED__
  671. /* interface IWbemEventConsumerProviderEx */
  672. /* [uuid][restricted][object] */ 
  673. EXTERN_C const IID IID_IWbemEventConsumerProviderEx;
  674. #if defined(__cplusplus) && !defined(CINTERFACE)
  675.     
  676.     MIDL_INTERFACE("17cf534a-d8a3-4ad0-ac92-5e3d01717151")
  677.     IWbemEventConsumerProviderEx : public IWbemEventConsumerProvider
  678.     {
  679.     public:
  680.         virtual HRESULT STDMETHODCALLTYPE ValidateSubscription( 
  681.             /* [in] */ IWbemClassObject *pLogicalConsumer) = 0;
  682.         
  683.     };
  684.     
  685. #else  /* C style interface */
  686.     typedef struct IWbemEventConsumerProviderExVtbl
  687.     {
  688.         BEGIN_INTERFACE
  689.         
  690.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  691.             IWbemEventConsumerProviderEx * This,
  692.             /* [in] */ REFIID riid,
  693.             /* [iid_is][out] */ void **ppvObject);
  694.         
  695.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  696.             IWbemEventConsumerProviderEx * This);
  697.         
  698.         ULONG ( STDMETHODCALLTYPE *Release )( 
  699.             IWbemEventConsumerProviderEx * This);
  700.         
  701.         HRESULT ( STDMETHODCALLTYPE *FindConsumer )( 
  702.             IWbemEventConsumerProviderEx * This,
  703.             /* [in] */ IWbemClassObject *pLogicalConsumer,
  704.             /* [out] */ IWbemUnboundObjectSink **ppConsumer);
  705.         
  706.         HRESULT ( STDMETHODCALLTYPE *ValidateSubscription )( 
  707.             IWbemEventConsumerProviderEx * This,
  708.             /* [in] */ IWbemClassObject *pLogicalConsumer);
  709.         
  710.         END_INTERFACE
  711.     } IWbemEventConsumerProviderExVtbl;
  712.     interface IWbemEventConsumerProviderEx
  713.     {
  714.         CONST_VTBL struct IWbemEventConsumerProviderExVtbl *lpVtbl;
  715.     };
  716.     
  717. #ifdef COBJMACROS
  718. #define IWbemEventConsumerProviderEx_QueryInterface(This,riid,ppvObject)
  719.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  720. #define IWbemEventConsumerProviderEx_AddRef(This)
  721.     (This)->lpVtbl -> AddRef(This)
  722. #define IWbemEventConsumerProviderEx_Release(This)
  723.     (This)->lpVtbl -> Release(This)
  724. #define IWbemEventConsumerProviderEx_FindConsumer(This,pLogicalConsumer,ppConsumer)
  725.     (This)->lpVtbl -> FindConsumer(This,pLogicalConsumer,ppConsumer)
  726. #define IWbemEventConsumerProviderEx_ValidateSubscription(This,pLogicalConsumer)
  727.     (This)->lpVtbl -> ValidateSubscription(This,pLogicalConsumer)
  728. #endif /* COBJMACROS */
  729. #endif  /* C style interface */
  730. HRESULT STDMETHODCALLTYPE IWbemEventConsumerProviderEx_ValidateSubscription_Proxy( 
  731.     IWbemEventConsumerProviderEx * This,
  732.     /* [in] */ IWbemClassObject *pLogicalConsumer);
  733. void __RPC_STUB IWbemEventConsumerProviderEx_ValidateSubscription_Stub(
  734.     IRpcStubBuffer *This,
  735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  736.     PRPC_MESSAGE _pRpcMessage,
  737.     DWORD *_pdwStubPhase);
  738. #endif  /* __IWbemEventConsumerProviderEx_INTERFACE_DEFINED__ */
  739. #ifndef __IWbemProviderInitSink_INTERFACE_DEFINED__
  740. #define __IWbemProviderInitSink_INTERFACE_DEFINED__
  741. /* interface IWbemProviderInitSink */
  742. /* [uuid][object] */ 
  743. EXTERN_C const IID IID_IWbemProviderInitSink;
  744. #if defined(__cplusplus) && !defined(CINTERFACE)
  745.     
  746.     MIDL_INTERFACE("1be41571-91dd-11d1-aeb2-00c04fb68820")
  747.     IWbemProviderInitSink : public IUnknown
  748.     {
  749.     public:
  750.         virtual HRESULT STDMETHODCALLTYPE SetStatus( 
  751.             /* [in] */ LONG lStatus,
  752.             /* [in] */ LONG lFlags) = 0;
  753.         
  754.     };
  755.     
  756. #else  /* C style interface */
  757.     typedef struct IWbemProviderInitSinkVtbl
  758.     {
  759.         BEGIN_INTERFACE
  760.         
  761.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  762.             IWbemProviderInitSink * This,
  763.             /* [in] */ REFIID riid,
  764.             /* [iid_is][out] */ void **ppvObject);
  765.         
  766.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  767.             IWbemProviderInitSink * This);
  768.         
  769.         ULONG ( STDMETHODCALLTYPE *Release )( 
  770.             IWbemProviderInitSink * This);
  771.         
  772.         HRESULT ( STDMETHODCALLTYPE *SetStatus )( 
  773.             IWbemProviderInitSink * This,
  774.             /* [in] */ LONG lStatus,
  775.             /* [in] */ LONG lFlags);
  776.         
  777.         END_INTERFACE
  778.     } IWbemProviderInitSinkVtbl;
  779.     interface IWbemProviderInitSink
  780.     {
  781.         CONST_VTBL struct IWbemProviderInitSinkVtbl *lpVtbl;
  782.     };
  783.     
  784. #ifdef COBJMACROS
  785. #define IWbemProviderInitSink_QueryInterface(This,riid,ppvObject)
  786.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  787. #define IWbemProviderInitSink_AddRef(This)
  788.     (This)->lpVtbl -> AddRef(This)
  789. #define IWbemProviderInitSink_Release(This)
  790.     (This)->lpVtbl -> Release(This)
  791. #define IWbemProviderInitSink_SetStatus(This,lStatus,lFlags)
  792.     (This)->lpVtbl -> SetStatus(This,lStatus,lFlags)
  793. #endif /* COBJMACROS */
  794. #endif  /* C style interface */
  795. HRESULT STDMETHODCALLTYPE IWbemProviderInitSink_SetStatus_Proxy( 
  796.     IWbemProviderInitSink * This,
  797.     /* [in] */ LONG lStatus,
  798.     /* [in] */ LONG lFlags);
  799. void __RPC_STUB IWbemProviderInitSink_SetStatus_Stub(
  800.     IRpcStubBuffer *This,
  801.     IRpcChannelBuffer *_pRpcChannelBuffer,
  802.     PRPC_MESSAGE _pRpcMessage,
  803.     DWORD *_pdwStubPhase);
  804. #endif  /* __IWbemProviderInitSink_INTERFACE_DEFINED__ */
  805. #ifndef __IWbemProviderInit_INTERFACE_DEFINED__
  806. #define __IWbemProviderInit_INTERFACE_DEFINED__
  807. /* interface IWbemProviderInit */
  808. /* [uuid][object] */ 
  809. EXTERN_C const IID IID_IWbemProviderInit;
  810. #if defined(__cplusplus) && !defined(CINTERFACE)
  811.     
  812.     MIDL_INTERFACE("1be41572-91dd-11d1-aeb2-00c04fb68820")
  813.     IWbemProviderInit : public IUnknown
  814.     {
  815.     public:
  816.         virtual HRESULT STDMETHODCALLTYPE Initialize( 
  817.             /* [string][unique][in] */ LPWSTR wszUser,
  818.             /* [in] */ LONG lFlags,
  819.             /* [string][in] */ LPWSTR wszNamespace,
  820.             /* [string][unique][in] */ LPWSTR wszLocale,
  821.             /* [in] */ IWbemServices *pNamespace,
  822.             /* [in] */ IWbemContext *pCtx,
  823.             /* [in] */ IWbemProviderInitSink *pInitSink) = 0;
  824.         
  825.     };
  826.     
  827. #else  /* C style interface */
  828.     typedef struct IWbemProviderInitVtbl
  829.     {
  830.         BEGIN_INTERFACE
  831.         
  832.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  833.             IWbemProviderInit * This,
  834.             /* [in] */ REFIID riid,
  835.             /* [iid_is][out] */ void **ppvObject);
  836.         
  837.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  838.             IWbemProviderInit * This);
  839.         
  840.         ULONG ( STDMETHODCALLTYPE *Release )( 
  841.             IWbemProviderInit * This);
  842.         
  843.         HRESULT ( STDMETHODCALLTYPE *Initialize )( 
  844.             IWbemProviderInit * This,
  845.             /* [string][unique][in] */ LPWSTR wszUser,
  846.             /* [in] */ LONG lFlags,
  847.             /* [string][in] */ LPWSTR wszNamespace,
  848.             /* [string][unique][in] */ LPWSTR wszLocale,
  849.             /* [in] */ IWbemServices *pNamespace,
  850.             /* [in] */ IWbemContext *pCtx,
  851.             /* [in] */ IWbemProviderInitSink *pInitSink);
  852.         
  853.         END_INTERFACE
  854.     } IWbemProviderInitVtbl;
  855.     interface IWbemProviderInit
  856.     {
  857.         CONST_VTBL struct IWbemProviderInitVtbl *lpVtbl;
  858.     };
  859.     
  860. #ifdef COBJMACROS
  861. #define IWbemProviderInit_QueryInterface(This,riid,ppvObject)
  862.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  863. #define IWbemProviderInit_AddRef(This)
  864.     (This)->lpVtbl -> AddRef(This)
  865. #define IWbemProviderInit_Release(This)
  866.     (This)->lpVtbl -> Release(This)
  867. #define IWbemProviderInit_Initialize(This,wszUser,lFlags,wszNamespace,wszLocale,pNamespace,pCtx,pInitSink)
  868.     (This)->lpVtbl -> Initialize(This,wszUser,lFlags,wszNamespace,wszLocale,pNamespace,pCtx,pInitSink)
  869. #endif /* COBJMACROS */
  870. #endif  /* C style interface */
  871. HRESULT STDMETHODCALLTYPE IWbemProviderInit_Initialize_Proxy( 
  872.     IWbemProviderInit * This,
  873.     /* [string][unique][in] */ LPWSTR wszUser,
  874.     /* [in] */ LONG lFlags,
  875.     /* [string][in] */ LPWSTR wszNamespace,
  876.     /* [string][unique][in] */ LPWSTR wszLocale,
  877.     /* [in] */ IWbemServices *pNamespace,
  878.     /* [in] */ IWbemContext *pCtx,
  879.     /* [in] */ IWbemProviderInitSink *pInitSink);
  880. void __RPC_STUB IWbemProviderInit_Initialize_Stub(
  881.     IRpcStubBuffer *This,
  882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  883.     PRPC_MESSAGE _pRpcMessage,
  884.     DWORD *_pdwStubPhase);
  885. #endif  /* __IWbemProviderInit_INTERFACE_DEFINED__ */
  886. #ifndef __IWbemHiPerfProvider_INTERFACE_DEFINED__
  887. #define __IWbemHiPerfProvider_INTERFACE_DEFINED__
  888. /* interface IWbemHiPerfProvider */
  889. /* [uuid][object][restricted][local] */ 
  890. EXTERN_C const IID IID_IWbemHiPerfProvider;
  891. #if defined(__cplusplus) && !defined(CINTERFACE)
  892.     
  893.     MIDL_INTERFACE("49353c93-516b-11d1-aea6-00c04fb68820")
  894.     IWbemHiPerfProvider : public IUnknown
  895.     {
  896.     public:
  897.         virtual HRESULT STDMETHODCALLTYPE QueryInstances( 
  898.             /* [in] */ IWbemServices *pNamespace,
  899.             /* [string][in] */ WCHAR *wszClass,
  900.             /* [in] */ long lFlags,
  901.             /* [in] */ IWbemContext *pCtx,
  902.             /* [in] */ IWbemObjectSink *pSink) = 0;
  903.         
  904.         virtual HRESULT STDMETHODCALLTYPE CreateRefresher( 
  905.             /* [in] */ IWbemServices *pNamespace,
  906.             /* [in] */ long lFlags,
  907.             /* [out] */ IWbemRefresher **ppRefresher) = 0;
  908.         
  909.         virtual HRESULT STDMETHODCALLTYPE CreateRefreshableObject( 
  910.             /* [in] */ IWbemServices *pNamespace,
  911.             /* [in] */ IWbemObjectAccess *pTemplate,
  912.             /* [in] */ IWbemRefresher *pRefresher,
  913.             /* [in] */ long lFlags,
  914.             /* [in] */ IWbemContext *pContext,
  915.             /* [out] */ IWbemObjectAccess **ppRefreshable,
  916.             /* [out] */ long *plId) = 0;
  917.         
  918.         virtual HRESULT STDMETHODCALLTYPE StopRefreshing( 
  919.             /* [in] */ IWbemRefresher *pRefresher,
  920.             /* [in] */ long lId,
  921.             /* [in] */ long lFlags) = 0;
  922.         
  923.         virtual HRESULT STDMETHODCALLTYPE CreateRefreshableEnum( 
  924.             /* [in] */ IWbemServices *pNamespace,
  925.             /* [string][in] */ LPCWSTR wszClass,
  926.             /* [in] */ IWbemRefresher *pRefresher,
  927.             /* [in] */ long lFlags,
  928.             /* [in] */ IWbemContext *pContext,
  929.             /* [in] */ IWbemHiPerfEnum *pHiPerfEnum,
  930.             /* [out] */ long *plId) = 0;
  931.         
  932.         virtual HRESULT STDMETHODCALLTYPE GetObjects( 
  933.             /* [in] */ IWbemServices *pNamespace,
  934.             /* [in] */ long lNumObjects,
  935.             /* [size_is][out][in] */ IWbemObjectAccess **apObj,
  936.             /* [in] */ long lFlags,
  937.             /* [in] */ IWbemContext *pContext) = 0;
  938.         
  939.     };
  940.     
  941. #else  /* C style interface */
  942.     typedef struct IWbemHiPerfProviderVtbl
  943.     {
  944.         BEGIN_INTERFACE
  945.         
  946.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  947.             IWbemHiPerfProvider * This,
  948.             /* [in] */ REFIID riid,
  949.             /* [iid_is][out] */ void **ppvObject);
  950.         
  951.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  952.             IWbemHiPerfProvider * This);
  953.         
  954.         ULONG ( STDMETHODCALLTYPE *Release )( 
  955.             IWbemHiPerfProvider * This);
  956.         
  957.         HRESULT ( STDMETHODCALLTYPE *QueryInstances )( 
  958.             IWbemHiPerfProvider * This,
  959.             /* [in] */ IWbemServices *pNamespace,
  960.             /* [string][in] */ WCHAR *wszClass,
  961.             /* [in] */ long lFlags,
  962.             /* [in] */ IWbemContext *pCtx,
  963.             /* [in] */ IWbemObjectSink *pSink);
  964.         
  965.         HRESULT ( STDMETHODCALLTYPE *CreateRefresher )( 
  966.             IWbemHiPerfProvider * This,
  967.             /* [in] */ IWbemServices *pNamespace,
  968.             /* [in] */ long lFlags,
  969.             /* [out] */ IWbemRefresher **ppRefresher);
  970.         
  971.         HRESULT ( STDMETHODCALLTYPE *CreateRefreshableObject )( 
  972.             IWbemHiPerfProvider * This,
  973.             /* [in] */ IWbemServices *pNamespace,
  974.             /* [in] */ IWbemObjectAccess *pTemplate,
  975.             /* [in] */ IWbemRefresher *pRefresher,
  976.             /* [in] */ long lFlags,
  977.             /* [in] */ IWbemContext *pContext,
  978.             /* [out] */ IWbemObjectAccess **ppRefreshable,
  979.             /* [out] */ long *plId);
  980.         
  981.         HRESULT ( STDMETHODCALLTYPE *StopRefreshing )( 
  982.             IWbemHiPerfProvider * This,
  983.             /* [in] */ IWbemRefresher *pRefresher,
  984.             /* [in] */ long lId,
  985.             /* [in] */ long lFlags);
  986.         
  987.         HRESULT ( STDMETHODCALLTYPE *CreateRefreshableEnum )( 
  988.             IWbemHiPerfProvider * This,
  989.             /* [in] */ IWbemServices *pNamespace,
  990.             /* [string][in] */ LPCWSTR wszClass,
  991.             /* [in] */ IWbemRefresher *pRefresher,
  992.             /* [in] */ long lFlags,
  993.             /* [in] */ IWbemContext *pContext,
  994.             /* [in] */ IWbemHiPerfEnum *pHiPerfEnum,
  995.             /* [out] */ long *plId);
  996.         
  997.         HRESULT ( STDMETHODCALLTYPE *GetObjects )( 
  998.             IWbemHiPerfProvider * This,
  999.             /* [in] */ IWbemServices *pNamespace,
  1000.             /* [in] */ long lNumObjects,
  1001.             /* [size_is][out][in] */ IWbemObjectAccess **apObj,
  1002.             /* [in] */ long lFlags,
  1003.             /* [in] */ IWbemContext *pContext);
  1004.         
  1005.         END_INTERFACE
  1006.     } IWbemHiPerfProviderVtbl;
  1007.     interface IWbemHiPerfProvider
  1008.     {
  1009.         CONST_VTBL struct IWbemHiPerfProviderVtbl *lpVtbl;
  1010.     };
  1011.     
  1012. #ifdef COBJMACROS
  1013. #define IWbemHiPerfProvider_QueryInterface(This,riid,ppvObject)
  1014.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1015. #define IWbemHiPerfProvider_AddRef(This)
  1016.     (This)->lpVtbl -> AddRef(This)
  1017. #define IWbemHiPerfProvider_Release(This)
  1018.     (This)->lpVtbl -> Release(This)
  1019. #define IWbemHiPerfProvider_QueryInstances(This,pNamespace,wszClass,lFlags,pCtx,pSink)
  1020.     (This)->lpVtbl -> QueryInstances(This,pNamespace,wszClass,lFlags,pCtx,pSink)
  1021. #define IWbemHiPerfProvider_CreateRefresher(This,pNamespace,lFlags,ppRefresher)
  1022.     (This)->lpVtbl -> CreateRefresher(This,pNamespace,lFlags,ppRefresher)
  1023. #define IWbemHiPerfProvider_CreateRefreshableObject(This,pNamespace,pTemplate,pRefresher,lFlags,pContext,ppRefreshable,plId)
  1024.     (This)->lpVtbl -> CreateRefreshableObject(This,pNamespace,pTemplate,pRefresher,lFlags,pContext,ppRefreshable,plId)
  1025. #define IWbemHiPerfProvider_StopRefreshing(This,pRefresher,lId,lFlags)
  1026.     (This)->lpVtbl -> StopRefreshing(This,pRefresher,lId,lFlags)
  1027. #define IWbemHiPerfProvider_CreateRefreshableEnum(This,pNamespace,wszClass,pRefresher,lFlags,pContext,pHiPerfEnum,plId)
  1028.     (This)->lpVtbl -> CreateRefreshableEnum(This,pNamespace,wszClass,pRefresher,lFlags,pContext,pHiPerfEnum,plId)
  1029. #define IWbemHiPerfProvider_GetObjects(This,pNamespace,lNumObjects,apObj,lFlags,pContext)
  1030.     (This)->lpVtbl -> GetObjects(This,pNamespace,lNumObjects,apObj,lFlags,pContext)
  1031. #endif /* COBJMACROS */
  1032. #endif  /* C style interface */
  1033. HRESULT STDMETHODCALLTYPE IWbemHiPerfProvider_QueryInstances_Proxy( 
  1034.     IWbemHiPerfProvider * This,
  1035.     /* [in] */ IWbemServices *pNamespace,
  1036.     /* [string][in] */ WCHAR *wszClass,
  1037.     /* [in] */ long lFlags,
  1038.     /* [in] */ IWbemContext *pCtx,
  1039.     /* [in] */ IWbemObjectSink *pSink);
  1040. void __RPC_STUB IWbemHiPerfProvider_QueryInstances_Stub(
  1041.     IRpcStubBuffer *This,
  1042.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1043.     PRPC_MESSAGE _pRpcMessage,
  1044.     DWORD *_pdwStubPhase);
  1045. HRESULT STDMETHODCALLTYPE IWbemHiPerfProvider_CreateRefresher_Proxy( 
  1046.     IWbemHiPerfProvider * This,
  1047.     /* [in] */ IWbemServices *pNamespace,
  1048.     /* [in] */ long lFlags,
  1049.     /* [out] */ IWbemRefresher **ppRefresher);
  1050. void __RPC_STUB IWbemHiPerfProvider_CreateRefresher_Stub(
  1051.     IRpcStubBuffer *This,
  1052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1053.     PRPC_MESSAGE _pRpcMessage,
  1054.     DWORD *_pdwStubPhase);
  1055. HRESULT STDMETHODCALLTYPE IWbemHiPerfProvider_CreateRefreshableObject_Proxy( 
  1056.     IWbemHiPerfProvider * This,
  1057.     /* [in] */ IWbemServices *pNamespace,
  1058.     /* [in] */ IWbemObjectAccess *pTemplate,
  1059.     /* [in] */ IWbemRefresher *pRefresher,
  1060.     /* [in] */ long lFlags,
  1061.     /* [in] */ IWbemContext *pContext,
  1062.     /* [out] */ IWbemObjectAccess **ppRefreshable,
  1063.     /* [out] */ long *plId);
  1064. void __RPC_STUB IWbemHiPerfProvider_CreateRefreshableObject_Stub(
  1065.     IRpcStubBuffer *This,
  1066.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1067.     PRPC_MESSAGE _pRpcMessage,
  1068.     DWORD *_pdwStubPhase);
  1069. HRESULT STDMETHODCALLTYPE IWbemHiPerfProvider_StopRefreshing_Proxy( 
  1070.     IWbemHiPerfProvider * This,
  1071.     /* [in] */ IWbemRefresher *pRefresher,
  1072.     /* [in] */ long lId,
  1073.     /* [in] */ long lFlags);
  1074. void __RPC_STUB IWbemHiPerfProvider_StopRefreshing_Stub(
  1075.     IRpcStubBuffer *This,
  1076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1077.     PRPC_MESSAGE _pRpcMessage,
  1078.     DWORD *_pdwStubPhase);
  1079. HRESULT STDMETHODCALLTYPE IWbemHiPerfProvider_CreateRefreshableEnum_Proxy( 
  1080.     IWbemHiPerfProvider * This,
  1081.     /* [in] */ IWbemServices *pNamespace,
  1082.     /* [string][in] */ LPCWSTR wszClass,
  1083.     /* [in] */ IWbemRefresher *pRefresher,
  1084.     /* [in] */ long lFlags,
  1085.     /* [in] */ IWbemContext *pContext,
  1086.     /* [in] */ IWbemHiPerfEnum *pHiPerfEnum,
  1087.     /* [out] */ long *plId);
  1088. void __RPC_STUB IWbemHiPerfProvider_CreateRefreshableEnum_Stub(
  1089.     IRpcStubBuffer *This,
  1090.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1091.     PRPC_MESSAGE _pRpcMessage,
  1092.     DWORD *_pdwStubPhase);
  1093. HRESULT STDMETHODCALLTYPE IWbemHiPerfProvider_GetObjects_Proxy( 
  1094.     IWbemHiPerfProvider * This,
  1095.     /* [in] */ IWbemServices *pNamespace,
  1096.     /* [in] */ long lNumObjects,
  1097.     /* [size_is][out][in] */ IWbemObjectAccess **apObj,
  1098.     /* [in] */ long lFlags,
  1099.     /* [in] */ IWbemContext *pContext);
  1100. void __RPC_STUB IWbemHiPerfProvider_GetObjects_Stub(
  1101.     IRpcStubBuffer *This,
  1102.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1103.     PRPC_MESSAGE _pRpcMessage,
  1104.     DWORD *_pdwStubPhase);
  1105. #endif  /* __IWbemHiPerfProvider_INTERFACE_DEFINED__ */
  1106. #ifndef __IWbemDecoupledRegistrar_INTERFACE_DEFINED__
  1107. #define __IWbemDecoupledRegistrar_INTERFACE_DEFINED__
  1108. /* interface IWbemDecoupledRegistrar */
  1109. /* [uuid][local][object] */ 
  1110. EXTERN_C const IID IID_IWbemDecoupledRegistrar;
  1111. #if defined(__cplusplus) && !defined(CINTERFACE)
  1112.     
  1113.     MIDL_INTERFACE("1005cbcf-e64f-4646-bcd3-3a089d8a84b4")
  1114.     IWbemDecoupledRegistrar : public IUnknown
  1115.     {
  1116.     public:
  1117.         virtual HRESULT STDMETHODCALLTYPE Register( 
  1118.             /* [in] */ long a_Flags,
  1119.             /* [in] */ IWbemContext *a_Context,
  1120.             /* [in] */ LPCWSTR a_User,
  1121.             /* [in] */ LPCWSTR a_Locale,
  1122.             /* [in] */ LPCWSTR a_Scope,
  1123.             /* [in] */ LPCWSTR a_Registration,
  1124.             /* [in] */ IUnknown *a_Unknown) = 0;
  1125.         
  1126.         virtual HRESULT STDMETHODCALLTYPE UnRegister( void) = 0;
  1127.         
  1128.     };
  1129.     
  1130. #else  /* C style interface */
  1131.     typedef struct IWbemDecoupledRegistrarVtbl
  1132.     {
  1133.         BEGIN_INTERFACE
  1134.         
  1135.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1136.             IWbemDecoupledRegistrar * This,
  1137.             /* [in] */ REFIID riid,
  1138.             /* [iid_is][out] */ void **ppvObject);
  1139.         
  1140.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1141.             IWbemDecoupledRegistrar * This);
  1142.         
  1143.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1144.             IWbemDecoupledRegistrar * This);
  1145.         
  1146.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  1147.             IWbemDecoupledRegistrar * This,
  1148.             /* [in] */ long a_Flags,
  1149.             /* [in] */ IWbemContext *a_Context,
  1150.             /* [in] */ LPCWSTR a_User,
  1151.             /* [in] */ LPCWSTR a_Locale,
  1152.             /* [in] */ LPCWSTR a_Scope,
  1153.             /* [in] */ LPCWSTR a_Registration,
  1154.             /* [in] */ IUnknown *a_Unknown);
  1155.         
  1156.         HRESULT ( STDMETHODCALLTYPE *UnRegister )( 
  1157.             IWbemDecoupledRegistrar * This);
  1158.         
  1159.         END_INTERFACE
  1160.     } IWbemDecoupledRegistrarVtbl;
  1161.     interface IWbemDecoupledRegistrar
  1162.     {
  1163.         CONST_VTBL struct IWbemDecoupledRegistrarVtbl *lpVtbl;
  1164.     };
  1165.     
  1166. #ifdef COBJMACROS
  1167. #define IWbemDecoupledRegistrar_QueryInterface(This,riid,ppvObject)
  1168.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1169. #define IWbemDecoupledRegistrar_AddRef(This)
  1170.     (This)->lpVtbl -> AddRef(This)
  1171. #define IWbemDecoupledRegistrar_Release(This)
  1172.     (This)->lpVtbl -> Release(This)
  1173. #define IWbemDecoupledRegistrar_Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,a_Unknown)
  1174.     (This)->lpVtbl -> Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,a_Unknown)
  1175. #define IWbemDecoupledRegistrar_UnRegister(This)
  1176.     (This)->lpVtbl -> UnRegister(This)
  1177. #endif /* COBJMACROS */
  1178. #endif  /* C style interface */
  1179. HRESULT STDMETHODCALLTYPE IWbemDecoupledRegistrar_Register_Proxy( 
  1180.     IWbemDecoupledRegistrar * This,
  1181.     /* [in] */ long a_Flags,
  1182.     /* [in] */ IWbemContext *a_Context,
  1183.     /* [in] */ LPCWSTR a_User,
  1184.     /* [in] */ LPCWSTR a_Locale,
  1185.     /* [in] */ LPCWSTR a_Scope,
  1186.     /* [in] */ LPCWSTR a_Registration,
  1187.     /* [in] */ IUnknown *a_Unknown);
  1188. void __RPC_STUB IWbemDecoupledRegistrar_Register_Stub(
  1189.     IRpcStubBuffer *This,
  1190.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1191.     PRPC_MESSAGE _pRpcMessage,
  1192.     DWORD *_pdwStubPhase);
  1193. HRESULT STDMETHODCALLTYPE IWbemDecoupledRegistrar_UnRegister_Proxy( 
  1194.     IWbemDecoupledRegistrar * This);
  1195. void __RPC_STUB IWbemDecoupledRegistrar_UnRegister_Stub(
  1196.     IRpcStubBuffer *This,
  1197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1198.     PRPC_MESSAGE _pRpcMessage,
  1199.     DWORD *_pdwStubPhase);
  1200. #endif  /* __IWbemDecoupledRegistrar_INTERFACE_DEFINED__ */
  1201. EXTERN_C const CLSID CLSID_WbemAdministrativeLocator;
  1202. #ifdef __cplusplus
  1203. class DECLSPEC_UUID("cb8555cc-9128-11d1-ad9b-00c04fd8fdff")
  1204. WbemAdministrativeLocator;
  1205. #endif
  1206. EXTERN_C const CLSID CLSID_WbemAuthenticatedLocator;
  1207. #ifdef __cplusplus
  1208. class DECLSPEC_UUID("cd184336-9128-11d1-ad9b-00c04fd8fdff")
  1209. WbemAuthenticatedLocator;
  1210. #endif
  1211. EXTERN_C const CLSID CLSID_WbemUnauthenticatedLocator;
  1212. #ifdef __cplusplus
  1213. class DECLSPEC_UUID("443E7B79-DE31-11d2-B340-00104BCC4B4A")
  1214. WbemUnauthenticatedLocator;
  1215. #endif
  1216. EXTERN_C const CLSID CLSID_WbemDecoupledRegistrar;
  1217. #ifdef __cplusplus
  1218. class DECLSPEC_UUID("4cfc7932-0f9d-4bef-9c32-8ea2a6b56fcb")
  1219. WbemDecoupledRegistrar;
  1220. #endif
  1221. EXTERN_C const CLSID CLSID_WbemDecoupledBasicEventProvider;
  1222. #ifdef __cplusplus
  1223. class DECLSPEC_UUID("f5f75737-2843-4f22-933d-c76a97cda62f")
  1224. WbemDecoupledBasicEventProvider;
  1225. #endif
  1226. #endif /* __WbemProviders_v1_LIBRARY_DEFINED__ */
  1227. #ifndef __IWbemProviderIdentity_INTERFACE_DEFINED__
  1228. #define __IWbemProviderIdentity_INTERFACE_DEFINED__
  1229. /* interface IWbemProviderIdentity */
  1230. /* [uuid][object][restricted] */ 
  1231. EXTERN_C const IID IID_IWbemProviderIdentity;
  1232. #if defined(__cplusplus) && !defined(CINTERFACE)
  1233.     
  1234.     MIDL_INTERFACE("631f7d97-d993-11d2-b339-00105a1f4aaf")
  1235.     IWbemProviderIdentity : public IUnknown
  1236.     {
  1237.     public:
  1238.         virtual HRESULT STDMETHODCALLTYPE SetRegistrationObject( 
  1239.             /* [in] */ long lFlags,
  1240.             /* [in] */ IWbemClassObject *pProvReg) = 0;
  1241.         
  1242.     };
  1243.     
  1244. #else  /* C style interface */
  1245.     typedef struct IWbemProviderIdentityVtbl
  1246.     {
  1247.         BEGIN_INTERFACE
  1248.         
  1249.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1250.             IWbemProviderIdentity * This,
  1251.             /* [in] */ REFIID riid,
  1252.             /* [iid_is][out] */ void **ppvObject);
  1253.         
  1254.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1255.             IWbemProviderIdentity * This);
  1256.         
  1257.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1258.             IWbemProviderIdentity * This);
  1259.         
  1260.         HRESULT ( STDMETHODCALLTYPE *SetRegistrationObject )( 
  1261.             IWbemProviderIdentity * This,
  1262.             /* [in] */ long lFlags,
  1263.             /* [in] */ IWbemClassObject *pProvReg);
  1264.         
  1265.         END_INTERFACE
  1266.     } IWbemProviderIdentityVtbl;
  1267.     interface IWbemProviderIdentity
  1268.     {
  1269.         CONST_VTBL struct IWbemProviderIdentityVtbl *lpVtbl;
  1270.     };
  1271.     
  1272. #ifdef COBJMACROS
  1273. #define IWbemProviderIdentity_QueryInterface(This,riid,ppvObject)
  1274.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1275. #define IWbemProviderIdentity_AddRef(This)
  1276.     (This)->lpVtbl -> AddRef(This)
  1277. #define IWbemProviderIdentity_Release(This)
  1278.     (This)->lpVtbl -> Release(This)
  1279. #define IWbemProviderIdentity_SetRegistrationObject(This,lFlags,pProvReg)
  1280.     (This)->lpVtbl -> SetRegistrationObject(This,lFlags,pProvReg)
  1281. #endif /* COBJMACROS */
  1282. #endif  /* C style interface */
  1283. HRESULT STDMETHODCALLTYPE IWbemProviderIdentity_SetRegistrationObject_Proxy( 
  1284.     IWbemProviderIdentity * This,
  1285.     /* [in] */ long lFlags,
  1286.     /* [in] */ IWbemClassObject *pProvReg);
  1287. void __RPC_STUB IWbemProviderIdentity_SetRegistrationObject_Stub(
  1288.     IRpcStubBuffer *This,
  1289.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1290.     PRPC_MESSAGE _pRpcMessage,
  1291.     DWORD *_pdwStubPhase);
  1292. #endif  /* __IWbemProviderIdentity_INTERFACE_DEFINED__ */
  1293. /* interface __MIDL_itf_wbemprov_0166 */
  1294. /* [local] */ 
  1295. typedef 
  1296. enum tag_WBEM_EXTRA_RETURN_CODES
  1297.     { WBEM_S_INITIALIZED = 0,
  1298. WBEM_S_LIMITED_SERVICE = 0x43001,
  1299. WBEM_S_INDIRECTLY_UPDATED = WBEM_S_LIMITED_SERVICE + 1,
  1300. WBEM_S_SUBJECT_TO_SDS = WBEM_S_INDIRECTLY_UPDATED + 1,
  1301. WBEM_E_RETRY_LATER = 0x80043001,
  1302. WBEM_E_RESOURCE_CONTENTION = WBEM_E_RETRY_LATER + 1
  1303.     }  WBEM_EXTRA_RETURN_CODES;
  1304. typedef 
  1305. enum tag_WBEM_PROVIDER_FLAGS
  1306.     { WBEM_FLAG_OWNER_UPDATE = 0x10000
  1307.     }  WBEM_PROVIDER_FLAGS;
  1308. extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0166_v0_0_c_ifspec;
  1309. extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0166_v0_0_s_ifspec;
  1310. #ifndef __IWbemDecoupledBasicEventProvider_INTERFACE_DEFINED__
  1311. #define __IWbemDecoupledBasicEventProvider_INTERFACE_DEFINED__
  1312. /* interface IWbemDecoupledBasicEventProvider */
  1313. /* [uuid][local][object] */ 
  1314. EXTERN_C const IID IID_IWbemDecoupledBasicEventProvider;
  1315. #if defined(__cplusplus) && !defined(CINTERFACE)
  1316.     
  1317.     MIDL_INTERFACE("86336d20-ca11-4786-9ef1-bc8a946b42fc")
  1318.     IWbemDecoupledBasicEventProvider : public IWbemDecoupledRegistrar
  1319.     {
  1320.     public:
  1321.         virtual HRESULT STDMETHODCALLTYPE GetSink( 
  1322.             /* [in] */ long a_Flags,
  1323.             /* [in] */ IWbemContext *a_Context,
  1324.             /* [out] */ IWbemObjectSink **a_Sink) = 0;
  1325.         
  1326.         virtual HRESULT STDMETHODCALLTYPE GetService( 
  1327.             /* [in] */ long a_Flags,
  1328.             /* [in] */ IWbemContext *a_Context,
  1329.             /* [out] */ IWbemServices **a_Service) = 0;
  1330.         
  1331.     };
  1332.     
  1333. #else  /* C style interface */
  1334.     typedef struct IWbemDecoupledBasicEventProviderVtbl
  1335.     {
  1336.         BEGIN_INTERFACE
  1337.         
  1338.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1339.             IWbemDecoupledBasicEventProvider * This,
  1340.             /* [in] */ REFIID riid,
  1341.             /* [iid_is][out] */ void **ppvObject);
  1342.         
  1343.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1344.             IWbemDecoupledBasicEventProvider * This);
  1345.         
  1346.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1347.             IWbemDecoupledBasicEventProvider * This);
  1348.         
  1349.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  1350.             IWbemDecoupledBasicEventProvider * This,
  1351.             /* [in] */ long a_Flags,
  1352.             /* [in] */ IWbemContext *a_Context,
  1353.             /* [in] */ LPCWSTR a_User,
  1354.             /* [in] */ LPCWSTR a_Locale,
  1355.             /* [in] */ LPCWSTR a_Scope,
  1356.             /* [in] */ LPCWSTR a_Registration,
  1357.             /* [in] */ IUnknown *a_Unknown);
  1358.         
  1359.         HRESULT ( STDMETHODCALLTYPE *UnRegister )( 
  1360.             IWbemDecoupledBasicEventProvider * This);
  1361.         
  1362.         HRESULT ( STDMETHODCALLTYPE *GetSink )( 
  1363.             IWbemDecoupledBasicEventProvider * This,
  1364.             /* [in] */ long a_Flags,
  1365.             /* [in] */ IWbemContext *a_Context,
  1366.             /* [out] */ IWbemObjectSink **a_Sink);
  1367.         
  1368.         HRESULT ( STDMETHODCALLTYPE *GetService )( 
  1369.             IWbemDecoupledBasicEventProvider * This,
  1370.             /* [in] */ long a_Flags,
  1371.             /* [in] */ IWbemContext *a_Context,
  1372.             /* [out] */ IWbemServices **a_Service);
  1373.         
  1374.         END_INTERFACE
  1375.     } IWbemDecoupledBasicEventProviderVtbl;
  1376.     interface IWbemDecoupledBasicEventProvider
  1377.     {
  1378.         CONST_VTBL struct IWbemDecoupledBasicEventProviderVtbl *lpVtbl;
  1379.     };
  1380.     
  1381. #ifdef COBJMACROS
  1382. #define IWbemDecoupledBasicEventProvider_QueryInterface(This,riid,ppvObject)
  1383.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1384. #define IWbemDecoupledBasicEventProvider_AddRef(This)
  1385.     (This)->lpVtbl -> AddRef(This)
  1386. #define IWbemDecoupledBasicEventProvider_Release(This)
  1387.     (This)->lpVtbl -> Release(This)
  1388. #define IWbemDecoupledBasicEventProvider_Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,a_Unknown)
  1389.     (This)->lpVtbl -> Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,a_Unknown)
  1390. #define IWbemDecoupledBasicEventProvider_UnRegister(This)
  1391.     (This)->lpVtbl -> UnRegister(This)
  1392. #define IWbemDecoupledBasicEventProvider_GetSink(This,a_Flags,a_Context,a_Sink)
  1393.     (This)->lpVtbl -> GetSink(This,a_Flags,a_Context,a_Sink)
  1394. #define IWbemDecoupledBasicEventProvider_GetService(This,a_Flags,a_Context,a_Service)
  1395.     (This)->lpVtbl -> GetService(This,a_Flags,a_Context,a_Service)
  1396. #endif /* COBJMACROS */
  1397. #endif  /* C style interface */
  1398. HRESULT STDMETHODCALLTYPE IWbemDecoupledBasicEventProvider_GetSink_Proxy( 
  1399.     IWbemDecoupledBasicEventProvider * This,
  1400.     /* [in] */ long a_Flags,
  1401.     /* [in] */ IWbemContext *a_Context,
  1402.     /* [out] */ IWbemObjectSink **a_Sink);
  1403. void __RPC_STUB IWbemDecoupledBasicEventProvider_GetSink_Stub(
  1404.     IRpcStubBuffer *This,
  1405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1406.     PRPC_MESSAGE _pRpcMessage,
  1407.     DWORD *_pdwStubPhase);
  1408. HRESULT STDMETHODCALLTYPE IWbemDecoupledBasicEventProvider_GetService_Proxy( 
  1409.     IWbemDecoupledBasicEventProvider * This,
  1410.     /* [in] */ long a_Flags,
  1411.     /* [in] */ IWbemContext *a_Context,
  1412.     /* [out] */ IWbemServices **a_Service);
  1413. void __RPC_STUB IWbemDecoupledBasicEventProvider_GetService_Stub(
  1414.     IRpcStubBuffer *This,
  1415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1416.     PRPC_MESSAGE _pRpcMessage,
  1417.     DWORD *_pdwStubPhase);
  1418. #endif  /* __IWbemDecoupledBasicEventProvider_INTERFACE_DEFINED__ */
  1419. /* interface __MIDL_itf_wbemprov_0171 */
  1420. /* [local] */ 
  1421. typedef /* [v1_enum] */ 
  1422. enum tag_WBEM_BATCH_TYPE
  1423.     { WBEM_FLAG_BATCH_IF_NEEDED = 0,
  1424. WBEM_FLAG_MUST_BATCH = 0x1,
  1425. WBEM_FLAG_MUST_NOT_BATCH = 0x2
  1426.     }  WBEM_BATCH_TYPE;
  1427. extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0171_v0_0_c_ifspec;
  1428. extern RPC_IF_HANDLE __MIDL_itf_wbemprov_0171_v0_0_s_ifspec;
  1429. #ifndef __IWbemEventSink_INTERFACE_DEFINED__
  1430. #define __IWbemEventSink_INTERFACE_DEFINED__
  1431. /* interface IWbemEventSink */
  1432. /* [uuid][restricted][object] */ 
  1433. EXTERN_C const IID IID_IWbemEventSink;
  1434. #if defined(__cplusplus) && !defined(CINTERFACE)
  1435.     
  1436.     MIDL_INTERFACE("3ae0080a-7e3a-4366-bf89-0feedc931659")
  1437.     IWbemEventSink : public IWbemObjectSink
  1438.     {
  1439.     public:
  1440.         virtual HRESULT STDMETHODCALLTYPE SetSinkSecurity( 
  1441.             /* [in] */ long lSDLength,
  1442.             /* [size_is][in] */ BYTE *pSD) = 0;
  1443.         
  1444.         virtual HRESULT STDMETHODCALLTYPE IsActive( void) = 0;
  1445.         
  1446.         virtual HRESULT STDMETHODCALLTYPE GetRestrictedSink( 
  1447.             /* [in] */ long lNumQueries,
  1448.             /* [string][size_is][in] */ const LPCWSTR *awszQueries,
  1449.             /* [in] */ IUnknown *pCallback,
  1450.             /* [out] */ IWbemEventSink **ppSink) = 0;
  1451.         
  1452.         virtual HRESULT STDMETHODCALLTYPE SetBatchingParameters( 
  1453.             /* [in] */ LONG lFlags,
  1454.             /* [in] */ DWORD dwMaxBufferSize,
  1455.             /* [in] */ DWORD dwMaxSendLatency) = 0;
  1456.         
  1457.     };
  1458.     
  1459. #else  /* C style interface */
  1460.     typedef struct IWbemEventSinkVtbl
  1461.     {
  1462.         BEGIN_INTERFACE
  1463.         
  1464.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1465.             IWbemEventSink * This,
  1466.             /* [in] */ REFIID riid,
  1467.             /* [iid_is][out] */ void **ppvObject);
  1468.         
  1469.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1470.             IWbemEventSink * This);
  1471.         
  1472.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1473.             IWbemEventSink * This);
  1474.         
  1475.         HRESULT ( STDMETHODCALLTYPE *Indicate )( 
  1476.             IWbemEventSink * This,
  1477.             /* [in] */ long lObjectCount,
  1478.             /* [size_is][in] */ IWbemClassObject **apObjArray);
  1479.         
  1480.         HRESULT ( STDMETHODCALLTYPE *SetStatus )( 
  1481.             IWbemEventSink * This,
  1482.             /* [in] */ long lFlags,
  1483.             /* [in] */ HRESULT hResult,
  1484.             /* [in] */ BSTR strParam,
  1485.             /* [in] */ IWbemClassObject *pObjParam);
  1486.         
  1487.         HRESULT ( STDMETHODCALLTYPE *SetSinkSecurity )( 
  1488.             IWbemEventSink * This,
  1489.             /* [in] */ long lSDLength,
  1490.             /* [size_is][in] */ BYTE *pSD);
  1491.         
  1492.         HRESULT ( STDMETHODCALLTYPE *IsActive )( 
  1493.             IWbemEventSink * This);
  1494.         
  1495.         HRESULT ( STDMETHODCALLTYPE *GetRestrictedSink )( 
  1496.             IWbemEventSink * This,
  1497.             /* [in] */ long lNumQueries,
  1498.             /* [string][size_is][in] */ const LPCWSTR *awszQueries,
  1499.             /* [in] */ IUnknown *pCallback,
  1500.             /* [out] */ IWbemEventSink **ppSink);
  1501.         
  1502.         HRESULT ( STDMETHODCALLTYPE *SetBatchingParameters )( 
  1503.             IWbemEventSink * This,
  1504.             /* [in] */ LONG lFlags,
  1505.             /* [in] */ DWORD dwMaxBufferSize,
  1506.             /* [in] */ DWORD dwMaxSendLatency);
  1507.         
  1508.         END_INTERFACE
  1509.     } IWbemEventSinkVtbl;
  1510.     interface IWbemEventSink
  1511.     {
  1512.         CONST_VTBL struct IWbemEventSinkVtbl *lpVtbl;
  1513.     };
  1514.     
  1515. #ifdef COBJMACROS
  1516. #define IWbemEventSink_QueryInterface(This,riid,ppvObject)
  1517.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1518. #define IWbemEventSink_AddRef(This)
  1519.     (This)->lpVtbl -> AddRef(This)
  1520. #define IWbemEventSink_Release(This)
  1521.     (This)->lpVtbl -> Release(This)
  1522. #define IWbemEventSink_Indicate(This,lObjectCount,apObjArray)
  1523.     (This)->lpVtbl -> Indicate(This,lObjectCount,apObjArray)
  1524. #define IWbemEventSink_SetStatus(This,lFlags,hResult,strParam,pObjParam)
  1525.     (This)->lpVtbl -> SetStatus(This,lFlags,hResult,strParam,pObjParam)
  1526. #define IWbemEventSink_SetSinkSecurity(This,lSDLength,pSD)
  1527.     (This)->lpVtbl -> SetSinkSecurity(This,lSDLength,pSD)
  1528. #define IWbemEventSink_IsActive(This)
  1529.     (This)->lpVtbl -> IsActive(This)
  1530. #define IWbemEventSink_GetRestrictedSink(This,lNumQueries,awszQueries,pCallback,ppSink)
  1531.     (This)->lpVtbl -> GetRestrictedSink(This,lNumQueries,awszQueries,pCallback,ppSink)
  1532. #define IWbemEventSink_SetBatchingParameters(This,lFlags,dwMaxBufferSize,dwMaxSendLatency)
  1533.     (This)->lpVtbl -> SetBatchingParameters(This,lFlags,dwMaxBufferSize,dwMaxSendLatency)
  1534. #endif /* COBJMACROS */
  1535. #endif  /* C style interface */
  1536. HRESULT STDMETHODCALLTYPE IWbemEventSink_SetSinkSecurity_Proxy( 
  1537.     IWbemEventSink * This,
  1538.     /* [in] */ long lSDLength,
  1539.     /* [size_is][in] */ BYTE *pSD);
  1540. void __RPC_STUB IWbemEventSink_SetSinkSecurity_Stub(
  1541.     IRpcStubBuffer *This,
  1542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1543.     PRPC_MESSAGE _pRpcMessage,
  1544.     DWORD *_pdwStubPhase);
  1545. HRESULT STDMETHODCALLTYPE IWbemEventSink_IsActive_Proxy( 
  1546.     IWbemEventSink * This);
  1547. void __RPC_STUB IWbemEventSink_IsActive_Stub(
  1548.     IRpcStubBuffer *This,
  1549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1550.     PRPC_MESSAGE _pRpcMessage,
  1551.     DWORD *_pdwStubPhase);
  1552. HRESULT STDMETHODCALLTYPE IWbemEventSink_GetRestrictedSink_Proxy( 
  1553.     IWbemEventSink * This,
  1554.     /* [in] */ long lNumQueries,
  1555.     /* [string][size_is][in] */ const LPCWSTR *awszQueries,
  1556.     /* [in] */ IUnknown *pCallback,
  1557.     /* [out] */ IWbemEventSink **ppSink);
  1558. void __RPC_STUB IWbemEventSink_GetRestrictedSink_Stub(
  1559.     IRpcStubBuffer *This,
  1560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1561.     PRPC_MESSAGE _pRpcMessage,
  1562.     DWORD *_pdwStubPhase);
  1563. HRESULT STDMETHODCALLTYPE IWbemEventSink_SetBatchingParameters_Proxy( 
  1564.     IWbemEventSink * This,
  1565.     /* [in] */ LONG lFlags,
  1566.     /* [in] */ DWORD dwMaxBufferSize,
  1567.     /* [in] */ DWORD dwMaxSendLatency);
  1568. void __RPC_STUB IWbemEventSink_SetBatchingParameters_Stub(
  1569.     IRpcStubBuffer *This,
  1570.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1571.     PRPC_MESSAGE _pRpcMessage,
  1572.     DWORD *_pdwStubPhase);
  1573. #endif  /* __IWbemEventSink_INTERFACE_DEFINED__ */
  1574. /* Additional Prototypes for ALL interfaces */
  1575. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  1576. unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  1577. unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  1578. void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  1579. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  1580. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  1581. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  1582. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  1583. /* end of Additional Prototypes */
  1584. #ifdef __cplusplus
  1585. }
  1586. #endif
  1587. #endif