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)
*/
HINSTANCE
WINAPI
+DECLSPEC_HOTPATCH
LoadLibraryA(LPCSTR lpLibFileName)
{
LPSTR PathBuffer;
*/
HINSTANCE
WINAPI
+DECLSPEC_HOTPATCH
LoadLibraryExA(LPCSTR lpLibFileName,
HANDLE hFile,
DWORD dwFlags)
*/
HINSTANCE
WINAPI
+DECLSPEC_HOTPATCH
LoadLibraryW(LPCWSTR lpLibFileName)
{
/* Call Ex version of the API */
*/
HINSTANCE
WINAPI
+DECLSPEC_HOTPATCH
LoadLibraryExW(LPCWSTR lpLibFileName,
HANDLE hFile,
DWORD dwFlags)
/*
* @implemented
*/
-BOOL WINAPI FreeLibrary(HINSTANCE hLibModule)
+BOOL
+WINAPI
+DECLSPEC_HOTPATCH
+FreeLibrary(HINSTANCE hLibModule)
{
NTSTATUS Status;
PIMAGE_NT_HEADERS NtHeaders;
*/
HMODULE
WINAPI
+DECLSPEC_HOTPATCH
GetModuleHandleA(LPCSTR lpModuleName)
{
PUNICODE_STRING ModuleNameW;
*/
BOOL
WINAPI
+DECLSPEC_HOTPATCH
CreateProcessW(LPCWSTR lpApplicationName,
LPWSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
*/
BOOL
WINAPI
+DECLSPEC_HOTPATCH
CreateProcessA(LPCSTR lpApplicationName,
LPSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
CreateSemaphoreA(IN LPSECURITY_ATTRIBUTES lpSemaphoreAttributes OPTIONAL,
IN LONG lInitialCount,
IN LONG lMaximumCount,
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
CreateSemaphoreW(IN LPSECURITY_ATTRIBUTES lpSemaphoreAttributes OPTIONAL,
IN LONG lInitialCount,
IN LONG lMaximumCount,
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
OpenSemaphoreA(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCSTR lpName)
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
OpenSemaphoreW(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCWSTR lpName)
*/
BOOL
WINAPI
+DECLSPEC_HOTPATCH
ReleaseSemaphore(IN HANDLE hSemaphore,
IN LONG lReleaseCount,
IN LPLONG lpPreviousCount)
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
CreateMutexA(IN LPSECURITY_ATTRIBUTES lpMutexAttributes OPTIONAL,
IN BOOL bInitialOwner,
IN LPCSTR lpName OPTIONAL)
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
CreateMutexW(IN LPSECURITY_ATTRIBUTES lpMutexAttributes OPTIONAL,
IN BOOL bInitialOwner,
IN LPCWSTR lpName OPTIONAL)
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
OpenMutexA(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCSTR lpName)
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
OpenMutexW(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCWSTR lpName)
*/
BOOL
WINAPI
+DECLSPEC_HOTPATCH
ReleaseMutex(IN HANDLE hMutex)
{
NTSTATUS Status;
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
CreateEventA(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL,
IN BOOL bManualReset,
IN BOOL bInitialState,
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL,
IN BOOL bManualReset,
IN BOOL bInitialState,
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
OpenEventA(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCSTR lpName)
*/
HANDLE
WINAPI
+DECLSPEC_HOTPATCH
OpenEventW(IN DWORD dwDesiredAccess,
IN BOOL bInheritHandle,
IN LPCWSTR lpName)
*/
BOOL
WINAPI
+DECLSPEC_HOTPATCH
PulseEvent(IN HANDLE hEvent)
{
NTSTATUS Status;
*/
BOOL
WINAPI
+DECLSPEC_HOTPATCH
ResetEvent(IN HANDLE hEvent)
{
NTSTATUS Status;
*/
BOOL
WINAPI
+DECLSPEC_HOTPATCH
SetEvent(IN HANDLE hEvent)
{
NTSTATUS Status;
*/
VOID
WINAPI
+DECLSPEC_HOTPATCH
Sleep(IN DWORD dwMilliseconds)
{
/* Call the new API */