////////////////////////////////////////////////////////////////////////////// /*++ Copyright (C) Microsoft Corporation Module Name: PolicyPage1.h Abstract: Header file for the CPolicyPage1 class. This is our handler class for the first CPolicyNode property page. See PolicyPage1.cpp for implementation. --*/ ////////////////////////////////////////////////////////////////////////////// #if !defined(_NAP_POLICY_PAGE_1_H_) #define _NAP_POLICY_PAGE_1_H_ //=============================================================== // for local case, neet to set footprint after saving data #define RAS_REG_ROOT HKEY_LOCAL_MACHINE #define REGKEY_REMOTEACCESS_PARAMS L"SYSTEM\\CurrentControlSet\\Services\\RemoteAccess\\Parameters" #define REGVAL_NAME_USERSCONFIGUREDWITHMMC L"UsersConfiguredWithMMC" #define REGVAL_VAL_USERSCONFIGUREDWITHMMC 1 ////////////////////////////////////////////////////////////////////////////// // BEGIN INCLUDES // // where we can find what this class derives from: // #include "PropertyPage.h" // // // where we can find what this class has or uses: // class CPolicyNode; #include "Condition.h" #include "IASAttrList.h" #include "condlist.h" #include "atltmp.h" // // END INCLUDES ////////////////////////////////////////////////////////////////////////////// class CPolicyPage1 : public CIASPropertyPage { public : // ISSUE: how is base class initialization going to work with subclassing??? CPolicyPage1( LONG_PTR hNotificationHandle , CPolicyNode *pPolicyNode , CIASAttrList *pIASAttrList , TCHAR* pTitle = NULL , BOOL bOwnsNotificationHandle = FALSE , bool isWin2k = false ); ~CPolicyPage1(); // This is the ID of the dialog resource we want for this class. // An enum is used here because the correct value of // IDD must be initialized before the base class's constructor is called enum { IDD = IDD_PROPPAGE_POLICY1 }; BEGIN_MSG_MAP(CPolicyPage1) MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) COMMAND_ID_HANDLER(IDC_BUTTON_CONDITION_ADD, OnConditionAdd) COMMAND_ID_HANDLER(IDC_BUTTON_CONDITION_REMOVE, OnConditionRemove) COMMAND_ID_HANDLER(IDC_LIST_CONDITIONS, OnConditionList) COMMAND_ID_HANDLER(IDC_BUTTON_CONDITION_EDIT, OnConditionEdit) COMMAND_ID_HANDLER( IDC_BUTTON_EDITPROFILE, OnEditProfile ) COMMAND_ID_HANDLER( IDC_RADIO_DENY_DIALIN, OnDialinCheck) COMMAND_ID_HANDLER( IDC_RADIO_GRANT_DIALIN, OnDialinCheck) CHAIN_MSG_MAP(CIASPropertyPage) END_MSG_MAP() LRESULT OnInitDialog( UINT uMsg , WPARAM wParam , LPARAM lParam , BOOL& bHandled ); LRESULT OnConditionAdd( UINT uMsg , WPARAM wParam , HWND hWnd , BOOL& bHandled ); LRESULT OnEditProfile( UINT uMsg , WPARAM wParam , HWND hWnd , BOOL& bHandled ); LRESULT OnDialinCheck( UINT uMsg , WPARAM wParam , HWND hWnd , BOOL& bHandled ); LRESULT OnConditionRemove( UINT uMsg , WPARAM wParam , HWND hWnd , BOOL& bHandled ); LRESULT OnConditionList( UINT uNotifyCode, UINT uID, HWND hWnd, BOOL &bHandled ); LRESULT OnConditionEdit( UINT uNotifyCode, UINT uID, HWND hWnd, BOOL &bHandled ); BOOL OnApply(); BOOL OnQueryCancel(); BOOL OnCancel(); public: BOOL m_fDialinAllowed; // Pointer to streams into which this page's Sdo interface // pointers will be marshalled. LPSTREAM m_pStreamPolicySdoMarshall; // marshalled policy sdo pointer LPSTREAM m_pStreamDictionarySdoMarshall; // marshalled dictionary sdo pointer LPSTREAM m_pStreamProfileSdoMarshall; // marshalled profile sdo LPSTREAM m_pStreamProfilesCollectionSdoMarshall; // marshalled profile collection sdo LPSTREAM m_pStreamPoliciesCollectionSdoMarshall; // marshalled policy collection sdo LPSTREAM m_pStreamSdoServiceControlMarshall; // marshalled policy collection sdo protected: BOOL GetSdoPointers(); HRESULT GetDialinSetting(BOOL &fDialinAllowed); HRESULT SetDialinSetting(BOOL fDialinAllowed); CPolicyNode *m_pPolicyNode; // policy node pointer CIASAttrList *m_pIASAttrList; // condition attribute list bool m_isWin2k; // condition collection -- created in the page CComPtr m_spConditionCollectionSdo; // condition collection // profile sdos CComPtr m_spDictionarySdo; // dictionary sdo pointer CComPtr m_spProfileSdo; // profiles collection sdo pointer CComPtr m_spPolicySdo; // policy sdo pointer CComPtr m_spProfilesCollectionSdo; // profile collection Sdo CComPtr m_spPoliciesCollectionSdo; // policy collection Sdo // Smart pointer to interface for telling service to reload data. CComPtr m_spSdoServiceControl; // // condition list // ConditionList condList; }; #endif // _NAP_POLICY_PAGE_1_H_