Leaked source code of windows server 2003
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.

341 lines
7.6 KiB

  1. /*++
  2. Copyright (C) 1996-2001 Microsoft Corporation
  3. Module Name:
  4. ProvResv.H
  5. Abstract:
  6. History:
  7. --*/
  8. #ifndef _Server_Interceptor_IWbemServices_Stub_H
  9. #define _Server_Interceptor_IWbemServices_Stub_H
  10. #define ProxyIndex_Stub_IWbemServices 0
  11. #define ProxyIndex_Stub_IWbemServicesEx 1
  12. #define ProxyIndex_Stub_IWbemRefreshingServices 2
  13. /******************************************************************************
  14. *
  15. * Name:
  16. *
  17. *
  18. * Description:
  19. *
  20. *
  21. *****************************************************************************/
  22. class CInterceptor_IWbemServices_Stub : public IWbemServices,
  23. public IWbemRefreshingServices ,
  24. public IWbemShutdown
  25. {
  26. private:
  27. LONG m_ReferenceCount ; //Object reference count
  28. LONG m_GateClosed ;
  29. LONG m_InProgress ;
  30. CriticalSection m_CriticalSection ;
  31. WmiAllocator &m_Allocator ;
  32. IWbemServices *m_CoreService ;
  33. IWbemRefreshingServices *m_RefreshingService ;
  34. ProxyContainer m_ProxyContainer ;
  35. public:
  36. CInterceptor_IWbemServices_Stub ( WmiAllocator &a_Allocator , IWbemServices *a_Service ) ;
  37. ~CInterceptor_IWbemServices_Stub () ;
  38. public:
  39. //Non-delegating object IUnknown
  40. STDMETHODIMP QueryInterface ( REFIID , LPVOID FAR * ) ;
  41. STDMETHODIMP_( ULONG ) AddRef () ;
  42. STDMETHODIMP_( ULONG ) Release () ;
  43. /* IWbemServices methods */
  44. HRESULT STDMETHODCALLTYPE OpenNamespace (
  45. const BSTR a_Namespace ,
  46. long a_Flags ,
  47. IWbemContext *a_Context ,
  48. IWbemServices **a_Service ,
  49. IWbemCallResult **a_CallResult
  50. ) ;
  51. HRESULT STDMETHODCALLTYPE CancelAsyncCall (
  52. IWbemObjectSink *a_Sink
  53. ) ;
  54. HRESULT STDMETHODCALLTYPE QueryObjectSink (
  55. long a_Flags ,
  56. IWbemObjectSink **a_Sink
  57. ) ;
  58. HRESULT STDMETHODCALLTYPE GetObject (
  59. const BSTR a_ObjectPath ,
  60. long a_Flags ,
  61. IWbemContext *a_Context ,
  62. IWbemClassObject **ppObject ,
  63. IWbemCallResult **a_CallResult
  64. ) ;
  65. HRESULT STDMETHODCALLTYPE GetObjectAsync (
  66. const BSTR a_ObjectPath ,
  67. long a_Flags ,
  68. IWbemContext *a_Context ,
  69. IWbemObjectSink *a_Sink
  70. ) ;
  71. HRESULT STDMETHODCALLTYPE PutClass (
  72. IWbemClassObject *a_Object ,
  73. long a_Flags ,
  74. IWbemContext *a_Context ,
  75. IWbemCallResult **a_CallResult
  76. ) ;
  77. HRESULT STDMETHODCALLTYPE PutClassAsync (
  78. IWbemClassObject *a_Object ,
  79. long a_Flags ,
  80. IWbemContext *a_Context ,
  81. IWbemObjectSink *a_Sink
  82. ) ;
  83. HRESULT STDMETHODCALLTYPE DeleteClass (
  84. const BSTR a_Class ,
  85. long a_Flags ,
  86. IWbemContext *a_Context ,
  87. IWbemCallResult **a_CallResult
  88. ) ;
  89. HRESULT STDMETHODCALLTYPE DeleteClassAsync (
  90. const BSTR a_Class ,
  91. long a_Flags ,
  92. IWbemContext *a_Context ,
  93. IWbemObjectSink *a_Sink
  94. ) ;
  95. HRESULT STDMETHODCALLTYPE CreateClassEnum (
  96. const BSTR a_Superclass ,
  97. long a_Flags ,
  98. IWbemContext *a_Context ,
  99. IEnumWbemClassObject **a_Enum
  100. ) ;
  101. HRESULT STDMETHODCALLTYPE CreateClassEnumAsync (
  102. const BSTR a_Superclass ,
  103. long a_Flags ,
  104. IWbemContext *a_Context ,
  105. IWbemObjectSink *a_Sink
  106. ) ;
  107. HRESULT STDMETHODCALLTYPE PutInstance (
  108. IWbemClassObject *a_Instance ,
  109. long a_Flags ,
  110. IWbemContext *a_Context ,
  111. IWbemCallResult **a_CallResult
  112. ) ;
  113. HRESULT STDMETHODCALLTYPE PutInstanceAsync (
  114. IWbemClassObject *a_Instance ,
  115. long a_Flags ,
  116. IWbemContext *a_Context ,
  117. IWbemObjectSink *a_Sink
  118. ) ;
  119. HRESULT STDMETHODCALLTYPE DeleteInstance (
  120. const BSTR a_ObjectPath ,
  121. long a_Flags ,
  122. IWbemContext *a_Context ,
  123. IWbemCallResult **a_CallResult
  124. ) ;
  125. HRESULT STDMETHODCALLTYPE DeleteInstanceAsync (
  126. const BSTR a_ObjectPath,
  127. long a_Flags,
  128. IWbemContext *a_Context ,
  129. IWbemObjectSink *a_Sink
  130. ) ;
  131. HRESULT STDMETHODCALLTYPE CreateInstanceEnum (
  132. const BSTR a_Class ,
  133. long a_Flags ,
  134. IWbemContext *a_Context ,
  135. IEnumWbemClassObject **a_Enum
  136. ) ;
  137. HRESULT STDMETHODCALLTYPE CreateInstanceEnumAsync (
  138. const BSTR a_Class ,
  139. long a_Flags ,
  140. IWbemContext *a_Context ,
  141. IWbemObjectSink *a_Sink
  142. ) ;
  143. HRESULT STDMETHODCALLTYPE ExecQuery (
  144. const BSTR a_QueryLanguage,
  145. const BSTR a_Query,
  146. long a_Flags ,
  147. IWbemContext *a_Context ,
  148. IEnumWbemClassObject **a_Enum
  149. ) ;
  150. HRESULT STDMETHODCALLTYPE ExecQueryAsync (
  151. const BSTR a_QueryLanguage ,
  152. const BSTR a_Query ,
  153. long a_Flags ,
  154. IWbemContext *a_Context ,
  155. IWbemObjectSink *a_Sink
  156. ) ;
  157. HRESULT STDMETHODCALLTYPE ExecNotificationQuery (
  158. const BSTR a_QueryLanguage ,
  159. const BSTR a_Query ,
  160. long a_Flags ,
  161. IWbemContext *a_Context ,
  162. IEnumWbemClassObject **a_Enum
  163. ) ;
  164. HRESULT STDMETHODCALLTYPE ExecNotificationQueryAsync (
  165. const BSTR a_QueryLanguage ,
  166. const BSTR a_Query ,
  167. long a_Flags ,
  168. IWbemContext *a_Context ,
  169. IWbemObjectSink *a_Sink
  170. ) ;
  171. HRESULT STDMETHODCALLTYPE ExecMethod (
  172. const BSTR a_ObjectPath ,
  173. const BSTR a_MethodName ,
  174. long a_Flags ,
  175. IWbemContext *a_Context ,
  176. IWbemClassObject *a_InParams ,
  177. IWbemClassObject **a_OutParams ,
  178. IWbemCallResult **a_CallResult
  179. ) ;
  180. HRESULT STDMETHODCALLTYPE ExecMethodAsync (
  181. const BSTR a_ObjectPath ,
  182. const BSTR a_MethodName ,
  183. long a_Flags ,
  184. IWbemContext *a_Context ,
  185. IWbemClassObject *a_InParams ,
  186. IWbemObjectSink *a_Sink
  187. ) ;
  188. HRESULT STDMETHODCALLTYPE AddObjectToRefresher (
  189. WBEM_REFRESHER_ID *a_RefresherId ,
  190. LPCWSTR a_Path,
  191. long a_Flags ,
  192. IWbemContext *a_Context,
  193. DWORD a_ClientRefresherVersion ,
  194. WBEM_REFRESH_INFO *a_Information ,
  195. DWORD *a_ServerRefresherVersion
  196. ) ;
  197. HRESULT STDMETHODCALLTYPE AddObjectToRefresherByTemplate (
  198. WBEM_REFRESHER_ID *a_RefresherId ,
  199. IWbemClassObject *a_Template ,
  200. long a_Flags ,
  201. IWbemContext *a_Context ,
  202. DWORD a_ClientRefresherVersion ,
  203. WBEM_REFRESH_INFO *a_Information ,
  204. DWORD *a_ServerRefresherVersion
  205. ) ;
  206. HRESULT STDMETHODCALLTYPE AddEnumToRefresher(
  207. WBEM_REFRESHER_ID *a_RefresherId ,
  208. LPCWSTR a_Class ,
  209. long a_Flags ,
  210. IWbemContext *a_Context,
  211. DWORD a_ClientRefresherVersion ,
  212. WBEM_REFRESH_INFO *a_Information ,
  213. DWORD *a_ServerRefresherVersion
  214. ) ;
  215. HRESULT STDMETHODCALLTYPE RemoveObjectFromRefresher (
  216. WBEM_REFRESHER_ID *a_RefresherId ,
  217. long a_Id ,
  218. long a_Flags ,
  219. DWORD a_ClientRefresherVersion ,
  220. DWORD *a_ServerRefresherVersion
  221. ) ;
  222. HRESULT STDMETHODCALLTYPE GetRemoteRefresher (
  223. WBEM_REFRESHER_ID *a_RefresherId ,
  224. long a_Flags ,
  225. DWORD a_ClientRefresherVersion ,
  226. IWbemRemoteRefresher **a_RemoteRefresher ,
  227. GUID *a_Guid ,
  228. DWORD *a_ServerRefresherVersion
  229. ) ;
  230. HRESULT STDMETHODCALLTYPE ReconnectRemoteRefresher (
  231. WBEM_REFRESHER_ID *a_RefresherId,
  232. long a_Flags,
  233. long a_NumberOfObjects,
  234. DWORD a_ClientRefresherVersion ,
  235. WBEM_RECONNECT_INFO *a_ReconnectInformation ,
  236. WBEM_RECONNECT_RESULTS *a_ReconnectResults ,
  237. DWORD *a_ServerRefresherVersion
  238. ) ;
  239. HRESULT STDMETHODCALLTYPE Initialize (
  240. LPWSTR a_User ,
  241. LONG a_Flags ,
  242. LPWSTR a_Namespace ,
  243. LPWSTR a_Locale ,
  244. IWbemServices *a_Core ,
  245. IWbemContext *a_Context ,
  246. IWbemProviderInitSink *a_Sink
  247. ) ;
  248. HRESULT STDMETHODCALLTYPE Shutdown (
  249. LONG a_Flags ,
  250. ULONG a_MaxMilliSeconds ,
  251. IWbemContext *a_Context
  252. ) ;
  253. } ;
  254. #endif // _Server_Interceptor_IWbemServices_Stub_H