/*++ Copyright (c) 1999-2000 Microsoft Corporation Module Name: RACPLSettings.h Abstract: Author: Rajesh Soy 10/00 Revision History: Rajesh Soy - created 10/26/2000 --*/ #include #ifdef __cplusplus extern "C" { #endif // // Registry locations where the remote assistance control panel settings go // #define REG_KEY_REMOTEASSISTANCE REG_CONTROL_GETHELP // // Remote Assistance Mode // #define REG_VALUE_MODE POLICY_TS_REMDSK_ALLOWTOGETHELP #define REG_DWORD_RA_DISABLED 0 // No Help #define REG_DWORD_RA_NORC 1 // No Remote Control #define REG_DWORD_RA_SHADOWONLY 2 // View only #define REG_DWORD_RA_ENABLED 3 // Full control #define REG_DWORD_RA_DEFAULTMODE REG_DWORD_RA_ENABLED // // Allow Unsolicited Remote Assistance // #define REG_VALUE_UNSOLICITED _T("UnSolicited") #define REG_DWORD_RA_ALLOW 1 #define REG_DWORD_RA_DISALLOW 0 #define REG_DWORD_RA_UNSOLICITED_DEFAULT REG_DWORD_RA_DISALLOW // // Maximum Ticket Timeout // #define REG_VALUE_MAX_TICKET _T("TicketTimeout") #define REG_DWORD_RA_TIMEOUT_MIN 1 #define REG_DWORD_RA_TIMEOUT_MAX (30 * 24 * REG_DWORD_RA_TIMEOUT_MIN) #define REG_DWORD_RA_DEFAULT_TIMEOUT REG_DWORD_RA_TIMEOUT_MIN #ifdef RACPLSETTINGS_EXPORTS #define RACPLSETTINGS_API __declspec(dllexport) #else #define RACPLSETTINGS_API __declspec(dllimport) #endif // // RACPLSettings: Current Remote Assistance Settings // typedef struct { // // Remote Assistance Mode // DWORD dwMode; // // Allow Unsolicited Remote Assistance // DWORD dwUnsolicited; // // Maximum Ticket Timeout // DWORD dwMaxTimeout; } RACPLSETTINGS, *PRACPLSETTINGS; // // CRACPLSettingsDialog: UI for changing the remote assistance settings // class CRACPLSettingsDialog: public CDialog { private: RACPLSETTINGS m_RACPLSettings; // The RA Settings public: // // Constructor // CRACPLSettingsDialog() { // // Nothing special // } // // Overrides // BOOL OnInitDialog(); }; // // CRACPLSettings: This class implements the registry access routines that // provide the functionality for setting and querying the Remote Access Settings // class CRACPLSettings { private: // // Registy Access Class // CRegKey *m_pcRegKey; // // Remote Assistance Control Panel Settings // RACPLSETTINGS m_RACPLSettings; public: // // Constructor // CRACPLSettings(void); // // Destructor // ~CRACPLSettings() { if( NULL != m_pcRegKey ) { m_pcRegKey->Close(); m_pcRegKey = NULL; } } // // Initializes the RACPLSettings API // DWORD OpenRACPLSettings(); // // Closes the RACPLSettings // DWORD CloseRACPLSettings(); // // Get the Remote Assistance Settings // DWORD GetRACPLSettings( PRACPLSETTINGS pRACPLSettings // pointer to RACPLSETTINGS ); // // Set the Remote Assistance Settings // DWORD SetRACPLSettings( PRACPLSETTINGS pRACPLSettings // pointer to RACPLSETTINGS ); }; // // Functions exposed by the RACPLSettings API // RACPLSETTINGS_API DWORD OpenRACPLSettings(void); RACPLSETTINGS_API DWORD CloseRACPLSettings(void); RACPLSETTINGS_API DWORD GetRACPLSettings(PRACPLSETTINGS pRACPLSettings); RACPLSETTINGS_API DWORD SetRACPLSettings(PRACPLSETTINGS pRACPLSettings); // // Function pointers for RACPLSettings API // typedef DWORD (*pfnOpenRACPLSettings)(void); typedef DWORD (*pfnCloseRACPLSettings)(void); typedef DWORD (*pfnGetRACPLSettings)(PRACPLSETTINGS pRACPLSettings); typedef DWORD (*pfnSetRACPLSettings)(PRACPLSETTINGS pRACPLSettings); #ifdef __cplusplus } #endif