Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

196 lines
5.1 KiB

//*************************************************************
//
// Startup.c - Startup property sheet page
//
// Microsoft Confidential
// Copyright (c) Microsoft Corporation 1996
// All rights reserved
//
//*************************************************************
#include <sysdm.h>
//
// Globals for this page
//
#define CSEC_START_MAX 9999 // Maximum number of seconds allowed
//
// Help ID's
//
DWORD aStartupHelpIds[] = {
IDC_STARTUP_SYS_OS, (IDH_STARTUP + 0),
IDC_STARTUP_SYS_ENABLECOUNTDOWN, (IDH_STARTUP + 1),
IDC_STARTUP_SYS_SECONDS, (IDH_STARTUP + 2),
IDC_STARTUP_CDMP_TXT1, (IDH_STARTUP + 3),
IDC_STARTUP_CDMP_LOG, (IDH_STARTUP + 4),
IDC_STARTUP_CDMP_SEND, (IDH_STARTUP + 5),
IDC_STARTUP_CDMP_WRITE, (IDH_STARTUP + 6),
IDC_STARTUP_CDMP_FILENAME, (IDH_STARTUP + 7),
IDC_STARTUP_CDMP_OVERWRITE, (IDH_STARTUP + 8),
IDC_STARTUP_CDMP_AUTOREBOOT, (IDH_STARTUP + 9),
IDC_STARTUP_SYSTEM_GRP, (IDH_STARTUP + 10),
IDC_STARTUP_SYS_SECSCROLL, (IDH_STARTUP + 11),
IDC_STARTUP_CDMP_GRP, (IDH_STARTUP + 12),
0, 0
};
//*************************************************************
//
// CreateStartupPage()
//
// Purpose: Creates the Startup page
//
// Parameters: hInst - hInstance
//
//
// Return: hPage if successful
// NULL if an error occurs
//
// Comments:
//
// History: Date Author Comment
// 11/21/95 ericflo Created
//
//*************************************************************
HPROPSHEETPAGE CreateStartupPage (HINSTANCE hInst)
{
PROPSHEETPAGE psp;
psp.dwSize = sizeof(PROPSHEETPAGE);
psp.dwFlags = 0;
psp.hInstance = hInst;
psp.pszTemplate = MAKEINTRESOURCE(IDD_STARTUP);
psp.pfnDlgProc = StartupDlgProc;
psp.pszTitle = NULL;
psp.lParam = 0;
return CreatePropertySheetPage(&psp);
}
//*************************************************************
//
// StartupDlgProc()
//
// Purpose: Dialog box procedure for Startup tab
//
// Parameters: hDlg - handle to the dialog box
// uMsg - window message
// wParam - wParam
// lParam - lParam
//
// Return: TRUE if message was processed
// FALSE if not
//
// Comments:
//
// History: Date Author Comment
// 11/21/95 ericflo Created
//
//*************************************************************
BOOL APIENTRY StartupDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
int iRet;
//
// If someone changes the state of one of the controls on this page, then enable the APPLY button
//
if (uMsg == WM_COMMAND &&
(HIWORD(wParam) == EN_CHANGE || HIWORD(wParam) == BN_CLICKED || HIWORD(wParam) == CBN_SELCHANGE )) {
PropSheet_Changed(GetParent(hDlg), hDlg);
}
iRet = CoreDumpDlgProc(hDlg, uMsg, wParam, lParam);
switch( iRet ) {
case RET_CONTINUE: {
break;
}
case RET_BREAK: {
return TRUE;
}
case RET_ERROR: {
SetWindowLong (hDlg, DWL_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE);
return TRUE;
}
case RET_CHANGE_NO_REBOOT:
case RET_NO_CHANGE: {
break;
}
case RET_VIRTUAL_CHANGE:
case RET_RECOVER_CHANGE:
case RET_VIRT_AND_RECOVER: {
SendMessage(GetParent(hDlg), PSM_REBOOTSYSTEM, 0, 0);
break;
}
}
switch (uMsg)
{
case WM_INITDIALOG:
StartListInit(hDlg, wParam, lParam);
break;
case WM_NOTIFY:
switch (((NMHDR FAR*)lParam)->code)
{
case PSN_APPLY:
if (StartListExit(hDlg, wParam, lParam) == RET_BREAK)
break;
SetWindowLong (hDlg, DWL_MSGRESULT, PSNRET_NOERROR);
return TRUE;
default:
return FALSE;
}
break;
case WM_COMMAND:
switch (LOWORD(wParam)) {
#if defined(_MIPS_) || defined(_ALPHA_) || defined(_PPC_)
case IDC_STARTUP_SYS_ENABLECOUNTDOWN:
if (HIWORD(wParam) == BN_CLICKED) {
BOOL bChecked;
CheckDlgButton (hDlg, IDC_STARTUP_SYS_ENABLECOUNTDOWN,
bChecked = (WORD) !IsDlgButtonChecked (hDlg, IDC_STARTUP_SYS_ENABLECOUNTDOWN));
EnableWindow (GetDlgItem (hDlg, IDC_STARTUP_SYS_SECONDS), bChecked);
EnableWindow (GetDlgItem (hDlg, IDC_STARTUP_SYS_SECSCROLL), bChecked);
}
break;
#endif
}
break;
case WM_DESTROY:
StartListDestroy(hDlg, wParam, lParam);
break;
case WM_HELP: // F1
WinHelp((HWND)((LPHELPINFO) lParam)->hItemHandle, HELP_FILE, HELP_WM_HELP,
(DWORD) (LPSTR) aStartupHelpIds);
break;
case WM_CONTEXTMENU: // right mouse click
WinHelp((HWND) wParam, HELP_FILE, HELP_CONTEXTMENU,
(DWORD) (LPSTR) aStartupHelpIds);
break;
default:
return FALSE;
}
return TRUE;
}