3 #ifdef _INC_WINAPIFAMILY
4 # error Windows API detected. Please move any Windows API includes after CommonLib, or remove them.
7 #define REX_W32_IMPORT(a_ret, a_name, ...) \
8 extern "C" __declspec(dllimport) a_ret __stdcall W32_IMPL_##a_name(...) noexcept; \
9 __pragma(comment(linker, "/alternatename:__imp_W32_IMPL_" #a_name "=__imp_" #a_name))
18 using HDC =
struct HDC__*;
22 using HKEY =
struct HKEY__*;
27 using HPEN =
struct HPEN__*;
30 using HWND =
struct HWND__*;
46 *
this = std::bit_cast<FILETIME>(a_value);
49 constexpr
operator std::uint64_t() const noexcept
51 return std::bit_cast<std::uint64_t>(*
this);
57 static_assert(
sizeof(FILETIME) == 0x8);
64 constexpr
GUID() noexcept = default;
66 constexpr
GUID(const
std::uint32_t a_data1,
std::uint16_t const a_data2, const
std::uint16_t a_data3, const
std::array<
std::uint8_t, 8>& a_data4) noexcept :
67 data1(a_data1),
data2(a_data2),
data3(a_data3),
data4{ a_data4[0], a_data4[1], a_data4[2], a_data4[3], a_data4[4], a_data4[5], a_data4[6], a_data4[7] }
72 return std::memcmp(&a_lhs, &a_rhs,
sizeof(a_lhs)) == 0;
77 return !(a_lhs == a_rhs);
85 static_assert(
sizeof(GUID) == 0x10);
95 constexpr
POINT() noexcept = default;
97 constexpr
POINT(
std::int32_t a_x,
std::int32_t a_y) noexcept :
104 static_assert(
sizeof(POINT) == 0x8);
111 constexpr
RECT() noexcept = default;
113 constexpr
RECT(const
std::int32_t a_x1, const
std::int32_t a_y1, const
std::int32_t a_x2, const
std::int32_t a_y2) noexcept :
114 x1(a_x1),
y1(a_y1),
x2(a_x2),
y2(a_y2)
122 static_assert(
sizeof(RECT) == 0x10);
132 static_assert(
sizeof(SIZE) == 0x8);
191 return a_result >= 0;
196 return a_status >= 0;
Definition: BSDirectInputManager.h:8
std::int32_t NTSTATUS
Definition: BASE.h:31
void * HANDLE
Definition: BASE.h:14
struct HPALETTE__ * HPALETTE
Definition: BASE.h:26
struct HDC__ * HDC
Definition: BASE.h:18
constexpr bool NT_SUCCESS(const NTSTATUS a_status)
Definition: BASE.h:194
std::int32_t BOOL
Definition: BASE.h:13
struct HCURSOR__ * HCURSOR
Definition: BASE.h:17
struct HPEN__ * HPEN
Definition: BASE.h:27
struct HSTRING__ * HSTRING
Definition: BASE.h:29
constexpr auto MAX_PATH
Definition: BASE.h:35
struct HICON__ * HICON
Definition: BASE.h:20
struct HMENU__ * HMENU
Definition: BASE.h:23
struct HMONITOR__ * HMONITOR
Definition: BASE.h:25
HINSTANCE HMODULE
Definition: BASE.h:24
struct HBITMAP__ * HBITMAP
Definition: BASE.h:15
struct HWND__ * HWND
Definition: BASE.h:30
std::int32_t HRESULT
Definition: BASE.h:28
constexpr bool SUCCESS(const HRESULT a_result)
Definition: BASE.h:189
struct HBRUSH__ * HBRUSH
Definition: BASE.h:16
struct HINSTANCE__ * HINSTANCE
Definition: BASE.h:21
const auto INVALID_HANDLE_VALUE
Definition: BASE.h:34
struct HFONT__ * HFONT
Definition: BASE.h:19
struct HKEY__ * HKEY
Definition: BASE.h:22
Definition: EffectArchetypes.h:65
HANDLE lockSemaphore
Definition: BASE.h:143
std::uintptr_t spinCount
Definition: BASE.h:144
HANDLE owningThread
Definition: BASE.h:142
std::int32_t recursionCount
Definition: BASE.h:141
std::int32_t lockCount
Definition: BASE.h:140
void * debugInfo
Definition: BASE.h:139
constexpr FILETIME() noexcept=default
std::uint32_t lo
Definition: BASE.h:54
std::uint32_t hi
Definition: BASE.h:55
friend bool operator!=(const GUID &a_lhs, const GUID &a_rhs) noexcept
Definition: BASE.h:75
constexpr GUID() noexcept=default
std::uint8_t data4[8]
Definition: BASE.h:83
friend bool operator==(const GUID &a_lhs, const GUID &a_rhs) noexcept
Definition: BASE.h:70
std::uint32_t data1
Definition: BASE.h:80
std::uint16_t data3
Definition: BASE.h:82
std::uint16_t data2
Definition: BASE.h:81
constexpr POINT() noexcept=default
std::int32_t y
Definition: BASE.h:102
std::int32_t x
Definition: BASE.h:101
constexpr RECT() noexcept=default
std::int32_t x1
Definition: BASE.h:117
std::int32_t x2
Definition: BASE.h:119
std::int32_t y1
Definition: BASE.h:118
std::int32_t y2
Definition: BASE.h:120
std::uint32_t length
Definition: BASE.h:150
BOOL inheritHandle
Definition: BASE.h:152
void * securityDescriptor
Definition: BASE.h:151
std::int32_t y
Definition: BASE.h:130
std::int32_t x
Definition: BASE.h:129
std::uint16_t length
Definition: BASE.h:180
std::uint16_t maxLength
Definition: BASE.h:181
wchar_t * buffer
Definition: BASE.h:182
std::int32_t hi
Definition: BASE.h:161
std::uint32_t lo
Definition: BASE.h:160
std::int64_t value
Definition: BASE.h:163
std::uint32_t hi
Definition: BASE.h:172
std::uint32_t lo
Definition: BASE.h:171
std::uint64_t value
Definition: BASE.h:174