CommonLibSSE (powerof3)
KERNEL32.h File Reference
#include "REX/W32/BASE.h"

Go to the source code of this file.

Classes

struct  REX::W32::IMAGE_DATA_DIRECTORY
 
struct  REX::W32::IMAGE_DOS_HEADER
 
struct  REX::W32::IMAGE_FILE_HEADER
 
struct  REX::W32::IMAGE_IMPORT_BY_NAME
 
struct  REX::W32::IMAGE_IMPORT_DESCRIPTOR
 
struct  REX::W32::IMAGE_OPTIONAL_HEADER64
 
struct  REX::W32::IMAGE_NT_HEADERS64
 
struct  REX::W32::IMAGE_SECTION_HEADER
 
struct  REX::W32::IMAGE_THUNK_DATA64
 
struct  REX::W32::MEMORY_BASIC_INFORMATION
 
struct  REX::W32::NLSVERSIONINFO
 
struct  REX::W32::PROCESS_INFORMATION
 
struct  REX::W32::STARTUPINFOA
 
struct  REX::W32::STARTUPINFOW
 
struct  REX::W32::SYSTEM_INFO
 
struct  REX::W32::WIN32_FIND_DATAA
 
struct  REX::W32::WIN32_FIND_DATAW
 

Namespaces

 REX
 
 REX::W32
 

Typedefs

using REX::W32::THREAD_START_ROUTINE = std::uint32_t(void *a_param)
 

Functions

bool REX::W32::CloseHandle (HANDLE a_handle) noexcept
 
HANDLE REX::W32::CreateFileMappingA (HANDLE a_file, SECURITY_ATTRIBUTES *a_attributes, std::uint32_t a_protect, std::uint32_t a_maxSizeHigh, std::uint32_t a_maxSizeLow, const char *a_name) noexcept
 
HANDLE REX::W32::CreateFileMappingW (HANDLE a_file, SECURITY_ATTRIBUTES *a_attributes, std::uint32_t a_protect, std::uint32_t a_maxSizeHigh, std::uint32_t a_maxSizeLow, const wchar_t *a_name) noexcept
 
bool REX::W32::CreateProcessA (const char *a_name, char *a_cmd, SECURITY_ATTRIBUTES *a_procAttr, SECURITY_ATTRIBUTES *a_threadAttr, bool a_inheritHandles, std::uint32_t a_flags, void *a_env, const char *a_curDir, STARTUPINFOA *a_startInfo, PROCESS_INFORMATION *a_procInfo) noexcept
 
bool REX::W32::CreateProcessW (const wchar_t *a_name, wchar_t *a_cmd, SECURITY_ATTRIBUTES *a_procAttr, SECURITY_ATTRIBUTES *a_threadAttr, bool a_inheritHandles, std::uint32_t a_flags, void *a_env, const wchar_t *a_curDir, STARTUPINFOW *a_startInfo, PROCESS_INFORMATION *a_procInfo) noexcept
 
HANDLE REX::W32::CreateRemoteThread (HANDLE a_process, SECURITY_ATTRIBUTES *a_threadAttr, std::size_t a_stackSize, THREAD_START_ROUTINE *a_startAddr, void *a_param, std::uint32_t a_flags, std::uint32_t *a_threadID) noexcept
 
HANDLE REX::W32::CreateSemaphoreA (SECURITY_ATTRIBUTES *a_semaphoreAttr, std::int32_t a_initCount, std::int32_t a_maxCount, const char *a_name)
 
HANDLE REX::W32::CreateThread (SECURITY_ATTRIBUTES *a_threadAttr, std::size_t a_stackSize, THREAD_START_ROUTINE *a_startAddr, void *a_param, std::uint32_t a_flags, std::uint32_t *a_threadID) noexcept
 
void REX::W32::DeleteCriticalSection (CRITICAL_SECTION *a_criticalSection)
 
void REX::W32::EnterCriticalSection (CRITICAL_SECTION *a_criticalSection)
 
std::uint32_t REX::W32::ExpandEnvironmentStringsA (const char *a_src, char *a_dst, std::uint32_t a_dstLen) noexcept
 
std::uint32_t REX::W32::ExpandEnvironmentStringsW (const wchar_t *a_src, wchar_t *a_dst, std::uint32_t a_dstLen) noexcept
 
bool REX::W32::FindClose (HANDLE a_file) noexcept
 
HANDLE REX::W32::FindFirstFileA (const char *a_name, WIN32_FIND_DATAA *a_data) noexcept
 
HANDLE REX::W32::FindFirstFileW (const wchar_t *a_name, WIN32_FIND_DATAW *a_data) noexcept
 
bool REX::W32::FindNextFileA (HANDLE a_file, WIN32_FIND_DATAA *a_data) noexcept
 
bool REX::W32::FindNextFileW (HANDLE a_file, WIN32_FIND_DATAW *a_data) noexcept
 
bool REX::W32::FlushInstructionCache (HANDLE a_process, const void *a_baseAddr, std::size_t a_size) noexcept
 
bool REX::W32::FreeLibrary (HMODULE a_module) noexcept
 
HMODULE REX::W32::GetCurrentModule () noexcept
 
HANDLE REX::W32::GetCurrentProcess () noexcept
 
std::uint32_t REX::W32::GetCurrentThreadId () noexcept
 
std::uint32_t REX::W32::GetEnvironmentVariableA (const char *a_name, char *a_buf, std::uint32_t a_bufLen) noexcept
 
std::uint32_t REX::W32::GetEnvironmentVariableW (const wchar_t *a_name, wchar_t *a_buf, std::uint32_t a_bufLen) noexcept
 
std::uint32_t REX::W32::GetLastError () noexcept
 
std::uint32_t REX::W32::GetModuleFileNameA (HMODULE a_module, char *a_name, std::uint32_t a_nameLen) noexcept
 
std::uint32_t REX::W32::GetModuleFileNameW (HMODULE a_module, wchar_t *a_name, std::uint32_t a_nameLen) noexcept
 
HMODULE REX::W32::GetModuleHandleA (const char *a_name) noexcept
 
HMODULE REX::W32::GetModuleHandleW (const wchar_t *a_name) noexcept
 
std::uint32_t REX::W32::GetPrivateProfileStringA (const char *a_app, const char *a_key, const char *a_default, char *a_buf, std::uint32_t a_bufLen, const char *a_name) noexcept
 
std::uint32_t REX::W32::GetPrivateProfileStringW (const wchar_t *a_app, const wchar_t *a_key, const wchar_t *a_default, wchar_t *a_buf, std::uint32_t a_bufLen, const wchar_t *a_name) noexcept
 
void * REX::W32::GetProcAddress (HMODULE a_module, const char *a_name) noexcept
 
void REX::W32::GetSystemInfo (SYSTEM_INFO *a_info) noexcept
 
bool REX::W32::IMAGE_SNAP_BY_ORDINAL64 (std::uint64_t a_ordinal) noexcept
 
IMAGE_SECTION_HEADER * REX::W32::IMAGE_FIRST_SECTION (const IMAGE_NT_HEADERS64 *a_header) noexcept
 
bool REX::W32::InitializeCriticalSectionAndSpinCount (CRITICAL_SECTION *a_criticalSection, std::uint32_t a_spinCount)
 
std::uint32_t REX::W32::InterlockedCompareExchange (volatile std::uint32_t *a_target, std::uint32_t a_value, std::uint32_t a_compare) noexcept
 
std::uint64_t REX::W32::InterlockedCompareExchange64 (volatile std::uint64_t *a_target, std::uint64_t a_value, std::uint64_t a_compare) noexcept
 
std::uint32_t REX::W32::InterlockedDecrement (volatile std::uint32_t *a_target) noexcept
 
std::uint64_t REX::W32::InterlockedDecrement64 (volatile std::uint64_t *a_target) noexcept
 
std::uint32_t REX::W32::InterlockedExchange (volatile std::uint32_t *a_target, std::uint32_t a_value) noexcept
 
std::uint64_t REX::W32::InterlockedExchange64 (volatile std::uint64_t *a_target, std::uint64_t a_value) noexcept
 
std::uint32_t REX::W32::InterlockedIncrement (volatile std::uint32_t *a_target) noexcept
 
std::uint64_t REX::W32::InterlockedIncrement64 (volatile std::uint64_t *a_target) noexcept
 
bool REX::W32::IsDebuggerPresent () noexcept
 
std::int32_t REX::W32::LCMapStringEx (const wchar_t *a_locale, std::uint32_t a_flags, const wchar_t *a_src, std::int32_t a_srcLen, wchar_t *a_dst, std::int32_t a_dstLen, NLSVERSIONINFO *a_info, void *a_reserved, std::intptr_t a_sortHandle) noexcept
 
void REX::W32::LeaveCriticalSection (CRITICAL_SECTION *a_criticalSection)
 
HMODULE REX::W32::LoadLibraryA (const char *a_name) noexcept
 
HMODULE REX::W32::LoadLibraryW (const wchar_t *a_name) noexcept
 
void * REX::W32::MapViewOfFile (HANDLE a_object, std::uint32_t a_desiredAccess, std::uint32_t a_fileOffsetHi, std::uint32_t a_fileOffsetLo, std::size_t a_numBytes) noexcept
 
void * REX::W32::MapViewOfFileEx (HANDLE a_object, std::uint32_t a_desiredAccess, std::uint32_t a_fileOffsetHi, std::uint32_t a_fileOffsetLo, std::size_t a_numBytes, void *a_baseAddr) noexcept
 
std::int32_t REX::W32::MultiByteToWideChar (std::uint32_t a_codePage, std::uint32_t a_flags, const char *a_src, std::int32_t a_srcLen, wchar_t *a_dst, std::int32_t a_dstLen) noexcept
 
HANDLE REX::W32::OpenFileMappingA (std::uint32_t a_desiredAccess, bool a_inheritHandle, const char *a_name) noexcept
 
HANDLE REX::W32::OpenFileMappingW (std::uint32_t a_desiredAccess, bool a_inheritHandle, const wchar_t *a_name) noexcept
 
void REX::W32::OutputDebugStringA (const char *a_str) noexcept
 
void REX::W32::OutputDebugStringW (const wchar_t *a_str) noexcept
 
bool REX::W32::QueryPerformanceCounter (std::int64_t *a_counter) noexcept
 
bool REX::W32::QueryPerformanceFrequency (std::int64_t *a_frequency) noexcept
 
std::uint32_t REX::W32::ResumeThread (HANDLE a_handle) noexcept
 
bool REX::W32::SetEnvironmentVariableA (const char *a_name, const char *a_value) noexcept
 
bool REX::W32::SetEnvironmentVariableW (const wchar_t *a_name, const wchar_t *a_value) noexcept
 
void REX::W32::Sleep (std::uint32_t a_milliseconds) noexcept
 
bool REX::W32::TerminateProcess (HANDLE a_process, std::uint32_t a_exitCode) noexcept
 
void * REX::W32::TlsGetValue (std::uint32_t a_index) noexcept
 
bool REX::W32::TlsSetValue (std::uint32_t a_index, void *a_value) noexcept
 
bool REX::W32::UnmapViewOfFile (const void *a_baseAddress) noexcept
 
void * REX::W32::VirtualAlloc (void *a_address, std::size_t a_size, std::uint32_t a_type, std::uint32_t a_protect) noexcept
 
void * REX::W32::VirtualAllocEx (HANDLE a_process, void *a_address, std::size_t a_size, std::uint32_t a_type, std::uint32_t a_protect) noexcept
 
bool REX::W32::VirtualFree (void *a_address, std::size_t a_size, std::uint32_t a_type) noexcept
 
bool REX::W32::VirtualFreeEx (HANDLE a_process, void *a_address, std::size_t a_size, std::uint32_t a_type) noexcept
 
bool REX::W32::VirtualProtect (void *a_address, std::size_t a_size, std::uint32_t a_newProtect, std::uint32_t *a_oldProtect) noexcept
 
bool REX::W32::VirtualProtectEx (HANDLE a_process, void *a_address, std::size_t a_size, std::uint32_t a_newProtect, std::uint32_t *a_oldProtect) noexcept
 
std::size_t REX::W32::VirtualQuery (const void *a_address, MEMORY_BASIC_INFORMATION *a_buf, std::size_t a_bufLen) noexcept
 
std::size_t REX::W32::VirtualQueryEx (HANDLE a_process, const void *a_address, MEMORY_BASIC_INFORMATION *a_buf, std::size_t a_bufLen) noexcept
 
std::uint32_t REX::W32::WaitForSingleObject (HANDLE a_handle, std::uint32_t a_milliseconds) noexcept
 
std::uint32_t REX::W32::WaitForSingleObjectEx (HANDLE a_handle, std::uint32_t a_milliseconds, bool a_alertable) noexcept
 
std::int32_t REX::W32::WideCharToMultiByte (std::uint32_t a_codePage, std::uint32_t a_flags, const wchar_t *a_src, std::int32_t a_srcLen, char *a_dst, std::int32_t a_dstLen, const char *a_default, std::int32_t *a_defaultLen)
 
bool REX::W32::WriteProcessMemory (HANDLE a_process, void *a_address, const void *a_buf, std::size_t a_bufLen, std::size_t *a_bufWritten) noexcept
 

Variables

constexpr auto REX::W32::STANDARD_RIGHTS_REQUIRED { 0x000F0000 }
 
constexpr auto REX::W32::STANDARD_RIGHTS_ALL { 0x001F0000 }
 
constexpr auto REX::W32::CP_UTF8 { 65001u }
 
constexpr auto REX::W32::MEM_COMMIT { 0x00001000u }
 
constexpr auto REX::W32::MEM_RESERVE { 0x00002000u }
 
constexpr auto REX::W32::MEM_DECOMMIT { 0x00004000u }
 
constexpr auto REX::W32::MEM_RELEASE { 0x00008000u }
 
constexpr auto REX::W32::MEM_FREE { 0x00010000u }
 
constexpr auto REX::W32::MEM_RESET { 0x00080000u }
 
constexpr auto REX::W32::MEM_RESET_UNDO { 0x01000000u }
 
constexpr auto REX::W32::PAGE_NOACCESS { 0x00000001u }
 
constexpr auto REX::W32::PAGE_READONLY { 0x00000002u }
 
constexpr auto REX::W32::PAGE_READWRITE { 0x00000004u }
 
constexpr auto REX::W32::PAGE_WRITECOPY { 0x00000008u }
 
constexpr auto REX::W32::PAGE_EXECUTE { 0x00000010u }
 
constexpr auto REX::W32::PAGE_EXECUTE_READ { 0x00000020u }
 
constexpr auto REX::W32::PAGE_EXECUTE_READWRITE { 0x00000040u }
 
constexpr auto REX::W32::SECTION_QUERY { 0x00000001 }
 
constexpr auto REX::W32::SECTION_MAP_WRITE { 0x00000002 }
 
constexpr auto REX::W32::SECTION_MAP_READ { 0x00000004 }
 
constexpr auto REX::W32::SECTION_MAP_EXECUTE { 0x00000008 }
 
constexpr auto REX::W32::SECTION_EXTEND_SIZE { 0x00000010 }
 
constexpr auto REX::W32::SECTION_MAP_EXECUTE_EXPLICIT { 0x00000020 }
 
constexpr auto REX::W32::SECTION_ALL_ACCESS
 
constexpr auto REX::W32::FILE_ATTRIBUTE_READONLY { 0x00000001u }
 
constexpr auto REX::W32::FILE_ATTRIBUTE_HIDDEN { 0x00000002u }
 
constexpr auto REX::W32::FILE_ATTRIBUTE_SYSTEM { 0x00000004u }
 
constexpr auto REX::W32::FILE_ATTRIBUTE_DIRECTORY { 0x00000010u }
 
constexpr auto REX::W32::FILE_ATTRIBUTE_ARCHIVE { 0x00000020u }
 
constexpr auto REX::W32::FILE_MAP_ALL_ACCESS { SECTION_ALL_ACCESS }
 
constexpr auto REX::W32::FILE_MAP_COPY { 0x00000001u }
 
constexpr auto REX::W32::FILE_MAP_WRITE { 0x00000002u }
 
constexpr auto REX::W32::FILE_MAP_READ { 0x00000004u }
 
constexpr auto REX::W32::FILE_MAP_EXECUTE { 0x00000020u }
 
constexpr auto REX::W32::FILE_MAP_LARGE_PAGES { 0x20000000u }
 
constexpr auto REX::W32::FILE_MAP_TARGETS_INVALID { 0x40000000u }
 
constexpr auto REX::W32::FILE_MAP_RESERVE { 0x80000000u }
 
constexpr auto REX::W32::GENERIC_READ { 0x80000000L }
 
constexpr auto REX::W32::GENERIC_WRITE { 0x40000000L }
 
constexpr auto REX::W32::GENERIC_EXECUTE { 0x20000000L }
 
constexpr auto REX::W32::GENERIC_ALL { 0x10000000L }
 
constexpr auto REX::W32::IMAGE_DOS_SIGNATURE { 0x5A4Du }
 
constexpr auto REX::W32::IMAGE_NT_SIGNATURE { 0x00004550u }
 
constexpr auto REX::W32::IMAGE_NT_OPTIONAL_HDR32_MAGIC { 0x10Bu }
 
constexpr auto REX::W32::IMAGE_NT_OPTIONAL_HDR64_MAGIC { 0x20Bu }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_EXPORT { 0u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_IMPORT { 1u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_RESOURCE { 2u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_EXCEPTION { 3u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_SECURITY { 4u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_BASERELOC { 5u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_DEBUG { 6u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_ARCHITECTURE { 7u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_GLOBALPTR { 8u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_TLS { 9u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG { 10u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT { 11u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_IAT { 12u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT { 13u }
 
constexpr auto REX::W32::IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR { 14u }
 
constexpr auto REX::W32::IMAGE_NUMBEROF_DIRECTORY_ENTRIES { 16u }
 
constexpr auto REX::W32::IMAGE_ORDINAL_FLAG32 { 0x80000000u }
 
constexpr auto REX::W32::IMAGE_ORDINAL_FLAG64 { 0x8000000000000000ull }
 
constexpr auto REX::W32::IMAGE_SCN_MEM_SHARED { 0x10000000u }
 
constexpr auto REX::W32::IMAGE_SCN_MEM_EXECUTE { 0x20000000u }
 
constexpr auto REX::W32::IMAGE_SCN_MEM_READ { 0x40000000u }
 
constexpr auto REX::W32::IMAGE_SCN_MEM_WRITE { 0x80000000u }
 
constexpr auto REX::W32::IMAGE_SIZEOF_SECTION_HEADER { 40u }
 
constexpr auto REX::W32::IMAGE_SIZEOF_SHORT_NAME { 8u }
 
constexpr auto REX::W32::DEBUG_PROCESS { 0x00000001u }
 
constexpr auto REX::W32::DEBUG_ONLY_THIS_PROCESS { 0x00000002u }
 
constexpr auto REX::W32::CREATE_SUSPENDED { 0x00000004u }
 
constexpr auto REX::W32::DETACHED_PROCESS { 0x00000008u }
 
constexpr auto REX::W32::CREATE_NEW_CONSOLE { 0x00000010u }
 
constexpr auto REX::W32::NORMAL_PRIORITY_CLASS { 0x00000020u }
 
constexpr auto REX::W32::IDLE_PRIORITY_CLASS { 0x00000040u }
 
constexpr auto REX::W32::HIGH_PRIORITY_CLASS { 0x00000080u }
 
constexpr auto REX::W32::REALTIME_PRIORITY_CLASS { 0x00000100u }
 
constexpr auto REX::W32::CREATE_NEW_PROCESS_GROUP { 0x00000200u }
 
constexpr auto REX::W32::CREATE_UNICODE_ENVIRONMENT { 0x00000400u }
 
constexpr auto REX::W32::CREATE_FORCEDOS { 0x00002000u }
 
constexpr auto REX::W32::BELOW_NORMAL_PRIORITY_CLASS { 0x00004000u }
 
constexpr auto REX::W32::ABOVE_NORMAL_PRIORITY_CLASS { 0x00008000u }
 
constexpr auto REX::W32::INHERIT_PARENT_AFFINITY { 0x00010000u }
 
constexpr auto REX::W32::CREATE_PROTECTED_PROCESS { 0x00040000u }
 
constexpr auto REX::W32::EXTENDED_STARTUPINFO_PRESENT { 0x00080000u }
 
constexpr auto REX::W32::PROCESS_MODE_BACKGROUND_BEGIN { 0x00100000u }
 
constexpr auto REX::W32::PROCESS_MODE_BACKGROUND_END { 0x00200000u }
 
constexpr auto REX::W32::CREATE_SECURE_PROCESS { 0x00400000 }
 
constexpr auto REX::W32::CREATE_BREAKAWAY_FROM_JOB { 0x01000000u }
 
constexpr auto REX::W32::CREATE_PRESERVE_CODE_AUTHZ_LEVEL { 0x02000000u }
 
constexpr auto REX::W32::CREATE_DEFAULT_ERROR_MODE { 0x04000000u }
 
constexpr auto REX::W32::CREATE_NO_WINDOW { 0x08000000u }
 
constexpr auto REX::W32::LCMAP_LOWERCASE { 0x00000100u }
 
constexpr auto REX::W32::LCMAP_UPPERCASE { 0x00000200u }
 
constexpr auto REX::W32::LCMAP_TITLECASE { 0x00000300u }
 
constexpr auto REX::W32::LCMAP_SORTKEY { 0x00000400u }
 
constexpr auto REX::W32::LCMAP_BYTEREV { 0x00000800u }
 
constexpr auto REX::W32::LCMAP_HIRAGANA { 0x00100000u }
 
constexpr auto REX::W32::LCMAP_KATAKANA { 0x00200000u }
 
constexpr auto REX::W32::LCMAP_HALFWIDTH { 0x00400000u }
 
constexpr auto REX::W32::LCMAP_FULLWIDTH { 0x00800000u }
 
constexpr auto REX::W32::LCMAP_LINGUISTIC_CASING { 0x01000000u }
 
constexpr auto REX::W32::LCMAP_SIMPLIFIED_CHINESE { 0x02000000u }
 
constexpr auto REX::W32::LCMAP_TRADITIONAL_CHINESE { 0x04000000u }
 
constexpr auto REX::W32::LOCALE_NAME_USER_DEFAULT { nullptr }
 
constexpr auto REX::W32::LOCALE_NAME_INVARIANT { L"" }
 
constexpr auto REX::W32::LOCALE_NAME_SYSTEM_DEFAULT { L"!x-sys-default-locale" }