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.

110 lines
6.1 KiB

  1. //*************************************************************
  2. //
  3. // Copyright (c)1999 Microsoft Corporation, All Rights Reserved
  4. //
  5. // gpdas.h
  6. //
  7. // Module: Rsop Planning mode Provider
  8. //
  9. // History: 11-Jul-99 MickH Created
  10. //
  11. //*************************************************************
  12. #if !defined(AFX_GPDAS_H__6A79C813_70A7_4024_A840_66B2D92A23E8__INCLUDED_)
  13. #define AFX_GPDAS_H__6A79C813_70A7_4024_A840_66B2D92A23E8__INCLUDED_
  14. #if _MSC_VER > 1000
  15. #pragma once
  16. #endif // _MSC_VER > 1000
  17. #include "stdafx.h"
  18. #include "resource.h"
  19. #include <wbemidl.h>
  20. #include "smartptr.h"
  21. class RsopPlanningModeProvider : public IWbemProviderInit,
  22. public IWbemServices,
  23. public CComObjectRoot,
  24. public CComCoClass<RsopPlanningModeProvider,&CLSID_RsopPlanningModeProvider>
  25. {
  26. public:
  27. RsopPlanningModeProvider();
  28. ~RsopPlanningModeProvider()
  29. {
  30. if(m_pWbemServices)
  31. m_pWbemServices->Release();
  32. _Module.DecrementServiceCount();
  33. }
  34. BEGIN_COM_MAP(RsopPlanningModeProvider)
  35. COM_INTERFACE_ENTRY(IWbemProviderInit)
  36. COM_INTERFACE_ENTRY(IWbemServices)
  37. END_COM_MAP()
  38. DECLARE_NOT_AGGREGATABLE(RsopPlanningModeProvider)
  39. DECLARE_REGISTRY_RESOURCEID(IDR_RsopPlanningModeProvider)
  40. public:
  41. //
  42. // IWbemServices methods
  43. //
  44. STDMETHOD(OpenNamespace)(const BSTR Namespace,long lFlags,IWbemContext* pCtx,IWbemServices** ppWorkingNamespace,IWbemCallResult** ppResult){return WBEM_E_NOT_SUPPORTED;}
  45. STDMETHOD(CancelAsyncCall)(IWbemObjectSink *pSink){return WBEM_E_NOT_SUPPORTED;}
  46. STDMETHOD(CancelAsyncRequest)(long lAsyncRequestHandle){return WBEM_E_NOT_SUPPORTED;}
  47. STDMETHOD(QueryObjectSink)( long lFlags,IWbemObjectSink **ppResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  48. STDMETHOD(GetObject)(const BSTR ObjectPath, long lFlags, IWbemContext* pCtx, IWbemClassObject** ppObject, IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  49. STDMETHOD(GetObjectAsync)(const BSTR ObjectPath,long lFlags,IWbemContext* pCtx,IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  50. STDMETHOD(PutClass)(IWbemClassObject* pObject, long lFlags, IWbemContext* pCtx,IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  51. STDMETHOD(PutClassAsync)(IWbemClassObject* pObject, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  52. STDMETHOD(DeleteClass)(const BSTR Class, long lFlags, IWbemContext* pCtx, IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  53. STDMETHOD(DeleteClassAsync)(const BSTR Class, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  54. STDMETHOD(CreateClassEnum)(const BSTR Superclass, long lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum){return WBEM_E_NOT_SUPPORTED;}
  55. STDMETHOD(CreateClassEnumAsync)(const BSTR Superclass, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  56. STDMETHOD(PutInstance)(IWbemClassObject* pInst, long lFlags, IWbemContext* pCtx, IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  57. STDMETHOD(PutInstanceAsync)(IWbemClassObject* pInst, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  58. STDMETHOD(DeleteInstance)(const BSTR ObjectPath, long lFlags, IWbemContext* pCtx, IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  59. STDMETHOD(DeleteInstanceAsync)(const BSTR ObjectPath, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  60. STDMETHOD(CreateInstanceEnum)(const BSTR Class, long lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum){return WBEM_E_NOT_SUPPORTED;}
  61. STDMETHOD(CreateInstanceEnumAsync)(const BSTR Class, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  62. STDMETHOD(ExecQuery)(const BSTR QueryLanguage, const BSTR Query, long lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum){return WBEM_E_NOT_SUPPORTED;}
  63. STDMETHOD(ExecQueryAsync)(const BSTR QueryLanguage, const BSTR Query, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  64. STDMETHOD(ExecNotificationQuery)(const BSTR QueryLanguage, const BSTR Query, long lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum){return WBEM_E_NOT_SUPPORTED;}
  65. STDMETHOD(ExecNotificationQueryAsync)(const BSTR QueryLanguage, const BSTR Query, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  66. STDMETHOD(ExecMethod)(const BSTR ObjectPath, const BSTR MethodName, long lFlags, IWbemContext* pCtx, IWbemClassObject* pInParams, IWbemClassObject** ppOutParams, IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  67. STDMETHOD(ExecMethodAsync)(const BSTR ObjectPath, const BSTR MethodName, long lFlags, IWbemContext* pCtx, IWbemClassObject* pInParams, IWbemObjectSink* pResponseHandler);
  68. //
  69. // IWbemProviderInit methods
  70. //
  71. STDMETHOD(Initialize)(LPWSTR pszUser, LONG lFlags, LPWSTR pszNamespace, LPWSTR pszLocale,IWbemServices __RPC_FAR *pNamespace,
  72. IWbemContext __RPC_FAR *pCtx, IWbemProviderInitSink __RPC_FAR *pInitSink);
  73. private:
  74. IWbemServices* m_pWbemServices;
  75. LPSTREAM m_pStream;
  76. BOOL m_bInitialized;
  77. XBStr m_xbstrMachName;
  78. XBStr m_xbstrMachSOM;
  79. XBStr m_xbstrMachGroups;
  80. XBStr m_xbstrUserName;
  81. XBStr m_xbstrUserSOM;
  82. XBStr m_xbstrUserGroups;
  83. XBStr m_xbstrSite;
  84. XBStr m_xbstrUserGpoFilter;
  85. XBStr m_xbstrComputerGpoFilter;
  86. XBStr m_xbstrFlags;
  87. XBStr m_xbstrNameSpace;
  88. XBStr m_xbstrResult;
  89. XBStr m_xbstrExtendedInfo;
  90. XBStr m_xbstrClass;
  91. };
  92. #endif // !defined(AFX_GPDAS_H__6A79C813_70A7_4024_A840_66B2D92A23E8__INCLUDED_)