Leaked source code of windows server 2003
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.
|
|
/*++
Copyright (c) 2002 Microsoft Corporation
Module Name: ISA2000SP1.cpp
Abstract:
Changes HKLM\System\CurrentControlSet\Services\mspfltex\start from 4 to 2 to re-enable ISA services.
Notes:
This is a specific shim.
History:
11/19/2002 astritz Created
--*/
#include "precomp.h"
IMPLEMENT_SHIM_BEGIN(ISA2000SP1) #include "ShimHookMacro.h"
APIHOOK_ENUM_BEGIN APIHOOK_ENUM_END
BOOL NOTIFY_FUNCTION( DWORD fdwReason ) { if (fdwReason == SHIM_STATIC_DLLS_INITIALIZED) { HKEY hKey = 0; if( ERROR_SUCCESS == RegOpenKeyExW( HKEY_LOCAL_MACHINE, L"System\\CurrentControlSet\\Services\\mspfltex", 0, KEY_ALL_ACCESS, &hKey )) { DWORD dwOldValue = 0; DWORD dwType = 0; DWORD dwSize = sizeof(dwOldValue); if( ERROR_SUCCESS == RegQueryValueExW( hKey, L"start", 0, &dwType, (LPBYTE)&dwOldValue, &dwSize )) { if ( REG_DWORD == dwType && dwOldValue == 4 ) { DWORD dwNewValue = 2; if( ERROR_SUCCESS == RegSetValueExW( hKey, L"start", 0, REG_DWORD, (LPBYTE)&dwNewValue, sizeof(dwNewValue) )) { LOGN( eDbgLevelError, "[INIT] Changed HKLM\\System\\CurrentControlSet\\Services\\mspfltex\\start from 4 to 2."); } else { LOGN( eDbgLevelError, "[INIT] Failed to change HKLM\\System\\CurrentControlSet\\Services\\mspfltex\\start from 4 to 2."); } } else { LOGN( eDbgLevelError, "[INIT] HKLM\\System\\CurrentControlSet\\Services\\mspfltex\\start was not 4 so not changing."); } } else { LOGN( eDbgLevelError, "[INIT] Failed to query HKLM\\System\\CurrentControlSet\\Services\\mspfltex\\start."); } RegCloseKey(hKey); } else { LOGN( eDbgLevelError, "[INIT] Failed to open HKLM\\System\\CurrentControlSet\\Services\\mspfltex."); } }
return TRUE; }
/*++
Register hooked functions
--*/
HOOK_BEGIN
CALL_NOTIFY_FUNCTION
HOOK_END
IMPLEMENT_SHIM_END
|