Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

220 lines
9.3 KiB

  1. // BaseInstanceProvider.h: interface for the CBaseInstanceProvider class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_BASEINSTANCEPROVIDER_H__1CCFABA5_1A8C_11D2_BDD9_00C04FA35447__INCLUDED_)
  5. #define AFX_BASEINSTANCEPROVIDER_H__1CCFABA5_1A8C_11D2_BDD9_00C04FA35447__INCLUDED_
  6. #if _MSC_VER >= 1000
  7. #pragma once
  8. #endif // _MSC_VER >= 1000
  9. #include "system.h"
  10. //#include "dataelmt.h"
  11. class CBaseInstanceProvider : public IWbemServices, public IWbemProviderInit
  12. {
  13. public:
  14. CBaseInstanceProvider();
  15. virtual ~CBaseInstanceProvider();
  16. protected:
  17. ULONG m_cRef;
  18. IWbemServices* m_pIWbemServices;
  19. public:
  20. // CBaseInstanceProvider Operation
  21. // IUnknown
  22. STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv);
  23. STDMETHODIMP_(ULONG) AddRef(void);
  24. STDMETHODIMP_(ULONG) Release(void);
  25. // IWbemEventProviderInit
  26. HRESULT STDMETHODCALLTYPE Initialize(LPWSTR pszUser,
  27. LONG lFlags,
  28. LPWSTR pszNamespace,
  29. LPWSTR pszLocale,
  30. IWbemServices __RPC_FAR *pNamespace,
  31. IWbemContext __RPC_FAR *pCtx,
  32. IWbemProviderInitSink __RPC_FAR *pInitSink);
  33. // IWbemServices
  34. HRESULT STDMETHODCALLTYPE CreateInstanceEnumAsync(
  35. //XXX /* [in] */ BSTR Class,
  36. /* [in] */ const BSTR Class,
  37. /* [in] */ long lFlags,
  38. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  39. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler);
  40. HRESULT STDMETHODCALLTYPE GetObjectAsync(
  41. //XXX /* [in] */ BSTR ObjectPath,
  42. /* [in] */ const BSTR ObjectPath,
  43. /* [in] */ long lFlags,
  44. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  45. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler);
  46. // IWbemServices Unsupported functions
  47. inline HRESULT STDMETHODCALLTYPE OpenNamespace(
  48. //XXX /* [in] */ BSTR Namespace,
  49. /* [in] */ const BSTR Namespace,
  50. /* [in] */ long lFlags,
  51. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  52. /* [unique][in][out] */ IWbemServices __RPC_FAR *__RPC_FAR *ppWorkingNamespace,
  53. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppResult) {return WBEM_E_NOT_SUPPORTED;};
  54. inline HRESULT STDMETHODCALLTYPE CancelAsyncCall(
  55. /* [in] */ IWbemObjectSink __RPC_FAR *pSink) {return WBEM_E_NOT_SUPPORTED;};
  56. inline HRESULT STDMETHODCALLTYPE QueryObjectSink(
  57. /* [in] */ long lFlags,
  58. /* [out] */ IWbemObjectSink __RPC_FAR *__RPC_FAR *ppResponseHandler) {return WBEM_E_NOT_SUPPORTED;};
  59. inline HRESULT STDMETHODCALLTYPE GetObject(
  60. //XXX /* [in] */ BSTR ObjectPath,
  61. /* [in] */ const BSTR ObjectPath,
  62. /* [in] */ long lFlags,
  63. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  64. /* [unique][in][out] */ IWbemClassObject __RPC_FAR *__RPC_FAR *ppObject,
  65. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;};
  66. inline HRESULT STDMETHODCALLTYPE PutClass(
  67. /* [in] */ IWbemClassObject __RPC_FAR *pObject,
  68. /* [in] */ long lFlags,
  69. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  70. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;};
  71. inline HRESULT STDMETHODCALLTYPE PutClassAsync(
  72. /* [in] */ IWbemClassObject __RPC_FAR *pObject,
  73. /* [in] */ long lFlags,
  74. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  75. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;};
  76. inline HRESULT STDMETHODCALLTYPE DeleteClass(
  77. //XXX /* [in] */ BSTR Class,
  78. /* [in] */ const BSTR Class,
  79. /* [in] */ long lFlags,
  80. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  81. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;};
  82. inline HRESULT STDMETHODCALLTYPE DeleteClassAsync(
  83. //XXX /* [in] */ BSTR Class,
  84. /* [in] */ const BSTR Class,
  85. /* [in] */ long lFlags,
  86. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  87. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;};
  88. inline HRESULT STDMETHODCALLTYPE CreateClassEnum(
  89. //XXX /* [in] */ BSTR Superclass,
  90. /* [in] */ const BSTR Superclass,
  91. /* [in] */ long lFlags,
  92. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  93. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum){return WBEM_E_NOT_SUPPORTED;};
  94. inline HRESULT STDMETHODCALLTYPE CreateClassEnumAsync(
  95. //XXX /* [in] */ BSTR Superclass,
  96. /* [in] */ const BSTR Superclass,
  97. /* [in] */ long lFlags,
  98. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  99. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;};
  100. inline HRESULT STDMETHODCALLTYPE PutInstance(
  101. /* [in] */ IWbemClassObject __RPC_FAR *pInst,
  102. /* [in] */ long lFlags,
  103. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  104. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;};
  105. inline HRESULT STDMETHODCALLTYPE PutInstanceAsync(
  106. /* [in] */ IWbemClassObject __RPC_FAR *pInst,
  107. /* [in] */ long lFlags,
  108. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  109. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;};
  110. inline HRESULT STDMETHODCALLTYPE DeleteInstance(
  111. //XXX /* [in] */ BSTR ObjectPath,
  112. /* [in] */ const BSTR ObjectPath,
  113. /* [in] */ long lFlags,
  114. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  115. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;};
  116. inline HRESULT STDMETHODCALLTYPE DeleteInstanceAsync(
  117. //XXX /* [in] */ BSTR ObjectPath,
  118. /* [in] */ const BSTR ObjectPath,
  119. /* [in] */ long lFlags,
  120. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  121. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;};
  122. inline HRESULT STDMETHODCALLTYPE CreateInstanceEnum(
  123. //XXX /* [in] */ BSTR Class,
  124. /* [in] */ const BSTR Class,
  125. /* [in] */ long lFlags,
  126. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  127. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) {return WBEM_E_NOT_SUPPORTED;};
  128. inline HRESULT STDMETHODCALLTYPE ExecQuery(
  129. //XXX /* [in] */ BSTR QueryLanguage,
  130. //XXX /* [in] */ BSTR Query,
  131. /* [in] */ const BSTR QueryLanguage,
  132. /* [in] */ const BSTR Query,
  133. /* [in] */ long lFlags,
  134. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  135. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) {return WBEM_E_NOT_SUPPORTED;};
  136. HRESULT STDMETHODCALLTYPE ExecQueryAsync(
  137. //XXX /* [in] */ BSTR QueryLanguage,
  138. //XXX /* [in] */ BSTR Query,
  139. /* [in] */ const BSTR QueryLanguage,
  140. /* [in] */ const BSTR Query,
  141. /* [in] */ long lFlags,
  142. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  143. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler);
  144. inline HRESULT STDMETHODCALLTYPE ExecNotificationQuery(
  145. //XXX /* [in] */ BSTR QueryLanguage,
  146. //XXX /* [in] */ BSTR Query,
  147. /* [in] */ const BSTR QueryLanguage,
  148. /* [in] */ const BSTR Query,
  149. /* [in] */ long lFlags,
  150. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  151. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) {return WBEM_E_NOT_SUPPORTED;};
  152. inline HRESULT STDMETHODCALLTYPE ExecNotificationQueryAsync(
  153. //XXX /* [in] */ BSTR QueryLanguage,
  154. //XXX /* [in] */ BSTR Query,
  155. /* [in] */ const BSTR QueryLanguage,
  156. /* [in] */ const BSTR Query,
  157. /* [in] */ long lFlags,
  158. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  159. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;};
  160. #ifdef SAVE
  161. inline HRESULT STDMETHODCALLTYPE ExecMethod( BSTR, BSTR, long, IWbemContext*,
  162. IWbemClassObject*, IWbemClassObject**, IWbemCallResult**) {return WBEM_E_NOT_SUPPORTED;}
  163. inline HRESULT STDMETHODCALLTYPE ExecMethodAsync( BSTR, BSTR, long,
  164. IWbemContext*, IWbemClassObject*, IWbemObjectSink*) {return WBEM_E_NOT_SUPPORTED;}
  165. #endif
  166. virtual HRESULT STDMETHODCALLTYPE ExecMethod(
  167. //XXX /* [in] */ BSTR strObjectPath,
  168. //XXX /* [in] */ BSTR strMethodName,
  169. /* [in] */ const BSTR strObjectPath,
  170. /* [in] */ const BSTR strMethodName,
  171. /* [in] */ long lFlags,
  172. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  173. /* [in] */ IWbemClassObject __RPC_FAR *pInParams,
  174. /* [unique][in][out] */ IWbemClassObject __RPC_FAR *__RPC_FAR *ppOutParams,
  175. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;};
  176. virtual HRESULT STDMETHODCALLTYPE ExecMethodAsync(
  177. //XXX /* [in] */ BSTR strObjectPath,
  178. //XXX /* [in] */ BSTR strMethodName,
  179. /* [in] */ const BSTR strObjectPath,
  180. /* [in] */ const BSTR strMethodName,
  181. /* [in] */ long lFlags,
  182. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  183. /* [in] */ IWbemClassObject __RPC_FAR *pInParams,
  184. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;};
  185. };
  186. #endif // !defined(AFX_BASEINSTANCEPROVIDER_H__1CCFABA5_1A8C_11D2_BDD9_00C04FA35447__INCLUDED_)