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.

116 lines
3.4 KiB

  1. /*++
  2. Copyright (c) 2000-2001 Microsoft Corporation
  3. Module Name:
  4. WbemServices.h
  5. Abstract:
  6. Definition of:
  7. CWbemServices
  8. Wraps IWbemServices. Sets out params to NULL and calls
  9. CoImpersonateClient.
  10. Author:
  11. ???
  12. Revision History:
  13. Mohit Srivastava 10-Nov-2000
  14. --*/
  15. #ifndef __wbemservices_h__
  16. #define __wbemservices_h__
  17. #if _MSC_VER > 1000
  18. #pragma once
  19. #endif
  20. #include <wbemprov.h>
  21. class CWbemServices
  22. {
  23. protected:
  24. IWbemServices* m_pWbemServices;
  25. public:
  26. CWbemServices(IWbemServices*);
  27. virtual ~CWbemServices();
  28. operator IWbemServices*() const
  29. {
  30. return m_pWbemServices;
  31. }
  32. HRESULT STDMETHODCALLTYPE GetObject(
  33. /* [in] */ const BSTR ObjectPath,
  34. /* [in] */ long lFlags,
  35. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  36. /* [unique][in][out] */ IWbemClassObject __RPC_FAR *__RPC_FAR *ppObject,
  37. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) ;
  38. HRESULT STDMETHODCALLTYPE PutClass(
  39. /* [in] */ IWbemClassObject __RPC_FAR *pObject,
  40. /* [in] */ long lFlags,
  41. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  42. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) ;
  43. HRESULT STDMETHODCALLTYPE DeleteClass(
  44. /* [in] */ const BSTR Class,
  45. /* [in] */ long lFlags,
  46. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  47. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) ;
  48. HRESULT STDMETHODCALLTYPE CreateClassEnum(
  49. /* [in] */ const BSTR Superclass,
  50. /* [in] */ long lFlags,
  51. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  52. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) ;
  53. HRESULT STDMETHODCALLTYPE PutInstance(
  54. /* [in] */ IWbemClassObject __RPC_FAR *pInst,
  55. /* [in] */ long lFlags,
  56. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  57. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) ;
  58. HRESULT STDMETHODCALLTYPE DeleteInstance(
  59. /* [in] */ const BSTR ObjectPath,
  60. /* [in] */ long lFlags,
  61. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  62. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) ;
  63. HRESULT STDMETHODCALLTYPE CreateInstanceEnum(
  64. /* [in] */ const BSTR Class,
  65. /* [in] */ long lFlags,
  66. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  67. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) ;
  68. HRESULT STDMETHODCALLTYPE ExecQuery(
  69. /* [in] */ const BSTR QueryLanguage,
  70. /* [in] */ const BSTR Query,
  71. /* [in] */ long lFlags,
  72. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  73. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) ;
  74. HRESULT STDMETHODCALLTYPE ExecNotificationQuery(
  75. /* [in] */ const BSTR QueryLanguage,
  76. /* [in] */ const BSTR Query,
  77. /* [in] */ long lFlags,
  78. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  79. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) ;
  80. HRESULT STDMETHODCALLTYPE ExecMethod(
  81. const BSTR,
  82. const BSTR,
  83. long,
  84. IWbemContext*,
  85. IWbemClassObject*,
  86. IWbemClassObject**,
  87. IWbemCallResult**) ;
  88. };
  89. #endif