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:
StoneAge.cpp
Abstract:
The app is trying to create a window with NULL WndProc, and later it seems does not really use it , and just launch the installshield setup program and exit. Fix this by providing a dummy WndProc.
BUGBUG: Need to add to EmulateUSER when possible.
Notes: This is an app specific shim.
History:
06/09/2001 xiaoz Created
--*/
#include "precomp.h"
IMPLEMENT_SHIM_BEGIN(StoneAge) #include "ShimHookMacro.h"
APIHOOK_ENUM_BEGIN APIHOOK_ENUM_ENTRY(RegisterClassExA) APIHOOK_ENUM_END
/*++
Set the WndProc to DefWndProc if it's NULL.
--*/
ATOM APIHOOK(RegisterClassExA)( CONST WNDCLASSEXA *lpwcx // class data
) { if (!(lpwcx->lpfnWndProc)) { WNDCLASSEXA wcNewWndClassEx = *lpwcx; LOGN(eDbgLevelError, "[RegisterClassExA] Null WndProc specified - correcting.");
wcNewWndClassEx.lpfnWndProc = DefWindowProcA;
return ORIGINAL_API(RegisterClassExA)(&wcNewWndClassEx); } else { return ORIGINAL_API(RegisterClassExA)(lpwcx); } }
/*++
Register hooked functions
--*/
HOOK_BEGIN APIHOOK_ENTRY(USER32.DLL, RegisterClassExA) HOOK_END
IMPLEMENT_SHIM_END
|