271 lines
6.2 KiB
C
271 lines
6.2 KiB
C
/*++
|
||
|
||
Copyright (c) 1994 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
check.c
|
||
|
||
Abstract:
|
||
|
||
This module houses the high-level controller of the
|
||
CHECK function.
|
||
|
||
Author:
|
||
|
||
Jim Kelly (JimK) 22-Sep-1994
|
||
|
||
Revision History:
|
||
|
||
--*/
|
||
|
||
#include "secmgrp.h"
|
||
|
||
|
||
|
||
///////////////////////////////////////////////////////////////////////
|
||
// //
|
||
// Module-Private Prototypes //
|
||
// //
|
||
///////////////////////////////////////////////////////////////////////
|
||
|
||
LONG
|
||
SecMgrpDlgProcCheck(
|
||
HWND hwnd,
|
||
UINT wMsg,
|
||
DWORD wParam,
|
||
LONG lParam
|
||
);
|
||
|
||
|
||
|
||
///////////////////////////////////////////////////////////////////////
|
||
// //
|
||
// Module-wide variables //
|
||
// //
|
||
///////////////////////////////////////////////////////////////////////
|
||
|
||
BOOLEAN
|
||
SecMgrpAllowChanges;
|
||
|
||
|
||
///////////////////////////////////////////////////////////////////////
|
||
// //
|
||
// Externally callable functions //
|
||
// //
|
||
///////////////////////////////////////////////////////////////////////
|
||
|
||
VOID
|
||
SecMgrpCheckLevelSettings(
|
||
HWND hwnd,
|
||
ULONG Level
|
||
)
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
This function performs the CHECK settings feature.
|
||
|
||
Arguments
|
||
|
||
Level - The security level to check for.
|
||
|
||
Return Values:
|
||
|
||
|
||
--*/
|
||
|
||
{
|
||
|
||
|
||
DialogBoxParam(SecMgrphInstance,
|
||
MAKEINTRESOURCE(SECMGR_ID_DLG_CHECK),
|
||
hwnd,
|
||
(DLGPROC)SecMgrpDlgProcCheck,
|
||
(LONG)0
|
||
);
|
||
|
||
return;
|
||
}
|
||
|
||
|
||
LONG
|
||
SecMgrpDlgProcCheck(
|
||
HWND hwnd,
|
||
UINT wMsg,
|
||
DWORD wParam,
|
||
LONG lParam
|
||
)
|
||
/*++
|
||
|
||
Routine Description:
|
||
|
||
This function is the dialog process for the APPLY
|
||
dialog.
|
||
|
||
Arguments
|
||
|
||
|
||
Return Values:
|
||
|
||
TRUE - the message was handled.
|
||
|
||
FALSE - the message was not handled.
|
||
|
||
--*/
|
||
{
|
||
HWND
|
||
Control,
|
||
Button;
|
||
|
||
TCHAR
|
||
Level[SECMGR_MAX_RESOURCE_STRING_LENGTH];
|
||
|
||
int
|
||
Index;
|
||
|
||
|
||
switch (wMsg) {
|
||
|
||
case WM_INITDIALOG:
|
||
|
||
|
||
//
|
||
// Set the level
|
||
//
|
||
|
||
switch (SecMgrpCurrentLevel) {
|
||
case SECMGR_ID_LEVEL_STANDARD:
|
||
LoadString( SecMgrphInstance,
|
||
SECMGRP_STRING_LEVEL_STANDARD,
|
||
&Level[0],
|
||
SECMGR_MAX_RESOURCE_STRING_LENGTH
|
||
);
|
||
break;
|
||
|
||
case SECMGR_ID_LEVEL_HIGH:
|
||
|
||
LoadString( SecMgrphInstance,
|
||
SECMGRP_STRING_LEVEL_HIGH,
|
||
&Level[0],
|
||
SECMGR_MAX_RESOURCE_STRING_LENGTH
|
||
);
|
||
break;
|
||
|
||
case SECMGR_ID_LEVEL_C2:
|
||
|
||
LoadString( SecMgrphInstance,
|
||
SECMGRP_STRING_LEVEL_C2,
|
||
&Level[0],
|
||
SECMGR_MAX_RESOURCE_STRING_LENGTH
|
||
);
|
||
break;
|
||
|
||
default:
|
||
ASSERT(FALSE); // There aren't any other levels
|
||
EndDialog(hwnd, 0);
|
||
return(TRUE);
|
||
|
||
}
|
||
|
||
SetDlgItemText( hwnd, SECMGR_ID_TEXT_CHECK_LEVEL, Level );
|
||
|
||
|
||
//
|
||
// Set the cursor
|
||
//
|
||
|
||
Button = GetDlgItem(hwnd, SECMGR_ID_BUTTON_CHECK_SYS_ACCESS);
|
||
Index = (int)SendMessage(Button, CB_GETCURSEL, 0, 0);
|
||
|
||
|
||
//
|
||
// By default, changes aren't allowed when checking
|
||
//
|
||
|
||
SecMgrpAllowChanges = FALSE;
|
||
|
||
|
||
SetForegroundWindow(hwnd);
|
||
ShowWindow(hwnd, SW_NORMAL);
|
||
|
||
|
||
return(TRUE);
|
||
|
||
case WM_SYSCOMMAND:
|
||
switch (wParam & 0xfff0) {
|
||
case SC_CLOSE:
|
||
EndDialog(hwnd, 0);
|
||
return(TRUE);
|
||
}
|
||
return(FALSE);
|
||
|
||
|
||
|
||
case WM_COMMAND:
|
||
switch(LOWORD(wParam)) {
|
||
|
||
case IDOK:
|
||
|
||
EndDialog(hwnd, 0);
|
||
return(TRUE);
|
||
break;
|
||
|
||
|
||
case SECMGR_ID_CHKBOX_ALLOW_CHANGES:
|
||
SecMgrpAllowChanges = !SecMgrpAllowChanges;
|
||
break;
|
||
|
||
case SECMGR_ID_BUTTON_CHECK_SYS_ACCESS:
|
||
|
||
DialogBoxParam(SecMgrphInstance,
|
||
MAKEINTRESOURCE(SECMGR_ID_DLG_APPLY_SYS_ACCESS),
|
||
hwnd,
|
||
(DLGPROC)SecMgrpDlgProcSysAccess,
|
||
(LONG)(SecMgrpAllowChanges)
|
||
);
|
||
if (SecMgrpAllowChanges) {
|
||
SecMgrpChangesMade = TRUE;
|
||
}
|
||
Control = GetDlgItem(hwnd, SECMGR_ID_TEXT_SYS_ACC_NOT_YET);
|
||
ShowWindow( Control, SW_HIDE );
|
||
break;
|
||
|
||
case SECMGR_ID_BUTTON_CHECK_FILE_SYSTEMS:
|
||
SecMgrpPopUp( hwnd, SECMGRP_STRING_NOT_YET_AVAILABLE);
|
||
SecMgrpChangesMade = TRUE;
|
||
Control = GetDlgItem(hwnd, SECMGR_ID_TEXT_FILE_SYSTEM_NOT_YET);
|
||
ShowWindow( Control, SW_HIDE );
|
||
break;
|
||
|
||
case SECMGR_ID_BUTTON_CHECK_BASE_OBJECTS:
|
||
DialogBoxParam(SecMgrphInstance,
|
||
MAKEINTRESOURCE(SECMGR_ID_DLG_BASE_OBJECTS),
|
||
hwnd,
|
||
(DLGPROC)SecMgrpDlgProcBaseObj,
|
||
(LONG)(SecMgrpAllowChanges)
|
||
);
|
||
SecMgrpChangesMade = TRUE;
|
||
Control = GetDlgItem(hwnd, SECMGR_ID_TEXT_BASE_OBJ_NOT_YET);
|
||
ShowWindow( Control, SW_HIDE );
|
||
break;
|
||
|
||
case SECMGR_ID_BUTTON_CHECK_AUDITING:
|
||
SecMgrpPopUp( hwnd, SECMGRP_STRING_NOT_YET_AVAILABLE);
|
||
SecMgrpChangesMade = TRUE;
|
||
Control = GetDlgItem(hwnd, SECMGR_ID_TEXT_AUDIT_NOT_YET);
|
||
ShowWindow( Control, SW_HIDE );
|
||
break;
|
||
|
||
default:
|
||
return FALSE;
|
||
}
|
||
default:
|
||
|
||
break;
|
||
|
||
}
|
||
|
||
return FALSE;
|
||
}
|