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.

90 lines
2.9 KiB

  1. // ICWCfg.h : Declaration of the CICWSystemConfig
  2. #ifndef __ICWSYSTEMCONFIG_H_
  3. #define __ICWSYSTEMCONFIG_H_
  4. #include "resource.h" // main symbols
  5. /////////////////////////////////////////////////////////////////////////////
  6. // CICWSystemConfig
  7. class ATL_NO_VTABLE CICWSystemConfig :
  8. public CComObjectRootEx<CComSingleThreadModel>,
  9. public CComCoClass<CICWSystemConfig,&CLSID_ICWSystemConfig>,
  10. public CComControl<CICWSystemConfig>,
  11. public IDispatchImpl<IICWSystemConfig, &IID_IICWSystemConfig, &LIBID_ICWHELPLib>,
  12. public IPersistStreamInitImpl<CICWSystemConfig>,
  13. public IOleControlImpl<CICWSystemConfig>,
  14. public IOleObjectImpl<CICWSystemConfig>,
  15. public IOleInPlaceActiveObjectImpl<CICWSystemConfig>,
  16. public IViewObjectExImpl<CICWSystemConfig>,
  17. public IOleInPlaceObjectWindowlessImpl<CICWSystemConfig>,
  18. public IObjectSafetyImpl<CICWSystemConfig>
  19. {
  20. public:
  21. CICWSystemConfig()
  22. {
  23. m_bNeedsReboot = FALSE;
  24. m_bNeedsRestart = FALSE;
  25. m_bQuitWizard = FALSE;
  26. }
  27. DECLARE_REGISTRY_RESOURCEID(IDR_ICWSYSTEMCONFIG)
  28. BEGIN_COM_MAP(CICWSystemConfig)
  29. COM_INTERFACE_ENTRY(IDispatch)
  30. COM_INTERFACE_ENTRY(IICWSystemConfig)
  31. COM_INTERFACE_ENTRY_IMPL_IID(IID_IViewObject, IViewObjectEx)
  32. COM_INTERFACE_ENTRY_IMPL_IID(IID_IViewObject2, IViewObjectEx)
  33. COM_INTERFACE_ENTRY_IMPL(IViewObjectEx)
  34. COM_INTERFACE_ENTRY_IMPL_IID(IID_IOleWindow, IOleInPlaceObjectWindowless)
  35. COM_INTERFACE_ENTRY_IMPL_IID(IID_IOleInPlaceObject, IOleInPlaceObjectWindowless)
  36. COM_INTERFACE_ENTRY_IMPL(IOleInPlaceObjectWindowless)
  37. COM_INTERFACE_ENTRY_IMPL(IOleInPlaceActiveObject)
  38. COM_INTERFACE_ENTRY_IMPL(IOleControl)
  39. COM_INTERFACE_ENTRY_IMPL(IOleObject)
  40. COM_INTERFACE_ENTRY_IMPL(IPersistStreamInit)
  41. COM_INTERFACE_ENTRY_IMPL(IObjectSafety)
  42. END_COM_MAP()
  43. BEGIN_PROPERTY_MAP(CICWSystemConfig)
  44. // Example entries
  45. // PROP_ENTRY("Property Description", dispid, clsid)
  46. // PROP_PAGE(CLSID_StockColorPage)
  47. END_PROPERTY_MAP()
  48. BEGIN_MSG_MAP(CICWSystemConfig)
  49. MESSAGE_HANDLER(WM_PAINT, OnPaint)
  50. MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
  51. MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus)
  52. END_MSG_MAP()
  53. // IViewObjectEx
  54. STDMETHOD(GetViewStatus)(DWORD* pdwStatus)
  55. {
  56. ATLTRACE(_T("IViewObjectExImpl::GetViewStatus\n"));
  57. *pdwStatus = 0;
  58. return S_OK;
  59. }
  60. // IICWSystemConfig
  61. public:
  62. STDMETHOD(VerifyRASIsRunning)(/*[out, retval]*/ BOOL *pbRetVal);
  63. BOOL m_bNeedsReboot;
  64. BOOL m_bNeedsRestart;
  65. BOOL m_bQuitWizard;
  66. STDMETHOD(get_QuitWizard)(/*[out, retval]*/ BOOL *pVal);
  67. STDMETHOD(get_NeedsReboot)(/*[out, retval]*/ BOOL *pVal);
  68. STDMETHOD(get_NeedsRestart)(/*[out, retval]*/ BOOL *pVal);
  69. STDMETHOD(ConfigSystem)(/*[out, retval]*/ BOOL *pbRetVal);
  70. HRESULT OnDraw(ATL_DRAWINFO& di);
  71. STDMETHOD (CheckPasswordCachingPolicy)(/*[out, retval]*/ BOOL *pbRetVal);
  72. private:
  73. void InstallScripter(void);
  74. };
  75. #endif //__ICWSYSTEMCONFIG_H_