API Reference Index
Free API exposes a subset of the Win32 API (~1998 era) backed by SDL3. The reference is split by header file. Each page covers types, constants, function signatures, behaviour notes, and working code examples.
Types & Handles
Scalar types (BOOL, DWORD, WORD…), opaque handle types (HWND, HDC, HBITMAP…), calling-convention macros, pointer-width integers.
Headers: minwindef.h · windef.h · winnt.h
Window & Input
Window creation and lifecycle, the WinAPI message loop, keyboard (VK_* codes), mouse (MK_* flags), cursor control, user timers, geometry helpers.
Headers: winuser.h · windows.h
GDI — Bitmaps & DCs
Loading BMP files, memory DCs, bitmap blitting with StretchBlt, pixel-level read/write, colour macros, GDI object lifecycle.
Header: wingdi.h
System & File Utilities
Timing (GetTickCount, Sleep), debug output, error codes, directory / file operations, memory macros, WinMain bridge, fopen path normaliser.
Headers: winbase.h · synchapi.h · sysinfoapi.h · debugapi.h
Legacy File I/O & Directory
MSVC-style file search (_findfirst/_findnext/_findclose), low-level file access (_lopen/_lread/_lclose), directory helpers (_chdir/_getcwd/_mkdir), access() modes.
Headers: io.h · direct.h
Multimedia — MIDI, MCI & Timers
MIDI file playback via TinySoundFont + TinyMidiLoader over SDL3 audio, MCI command API, multimedia periodic timers, MIDI output volume control, SoundFont setup.
Headers: mmsystem.h · digitalv.h
Header include hierarchy
Understanding which header pulls in what helps avoid double-include issues.
<windows.h> ← include this for almost everything ├── <winuser.h> ← window, messages, input │ ├── <minwindef.h> │ └── <windef.h> ├── <minwindef.h> ← scalar types ├── <windef.h> ← handles, calling conventions ├── <winnt.h> ← string types, HRESULT ├── <synchapi.h> ← Sleep ├── <sysinfoapi.h> ← GetTickCount ├── <handleapi.h> ← CloseHandle (stub) ├── <debugapi.h> ← OutputDebugString ├── <winbase.h> ← file/dir/memory utilities ├── <rpcndr.h> ← byte/small type aliases ├── <wingdi.h> ← GDI bitmaps, DCs └── <winerror.h> ← E_* / S_* error codes <mmsystem.h> ← MIDI, MCI, timers (included by windows.h) └── <mmiscapi2.h> <io.h> ← legacy file search (include separately) <direct.h> ← _chdir/_getcwd/_mkdir (include separately)