[KERNEL32]

* Mark as hotpatchable.
CORE-7959

svn path=/trunk/; revision=62425
This commit is contained in:
Amine Khaldi 2014-03-05 11:45:39 +00:00
parent 41202d274f
commit 4e25055d91
5 changed files with 31 additions and 2 deletions

View file

@ -99,7 +99,7 @@ add_library(kernel32 SHARED
kernel32.rc
${CMAKE_CURRENT_BINARY_DIR}/kernel32.def)
set_module_type(kernel32 win32dll ENTRYPOINT DllMain 12)
set_module_type(kernel32 win32dll HOTPATCHABLE ENTRYPOINT DllMain 12)
#############################################
## HACK FOR MSVC COMPILATION WITH win32dll ##
set_subsystem(kernel32 console)

View file

@ -107,6 +107,7 @@ DisableThreadLibraryCalls(
*/
HINSTANCE
WINAPI
DECLSPEC_HOTPATCH
LoadLibraryA(LPCSTR lpLibFileName)
{
LPSTR PathBuffer;
@ -152,6 +153,7 @@ LoadLibraryA(LPCSTR lpLibFileName)
*/
HINSTANCE
WINAPI
DECLSPEC_HOTPATCH
LoadLibraryExA(LPCSTR lpLibFileName,
HANDLE hFile,
DWORD dwFlags)
@ -171,6 +173,7 @@ LoadLibraryExA(LPCSTR lpLibFileName,
*/
HINSTANCE
WINAPI
DECLSPEC_HOTPATCH
LoadLibraryW(LPCWSTR lpLibFileName)
{
/* Call Ex version of the API */
@ -279,6 +282,7 @@ BasepLoadLibraryAsDatafile(PWSTR Path, LPCWSTR Name, HMODULE *hModule)
*/
HINSTANCE
WINAPI
DECLSPEC_HOTPATCH
LoadLibraryExW(LPCWSTR lpLibFileName,
HANDLE hFile,
DWORD dwFlags)
@ -447,7 +451,10 @@ GetProcAddress(HMODULE hModule, LPCSTR lpProcName)
/*
* @implemented
*/
BOOL WINAPI FreeLibrary(HINSTANCE hLibModule)
BOOL
WINAPI
DECLSPEC_HOTPATCH
FreeLibrary(HINSTANCE hLibModule)
{
NTSTATUS Status;
PIMAGE_NT_HEADERS NtHeaders;
@ -806,6 +813,7 @@ quickie:
*/
HMODULE
WINAPI
DECLSPEC_HOTPATCH
GetModuleHandleA(LPCSTR lpModuleName)
{
PUNICODE_STRING ModuleNameW;

View file

@ -4605,6 +4605,7 @@ Quickie:
*/
BOOL
WINAPI
DECLSPEC_HOTPATCH
CreateProcessW(LPCWSTR lpApplicationName,
LPWSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
@ -4773,6 +4774,7 @@ CreateProcessInternalA(HANDLE hToken,
*/
BOOL
WINAPI
DECLSPEC_HOTPATCH
CreateProcessA(LPCSTR lpApplicationName,
LPSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,

View file

@ -426,6 +426,7 @@ CancelWaitableTimer(IN HANDLE hTimer)
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
CreateSemaphoreA(IN LPSECURITY_ATTRIBUTES lpSemaphoreAttributes OPTIONAL,
IN LONG lInitialCount,
IN LONG lMaximumCount,
@ -439,6 +440,7 @@ CreateSemaphoreA(IN LPSECURITY_ATTRIBUTES lpSemaphoreAttributes OPTIONAL,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
CreateSemaphoreW(IN LPSECURITY_ATTRIBUTES lpSemaphoreAttributes OPTIONAL,
IN LONG lInitialCount,
IN LONG lMaximumCount,
@ -456,6 +458,7 @@ CreateSemaphoreW(IN LPSECURITY_ATTRIBUTES lpSemaphoreAttributes OPTIONAL,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
OpenSemaphoreA(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCSTR lpName)
@ -468,6 +471,7 @@ OpenSemaphoreA(IN DWORD dwDesiredAccess,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
OpenSemaphoreW(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCWSTR lpName)
@ -480,6 +484,7 @@ OpenSemaphoreW(IN DWORD dwDesiredAccess,
*/
BOOL
WINAPI
DECLSPEC_HOTPATCH
ReleaseSemaphore(IN HANDLE hSemaphore,
IN LONG lReleaseCount,
IN LPLONG lpPreviousCount)
@ -500,6 +505,7 @@ ReleaseSemaphore(IN HANDLE hSemaphore,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
CreateMutexA(IN LPSECURITY_ATTRIBUTES lpMutexAttributes OPTIONAL,
IN BOOL bInitialOwner,
IN LPCSTR lpName OPTIONAL)
@ -512,6 +518,7 @@ CreateMutexA(IN LPSECURITY_ATTRIBUTES lpMutexAttributes OPTIONAL,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
CreateMutexW(IN LPSECURITY_ATTRIBUTES lpMutexAttributes OPTIONAL,
IN BOOL bInitialOwner,
IN LPCWSTR lpName OPTIONAL)
@ -527,6 +534,7 @@ CreateMutexW(IN LPSECURITY_ATTRIBUTES lpMutexAttributes OPTIONAL,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
OpenMutexA(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCSTR lpName)
@ -539,6 +547,7 @@ OpenMutexA(IN DWORD dwDesiredAccess,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
OpenMutexW(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCWSTR lpName)
@ -551,6 +560,7 @@ OpenMutexW(IN DWORD dwDesiredAccess,
*/
BOOL
WINAPI
DECLSPEC_HOTPATCH
ReleaseMutex(IN HANDLE hMutex)
{
NTSTATUS Status;
@ -569,6 +579,7 @@ ReleaseMutex(IN HANDLE hMutex)
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
CreateEventA(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL,
IN BOOL bManualReset,
IN BOOL bInitialState,
@ -582,6 +593,7 @@ CreateEventA(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL,
IN BOOL bManualReset,
IN BOOL bInitialState,
@ -599,6 +611,7 @@ CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
OpenEventA(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCSTR lpName)
@ -611,6 +624,7 @@ OpenEventA(IN DWORD dwDesiredAccess,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
OpenEventW(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCWSTR lpName)
@ -623,6 +637,7 @@ OpenEventW(IN DWORD dwDesiredAccess,
*/
BOOL
WINAPI
DECLSPEC_HOTPATCH
PulseEvent(IN HANDLE hEvent)
{
NTSTATUS Status;
@ -641,6 +656,7 @@ PulseEvent(IN HANDLE hEvent)
*/
BOOL
WINAPI
DECLSPEC_HOTPATCH
ResetEvent(IN HANDLE hEvent)
{
NTSTATUS Status;
@ -659,6 +675,7 @@ ResetEvent(IN HANDLE hEvent)
*/
BOOL
WINAPI
DECLSPEC_HOTPATCH
SetEvent(IN HANDLE hEvent)
{
NTSTATUS Status;
@ -715,6 +732,7 @@ InitializeCriticalSectionAndSpinCount(OUT LPCRITICAL_SECTION lpCriticalSection,
*/
VOID
WINAPI
DECLSPEC_HOTPATCH
Sleep(IN DWORD dwMilliseconds)
{
/* Call the new API */

View file

@ -131,6 +131,7 @@ BaseDispatchApc(IN PAPCFUNC ApcRoutine,
*/
HANDLE
WINAPI
DECLSPEC_HOTPATCH
CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes,
IN DWORD dwStackSize,
IN LPTHREAD_START_ROUTINE lpStartAddress,