diff --git a/Utilities/dynamic_library.h b/Utilities/dynamic_library.h index 579513dec2..1bcd6655c4 100644 --- a/Utilities/dynamic_library.h +++ b/Utilities/dynamic_library.h @@ -89,4 +89,4 @@ namespace utils }; } -#define DYNAMIC_IMPORT(lib, name, ...) static utils::dynamic_import<__VA_ARGS__> name(lib, #name); +#define DYNAMIC_IMPORT(lib, name, ...) inline utils::dynamic_import<__VA_ARGS__> name(lib, #name); diff --git a/Utilities/sync.h b/Utilities/sync.h index a7d466dbd4..995e3eddbf 100644 --- a/Utilities/sync.h +++ b/Utilities/sync.h @@ -28,6 +28,9 @@ DYNAMIC_IMPORT("ntdll.dll", NtWaitForKeyedEvent, NTSTATUS(HANDLE Handle, PVOID Key, BOOLEAN Alertable, PLARGE_INTEGER Timeout)); DYNAMIC_IMPORT("ntdll.dll", NtReleaseKeyedEvent, NTSTATUS(HANDLE Handle, PVOID Key, BOOLEAN Alertable, PLARGE_INTEGER Timeout)); DYNAMIC_IMPORT("ntdll.dll", NtDelayExecution, NTSTATUS(BOOLEAN Alertable, PLARGE_INTEGER DelayInterval)); +inline utils::dynamic_import OptWaitOnAddress("kernel32.dll", "WaitOnAddress"); +inline utils::dynamic_import OptWakeByAddressSingle("kernel32.dll", "WakeByAddressSingle"); +inline utils::dynamic_import OptWakeByAddressAll("kernel32.dll", "WakeByAddressAll"); #endif #ifndef __linux__