HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
win32_headers.hpp
Go to the documentation of this file.
1// Copyright Take Vos 2022.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
16#pragma once
17
18#include <Windows.h>
19#pragma warning(push)
20// Suppress C4005 Redefinition of status macros, Microsoft disables this themselves for their internal linter.
21#pragma warning(disable:4005)
22#include <ntstatus.h>
23#pragma warning(pop)
24#include <debugapi.h>
25#include <shellapi.h>
26#include <intrin.h>
27#include <winuser.h>
28
29// Window's registry.
30#include <winreg.h>
31#include <Uxtheme.h>
32
33// Cryptography
34#include <bcrypt.h>
35
36// Threading
37#include <synchapi.h>
38
39// File IO
40#include <ShlObj_core.h>
41
42// Networking
43#define IN
44#define OUT
45#include <WinSock2.h>
46
47// DirectX.
48#include <windowsx.h>
49#include <ddraw.h>
50#include <dwmapi.h>
51#include <dxgi.h>
52
53// initguid allows some of the header files to define actual implementations of the GUID.
54// However this is incompatible with other headers which causes some values to become undefined.
55#include <initguid.h>
56
57// Multimedia and audio.
58#include <mmsystem.h>
59#include <mmeapi.h>
60#include <mmddk.h>
61#include <mmreg.h>
62#include <winioctl.h>
63#include <propsys.h>
64#include <ks.h>
65#include <ksmedia.h>
66#include <functiondiscoverykeys_devpkey.h>
67#include <mmdeviceapi.h>
68#include <endpointvolume.h>
69#include <audioclient.h>
70
71// The windows headers create all sort of insane macros.
72#undef IN
73#undef OUT
74#undef small