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.

216 lines
9.1 KiB

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