[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 kernel32.rc
${CMAKE_CURRENT_BINARY_DIR}/kernel32.def) ${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 ## ## HACK FOR MSVC COMPILATION WITH win32dll ##
set_subsystem(kernel32 console) set_subsystem(kernel32 console)

View file

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

View file

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

View file

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

View file

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