mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-01-15 19:35:26 +00:00
fea2593ab4
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
31 lines
1 KiB
C++
31 lines
1 KiB
C++
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#ifdef _WIN32
|
|
|
|
#include "ntapi.h"
|
|
|
|
NtClose_t NtClose = nullptr;
|
|
NtSetInformationFile_t NtSetInformationFile = nullptr;
|
|
NtCreateThread_t NtCreateThread = nullptr;
|
|
NtTerminateThread_t NtTerminateThread = nullptr;
|
|
NtQueueApcThreadEx_t NtQueueApcThreadEx = nullptr;
|
|
|
|
namespace Common::NtApi {
|
|
|
|
void Initialize() {
|
|
HMODULE nt_handle = GetModuleHandleA("ntdll.dll");
|
|
|
|
// http://stackoverflow.com/a/31411628/4725495
|
|
NtClose = (NtClose_t)GetProcAddress(nt_handle, "NtClose");
|
|
NtSetInformationFile =
|
|
(NtSetInformationFile_t)GetProcAddress(nt_handle, "NtSetInformationFile");
|
|
NtCreateThread = (NtCreateThread_t)GetProcAddress(nt_handle, "NtCreateThread");
|
|
NtTerminateThread = (NtTerminateThread_t)GetProcAddress(nt_handle, "NtTerminateThread");
|
|
NtQueueApcThreadEx = (NtQueueApcThreadEx_t)GetProcAddress(nt_handle, "NtQueueApcThreadEx");
|
|
}
|
|
|
|
} // namespace Common::NtApi
|
|
|
|
#endif
|