/* File Rassrv.h Functions that perform ras server operations that can be implemented independent of the ui. Paul Mayfield, 10/7/97 */ #ifndef __rassrv_h #define __rassrv_h // Standard includes #include #include #include #include // Windows base lib #include #include // Public router api's #include // Private router api's #include // Common controls header #include // Needed to add new users #include // " " " " #include // " " " " #include // duh #include // Common ui utilities #include // Msg box utilities #include // Trace/assert library #include // INetCfg interfaces #include // rasman stuff used in devicedb #include // is this machine ntw, nts, dc, etc? #include // some ras error codes we return #include #define _PNP_POWER_ #include #include "ndispnp.h" #include "ntddip.h" // IP_PNP_RECONFIG_REQUEST // temporary #include // duh // Definition of interface between shell and ras server ui #include // The resource file is in a common directory so that it gets // built into rasdlg.dll. Also, the help id file. #include #include // Includes within the project #include "utils.h" #include "devicedb.h" #include "hnportmapping.h" #include "miscdb.h" #include "userdb.h" #include "netcfgdb.h" #include "gentab.h" #include "usertab.h" #include "nettab.h" #include "wizard.h" #include "service.h" #include "error.h" #include "ipxui.h" #include "tcpipui.h" #include "mdm.h" // ============================================================ // ============================================================ // Tab and property sheet identifiers. // ============================================================ // ============================================================ // Property Sheet Page ID's #define RASSRVUI_GENERAL_TAB 1 #define RASSRVUI_USER_TAB 2 #define RASSRVUI_ADVANCED_TAB 4 #define RASSRVUI_MULTILINK_TAB 8 // Wizard Page ID's #define RASSRVUI_DEVICE_WIZ_TAB 16 #define RASSRVUI_VPN_WIZ_TAB 32 #define RASSRVUI_USER_WIZ_TAB 64 #define RASSRVUI_PROT_WIZ_TAB 128 #define RASSRVUI_FINISH_WIZ_TAB 256 // Wizard Page ID's for the direct connect wizard (host) #define RASSRVUI_DCC_DEVICE_WIZ_TAB 512 // Wizard Page ID that allows us to pop up warning and // switch to mmc #define RASSRVUI_SWITCHMMC_WIZ_TAB 1024 // Console page id's to be used for launching mmc consoles. #define RASSRVUI_NETWORKCONSOLE 1 #define RASSRVUI_USERCONSOLE 2 #define RASSRVUI_MPRCONSOLE 3 #define RASSRVUI_SERVICESCONSOLE 4 // Wizard page counts to report to the shell #define RASSRVUI_WIZ_PAGE_COUNT_INCOMING 5 #define RASSRVUI_WIZ_PAGE_COUNT_SWITCH 1 #define RASSRVUI_WIZ_PAGE_COUNT_DIRECT 2 // Reasons for restarting remoteaccess at commit time #define RASSRVUI_RESTART_REASON_NONE 0 #define RASSRVUI_RESTART_REASON_NBF_ADDED 1 #define RASSRVUI_RESTART_REASON_NBF_REMOVED 2 // ============================================================ // ============================================================ // Functions to maintain data accross property sheet pages. // ============================================================ // ============================================================ // // This structure defines the information that needs // to be provided for each property sheet (wizard) page // that uses the RasSrvMessageFilter. The structure must be // passed in as the lParam member of the PROPSHEETPAGE of the page. // typedef struct _RASSRV_PAGE_CONTEXT { DWORD dwId; // ID_XXX value below DWORD dwType; // RASWIZ_TYPE_XXX value PVOID pvContext; // Created with RasSrvCreateContext } RASSRV_PAGE_CONTEXT; #define ID_DEVICE_DATABASE 1 #define ID_USER_DATABASE 2 #define ID_PROTOCOL_DATABASE 4 #define ID_MISC_DATABASE 8 #define ID_NETCOMP_DATABASE 16 // Helper function lets us know if we should display the // connections ras server wizard. DWORD APIENTRY RasSrvAllowConnectionsWizard ( OUT BOOL* pfAllow); // Creates a context to be used to manage information associated // with a given page. DWORD RassrvCreatePageSetCtx( OUT PVOID * ppvContext); // Causes the remoteaccess service to not be stopped even if the context // associated with the given property sheet page is never committed. DWORD RasSrvLeaveServiceRunning ( IN HWND hwndPage); // Gets a handle to a particular database. If this database needs // to be opened, it will be opened. In order to use this function, // the window proc of hwndPage must first call into RasSrvMessageFilter. DWORD RasSrvGetDatabaseHandle( IN HWND hwndPage, IN DWORD dwDatabaseId, IN HANDLE * hDatabase); // Returns the id of the page whose handle is hwndPage DWORD RasSrvGetPageId ( IN HWND hwndPage, OUT LPDWORD lpdwId); // // Callback function for property sheet pages that cleans up // the page. // UINT CALLBACK RasSrvInitDestroyPropSheetCb( IN HWND hwndPage, IN UINT uMsg, IN LPPROPSHEETPAGE pPropPage); // Filters messages for RasSrv Property Pages. If this function returns // true, the winproc of the dialog window should return true immediately. // Otherwise message processing may continue as normal. BOOL RasSrvMessageFilter( IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam); #endif