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) 2001 Microsoft Corporation
Module Name:
BaanERP5c.cpp
Abstract:
The app sets the SharedSection in Windows Value under the key HKLM\System\CCS\Control\Session Manger\SubSystems to 4096 from the one that is exisiting in registry. But this is resulting in failure of the BannLogicService and BaanSharedMemroy services when they are started.
This shim hooks the RegSetValueExA and returns SUCCESS without setting the value in registry if the app is trying to set the HKLM\\System\CCS\Control\Session Manager\SubSystems\Windows value from *SharedSection=####,####,512,* to *SharedSection=####,####,4096,* Notes:
This is an app specific shim.
History:
02/09/2001 a-leelat Created
--*/
#include "precomp.h"
IMPLEMENT_SHIM_BEGIN(BaanERP5c) #include "ShimHookMacro.h"
APIHOOK_ENUM_BEGIN
APIHOOK_ENUM_ENTRY(RegSetValueExA)
APIHOOK_ENUM_END
LONG APIHOOK(RegSetValueExA)( HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE * lpData, DWORD cbData ) { CSTRING_TRY { CString csValueName(lpValueName); if (csValueName.CompareNoCase(L"Windows") == 0 ) { LPSTR lpszData = (LPSTR)lpData; CString csData(lpszData); if (csData.Find(L"4096") >= 0) { return ERROR_SUCCESS; } } } CSTRING_CATCH { // Do nothing
} return ORIGINAL_API(RegSetValueExA)(hKey, lpValueName, Reserved, dwType, lpData, cbData); }
/*++
Register hooked functions
--*/
HOOK_BEGIN
APIHOOK_ENTRY(ADVAPI32.DLL, RegSetValueExA);
HOOK_END
IMPLEMENT_SHIM_END
|