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.

110 lines
6.2 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. #include <strsafe.h>
  22. class RsopPlanningModeProvider : public IWbemProviderInit,
  23. public IWbemServices,
  24. public CComObjectRoot,
  25. public CComCoClass<RsopPlanningModeProvider,&CLSID_RsopPlanningModeProvider>
  26. {
  27. public:
  28. RsopPlanningModeProvider();
  29. ~RsopPlanningModeProvider()
  30. {
  31. if(m_pWbemServices)
  32. m_pWbemServices->Release();
  33. _Module.DecrementServiceCount();
  34. }
  35. BEGIN_COM_MAP(RsopPlanningModeProvider)
  36. COM_INTERFACE_ENTRY(IWbemProviderInit)
  37. COM_INTERFACE_ENTRY(IWbemServices)
  38. END_COM_MAP()
  39. DECLARE_NOT_AGGREGATABLE(RsopPlanningModeProvider)
  40. DECLARE_REGISTRY_RESOURCEID(IDR_RsopPlanningModeProvider)
  41. public:
  42. //
  43. // IWbemServices methods
  44. //
  45. STDMETHOD(OpenNamespace)(const BSTR Namespace,long lFlags,IWbemContext* pCtx,IWbemServices** ppWorkingNamespace,IWbemCallResult** ppResult){return WBEM_E_NOT_SUPPORTED;}
  46. STDMETHOD(CancelAsyncCall)(IWbemObjectSink *pSink){return WBEM_E_NOT_SUPPORTED;}
  47. STDMETHOD(CancelAsyncRequest)(long lAsyncRequestHandle){return WBEM_E_NOT_SUPPORTED;}
  48. STDMETHOD(QueryObjectSink)( long lFlags,IWbemObjectSink **ppResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  49. STDMETHOD(GetObject)(const BSTR ObjectPath, long lFlags, IWbemContext* pCtx, IWbemClassObject** ppObject, IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  50. STDMETHOD(GetObjectAsync)(const BSTR ObjectPath,long lFlags,IWbemContext* pCtx,IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  51. STDMETHOD(PutClass)(IWbemClassObject* pObject, long lFlags, IWbemContext* pCtx,IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  52. STDMETHOD(PutClassAsync)(IWbemClassObject* pObject, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  53. STDMETHOD(DeleteClass)(const BSTR Class, long lFlags, IWbemContext* pCtx, IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  54. STDMETHOD(DeleteClassAsync)(const BSTR Class, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  55. STDMETHOD(CreateClassEnum)(const BSTR Superclass, long lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum){return WBEM_E_NOT_SUPPORTED;}
  56. STDMETHOD(CreateClassEnumAsync)(const BSTR Superclass, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  57. STDMETHOD(PutInstance)(IWbemClassObject* pInst, long lFlags, IWbemContext* pCtx, IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  58. STDMETHOD(PutInstanceAsync)(IWbemClassObject* pInst, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  59. STDMETHOD(DeleteInstance)(const BSTR ObjectPath, long lFlags, IWbemContext* pCtx, IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  60. STDMETHOD(DeleteInstanceAsync)(const BSTR ObjectPath, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  61. STDMETHOD(CreateInstanceEnum)(const BSTR Class, long lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum){return WBEM_E_NOT_SUPPORTED;}
  62. STDMETHOD(CreateInstanceEnumAsync)(const BSTR Class, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  63. STDMETHOD(ExecQuery)(const BSTR QueryLanguage, const BSTR Query, long lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum){return WBEM_E_NOT_SUPPORTED;}
  64. STDMETHOD(ExecQueryAsync)(const BSTR QueryLanguage, const BSTR Query, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  65. STDMETHOD(ExecNotificationQuery)(const BSTR QueryLanguage, const BSTR Query, long lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum){return WBEM_E_NOT_SUPPORTED;}
  66. STDMETHOD(ExecNotificationQueryAsync)(const BSTR QueryLanguage, const BSTR Query, long lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler){return WBEM_E_NOT_SUPPORTED;}
  67. STDMETHOD(ExecMethod)(const BSTR ObjectPath, const BSTR MethodName, long lFlags, IWbemContext* pCtx, IWbemClassObject* pInParams, IWbemClassObject** ppOutParams, IWbemCallResult** ppCallResult){return WBEM_E_NOT_SUPPORTED;}
  68. STDMETHOD(ExecMethodAsync)(const BSTR ObjectPath, const BSTR MethodName, long lFlags, IWbemContext* pCtx, IWbemClassObject* pInParams, IWbemObjectSink* pResponseHandler);
  69. //
  70. // IWbemProviderInit methods
  71. //
  72. STDMETHOD(Initialize)(LPWSTR pszUser, LONG lFlags, LPWSTR pszNamespace, LPWSTR pszLocale,IWbemServices __RPC_FAR *pNamespace,
  73. IWbemContext __RPC_FAR *pCtx, IWbemProviderInitSink __RPC_FAR *pInitSink);
  74. private:
  75. IWbemServices* m_pWbemServices;
  76. LPSTREAM m_pStream;
  77. BOOL m_bInitialized;
  78. XBStr m_xbstrMachName;
  79. XBStr m_xbstrMachSOM;
  80. XBStr m_xbstrMachGroups;
  81. XBStr m_xbstrUserName;
  82. XBStr m_xbstrUserSOM;
  83. XBStr m_xbstrUserGroups;
  84. XBStr m_xbstrSite;
  85. XBStr m_xbstrUserGpoFilter;
  86. XBStr m_xbstrComputerGpoFilter;
  87. XBStr m_xbstrFlags;
  88. XBStr m_xbstrNameSpace;
  89. XBStr m_xbstrResult;
  90. XBStr m_xbstrExtendedInfo;
  91. XBStr m_xbstrClass;
  92. };
  93. #endif // !defined(AFX_GPDAS_H__6A79C813_70A7_4024_A840_66B2D92A23E8__INCLUDED_)