package core:sys/windows

Warning: This was generated for -target:windows_amd64 and might not represent every target this package supports.

⌘K
Ctrl+K
or
/

    Index

    Types (450)
    Constants (1936)
    Procedure Groups (0)

    This section is empty.

    Types

    ACCESS_MASK ¶

    ACCESS_MASK :: u32
    Related Procedures With Parameters

    ADDRESS_FAMILY ¶

    ADDRESS_FAMILY :: u16

    ADDRESS_MODE ¶

    ADDRESS_MODE :: enum i32 {
    	AddrMode1616, 
    	AddrMode1632, 
    	AddrModeReal, 
    	AddrModeFlat, 
    }

    ADDRINFOA ¶

    ADDRINFOA :: struct {
    	ai_flags:     i32,
    	ai_family:    i32,
    	ai_socktype:  i32,
    	ai_protocol:  i32,
    	ai_addrlen:   uint,
    	ai_canonname: [^]u8 `fmt:"q,ai_addrlen"`,
    	ai_addr:      ^SOCKADDR,
    	ai_next:      ^ADDRINFOA,
    }

    ADDRINFOEXW ¶

    ADDRINFOEXW :: struct {
    	ai_flags:     i32,
    	ai_family:    i32,
    	ai_socktype:  i32,
    	ai_protocol:  i32,
    	ai_addrlen:   uint,
    	ai_canonname: cstring16,
    	ai_addr:      ^sockaddr,
    	ai_blob:      rawptr,
    	ai_bloblen:   uint,
    	ai_provider:  ^GUID,
    	ai_next:      ^ADDRINFOEXW,
    }

    ATOM ¶

    ATOM :: distinct u16

    BIND_OPTS ¶

    BIND_OPTS :: struct {
    	cbStruct:            u32,
    	grfFlags:            u32,
    	grfMode:             u32,
    	dwTickCountDeadline: u32,
    }

    BITMAP ¶

    BITMAP :: struct {
    	bmType:       i32,
    	bmWidth:      i32,
    	bmHeight:     i32,
    	bmWidthBytes: i32,
    	bmPlanes:     u16,
    	bmBitsPixel:  u16,
    	bmBits:       rawptr,
    }

    BITMAPINFO ¶

    BITMAPINFO :: struct {
    	bmiHeader: BITMAPINFOHEADER,
    	bmiColors: [1]RGBQUAD,
    }

    BITMAPINFOHEADER ¶

    BITMAPINFOHEADER :: struct {
    	biSize:          u32,
    	biWidth:         i32,
    	biHeight:        i32,
    	biPlanes:        u16,
    	biBitCount:      u16,
    	biCompression:   u32,
    	biSizeImage:     u32,
    	biXPelsPerMeter: i32,
    	biYPelsPerMeter: i32,
    	biClrUsed:       u32,
    	biClrImportant:  u32,
    }

    BOOL ¶

    BOOL :: distinct b32
    Related Constants

    BOOLEAN ¶

    BOOLEAN :: distinct b8

    BSMINFO ¶

    BSMINFO :: struct {
    	cbSize: u32,
    	hdesk:  HDESK,
    	hwnd:   HWND,
    	luid:   LUID,
    }

    BSTR ¶

    BSTR :: ^u32

    BYTE ¶

    BYTE :: distinct u8

    BY_HANDLE_FILE_INFORMATION ¶

    BY_HANDLE_FILE_INFORMATION :: struct {
    	dwFileAttributes:     u32,
    	ftCreationTime:       FILETIME,
    	ftLastAccessTime:     FILETIME,
    	ftLastWriteTime:      FILETIME,
    	dwVolumeSerialNumber: u32,
    	nFileSizeHigh:        u32,
    	nFileSizeLow:         u32,
    	nNumberOfLinks:       u32,
    	nFileIndexHigh:       u32,
    	nFileIndexLow:        u32,
    }

    CHAR ¶

    CHAR :: u8

    COINIT ¶

    COINIT :: enum u32 {
    	APARTMENTTHREADED = 2, 
    	MULTITHREADED     = 0, 
    	DISABLE_OLE1DDE   = 4, 
    	SPEED_OVER_MEMORY = 8, 
    }
     

    objbase.h Note(Dragos): https://learn.microsoft.com/en-us/windows/win32/api/objbase/ne-objbase-coinit makes you believe that MULTITHREADED == 3. That is wrong. See definition of objbase.h

    typedef enum tagCOINIT {

    COINIT_APARTMENTTHREADED  = 0x2,      // Apartment model
    
    

    #if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM

    // These constants are only valid on Windows NT 4.0
    COINIT_MULTITHREADED      = COINITBASE_MULTITHREADED,
    COINIT_DISABLE_OLE1DDE    = 0x4,      // Don't use DDE for Ole1 support.
    COINIT_SPEED_OVER_MEMORY  = 0x8,      // Trade memory for speed.
    

    #endif // DCOM } COINIT; Where COINITBASE_MULTITHREADED == 0x00

    Related Procedures With Parameters

    COLORREF ¶

    COLORREF :: u32
    Related Procedures With Parameters

    COMDLG_FILTERSPEC ¶

    COMDLG_FILTERSPEC :: struct {
    	pszName: cstring16,
    	pszSpec: cstring16,
    }

    COMMTIMEOUTS ¶

    COMMTIMEOUTS :: struct {
    	ReadIntervalTimeout:         u32,
    	ReadTotalTimeoutMultiplier:  u32,
    	ReadTotalTimeoutConstant:    u32,
    	WriteTotalTimeoutMultiplier: u32,
    	WriteTotalTimeoutConstant:   u32,
    }

    COMSTAT ¶

    COMSTAT :: struct {
    	using _:  bit_field u32 {
    		fCtsHold:  BOOL | 1,
    		fDsrHold:  BOOL | 1,
    		fRlsdHol:  BOOL | 1,
    		fXoffHol:  BOOL | 1,
    		fXoffSen:  BOOL | 1,
    		fEof:      BOOL | 1,
    		fTxim:     BOOL | 1,
    		fReserved: u32 | 25,
    	},
    	cbInQue:  u32,
    	cbOutQue: u32,
    }

    CONDITION_VARIABLE ¶

    CONDITION_VARIABLE :: struct {
    	ptr: rawptr,
    }
    Related Constants

    CONSOLE_CURSOR_INFO ¶

    CONSOLE_CURSOR_INFO :: struct {
    	dwSize:   u32,
    	bVisible: BOOL,
    }

    CONSOLE_READCONSOLE_CONTROL ¶

    CONSOLE_READCONSOLE_CONTROL :: struct {
    	nLength:           u32,
    	nInitialChars:     u32,
    	dwCtrlWakeupMask:  u32,
    	dwControlKeyState: u32,
    }

    CONSOLE_SCREEN_BUFFER_INFO ¶

    CONSOLE_SCREEN_BUFFER_INFO :: struct {
    	dwSize:              COORD,
    	dwCursorPosition:    COORD,
    	wAttributes:         u16,
    	srWindow:            SMALL_RECT,
    	dwMaximumWindowSize: COORD,
    }

    CONTEXT ¶

    CONTEXT :: struct {
    	P1Home:               u64,
    	P2Home:               u64,
    	P3Home:               u64,
    	P4Home:               u64,
    	P5Home:               u64,
    	P6Home:               u64,
    	ContextFlags:         u32,
    	MxCsr:                u32,
    	SegCs:                u16,
    	SegDs:                u16,
    	SegEs:                u16,
    	SegFs:                u16,
    	SegGs:                u16,
    	SegSs:                u16,
    	EFlags:               u32,
    	Dr0:                  u64,
    	Dr1:                  u64,
    	Dr2:                  u64,
    	Dr3:                  u64,
    	Dr6:                  u64,
    	Dr7:                  u64,
    	Rax:                  u64,
    	Rcx:                  u64,
    	Rdx:                  u64,
    	Rbx:                  u64,
    	Rsp:                  u64,
    	Rbp:                  u64,
    	Rsi:                  u64,
    	Rdi:                  u64,
    	R8:                   u64,
    	R9:                   u64,
    	R10:                  u64,
    	R11:                  u64,
    	R12:                  u64,
    	R13:                  u64,
    	R14:                  u64,
    	R15:                  u64,
    	Rip:                  u64,
    	using _:              struct #raw_union {
    		FltSave: XSAVE_FORMAT,
    		Q:       [16]NEON128,
    		D:       [32]u64,
    		using _: struct {
    			Header: [2]M128A,
    			Legacy: [8]M128A,
    			Xmm0:   M128A,
    			Xmm1:   M128A,
    			Xmm2:   M128A,
    			Xmm3:   M128A,
    			Xmm4:   M128A,
    			Xmm5:   M128A,
    			Xmm6:   M128A,
    			Xmm7:   M128A,
    			Xmm8:   M128A,
    			Xmm9:   M128A,
    			Xmm10:  M128A,
    			Xmm11:  M128A,
    			Xmm12:  M128A,
    			Xmm13:  M128A,
    			Xmm14:  M128A,
    			Xmm15:  M128A,
    		},
    		S:       [32]u32,
    	},
    	VectorRegister:       [26]M128A,
    	VectorControl:        u64,
    	DebugControl:         u64,
    	LastBranchToRip:      u64,
    	LastBranchFromRip:    u64,
    	LastExceptionToRip:   u64,
    	LastExceptionFromRip: u64,
    }

    COORD ¶

    COORD :: struct {
    	X: i16,
    	Y: i16,
    }

    CREATESTRUCTA ¶

    CREATESTRUCTA :: struct {
    	lpCreateParams: rawptr,
    	hInstance:      HANDLE,
    	hMenu:          HMENU,
    	hwndParent:     HWND,
    	cy:             i32,
    	cx:             i32,
    	y:              i32,
    	x:              i32,
    	style:          i32,
    	lpszName:       cstring,
    	lpszClass:      cstring,
    	dwExStyle:      u32,
    }

    CREATESTRUCTW ¶

    CREATESTRUCTW :: struct {
    	lpCreateParams: rawptr,
    	hInstance:      HANDLE,
    	hMenu:          HMENU,
    	hwndParent:     HWND,
    	cy:             i32,
    	cx:             i32,
    	y:              i32,
    	x:              i32,
    	style:          i32,
    	lpszName:       cstring16,
    	lpszClass:      cstring16,
    	dwExStyle:      u32,
    }

    CRITICAL_SECTION ¶

    CRITICAL_SECTION :: struct {
    	CriticalSectionDebug: rawptr,
    	LockCount:            i32,
    	RecursionCount:       i32,
    	OwningThread:         HANDLE,
    	LockSemaphore:        HANDLE,
    	SpinCount:            uint,
    }

    CWPRETSTRUCT ¶

    CWPRETSTRUCT :: struct {
    	lResult: int,
    	lParam:  int,
    	wParam:  uintptr,
    	message: u32,
    	hwnd:    HWND,
    }

    Com_Error ¶

    Com_Error :: distinct bit_set[Com_Error_Bits; u32]

    Com_Error_Bits ¶

    Com_Error_Bits :: enum u32 {
    	RXOVER, 
    	OVERRUN, 
    	RXPARITY, 
    	FRAME, 
    	BREAK, 
    }

    Control_Key_State ¶

    Control_Key_State :: bit_set[Control_Key_State_Bits; u32]

    Control_Key_State_Bits ¶

    Control_Key_State_Bits :: enum int {
    	RIGHT_ALT_PRESSED, 
    	LEFT_ALT_PRESSED, 
    	RIGHT_CTRL_PRESSED, 
    	LEFT_CTRL_PRESSED, 
    	SHIFT_PRESSED, 
    	NUMLOCK_ON, 
    	SCROLLLOCK_ON, 
    	CAPSLOCK_ON, 
    	ENHANCED_KEY, 
    }

    DCB ¶

    DCB :: struct {
    	DCBlength:  u32,
    	BaudRate:   u32,
    	using _:    bit_field u32 {
    		fBinary:           bool | 1,
    		fParity:           bool | 1,
    		fOutxCtsFlow:      bool | 1,
    		fOutxDsrFlow:      bool | 1,
    		fDtrControl:       DTR_Control | 2,
    		fDsrSensitivity:   bool | 1,
    		fTXContinueOnXoff: bool | 1,
    		fOutX:             bool | 1,
    		fInX:              bool | 1,
    		fErrorChar:        bool | 1,
    		fNull:             bool | 1,
    		fRtsControl:       RTS_Control | 2,
    		fAbortOnError:     bool | 1,
    	},
    	wReserved:  u16,
    	XOnLim:     u16,
    	XOffLim:    u16,
    	ByteSize:   BYTE,
    	Parity:     Parity,
    	StopBits:   Stop_Bits,
    	XonChar:    u8,
    	XoffChar:   u8,
    	ErrorChar:  u8,
    	EofChar:    u8,
    	EvtChar:    u8,
    	wReserved1: u16,
    }

    DECIMAL ¶

    DECIMAL :: struct {
    	wReserved: u16,
    	using _:   struct #raw_union {
    		using _:   struct {
    			scale: BYTE,
    			sign:  BYTE,
    		},
    		signscale: u16,
    	},
    	Hi32:      u32,
    	using _:   struct #raw_union {
    		using _: struct {
    			Lo32:  u32,
    			Mid32: u32,
    		},
    		Lo64: u64,
    	},
    }

    DEVMODEW ¶

    DEVMODEW :: struct {
    	dmDeviceName:       [32]u32,
    	dmSpecVersion:      u16,
    	dmDriverVersion:    u16,
    	dmSize:             u16,
    	dmDriverExtra:      u16,
    	dmFields:           u32,
    	using _:            struct #raw_union {
    		// Printer only fields.
    		using _: struct {
    			dmOrientation:   i16,
    			dmPaperSize:     i16,
    			dmPaperLength:   i16,
    			dmPaperWidth:    i16,
    			dmScale:         i16,
    			dmCopies:        i16,
    			dmDefaultSource: i16,
    			dmPrintQuality:  i16,
    		},
    		// Display only fields.
    		using _: struct {
    			dmPosition:           POINT,
    			dmDisplayOrientation: u32,
    			dmDisplayFixedOutput: u32,
    		},
    	},
    	dmColor:            i16,
    	dmDuplex:           i16,
    	dmYResolution:      i16,
    	dmTTOption:         i16,
    	dmCollate:          i16,
    	dmFormName:         [32]u32,
    	dmLogPixels:        u16,
    	dmBitsPerPel:       u32,
    	dmPelsWidth:        u32,
    	dmPelsHeight:       u32,
    	using _:            struct #raw_union {
    		dmDisplayFlags: u32,
    		dmNup:          u32,
    	},
    	dmDisplayFrequency: u32,
    	dmICMMethod:        u32,
    	dmICMIntent:        u32,
    	dmMediaType:        u32,
    	dmDitherType:       u32,
    	dmReserved1:        u32,
    	dmReserved2:        u32,
    	dmPanningWidth:     u32,
    	dmPanningHeight:    u32,
    }

    DNS_MX_DATAA ¶

    DNS_MX_DATAA :: struct {
    	pNameExchange: cstring,
    	// the hostname
    	wPreference:   u16,
    	// lower values preferred
    	_:             u16,
    }

    DNS_PTR_DATAA ¶

    DNS_PTR_DATAA :: cstring
    Related Procedures With Parameters

    DNS_QUERY_OPTION ¶

    DNS_QUERY_OPTION :: enum u32 {
    	ACCEPT_TRUNCATED_RESPONSE = 0, 
    	DNS_QUERY_USE_TCP_ONLY    = 1, 
    	NO_RECURSION              = 2, 
    	BYPASS_CACHE              = 3, 
    	NO_WIRE_QUERY             = 4, 
    	NO_LOCAL_NAME             = 5, 
    	NO_HOSTS_FILE             = 6, 
    	NO_NETBT                  = 7, 
    	WIRE_ONLY                 = 8, 
    	RETURN_MESSAGE            = 9, 
    	MULTICAST_ONLY            = 10, 
    	NO_MULTICAST              = 11, 
    	TREAT_AS_FQDN             = 12, 
    	ADDRCONFIG                = 13, 
    	DUAL_ADDR                 = 14, 
    	MULTICAST_WAIT            = 17, 
    	MULTICAST_VERIFY          = 18, 
    	DONT_RESET_TTL_VALUES     = 20, 
    	DISABLE_IDN_ENCODING      = 21, 
    	APPEND_MULTILABEL         = 23, 
    }
     

    See https://learn.microsoft.com/en-us/windows/win32/dns/dns-constants

    DNS_QUERY_OPTIONS ¶

    DNS_QUERY_OPTIONS :: bit_set[DNS_QUERY_OPTION; u32]

    DNS_RECORD ¶

    DNS_RECORD :: struct {
    	// aka DNS_RECORDA
    	pNext:       ^DNS_RECORD,
    	pName:       cstring,
    	wType:       u16,
    	wDataLength: u16,
    	Flags:       u32,
    	dwTtl:       u32,
    	_:           u32,
    	Data:        struct #raw_union #align (4) {
    		CNAME: cstring,
    		A:     u32be,
    		// Ipv4 Address
    		AAAA:  u128be,
    		// Ipv6 Address
    		TXT:   DNS_TXT_DATAA,
    		NS:    cstring,
    		MX:    DNS_MX_DATAA,
    		SRV:   DNS_SRV_DATAA,
    	},
    }

    DNS_SRV_DATAA ¶

    DNS_SRV_DATAA :: struct {
    	pNameTarget: cstring,
    	wPriority:   u16,
    	wWeight:     u16,
    	wPort:       u16,
    	_:           u16,
    }

    DNS_STATUS ¶

    DNS_STATUS :: distinct u32
     

    zero is success

    DNS_TXT_DATAA ¶

    DNS_TXT_DATAA :: struct {
    	dwStringCount: u32,
    	pStringArray:  cstring,
    }

    DTR_Control ¶

    DTR_Control :: enum u8 {
    	Disable   = 0, 
    	Enable    = 1, 
    	Handshake = 2, 
    }

    DWORD ¶

    DWORD :: u32
    Related Procedures With Parameters

    DWORD64 ¶

    DWORD64 :: u64

    DWORDLONG ¶

    DWORDLONG :: u64

    DWORD_PTR ¶

    DWORD_PTR :: uint
    Related Procedures With Parameters

    ENUMRESLANGPROCW ¶

    ENUMRESLANGPROCW :: proc(hModule: HMODULE, lpType: cstring16, lpName: ^u32, wIDLanguage: u16, lParam: int) -> BOOL

    ENUMRESNAMEPROCW ¶

    ENUMRESNAMEPROCW :: proc(hModule: HMODULE, lpType: cstring16, lpName: ^u32, lParam: int) -> BOOL

    ENUMRESTYPEPROCW ¶

    ENUMRESTYPEPROCW :: proc(hModule: HMODULE, lpType: cstring16, lParam: int) -> BOOL

    EXCEPTION_DISPOSITION ¶

    EXCEPTION_DISPOSITION :: enum i32 {
    	ExceptionContinueExecution, 
    	ExceptionContinueSearch, 
    	ExceptionNestedException, 
    	ExceptionCollidedUnwind, 
    }

    EXCEPTION_POINTERS ¶

    EXCEPTION_POINTERS :: struct {
    	ExceptionRecord: ^EXCEPTION_RECORD,
    	ContextRecord:   ^CONTEXT,
    }

    EXCEPTION_RECORD ¶

    EXCEPTION_RECORD :: struct {
    	ExceptionCode:        u32,
    	ExceptionFlags:       u32,
    	ExceptionRecord:      ^EXCEPTION_RECORD,
    	ExceptionAddress:     rawptr,
    	NumberParameters:     u32,
    	ExceptionInformation: [15]rawptr `fmt:"v,NumberParameters"`,
    }

    Event_Type ¶

    Event_Type :: enum u16 {
    	KEY_EVENT                = 1, 
    	MOUSE_EVENT              = 2, 
    	WINDOW_BUFFER_SIZE_EVENT = 4, 
    	MENU_EVENT               = 8, 
    	FOCUS_EVENT              = 16, 
    }

    FDAP ¶

    FDAP :: enum i32 {
    	BOTTOM = 0, 
    	TOP    = 1, 
    }

    FDE_SHAREVIOLATION_RESPONSE ¶

    FDE_SHAREVIOLATION_RESPONSE :: enum i32 {
    	DEFAULT = 0, 
    	ACCEPT  = 1, 
    	REFUSE  = 2, 
    }

    FILEOPENDIALOGOPTIONS ¶

    FILEOPENDIALOGOPTIONS :: u32
    Related Procedures With Parameters

    FILEOP_FLAGS ¶

    FILEOP_FLAGS :: u16

    FILETIME ¶

    FILETIME :: struct {
    	dwLowDateTime:  u32,
    	dwHighDateTime: u32,
    }
    Related Procedures With Parameters

    FILE_ATTRIBUTE_TAG_INFO ¶

    FILE_ATTRIBUTE_TAG_INFO :: struct {
    	FileAttributes: u32,
    	ReparseTag:     u32,
    }

    FILE_BASIC_INFO ¶

    FILE_BASIC_INFO :: struct {
    	CreationTime:   LARGE_INTEGER,
    	LastAccessTime: LARGE_INTEGER,
    	LastWriteTime:  LARGE_INTEGER,
    	ChangeTime:     LARGE_INTEGER,
    	FileAttributes: u32,
    }

    FILE_END_OF_FILE_INFO ¶

    FILE_END_OF_FILE_INFO :: struct {
    	EndOfFile: LARGE_INTEGER,
    }

    FILE_ID_128 ¶

    FILE_ID_128 :: struct {
    	Identifier: [16]BYTE,
    }

    FILE_ID_INFO ¶

    FILE_ID_INFO :: struct {
    	VolumeSerialNumber: u64,
    	FileId:             FILE_ID_128,
    }

    FILE_INFO_BY_HANDLE_CLASS ¶

    FILE_INFO_BY_HANDLE_CLASS :: enum i32 {
    	FileBasicInfo                  = 0, 
    	FileStandardInfo               = 1, 
    	FileNameInfo                   = 2, 
    	FileRenameInfo                 = 3, 
    	FileDispositionInfo            = 4, 
    	FileAllocationInfo             = 5, 
    	FileEndOfFileInfo              = 6, 
    	FileStreamInfo                 = 7, 
    	FileCompressionInfo            = 8, 
    	FileAttributeTagInfo           = 9, 
    	FileIdBothDirectoryInfo        = 10, // 0xA
    	FileIdBothDirectoryRestartInfo = 11, // 0xB
    	FileIoPriorityHintInfo         = 12, // 0xC
    	FileRemoteProtocolInfo         = 13, // 0xD
    	FileFullDirectoryInfo          = 14, // 0xE
    	FileFullDirectoryRestartInfo   = 15, // 0xF
    	FileStorageInfo                = 16, // 0x10
    	FileAlignmentInfo              = 17, // 0x11
    	FileIdInfo                     = 18, // 0x12
    	FileIdExtdDirectoryInfo        = 19, // 0x13
    	FileIdExtdDirectoryRestartInfo = 20, // 0x14
    	MaximumFileInfoByHandlesClass, 
    }

    FILE_NOTIFY_INFORMATION ¶

    FILE_NOTIFY_INFORMATION :: struct {
    	next_entry_offset: u32,
    	action:            u32,
    	file_name_length:  u32,
    	file_name:         [1]u32,
    }

    FILE_STANDARD_INFO ¶

    FILE_STANDARD_INFO :: struct {
    	AllocationSize: LARGE_INTEGER,
    	EndOfFile:      LARGE_INTEGER,
    	NumberOfLinks:  u32,
    	DeletePending:  BOOLEAN,
    	Directory:      BOOLEAN,
    }

    FOCUS_EVENT_RECORD ¶

    FOCUS_EVENT_RECORD :: struct {
    	bSetFocus: BOOL,
    }

    GENERIC_MAPPING ¶

    GENERIC_MAPPING :: struct {
    	GenericRead:    u32,
    	GenericWrite:   u32,
    	GenericExecute: u32,
    	GenericAll:     u32,
    }

    GETPROPERTYSTOREFLAGS ¶

    GETPROPERTYSTOREFLAGS :: enum i32 {
    	DEFAULT                 = 0, 
    	HANDLERPROPERTIESONLY   = 1, 
    	READWRITE               = 2, 
    	TEMPORARY               = 4, 
    	FASTPROPERTIESONLY      = 8, 
    	OPENSLOWITEM            = 16, 
    	DELAYCREATION           = 32, 
    	BESTEFFORT              = 64, 
    	NO_OPLOCK               = 128, 
    	PREFERQUERYPROPERTIES   = 256, 
    	EXTRINSICPROPERTIES     = 512, 
    	EXTRINSICPROPERTIESONLY = 1024, 
    	VOLATILEPROPERTIES      = 2048, 
    	VOLATILEPROPERTIESONLY  = 4096, 
    	MASK_VALID              = 8191, 
    }

    GET_FILEEX_INFO_LEVELS ¶

    GET_FILEEX_INFO_LEVELS :: distinct i32
    Related Constants

    GROUP ¶

    GROUP :: distinct u32

    HACCEL ¶

    HACCEL :: distinct rawptr

    HANDLE ¶

    HANDLE :: distinct rawptr
    Related Constants

    HARDWAREINPUT ¶

    HARDWAREINPUT :: struct {
    	uMsg:    u32,
    	wParamL: u16,
    	wParamH: u16,
    }

    HBITMAP ¶

    HBITMAP :: distinct rawptr

    HBRUSH ¶

    HBRUSH :: distinct rawptr

    HCURSOR ¶

    HCURSOR :: distinct rawptr

    HDC ¶

    HDC :: distinct rawptr

    HDESK ¶

    HDESK :: distinct rawptr

    HFONT ¶

    HFONT :: distinct rawptr

    HGDIOBJ ¶

    HGDIOBJ :: distinct rawptr

    HGLOBAL ¶

    HGLOBAL :: distinct rawptr

    HHOOK ¶

    HHOOK :: distinct rawptr

    HICON ¶

    HICON :: distinct rawptr

    HIMAGELIST ¶

    HIMAGELIST :: ^IUnknown
    Related Procedures With Parameters

    HMENU ¶

    HMENU :: distinct rawptr

    HMODULE ¶

    HMODULE :: distinct rawptr

    HMONITOR ¶

    HMONITOR :: distinct rawptr

    HOOKPROC ¶

    HOOKPROC :: proc "c" (code: i32, wParam: uintptr, lParam: int) -> int

    HPALETTE ¶

    HPALETTE :: distinct rawptr

    HPEN ¶

    HPEN :: distinct rawptr

    HRGN ¶

    HRGN :: distinct rawptr

    HRSRC ¶

    HRSRC :: distinct rawptr

    HWINEVENTHOOK ¶

    HWINEVENTHOOK :: distinct rawptr

    HWINSTA ¶

    HWINSTA :: distinct rawptr

    IBindCtx ¶

    IBindCtx :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IBindCtxVtbl,
    }

    IBindCtxVtbl ¶

    IBindCtxVtbl :: struct {
    	using IUnknownVtbl:    IUnknown_VTable,
    	RegisterObjectBound:   proc "c" (this: ^IBindCtx, punk: ^IUnknown) -> HRESULT,
    	RevokeObjectBound:     proc "c" (this: ^IBindCtx, punk: ^IUnknown) -> HRESULT,
    	ReleaseBoundObjects:   proc "c" (this: ^IBindCtx) -> HRESULT,
    	SetBindOptions:        proc "c" (this: ^IBindCtx, pbindopts: ^BIND_OPTS) -> HRESULT,
    	GetBindOptions:        proc "c" (this: ^IBindCtx, pbindopts: ^BIND_OPTS) -> HRESULT,
    	GetRunningObjectTable: proc "c" (this: ^IBindCtx, pprot: ^^IRunningObjectTable) -> HRESULT,
    	RegisterObjectParam:   proc "c" (this: ^IBindCtx, pszKey: cstring16, punk: ^IUnknown) -> HRESULT,
    	GetObjectParam:        proc "c" (this: ^IBindCtx, pszKey: cstring16, ppunk: ^^IUnknown) -> HRESULT,
    	EnumObjectParam:       proc "c" (this: ^IBindCtx, ppenum: ^^IEnumString) -> HRESULT,
    	RevokeObjectParam:     proc "c" (this: ^IBindCtx, pszKey: cstring16) -> HRESULT,
    }

    IEnumMoniker ¶

    IEnumMoniker :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IEnumMonikerVtbl,
    }

    IEnumMonikerVtbl ¶

    IEnumMonikerVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	Next:         proc "c" (this: ^IEnumMoniker, celt: u32, rgelt: ^^IMoniker, pceltFetched: ^u32) -> HRESULT,
    	Skip:         proc "c" (this: ^IEnumMoniker, celt: u32) -> HRESULT,
    	Reset:        proc "c" (this: ^IEnumMoniker) -> HRESULT,
    	Clone:        proc "c" (this: ^IEnumMoniker, ppenum: ^^IEnumMoniker) -> HRESULT,
    }

    IEnumShellItems ¶

    IEnumShellItems :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IEnumShellItemsVtbl,
    }

    IEnumShellItemsVtbl ¶

    IEnumShellItemsVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	Next:         proc "c" (this: ^IEnumShellItems, celt: u32, rgelt: ^^IShellItem, pceltFetched: ^u32) -> HRESULT,
    	Skip:         proc "c" (this: ^IEnumShellItems, celt: u32) -> HRESULT,
    	Reset:        proc "c" (this: ^IEnumShellItems) -> HRESULT,
    	Clone:        proc "c" (this: ^IEnumShellItems, ppenum: ^^IEnumShellItems) -> HRESULT,
    }

    IEnumString ¶

    IEnumString :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IEnumStringVtbl,
    }

    IEnumStringVtbl ¶

    IEnumStringVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	Next:         proc "c" (this: ^IEnumString, celt: u32, rgelt: ^cstring16, pceltFetched: ^u32) -> HRESULT,
    	Skip:         proc "c" (this: ^IEnumString, celt: u32) -> HRESULT,
    	Reset:        proc "c" (this: ^IEnumString) -> HRESULT,
    	Clone:        proc "c" (this: ^IEnumString, ppenum: ^^IEnumString) -> HRESULT,
    }

    IFileDialog ¶

    IFileDialog :: struct #raw_union {
    	IModalWindow: IModalWindow,
    	using Vtbl:   ^IFileDialogVtbl,
    }

    IFileDialogEvents ¶

    IFileDialogEvents :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IFileDialogEventsVtbl,
    }

    IFileDialogEventsVtbl ¶

    IFileDialogEventsVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	OnFileOk:          proc "c" (this: ^IFileDialogEvents, pfd: ^IFileDialog) -> HRESULT,
    	OnFolderChanging:  proc "c" (this: ^IFileDialogEvents, pfd: ^IFileDialog, psiFolder: ^IShellItem) -> HRESULT,
    	OnFolderChange:    proc "c" (this: ^IFileDialogEvents, pfd: ^IFileDialog) -> HRESULT,
    	OnSelectionChange: proc "c" (this: ^IFileDialogEvents, pfd: ^IFileDialog) -> HRESULT,
    	OnShareViolation:  proc "c" (this: ^IFileDialogEvents, pfd: ^IFileDialog, psi: ^IShellItem, pResponse: ^FDE_SHAREVIOLATION_RESPONSE) -> HRESULT,
    	OnTypeChange:      proc "c" (this: ^IFileDialogEvents, pfd: ^IFileDialog) -> HRESULT,
    	OnOverwrite:       proc "c" (this: ^IFileDialogEvents, pfd: ^IFileDialog, psi: ^IShellItem, pResponse: ^FDE_SHAREVIOLATION_RESPONSE) -> HRESULT,
    }

    IFileDialogVtbl ¶

    IFileDialogVtbl :: struct {
    	using IModalWindowVtbl: IModalWindowVtbl,
    	SetFileTypes:        proc "c" (this: ^IFileDialog, cFileTypes: u32, rgFilterSpec: ^COMDLG_FILTERSPEC) -> HRESULT,
    	SetFileTypeIndex:    proc "c" (this: ^IFileDialog, iFileType: u32) -> HRESULT,
    	GetFileTypeIndex:    proc "c" (this: ^IFileDialog, piFileType: ^u32) -> HRESULT,
    	Advise:              proc "c" (this: ^IFileDialog, pfde: ^IFileDialogEvents, pdwCookie: ^u32) -> HRESULT,
    	Unadvise:            proc "c" (this: ^IFileDialog, dwCookie: u32) -> HRESULT,
    	SetOptions:          proc "c" (this: ^IFileDialog, fos: u32) -> HRESULT,
    	GetOptions:          proc "c" (this: ^IFileDialog, pfos: ^u32) -> HRESULT,
    	SetDefaultFolder:    proc "c" (this: ^IFileDialog, psi: ^IShellItem) -> HRESULT,
    	SetFolder:           proc "c" (this: ^IFileDialog, psi: ^IShellItem) -> HRESULT,
    	GetFolder:           proc "c" (this: ^IFileDialog, ppsi: ^^IShellItem) -> HRESULT,
    	GetCurrentSelection: proc "c" (this: ^IFileDialog, ppsi: ^^IShellItem) -> HRESULT,
    	SetFileName:         proc "c" (this: ^IFileDialog, pszName: cstring16) -> HRESULT,
    	GetFileName:         proc "c" (this: ^IFileDialog, pszName: ^cstring16) -> HRESULT,
    	SetTitle:            proc "c" (this: ^IFileDialog, pszTitle: cstring16) -> HRESULT,
    	SetOkButtonLabel:    proc "c" (this: ^IFileDialog, pszText: cstring16) -> HRESULT,
    	SetFileNameLabel:    proc "c" (this: ^IFileDialog, pszLabel: cstring16) -> HRESULT,
    	GetResult:           proc "c" (this: ^IFileDialog, ppsi: ^^IShellItem) -> HRESULT,
    	AddPlace:            proc "c" (this: ^IFileDialog, psi: ^IShellItem, fdap: FDAP) -> HRESULT,
    	SetDefaultExtension: proc "c" (this: ^IFileDialog, pszDefaultExtension: cstring16) -> HRESULT,
    	Close:               proc "c" (this: ^IFileDialog, hr: HRESULT) -> HRESULT,
    	SetClientGuid:       proc "c" (this: ^IFileDialog, guid: GUID) -> HRESULT,
    	ClearClientData:     proc "c" (this: ^IFileDialog) -> HRESULT,
    	SetFilter:           proc "c" (this: ^IFileDialog, pFilter: ^IShellItemFilter) -> HRESULT,
    }

    IFileOpenDialog ¶

    IFileOpenDialog :: struct #raw_union {
    	IFileDialog: IFileDialog,
    	using Vtbl:  ^IFileOpenDialogVtbl,
    }

    IFileOpenDialogVtbl ¶

    IFileOpenDialogVtbl :: struct {
    	using IFileDialogVtbl: IFileDialogVtbl,
    	GetResults:       proc "c" (this: ^IFileOpenDialog, ppenum: ^^IShellItemArray) -> HRESULT,
    	GetSelectedItems: proc "c" (this: ^IFileOpenDialog, ppsai: ^^IShellItemArray) -> HRESULT,
    }

    IFileOperationProgressSink ¶

    IFileOperationProgressSink :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IFileOperationProgressSinkVtbl,
    }

    IFileOperationProgressSinkVtbl ¶

    IFileOperationProgressSinkVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	StartOperations:  proc "c" (this: ^IFileOperationProgressSink) -> HRESULT,
    	FinishOperations: proc "c" (this: ^IFileOperationProgressSink, hrResult: HRESULT) -> HRESULT,
    	PreRenameItem:    proc "c" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, pszNewName: cstring16) -> HRESULT,
    	PostRenameItem:   proc "c" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, pszNewName: cstring16, hrRename: HRESULT, psiNewlyCreated: ^IShellItem) -> HRESULT,
    	PreMoveItem:      proc "c" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, psiDestinationFolder: ^IShellItem, pszNewName: cstring16) -> HRESULT,
    	PostMoveItem:     proc "c" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, psiDestinationFolder: ^IShellItem, pszNewName: cstring16, hrMove: HRESULT, psiNewlyCreated: ^IShellItem) -> HRESULT,
    	PreCopyItem:      proc "c" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, psiDestinationFolder: ^IShellItem, pszNewName: cstring16) -> HRESULT,
    	PostCopyItem:     proc "c" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, psiDestinationFolder: ^IShellItem, pszNewName: cstring16, hrMove: HRESULT, psiNewlyCreated: ^IShellItem) -> HRESULT,
    	PreDeleteItem:    proc "c" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem) -> HRESULT,
    	PostDeleteItem:   proc "c" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, hrDelete: HRESULT, psiNewlyCreated: ^IShellItem) -> HRESULT,
    	PreNewItem:       proc "c" (this: ^IFileOperationProgressSink, dwFlags: u32, psiDestinationFolder: ^IShellItem, pszNewName: cstring16) -> HRESULT,
    	PostNewItem:      proc "c" (this: ^IFileOperationProgressSink, dwFlags: u32, psiDestinationFolder: ^IShellItem, pszNewName: cstring16, pszTemplateName: cstring16, dwFileAttributes: u32, hrNew: HRESULT, psiNewItem: ^IShellItem) -> HRESULT,
    	UpdateProgress:   proc "c" (this: ^IFileOperationProgressSink, iWorkTotal: u32, iWorkSoFar: u32) -> HRESULT,
    	ResetTimer:       proc "c" (this: ^IFileOperationProgressSink) -> HRESULT,
    	PauseTimer:       proc "c" (this: ^IFileOperationProgressSink) -> HRESULT,
    	ResumeTimer:      proc "c" (this: ^IFileOperationProgressSink) -> HRESULT,
    }

    IFileSaveDialog ¶

    IFileSaveDialog :: struct #raw_union {
    	IFileDialog: IFileDialog,
    	using Vtbl:  ^IFileSaveDialogVtbl,
    }

    IFileSaveDialogVtbl ¶

    IFileSaveDialogVtbl :: struct {
    	using IFileDialogVtbl:  IFileDialogVtbl,
    	SetSaveAsItem:          proc "c" (this: ^IFileSaveDialog, psi: ^IShellItem) -> HRESULT,
    	SetProperties:          proc "c" (this: ^IFileSaveDialog, pStore: ^IPropertyStore) -> HRESULT,
    	SetCollectedProperties: proc "c" (this: ^IFileSaveDialog, pList: ^IPropertyDescriptionList, fAppendDefault: BOOL) -> HRESULT,
    	GetProperties:          proc "c" (this: ^IFileSaveDialog, ppStore: ^^IPropertyStore) -> HRESULT,
    	ApplyProperties:        proc "c" (this: ^IFileSaveDialog, psi: ^IShellItem, pStore: ^IPropertyStore, hwnd: HWND, pSink: ^IFileOperationProgressSink) -> HRESULT,
    }

    IMAGE_DATA_DIRECTORY ¶

    IMAGE_DATA_DIRECTORY :: struct {
    	VirtualAddress: u32,
    	Size:           u32,
    }

    IMAGE_DEBUG_DIRECTORY ¶

    IMAGE_DEBUG_DIRECTORY :: struct {
    	Characteristics:  u32,
    	TimeDateStamp:    u32,
    	MajorVersion:     u16,
    	MinorVersion:     u16,
    	Type:             u32,
    	SizeOfData:       u32,
    	AddressOfRawData: u32,
    	PointerToRawData: u32,
    }

    IMAGE_DOS_HEADER ¶

    IMAGE_DOS_HEADER :: struct {
    	e_magic:    u16,
    	e_cblp:     u16,
    	e_cp:       u16,
    	e_crlc:     u16,
    	e_cparhdr:  u16,
    	e_minalloc: u16,
    	e_maxalloc: u16,
    	e_ss:       u16,
    	e_sp:       u16,
    	e_csum:     u16,
    	e_ip:       u16,
    	e_cs:       u16,
    	e_lfarlc:   u16,
    	e_ovno:     u16,
    	e_res_0:    u16,
    	e_res_1:    u16,
    	e_res_2:    u16,
    	e_res_3:    u16,
    	e_oemid:    u16,
    	e_oeminfo:  u16,
    	e_res2_0:   u16,
    	e_res2_1:   u16,
    	e_res2_2:   u16,
    	e_res2_3:   u16,
    	e_res2_4:   u16,
    	e_res2_5:   u16,
    	e_res2_6:   u16,
    	e_res2_7:   u16,
    	e_res2_8:   u16,
    	e_res2_9:   u16,
    	e_lfanew:   u32,
    }

    IMAGE_EXPORT_DIRECTORY ¶

    IMAGE_EXPORT_DIRECTORY :: struct {
    	Characteristics:       u32,
    	TimeDateStamp:         u32,
    	MajorVersion:          u16,
    	MinorVersion:          u16,
    	Name:                  u32,
    	Base:                  u32,
    	NumberOfFunctions:     u32,
    	NumberOfNames:         u32,
    	AddressOfFunctions:    u32,
    	// RVA from base of image
    	AddressOfNames:        u32,
    	// RVA from base of image
    	AddressOfNameOrdinals: u32,
    }

    IMAGE_FILE_HEADER ¶

    IMAGE_FILE_HEADER :: struct {
    	Machine:              u16,
    	NumberOfSections:     u16,
    	TimeDateStamp:        u32,
    	PointerToSymbolTable: u32,
    	NumberOfSymbols:      u32,
    	SizeOfOptionalHeader: u16,
    	Characteristics:      u16,
    }

    IMAGE_NT_HEADERS64 ¶

    IMAGE_NT_HEADERS64 :: struct {
    	Signature:      u32,
    	FileHeader:     IMAGE_FILE_HEADER,
    	OptionalHeader: IMAGE_OPTIONAL_HEADER64,
    }

    IMAGE_OPTIONAL_HEADER64 ¶

    IMAGE_OPTIONAL_HEADER64 :: struct {
    	Magic:                       u16,
    	MajorLinkerVersion:          BYTE,
    	MinorLinkerVersion:          BYTE,
    	SizeOfCode:                  u32,
    	SizeOfInitializedData:       u32,
    	SizeOfUninitializedData:     u32,
    	AddressOfEntryPoint:         u32,
    	BaseOfCode:                  u32,
    	ImageBase:                   u64,
    	SectionAlignment:            u32,
    	FileAlignment:               u32,
    	MajorOperatingSystemVersion: u16,
    	MinorOperatingSystemVersion: u16,
    	MajorImageVersion:           u16,
    	MinorImageVersion:           u16,
    	MajorSubsystemVersion:       u16,
    	MinorSubsystemVersion:       u16,
    	Win32VersionValue:           u32,
    	SizeOfImage:                 u32,
    	SizeOfHeaders:               u32,
    	CheckSum:                    u32,
    	Subsystem:                   u16,
    	DllCharacteristics:          u16,
    	SizeOfStackReserve:          u64,
    	SizeOfStackCommit:           u64,
    	SizeOfHeapReserve:           u64,
    	SizeOfHeapCommit:            u64,
    	LoaderFlags:                 u32,
    	NumberOfRvaAndSizes:         u32,
    	ExportTable:                 IMAGE_DATA_DIRECTORY,
    	ImportTable:                 IMAGE_DATA_DIRECTORY,
    	ResourceTable:               IMAGE_DATA_DIRECTORY,
    	ExceptionTable:              IMAGE_DATA_DIRECTORY,
    	CertificateTable:            IMAGE_DATA_DIRECTORY,
    	BaseRelocationTable:         IMAGE_DATA_DIRECTORY,
    	Debug:                       IMAGE_DATA_DIRECTORY,
    	Architecture:                IMAGE_DATA_DIRECTORY,
    	GlobalPtr:                   IMAGE_DATA_DIRECTORY,
    	TLSTable:                    IMAGE_DATA_DIRECTORY,
    	LoadConfigTable:             IMAGE_DATA_DIRECTORY,
    	BoundImport:                 IMAGE_DATA_DIRECTORY,
    	IAT:                         IMAGE_DATA_DIRECTORY,
    	DelayImportDescriptor:       IMAGE_DATA_DIRECTORY,
    	CLRRuntimeHeader:            IMAGE_DATA_DIRECTORY,
    	Reserved:                    IMAGE_DATA_DIRECTORY,
    }

    IModalWindow ¶

    IModalWindow :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IModalWindowVtbl,
    }

    IModalWindowVtbl ¶

    IModalWindowVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	Show:         proc "c" (this: ^IModalWindow, hwndOwner: HWND) -> HRESULT,
    }

    IMoniker ¶

    IMoniker :: struct #raw_union {
    	IPersistStream: IPersistStream,
    	using Vtbl:     ^IMonikerVtbl,
    }

    IMonikerVtbl ¶

    IMonikerVtbl :: struct {
    	using IPersistStreamVtbl: IPersistStreamVtbl,
    	BindToObject:        proc "c" (this: ^IMoniker, pbc: ^IBindCtx, pmkToLeft: ^IMoniker, riidResult: ^GUID, ppvResult: ^rawptr) -> HRESULT,
    	BindToStorage:       proc "c" (this: ^IMoniker, pbc: ^IBindCtx, pmkToLeft: ^IMoniker, riid: ^GUID, ppvObj: ^rawptr) -> HRESULT,
    	Reduce:              proc "c" (this: ^IMoniker, pbc: ^IBindCtx, dwReduceHowFar: u32, ppmkToLeft: ^^IMoniker, ppmkReduced: ^^IMoniker) -> HRESULT,
    	ComposeWith:         proc "c" (this: ^IMoniker, pmkRight: ^IMoniker, fOnlyIfNotGeneric: BOOL, ppmkComposite: ^^IMoniker) -> HRESULT,
    	Enum:                proc "c" (this: ^IMoniker, fForward: BOOL, ppenumMoniker: ^^IEnumMoniker) -> HRESULT,
    	IsEqual:             proc "c" (this: ^IMoniker, pmkOtherMoniker: ^IMoniker) -> HRESULT,
    	Hash:                proc "c" (this: ^IMoniker, pdwHash: ^u32) -> HRESULT,
    	IsRunning:           proc "c" (this: ^IMoniker, pbc: ^IBindCtx, pmkToLeft: ^IMoniker, pmkNewlyRunning: ^IMoniker) -> HRESULT,
    	GetTimeOfLastChange: proc "c" (this: ^IMoniker, pbc: ^IBindCtx, pmkToLeft: ^IMoniker, pFileTime: ^FILETIME) -> HRESULT,
    	Inverse:             proc "c" (this: ^IMoniker, ppmk: ^^IMoniker) -> HRESULT,
    	CommonPrefixWith:    proc "c" (this: ^IMoniker, pmkOther: ^IMoniker, ppmkPrefix: ^^IMoniker) -> HRESULT,
    	RelativePathTo:      proc "c" (this: ^IMoniker, pmkOther: ^IMoniker, ppmkRelPath: ^^IMoniker) -> HRESULT,
    	GetDisplayName:      proc "c" (this: ^IMoniker, pbc: ^IBindCtx, pmkToLeft: ^IMoniker, ppszDisplayName: ^cstring16) -> HRESULT,
    	ParseDisplayName:    proc "c" (this: ^IMoniker, pbc: ^IBindCtx, pmkToLeft: ^IMoniker, pszDisplayName: cstring16, pchEaten: ^u32, ppmkOut: ^^IMoniker) -> HRESULT,
    	IsSystemMoniker:     proc "c" (this: ^IMoniker, pdwMksys: ^u32) -> HRESULT,
    }

    INPUT ¶

    INPUT :: struct {
    	type: INPUT_TYPE,
    	using _: struct #raw_union {
    		mi: MOUSEINPUT `raw_union_tag:"type=MOUSE"`,
    		ki: KEYBDINPUT `raw_union_tag:"type=KEYBOARD"`,
    		hi: HARDWAREINPUT `raw_union_tag:"type=HARDWARE"`,
    	},
    }

    INPUT_RECORD ¶

    INPUT_RECORD :: struct {
    	EventType: Event_Type,
    	Event:     struct #raw_union {
    		KeyEvent:              KEY_EVENT_RECORD `raw_union_tag:"EventType=KEY_EVENT"`,
    		MouseEvent:            MOUSE_EVENT_RECORD `raw_union_tag:"EventType=MOUSE_EVENT"`,
    		WindowBufferSizeEvent: WINDOW_BUFFER_SIZE_RECORD `raw_union_tag:"EventType=WINDOW_BUFFER_SIZE_EVENT"`,
    		MenuEvent:             MENU_EVENT_RECORD `raw_union_tag:"EventType=MENU_EVENT"`,
    		FocusEvent:            FOCUS_EVENT_RECORD `raw_union_tag:"EventType=FOCUS_EVENT"`,
    	},
    }

    INPUT_TYPE ¶

    INPUT_TYPE :: enum u32 {
    	MOUSE    = 0, 
    	KEYBOARD = 1, 
    	HARDWARE = 2, 
    }

    INT ¶

    INT :: i32
    Related Procedures With Parameters

    INT16 ¶

    INT16 :: i16

    INT32 ¶

    INT32 :: i32
    Related Procedures With Parameters

    INT64 ¶

    INT64 :: i64
    Related Procedures With Returns

    INT8 ¶

    INT8 :: i8

    INT_PTR ¶

    INT_PTR :: int

    IPersist ¶

    IPersist :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IPersistVtbl,
    }

    IPersistStream ¶

    IPersistStream :: struct #raw_union {
    	IPersist: IPersist,
    	using Vtbl: ^IPersistStreamVtbl,
    }

    IPersistStreamVtbl ¶

    IPersistStreamVtbl :: struct {
    	using IPersistVtbl: IPersistVtbl,
    	IsDirty:      proc "c" (this: ^IPersistStream) -> HRESULT,
    	Load:         proc "c" (this: ^IPersistStream, pStm: ^IStream) -> HRESULT,
    	Save:         proc "c" (this: ^IPersistStream, pStm: ^IStream, fClearDirty: BOOL) -> HRESULT,
    	GetSizeMax:   proc "c" (this: ^IPersistStream, pcbSize: ^ULARGE_INTEGER) -> HRESULT,
    }

    IPersistVtbl ¶

    IPersistVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	GetClassID:   proc "c" (this: ^IPersist, pClassID: ^GUID) -> HRESULT,
    }

    IPropertyDescriptionList ¶

    IPropertyDescriptionList :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IPropertyDescriptionListVtbl,
    }

    IPropertyDescriptionListVtbl ¶

    IPropertyDescriptionListVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	GetCount:     proc "c" (this: ^IPropertyDescriptionList, pcElem: ^u32) -> HRESULT,
    	GetAt:        proc "c" (this: ^IPropertyDescriptionList, iElem: u32, riid: ^GUID, ppv: ^rawptr) -> HRESULT,
    }

    IPropertyStore ¶

    IPropertyStore :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IPropertyStoreVtbl,
    }

    IPropertyStoreVtbl ¶

    IPropertyStoreVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	GetCount:     proc "c" (this: ^IPropertyStore, cProps: ^u32) -> HRESULT,
    	GetAt:        proc "c" (this: ^IPropertyStore, iProp: u32, pkey: ^PROPERTYKEY) -> HRESULT,
    	GetValue:     proc "c" (this: ^IPropertyStore, key: ^PROPERTYKEY, pv: ^PROPVARIANT) -> HRESULT,
    	SetValue:     proc "c" (this: ^IPropertyStore, key: ^PROPERTYKEY, propvar: ^PROPVARIANT) -> HRESULT,
    	Commit:       proc "c" (this: ^IPropertyStore) -> HRESULT,
    }

    IRunningObjectTable ¶

    IRunningObjectTable :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IRunningObjectTableVtbl,
    }

    IRunningObjectTableVtbl ¶

    IRunningObjectTableVtbl :: struct {
    	using IUnknownVtbl:  IUnknown_VTable,
    	Register:            proc "c" (this: ^IRunningObjectTable, grfFlags: u32, punkObject: ^IUnknown, pmkObjectName: ^IMoniker, pdwRegister: ^u32) -> HRESULT,
    	Revoke:              proc "c" (this: ^IRunningObjectTable, dwRegister: u32) -> HRESULT,
    	IsRunning:           proc "c" (this: ^IRunningObjectTable, pmkObjectName: ^IMoniker) -> HRESULT,
    	GetObject:           proc "c" (this: ^IRunningObjectTable, pmkObjectName: ^IMoniker, ppunkObject: ^^IUnknown) -> HRESULT,
    	NoteChangeTime:      proc "c" (this: ^IRunningObjectTable, dwRegister: u32, pfiletime: ^FILETIME) -> HRESULT,
    	GetTimeOfLastChange: proc "c" (this: ^IRunningObjectTable, pmkObjectName: ^IMoniker, pfiletime: ^FILETIME) -> HRESULT,
    	EnumRunning:         proc "c" (this: ^IRunningObjectTable, ppenumMoniker: ^^IEnumMoniker) -> HRESULT,
    }

    ISequentialStream ¶

    ISequentialStream :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^ISequentialStreamVtbl,
    }

    ISequentialStreamVtbl ¶

    ISequentialStreamVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	Read:         proc "c" (this: ^ISequentialStream, pv: rawptr, cb: u32, pcbRead: ^u32) -> HRESULT,
    	Write:        proc "c" (this: ^ISequentialStream, pv: rawptr, cb: u32, pcbWritten: ^u32) -> HRESULT,
    }

    IShellItem ¶

    IShellItem :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IShellItemVtbl,
    }

    IShellItemArray ¶

    IShellItemArray :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IShellItemArrayVtbl,
    }

    IShellItemArrayVtbl ¶

    IShellItemArrayVtbl :: struct {
    	using IUnknownVtbl:         IUnknown_VTable,
    	BindToHandler:              proc "c" (this: ^IShellItemArray, pbc: ^IBindCtx, bhid: GUID, riid: ^GUID, ppvOut: ^rawptr) -> HRESULT,
    	GetPropertyStore:           proc "c" (this: ^IShellItemArray, flags: GETPROPERTYSTOREFLAGS, riid: ^GUID, ppv: ^rawptr) -> HRESULT,
    	GetPropertyDescriptionList: proc "c" (this: ^IShellItemArray, keyType: ^PROPERTYKEY, riid: ^GUID, ppv: ^rawptr) -> HRESULT,
    	GetAttributes:              proc "c" (this: ^IShellItemArray, AttribFlags: SIATTRIBFLAGS, sfgaoMask: u32, psfgaoAttribs: ^u32) -> HRESULT,
    	GetCount:                   proc "c" (this: ^IShellItemArray, pdwNumItems: ^u32) -> HRESULT,
    	GetItemAt:                  proc "c" (this: ^IShellItemArray, dwIndex: u32, ppsi: ^^IShellItem) -> HRESULT,
    	EnumItems:                  proc "c" (this: ^IShellItemArray, ppenumShellItems: ^^IEnumShellItems) -> HRESULT,
    }

    IShellItemFilter ¶

    IShellItemFilter :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IShellItemFilterVtbl,
    }

    IShellItemFilterVtbl ¶

    IShellItemFilterVtbl :: struct {
    	using IUnknownVtbl:  IUnknown_VTable,
    	IncludeItem:         proc "c" (this: ^IShellItemFilter, psi: ^IShellItem) -> HRESULT,
    	GetEnumFlagsForItem: proc "c" (this: ^IShellItemFilter, psi: ^IShellItem, pgrfFlags: ^u32) -> HRESULT,
    }

    IShellItemVtbl ¶

    IShellItemVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	BindToHandler:  proc "c" (this: ^IShellItem, pbc: ^IBindCtx, bhid: GUID, riid: ^GUID, ppv: ^rawptr) -> HRESULT,
    	GetParent:      proc "c" (this: ^IShellItem, ppsiFolder: ^^IShellItem) -> HRESULT,
    	GetDisplayName: proc "c" (this: ^IShellItem, sigdnName: SIGDN, ppszName: ^^u32) -> HRESULT,
    	GetAttributes:  proc "c" (this: ^IShellItem, sfgaoMask: u32, psfgaoAttribs: ^u32) -> HRESULT,
    	Compare:        proc "c" (this: ^IShellItem, psi: ^IShellItem, hint: u32, piOrder: ^i32) -> HRESULT,
    }

    IStream ¶

    IStream :: struct #raw_union {
    	ISequentialStream: ISequentialStream,
    	using Vtbl:        ^IStreamVtbl,
    }

    IStreamVtbl ¶

    IStreamVtbl :: struct {
    	using ISequentialStreamVtbl: ISequentialStreamVtbl,
    	Seek:                  proc "c" (this: ^IStream, dlibMove: LARGE_INTEGER, dwOrigin: u32, plibNewPosition: ^ULARGE_INTEGER) -> HRESULT,
    	SetSize:               proc "c" (this: ^IStream, libNewSize: ULARGE_INTEGER) -> HRESULT,
    	CopyTo:                proc "c" (this: ^IStream, pstm: ^IStream, cb: ULARGE_INTEGER, pcbRead: ^ULARGE_INTEGER, pcbWritten: ^ULARGE_INTEGER) -> HRESULT,
    	Commit:                proc "c" (this: ^IStream, grfCommitFlags: u32) -> HRESULT,
    	Revert:                proc "c" (this: ^IStream) -> HRESULT,
    	LockRegion:            proc "c" (this: ^IStream, libOffset: ULARGE_INTEGER, cb: ULARGE_INTEGER, dwLockType: u32) -> HRESULT,
    	UnlockRegion:          proc "c" (this: ^IStream, libOffset: ULARGE_INTEGER, cb: ULARGE_INTEGER, dwLockType: u32) -> HRESULT,
    	Stat:                  proc "c" (this: ^IStream, pstatstg: ^STATSTG, grfStatFlag: u32) -> HRESULT,
    	Clone:                 proc "c" (this: ^IStream, ppstm: ^^IStream) -> HRESULT,
    }

    ITaskbarList ¶

    ITaskbarList :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^ITaskbarListVtbl,
    }

    ITaskbarList2 ¶

    ITaskbarList2 :: struct #raw_union {
    	ITaskbarList: ITaskbarList,
    	using Vtbl:   ^ITaskbarList2Vtbl,
    }

    ITaskbarList2Vtbl ¶

    ITaskbarList2Vtbl :: struct {
    	using ITaskbarListVtbl: ITaskbarListVtbl,
    	MarkFullscreenWindow: proc "c" (this: ^ITaskbarList2, hwnd: HWND, fFullscreen: BOOL) -> HRESULT,
    }

    ITaskbarList3 ¶

    ITaskbarList3 :: struct #raw_union {
    	ITaskbarList2: ITaskbarList2,
    	using Vtbl:    ^ITaskbarList3Vtbl,
    }

    ITaskbarList3Vtbl ¶

    ITaskbarList3Vtbl :: struct {
    	using ITaskbarList2Vtbl: ITaskbarList2Vtbl,
    	SetProgressValue:      proc "c" (this: ^ITaskbarList3, hwnd: HWND, ullCompleted: u64, ullTotal: u64) -> HRESULT,
    	SetProgressState:      proc "c" (this: ^ITaskbarList3, hwnd: HWND, tbpFlags: TBPFLAG) -> HRESULT,
    	RegisterTab:           proc "c" (this: ^ITaskbarList3, hwndTab: HWND, hwndMDI: HWND) -> HRESULT,
    	UnregisterTab:         proc "c" (this: ^ITaskbarList3, hwndTab: HWND) -> HRESULT,
    	SetTabOrder:           proc "c" (this: ^ITaskbarList3, hwndTab: HWND, hwndInsertBefore: HWND) -> HRESULT,
    	SetTabActive:          proc "c" (this: ^ITaskbarList3, hwndTab: HWND, hwndMDI: HWND, dwReserved: u32) -> HRESULT,
    	ThumbBarAddButtons:    proc "c" (this: ^ITaskbarList3, hwnd: HWND, cButtons: u32, pButton: ^THUMBBUTTON) -> HRESULT,
    	ThumbBarUpdateButtons: proc "c" (this: ^ITaskbarList3, hwnd: HWND, cButtons: u32, pButton: ^THUMBBUTTON) -> HRESULT,
    	ThumbBarSetImageList:  proc "c" (this: ^ITaskbarList3, hwnd: HWND, himl: ^IUnknown) -> HRESULT,
    	SetOverlayIcon:        proc "c" (this: ^ITaskbarList3, hwnd: HWND, hIcon: HICON, pszDescription: cstring16) -> HRESULT,
    	SetThumbnailTooltip:   proc "c" (this: ^ITaskbarList3, hwnd: HWND, pszTip: cstring16) -> HRESULT,
    	SetThumbnailClip:      proc "c" (this: ^ITaskbarList3, hwnd: HWND, prcClip: ^RECT) -> HRESULT,
    }

    ITaskbarListVtbl ¶

    ITaskbarListVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	HrInit:       proc "c" (this: ^ITaskbarList) -> HRESULT,
    	AddTab:       proc "c" (this: ^ITaskbarList, hwnd: HWND) -> HRESULT,
    	DeleteTab:    proc "c" (this: ^ITaskbarList, hwnd: HWND) -> HRESULT,
    	ActivateTab:  proc "c" (this: ^ITaskbarList, hwnd: HWND) -> HRESULT,
    	SetActiveAlt: proc "c" (this: ^ITaskbarList, hwnd: HWND) -> HRESULT,
    }

    IUnknown ¶

    IUnknown :: struct {
    	using _iunknown_vtable: ^IUnknown_VTable,
    }
    Related Procedures With Parameters

    IUnknown_VTable ¶

    IUnknown_VTable :: struct {
    	QueryInterface: proc "c" (This: ^IUnknown, riid: ^GUID, ppvObject: ^rawptr) -> HRESULT,
    	AddRef:         proc "c" (This: ^IUnknown) -> u32,
    	Release:        proc "c" (This: ^IUnknown) -> u32,
    }

    KBDLLHOOKSTRUCT ¶

    KBDLLHOOKSTRUCT :: struct {
    	vkCode:      u32,
    	scanCode:    u32,
    	flags:       u32,
    	time:        u32,
    	dwExtraInfo: uint,
    }

    KEYBDINPUT ¶

    KEYBDINPUT :: struct {
    	wVk:         u16,
    	wScan:       u16,
    	dwFlags:     u32,
    	time:        u32,
    	dwExtraInfo: uint,
    }

    KEY_EVENT_RECORD ¶

    KEY_EVENT_RECORD :: struct {
    	bKeyDown:          BOOL,
    	wRepeatCount:      u16,
    	wVirtualKeyCode:   u16,
    	wVirtualScanCode:  u16,
    	uChar:             struct #raw_union {
    		UnicodeChar: u32,
    		AsciiChar:   u8,
    	},
    	dwControlKeyState: bit_set[Control_Key_State_Bits; u32],
    }

    LANGID ¶

    LANGID :: u16

    LARGE_INTEGER ¶

    LARGE_INTEGER :: distinct i64

    LCID ¶

    LCID :: u32
    Related Procedures With Parameters

    LINGER ¶

    LINGER :: struct {
    	l_onoff:  u16,
    	l_linger: u16,
    }
     

    Used with the SO_LINGER socket option to setsockopt().

    LITEM ¶

    LITEM :: struct {
    	mask:      u32,
    	iLink:     i32,
    	state:     u32,
    	stateMask: u32,
    	szID:      [48]u32,
    	szUrl:     [2083]u32,
    }

    LOCALGROUP_MEMBERS_INFO_0 ¶

    LOCALGROUP_MEMBERS_INFO_0 :: struct #packed {
    	sid: ^SID,
    }

    LONG ¶

    LONG :: i32
    Related Procedures With Parameters

    LONG32 ¶

    LONG32 :: i32
    Related Procedures With Parameters

    LONG64 ¶

    LONG64 :: i64
    Related Procedures With Returns

    LONGLONG ¶

    LONGLONG :: i64
    Related Procedures With Returns

    LONG_PTR ¶

    LONG_PTR :: int

    LPARAM ¶

    LPARAM :: int

    LPBOOL ¶

    LPBOOL :: ^BOOL

    LPBYTE ¶

    LPBYTE :: ^BYTE

    LPCOLESTR ¶

    LPCOLESTR :: cstring
    Related Procedures With Parameters

    LPCOLORREF ¶

    LPCOLORREF :: ^u32

    LPCSTR ¶

    LPCSTR :: cstring
    Related Procedures With Parameters

    LPCVOID ¶

    LPCVOID :: rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    LPDWORD ¶

    LPDWORD :: ^u32

    LPHANDLE ¶

    LPHANDLE :: ^HANDLE

    LPINT ¶

    LPINT :: ^i32

    LPLOOKUPSERVICE_COMPLETION_ROUTINE ¶

    LPLOOKUPSERVICE_COMPLETION_ROUTINE :: proc "c" (dwErrorCode: u32, dwNumberOfBytesTransfered: u32, lpOverlapped: ^OVERLAPPED)

    LPMSG ¶

    LPMSG :: ^MSG

    LPOVERLAPPED_COMPLETION_ROUTINE ¶

    LPOVERLAPPED_COMPLETION_ROUTINE :: proc "c" (dwErrorCode: u32, dwNumberOfBytesTransfered: u32, lpOverlapped: ^OVERLAPPED)

    LPPOINT ¶

    LPPOINT :: ^POINT

    LPPROGRESS_ROUTINE ¶

    LPPROGRESS_ROUTINE :: proc "c" (TotalFileSize: LARGE_INTEGER, TotalBytesTransferred: LARGE_INTEGER, StreamSize: LARGE_INTEGER, StreamBytesTransferred: LARGE_INTEGER, dwStreamNumber: u32, dwCallbackReason: u32, hSourceFile: HANDLE, hDestinationFile: HANDLE, lpData: rawptr) -> u32

    LPRECT ¶

    LPRECT :: ^RECT

    LPSIZE ¶

    LPSIZE :: ^SIZE

    LPSTR ¶

    LPSTR :: ^u8

    LPUINT ¶

    LPUINT :: ^u32

    LPULONG_PTR ¶

    LPULONG_PTR :: ^uint

    LPUNKNOWN ¶

    LPUNKNOWN :: ^IUnknown
    Related Procedures With Parameters

    LPVOID ¶

    LPVOID :: rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    LPWCH ¶

    LPWCH :: ^u32

    LPWORD ¶

    LPWORD :: ^u16

    LPWSABUF ¶

    LPWSABUF :: ^WSABUF

    LPWSAOVERLAPPED_COMPLETION_ROUTINE ¶

    LPWSAOVERLAPPED_COMPLETION_ROUTINE :: proc "c" (dwError: u32, cbTransferred: u32, lpOverlapped: ^WSAOVERLAPPED, dwFlags: u32)

    LPWSTR ¶

    LPWSTR :: ^u32

    LRESULT ¶

    LRESULT :: int

    LSTATUS ¶

    LSTATUS :: i32
    Related Procedures With Parameters

    LUID ¶

    LUID :: struct {
    	LowPart:  u32,
    	HighPart: i32,
    }

    LUID_AND_ATTRIBUTES ¶

    LUID_AND_ATTRIBUTES :: struct {
    	Luid:       LUID,
    	Attributes: u32,
    }

    LoadLibraryEx_Flag ¶

    LoadLibraryEx_Flag :: enum u32 {
    	LOAD_LIBRARY_AS_DATAFILE            = 1,  // 1 <<  1: 0x0002,
    	LOAD_WITH_ALTERED_SEARCH_PATH       = 3,  // 1 <<  3: 0x0008,
    	LOAD_IGNORE_CODE_AUTHZ_LEVEL        = 4,  // 1 <<  4: 0x0010,
    	LOAD_LIBRARY_AS_IMAGE_RESOURCE      = 5,  // 1 <<  5: 0x0020,
    	LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE  = 6,  // 1 <<  6: 0x0040,
    	LOAD_LIBRARY_REQUIRE_SIGNED_TARGET  = 7,  // 1 <<  7: 0x0080,
    	LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR    = 8,  // 1 <<  8: 0x0100,
    	LOAD_LIBRARY_SEARCH_APPLICATION_DIR = 9,  // 1 <<  9: 0x0200,
    	LOAD_LIBRARY_SEARCH_USER_DIRS       = 10, // 1 << 10: 0x0400,
    	LOAD_LIBRARY_SEARCH_SYSTEM32        = 11, // 1 << 11: 0x0800,
    	LOAD_LIBRARY_SEARCH_DEFAULT_DIRS    = 12, // 1 << 12: 0x1000,
    	LOAD_LIBRARY_SAFE_CURRENT_DIRS      = 13, // 1 << 13: 0x2000,
    }

    LoadLibraryEx_Flags ¶

    LoadLibraryEx_Flags :: distinct bit_set[LoadLibraryEx_Flag]

    Logon32_Provider ¶

    Logon32_Provider :: enum u32 {
    	DEFAULT = 0, 
    	WINNT35 = 1, 
    	WINNT40 = 2, 
    	WINNT50 = 3, 
    	VIRTUAL = 4, 
    }

    Logon32_Type ¶

    Logon32_Type :: enum u32 {
    	INTERACTIVE       = 2, 
    	NETWORK           = 3, 
    	BATCH             = 4, 
    	SERVICE           = 5, 
    	UNLOCK            = 7, 
    	NETWORK_CLEARTEXT = 8, 
    	NEW_CREDENTIALS   = 9, 
    }

    M128A ¶

    M128A :: struct {
    	Low:  u64,
    	High: i64,
    }

    MEMORYSTATUSEX ¶

    MEMORYSTATUSEX :: struct {
    	dwLength:                u32,
    	dwMemoryLoad:            u32,
    	ullTotalPhys:            u64,
    	ullAvailPhys:            u64,
    	ullTotalPageFil:         u64,
    	ullAvailPageFil:         u64,
    	ullTotalVirtual:         u64,
    	ullAvailVirtual:         u64,
    	ullAvailExtendedVirtual: u64,
    }
    MENU_EVENT_RECORD :: struct {
    	dwCommandId: u32,
    }

    MINMAXINFO ¶

    MINMAXINFO :: struct {
    	ptReserved:     POINT,
    	ptMaxSize:      POINT,
    	ptMaxPosition:  POINT,
    	ptMinTrackSize: POINT,
    	ptMaxTrackSize: POINT,
    }
     

    Struct pointed to by WM_GETMINMAXINFO lParam

    MONITORINFO ¶

    MONITORINFO :: struct {
    	cbSize:    u32,
    	rcMonitor: RECT,
    	rcWork:    RECT,
    	dwFlags:   u32,
    }

    MONITORINFOEXW ¶

    MONITORINFOEXW :: struct {
    	using _:  MONITORINFO,
    	szDevice: [32]u32,
    }

    MOUNT_POINT_REPARSE_BUFFER ¶

    MOUNT_POINT_REPARSE_BUFFER :: struct {
    	SubstituteNameOffset: u16,
    	SubstituteNameLength: u16,
    	PrintNameOffset:      u16,
    	PrintNameLength:      u16,
    	PathBuffer:           u32,
    }

    MOUSEINPUT ¶

    MOUSEINPUT :: struct {
    	dx:          i32,
    	dy:          i32,
    	mouseData:   u32,
    	dwFlags:     u32,
    	time:        u32,
    	dwExtraInfo: uint,
    }

    MOUSE_EVENT_RECORD ¶

    MOUSE_EVENT_RECORD :: struct {
    	dwMousePosition:   COORD,
    	dwButtonState:     u32,
    	dwControlKeyState: u32,
    	dwEventFlags:      u32,
    }

    MSG ¶

    MSG :: struct {
    	hwnd:    HWND,
    	message: u32,
    	wParam:  uintptr,
    	lParam:  int,
    	time:    u32,
    	pt:      POINT,
    }

    MSLLHOOKSTRUCT ¶

    MSLLHOOKSTRUCT :: struct {
    	pt:          POINT,
    	mouseData:   u32,
    	flags:       u32,
    	time:        u32,
    	dwExtraInfo: uint,
    }

    NCCALCSIZE_PARAMS ¶

    NCCALCSIZE_PARAMS :: struct {
    	rgrc:  [3]RECT,
    	lppos: ^WINDOWPOS,
    }

    NEON128 ¶

    NEON128 :: struct {
    	Low:  u64,
    	High: i64,
    }

    NET_API_STATUS ¶

    NET_API_STATUS :: enum u32 {
    	Success                      = 0, 
    	ERROR_ACCESS_DENIED          = 5, 
    	MemberInAlias                = 1378, 
    	NetNotStarted                = 2102, 
    	UnknownServer                = 2103, 
    	ShareMem                     = 2104, 
    	NoNetworkResource            = 2105, 
    	RemoteOnly                   = 2106, 
    	DevNotRedirected             = 2107, 
    	ServerNotStarted             = 2114, 
    	ItemNotFound                 = 2115, 
    	UnknownDevDir                = 2116, 
    	RedirectedPath               = 2117, 
    	DuplicateShare               = 2118, 
    	NoRoom                       = 2119, 
    	TooManyItems                 = 2121, 
    	InvalidMaxUsers              = 2122, 
    	BufTooSmall                  = 2123, 
    	RemoteErr                    = 2127, 
    	LanmanIniError               = 2131, 
    	NetworkError                 = 2136, 
    	WkstaInconsistentState       = 2137, 
    	WkstaNotStarted              = 2138, 
    	BrowserNotStarted            = 2139, 
    	InternalError                = 2140, 
    	BadTransactConfig            = 2141, 
    	InvalidAPI                   = 2142, 
    	BadEventName                 = 2143, 
    	DupNameReboot                = 2144, 
    	CfgCompNotFound              = 2146, 
    	CfgParamNotFound             = 2147, 
    	LineTooLong                  = 2149, 
    	QNotFound                    = 2150, 
    	JobNotFound                  = 2151, 
    	DestNotFound                 = 2152, 
    	DestExists                   = 2153, 
    	QExists                      = 2154, 
    	QNoRoom                      = 2155, 
    	JobNoRoom                    = 2156, 
    	DestNoRoom                   = 2157, 
    	DestIdle                     = 2158, 
    	DestInvalidOp                = 2159, 
    	ProcNoRespond                = 2160, 
    	SpoolerNotLoaded             = 2161, 
    	DestInvalidState             = 2162, 
    	QInvalidState                = 2163, 
    	JobInvalidState              = 2164, 
    	SpoolNoMemory                = 2165, 
    	DriverNotFound               = 2166, 
    	DataTypeInvalid              = 2167, 
    	ProcNotFound                 = 2168, 
    	ServiceTableLocked           = 2180, 
    	ServiceTableFull             = 2181, 
    	ServiceInstalled             = 2182, 
    	ServiceEntryLocked           = 2183, 
    	ServiceNotInstalled          = 2184, 
    	BadServiceName               = 2185, 
    	ServiceCtlTimeout            = 2186, 
    	ServiceCtlBusy               = 2187, 
    	BadServiceProgName           = 2188, 
    	ServiceNotCtrl               = 2189, 
    	ServiceKillProc              = 2190, 
    	ServiceCtlNotValid           = 2191, 
    	NotInDispatchTbl             = 2192, 
    	BadControlRecv               = 2193, 
    	ServiceNotStarting           = 2194, 
    	AlreadyLoggedOn              = 2200, 
    	NotLoggedOn                  = 2201, 
    	BadUsername                  = 2202, 
    	BadPassword                  = 2203, 
    	UnableToAddName_W            = 2204, 
    	UnableToAddName_F            = 2205, 
    	UnableToDelName_W            = 2206, 
    	UnableToDelName_F            = 2207, 
    	LogonsPaused                 = 2209, 
    	LogonServerConflict          = 2210, 
    	LogonNoUserPath              = 2211, 
    	LogonScriptError             = 2212, 
    	StandaloneLogon              = 2214, 
    	LogonServerNotFound          = 2215, 
    	LogonDomainExists            = 2216, 
    	NonValidatedLogon            = 2217, 
    	ACFNotFound                  = 2219, 
    	GroupNotFound                = 2220, 
    	UserNotFound                 = 2221, 
    	ResourceNotFound             = 2222, 
    	GroupExists                  = 2223, 
    	UserExists                   = 2224, 
    	ResourceExists               = 2225, 
    	NotPrimary                   = 2226, 
    	ACFNotLoaded                 = 2227, 
    	ACFNoRoom                    = 2228, 
    	ACFFileIOFail                = 2229, 
    	ACFTooManyLists              = 2230, 
    	UserLogon                    = 2231, 
    	ACFNoParent                  = 2232, 
    	CanNotGrowSegment            = 2233, 
    	SpeGroupOp                   = 2234, 
    	NotInCache                   = 2235, 
    	UserInGroup                  = 2236, 
    	UserNotInGroup               = 2237, 
    	AccountUndefined             = 2238, 
    	AccountExpired               = 2239, 
    	InvalidWorkstation           = 2240, 
    	InvalidLogonHours            = 2241, 
    	PasswordExpired              = 2242, 
    	PasswordCantChange           = 2243, 
    	PasswordHistConflict         = 2244, 
    	PasswordTooShort             = 2245, 
    	PasswordTooRecent            = 2246, 
    	InvalidDatabase              = 2247, 
    	DatabaseUpToDate             = 2248, 
    	SyncRequired                 = 2249, 
    	UseNotFound                  = 2250, 
    	BadAsgType                   = 2251, 
    	DeviceIsShared               = 2252, 
    	SameAsComputerName           = 2253, 
    	NoComputerName               = 2270, 
    	MsgAlreadyStarted            = 2271, 
    	MsgInitFailed                = 2272, 
    	NameNotFound                 = 2273, 
    	AlreadyForwarded             = 2274, 
    	AddForwarded                 = 2275, 
    	AlreadyExists                = 2276, 
    	TooManyNames                 = 2277, 
    	DelComputerName              = 2278, 
    	LocalForward                 = 2279, 
    	GrpMsgProcessor              = 2280, 
    	PausedRemote                 = 2281, 
    	BadReceive                   = 2282, 
    	NameInUse                    = 2283, 
    	MsgNotStarted                = 2284, 
    	NotLocalName                 = 2285, 
    	NoForwardName                = 2286, 
    	RemoteFull                   = 2287, 
    	NameNotForwarded             = 2288, 
    	TruncatedBroadcast           = 2289, 
    	InvalidDevice                = 2294, 
    	WriteFault                   = 2295, 
    	DuplicateName                = 2297, 
    	DeleteLater                  = 2298, 
    	IncompleteDel                = 2299, 
    	MultipleNets                 = 2300, 
    	NetNameNotFound              = 2310, 
    	DeviceNotShared              = 2311, 
    	ClientNameNotFound           = 2312, 
    	FileIdNotFound               = 2314, 
    	ExecFailure                  = 2315, 
    	TmpFile                      = 2316, 
    	TooMuchData                  = 2317, 
    	DeviceShareConflict          = 2318, 
    	BrowserTableIncomplete       = 2319, 
    	NotLocalDomain               = 2320, 
    	IsDfsShare                   = 2321, 
    	DevInvalidOpCode             = 2331, 
    	DevNotFound                  = 2332, 
    	DevNotOpen                   = 2333, 
    	BadQueueDevString            = 2334, 
    	BadQueuePriority             = 2335, 
    	NoCommDevs                   = 2337, 
    	QueueNotFound                = 2338, 
    	BadDevString                 = 2340, 
    	BadDev                       = 2341, 
    	InUseBySpooler               = 2342, 
    	CommDevInUse                 = 2343, 
    	InvalidComputer              = 2351, 
    	MaxLenExceeded               = 2354, 
    	BadComponent                 = 2356, 
    	CantType                     = 2357, 
    	TooManyEntries               = 2362, 
    	ProfileFileTooBig            = 2370, 
    	ProfileOffset                = 2371, 
    	ProfileCleanup               = 2372, 
    	ProfileUnknownCmd            = 2373, 
    	ProfileLoadErr               = 2374, 
    	ProfileSaveErr               = 2375, 
    	LogOverflow                  = 2377, 
    	LogFileChanged               = 2378, 
    	LogFileCorrupt               = 2379, 
    	SourceIsDir                  = 2380, 
    	BadSource                    = 2381, 
    	BadDest                      = 2382, 
    	DifferentServers             = 2383, 
    	RunSrvPaused                 = 2385, 
    	ErrCommRunSrv                = 2389, 
    	ErrorExecingGhost            = 2391, 
    	ShareNotFound                = 2392, 
    	InvalidLana                  = 2400, 
    	OpenFiles                    = 2401, 
    	ActiveConns                  = 2402, 
    	BadPasswordCore              = 2403, 
    	DevInUse                     = 2404, 
    	LocalDrive                   = 2405, 
    	AlertExists                  = 2430, 
    	TooManyAlerts                = 2431, 
    	NoSuchAlert                  = 2432, 
    	BadRecipient                 = 2433, 
    	AcctLimitExceeded            = 2434, 
    	InvalidLogSeek               = 2440, 
    	BadUasConfig                 = 2450, 
    	InvalidUASOp                 = 2451, 
    	LastAdmin                    = 2452, 
    	DCNotFound                   = 2453, 
    	LogonTrackingError           = 2454, 
    	NetlogonNotStarted           = 2455, 
    	CanNotGrowUASFile            = 2456, 
    	TimeDiffAtDC                 = 2457, 
    	PasswordMismatch             = 2458, 
    	NoSuchServer                 = 2460, 
    	NoSuchSession                = 2461, 
    	NoSuchConnection             = 2462, 
    	TooManyServers               = 2463, 
    	TooManySessions              = 2464, 
    	TooManyConnections           = 2465, 
    	TooManyFiles                 = 2466, 
    	NoAlternateServers           = 2467, 
    	TryDownLevel                 = 2470, 
    	UPSDriverNotStarted          = 2480, 
    	UPSInvalidConfig             = 2481, 
    	UPSInvalidCommPort           = 2482, 
    	UPSSignalAsserted            = 2483, 
    	UPSShutdownFailed            = 2484, 
    	BadDosRetCode                = 2500, 
    	ProgNeedsExtraMem            = 2501, 
    	BadDosFunction               = 2502, 
    	RemoteBootFailed             = 2503, 
    	BadFileCheckSum              = 2504, 
    	NoRplBootSystem              = 2505, 
    	RplLoadrNetBiosErr           = 2506, 
    	RplLoadrDiskErr              = 2507, 
    	ImageParamErr                = 2508, 
    	TooManyImageParams           = 2509, 
    	NonDosFloppyUsed             = 2510, 
    	RplBootRestart               = 2511, 
    	RplSrvrCallFailed            = 2512, 
    	CantConnectRplSrvr           = 2513, 
    	CantOpenImageFile            = 2514, 
    	CallingRplSrvr               = 2515, 
    	StartingRplBoot              = 2516, 
    	RplBootServiceTerm           = 2517, 
    	RplBootStartFailed           = 2518, 
    	RPL_CONNECTED                = 2519, 
    	BrowserConfiguredToNotRun    = 2550, 
    	RplNoAdaptersStarted         = 2610, 
    	RplBadRegistry               = 2611, 
    	RplBadDatabase               = 2612, 
    	RplRplfilesShare             = 2613, 
    	RplNotRplServer              = 2614, 
    	RplCannotEnum                = 2615, 
    	RplWkstaInfoCorrupted        = 2616, 
    	RplWkstaNotFound             = 2617, 
    	RplWkstaNameUnavailable      = 2618, 
    	RplProfileInfoCorrupted      = 2619, 
    	RplProfileNotFound           = 2620, 
    	RplProfileNameUnavailable    = 2621, 
    	RplProfileNotEmpty           = 2622, 
    	RplConfigInfoCorrupted       = 2623, 
    	RplConfigNotFound            = 2624, 
    	RplAdapterInfoCorrupted      = 2625, 
    	RplInternal                  = 2626, 
    	RplVendorInfoCorrupted       = 2627, 
    	RplBootInfoCorrupted         = 2628, 
    	RplWkstaNeedsUserAcct        = 2629, 
    	RplNeedsRPLUSERAcct          = 2630, 
    	RplBootNotFound              = 2631, 
    	RplIncompatibleProfile       = 2632, 
    	RplAdapterNameUnavailable    = 2633, 
    	RplConfigNotEmpty            = 2634, 
    	RplBootInUse                 = 2635, 
    	RplBackupDatabase            = 2636, 
    	RplAdapterNotFound           = 2637, 
    	RplVendorNotFound            = 2638, 
    	RplVendorNameUnavailable     = 2639, 
    	RplBootNameUnavailable       = 2640, 
    	RplConfigNameUnavailable     = 2641, 
    	DfsInternalCorruption        = 2660, 
    	DfsVolumeDataCorrupt         = 2661, 
    	DfsNoSuchVolume              = 2662, 
    	DfsVolumeAlreadyExists       = 2663, 
    	DfsAlreadyShared             = 2664, 
    	DfsNoSuchShare               = 2665, 
    	DfsNotALeafVolume            = 2666, 
    	DfsLeafVolume                = 2667, 
    	DfsVolumeHasMultipleServers  = 2668, 
    	DfsCantCreateJunctionPoint   = 2669, 
    	DfsServerNotDfsAware         = 2670, 
    	DfsBadRenamePath             = 2671, 
    	DfsVolumeIsOffline           = 2672, 
    	DfsNoSuchServer              = 2673, 
    	DfsCyclicalName              = 2674, 
    	DfsNotSupportedInServerDfs   = 2675, 
    	DfsDuplicateService          = 2676, 
    	DfsCantRemoveLastServerShare = 2677, 
    	DfsVolumeIsInterDfs          = 2678, 
    	DfsInconsistent              = 2679, 
    	DfsServerUpgraded            = 2680, 
    	DfsDataIsIdentical           = 2681, 
    	DfsCantRemoveDfsRoot         = 2682, 
    	DfsChildOrParentInDfs        = 2683, 
    	DfsInternalError             = 2690, 
    	SetupAlreadyJoined           = 2691, 
    	SetupNotJoined               = 2692, 
    	SetupDomainController        = 2693, 
    	DefaultJoinRequired          = 2694, 
    	InvalidWorkgroupName         = 2695, 
    	NameUsesIncompatibleCodePage = 2696, 
    	ComputerAccountNotFound      = 2697, 
    	PersonalSku                  = 2698, 
    	SetupCheckDNSConfig          = 2699, 
    	PasswordMustChange           = 2701, 
    	AccountLockedOut             = 2702, 
    	PasswordTooLong              = 2703, 
    	PasswordNotComplexEnough     = 2704, 
    	PasswordFilterError          = 2705, 
    }

    NMCUSTOMDRAW ¶

    NMCUSTOMDRAW :: struct {
    	hdr:         NMHDR,
    	dwDrawStage: u32,
    	hdc:         HDC,
    	rc:          RECT,
    	dwItemSpec:  uint,
    	uItemState:  u32,
    	lItemlParam: int,
    }

    NMHDR ¶

    NMHDR :: struct {
    	hwndFrom: HWND,
    	idFrom:   uintptr,
    	code:     u32,
    }
    NMLINK :: struct {
    	hdr:  NMHDR,
    	item: LITEM,
    }

    NOTIFYICONDATAW ¶

    NOTIFYICONDATAW :: struct {
    	cbSize:           u32,
    	hWnd:             HWND,
    	uID:              u32,
    	uFlags:           u32,
    	uCallbackMessage: u32,
    	hIcon:            HICON,
    	szTip:            [128]u32,
    	dwState:          u32,
    	dwStateMask:      u32,
    	szInfo:           [256]u32,
    	using _:          struct #raw_union {
    		uTimeout: u32,
    		uVersion: u32,
    	},
    	szInfoTitle:      [64]u32,
    	dwInfoFlags:      u32,
    	guidItem:         GUID,
    	hBalloonIcon:     HICON,
    }

    NTSTATUS ¶

    NTSTATUS :: i64
    Related Procedures With Returns

    OBJECT_ATTRIBUTES ¶

    OBJECT_ATTRIBUTES :: struct {
    	Length:                   u32,
    	RootDirectory:            HANDLE,
    	ObjectName:               ^UNICODE_STRING,
    	Attributes:               u32,
    	SecurityDescriptor:       rawptr,
    	SecurityQualityOfService: rawptr,
    }

    OLECHAR ¶

    OLECHAR :: u32
    Related Procedures With Parameters

    OSVERSIONINFOEXW ¶

    OSVERSIONINFOEXW :: struct {
    	dwOSVersionInfoSize: u32,
    	dwMajorVersion:      u32,
    	dwMinorVersion:      u32,
    	dwBuildNumber:       u32,
    	dwPlatformId:        u32,
    	szCSDVersion:        [128]u32,
    	wServicePackMajor:   u16,
    	wServicePackMinor:   u16,
    	wSuiteMask:          u16,
    	wProductType:        BYTE,
    	wReserved:           BYTE,
    }
     

    https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ns-wdm-_osversioninfoexw

    OVERLAPPED ¶

    OVERLAPPED :: struct {
    	Internal:     ^u32,
    	InternalHigh: ^u32,
    	using _:      struct #raw_union {
    		using _:    struct {
    			Offset:     u32,
    			OffsetHigh: u32,
    		},
    		OffsetFull: u64,
    	},
    	hEvent:       HANDLE,
    }

    OVERLAPPED_ENTRY ¶

    OVERLAPPED_ENTRY :: struct {
    	lpCompletionKey:            uint,
    	lpOverlapped:               ^OVERLAPPED,
    	Internal:                   uint,
    	dwNumberOfBytesTransferred: u32,
    }

    PACCESS_MASK ¶

    PACCESS_MASK :: ^u32

    PACCESS_TOKEN ¶

    PACCESS_TOKEN :: rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    PAINTSTRUCT ¶

    PAINTSTRUCT :: struct {
    	hdc:         HDC,
    	fErase:      BOOL,
    	rcPaint:     RECT,
    	fRestore:    BOOL,
    	fIncUpdate:  BOOL,
    	rgbReserved: [32]BYTE,
    }

    PBOOL ¶

    PBOOL :: ^BOOL

    PBYTE ¶

    PBYTE :: ^BYTE

    PCHAR ¶

    PCHAR :: ^u8

    PCLAIMS_BLOB ¶

    PCLAIMS_BLOB :: rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    PCSTR ¶

    PCSTR :: cstring
    Related Procedures With Parameters

    PDWORD ¶

    PDWORD :: ^u32

    PDWORD64 ¶

    PDWORD64 :: ^u64

    PDWORD_PTR ¶

    PDWORD_PTR :: ^uint

    PHKEY ¶

    PHKEY :: ^HKEY

    PINT ¶

    PINT :: ^i32

    PIXELFORMATDESCRIPTOR ¶

    PIXELFORMATDESCRIPTOR :: struct {
    	nSize:           u16,
    	nVersion:        u16,
    	dwFlags:         u32,
    	iPixelType:      BYTE,
    	cColorBits:      BYTE,
    	cRedBits:        BYTE,
    	cRedShift:       BYTE,
    	cGreenBits:      BYTE,
    	cGreenShift:     BYTE,
    	cBlueBits:       BYTE,
    	cBlueShift:      BYTE,
    	cAlphaBits:      BYTE,
    	cAlphaShift:     BYTE,
    	cAccumBits:      BYTE,
    	cAccumRedBits:   BYTE,
    	cAccumGreenBits: BYTE,
    	cAccumBlueBits:  BYTE,
    	cAccumAlphaBits: BYTE,
    	cDepthBits:      BYTE,
    	cStencilBits:    BYTE,
    	cAuxBuffers:     BYTE,
    	iLayerType:      BYTE,
    	bReserved:       BYTE,
    	dwLayerMask:     u32,
    	dwVisibleMask:   u32,
    	dwDamageMask:    u32,
    }

    PLUID ¶

    PLUID :: ^LUID

    POINT ¶

    POINT :: struct {
    	x: i32,
    	y: i32,
    }

    PQUOTA_LIMITS ¶

    PQUOTA_LIMITS :: struct {
    	PagedPoolLimit:        uint,
    	NonPagedPoolLimit:     uint,
    	MinimumWorkingSetSize: uint,
    	MaximumWorkingSetSize: uint,
    	PagefileLimit:         uint,
    	TimeLimit:             LARGE_INTEGER,
    }
     

    https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-quota_limits Used in LogonUserExW

    PRIVILEGE_SET ¶

    PRIVILEGE_SET :: struct {
    	PrivilegeCount: u32,
    	Control:        u32,
    	Privilege:      [1]LUID_AND_ATTRIBUTES `fmt:"v,PrivilegeCount"`,
    }

    PROCESS_INFORMATION ¶

    PROCESS_INFORMATION :: struct {
    	hProcess:    HANDLE,
    	hThread:     HANDLE,
    	dwProcessId: u32,
    	dwThreadId:  u32,
    }

    PROFILEINFOW ¶

    PROFILEINFOW :: struct {
    	dwSize:        u32,
    	dwFlags:       u32,
    	lpUserName:    ^u32,
    	lpProfilePath: ^u32,
    	lpDefaultPath: ^u32,
    	lpServerName:  ^u32,
    	lpPolicyPath:  ^u32,
    	hProfile:      HANDLE,
    }

    PROPERTYKEY ¶

    PROPERTYKEY :: struct {
    	fmtid: GUID,
    	pid:   u32,
    }

    PROPVARIANT ¶

    PROPVARIANT :: struct {
    	decVal: DECIMAL,
    }
     

    NOTE(ftphikari): bigger definition of this struct is ignored

    Related Procedures With Parameters

    PSCODE ¶

    PSCODE :: ^i32

    PSECURITY_DESCRIPTOR ¶

    PSECURITY_DESCRIPTOR :: rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    PSID ¶

    PSID :: rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    PSIZE ¶

    PSIZE :: ^SIZE

    PSIZE_T ¶

    PSIZE_T :: ^uint

    PTIMERAPCROUTINE ¶

    PTIMERAPCROUTINE :: proc "c" (lpArgToCompletionRoutine: rawptr, dwTimerLowValue, dwTimerHighValue: u32)

    PUINT ¶

    PUINT :: ^u32

    PULONG ¶

    PULONG :: ^u32

    PULONG_PTR ¶

    PULONG_PTR :: ^uint

    PUSHORT ¶

    PUSHORT :: ^u16

    PVECTORED_EXCEPTION_HANDLER ¶

    PVECTORED_EXCEPTION_HANDLER :: proc "c" (ExceptionInfo: ^EXCEPTION_POINTERS) -> i32

    PVOID ¶

    PVOID :: rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    Parity ¶

    Parity :: enum u8 {
    	None  = 0, 
    	Odd   = 1, 
    	Even  = 2, 
    	Mark  = 3, 
    	Space = 4, 
    }

    QWORD ¶

    QWORD :: u64

    READ_DIRECTORY_NOTIFY_INFORMATION_CLASS ¶

    READ_DIRECTORY_NOTIFY_INFORMATION_CLASS :: enum i32 {
    	ReadDirectoryNotifyInformation         = 1, 
    	ReadDirectoryNotifyExtendedInformation, 
    	ReadDirectoryNotifyFullInformation, 
    	ReadDirectoryNotifyMaximumInformation, 
    }

    REASON_CONTEXT ¶

    REASON_CONTEXT :: struct {
    	Version: u32,
    	Flags:   u32,
    	Reason:  struct #raw_union {
    		Detailed:           struct {
    			LocalizedReasonModule: HMODULE,
    			LocalizedReasonId:     u32,
    			ReasonStringCount:     u32,
    			ReasonStrings:         [^]^u32 `fmt:"v,ReasonStringCount"`,
    		},
    		SimpleReasonString: ^u32,
    	},
    }

    RECT ¶

    RECT :: struct {
    	// / Minimum X coordinate of the rectangle.
    	left:   i32,
    	// / Minimum Y coordinate of the rectangle.
    	top:    i32,
    	// / Maximum X coordinate of the rectangle.
    	right:  i32,
    	// / Maximum Y coordinate of the rectangle.
    	bottom: i32,
    }

    REFPROPVARIANT ¶

    REFPROPVARIANT :: ^PROPVARIANT
    Related Procedures With Parameters

    REGSAM ¶

    REGSAM :: u32
    Related Procedures With Parameters

    REPARSE_DATA_BUFFER ¶

    REPARSE_DATA_BUFFER :: struct {
    	ReparseTag:        u32,
    	ReparseDataLength: u16,
    	Reserved:          u16,
    	rest:              [0]u8,
    }

    REPARSE_MOUNTPOINT_DATA_BUFFER ¶

    REPARSE_MOUNTPOINT_DATA_BUFFER :: struct {
    	ReparseTag:                 u32,
    	ReparseDataLength:          u32,
    	Reserved:                   u16,
    	ReparseTargetLength:        u16,
    	ReparseTargetMaximumLength: u16,
    	Reserved1:                  u16,
    	ReparseTarget:              u32,
    }

    RGBQUAD ¶

    RGBQUAD :: struct {
    	rgbBlue:     BYTE,
    	rgbGreen:    BYTE,
    	rgbRed:      BYTE,
    	rgbReserved: BYTE,
    }

    RTS_Control ¶

    RTS_Control :: enum u8 {
    	Disable   = 0, 
    	Enable    = 1, 
    	Handshake = 2, 
    	Toggle    = 3, 
    }

    SCODE ¶

    SCODE :: i32
    Related Procedures With Parameters

    SECURITY_ATTRIBUTES ¶

    SECURITY_ATTRIBUTES :: struct {
    	nLength:              u32,
    	lpSecurityDescriptor: rawptr,
    	bInheritHandle:       BOOL,
    }

    SECURITY_IMPERSONATION_LEVEL ¶

    SECURITY_IMPERSONATION_LEVEL :: enum int {
    	SecurityAnonymous, 
    	SecurityIdentification, 
    	SecurityImpersonation, 
    	SecurityDelegation, 
    }

    SECURITY_INFORMATION ¶

    SECURITY_INFORMATION :: u32
    Related Procedures With Parameters

    SFGAOF ¶

    SFGAOF :: u32
    Related Procedures With Parameters

    SHCONTF ¶

    SHCONTF :: u32
    Related Procedures With Parameters

    SHELLEXECUTEINFOW ¶

    SHELLEXECUTEINFOW :: struct {
    	cbSize:         u32,
    	// in, required, sizeof of this structure
    	fMask:          u32,
    	// in, SEE_MASK_XXX values
    	hwnd:           HWND,
    	// in, optional
    	lpVerb:         cstring16,
    	// in, optional when unspecified the default verb is choosen
    	lpFile:         cstring16,
    	// in, either this value or lpIDList must be specified
    	lpParameters:   cstring16,
    	// in, optional
    	lpDirectory:    cstring16,
    	// in, optional
    	nShow:          i32,
    	// in, required
    	hInstApp:       HANDLE,
    	// out when SEE_MASK_NOCLOSEPROCESS is specified
    	lpIDList:       rawptr,
    	// in, valid when SEE_MASK_IDLIST is specified, PCIDLIST_ABSOLUTE, for use with SEE_MASK_IDLIST & SEE_MASK_INVOKEIDLIST
    	lpClass:        cstring16,
    	// in, valid when SEE_MASK_CLASSNAME is specified
    	hkeyClass:      HKEY,
    	// in, valid when SEE_MASK_CLASSKEY is specified
    	dwHotKey:       u32,
    	// in, valid when SEE_MASK_HOTKEY is specified
    	using DUMMYUNIONNAME: struct #raw_union {
    		hIcon:    HANDLE,
    		// not used
    		hMonitor: HANDLE,
    	},
    	hProcess:       HANDLE,
    }

    SHFILEOPSTRUCTW ¶

    SHFILEOPSTRUCTW :: struct {
    	hwnd:                  HWND,
    	wFunc:                 u32,
    	pFrom:                 cstring16,
    	pTo:                   cstring16,
    	fFlags:                u16,
    	fAnyOperationsAborted: BOOL,
    	hNameMappings:         rawptr,
    	lpszProgressTitle:     cstring16,
    }

    SHORT ¶

    SHORT :: i16

    SIATTRIBFLAGS ¶

    SIATTRIBFLAGS :: enum i32 {
    	AND       = 1, 
    	OR        = 2, 
    	APPCOMPAT = 3, 
    	MASK      = 3, 
    	ALLITEMS  = 16384, 
    }

    SICHINTF ¶

    SICHINTF :: u32
    Related Procedures With Parameters

    SID ¶

    SID :: struct #packed {
    	Revision:            u8,
    	SubAuthorityCount:   u8,
    	IdentifierAuthority: SID_IDENTIFIER_AUTHORITY,
    	SubAuthority:        [15]u32,
    }
     

    https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-sid

    SID_IDENTIFIER_AUTHORITY ¶

    SID_IDENTIFIER_AUTHORITY :: struct #packed {
    	Value: [6]u8,
    }

    SIGDN ¶

    SIGDN :: enum i32 {
    	NORMALDISPLAY               = 0, 
    	PARENTRELATIVEPARSING       = -2147835343, // 0x80018001
    	DESKTOPABSOLUTEPARSING      = -2147139808, // 0x80028000
    	PARENTRELATIVEEDITING       = -2147822943, // 0x80031001
    	DESKTOPABSOLUTEEDITING      = -2147712352, // 0x8004c000
    	FILESYSPATH                 = -2147213200, // 0x80058000
    	URL                         = -2147507664, // 0x80068000
    	PARENTRELATIVEFORADDRESSBAR = -2146795743, // 0x8007c001
    	PARENTRELATIVE              = -2146599359, // 0x80080001
    	PARENTRELATIVEFORUI         = -2146787439, // 0x80094001
    }

    SIZE ¶

    SIZE :: struct {
    	cx: i32,
    	cy: i32,
    }

    SIZE_T ¶

    SIZE_T :: uint
    Related Procedures With Parameters

    SMALL_RECT ¶

    SMALL_RECT :: struct {
    	Left:   i16,
    	Top:    i16,
    	Right:  i16,
    	Bottom: i16,
    }

    SOCKADDR ¶

    SOCKADDR :: struct {
    	sa_family: u16,
    	sa_data:   [14]u8,
    }

    SOCKADDR_STORAGE_LH ¶

    SOCKADDR_STORAGE_LH :: struct {
    	ss_family:  u16,
    	__ss_pad1:  [6]u8,
    	__ss_align: i64,
    	__ss_pad2:  [112]u8,
    }

    SOCKET ¶

    SOCKET :: distinct uintptr
     

    TODO

    Related Constants

    SRWLOCK ¶

    SRWLOCK :: struct {
    	ptr: rawptr,
    }
    Related Constants

    STARTUPINFOW ¶

    STARTUPINFOW :: struct {
    	cb:              u32,
    	lpReserved:      ^u32,
    	lpDesktop:       ^u32,
    	lpTitle:         ^u32,
    	dwX:             u32,
    	dwY:             u32,
    	dwXSize:         u32,
    	dwYSize:         u32,
    	dwXCountChars:   u32,
    	dwYCountChars:   u32,
    	dwFillAttribute: u32,
    	dwFlags:         u32,
    	wShowWindow:     u16,
    	cbReserved2:     u16,
    	lpReserved2:     ^BYTE,
    	hStdInput:       HANDLE,
    	hStdOutput:      HANDLE,
    	hStdError:       HANDLE,
    }

    STATSTG ¶

    STATSTG :: struct {
    	pwcsName:          cstring16,
    	type:              u32,
    	cbSize:            ULARGE_INTEGER,
    	mtime:             FILETIME,
    	ctime:             FILETIME,
    	atime:             FILETIME,
    	grfMode:           u32,
    	grfLocksSupported: u32,
    	clsid:             GUID,
    	grfStateBits:      u32,
    	reserved:          u32,
    }

    SUBCLASSPROC ¶

    SUBCLASSPROC :: proc "c" (HWND, u32, uintptr, int, uintptr, uint) -> int
    SYMBOLIC_LINK_REPARSE_BUFFER :: struct {
    	SubstituteNameOffset: u16,
    	SubstituteNameLength: u16,
    	PrintNameOffset:      u16,
    	PrintNameLength:      u16,
    	Flags:                u32,
    	PathBuffer:           u32,
    }

    SYSTEMTIME ¶

    SYSTEMTIME :: struct {
    	year:         u16,
    	month:        u16,
    	day_of_week:  u16,
    	day:          u16,
    	hour:         u16,
    	minute:       u16,
    	second:       u16,
    	milliseconds: u16,
    }

    SYSTEM_INFO ¶

    SYSTEM_INFO :: struct {
    	using _:                     struct #raw_union {
    		dwOemID: u32,
    		using _: struct #raw_union {
    			wProcessorArchitecture: u16,
    			wReserved:              u16,
    		},
    	},
    	dwPageSize:                  u32,
    	lpMinimumApplicationAddress: rawptr,
    	lpMaximumApplicationAddress: rawptr,
    	dwActiveProcessorMask:       uint,
    	dwNumberOfProcessors:        u32,
    	dwProcessorType:             u32,
    	dwAllocationGranularity:     u32,
    	wProcessorLevel:             u16,
    	wProcessorRevision:          u16,
    }
     

    https://docs.microsoft.com/en-gb/windows/win32/api/sysinfoapi/ns-sysinfoapi-system_info

    Stop_Bits ¶

    Stop_Bits :: enum u8 {
    	One            = 0, 
    	One_And_A_Half = 1, 
    	Two            = 2, 
    }

    TBPFLAG ¶

    TBPFLAG :: enum i32 {
    	NOPROGRESS    = 0, 
    	INDETERMINATE = 1, 
    	NORMAL        = 2, 
    	ERROR         = 4, 
    	PAUSED        = 8, 
    }

    TEXTMETRICW ¶

    TEXTMETRICW :: struct {
    	tmHeight:           i32,
    	tmAscent:           i32,
    	tmDescent:          i32,
    	tmInternalLeading:  i32,
    	tmExternalLeading:  i32,
    	tmAveCharWidth:     i32,
    	tmMaxCharWidth:     i32,
    	tmWeight:           i32,
    	tmOverhang:         i32,
    	tmDigitizedAspectX: i32,
    	tmDigitizedAspectY: i32,
    	tmFirstChar:        u32,
    	tmLastChar:         u32,
    	tmDefaultChar:      u32,
    	tmBreakChar:        u32,
    	tmItalic:           BYTE,
    	tmUnderlined:       BYTE,
    	tmStruckOut:        BYTE,
    	tmPitchAndFamily:   BYTE,
    	tmCharSet:          BYTE,
    }

    THUMBBUTTON ¶

    THUMBBUTTON :: struct {
    	dwMask:  THUMBBUTTONMASK,
    	iId:     u32,
    	iBitmap: u32,
    	hIcon:   HICON,
    	szTip:   [260]u32,
    	dwFlags: THUMBBUTTONFLAGS,
    }

    THUMBBUTTONFLAGS ¶

    THUMBBUTTONFLAGS :: enum i32 {
    	ENABLED        = 0, 
    	DISABLED       = 1, 
    	DISMISSONCLICK = 2, 
    	NOBACKGROUND   = 4, 
    	HIDDEN         = 8, 
    	NONINTERACTIVE = 16, 
    }

    THUMBBUTTONMASK ¶

    THUMBBUTTONMASK :: enum i32 {
    	BITMAP  = 1, 
    	ICON    = 2, 
    	TOOLTIP = 4, 
    	FLAGS   = 8, 
    }

    TIMERPROC ¶

    TIMERPROC :: proc "c" (HWND, u32, uintptr, u32)

    TIME_ZONE_INFORMATION ¶

    TIME_ZONE_INFORMATION :: struct {
    	Bias:         i32,
    	StandardName: [32]u32,
    	StandardDate: SYSTEMTIME,
    	StandardBias: i32,
    	DaylightName: [32]u32,
    	DaylightDate: SYSTEMTIME,
    	DaylightBias: i32,
    }

    TRACKMOUSEEVENT ¶

    TRACKMOUSEEVENT :: struct {
    	cbSize:      u32,
    	dwFlags:     u32,
    	hwndTrack:   HWND,
    	dwHoverTime: u32,
    }

    UINT ¶

    UINT :: u32
    Related Procedures With Parameters

    UINT16 ¶

    UINT16 :: u16

    UINT32 ¶

    UINT32 :: u32
    Related Procedures With Parameters

    UINT64 ¶

    UINT64 :: u64

    UINT8 ¶

    UINT8 :: u8

    ULARGE_INTEGER ¶

    ULARGE_INTEGER :: distinct u64

    ULONG ¶

    ULONG :: u32
    Related Procedures With Parameters

    ULONG32 ¶

    ULONG32 :: u32
    Related Procedures With Parameters

    ULONG64 ¶

    ULONG64 :: u64

    ULONGLONG ¶

    ULONGLONG :: u64

    ULONG_PTR ¶

    ULONG_PTR :: uint
    Related Procedures With Parameters

    UNICODE_STRING ¶

    UNICODE_STRING :: struct {
    	Length:        u16 `fmt:"-"`,
    	MaximumLength: u16 `fmt:"-"`,
    	Buffer:        [^]u16 `fmt:"s,Length"`,
    }

    USER_INFO_1 ¶

    USER_INFO_1 :: struct #packed {
    	name:         ^u32,
    	password:     ^u32,
    	// Max password length is defined in LM20_PWLEN.
    	password_age: u32,
    	priv:         USER_PRIV,
    	home_dir:     ^u32,
    	comment:      ^u32,
    	flags:        USER_INFO_FLAGS,
    	script_path:  ^u32,
    }

    USER_INFO_FLAG ¶

    USER_INFO_FLAG :: enum u32 {
    	Script                          = 0,  // 1 <<  0: 0x0001,
    	AccountDisable                  = 1,  // 1 <<  1: 0x0002,
    	HomeDir_Required                = 3,  // 1 <<  3: 0x0008,
    	Lockout                         = 4,  // 1 <<  4: 0x0010,
    	Passwd_NotReqd                  = 5,  // 1 <<  5: 0x0020,
    	Passwd_Cant_Change              = 6,  // 1 <<  6: 0x0040,
    	Encrypted_Text_Password_Allowed = 7,  // 1 <<  7: 0x0080,
    	Temp_Duplicate_Account          = 8,  // 1 <<  8: 0x0100,
    	Normal_Account                  = 9,  // 1 <<  9: 0x0200,
    	InterDomain_Trust_Account       = 11, // 1 << 11: 0x0800,
    	Workstation_Trust_Account       = 12, // 1 << 12: 0x1000,
    	Server_Trust_Account            = 13, // 1 << 13: 0x2000,
    }

    USER_INFO_FLAGS ¶

    USER_INFO_FLAGS :: distinct bit_set[USER_INFO_FLAG]

    USER_PRIV ¶

    USER_PRIV :: enum u32 {
    	Guest = 0, 
    	User  = 1, 
    	Admin = 2, 
    	Mask  = 3, 
    }

    USHORT ¶

    USHORT :: u16

    VOID ¶

    VOID :: rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    WCHAR ¶

    WCHAR :: u32
    Related Procedures With Parameters

    WIN32_FILE_ATTRIBUTE_DATA ¶

    WIN32_FILE_ATTRIBUTE_DATA :: struct {
    	dwFileAttributes: u32,
    	ftCreationTime:   FILETIME,
    	ftLastAccessTime: FILETIME,
    	ftLastWriteTime:  FILETIME,
    	nFileSizeHigh:    u32,
    	nFileSizeLow:     u32,
    }

    WIN32_FIND_DATAW ¶

    WIN32_FIND_DATAW :: struct {
    	dwFileAttributes:   u32,
    	ftCreationTime:     FILETIME,
    	ftLastAccessTime:   FILETIME,
    	ftLastWriteTime:    FILETIME,
    	nFileSizeHigh:      u32,
    	nFileSizeLow:       u32,
    	dwReserved0:        u32,
    	dwReserved1:        u32,
    	cFileName:          [260]u32,
    	cAlternateFileName: [14]u32,
    }

    WINDOWPOS ¶

    WINDOWPOS :: struct {
    	hwnd:            HWND,
    	hwndInsertAfter: HWND,
    	x:               i32,
    	y:               i32,
    	cx:              i32,
    	cy:              i32,
    	flags:           u32,
    }

    WINDOW_BUFFER_SIZE_RECORD ¶

    WINDOW_BUFFER_SIZE_RECORD :: struct {
    	dwSize: COORD,
    }

    WINEVENTPROC ¶

    WINEVENTPROC :: proc "c" (hWinEventHook: HWINEVENTHOOK, event: u32, hwnd: HWND, idObject, idChild: i32, idEventThread, dwmsEventTime: u32)

    WNDCLASSA ¶

    WNDCLASSA :: struct {
    	style:         u32,
    	lpfnWndProc:   WNDPROC,
    	cbClsExtra:    i32,
    	cbWndExtra:    i32,
    	hInstance:     HANDLE,
    	hIcon:         HICON,
    	hCursor:       HCURSOR,
    	hbrBackground: HBRUSH,
    	lpszMenuName:  cstring,
    	lpszClassName: cstring,
    }

    WNDCLASSEXA ¶

    WNDCLASSEXA :: struct {
    	cbSize:        u32,
    	style:         u32,
    	lpfnWndProc:   WNDPROC,
    	cbClsExtra:    i32,
    	cbWndExtra:    i32,
    	hInstance:     HANDLE,
    	hIcon:         HICON,
    	hCursor:       HCURSOR,
    	hbrBackground: HBRUSH,
    	lpszMenuName:  cstring,
    	lpszClassName: cstring,
    	hIconSm:       HICON,
    }

    WNDCLASSEXW ¶

    WNDCLASSEXW :: struct {
    	cbSize:        u32,
    	style:         u32,
    	lpfnWndProc:   WNDPROC,
    	cbClsExtra:    i32,
    	cbWndExtra:    i32,
    	hInstance:     HANDLE,
    	hIcon:         HICON,
    	hCursor:       HCURSOR,
    	hbrBackground: HBRUSH,
    	lpszMenuName:  cstring16,
    	lpszClassName: cstring16,
    	hIconSm:       HICON,
    }

    WNDCLASSW ¶

    WNDCLASSW :: struct {
    	style:         u32,
    	lpfnWndProc:   WNDPROC,
    	cbClsExtra:    i32,
    	cbWndExtra:    i32,
    	hInstance:     HANDLE,
    	hIcon:         HICON,
    	hCursor:       HCURSOR,
    	hbrBackground: HBRUSH,
    	lpszMenuName:  cstring16,
    	lpszClassName: cstring16,
    }

    WNDPROC ¶

    WNDPROC :: proc "c" (HWND, u32, uintptr, int) -> int

    WSABUF ¶

    WSABUF :: struct {
    	len: u32,
    	buf: [^]u8 `fmt"q,len"`,
    }

    WSADATA ¶

    WSADATA :: struct {
    	wVersion:       u16,
    	wHighVersion:   u16,
    	iMaxSockets:    u16,
    	iMaxUdpDg:      u16,
    	lpVendorInfo:   ^u8,
    	szDescription:  [257]u8,
    	szSystemStatus: [129]u8,
    }

    WSAOVERLAPPED ¶

    WSAOVERLAPPED :: struct {
    	Internal:     u32,
    	InternalHigh: u32,
    	Offset:       u32,
    	OffsetHigh:   u32,
    	hEvent:       HANDLE,
    }

    WSAPROTOCOLCHAIN ¶

    WSAPROTOCOLCHAIN :: struct {
    	ChainLen:     i32,
    	ChainEntries: [7]u32 `fmt:"v,ChainLen"`,
    }

    WSAPROTOCOL_INFO ¶

    WSAPROTOCOL_INFO :: struct {
    	dwServiceFlags1:    u32,
    	dwServiceFlags2:    u32,
    	dwServiceFlags3:    u32,
    	dwServiceFlags4:    u32,
    	dwProviderFlags:    u32,
    	ProviderId:         GUID,
    	dwCatalogEntryId:   u32,
    	ProtocolChain:      WSAPROTOCOLCHAIN,
    	iVersion:           i32,
    	iAddressFamily:     i32,
    	iMaxSockAddr:       i32,
    	iMinSockAddr:       i32,
    	iSocketType:        i32,
    	iProtocol:          i32,
    	iProtocolMaxOffset: i32,
    	iNetworkByteOrder:  i32,
    	iSecurityScheme:    i32,
    	dwMessageSize:      u32,
    	dwProviderReserved: u32,
    	szProtocol:         [256]u16,
    }

    Windows_Product_Type ¶

    Windows_Product_Type :: enum u32 {
    	BUSINESS                            = 6,   // Business
    	BUSINESS_N                          = 16,  // Business N
    	CLUSTER_SERVER                      = 18,  // HPC Edition
    	CLUSTER_SERVER_V                    = 64,  // Server Hyper Core V
    	CORE                                = 101, // Windows 10 Home
    	CORE_COUNTRYSPECIFIC                = 99,  // Windows 10 Home China
    	CORE_N                              = 98,  // Windows 10 Home N
    	CORE_SINGLELANGUAGE                 = 100, // Windows 10 Home Single Language
    	DATACENTER_EVALUATION_SERVER        = 80,  // Server Datacenter (evaluation installation)
    	DATACENTER_A_SERVER_CORE            = 145, // Server Datacenter, Semi-Annual Channel (core installation)
    	STANDARD_A_SERVER_CORE              = 146, // Server Standard, Semi-Annual Channel (core installation)
    	DATACENTER_SERVER                   = 8,   // Server Datacenter (full installation. For Server Core installations of Windows Server 2012 and later, use the method, Determining whether Server Core is running.)
    	DATACENTER_SERVER_CORE              = 12,  // Server Datacenter (core installation, Windows Server 2008 R2 and earlier)
    	DATACENTER_SERVER_CORE_V            = 39,  // Server Datacenter without Hyper-V (core installation)
    	DATACENTER_SERVER_V                 = 37,  // Server Datacenter without Hyper-V (full installation)
    	EDUCATION                           = 121, // Windows 10 Education
    	EDUCATION_N                         = 122, // Windows 10 Education N
    	ENTERPRISE                          = 4,   // Windows 10 Enterprise
    	ENTERPRISE_E                        = 70,  // Windows 10 Enterprise E
    	ENTERPRISE_EVALUATION               = 72,  // Windows 10 Enterprise Evaluation
    	ENTERPRISE_N                        = 27,  // Windows 10 Enterprise N
    	ENTERPRISE_N_EVALUATION             = 84,  // Windows 10 Enterprise N Evaluation
    	ENTERPRISE_S                        = 125, // Windows 10 Enterprise 2015 LTSB
    	ENTERPRISE_S_EVALUATION             = 129, // Windows 10 Enterprise 2015 LTSB Evaluation
    	ENTERPRISE_S_N                      = 126, // Windows 10 Enterprise 2015 LTSB N
    	ENTERPRISE_S_N_EVALUATION           = 130, // Windows 10 Enterprise 2015 LTSB N Evaluation
    	ENTERPRISE_SERVER                   = 10,  // Server Enterprise (full installation)
    	ENTERPRISE_SERVER_CORE              = 14,  // Server Enterprise (core installation)
    	ENTERPRISE_SERVER_CORE_V            = 41,  // Server Enterprise without Hyper-V (core installation)
    	ENTERPRISE_SERVER_IA64              = 15,  // Server Enterprise for Itanium-based Systems
    	ENTERPRISE_SERVER_V                 = 38,  // Server Enterprise without Hyper-V (full installation)
    	ESSENTIALBUSINESS_SERVER_ADDL       = 60,  // Windows Essential Server Solution Additional
    	ESSENTIALBUSINESS_SERVER_ADDLSVC    = 62,  // Windows Essential Server Solution Additional SVC
    	ESSENTIALBUSINESS_SERVER_MGMT       = 59,  // Windows Essential Server Solution Management
    	ESSENTIALBUSINESS_SERVER_MGMTSVC    = 61,  // Windows Essential Server Solution Management SVC
    	HOME_BASIC                          = 2,   // Home Basic
    	HOME_BASIC_E                        = 67,  // Not supported
    	HOME_BASIC_N                        = 5,   // Home Basic N
    	HOME_PREMIUM                        = 3,   // Home Premium
    	HOME_PREMIUM_E                      = 68,  // Not supported
    	HOME_PREMIUM_N                      = 26,  // Home Premium N
    	HOME_PREMIUM_SERVER                 = 34,  // Windows Home Server 2011
    	HOME_SERVER                         = 19,  // Windows Storage Server 2008 R2 Essentials
    	HYPERV                              = 42,  // Microsoft Hyper-V Server
    	IOTENTERPRISE                       = 188, // Windows IoT Enterprise
    	IOTENTERPRISE_S                     = 191, // Windows IoT Enterprise LTSC
    	IOTUAP                              = 123, // Windows 10 IoT Core
    	IOTUAPCOMMERCIAL                    = 131, // Windows 10 IoT Core Commercial
    	MEDIUMBUSINESS_SERVER_MANAGEMENT    = 30,  // Windows Essential Business Server Management Server
    	MEDIUMBUSINESS_SERVER_MESSAGING     = 32,  // Windows Essential Business Server Messaging Server
    	MEDIUMBUSINESS_SERVER_SECURITY      = 31,  // Windows Essential Business Server Security Server
    	MOBILE_CORE                         = 104, // Windows 10 Mobile
    	MOBILE_ENTERPRISE                   = 133, // Windows 10 Mobile Enterprise
    	MULTIPOINT_PREMIUM_SERVER           = 77,  // Windows MultiPoint Server Premium (full installation)
    	MULTIPOINT_STANDARD_SERVER          = 76,  // Windows MultiPoint Server Standard (full installation)
    	PRO_WORKSTATION                     = 161, // Windows 10 Pro for Workstations
    	PRO_WORKSTATION_N                   = 162, // Windows 10 Pro for Workstations N
    	PROFESSIONAL                        = 48,  // Windows 10 Pro
    	PROFESSIONAL_E                      = 69,  // Not supported
    	PROFESSIONAL_N                      = 49,  // Windows 10 Pro N
    	PROFESSIONAL_WMC                    = 103, // Professional with Media Center
    	SB_SOLUTION_SERVER                  = 50,  // Windows Small Business Server 2011 Essentials
    	SB_SOLUTION_SERVER_EM               = 54,  // Server For SB Solutions EM
    	SERVER_FOR_SB_SOLUTIONS             = 51,  // Server For SB Solutions
    	SERVER_FOR_SB_SOLUTIONS_EM          = 55,  // Server For SB Solutions EM
    	SERVER_FOR_SMALLBUSINESS            = 24,  // Windows Server 2008 for Windows Essential Server Solutions
    	SERVER_FOR_SMALLBUSINESS_V          = 35,  // Windows Server 2008 without Hyper-V for Windows Essential Server Solutions
    	SERVER_FOUNDATION                   = 33,  // Server Foundation
    	SMALLBUSINESS_SERVER                = 9,   // Windows Small Business Server
    	SMALLBUSINESS_SERVER_PREMIUM        = 25,  // Small Business Server Premium
    	SMALLBUSINESS_SERVER_PREMIUM_CORE   = 63,  // Small Business Server Premium (core installation)
    	SOLUTION_EMBEDDEDSERVER             = 56,  // Windows MultiPoint Server
    	STANDARD_EVALUATION_SERVER          = 79,  // Server Standard (evaluation installation)
    	STANDARD_SERVER                     = 7,   // Server Standard (full installation. For Server Core installations of Windows Server 2012 and later, use the method, Determining whether Server Core is running.)
    	STANDARD_SERVER_CORE                = 13,  // Server Standard (core installation, Windows Server 2008 R2 and earlier)
    	STANDARD_SERVER_CORE_V              = 40,  // Server Standard without Hyper-V (core installation)
    	STANDARD_SERVER_V                   = 36,  // Server Standard without Hyper-V
    	STANDARD_SERVER_SOLUTIONS           = 52,  // Server Solutions Premium
    	STANDARD_SERVER_SOLUTIONS_CORE      = 53,  // Server Solutions Premium (core installation)
    	STARTER                             = 11,  // Starter
    	STARTER_E                           = 66,  // Not supported
    	STARTER_N                           = 47,  // Starter N
    	STORAGE_ENTERPRISE_SERVER           = 23,  // Storage Server Enterprise
    	STORAGE_ENTERPRISE_SERVER_CORE      = 46,  // Storage Server Enterprise (core installation)
    	STORAGE_EXPRESS_SERVER              = 20,  // Storage Server Express
    	STORAGE_EXPRESS_SERVER_CORE         = 43,  // Storage Server Express (core installation)
    	STORAGE_STANDARD_EVALUATION_SERVER  = 96,  // Storage Server Standard (evaluation installation)
    	STORAGE_STANDARD_SERVER             = 21,  // Storage Server Standard
    	STORAGE_STANDARD_SERVER_CORE        = 44,  // Storage Server Standard (core installation)
    	STORAGE_WORKGROUP_EVALUATION_SERVER = 95,  // Storage Server Workgroup (evaluation installation)
    	STORAGE_WORKGROUP_SERVER            = 22,  // Storage Server Workgroup
    	STORAGE_WORKGROUP_SERVER_CORE       = 45,  // Storage Server Workgroup (core installation)
    	ULTIMATE                            = 1,   // Ultimate
    	ULTIMATE_E                          = 71,  // Not supported
    	ULTIMATE_N                          = 28,  // Ultimate N
    	UNDEFINED                           = 0,   // An unknown product
    	WEB_SERVER                          = 17,  // Web Server (full installation)
    	WEB_SERVER_CORE                     = 29,  // Web Server (core installation)
    }

    XSAVE_FORMAT ¶

    XSAVE_FORMAT :: struct #align (16) {
    	ControlWord:    u16,
    	StatusWord:     u16,
    	TagWord:        BYTE,
    	Reserved1:      BYTE,
    	ErrorOpcode:    u16,
    	ErrorOffset:    u32,
    	ErrorSelector:  u16,
    	Reserved2:      u16,
    	DataOffset:     u32,
    	DataSelector:   u16,
    	Reserved3:      u16,
    	MxCsr:          u32,
    	MxCsr_Mask:     u32,
    	FloatRegisters: [8]M128A,
    	// 64-bit specific
    	XmmRegisters:   [16]M128A,
    	Reserved4:      [96]BYTE,
    }

    c_char ¶

    c_char :: u8

    c_int ¶

    c_int :: i32
    Related Procedures With Parameters

    c_long ¶

    c_long :: i32
    Related Procedures With Parameters

    c_longlong ¶

    c_longlong :: i64
    Related Procedures With Returns

    c_short ¶

    c_short :: i16

    c_uchar ¶

    c_uchar :: u8

    c_uint ¶

    c_uint :: u32
    Related Procedures With Parameters

    c_ulong ¶

    c_ulong :: u32
    Related Procedures With Parameters

    c_ulonglong ¶

    c_ulonglong :: u64

    c_ushort ¶

    c_ushort :: u16

    fd_set ¶

    fd_set :: struct {
    	fd_count: u32,
    	fd_array: [64]SOCKET,
    }

    in6_addr ¶

    in6_addr :: struct {
    	s6_addr: [16]u8,
    }

    in_addr ¶

    in_addr :: struct {
    	s_addr: u32,
    }

    ip_mreq ¶

    ip_mreq :: struct {
    	imr_multiaddr: in_addr,
    	imr_interface: in_addr,
    }

    ipv6_mreq ¶

    ipv6_mreq :: struct {
    	ipv6mr_multiaddr: in6_addr,
    	ipv6mr_interface: u32,
    }

    size_t ¶

    size_t :: uint
    Related Procedures With Parameters

    sockaddr ¶

    sockaddr :: struct {
    	sa_family: u16,
    	sa_data:   [14]u8,
    }

    sockaddr_in ¶

    sockaddr_in :: struct {
    	sin_family: u16,
    	sin_port:   u16be,
    	sin_addr:   in_addr,
    	sin_zero:   [8]u8,
    }

    sockaddr_in6 ¶

    sockaddr_in6 :: struct {
    	sin6_family:   u16,
    	sin6_port:     u16be,
    	sin6_flowinfo: u32,
    	sin6_addr:     in6_addr,
    	sin6_scope_id: u32,
    }

    socklen_t ¶

    socklen_t :: i32
    Related Procedures With Parameters

    timeval ¶

    timeval :: struct {
    	tv_sec:  i32,
    	tv_usec: i32,
    }

    wchar_t ¶

    wchar_t :: u32
    Related Procedures With Parameters

    Constants

    ACCESS_FILTER_SECURITY_INFORMATION ¶

    ACCESS_FILTER_SECURITY_INFORMATION: int : 0x00000100

    ACS_AUTOPLAY ¶

    ACS_AUTOPLAY: int : 0x4

    ACS_CENTER ¶

    ACS_CENTER: int : 0x1
     

    Animation Control Styles

    ACS_TIMER ¶

    ACS_TIMER: int : 0x8

    ACS_TRANSPARENT ¶

    ACS_TRANSPARENT: int : 0x2

    AF_BTH ¶

    AF_BTH: i32 : 32
     

    Bluetooth

    AF_INET ¶

    AF_INET: i32 : 2
     

    IPv4

    AF_INET6 ¶

    AF_INET6: i32 : 23
     

    IPv6

    AF_IRDA ¶

    AF_IRDA: i32 : 26
     

    Infrared

    AF_UNSPEC ¶

    AF_UNSPEC: i32 : 0
     

    Address families

    AI_ADDRCONFIG ¶

    AI_ADDRCONFIG: int : 0x0400

    AI_ALL ¶

    AI_ALL: int : 0x0100

    AI_CANONNAME ¶

    AI_CANONNAME: int : 0x02

    AI_FILESERVER ¶

    AI_FILESERVER: int : 0x00040000

    AI_FQDN ¶

    AI_FQDN: int : 0x00020000

    AI_NON_AUTHORITATIVE ¶

    AI_NON_AUTHORITATIVE: int : 0x04000

    AI_NUMERICHOST ¶

    AI_NUMERICHOST: int : 0x04

    AI_PASSIVE ¶

    AI_PASSIVE: int : 0x01
     

    getaddrinfo flags https://learn.microsoft.com/en-us/windows/win32/api/ws2def/ns-ws2def-addrinfoa

    AI_RETURN_PREFERRED_NAMES ¶

    AI_RETURN_PREFERRED_NAMES: int : 0x010000

    AI_SECURE ¶

    AI_SECURE: int : 0x08000

    AI_V4MAPPED ¶

    AI_V4MAPPED: int : 0x0800

    ANSI_CHARSET ¶

    ANSI_CHARSET: int : 0
     

    Character Sets

    ANSI_FIXED_FONT ¶

    ANSI_FIXED_FONT: int : 11

    ANSI_VAR_FONT ¶

    ANSI_VAR_FONT: int : 12

    ANTIALIASED_QUALITY ¶

    ANTIALIASED_QUALITY: int : 4

    ANYSIZE_ARRAY ¶

    ANYSIZE_ARRAY: int : 1

    ARABIC_CHARSET ¶

    ARABIC_CHARSET: int : 178

    ATTRIBUTE_SECURITY_INFORMATION ¶

    ATTRIBUTE_SECURITY_INFORMATION: int : 0x00000020

    AURL_DISABLEMIXEDLGC ¶

    AURL_DISABLEMIXEDLGC: int : 32
     

    Disable mixed Latin Greek Cyrillic IDNs

    AURL_ENABLEDRIVELETTERS ¶

    AURL_ENABLEDRIVELETTERS: int : 16

    AURL_ENABLEEAURLS ¶

    AURL_ENABLEEAURLS: int : 8

    AURL_ENABLEEMAILADDR ¶

    AURL_ENABLEEMAILADDR: int : 2

    AURL_ENABLETELNO ¶

    AURL_ENABLETELNO: int : 4

    AURL_ENABLEURL ¶

    AURL_ENABLEURL: int : 1

    BACKUP_SECURITY_INFORMATION ¶

    BACKUP_SECURITY_INFORMATION: int : 0x00010000

    BALTIC_CHARSET ¶

    BALTIC_CHARSET: int : 186

    BCN_DROPDOWN ¶

    BCN_DROPDOWN: u32 : BCN_FIRST + 0x0002

    BCN_FIRST ¶

    BCN_FIRST: u32 : ~DWORD(1250 - 1)

    BCN_HOTITEMCHANGE ¶

    BCN_HOTITEMCHANGE: u32 : BCN_FIRST + 0x0001
     

    Button Control Notification Codes

    BCN_LAST ¶

    BCN_LAST: u32 : ~DWORD(1350 - 1)

    BI_BITFIELDS ¶

    BI_BITFIELDS: int : 3

    BI_JPEG ¶

    BI_JPEG: int : 4

    BI_PNG ¶

    BI_PNG: int : 5

    BI_RGB ¶

    BI_RGB: int : 0
     

    constants for the biCompression field

    BI_RLE4 ¶

    BI_RLE4: int : 2

    BI_RLE8 ¶

    BI_RLE8: int : 1

    BLACKNESS ¶

    BLACKNESS: u32 : 0x00000042
     

    dest = BLACK

    BLACKONWHITE ¶

    BLACKONWHITE: int : 1
     

    StretchBlt() Modes

    BLACK_BRUSH ¶

    BLACK_BRUSH: int : 4

    BLACK_PEN ¶

    BLACK_PEN: int : 7

    BN_CLICKED ¶

    BN_CLICKED: int : 0
     

    User Button Notification Codes

    BN_DBLCLK ¶

    BN_DBLCLK: int : BN_DOUBLECLICKED

    BN_DISABLE ¶

    BN_DISABLE: int : 4

    BN_DOUBLECLICKED ¶

    BN_DOUBLECLICKED: int : 5

    BN_HILITE ¶

    BN_HILITE: int : 2

    BN_KILLFOCUS ¶

    BN_KILLFOCUS: int : 7

    BN_PAINT ¶

    BN_PAINT: int : 1

    BN_PUSHED ¶

    BN_PUSHED: int : BN_HILITE

    BN_SETFOCUS ¶

    BN_SETFOCUS: int : 6

    BN_UNHILITE ¶

    BN_UNHILITE: int : 3

    BN_UNPUSHED ¶

    BN_UNPUSHED: int : BN_UNHILITE

    BROADCAST_QUERY_DENY ¶

    BROADCAST_QUERY_DENY: int : 0x424D5144

    BSF_ALLOWSFW ¶

    BSF_ALLOWSFW: int : 0x00000080

    BSF_FLUSHDISK ¶

    BSF_FLUSHDISK: int : 0x00000004

    BSF_FORCEIFHUNG ¶

    BSF_FORCEIFHUNG: int : 0x00000020

    BSF_IGNORECURRENTTASK ¶

    BSF_IGNORECURRENTTASK: int : 0x00000002

    BSF_LUID ¶

    BSF_LUID: int : 0x00000400

    BSF_NOHANG ¶

    BSF_NOHANG: int : 0x00000008

    BSF_NOTIMEOUTIFNOTHUNG ¶

    BSF_NOTIMEOUTIFNOTHUNG: int : 0x00000040

    BSF_POSTMESSAGE ¶

    BSF_POSTMESSAGE: int : 0x00000010

    BSF_QUERY ¶

    BSF_QUERY: int : 0x00000001
     

    Broadcast Special Message Flags

    BSF_RETURNHDESK ¶

    BSF_RETURNHDESK: int : 0x00000200

    BSF_SENDNOTIFYMESSAGE ¶

    BSF_SENDNOTIFYMESSAGE: int : 0x00000100

    BSM_ALLCOMPONENTS ¶

    BSM_ALLCOMPONENTS: int : 0x00000000
     

    Broadcast Special Message Recipient list

    BSM_ALLDESKTOPS ¶

    BSM_ALLDESKTOPS: int : 0x00000010

    BSM_APPLICATIONS ¶

    BSM_APPLICATIONS: int : 0x00000008

    BSM_INSTALLABLEDRIVERS ¶

    BSM_INSTALLABLEDRIVERS: int : 0x00000004

    BSM_NETDRIVER ¶

    BSM_NETDRIVER: int : 0x00000002

    BSM_VXDS ¶

    BSM_VXDS: int : 0x00000001

    BST_CHECKED ¶

    BST_CHECKED: int : 0x0001

    BST_FOCUS ¶

    BST_FOCUS: int : 0x0008

    BST_INDETERMINATE ¶

    BST_INDETERMINATE: int : 0x0002

    BST_PUSHED ¶

    BST_PUSHED: int : 0x0004

    BST_UNCHECKED ¶

    BST_UNCHECKED: int : 0x0000
     

    Button Control Messages

    BS_3STATE ¶

    BS_3STATE: int : 0x00000005

    BS_AUTO3STATE ¶

    BS_AUTO3STATE: int : 0x00000006

    BS_AUTOCHECKBOX ¶

    BS_AUTOCHECKBOX: int : 0x00000003

    BS_AUTORADIOBUTTON ¶

    BS_AUTORADIOBUTTON: int : 0x00000009

    BS_BITMAP ¶

    BS_BITMAP: int : 0x00000080

    BS_BOTTOM ¶

    BS_BOTTOM: int : 0x00000800

    BS_CENTER ¶

    BS_CENTER: int : 0x00000300

    BS_CHECKBOX ¶

    BS_CHECKBOX: int : 0x00000002
    BS_COMMANDLINK: int : 0x0000000E
    BS_DEFCOMMANDLINK: int : 0x0000000F

    BS_DEFPUSHBUTTON ¶

    BS_DEFPUSHBUTTON: int : 0x00000001

    BS_DEFSPLITBUTTON ¶

    BS_DEFSPLITBUTTON: int : 0x0000000D

    BS_FLAT ¶

    BS_FLAT: int : 0x00008000

    BS_GROUPBOX ¶

    BS_GROUPBOX: int : 0x00000007

    BS_ICON ¶

    BS_ICON: int : 0x00000040

    BS_LEFT ¶

    BS_LEFT: int : 0x00000100

    BS_LEFTTEXT ¶

    BS_LEFTTEXT: int : 0x00000020

    BS_MULTILINE ¶

    BS_MULTILINE: int : 0x00002000

    BS_NOTIFY ¶

    BS_NOTIFY: int : 0x00004000

    BS_OWNERDRAW ¶

    BS_OWNERDRAW: int : 0x0000000B

    BS_PUSHBOX ¶

    BS_PUSHBOX: int : 0x0000000A

    BS_PUSHBUTTON ¶

    BS_PUSHBUTTON: int : 0x00000000
     

    Button Control Styles

    BS_PUSHLIKE ¶

    BS_PUSHLIKE: int : 0x00001000

    BS_RADIOBUTTON ¶

    BS_RADIOBUTTON: int : 0x00000004

    BS_RIGHT ¶

    BS_RIGHT: int : 0x00000200

    BS_RIGHTBUTTON ¶

    BS_RIGHTBUTTON: int : BS_LEFTTEXT

    BS_SPLITBUTTON ¶

    BS_SPLITBUTTON: int : 0x0000000C

    BS_TEXT ¶

    BS_TEXT: int : 0x00000000

    BS_TOP ¶

    BS_TOP: int : 0x00000400

    BS_TYPEMASK ¶

    BS_TYPEMASK: int : 0x0000000F

    BS_USERBUTTON ¶

    BS_USERBUTTON: int : 0x00000008

    BS_VCENTER ¶

    BS_VCENTER: int : 0x00000C00

    BTHPROTO_RFCOMM ¶

    BTHPROTO_RFCOMM: i32 : 3
     

    Bluetooth: AF_BTH + SOCK_STREAM

    BTNS_AUTOSIZE ¶

    BTNS_AUTOSIZE: int : TBSTYLE_AUTOSIZE

    BTNS_BUTTON ¶

    BTNS_BUTTON: int : TBSTYLE_BUTTON
     

    Toolbar Button Styles (Aliases)

    BTNS_CHECK ¶

    BTNS_CHECK: int : TBSTYLE_CHECK

    BTNS_CHECKGROUP ¶

    BTNS_CHECKGROUP: int : TBSTYLE_CHECKGROUP

    BTNS_DROPDOWN ¶

    BTNS_DROPDOWN: int : TBSTYLE_DROPDOWN

    BTNS_GROUP ¶

    BTNS_GROUP: int : TBSTYLE_GROUP

    BTNS_NOPREFIX ¶

    BTNS_NOPREFIX: int : TBSTYLE_NOPREFIX

    BTNS_SEP ¶

    BTNS_SEP: int : TBSTYLE_SEP

    BTNS_SHOWTEXT ¶

    BTNS_SHOWTEXT: int : 0x40

    BTNS_WHOLEDROPDOWN ¶

    BTNS_WHOLEDROPDOWN: int : 0x80

    CAPTUREBLT ¶

    CAPTUREBLT: u32 : 0x40000000
     

    Include layered windows

    CBEN_FIRST ¶

    CBEN_FIRST: u32 : ~DWORD(800 - 1)

    CBEN_LAST ¶

    CBEN_LAST: u32 : ~DWORD(830 - 1)

    CBM_INIT ¶

    CBM_INIT: int : 0x04
     

    constants for CreateDIBitmap

    CBN_CLOSEUP ¶

    CBN_CLOSEUP: int : 8

    CBN_DBLCLK ¶

    CBN_DBLCLK: int : 2

    CBN_DROPDOWN ¶

    CBN_DROPDOWN: int : 7

    CBN_EDITCHANGE ¶

    CBN_EDITCHANGE: int : 5

    CBN_EDITUPDATE ¶

    CBN_EDITUPDATE: int : 6

    CBN_ERRSPACE ¶

    CBN_ERRSPACE: int : -1
     

    Combo Box Notification Codes

    CBN_KILLFOCUS ¶

    CBN_KILLFOCUS: int : 4

    CBN_SELCHANGE ¶

    CBN_SELCHANGE: int : 1

    CBN_SELENDCANCEL ¶

    CBN_SELENDCANCEL: int : 10

    CBN_SELENDOK ¶

    CBN_SELENDOK: int : 9

    CBN_SETFOCUS ¶

    CBN_SETFOCUS: int : 3

    CBS_AUTOHSCROLL ¶

    CBS_AUTOHSCROLL: int : 0x0040

    CBS_DISABLENOSCROLL ¶

    CBS_DISABLENOSCROLL: int : 0x0800

    CBS_DROPDOWN ¶

    CBS_DROPDOWN: int : 0x0002

    CBS_DROPDOWNLIST ¶

    CBS_DROPDOWNLIST: int : 0x0003

    CBS_HASSTRINGS ¶

    CBS_HASSTRINGS: int : 0x0200

    CBS_LOWERCASE ¶

    CBS_LOWERCASE: int : 0x4000

    CBS_NOINTEGRALHEIGHT ¶

    CBS_NOINTEGRALHEIGHT: int : 0x0400

    CBS_OEMCONVERT ¶

    CBS_OEMCONVERT: int : 0x0080

    CBS_OWNERDRAWFIXED ¶

    CBS_OWNERDRAWFIXED: int : 0x0010

    CBS_OWNERDRAWVARIABLE ¶

    CBS_OWNERDRAWVARIABLE: int : 0x0020

    CBS_SIMPLE ¶

    CBS_SIMPLE: int : 0x0001
     

    Combo Box styles

    CBS_SORT ¶

    CBS_SORT: int : 0x0100

    CBS_UPPERCASE ¶

    CBS_UPPERCASE: int : 0x2000

    CCHDEVICENAME ¶

    CCHDEVICENAME: int : 32

    CCS_ADJUSTABLE ¶

    CCS_ADJUSTABLE: int : 0x20

    CCS_BOTTOM ¶

    CCS_BOTTOM: int : 0x03

    CCS_LEFT ¶

    CCS_LEFT: int : CCS_VERT | CCS_TOP

    CCS_NODIVIDER ¶

    CCS_NODIVIDER: int : 0x40

    CCS_NOMOVEX ¶

    CCS_NOMOVEX: int : CCS_VERT | CCS_NOMOVEY

    CCS_NOMOVEY ¶

    CCS_NOMOVEY: int : 0x02

    CCS_NOPARENTALIGN ¶

    CCS_NOPARENTALIGN: int : 0x08

    CCS_NORESIZE ¶

    CCS_NORESIZE: int : 0x04

    CCS_RIGHT ¶

    CCS_RIGHT: int : CCS_VERT | CCS_BOTTOM

    CCS_TOP ¶

    CCS_TOP: int : 0x01
     

    Common Control Styles

    CCS_VERT ¶

    CCS_VERT: int : 0x80

    CDN_FIRST ¶

    CDN_FIRST: u32 : ~DWORD(601 - 1)

    CDN_LAST ¶

    CDN_LAST: u32 : ~DWORD(699 - 1)

    CHINESEBIG5_CHARSET ¶

    CHINESEBIG5_CHARSET: int : 136

    CLEARTYPE_NATURAL_QUALITY ¶

    CLEARTYPE_NATURAL_QUALITY: int : 6

    CLEARTYPE_QUALITY ¶

    CLEARTYPE_QUALITY: int : 5

    CLIP_CHARACTER_PRECIS ¶

    CLIP_CHARACTER_PRECIS: int : 1

    CLIP_DEFAULT_PRECIS ¶

    CLIP_DEFAULT_PRECIS: int : 0
     

    Clipping Precisions

    CLIP_DFA_DISABLE ¶

    CLIP_DFA_DISABLE: int : 4 << 4

    CLIP_EMBEDDED ¶

    CLIP_EMBEDDED: int : 8 << 4

    CLIP_LH_ANGLES ¶

    CLIP_LH_ANGLES: int : 1 << 4

    CLIP_MASK ¶

    CLIP_MASK: int : 0xf

    CLIP_STROKE_PRECIS ¶

    CLIP_STROKE_PRECIS: int : 2

    CLIP_TT_ALWAYS ¶

    CLIP_TT_ALWAYS: int : 2 << 4

    CLR_INVALID ¶

    CLR_INVALID: int : 0xFFFFFFFF

    CLSCTX_ACTIVATE_32_BIT_SERVER ¶

    CLSCTX_ACTIVATE_32_BIT_SERVER: int : CLSCTX_ACTIVATE_X86_SERVER

    CLSCTX_ACTIVATE_64_BIT_SERVER ¶

    CLSCTX_ACTIVATE_64_BIT_SERVER: int : 0x80000

    CLSCTX_ACTIVATE_AAA_AS_IU ¶

    CLSCTX_ACTIVATE_AAA_AS_IU: int : 0x800000

    CLSCTX_ACTIVATE_ARM32_SERVER ¶

    CLSCTX_ACTIVATE_ARM32_SERVER: int : 0x2000000

    CLSCTX_ACTIVATE_X86_SERVER ¶

    CLSCTX_ACTIVATE_X86_SERVER: int : 0x40000

    CLSCTX_ALL ¶

    CLSCTX_ALL: int : CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER

    CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION ¶

    CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION: int : 0x4000000

    CLSCTX_APPCONTAINER ¶

    CLSCTX_APPCONTAINER: int : 0x400000

    CLSCTX_DISABLE_AAA ¶

    CLSCTX_DISABLE_AAA: int : 0x8000

    CLSCTX_ENABLE_AAA ¶

    CLSCTX_ENABLE_AAA: int : 0x10000

    CLSCTX_ENABLE_CLOAKING ¶

    CLSCTX_ENABLE_CLOAKING: int : 0x100000

    CLSCTX_ENABLE_CODE_DOWNLOAD ¶

    CLSCTX_ENABLE_CODE_DOWNLOAD: int : 0x2000

    CLSCTX_FROM_DEFAULT_CONTEXT ¶

    CLSCTX_FROM_DEFAULT_CONTEXT: int : 0x20000

    CLSCTX_INPROC_HANDLER ¶

    CLSCTX_INPROC_HANDLER: int : 0x2

    CLSCTX_INPROC_HANDLER16 ¶

    CLSCTX_INPROC_HANDLER16: int : 0x20

    CLSCTX_INPROC_SERVER ¶

    CLSCTX_INPROC_SERVER: int : 0x1

    CLSCTX_INPROC_SERVER16 ¶

    CLSCTX_INPROC_SERVER16: int : 0x8

    CLSCTX_LOCAL_SERVER ¶

    CLSCTX_LOCAL_SERVER: int : 0x4

    CLSCTX_NO_CODE_DOWNLOAD ¶

    CLSCTX_NO_CODE_DOWNLOAD: int : 0x400

    CLSCTX_NO_CUSTOM_MARSHAL ¶

    CLSCTX_NO_CUSTOM_MARSHAL: int : 0x1000

    CLSCTX_NO_FAILURE_LOG ¶

    CLSCTX_NO_FAILURE_LOG: int : 0x4000

    CLSCTX_PS_DLL ¶

    CLSCTX_PS_DLL: int : 0x80000000

    CLSCTX_REMOTE_SERVER ¶

    CLSCTX_REMOTE_SERVER: int : 0x10

    CLSCTX_RESERVED1 ¶

    CLSCTX_RESERVED1: int : 0x40

    CLSCTX_RESERVED2 ¶

    CLSCTX_RESERVED2: int : 0x80

    CLSCTX_RESERVED3 ¶

    CLSCTX_RESERVED3: int : 0x100

    CLSCTX_RESERVED4 ¶

    CLSCTX_RESERVED4: int : 0x200

    CLSCTX_RESERVED5 ¶

    CLSCTX_RESERVED5: int : 0x800

    CLSCTX_RESERVED6 ¶

    CLSCTX_RESERVED6: int : 0x1000000

    COLORONCOLOR ¶

    COLORONCOLOR: int : 3

    COLOR_3DDKSHADOW ¶

    COLOR_3DDKSHADOW: int : 21

    COLOR_3DFACE ¶

    COLOR_3DFACE: int : COLOR_BTNFACE

    COLOR_3DHIGHLIGHT ¶

    COLOR_3DHIGHLIGHT: int : COLOR_BTNHIGHLIGHT

    COLOR_3DHILIGHT ¶

    COLOR_3DHILIGHT: int : COLOR_BTNHIGHLIGHT

    COLOR_3DLIGHT ¶

    COLOR_3DLIGHT: int : 22

    COLOR_3DSHADOW ¶

    COLOR_3DSHADOW: int : COLOR_BTNSHADOW

    COLOR_ACTIVEBORDER ¶

    COLOR_ACTIVEBORDER: int : 10

    COLOR_ACTIVECAPTION ¶

    COLOR_ACTIVECAPTION: int : 2

    COLOR_APPWORKSPACE ¶

    COLOR_APPWORKSPACE: int : 12

    COLOR_BACKGROUND ¶

    COLOR_BACKGROUND: int : 1

    COLOR_BTNFACE ¶

    COLOR_BTNFACE: int : 15

    COLOR_BTNHIGHLIGHT ¶

    COLOR_BTNHIGHLIGHT: int : 20

    COLOR_BTNHILIGHT ¶

    COLOR_BTNHILIGHT: int : COLOR_BTNHIGHLIGHT

    COLOR_BTNSHADOW ¶

    COLOR_BTNSHADOW: int : 16

    COLOR_BTNTEXT ¶

    COLOR_BTNTEXT: int : 18

    COLOR_CAPTIONTEXT ¶

    COLOR_CAPTIONTEXT: int : 9

    COLOR_DESKTOP ¶

    COLOR_DESKTOP: int : COLOR_BACKGROUND

    COLOR_GRADIENTACTIVECAPTION ¶

    COLOR_GRADIENTACTIVECAPTION: int : 27

    COLOR_GRADIENTINACTIVECAPTION ¶

    COLOR_GRADIENTINACTIVECAPTION: int : 28

    COLOR_GRAYTEXT ¶

    COLOR_GRAYTEXT: int : 17

    COLOR_HIGHLIGHT ¶

    COLOR_HIGHLIGHT: int : 13

    COLOR_HIGHLIGHTTEXT ¶

    COLOR_HIGHLIGHTTEXT: int : 14

    COLOR_HOTLIGHT ¶

    COLOR_HOTLIGHT: int : 26

    COLOR_INACTIVEBORDER ¶

    COLOR_INACTIVEBORDER: int : 11

    COLOR_INACTIVECAPTION ¶

    COLOR_INACTIVECAPTION: int : 3

    COLOR_INACTIVECAPTIONTEXT ¶

    COLOR_INACTIVECAPTIONTEXT: int : 19

    COLOR_INFOBK ¶

    COLOR_INFOBK: int : 24

    COLOR_INFOTEXT ¶

    COLOR_INFOTEXT: int : 23

    COLOR_MENU ¶

    COLOR_MENU: int : 4

    COLOR_MENUBAR ¶

    COLOR_MENUBAR: int : 30

    COLOR_MENUHILIGHT ¶

    COLOR_MENUHILIGHT: int : 29

    COLOR_MENUTEXT ¶

    COLOR_MENUTEXT: int : 7

    COLOR_SCROLLBAR ¶

    COLOR_SCROLLBAR: int : 0

    COLOR_WINDOW ¶

    COLOR_WINDOW: int : 5

    COLOR_WINDOWFRAME ¶

    COLOR_WINDOWFRAME: int : 6

    COLOR_WINDOWTEXT ¶

    COLOR_WINDOWTEXT: int : 8

    COMPLEXREGION ¶

    COMPLEXREGION: int : 3

    CONDITION_VARIABLE_INIT ¶

    CONDITION_VARIABLE_INIT :: CONDITION_VARIABLE{}

    CP_ACP ¶

    CP_ACP: int : 0
     

    default to ANSI code page

    CP_MACCP ¶

    CP_MACCP: int : 2
     

    default to MAC code page

    CP_OEMCP ¶

    CP_OEMCP: int : 1
     

    default to OEM code page

    CP_SYMBOL ¶

    CP_SYMBOL: int : 42
     

    SYMBOL translations

    CP_THREAD_ACP ¶

    CP_THREAD_ACP: int : 3
     

    current thread's ANSI code page

    CP_UTF7 ¶

    CP_UTF7: int : 65000
     

    UTF-7 translation

    CP_UTF8 ¶

    CP_UTF8: int : 65001
     

    UTF-8 translation

    CREATE_ALWAYS ¶

    CREATE_ALWAYS: u32 : 2

    CREATE_NEW ¶

    CREATE_NEW: u32 : 1

    CREATE_WAITABLE_TIMER_HIGH_RESOLUTION ¶

    CREATE_WAITABLE_TIMER_HIGH_RESOLUTION: int : 0x00000002

    CREATE_WAITABLE_TIMER_MANUAL_RESET ¶

    CREATE_WAITABLE_TIMER_MANUAL_RESET: int : 0x00000001

    CSIDL_APPDATA ¶

    CSIDL_APPDATA: int : 0x001a
     

    <user name>\Application Data

    CSIDL_COMMON_APPDATA ¶

    CSIDL_COMMON_APPDATA: int : 0x0023
     

    All Users\Application Data

    CSIDL_PROFILE ¶

    CSIDL_PROFILE: int : 0x0028
     

    <user name>\

    CS_BYTEALIGNCLIENT ¶

    CS_BYTEALIGNCLIENT: u32 : 0x1000

    CS_BYTEALIGNWINDOW ¶

    CS_BYTEALIGNWINDOW: u32 : 0x2000

    CS_CLASSDC ¶

    CS_CLASSDC: u32 : 0x0040

    CS_DBLCLKS ¶

    CS_DBLCLKS: u32 : 0x0008

    CS_DROPSHADOW ¶

    CS_DROPSHADOW: u32 : 0x0002_0000

    CS_GLOBALCLASS ¶

    CS_GLOBALCLASS: u32 : 0x4000

    CS_HREDRAW ¶

    CS_HREDRAW: u32 : 0x0002

    CS_NOCLOSE ¶

    CS_NOCLOSE: u32 : 0x0200

    CS_OWNDC ¶

    CS_OWNDC: u32 : 0x0020

    CS_PARENTDC ¶

    CS_PARENTDC: u32 : 0x0080

    CS_SAVEBITS ¶

    CS_SAVEBITS: u32 : 0x0800

    CS_VREDRAW ¶

    CS_VREDRAW: u32 : 0x0001

    CTLCOLOR_BTN ¶

    CTLCOLOR_BTN: int : 3

    CTLCOLOR_DLG ¶

    CTLCOLOR_DLG: int : 4

    CTLCOLOR_EDIT ¶

    CTLCOLOR_EDIT: int : 1

    CTLCOLOR_LISTBOX ¶

    CTLCOLOR_LISTBOX: int : 2

    CTLCOLOR_MAX ¶

    CTLCOLOR_MAX: int : 7

    CTLCOLOR_MSGBOX ¶

    CTLCOLOR_MSGBOX: int : 0
     

    Color Types

    CTLCOLOR_SCROLLBAR ¶

    CTLCOLOR_SCROLLBAR: int : 5

    CTLCOLOR_STATIC ¶

    CTLCOLOR_STATIC: int : 6

    CTRL_BREAK_EVENT ¶

    CTRL_BREAK_EVENT: u32 : 1

    CTRL_CLOSE_EVENT ¶

    CTRL_CLOSE_EVENT: u32 : 2

    CTRL_C_EVENT ¶

    CTRL_C_EVENT: u32 : 0

    CTRL_LOGOFF_EVENT ¶

    CTRL_LOGOFF_EVENT: u32 : 5

    CTRL_SHUTDOWN_EVENT ¶

    CTRL_SHUTDOWN_EVENT: u32 : 6

    CW_USEDEFAULT ¶

    CW_USEDEFAULT: i32 : -2147483648

    DACL_SECURITY_INFORMATION ¶

    DACL_SECURITY_INFORMATION: int : 0x00000004

    DC_BRUSH ¶

    DC_BRUSH: int : 18

    DC_PEN ¶

    DC_PEN: int : 19

    DEFAULT_CHARSET ¶

    DEFAULT_CHARSET: int : 1

    DEFAULT_GUI_FONT ¶

    DEFAULT_GUI_FONT: int : 17

    DEFAULT_PALETTE ¶

    DEFAULT_PALETTE: int : 15

    DEFAULT_PITCH ¶

    DEFAULT_PITCH: int : 0
     

    Font Pitches

    DEFAULT_QUALITY ¶

    DEFAULT_QUALITY: int : 0
     

    Output Qualities

    DELETE ¶

    DELETE: u32 : 0x00010000
     

    The following are masks for the predefined standard access types

    DEVICE_DEFAULT_FONT ¶

    DEVICE_DEFAULT_FONT: int : 14

    DIAGNOSTIC_REASON_DETAILED_STRING ¶

    DIAGNOSTIC_REASON_DETAILED_STRING: int : 0x00000002

    DIAGNOSTIC_REASON_NOT_SPECIFIED ¶

    DIAGNOSTIC_REASON_NOT_SPECIFIED: int : 0x80000000

    DIAGNOSTIC_REASON_SIMPLE_STRING ¶

    DIAGNOSTIC_REASON_SIMPLE_STRING: int : 0x00000001

    DIAGNOSTIC_REASON_VERSION ¶

    DIAGNOSTIC_REASON_VERSION: int : 0

    DIB_PAL_COLORS ¶

    DIB_PAL_COLORS: int : 1

    DIB_RGB_COLORS ¶

    DIB_RGB_COLORS: int : 0
     

    DIB color table identifiers

    DISABLE_NEWLINE_AUTO_RETURN ¶

    DISABLE_NEWLINE_AUTO_RETURN: u32 : 0x0008

    DKGRAY_BRUSH ¶

    DKGRAY_BRUSH: int : 3

    DLL_PROCESS_DETACH ¶

    DLL_PROCESS_DETACH: u32 : 0

    DLL_THREAD_DETACH ¶

    DLL_THREAD_DETACH: u32 : 3

    DNS_INFO_NO_RECORDS ¶

    DNS_INFO_NO_RECORDS: int : 9501

    DNS_QUERY_NO_RECURSION ¶

    DNS_QUERY_NO_RECURSION: int : 0x00000004

    DRAFT_QUALITY ¶

    DRAFT_QUALITY: int : 1

    DSTINVERT ¶

    DSTINVERT: u32 : 0x00550009
     

    dest = (NOT dest)

    DTN_FIRST ¶

    DTN_FIRST: u32 : ~DWORD(760 - 1)

    DTN_LAST ¶

    DTN_LAST: u32 : ~DWORD(799 - 1)

    DTS_APPCANPARSE ¶

    DTS_APPCANPARSE: int : 0x10

    DTS_LONGDATEFORMAT ¶

    DTS_LONGDATEFORMAT: int : 0x04

    DTS_RIGHTALIGN ¶

    DTS_RIGHTALIGN: int : 0x20

    DTS_SHORTDATECENTURYFORMAT ¶

    DTS_SHORTDATECENTURYFORMAT: int : 0x0C

    DTS_SHORTDATEFORMAT ¶

    DTS_SHORTDATEFORMAT: int : 0x00

    DTS_SHOWNONE ¶

    DTS_SHOWNONE: int : 0x02

    DTS_TIMEFORMAT ¶

    DTS_TIMEFORMAT: int : 0x09

    DTS_UPDOWN ¶

    DTS_UPDOWN: int : 0x01
     

    Date-and-Time Picker Control Styles

    DUPLICATE_SAME_ACCESS ¶

    DUPLICATE_SAME_ACCESS: u32 : 0x00000002

    EASTEUROPE_CHARSET ¶

    EASTEUROPE_CHARSET: int : 238

    ENABLE_ECHO_INPUT ¶

    ENABLE_ECHO_INPUT: u32 : 0x0004

    ENABLE_INSERT_MODE ¶

    ENABLE_INSERT_MODE: u32 : 0x0020

    ENABLE_LINE_INPUT ¶

    ENABLE_LINE_INPUT: u32 : 0x0002

    ENABLE_LVB_GRID_WORLDWIDE ¶

    ENABLE_LVB_GRID_WORLDWIDE: u32 : 0x0010

    ENABLE_MOUSE_INPUT ¶

    ENABLE_MOUSE_INPUT: u32 : 0x0010

    ENABLE_PROCESSED_INPUT ¶

    ENABLE_PROCESSED_INPUT: u32 : 0x0001

    ENABLE_PROCESSED_OUTPUT ¶

    ENABLE_PROCESSED_OUTPUT: u32 : 0x0001

    ENABLE_QUICK_EDIT_MODE ¶

    ENABLE_QUICK_EDIT_MODE: u32 : 0x0040

    ENABLE_VIRTUAL_TERMINAL_INPUT ¶

    ENABLE_VIRTUAL_TERMINAL_INPUT: u32 : 0x0200

    ENABLE_VIRTUAL_TERMINAL_PROCESSING ¶

    ENABLE_VIRTUAL_TERMINAL_PROCESSING: u32 : 0x0004

    ENABLE_WINDOW_INPUT ¶

    ENABLE_WINDOW_INPUT: u32 : 0x0008

    ENABLE_WRAP_AT_EOL_OUTPUT ¶

    ENABLE_WRAP_AT_EOL_OUTPUT: u32 : 0x0002

    ENUM_CURRENT_SETTINGS ¶

    ENUM_CURRENT_SETTINGS: u32 : 4294967295
     

    (DWORD)-1

    ENUM_REGISTRY_SETTINGS ¶

    ENUM_REGISTRY_SETTINGS: u32 : 4294967294
     

    (DWORD)-2

    EN_ALIGN_LTR_EC ¶

    EN_ALIGN_LTR_EC: int : 0x0700

    EN_ALIGN_RTL_EC ¶

    EN_ALIGN_RTL_EC: int : 0x0701

    EN_CHANGE ¶

    EN_CHANGE: int : 0x0300

    EN_ERRSPACE ¶

    EN_ERRSPACE: int : 0x0500

    EN_HSCROLL ¶

    EN_HSCROLL: int : 0x0601

    EN_KILLFOCUS ¶

    EN_KILLFOCUS: int : 0x0200

    EN_MAXTEXT ¶

    EN_MAXTEXT: int : 0x0501

    EN_SETFOCUS ¶

    EN_SETFOCUS: int : 0x0100
     

    Edit Control Notification Codes

    EN_UPDATE ¶

    EN_UPDATE: int : 0x0400

    EN_VSCROLL ¶

    EN_VSCROLL: int : 0x0602

    ERROR ¶

    ERROR: int : 0
     

    Region Flags

    ES_AUTOHSCROLL ¶

    ES_AUTOHSCROLL: int : 0x0080

    ES_AUTOVSCROLL ¶

    ES_AUTOVSCROLL: int : 0x0040

    ES_CENTER ¶

    ES_CENTER: int : 0x0001

    ES_LEFT ¶

    ES_LEFT: int : 0x0000
     

    Edit Control Styles

    ES_LOWERCASE ¶

    ES_LOWERCASE: int : 0x0010

    ES_MULTILINE ¶

    ES_MULTILINE: int : 0x0004

    ES_NOHIDESEL ¶

    ES_NOHIDESEL: int : 0x0100

    ES_NUMBER ¶

    ES_NUMBER: int : 0x2000

    ES_OEMCONVERT ¶

    ES_OEMCONVERT: int : 0x0400

    ES_PASSWORD ¶

    ES_PASSWORD: int : 0x0020

    ES_READONLY ¶

    ES_READONLY: int : 0x0800

    ES_RIGHT ¶

    ES_RIGHT: int : 0x0002

    ES_UPPERCASE ¶

    ES_UPPERCASE: int : 0x0008

    ES_WANTRETURN ¶

    ES_WANTRETURN: int : 0x1000

    EXCEPTION_ACCESS_VIOLATION ¶

    EXCEPTION_ACCESS_VIOLATION: int : 0xC0000005

    EXCEPTION_ARRAY_BOUNDS_EXCEEDED ¶

    EXCEPTION_ARRAY_BOUNDS_EXCEEDED: int : 0xC000008C

    EXCEPTION_BREAKPOINT ¶

    EXCEPTION_BREAKPOINT: int : 0x80000003

    EXCEPTION_CONTINUE_EXECUTION ¶

    EXCEPTION_CONTINUE_EXECUTION: i32 : -1
    EXCEPTION_CONTINUE_SEARCH: i32 : 0

    EXCEPTION_DATATYPE_MISALIGNMENT ¶

    EXCEPTION_DATATYPE_MISALIGNMENT: int : 0x80000002

    EXCEPTION_EXECUTE_HANDLER ¶

    EXCEPTION_EXECUTE_HANDLER: i32 : 1

    EXCEPTION_FLT_DENORMAL_OPERAND ¶

    EXCEPTION_FLT_DENORMAL_OPERAND: int : 0xC000008D

    EXCEPTION_FLT_DIVIDE_BY_ZERO ¶

    EXCEPTION_FLT_DIVIDE_BY_ZERO: int : 0xC000008E

    EXCEPTION_FLT_INEXACT_RESULT ¶

    EXCEPTION_FLT_INEXACT_RESULT: int : 0xC000008F

    EXCEPTION_FLT_INVALID_OPERATION ¶

    EXCEPTION_FLT_INVALID_OPERATION: int : 0xC0000090

    EXCEPTION_FLT_OVERFLOW ¶

    EXCEPTION_FLT_OVERFLOW: int : 0xC0000091

    EXCEPTION_FLT_STACK_CHECK ¶

    EXCEPTION_FLT_STACK_CHECK: int : 0xC0000092

    EXCEPTION_FLT_UNDERFLOW ¶

    EXCEPTION_FLT_UNDERFLOW: int : 0xC0000093

    EXCEPTION_ILLEGAL_INSTRUCTION ¶

    EXCEPTION_ILLEGAL_INSTRUCTION: int : 0xC000001D

    EXCEPTION_INT_DIVIDE_BY_ZERO ¶

    EXCEPTION_INT_DIVIDE_BY_ZERO: int : 0xC0000094

    EXCEPTION_INT_OVERFLOW ¶

    EXCEPTION_INT_OVERFLOW: int : 0xC0000095

    EXCEPTION_INVALID_DISPOSITION ¶

    EXCEPTION_INVALID_DISPOSITION: int : 0xC0000026

    EXCEPTION_IN_PAGE_ERROR ¶

    EXCEPTION_IN_PAGE_ERROR: int : 0xC0000006

    EXCEPTION_MAXIMUM_PARAMETERS ¶

    EXCEPTION_MAXIMUM_PARAMETERS: int : 15

    EXCEPTION_NONCONTINUABLE_EXCEPTION ¶

    EXCEPTION_NONCONTINUABLE_EXCEPTION: int : 0xC0000025

    EXCEPTION_PRIV_INSTRUCTION ¶

    EXCEPTION_PRIV_INSTRUCTION: int : 0xC0000096

    EXCEPTION_SINGLE_STEP ¶

    EXCEPTION_SINGLE_STEP: int : 0x80000004

    EXCEPTION_STACK_OVERFLOW ¶

    EXCEPTION_STACK_OVERFLOW: int : 0xC00000FD

    FACILITY_NT_BIT ¶

    FACILITY_NT_BIT: u32 : 0x1000_0000

    FALSE ¶

    FALSE :: BOOL(false)

    FD_SETSIZE ¶

    FD_SETSIZE: int : 64

    FF_DECORATIVE ¶

    FF_DECORATIVE: int : 5 << 4

    FF_DONTCARE ¶

    FF_DONTCARE: int : 0 << 4
     

    Font Families

    FF_MODERN ¶

    FF_MODERN: int : 3 << 4

    FF_ROMAN ¶

    FF_ROMAN: int : 1 << 4

    FF_SCRIPT ¶

    FF_SCRIPT: int : 4 << 4

    FF_SWISS ¶

    FF_SWISS: int : 2 << 4

    FILE_ACTION_ADDED ¶

    FILE_ACTION_ADDED: int : 0x00000001

    FILE_ACTION_MODIFIED ¶

    FILE_ACTION_MODIFIED: int : 0x00000003

    FILE_ACTION_REMOVED ¶

    FILE_ACTION_REMOVED: int : 0x00000002

    FILE_ACTION_RENAMED_NEW_NAME ¶

    FILE_ACTION_RENAMED_NEW_NAME: int : 0x00000005

    FILE_ACTION_RENAMED_OLD_NAME ¶

    FILE_ACTION_RENAMED_OLD_NAME: int : 0x00000004

    FILE_ADD_FILE ¶

    FILE_ADD_FILE: u32 : 0x00000002

    FILE_ADD_SUBDIRECTORY ¶

    FILE_ADD_SUBDIRECTORY: u32 : 0x00000004

    FILE_ALL_ACCESS ¶

    FILE_ALL_ACCESS: u32 : STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF

    FILE_APPEND_DATA ¶

    FILE_APPEND_DATA: u32 : 0x00000004

    FILE_ATTRIBUTE_ARCHIVE ¶

    FILE_ATTRIBUTE_ARCHIVE: u32 : 0x00000020

    FILE_ATTRIBUTE_COMPRESSED ¶

    FILE_ATTRIBUTE_COMPRESSED: u32 : 0x00000800

    FILE_ATTRIBUTE_DEVICE ¶

    FILE_ATTRIBUTE_DEVICE: u32 : 0x00000040

    FILE_ATTRIBUTE_DIRECTORY ¶

    FILE_ATTRIBUTE_DIRECTORY: u32 : 0x00000010

    FILE_ATTRIBUTE_ENCRYPTED ¶

    FILE_ATTRIBUTE_ENCRYPTED: u32 : 0x00004000

    FILE_ATTRIBUTE_HIDDEN ¶

    FILE_ATTRIBUTE_HIDDEN: u32 : 0x00000002

    FILE_ATTRIBUTE_NORMAL ¶

    FILE_ATTRIBUTE_NORMAL: u32 : 0x00000080

    FILE_ATTRIBUTE_NOT_CONTENT_INDEXED ¶

    FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: u32 : 0x00002000

    FILE_ATTRIBUTE_OFFLINE ¶

    FILE_ATTRIBUTE_OFFLINE: u32 : 0x00001000

    FILE_ATTRIBUTE_READONLY ¶

    FILE_ATTRIBUTE_READONLY: u32 : 0x00000001

    FILE_ATTRIBUTE_REPARSE_POINT ¶

    FILE_ATTRIBUTE_REPARSE_POINT: u32 : 0x00000400

    FILE_ATTRIBUTE_REPARSE_Point ¶

    FILE_ATTRIBUTE_REPARSE_Point: u32 : 0x00000400

    FILE_ATTRIBUTE_SPARSE_FILE ¶

    FILE_ATTRIBUTE_SPARSE_FILE: u32 : 0x00000200

    FILE_ATTRIBUTE_SYSTEM ¶

    FILE_ATTRIBUTE_SYSTEM: u32 : 0x00000004

    FILE_ATTRIBUTE_TEMPORARY ¶

    FILE_ATTRIBUTE_TEMPORARY: u32 : 0x00000100

    FILE_BEGIN ¶

    FILE_BEGIN: u32 : 0

    FILE_CREATE_PIPE_INSTANCE ¶

    FILE_CREATE_PIPE_INSTANCE: u32 : 0x00000004

    FILE_CURRENT ¶

    FILE_CURRENT: u32 : 1

    FILE_DELETE_CHILD ¶

    FILE_DELETE_CHILD: u32 : 0x00000040

    FILE_END ¶

    FILE_END: u32 : 2

    FILE_EXECUTE ¶

    FILE_EXECUTE: u32 : 0x00000020

    FILE_FLAG_BACKUP_SEMANTICS ¶

    FILE_FLAG_BACKUP_SEMANTICS: u32 : 0x02000000

    FILE_FLAG_DELETE_ON_CLOSE ¶

    FILE_FLAG_DELETE_ON_CLOSE: u32 : 0x04000000

    FILE_FLAG_FIRST_PIPE_INSTANCE ¶

    FILE_FLAG_FIRST_PIPE_INSTANCE: u32 : 0x00080000

    FILE_FLAG_NO_BUFFERING ¶

    FILE_FLAG_NO_BUFFERING: u32 : 0x20000000

    FILE_FLAG_OPEN_NO_RECALL ¶

    FILE_FLAG_OPEN_NO_RECALL: u32 : 0x00100000

    FILE_FLAG_OPEN_REPARSE_POINT ¶

    FILE_FLAG_OPEN_REPARSE_POINT: u32 : 0x00200000

    FILE_FLAG_OVERLAPPED ¶

    FILE_FLAG_OVERLAPPED: u32 : 0x40000000

    FILE_FLAG_POSIX_SEMANTICS ¶

    FILE_FLAG_POSIX_SEMANTICS: u32 : 0x01000000

    FILE_FLAG_RANDOM_ACCESS ¶

    FILE_FLAG_RANDOM_ACCESS: u32 : 0x10000000

    FILE_FLAG_SEQUENTIAL_SCAN ¶

    FILE_FLAG_SEQUENTIAL_SCAN: u32 : 0x08000000

    FILE_FLAG_SESSION_AWARE ¶

    FILE_FLAG_SESSION_AWARE: u32 : 0x00800000

    FILE_FLAG_WRITE_THROUGH ¶

    FILE_FLAG_WRITE_THROUGH: u32 : 0x80000000

    FILE_GENERIC_ALL ¶

    FILE_GENERIC_ALL: u32 : 0x10000000

    FILE_GENERIC_EXECUTE ¶

    FILE_GENERIC_EXECUTE: u32 : 0x20000000

    FILE_GENERIC_READ ¶

    FILE_GENERIC_READ: u32 : 0x80000000

    FILE_GENERIC_WRITE ¶

    FILE_GENERIC_WRITE: u32 : STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE

    FILE_LIST_DIRECTORY ¶

    FILE_LIST_DIRECTORY: u32 : 0x00000001

    FILE_NOTIFY_CHANGE_ATTRIBUTES ¶

    FILE_NOTIFY_CHANGE_ATTRIBUTES: int : 0x00000004

    FILE_NOTIFY_CHANGE_CREATION ¶

    FILE_NOTIFY_CHANGE_CREATION: int : 0x00000040

    FILE_NOTIFY_CHANGE_DIR_NAME ¶

    FILE_NOTIFY_CHANGE_DIR_NAME: int : 0x00000002

    FILE_NOTIFY_CHANGE_FILE_NAME ¶

    FILE_NOTIFY_CHANGE_FILE_NAME: int : 0x00000001

    FILE_NOTIFY_CHANGE_LAST_ACCESS ¶

    FILE_NOTIFY_CHANGE_LAST_ACCESS: int : 0x00000020

    FILE_NOTIFY_CHANGE_LAST_WRITE ¶

    FILE_NOTIFY_CHANGE_LAST_WRITE: int : 0x00000010

    FILE_NOTIFY_CHANGE_SECURITY ¶

    FILE_NOTIFY_CHANGE_SECURITY: int : 0x00000100

    FILE_NOTIFY_CHANGE_SIZE ¶

    FILE_NOTIFY_CHANGE_SIZE: int : 0x00000008

    FILE_READ_ATTRIBUTES ¶

    FILE_READ_ATTRIBUTES: u32 : 0x00000080

    FILE_READ_DATA ¶

    FILE_READ_DATA: u32 : 0x00000001

    FILE_READ_EA ¶

    FILE_READ_EA: u32 : 0x00000008

    FILE_SHARE_DELETE ¶

    FILE_SHARE_DELETE: u32 : 0x00000004

    FILE_SHARE_READ ¶

    FILE_SHARE_READ: u32 : 0x00000001

    FILE_SHARE_WRITE ¶

    FILE_SHARE_WRITE: u32 : 0x00000002

    FILE_TRAVERSE ¶

    FILE_TRAVERSE: u32 : 0x00000020

    FILE_TYPE_CHAR ¶

    FILE_TYPE_CHAR: int : 0x0002

    FILE_TYPE_DISK ¶

    FILE_TYPE_DISK: int : 0x0001

    FILE_TYPE_PIPE ¶

    FILE_TYPE_PIPE: int : 0x0003

    FILE_WRITE_ATTRIBUTES ¶

    FILE_WRITE_ATTRIBUTES: u32 : 0x00000100

    FILE_WRITE_DATA ¶

    FILE_WRITE_DATA: u32 : 0x00000002

    FILE_WRITE_EA ¶

    FILE_WRITE_EA: u32 : 0x00000010

    FIONBIO ¶

    FIONBIO: u32 : 0x8004667e

    FIXED_PITCH ¶

    FIXED_PITCH: int : 1

    FOF_ALLOWUNDO ¶

    FOF_ALLOWUNDO: int : 0x0040
     

    Must be freed using SHFreeNameMappings

    FOF_CONFIRMMOUSE ¶

    FOF_CONFIRMMOUSE: int : 0x0002

    FOF_FILESONLY ¶

    FOF_FILESONLY: int : 0x0080
     

    only operate on the files (non folders), both files and folders are assumed without this

    FOF_MULTIDESTFILES ¶

    FOF_MULTIDESTFILES: int : 0x0001
     

    SHFILEOPSTRUCT.fFlags and IFileOperation::SetOperationFlags() flag values

    FOF_NOCONFIRMATION ¶

    FOF_NOCONFIRMATION: int : 0x0010
     

    don't display confirmation UI, assume "yes" for cases that can be bypassed, "no" for those that can not

    FOF_NOCONFIRMMKDIR ¶

    FOF_NOCONFIRMMKDIR: int : 0x0200
     

    don't dispplay confirmatino UI before making any needed directories, assume "Yes" in these cases

    FOF_NOCOPYSECURITYATTRIBS ¶

    FOF_NOCOPYSECURITYATTRIBS: int : 0x0800
     

    dont copy file security attributes (ACLs)

    FOF_NOERRORUI ¶

    FOF_NOERRORUI: int : 0x0400
     

    don't put up error UI, other UI may be displayed, progress, confirmations

    FOF_NORECURSEREPARSE ¶

    FOF_NORECURSEREPARSE: int : 0x8000
     

    deprecated; the operations engine always does the right thing on FolderLink objects (symlinks, reparse points, folder shortcuts)

    FOF_NORECURSION ¶

    FOF_NORECURSION: int : 0x1000
     

    don't recurse into directories for operations that would recurse

    FOF_NO_CONNECTED_ELEMENTS ¶

    FOF_NO_CONNECTED_ELEMENTS: int : 0x2000
     

    don't operate on connected elements ("xxx_files" folders that go with .htm files)

    FOF_NO_UI ¶

    FOF_NO_UI: int : FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR
     

    don't display any UI at all

    FOF_RENAMEONCOLLISION ¶

    FOF_RENAMEONCOLLISION: int : 0x0008
     

    automatically rename the source files to avoid the collisions

    FOF_SILENT ¶

    FOF_SILENT: int : 0x0004
     

    don't display progress UI (confirm prompts may be displayed still)

    FOF_SIMPLEPROGRESS ¶

    FOF_SIMPLEPROGRESS: int : 0x0100
     

    means don't show names of files

    FOF_WANTMAPPINGHANDLE ¶

    FOF_WANTMAPPINGHANDLE: int : 0x0020
     

    Fill in SHFILEOPSTRUCT.hNameMappings

    FOF_WANTNUKEWARNING ¶

    FOF_WANTNUKEWARNING: int : 0x4000
     

    during delete operation, warn if object is being permanently destroyed instead of recycling (partially overrides FOF_NOCONFIRMATION)

    FORMAT_MESSAGE_ALLOCATE_BUFFER ¶

    FORMAT_MESSAGE_ALLOCATE_BUFFER: int : 0x00000100

    FORMAT_MESSAGE_ARGUMENT_ARRAY ¶

    FORMAT_MESSAGE_ARGUMENT_ARRAY: int : 0x00002000

    FORMAT_MESSAGE_FROM_HMODULE ¶

    FORMAT_MESSAGE_FROM_HMODULE: int : 0x00000800

    FORMAT_MESSAGE_FROM_STRING ¶

    FORMAT_MESSAGE_FROM_STRING: int : 0x00000400

    FORMAT_MESSAGE_FROM_SYSTEM ¶

    FORMAT_MESSAGE_FROM_SYSTEM: int : 0x00001000

    FORMAT_MESSAGE_IGNORE_INSERTS ¶

    FORMAT_MESSAGE_IGNORE_INSERTS: int : 0x00000200

    FORMAT_MESSAGE_MAX_WIDTH_MASK ¶

    FORMAT_MESSAGE_MAX_WIDTH_MASK: int : 0x000000FF

    FOS_ALLNONSTORAGEITEMS ¶

    FOS_ALLNONSTORAGEITEMS: int : 0x80

    FOS_ALLOWMULTISELECT ¶

    FOS_ALLOWMULTISELECT: int : 0x200

    FOS_CREATEPROMPT ¶

    FOS_CREATEPROMPT: int : 0x2000

    FOS_DEFAULTNOMINIMODE ¶

    FOS_DEFAULTNOMINIMODE: int : 0x20000000

    FOS_DONTADDTORECENT ¶

    FOS_DONTADDTORECENT: int : 0x2000000

    FOS_FILEMUSTEXIST ¶

    FOS_FILEMUSTEXIST: int : 0x1000

    FOS_FORCEFILESYSTEM ¶

    FOS_FORCEFILESYSTEM: int : 0x40

    FOS_FORCEPREVIEWPANEON ¶

    FOS_FORCEPREVIEWPANEON: int : 0x40000000

    FOS_FORCESHOWHIDDEN ¶

    FOS_FORCESHOWHIDDEN: int : 0x10000000

    FOS_HIDEMRUPLACES ¶

    FOS_HIDEMRUPLACES: int : 0x20000

    FOS_HIDEPINNEDPLACES ¶

    FOS_HIDEPINNEDPLACES: int : 0x40000

    FOS_NOCHANGEDIR ¶

    FOS_NOCHANGEDIR: int : 0x8
    FOS_NODEREFERENCELINKS: int : 0x100000

    FOS_NOREADONLYRETURN ¶

    FOS_NOREADONLYRETURN: int : 0x8000

    FOS_NOTESTFILECREATE ¶

    FOS_NOTESTFILECREATE: int : 0x10000

    FOS_NOVALIDATE ¶

    FOS_NOVALIDATE: int : 0x100

    FOS_OKBUTTONNEEDSINTERACTION ¶

    FOS_OKBUTTONNEEDSINTERACTION: int : 0x200000

    FOS_OVERWRITEPROMPT ¶

    FOS_OVERWRITEPROMPT: int : 0x2

    FOS_PATHMUSTEXIST ¶

    FOS_PATHMUSTEXIST: int : 0x800

    FOS_PICKFOLDERS ¶

    FOS_PICKFOLDERS: int : 0x20

    FOS_SHAREAWARE ¶

    FOS_SHAREAWARE: int : 0x4000

    FOS_STRICTFILETYPES ¶

    FOS_STRICTFILETYPES: int : 0x4

    FOS_SUPPORTSTREAMABLEITEMS ¶

    FOS_SUPPORTSTREAMABLEITEMS: int : 0x80000000

    FO_COPY ¶

    FO_COPY: int : 0x0002

    FO_DELETE ¶

    FO_DELETE: int : 0x0003

    FO_MOVE ¶

    FO_MOVE: int : 0x0001
     

    Shell File Operations

    FO_RENAME ¶

    FO_RENAME: int : 0x0004

    FSCTL_GET_REPARSE_POINT ¶

    FSCTL_GET_REPARSE_POINT: u32 : 0x900a8

    FSCTL_SET_REPARSE_POINT ¶

    FSCTL_SET_REPARSE_POINT: u32 : 0x900a4

    FS_ARABIC ¶

    FS_ARABIC: int : 0x00000040

    FS_BALTIC ¶

    FS_BALTIC: int : 0x00000080

    FS_CHINESESIMP ¶

    FS_CHINESESIMP: int : 0x00040000

    FS_CHINESETRAD ¶

    FS_CHINESETRAD: int : 0x00100000

    FS_CYRILLIC ¶

    FS_CYRILLIC: int : 0x00000004

    FS_GREEK ¶

    FS_GREEK: int : 0x00000008

    FS_HEBREW ¶

    FS_HEBREW: int : 0x00000020

    FS_JISJAPAN ¶

    FS_JISJAPAN: int : 0x00020000

    FS_JOHAB ¶

    FS_JOHAB: int : 0x00200000

    FS_LATIN1 ¶

    FS_LATIN1: int : 0x00000001
     

    Font Signature Bitmaps

    FS_LATIN2 ¶

    FS_LATIN2: int : 0x00000002

    FS_SYMBOL ¶

    FS_SYMBOL: int : 0x80000000

    FS_THAI ¶

    FS_THAI: int : 0x00010000

    FS_TURKISH ¶

    FS_TURKISH: int : 0x00000010

    FS_VIETNAMESE ¶

    FS_VIETNAMESE: int : 0x00000100

    FS_WANSUNG ¶

    FS_WANSUNG: int : 0x00080000

    FW_BLACK ¶

    FW_BLACK: int : FW_HEAVY

    FW_BOLD ¶

    FW_BOLD: int : 700

    FW_DEMIBOLD ¶

    FW_DEMIBOLD: int : FW_SEMIBOLD

    FW_DONTCARE ¶

    FW_DONTCARE: int : 0
     

    Font Weights

    FW_EXTRABOLD ¶

    FW_EXTRABOLD: int : 800

    FW_EXTRALIGHT ¶

    FW_EXTRALIGHT: int : 200

    FW_HEAVY ¶

    FW_HEAVY: int : 900

    FW_LIGHT ¶

    FW_LIGHT: int : 300

    FW_MEDIUM ¶

    FW_MEDIUM: int : 500

    FW_NORMAL ¶

    FW_NORMAL: int : 400

    FW_REGULAR ¶

    FW_REGULAR: int : FW_NORMAL

    FW_SEMIBOLD ¶

    FW_SEMIBOLD: int : 600

    FW_THIN ¶

    FW_THIN: int : 100

    FW_ULTRABOLD ¶

    FW_ULTRABOLD: int : FW_EXTRABOLD

    FW_ULTRALIGHT ¶

    FW_ULTRALIGHT: int : FW_EXTRALIGHT

    GB2312_CHARSET ¶

    GB2312_CHARSET: int : 134

    GCLP_HBRBACKGROUND ¶

    GCLP_HBRBACKGROUND: int : -10

    GCLP_HCURSOR ¶

    GCLP_HCURSOR: int : -12

    GCLP_HICON ¶

    GCLP_HICON: int : -14

    GCLP_HICONSM ¶

    GCLP_HICONSM: int : -34

    GCLP_HMODULE ¶

    GCLP_HMODULE: int : -16

    GCLP_MENUNAME ¶

    GCLP_MENUNAME: int : -8

    GCLP_WNDPROC ¶

    GCLP_WNDPROC: int : -24

    GCL_CBCLSEXTRA ¶

    GCL_CBCLSEXTRA: int : -20

    GCL_CBWNDEXTRA ¶

    GCL_CBWNDEXTRA: int : -18
     

    Class field offsets for GetClassLong()

    GCL_STYLE ¶

    GCL_STYLE: int : -26

    GCW_ATOM ¶

    GCW_ATOM: int : -32

    GENERIC_ALL ¶

    GENERIC_ALL: u32 : 0x10000000

    GENERIC_EXECUTE ¶

    GENERIC_EXECUTE: u32 : 0x20000000

    GENERIC_READ ¶

    GENERIC_READ: u32 : 0x80000000

    GENERIC_WRITE ¶

    GENERIC_WRITE: u32 : 0x40000000

    GNLEN ¶

    GNLEN: int : UNLEN
     

    Group name

    GRAY_BRUSH ¶

    GRAY_BRUSH: int : 2

    GREEK_CHARSET ¶

    GREEK_CHARSET: int : 161

    GROUP_SECURITY_INFORMATION ¶

    GROUP_SECURITY_INFORMATION: int : 0x00000002

    GWLP_HINSTANCE ¶

    GWLP_HINSTANCE: int : -6

    GWLP_HWNDPARENT ¶

    GWLP_HWNDPARENT: int : -8

    GWLP_ID ¶

    GWLP_ID: int : -12

    GWLP_USERDATA ¶

    GWLP_USERDATA: int : -21

    GWLP_WNDPROC ¶

    GWLP_WNDPROC: int : -4

    GWL_EXSTYLE ¶

    GWL_EXSTYLE: int : -20

    GWL_ID ¶

    GWL_ID: int : -12

    GWL_STYLE ¶

    GWL_STYLE: int : -16
     

    Window field offsets for GetWindowLong()

    HALFTONE ¶

    HALFTONE: int : 4

    HANDLE_FLAG_INHERIT ¶

    HANDLE_FLAG_INHERIT: u32 : 0x00000001

    HANDLE_FLAG_PROTECT_FROM_CLOSE ¶

    HANDLE_FLAG_PROTECT_FROM_CLOSE: int : 0x00000002

    HANGEUL_CHARSET ¶

    HANGEUL_CHARSET: int : 129

    HANGUL_CHARSET ¶

    HANGUL_CHARSET: int : 129

    HCBT_ACTIVATE ¶

    HCBT_ACTIVATE: int : 5

    HCBT_CLICKSKIPPED ¶

    HCBT_CLICKSKIPPED: int : 6

    HCBT_CREATEWND ¶

    HCBT_CREATEWND: int : 3

    HCBT_DESTROYWND ¶

    HCBT_DESTROYWND: int : 4

    HCBT_KEYSKIPPED ¶

    HCBT_KEYSKIPPED: int : 7

    HCBT_MINMAX ¶

    HCBT_MINMAX: int : 1

    HCBT_MOVESIZE ¶

    HCBT_MOVESIZE: int : 0
     

    CBT Hook Codes

    HCBT_QS ¶

    HCBT_QS: int : 2

    HCBT_SETFOCUS ¶

    HCBT_SETFOCUS: int : 9

    HCBT_SYSCOMMAND ¶

    HCBT_SYSCOMMAND: int : 8

    HC_ACTION ¶

    HC_ACTION: int : 0
     

    Hook Codes

    HC_GETNEXT ¶

    HC_GETNEXT: int : 1

    HC_NOREM ¶

    HC_NOREM: int : HC_NOREMOVE

    HC_NOREMOVE ¶

    HC_NOREMOVE: int : 3

    HC_SKIP ¶

    HC_SKIP: int : 2

    HC_SYSMODALOFF ¶

    HC_SYSMODALOFF: int : 5

    HC_SYSMODALON ¶

    HC_SYSMODALON: int : 4

    HDFT_HASNOVALUE ¶

    HDFT_HASNOVALUE: int : 0x8000

    HDFT_ISNUMBER ¶

    HDFT_ISNUMBER: int : 0x0001

    HDFT_ISSTRING ¶

    HDFT_ISSTRING: int : 0x0000
     

    Header Control Constants

    HDF_BITMAP ¶

    HDF_BITMAP: int : 0x0002000

    HDF_BITMAP_ON_RIGHT ¶

    HDF_BITMAP_ON_RIGHT: int : 0x0001000

    HDF_CENTER ¶

    HDF_CENTER: int : 0x0000002

    HDF_CHECKBOX ¶

    HDF_CHECKBOX: int : 0x0000040

    HDF_CHECKED ¶

    HDF_CHECKED: int : 0x0000080

    HDF_FIXEDWIDTH ¶

    HDF_FIXEDWIDTH: int : 0x0000100

    HDF_IMAGE ¶

    HDF_IMAGE: int : 0x0000800

    HDF_JUSTIFYMASK ¶

    HDF_JUSTIFYMASK: int : 0x0000003

    HDF_LEFT ¶

    HDF_LEFT: int : 0x0000000

    HDF_OWNERDRAW ¶

    HDF_OWNERDRAW: int : 0x0008000

    HDF_RIGHT ¶

    HDF_RIGHT: int : 0x0000001

    HDF_RTLREADING ¶

    HDF_RTLREADING: int : 0x0000004

    HDF_SORTDOWN ¶

    HDF_SORTDOWN: int : 0x0000200

    HDF_SORTUP ¶

    HDF_SORTUP: int : 0x0000400

    HDF_SPLITBUTTON ¶

    HDF_SPLITBUTTON: int : 0x1000000

    HDF_STRING ¶

    HDF_STRING: int : 0x0004000

    HDI_BITMAP ¶

    HDI_BITMAP: int : 0x010

    HDI_DI_SETITEM ¶

    HDI_DI_SETITEM: int : 0x040

    HDI_FILTER ¶

    HDI_FILTER: int : 0x100

    HDI_FORMAT ¶

    HDI_FORMAT: int : 0x004

    HDI_HEIGHT ¶

    HDI_HEIGHT: int : HDI_WIDTH

    HDI_IMAGE ¶

    HDI_IMAGE: int : 0x020

    HDI_LPARAM ¶

    HDI_LPARAM: int : 0x008

    HDI_ORDER ¶

    HDI_ORDER: int : 0x080

    HDI_TEXT ¶

    HDI_TEXT: int : 0x002

    HDI_WIDTH ¶

    HDI_WIDTH: int : 0x001

    HDN_BEGINDRAG ¶

    HDN_BEGINDRAG: u32 : HDN_FIRST - 10

    HDN_BEGINTRACKA ¶

    HDN_BEGINTRACKA: u32 : HDN_FIRST - 6

    HDN_BEGINTRACKW ¶

    HDN_BEGINTRACKW: u32 : HDN_FIRST - 26

    HDN_DIVIDERDBLCLICKA ¶

    HDN_DIVIDERDBLCLICKA: u32 : HDN_FIRST - 5

    HDN_DIVIDERDBLCLICKW ¶

    HDN_DIVIDERDBLCLICKW: u32 : HDN_FIRST - 25

    HDN_ENDDRAG ¶

    HDN_ENDDRAG: u32 : HDN_FIRST - 11

    HDN_ENDTRACKA ¶

    HDN_ENDTRACKA: u32 : HDN_FIRST - 7

    HDN_ENDTRACKW ¶

    HDN_ENDTRACKW: u32 : HDN_FIRST - 27

    HDN_FILTERBTNCLICK ¶

    HDN_FILTERBTNCLICK: u32 : HDN_FIRST - 13

    HDN_FILTERCHANGE ¶

    HDN_FILTERCHANGE: u32 : HDN_FIRST - 12

    HDN_FIRST ¶

    HDN_FIRST: u32 : ~DWORD(300 - 1)

    HDN_GETDISPINFOA ¶

    HDN_GETDISPINFOA: u32 : HDN_FIRST - 9

    HDN_GETDISPINFOW ¶

    HDN_GETDISPINFOW: u32 : HDN_FIRST - 29

    HDN_ITEMCHANGEDA ¶

    HDN_ITEMCHANGEDA: u32 : HDN_FIRST - 1

    HDN_ITEMCHANGEDW ¶

    HDN_ITEMCHANGEDW: u32 : HDN_FIRST - 21

    HDN_ITEMCHANGINGA ¶

    HDN_ITEMCHANGINGA: u32 : HDN_FIRST - 0
     

    Header Control Notifications

    HDN_ITEMCHANGINGW ¶

    HDN_ITEMCHANGINGW: u32 : HDN_FIRST - 20

    HDN_ITEMCLICKA ¶

    HDN_ITEMCLICKA: u32 : HDN_FIRST - 2

    HDN_ITEMCLICKW ¶

    HDN_ITEMCLICKW: u32 : HDN_FIRST - 22

    HDN_ITEMDBLCLICKA ¶

    HDN_ITEMDBLCLICKA: u32 : HDN_FIRST - 3

    HDN_ITEMDBLCLICKW ¶

    HDN_ITEMDBLCLICKW: u32 : HDN_FIRST - 23

    HDN_LAST ¶

    HDN_LAST: u32 : ~DWORD(399 - 1)

    HDN_TRACKA ¶

    HDN_TRACKA: u32 : HDN_FIRST - 8

    HDN_TRACKW ¶

    HDN_TRACKW: u32 : HDN_FIRST - 28

    HDS_BUTTONS ¶

    HDS_BUTTONS: int : 0x002

    HDS_DRAGDROP ¶

    HDS_DRAGDROP: int : 0x040

    HDS_FILTERBAR ¶

    HDS_FILTERBAR: int : 0x100

    HDS_FLAT ¶

    HDS_FLAT: int : 0x200

    HDS_FULLDRAG ¶

    HDS_FULLDRAG: int : 0x080

    HDS_HIDDEN ¶

    HDS_HIDDEN: int : 0x008

    HDS_HORZ ¶

    HDS_HORZ: int : 0x000
     

    Header Control Styles

    HDS_HOTTRACK ¶

    HDS_HOTTRACK: int : 0x004

    HEAP_ZERO_MEMORY ¶

    HEAP_ZERO_MEMORY: u32 : 0x00000008

    HEBREW_CHARSET ¶

    HEBREW_CHARSET: int : 177

    HHT_ABOVE ¶

    HHT_ABOVE: int : 0x100

    HHT_BELOW ¶

    HHT_BELOW: int : 0x200

    HHT_NOWHERE ¶

    HHT_NOWHERE: int : 0x001

    HHT_ONDIVIDER ¶

    HHT_ONDIVIDER: int : 0x004

    HHT_ONDIVOPEN ¶

    HHT_ONDIVOPEN: int : 0x008

    HHT_ONFILTER ¶

    HHT_ONFILTER: int : 0x010

    HHT_ONFILTERBUTTON ¶

    HHT_ONFILTERBUTTON: int : 0x020

    HHT_ONHEADER ¶

    HHT_ONHEADER: int : 0x002

    HHT_TOLEFT ¶

    HHT_TOLEFT: int : 0x800

    HHT_TORIGHT ¶

    HHT_TORIGHT: int : 0x400

    HIST_ADDTOFAVORITES ¶

    HIST_ADDTOFAVORITES: int : 3

    HIST_BACK ¶

    HIST_BACK: int : 0

    HIST_FAVORITES ¶

    HIST_FAVORITES: int : 2

    HIST_FORWARD ¶

    HIST_FORWARD: int : 1

    HIST_VIEWTREE ¶

    HIST_VIEWTREE: int : 4

    HKEY_CLASSES_ROOT ¶

    HKEY_CLASSES_ROOT :: HKEY(uintptr(0x80000000))
     

    Reserved Key Handles.

    HKEY_CURRENT_CONFIG ¶

    HKEY_CURRENT_CONFIG :: HKEY(uintptr(0x80000005))

    HKEY_CURRENT_USER ¶

    HKEY_CURRENT_USER :: HKEY(uintptr(0x80000001))

    HKEY_CURRENT_USER_LOCAL_SETTINGS ¶

    HKEY_CURRENT_USER_LOCAL_SETTINGS :: HKEY(uintptr(0x80000007))

    HKEY_DYN_DATA ¶

    HKEY_DYN_DATA :: HKEY(uintptr(0x80000006))

    HKEY_LOCAL_MACHINE ¶

    HKEY_LOCAL_MACHINE :: HKEY(uintptr(0x80000002))

    HKEY_PERFORMANCE_DATA ¶

    HKEY_PERFORMANCE_DATA :: HKEY(uintptr(0x80000004))

    HKEY_PERFORMANCE_NLSTEXT ¶

    HKEY_PERFORMANCE_NLSTEXT :: HKEY(uintptr(0x80000060))

    HKEY_PERFORMANCE_TEXT ¶

    HKEY_PERFORMANCE_TEXT :: HKEY(uintptr(0x80000050))

    HKEY_USERS ¶

    HKEY_USERS :: HKEY(uintptr(0x80000003))

    HOLLOW_BRUSH ¶

    HOLLOW_BRUSH: int : NULL_BRUSH

    HOVER_DEFAULT ¶

    HOVER_DEFAULT: int : 0xFFFFFFFF

    HTBORDER ¶

    HTBORDER: int : 18

    HTBOTTOM ¶

    HTBOTTOM: int : 15

    HTBOTTOMLEFT ¶

    HTBOTTOMLEFT: int : 16

    HTBOTTOMRIGHT ¶

    HTBOTTOMRIGHT: int : 17

    HTCAPTION ¶

    HTCAPTION: int : 2

    HTCLIENT ¶

    HTCLIENT: int : 1

    HTCLOSE ¶

    HTCLOSE: int : 20

    HTERROR ¶

    HTERROR: int : -2
     

    WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes

    HTGROWBOX ¶

    HTGROWBOX: int : 4

    HTHELP ¶

    HTHELP: int : 21

    HTHSCROLL ¶

    HTHSCROLL: int : 6

    HTLEFT ¶

    HTLEFT: int : 10

    HTMAXBUTTON ¶

    HTMAXBUTTON: int : 9

    HTMENU ¶

    HTMENU: int : 5

    HTMINBUTTON ¶

    HTMINBUTTON: int : 8

    HTNOWHERE ¶

    HTNOWHERE: int : 0

    HTOBJECT ¶

    HTOBJECT: int : 19

    HTREDUCE ¶

    HTREDUCE: int : HTMINBUTTON

    HTRIGHT ¶

    HTRIGHT: int : 11

    HTSIZE ¶

    HTSIZE: int : HTGROWBOX

    HTSIZEFIRST ¶

    HTSIZEFIRST: int : HTLEFT

    HTSIZELAST ¶

    HTSIZELAST: int : HTBOTTOMRIGHT

    HTSYSMENU ¶

    HTSYSMENU: int : 3

    HTTOP ¶

    HTTOP: int : 12

    HTTOPLEFT ¶

    HTTOPLEFT: int : 13

    HTTOPRIGHT ¶

    HTTOPRIGHT: int : 14

    HTTRANSPARENT ¶

    HTTRANSPARENT: int : -1

    HTVSCROLL ¶

    HTVSCROLL: int : 7

    HTZOOM ¶

    HTZOOM: int : HTMAXBUTTON

    HWND_BOTTOM ¶

    HWND_BOTTOM :: HWND(uintptr(1))
     

    1

    HWND_BROADCAST ¶

    HWND_BROADCAST :: HWND(uintptr(0xffff))
     

    Special HWND value for use with PostMessage() and SendMessage()

    HWND_MESSAGE ¶

    HWND_MESSAGE :: HWND(~uintptr(0) - 2)
     

    -3

    HWND_NOTOPMOST ¶

    HWND_NOTOPMOST :: HWND(~uintptr(0) - 1)
     

    -2

    HWND_TOP ¶

    HWND_TOP :: HWND(uintptr(0))
     

    0

    HWND_TOPMOST ¶

    HWND_TOPMOST :: HWND(~uintptr(0))
     

    -1

    IDABORT ¶

    IDABORT: int : 3

    IDB_HIST_LARGE_COLOR ¶

    IDB_HIST_LARGE_COLOR: int : 9

    IDB_HIST_SMALL_COLOR ¶

    IDB_HIST_SMALL_COLOR: int : 8

    IDB_STD_LARGE_COLOR ¶

    IDB_STD_LARGE_COLOR: int : 1

    IDB_STD_SMALL_COLOR ¶

    IDB_STD_SMALL_COLOR: int : 0

    IDB_VIEW_LARGE_COLOR ¶

    IDB_VIEW_LARGE_COLOR: int : 5

    IDB_VIEW_SMALL_COLOR ¶

    IDB_VIEW_SMALL_COLOR: int : 4

    IDCANCEL ¶

    IDCANCEL: int : 2

    IDCLOSE ¶

    IDCLOSE: int : 8

    IDCONTINUE ¶

    IDCONTINUE: int : 11

    IDHELP ¶

    IDHELP: int : 9

    IDIGNORE ¶

    IDIGNORE: int : 5

    IDNO ¶

    IDNO: int : 7

    IDOK ¶

    IDOK: int : 1
     

    Dialog Box Command IDs

    IDRETRY ¶

    IDRETRY: int : 4

    IDTIMEOUT ¶

    IDTIMEOUT: int : 32000

    IDTRYAGAIN ¶

    IDTRYAGAIN: int : 10

    IDYES ¶

    IDYES: int : 6

    IMAGE_BITMAP ¶

    IMAGE_BITMAP: int : 0

    IMAGE_CURSOR ¶

    IMAGE_CURSOR: int : 2

    IMAGE_DEBUG_TYPE_CODEVIEW ¶

    IMAGE_DEBUG_TYPE_CODEVIEW: int : 2

    IMAGE_ENHMETAFILE ¶

    IMAGE_ENHMETAFILE: int : 3

    IMAGE_ICON ¶

    IMAGE_ICON: int : 1

    INFINITE ¶

    INFINITE: u32 : ~DWORD(0)

    INVALID_FILE_ATTRIBUTES ¶

    INVALID_FILE_ATTRIBUTES: u32 : DWORD(0xffff_ffff)

    INVALID_HANDLE ¶

    INVALID_HANDLE :: HANDLE(~uintptr(0))

    INVALID_HANDLE_VALUE ¶

    INVALID_HANDLE_VALUE: HANDLE : INVALID_HANDLE

    INVALID_SET_FILE_POINTER ¶

    INVALID_SET_FILE_POINTER: u32 : ~DWORD(0)

    INVALID_SOCKET ¶

    INVALID_SOCKET: SOCKET : ~SOCKET(0)

    IO_REPARSE_TAG_MOUNT_POINT ¶

    IO_REPARSE_TAG_MOUNT_POINT: u32 : 0xa0000003
    IO_REPARSE_TAG_SYMLINK: u32 : 0xa000000c

    IPN_FIRST ¶

    IPN_FIRST: u32 : ~DWORD(860 - 1)

    IPN_LAST ¶

    IPN_LAST: u32 : ~DWORD(879 - 1)

    IPPROTO_ICMP ¶

    IPPROTO_ICMP: i32 : 1
     

    (AF_UNSPEC, AF_INET, AF_INET6) + SOCK_RAW | not specified

    IPPROTO_ICMPV6 ¶

    IPPROTO_ICMPV6: i32 : 58
     

    (AF_UNSPEC, AF_INET, AF_INET6) + SOCK_RAW

    IPPROTO_IGMP ¶

    IPPROTO_IGMP: i32 : 2
     

    (AF_UNSPEC, AF_INET, AF_INET6) + SOCK_RAW | not specified

    IPPROTO_IP ¶

    IPPROTO_IP: i32 : 0
     

    Protocols

    IPPROTO_IPV6 ¶

    IPPROTO_IPV6: i32 : 41
     

    Socket options for IPV6.

    IPPROTO_RM ¶

    IPPROTO_RM: i32 : 113
     

    AF_INET + SOCK_RDM [requires "Reliable Multicast Protocol" to be installed - see WSAEnumProtocols]

    IPPROTO_TCP ¶

    IPPROTO_TCP: i32 : 6
     

    (AF_INET, AF_INET6) + SOCK_STREAM

    IPPROTO_UDP ¶

    IPPROTO_UDP: i32 : 17
     

    (AF_INET, AF_INET6) + SOCK_DGRAM

    IPV6_ADD_MEMBERSHIP ¶

    IPV6_ADD_MEMBERSHIP: i32 : 12

    IPV6_DROP_MEMBERSHIP ¶

    IPV6_DROP_MEMBERSHIP: i32 : 13

    IPV6_MULTICAST_LOOP ¶

    IPV6_MULTICAST_LOOP: i32 : 11

    IPV6_V6ONLY ¶

    IPV6_V6ONLY: i32 : 27

    IP_ADD_MEMBERSHIP ¶

    IP_ADD_MEMBERSHIP: i32 : 12

    IP_MULTICAST_LOOP ¶

    IP_MULTICAST_LOOP: i32 : 11

    IP_MULTICAST_TTL ¶

    IP_MULTICAST_TTL: i32 : 10

    IP_TTL ¶

    IP_TTL: i32 : 4

    IUnknown_UUID_STRING ¶

    IUnknown_UUID_STRING: string : "00000000-0000-0000-C000-000000000046"

    JOHAB_CHARSET ¶

    JOHAB_CHARSET: int : 130

    KEY_ALL_ACCESS ¶

    KEY_ALL_ACCESS: u32 : (STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY | KEY_CREATE_LINK) & (~SYNCHRONIZE)
    KEY_CREATE_LINK: int : 0x0020

    KEY_CREATE_SUB_KEY ¶

    KEY_CREATE_SUB_KEY: int : 0x0004

    KEY_ENUMERATE_SUB_KEYS ¶

    KEY_ENUMERATE_SUB_KEYS: int : 0x0008

    KEY_EXECUTE ¶

    KEY_EXECUTE: u32 : (KEY_READ) & (~SYNCHRONIZE)

    KEY_NOTIFY ¶

    KEY_NOTIFY: int : 0x0010

    KEY_QUERY_VALUE ¶

    KEY_QUERY_VALUE: int : 0x0001
     

    Registry Specific Access Rights.

    KEY_READ ¶

    KEY_READ: u32 : (STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY) & (~SYNCHRONIZE)

    KEY_SET_VALUE ¶

    KEY_SET_VALUE: int : 0x0002

    KEY_WOW64_32KEY ¶

    KEY_WOW64_32KEY: int : 0x0200

    KEY_WOW64_64KEY ¶

    KEY_WOW64_64KEY: int : 0x0100

    KEY_WOW64_RES ¶

    KEY_WOW64_RES: int : 0x0300

    KEY_WRITE ¶

    KEY_WRITE: u32 : (STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) & (~SYNCHRONIZE)

    LABEL_SECURITY_INFORMATION ¶

    LABEL_SECURITY_INFORMATION: int : 0x00000010

    LANG_INVARIANT ¶

    LANG_INVARIANT: int : 0x7f

    LANG_NEUTRAL ¶

    LANG_NEUTRAL: int : 0x00

    LHND ¶

    LHND: int : 0x0042

    LM20_GNLEN ¶

    LM20_GNLEN: int : LM20_UNLEN
     

    LM 2.0 Group name

    LM20_PWLEN ¶

    LM20_PWLEN: int : 14
     

    LM 2.0 Maximum password length

    LM20_UNLEN ¶

    LM20_UNLEN: int : 20
     

    LM 2.0 Maximum user name length

    LMEM_FIXED ¶

    LMEM_FIXED: int : 0x0000

    LMEM_MOVEABLE ¶

    LMEM_MOVEABLE: int : 0x0002

    LMEM_ZEROINIT ¶

    LMEM_ZEROINIT: int : 0x0040

    LPTR ¶

    LPTR: int : 0x0040

    LR_COLOR ¶

    LR_COLOR: int : 0x00000002

    LR_COPYDELETEORG ¶

    LR_COPYDELETEORG: int : 0x00000008

    LR_COPYFROMRESOURCE ¶

    LR_COPYFROMRESOURCE: int : 0x00004000

    LR_COPYRETURNORG ¶

    LR_COPYRETURNORG: int : 0x00000004

    LR_CREATEDIBSECTION ¶

    LR_CREATEDIBSECTION: int : 0x00002000

    LR_DEFAULTCOLOR ¶

    LR_DEFAULTCOLOR: int : 0x00000000

    LR_DEFAULTSIZE ¶

    LR_DEFAULTSIZE: int : 0x00000040

    LR_LOADFROMFILE ¶

    LR_LOADFROMFILE: int : 0x00000010

    LR_LOADMAP3DCOLORS ¶

    LR_LOADMAP3DCOLORS: int : 0x00001000

    LR_LOADTRANSPARENT ¶

    LR_LOADTRANSPARENT: int : 0x00000020

    LR_MONOCHROME ¶

    LR_MONOCHROME: int : 0x00000001

    LR_SHARED ¶

    LR_SHARED: int : 0x00008000

    LR_VGACOLOR ¶

    LR_VGACOLOR: int : 0x00000080

    LTGRAY_BRUSH ¶

    LTGRAY_BRUSH: int : 1

    LVN_FIRST ¶

    LVN_FIRST: u32 : ~DWORD(100 - 1)

    LVN_LAST ¶

    LVN_LAST: u32 : ~DWORD(199 - 1)

    LVS_ALIGNLEFT ¶

    LVS_ALIGNLEFT: int : 0x0800

    LVS_ALIGNMASK ¶

    LVS_ALIGNMASK: int : 0x0C00

    LVS_ALIGNTOP ¶

    LVS_ALIGNTOP: int : 0x0000

    LVS_AUTOARRANGE ¶

    LVS_AUTOARRANGE: int : 0x0100

    LVS_EDITLABELS ¶

    LVS_EDITLABELS: int : 0x0200

    LVS_ICON ¶

    LVS_ICON: int : 0x0000
     

    List-View Control Styles

    LVS_LIST ¶

    LVS_LIST: int : 0x0003

    LVS_NOCOLUMNHEADER ¶

    LVS_NOCOLUMNHEADER: int : 0x4000

    LVS_NOLABELWRAP ¶

    LVS_NOLABELWRAP: int : 0x0080

    LVS_NOSCROLL ¶

    LVS_NOSCROLL: int : 0x2000

    LVS_NOSORTHEADER ¶

    LVS_NOSORTHEADER: int : 0x8000

    LVS_OWNERDATA ¶

    LVS_OWNERDATA: int : 0x1000

    LVS_OWNERDRAWFIXED ¶

    LVS_OWNERDRAWFIXED: int : 0x0400

    LVS_REPORT ¶

    LVS_REPORT: int : 0x0001

    LVS_SHAREIMAGELISTS ¶

    LVS_SHAREIMAGELISTS: int : 0x0040

    LVS_SHOWSELALWAYS ¶

    LVS_SHOWSELALWAYS: int : 0x0008

    LVS_SINGLESEL ¶

    LVS_SINGLESEL: int : 0x0004

    LVS_SMALLICON ¶

    LVS_SMALLICON: int : 0x0002

    LVS_SORTASCENDING ¶

    LVS_SORTASCENDING: int : 0x0010

    LVS_SORTDESCENDING ¶

    LVS_SORTDESCENDING: int : 0x0020

    LVS_TYPEMASK ¶

    LVS_TYPEMASK: int : 0x0003

    LVS_TYPESTYLEMASK ¶

    LVS_TYPESTYLEMASK: int : 0xFC00

    L_MAX_URL_LENGTH ¶

    L_MAX_URL_LENGTH: int : 2048 + 32 + len("://")

    MAC_CHARSET ¶

    MAC_CHARSET: int : 77

    MAPVK_VK_TO_CHAR ¶

    MAPVK_VK_TO_CHAR: int : 2

    MAPVK_VK_TO_VSC ¶

    MAPVK_VK_TO_VSC: int : 0

    MAPVK_VK_TO_VSC_EX ¶

    MAPVK_VK_TO_VSC_EX: int : 4

    MAPVK_VSC_TO_VK ¶

    MAPVK_VSC_TO_VK: int : 1

    MAPVK_VSC_TO_VK_EX ¶

    MAPVK_VSC_TO_VK_EX: int : 3

    MAXIMUM_REPARSE_DATA_BUFFER_SIZE ¶

    MAXIMUM_REPARSE_DATA_BUFFER_SIZE: int : 16 * 1024

    MAXLONG ¶

    MAXLONG: int : 0x7fffffff

    MAXSTRETCHBLTMODE ¶

    MAXSTRETCHBLTMODE: int : 4

    MAX_LINKID_TEXT ¶

    MAX_LINKID_TEXT: int : 48

    MAX_PATH ¶

    MAX_PATH: int : 0x00000104

    MAX_PATH_WIDE ¶

    MAX_PATH_WIDE: int : 0x8000

    MAX_PROTOCOL_CHAIN ¶

    MAX_PROTOCOL_CHAIN: u32 : 7

    MB_ABORTRETRYIGNORE ¶

    MB_ABORTRETRYIGNORE: int : 0x00000002

    MB_APPLMODAL ¶

    MB_APPLMODAL: int : 0x00000000

    MB_CANCELTRYCONTINUE ¶

    MB_CANCELTRYCONTINUE: int : 0x00000006

    MB_DEFAULT_DESKTOP_ONLY ¶

    MB_DEFAULT_DESKTOP_ONLY: int : 0x00020000

    MB_DEFBUTTON1 ¶

    MB_DEFBUTTON1: int : 0x00000000

    MB_DEFBUTTON2 ¶

    MB_DEFBUTTON2: int : 0x00000100

    MB_DEFBUTTON3 ¶

    MB_DEFBUTTON3: int : 0x00000200

    MB_DEFBUTTON4 ¶

    MB_DEFBUTTON4: int : 0x00000300

    MB_DEFMASK ¶

    MB_DEFMASK: int : 0x00000F00

    MB_ERR_INVALID_CHARS ¶

    MB_ERR_INVALID_CHARS: int : 8

    MB_HELP ¶

    MB_HELP: int : 0x00004000
     

    Help Button

    MB_ICONASTERISK ¶

    MB_ICONASTERISK: int : 0x00000040

    MB_ICONERROR ¶

    MB_ICONERROR: int : MB_ICONHAND

    MB_ICONEXCLAMATION ¶

    MB_ICONEXCLAMATION: int : 0x00000030

    MB_ICONHAND ¶

    MB_ICONHAND: int : 0x00000010

    MB_ICONINFORMATION ¶

    MB_ICONINFORMATION: int : MB_ICONASTERISK

    MB_ICONMASK ¶

    MB_ICONMASK: int : 0x000000F0

    MB_ICONQUESTION ¶

    MB_ICONQUESTION: int : 0x00000020

    MB_ICONSTOP ¶

    MB_ICONSTOP: int : MB_ICONHAND

    MB_ICONWARNING ¶

    MB_ICONWARNING: int : MB_ICONEXCLAMATION

    MB_MISCMASK ¶

    MB_MISCMASK: int : 0x0000C000

    MB_MODEMASK ¶

    MB_MODEMASK: int : 0x00003000

    MB_NOFOCUS ¶

    MB_NOFOCUS: int : 0x00008000

    MB_OK ¶

    MB_OK: int : 0x00000000
     

    MessageBox() Flags

    MB_OKCANCEL ¶

    MB_OKCANCEL: int : 0x00000001

    MB_RETRYCANCEL ¶

    MB_RETRYCANCEL: int : 0x00000005

    MB_RIGHT ¶

    MB_RIGHT: int : 0x00080000

    MB_RTLREADING ¶

    MB_RTLREADING: int : 0x00100000

    MB_SERVICE_NOTIFICATION ¶

    MB_SERVICE_NOTIFICATION: int : 0x00200000

    MB_SERVICE_NOTIFICATION_NT3X ¶

    MB_SERVICE_NOTIFICATION_NT3X: int : 0x00040000

    MB_SETFOREGROUND ¶

    MB_SETFOREGROUND: int : 0x00010000

    MB_SYSTEMMODAL ¶

    MB_SYSTEMMODAL: int : 0x00001000

    MB_TASKMODAL ¶

    MB_TASKMODAL: int : 0x00002000

    MB_TOPMOST ¶

    MB_TOPMOST: int : 0x00040000

    MB_TYPEMASK ¶

    MB_TYPEMASK: int : 0x0000000F

    MB_USERICON ¶

    MB_USERICON: int : 0x00000080

    MB_YESNO ¶

    MB_YESNO: int : 0x00000004

    MB_YESNOCANCEL ¶

    MB_YESNOCANCEL: int : 0x00000003

    MCN_FIRST ¶

    MCN_FIRST: u32 : ~DWORD(750 - 1)

    MCN_LAST ¶

    MCN_LAST: u32 : ~DWORD(759 - 1)

    MCS_DAYSTATE ¶

    MCS_DAYSTATE: int : 0x01
     

    Month-Calendar Control Styles

    MCS_MULTISELECT ¶

    MCS_MULTISELECT: int : 0x02

    MCS_NOTODAY ¶

    MCS_NOTODAY: int : 0x10

    MCS_NOTODAYCIRCLE ¶

    MCS_NOTODAYCIRCLE: int : 0x08

    MCS_WEEKNUMBERS ¶

    MCS_WEEKNUMBERS: int : 0x04

    MERGECOPY ¶

    MERGECOPY: u32 : 0x00C000CA
     

    dest = (source AND pattern

    MERGEPAINT ¶

    MERGEPAINT: u32 : 0x00BB0226
     

    dest = (NOT source) OR dest

    MFS_CHECKED ¶

    MFS_CHECKED: int : MF_CHECKED

    MFS_DEFAULT ¶

    MFS_DEFAULT: int : MF_DEFAULT

    MFS_DISABLED ¶

    MFS_DISABLED: int : MFS_GRAYED

    MFS_ENABLED ¶

    MFS_ENABLED: int : MF_ENABLED

    MFS_GRAYED ¶

    MFS_GRAYED: int : 0x00000003
     

    Menu flags for Add/Check/EnableMenuItem()

    MFS_HILITE ¶

    MFS_HILITE: int : MF_HILITE

    MFS_UNCHECKED ¶

    MFS_UNCHECKED: int : MF_UNCHECKED

    MFS_UNHILITE ¶

    MFS_UNHILITE: int : MF_UNHILITE

    MF_APPEND ¶

    MF_APPEND: int : 0x00000100

    MF_BITMAP ¶

    MF_BITMAP: int : 0x00000004

    MF_BYCOMMAND ¶

    MF_BYCOMMAND: int : 0x00000000

    MF_BYPOSITION ¶

    MF_BYPOSITION: int : 0x00000400

    MF_CHANGE ¶

    MF_CHANGE: int : 0x00000080

    MF_CHECKED ¶

    MF_CHECKED: int : 0x00000008

    MF_DEFAULT ¶

    MF_DEFAULT: int : 0x00001000

    MF_DELETE ¶

    MF_DELETE: int : 0x00000200

    MF_DISABLED ¶

    MF_DISABLED: int : 0x00000002

    MF_ENABLED ¶

    MF_ENABLED: int : 0x00000000

    MF_END ¶

    MF_END: int : 0x00000080
     

    Obsolete -- only used by old RES files

    MF_GRAYED ¶

    MF_GRAYED: int : 0x00000001

    MF_HELP ¶

    MF_HELP: int : 0x00004000

    MF_HILITE ¶

    MF_HILITE: int : 0x00000080

    MF_INSERT ¶

    MF_INSERT: int : 0x00000000
     

    Menu flags for Add/Check/EnableMenuItem()

    MF_MENUBARBREAK ¶

    MF_MENUBARBREAK: int : 0x00000020

    MF_MENUBREAK ¶

    MF_MENUBREAK: int : 0x00000040

    MF_MOUSESELECT ¶

    MF_MOUSESELECT: int : 0x00008000

    MF_OWNERDRAW ¶

    MF_OWNERDRAW: int : 0x00000100

    MF_POPUP ¶

    MF_POPUP: int : 0x00000010

    MF_REMOVE ¶

    MF_REMOVE: int : 0x00001000

    MF_RIGHTJUSTIFY ¶

    MF_RIGHTJUSTIFY: int : 0x00004000

    MF_SEPARATOR ¶

    MF_SEPARATOR: int : 0x00000800

    MF_STRING ¶

    MF_STRING: int : 0x00000000

    MF_SYSMENU ¶

    MF_SYSMENU: int : 0x00002000

    MF_UNCHECKED ¶

    MF_UNCHECKED: int : 0x00000000

    MF_UNHILITE ¶

    MF_UNHILITE: int : 0x00000000

    MF_USECHECKBITMAPS ¶

    MF_USECHECKBITMAPS: int : 0x00000200

    MK_CONTROL ¶

    MK_CONTROL: int : 0x0008

    MK_LBUTTON ¶

    MK_LBUTTON: int : 0x0001
     

    Key State Masks for Mouse Messages

    MK_MBUTTON ¶

    MK_MBUTTON: int : 0x0010

    MK_RBUTTON ¶

    MK_RBUTTON: int : 0x0002

    MK_SHIFT ¶

    MK_SHIFT: int : 0x0004

    MK_XBUTTON1 ¶

    MK_XBUTTON1: int : 0x0020

    MK_XBUTTON2 ¶

    MK_XBUTTON2: int : 0x0040

    MONO_FONT ¶

    MONO_FONT: int : 8

    MOUSEEVENTF_ABSOLUTE ¶

    MOUSEEVENTF_ABSOLUTE: int : 0x8000

    MOUSEEVENTF_HWHEEL ¶

    MOUSEEVENTF_HWHEEL: int : 0x1000

    MOUSEEVENTF_LEFTDOWN ¶

    MOUSEEVENTF_LEFTDOWN: int : 0x0002

    MOUSEEVENTF_LEFTUP ¶

    MOUSEEVENTF_LEFTUP: int : 0x0004

    MOUSEEVENTF_MIDDLEDOWN ¶

    MOUSEEVENTF_MIDDLEDOWN: int : 0x0020

    MOUSEEVENTF_MIDDLEUP ¶

    MOUSEEVENTF_MIDDLEUP: int : 0x0040

    MOUSEEVENTF_MOVE ¶

    MOUSEEVENTF_MOVE: int : 0x0001

    MOUSEEVENTF_MOVE_NOCOALESCE ¶

    MOUSEEVENTF_MOVE_NOCOALESCE: int : 0x2000

    MOUSEEVENTF_RIGHTDOWN ¶

    MOUSEEVENTF_RIGHTDOWN: int : 0x0008

    MOUSEEVENTF_RIGHTUP ¶

    MOUSEEVENTF_RIGHTUP: int : 0x0010

    MOUSEEVENTF_VIRTUALDESK ¶

    MOUSEEVENTF_VIRTUALDESK: int : 0x4000

    MOUSEEVENTF_WHEEL ¶

    MOUSEEVENTF_WHEEL: int : 0x0800

    MOUSEEVENTF_XDOWN ¶

    MOUSEEVENTF_XDOWN: int : 0x0080

    MOUSEEVENTF_XUP ¶

    MOUSEEVENTF_XUP: int : 0x0100

    MOVEFILE_COPY_ALLOWED ¶

    MOVEFILE_COPY_ALLOWED: u32 : 0x2
    MOVEFILE_CREATE_HARDLINK: u32 : 0x10

    MOVEFILE_DELAY_UNTIL_REBOOT ¶

    MOVEFILE_DELAY_UNTIL_REBOOT: u32 : 0x4

    MOVEFILE_FAIL_IF_NOT_TRACKABLE ¶

    MOVEFILE_FAIL_IF_NOT_TRACKABLE: u32 : 0x20

    MOVEFILE_REPLACE_EXISTING ¶

    MOVEFILE_REPLACE_EXISTING: u32 : 0x1

    MOVEFILE_WRITE_THROUGH ¶

    MOVEFILE_WRITE_THROUGH: u32 : 0x8

    MSG_OOB ¶

    MSG_OOB: i32 : 1
     

    Send/Receive flags.

    MSG_PEEK ¶

    MSG_PEEK: i32 : 2
     

    recv should not remove the data from the buffer. Only valid for non-overlapped operations.

    NFS_ALL ¶

    NFS_ALL: int : 0x10

    NFS_BUTTON ¶

    NFS_BUTTON: int : 0x08

    NFS_EDIT ¶

    NFS_EDIT: int : 0x01
     

    Native Font Control Styles

    NFS_LISTCOMBO ¶

    NFS_LISTCOMBO: int : 0x04

    NFS_STATIC ¶

    NFS_STATIC: int : 0x02

    NFS_USEFONTASSOC ¶

    NFS_USEFONTASSOC: int : 0x20

    NIF_GUID ¶

    NIF_GUID: int : 0x00000020

    NIF_ICON ¶

    NIF_ICON: int : 0x00000002

    NIF_INFO ¶

    NIF_INFO: int : 0x00000010

    NIF_MESSAGE ¶

    NIF_MESSAGE: int : 0x00000001

    NIF_REALTIME ¶

    NIF_REALTIME: int : 0x00000040

    NIF_SHOWTIP ¶

    NIF_SHOWTIP: int : 0x00000080

    NIF_STATE ¶

    NIF_STATE: int : 0x00000008

    NIF_TIP ¶

    NIF_TIP: int : 0x00000004

    NIM_ADD ¶

    NIM_ADD: int : 0x00000000

    NIM_DELETE ¶

    NIM_DELETE: int : 0x00000002

    NIM_MODIFY ¶

    NIM_MODIFY: int : 0x00000001

    NIM_SETFOCUS ¶

    NIM_SETFOCUS: int : 0x00000003

    NIM_SETVERSION ¶

    NIM_SETVERSION: int : 0x00000004

    NM_CHAR ¶

    NM_CHAR: uintptr : NM_OUTOFMEMORY - 17
     

    uses NMCHAR struct

    NM_CLICK ¶

    NM_CLICK: uintptr : NM_OUTOFMEMORY - 1
     

    uses NMCLICK struct

    NM_CUSTOMDRAW ¶

    NM_CUSTOMDRAW: uintptr : NM_OUTOFMEMORY - 11

    NM_CUSTOMTEXT ¶

    NM_CUSTOMTEXT: uintptr : NM_OUTOFMEMORY - 23
     

    uses NMCUSTOMTEXT struct

    NM_DBLCLK ¶

    NM_DBLCLK: uintptr : NM_OUTOFMEMORY - 2

    NM_FIRST ¶

    NM_FIRST: int : 0
     

    Common Control Notification Code Ranges

    NM_FONTCHANGED ¶

    NM_FONTCHANGED: uintptr : NM_OUTOFMEMORY - 22

    NM_HOVER ¶

    NM_HOVER: uintptr : NM_OUTOFMEMORY - 12

    NM_KEYDOWN ¶

    NM_KEYDOWN: uintptr : NM_OUTOFMEMORY - 14
     

    uses NMKEY struct

    NM_KILLFOCUS ¶

    NM_KILLFOCUS: uintptr : NM_OUTOFMEMORY - 7

    NM_LAST ¶

    NM_LAST: u32 : ~DWORD(99 - 1)

    NM_LDOWN ¶

    NM_LDOWN: uintptr : NM_OUTOFMEMORY - 19

    NM_NCHITTEST ¶

    NM_NCHITTEST: uintptr : NM_OUTOFMEMORY - 13
     

    uses NMMOUSE struct

    NM_OUTOFMEMORY ¶

    NM_OUTOFMEMORY: uintptr : ~uintptr(0)
     

    Generic WM_NOTIFY notification codes

    NM_RCLICK ¶

    NM_RCLICK: uintptr : NM_OUTOFMEMORY - 4
     

    uses NMCLICK struct

    NM_RDBLCLK ¶

    NM_RDBLCLK: uintptr : NM_OUTOFMEMORY - 5

    NM_RDOWN ¶

    NM_RDOWN: uintptr : NM_OUTOFMEMORY - 20

    NM_RELEASEDCAPTURE ¶

    NM_RELEASEDCAPTURE: uintptr : NM_OUTOFMEMORY - 15

    NM_RETURN ¶

    NM_RETURN: uintptr : NM_OUTOFMEMORY - 3

    NM_SETCURSOR ¶

    NM_SETCURSOR: uintptr : NM_OUTOFMEMORY - 16
     

    uses NMMOUSE struct

    NM_SETFOCUS ¶

    NM_SETFOCUS: uintptr : NM_OUTOFMEMORY - 6

    NM_THEMECHANGED ¶

    NM_THEMECHANGED: uintptr : NM_OUTOFMEMORY - 21

    NM_TOOLTIPSCREATED ¶

    NM_TOOLTIPSCREATED: uintptr : NM_OUTOFMEMORY - 18
     

    notify of when the tooltips window is create

    NM_TVSTATEIMAGECHANGING ¶

    NM_TVSTATEIMAGECHANGING: uintptr : NM_OUTOFMEMORY - 23
     

    uses NMTVSTATEIMAGECHANGING struct, defined after HTREEITEM

    NOMIRRORBITMAP ¶

    NOMIRRORBITMAP: u32 : 0x80000000
     

    Do not Mirror the bitmap in this call

    NONANTIALIASED_QUALITY ¶

    NONANTIALIASED_QUALITY: int : 3

    NONZEROLHND ¶

    NONZEROLHND: int : LMEM_MOVEABLE

    NONZEROLPTR ¶

    NONZEROLPTR: int : LMEM_FIXED

    NOTSRCCOPY ¶

    NOTSRCCOPY: u32 : 0x00330008
     

    dest = (NOT source)

    NOTSRCERASE ¶

    NOTSRCERASE: u32 : 0x001100A6
     

    dest = (NOT src) AND (NOT dest)

    NULLREGION ¶

    NULLREGION: int : 1

    NULL_BRUSH ¶

    NULL_BRUSH: int : 5

    NULL_PEN ¶

    NULL_PEN: int : 8

    OEM_CHARSET ¶

    OEM_CHARSET: int : 255

    OEM_FIXED_FONT ¶

    OEM_FIXED_FONT: int : 10

    OPEN_ALWAYS ¶

    OPEN_ALWAYS: u32 : 4

    OPEN_EXISTING ¶

    OPEN_EXISTING: u32 : 3

    OUT_CHARACTER_PRECIS ¶

    OUT_CHARACTER_PRECIS: int : 2

    OUT_DEFAULT_PRECIS ¶

    OUT_DEFAULT_PRECIS: int : 0
     

    Output Precisions

    OUT_DEVICE_PRECIS ¶

    OUT_DEVICE_PRECIS: int : 5

    OUT_OUTLINE_PRECIS ¶

    OUT_OUTLINE_PRECIS: int : 8

    OUT_PS_ONLY_PRECIS ¶

    OUT_PS_ONLY_PRECIS: int : 10

    OUT_RASTER_PRECIS ¶

    OUT_RASTER_PRECIS: int : 6

    OUT_SCREEN_OUTLINE_PRECIS ¶

    OUT_SCREEN_OUTLINE_PRECIS: int : 9

    OUT_STRING_PRECIS ¶

    OUT_STRING_PRECIS: int : 1

    OUT_STROKE_PRECIS ¶

    OUT_STROKE_PRECIS: int : 3

    OUT_TT_ONLY_PRECIS ¶

    OUT_TT_ONLY_PRECIS: int : 7

    OUT_TT_PRECIS ¶

    OUT_TT_PRECIS: int : 4

    OWNER_SECURITY_INFORMATION ¶

    OWNER_SECURITY_INFORMATION: int : 0x00000001

    PATCOPY ¶

    PATCOPY: u32 : 0x00F00021
     

    dest = pattern

    PATINVERT ¶

    PATINVERT: u32 : 0x005A0049
     

    dest = pattern XOR dest

    PATPAINT ¶

    PATPAINT: u32 : 0x00FB0A09
     

    dest = DPSnoo

    PBST_ERROR ¶

    PBST_ERROR: int : 0x0002

    PBST_NORMAL ¶

    PBST_NORMAL: int : 0x0001

    PBST_PAUSED ¶

    PBST_PAUSED: int : 0x0003

    PBS_MARQUEE ¶

    PBS_MARQUEE: int : 0x08

    PBS_SMOOTH ¶

    PBS_SMOOTH: int : 0x01

    PBS_SMOOTHREVERSE ¶

    PBS_SMOOTHREVERSE: int : 0x10

    PBS_VERTICAL ¶

    PBS_VERTICAL: int : 0x04

    PFD_DEPTH_DONTCARE ¶

    PFD_DEPTH_DONTCARE: int : 0x20000000
     

    PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only

    PFD_DIRECT3D_ACCELERATED ¶

    PFD_DIRECT3D_ACCELERATED: int : 0x00004000

    PFD_DOUBLEBUFFER ¶

    PFD_DOUBLEBUFFER: int : 0x00000001
     

    PIXELFORMATDESCRIPTOR flags

    PFD_DOUBLEBUFFER_DONTCARE ¶

    PFD_DOUBLEBUFFER_DONTCARE: int : 0x40000000

    PFD_DRAW_TO_BITMAP ¶

    PFD_DRAW_TO_BITMAP: int : 0x00000008

    PFD_DRAW_TO_WINDOW ¶

    PFD_DRAW_TO_WINDOW: int : 0x00000004

    PFD_GENERIC_ACCELERATED ¶

    PFD_GENERIC_ACCELERATED: int : 0x00001000

    PFD_GENERIC_FORMAT ¶

    PFD_GENERIC_FORMAT: int : 0x00000040

    PFD_MAIN_PLANE ¶

    PFD_MAIN_PLANE: int : 0
     

    layer types

    PFD_NEED_PALETTE ¶

    PFD_NEED_PALETTE: int : 0x00000080

    PFD_NEED_SYSTEM_PALETTE ¶

    PFD_NEED_SYSTEM_PALETTE: int : 0x00000100

    PFD_OVERLAY_PLANE ¶

    PFD_OVERLAY_PLANE: int : 1

    PFD_STEREO ¶

    PFD_STEREO: int : 0x00000002

    PFD_STEREO_DONTCARE ¶

    PFD_STEREO_DONTCARE: int : 0x80000000

    PFD_SUPPORT_COMPOSITION ¶

    PFD_SUPPORT_COMPOSITION: int : 0x00008000

    PFD_SUPPORT_DIRECTDRAW ¶

    PFD_SUPPORT_DIRECTDRAW: int : 0x00002000

    PFD_SUPPORT_GDI ¶

    PFD_SUPPORT_GDI: int : 0x00000010

    PFD_SUPPORT_OPENGL ¶

    PFD_SUPPORT_OPENGL: int : 0x00000020

    PFD_SWAP_COPY ¶

    PFD_SWAP_COPY: int : 0x00000400

    PFD_SWAP_EXCHANGE ¶

    PFD_SWAP_EXCHANGE: int : 0x00000200

    PFD_SWAP_LAYER_BUFFERS ¶

    PFD_SWAP_LAYER_BUFFERS: int : 0x00000800

    PFD_TYPE_COLORINDEX ¶

    PFD_TYPE_COLORINDEX: int : 1

    PFD_TYPE_RGBA ¶

    PFD_TYPE_RGBA: int : 0
     

    pixel types

    PFD_UNDERLAY_PLANE ¶

    PFD_UNDERLAY_PLANE: int : -1

    PGN_FIRST ¶

    PGN_FIRST: u32 : ~DWORD(900 - 1)

    PGN_LAST ¶

    PGN_LAST: u32 : ~DWORD(950 - 1)

    PGS_AUTOSCROLL ¶

    PGS_AUTOSCROLL: int : 0x2

    PGS_DRAGNDROP ¶

    PGS_DRAGNDROP: int : 0x4

    PGS_HORZ ¶

    PGS_HORZ: int : 0x1

    PGS_VERT ¶

    PGS_VERT: int : 0x0
     

    Pager Control Styles

    PIPE_ACCEPT_REMOTE_CLIENTS ¶

    PIPE_ACCEPT_REMOTE_CLIENTS: u32 : 0x00000000

    PIPE_ACCESS_DUPLEX ¶

    PIPE_ACCESS_DUPLEX: u32 : 0x00000003

    PIPE_ACCESS_INBOUND ¶

    PIPE_ACCESS_INBOUND: u32 : 0x00000001

    PIPE_ACCESS_OUTBOUND ¶

    PIPE_ACCESS_OUTBOUND: u32 : 0x00000002

    PIPE_READMODE_BYTE ¶

    PIPE_READMODE_BYTE: u32 : 0x00000000

    PIPE_READMODE_MESSAGE ¶

    PIPE_READMODE_MESSAGE: u32 : 0x00000002

    PIPE_REJECT_REMOTE_CLIENTS ¶

    PIPE_REJECT_REMOTE_CLIENTS: u32 : 0x00000008

    PIPE_TYPE_BYTE ¶

    PIPE_TYPE_BYTE: u32 : 0x00000000

    PIPE_TYPE_MESSAGE ¶

    PIPE_TYPE_MESSAGE: u32 : 0x00000004

    PIPE_WAIT ¶

    PIPE_WAIT: u32 : 0x00000000

    PM_NOREMOVE ¶

    PM_NOREMOVE: u32 : 0x0000

    PM_NOYIELD ¶

    PM_NOYIELD: u32 : 0x0002

    PM_QS_INPUT ¶

    PM_QS_INPUT: u32 : QS_INPUT << 16

    PM_QS_PAINT ¶

    PM_QS_PAINT: u32 : QS_PAINT << 16

    PM_QS_POSTMESSAGE ¶

    PM_QS_POSTMESSAGE: u32 : (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16

    PM_QS_SENDMESSAGE ¶

    PM_QS_SENDMESSAGE: u32 : QS_SENDMESSAGE << 16

    PM_REMOVE ¶

    PM_REMOVE: u32 : 0x0001

    POWER_REQUEST_CONTEXT_DETAILED_STRING ¶

    POWER_REQUEST_CONTEXT_DETAILED_STRING: int : DIAGNOSTIC_REASON_DETAILED_STRING

    POWER_REQUEST_CONTEXT_SIMPLE_STRING ¶

    POWER_REQUEST_CONTEXT_SIMPLE_STRING: int : DIAGNOSTIC_REASON_SIMPLE_STRING

    POWER_REQUEST_CONTEXT_VERSION ¶

    POWER_REQUEST_CONTEXT_VERSION: int : DIAGNOSTIC_REASON_VERSION

    PROCESS_TRUST_LABEL_SECURITY_INFORMATION ¶

    PROCESS_TRUST_LABEL_SECURITY_INFORMATION: int : 0x00000080

    PROGRESS_CONTINUE ¶

    PROGRESS_CONTINUE: u32 : 0

    PROOF_QUALITY ¶

    PROOF_QUALITY: int : 2

    PROTECTED_DACL_SECURITY_INFORMATION ¶

    PROTECTED_DACL_SECURITY_INFORMATION: int : 0x80000000

    PROTECTED_SACL_SECURITY_INFORMATION ¶

    PROTECTED_SACL_SECURITY_INFORMATION: int : 0x40000000

    PWLEN ¶

    PWLEN: int : 256
     

    Maximum password length

    QS_ALLEVENTS ¶

    QS_ALLEVENTS: u32 : QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY

    QS_ALLINPUT ¶

    QS_ALLINPUT: u32 : QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE

    QS_ALLPOSTMESSAGE ¶

    QS_ALLPOSTMESSAGE: u32 : 0x0100

    QS_HOTKEY ¶

    QS_HOTKEY: u32 : 0x0080

    QS_INPUT ¶

    QS_INPUT: u32 : QS_MOUSE | QS_KEY | QS_RAWINPUT

    QS_KEY ¶

    QS_KEY: u32 : 0x0001

    QS_MOUSE ¶

    QS_MOUSE: u32 : QS_MOUSEMOVE | QS_MOUSEBUTTON

    QS_MOUSEBUTTON ¶

    QS_MOUSEBUTTON: u32 : 0x0004

    QS_MOUSEMOVE ¶

    QS_MOUSEMOVE: u32 : 0x0002

    QS_PAINT ¶

    QS_PAINT: u32 : 0x0020

    QS_POSTMESSAGE ¶

    QS_POSTMESSAGE: u32 : 0x0008

    QS_RAWINPUT ¶

    QS_RAWINPUT: u32 : 0x0400

    QS_SENDMESSAGE ¶

    QS_SENDMESSAGE: u32 : 0x0040

    QS_TIMER ¶

    QS_TIMER: u32 : 0x0010

    R2_BLACK ¶

    R2_BLACK: int : 1
     

    Binary raster ops

    R2_COPYPEN ¶

    R2_COPYPEN: int : 13
     

    P

    R2_LAST ¶

    R2_LAST: int : 16

    R2_MASKNOTPEN ¶

    R2_MASKNOTPEN: int : 3
     

    DPna

    R2_MASKPEN ¶

    R2_MASKPEN: int : 9
     

    DPa

    R2_MASKPENNOT ¶

    R2_MASKPENNOT: int : 5
     

    PDna

    R2_MERGENOTPEN ¶

    R2_MERGENOTPEN: int : 12
     

    DPno

    R2_MERGEPEN ¶

    R2_MERGEPEN: int : 15
     

    DPo

    R2_MERGEPENNOT ¶

    R2_MERGEPENNOT: int : 14
     

    PDno

    R2_NOP ¶

    R2_NOP: int : 11
     

    D

    R2_NOT ¶

    R2_NOT: int : 6
     

    Dn

    R2_NOTCOPYPEN ¶

    R2_NOTCOPYPEN: int : 4
     

    PN

    R2_NOTMASKPEN ¶

    R2_NOTMASKPEN: int : 8
     

    DPan

    R2_NOTMERGEPEN ¶

    R2_NOTMERGEPEN: int : 2
     

    DPon

    R2_NOTXORPEN ¶

    R2_NOTXORPEN: int : 10
     

    DPxn

    R2_WHITE ¶

    R2_WHITE: int : 16
     

    1

    R2_XORPEN ¶

    R2_XORPEN: int : 7
     

    DPx

    RBN_FIRST ¶

    RBN_FIRST: u32 : ~DWORD(831 - 1)

    RBN_LAST ¶

    RBN_LAST: u32 : ~DWORD(859 - 1)

    RBS_AUTOSIZE ¶

    RBS_AUTOSIZE: int : 0x2000

    RBS_BANDBORDERS ¶

    RBS_BANDBORDERS: int : 0x0400

    RBS_DBLCLKTOGGLE ¶

    RBS_DBLCLKTOGGLE: int : 0x8000

    RBS_FIXEDORDER ¶

    RBS_FIXEDORDER: int : 0x0800

    RBS_REGISTERDROP ¶

    RBS_REGISTERDROP: int : 0x1000

    RBS_TOOLTIPS ¶

    RBS_TOOLTIPS: int : 0x0100
     

    Rebar Control Styles

    RBS_VARHEIGHT ¶

    RBS_VARHEIGHT: int : 0x0200

    RBS_VERTICALGRIPPER ¶

    RBS_VERTICALGRIPPER: int : 0x4000

    READ_CONTROL ¶

    READ_CONTROL: u32 : 0x00020000

    REG_APP_HIVE ¶

    REG_APP_HIVE: int : 0x00000010

    REG_APP_HIVE_OPEN_READ_ONLY ¶

    REG_APP_HIVE_OPEN_READ_ONLY: int : REG_OPEN_READ_ONLY

    REG_BINARY ¶

    REG_BINARY: int : 3

    REG_BOOT_HIVE ¶

    REG_BOOT_HIVE: int : 0x00000400

    REG_CREATED_NEW_KEY ¶

    REG_CREATED_NEW_KEY: int : 0x00000001
     

    Key creation/open disposition

    REG_DWORD ¶

    REG_DWORD: int : 4

    REG_DWORD_BIG_ENDIAN ¶

    REG_DWORD_BIG_ENDIAN: int : 5

    REG_DWORD_LITTLE_ENDIAN ¶

    REG_DWORD_LITTLE_ENDIAN: int : 4

    REG_EXPAND_SZ ¶

    REG_EXPAND_SZ: int : 2

    REG_FLUSH_HIVE_FILE_GROWTH ¶

    REG_FLUSH_HIVE_FILE_GROWTH: int : 0x00001000

    REG_FORCE_RESTORE ¶

    REG_FORCE_RESTORE: int : 0x00000008

    REG_FORCE_UNLOAD ¶

    REG_FORCE_UNLOAD: int : 1
     

    Unload Flags

    REG_FULL_RESOURCE_DESCRIPTOR ¶

    REG_FULL_RESOURCE_DESCRIPTOR: int : 9

    REG_HIVE_EXACT_FILE_GROWTH ¶

    REG_HIVE_EXACT_FILE_GROWTH: int : 0x00000080

    REG_HIVE_NO_RM ¶

    REG_HIVE_NO_RM: int : 0x00000100

    REG_HIVE_SINGLE_LOG ¶

    REG_HIVE_SINGLE_LOG: int : 0x00000200

    REG_IMMUTABLE ¶

    REG_IMMUTABLE: int : 0x00004000

    REG_LATEST_FORMAT ¶

    REG_LATEST_FORMAT: int : 2
    REG_LEGAL_CHANGE_FILTER: int : REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET | REG_NOTIFY_CHANGE_SECURITY | REG_NOTIFY_THREAD_AGNOSTIC
    REG_LEGAL_OPTION: int : REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE | REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK | REG_OPTION_BACKUP_RESTORE | REG_OPTION_OPEN_LINK | REG_OPTION_DONT_VIRTUALIZE
    REG_LINK: int : 6

    REG_LOAD_HIVE_OPEN_HANDLE ¶

    REG_LOAD_HIVE_OPEN_HANDLE: int : 0x00000800

    REG_MULTI_SZ ¶

    REG_MULTI_SZ: int : 7

    REG_NONE ¶

    REG_NONE: int : 0
     

    Predefined Value Types.

    REG_NOTIFY_CHANGE_ATTRIBUTES ¶

    REG_NOTIFY_CHANGE_ATTRIBUTES: int : 0x00000002

    REG_NOTIFY_CHANGE_LAST_SET ¶

    REG_NOTIFY_CHANGE_LAST_SET: int : 0x00000004

    REG_NOTIFY_CHANGE_NAME ¶

    REG_NOTIFY_CHANGE_NAME: int : 0x00000001
     

    Notify filter values

    REG_NOTIFY_CHANGE_SECURITY ¶

    REG_NOTIFY_CHANGE_SECURITY: int : 0x00000008

    REG_NOTIFY_THREAD_AGNOSTIC ¶

    REG_NOTIFY_THREAD_AGNOSTIC: int : 0x10000000

    REG_NO_COMPRESSION ¶

    REG_NO_COMPRESSION: int : 4

    REG_NO_IMPERSONATION_FALLBACK ¶

    REG_NO_IMPERSONATION_FALLBACK: int : 0x00008000

    REG_NO_LAZY_FLUSH ¶

    REG_NO_LAZY_FLUSH: int : 0x00000004

    REG_OPENED_EXISTING_KEY ¶

    REG_OPENED_EXISTING_KEY: int : 0x00000002
    REG_OPEN_LEGAL_OPTION: int : REG_OPTION_RESERVED | REG_OPTION_BACKUP_RESTORE | REG_OPTION_OPEN_LINK | REG_OPTION_DONT_VIRTUALIZE

    REG_OPEN_READ_ONLY ¶

    REG_OPEN_READ_ONLY: int : 0x00002000

    REG_OPTION_BACKUP_RESTORE ¶

    REG_OPTION_BACKUP_RESTORE: int : 0x00000004
    REG_OPTION_CREATE_LINK: int : 0x00000002

    REG_OPTION_DONT_VIRTUALIZE ¶

    REG_OPTION_DONT_VIRTUALIZE: int : 0x00000010

    REG_OPTION_NON_VOLATILE ¶

    REG_OPTION_NON_VOLATILE: int : 0x00000000
    REG_OPTION_OPEN_LINK: int : 0x00000008

    REG_OPTION_RESERVED ¶

    REG_OPTION_RESERVED: int : 0x00000000
     

    Open/Create Options

    REG_OPTION_VOLATILE ¶

    REG_OPTION_VOLATILE: int : 0x00000001

    REG_PROCESS_PRIVATE ¶

    REG_PROCESS_PRIVATE: int : 0x00000020

    REG_QWORD ¶

    REG_QWORD: int : 11

    REG_QWORD_LITTLE_ENDIAN ¶

    REG_QWORD_LITTLE_ENDIAN: int : 11

    REG_REFRESH_HIVE ¶

    REG_REFRESH_HIVE: int : 0x00000002

    REG_RESOURCE_LIST ¶

    REG_RESOURCE_LIST: int : 8

    REG_RESOURCE_REQUIREMENTS_LIST ¶

    REG_RESOURCE_REQUIREMENTS_LIST: int : 10

    REG_STANDARD_FORMAT ¶

    REG_STANDARD_FORMAT: int : 1
     

    hive format to be used by Reg(Nt)SaveKeyEx

    REG_START_JOURNAL ¶

    REG_START_JOURNAL: int : 0x00000040

    REG_SZ ¶

    REG_SZ: int : 1
    REG_UNLOAD_LEGAL_FLAGS: int : REG_FORCE_UNLOAD

    REG_WHOLE_HIVE_VOLATILE ¶

    REG_WHOLE_HIVE_VOLATILE: int : 0x00000001
     

    Key restore & hive load flags

    RGN_ERROR ¶

    RGN_ERROR: int : ERROR

    RRF_NOEXPAND ¶

    RRF_NOEXPAND: int : 0x10000000

    RRF_RT_ANY ¶

    RRF_RT_ANY: int : 0x0000ffff

    RRF_RT_DWORD ¶

    RRF_RT_DWORD: int : RRF_RT_REG_BINARY | RRF_RT_REG_DWORD

    RRF_RT_QWORD ¶

    RRF_RT_QWORD: int : RRF_RT_REG_BINARY | RRF_RT_REG_QWORD

    RRF_RT_REG_BINARY ¶

    RRF_RT_REG_BINARY: int : 0x00000008

    RRF_RT_REG_DWORD ¶

    RRF_RT_REG_DWORD: int : 0x00000010

    RRF_RT_REG_EXPAND_SZ ¶

    RRF_RT_REG_EXPAND_SZ: int : 0x00000004

    RRF_RT_REG_MULTI_SZ ¶

    RRF_RT_REG_MULTI_SZ: int : 0x00000020

    RRF_RT_REG_NONE ¶

    RRF_RT_REG_NONE: int : 0x00000001
     

    RRF - Registry Routine Flags (for RegGetValue)

    RRF_RT_REG_QWORD ¶

    RRF_RT_REG_QWORD: int : 0x00000040

    RRF_RT_REG_SZ ¶

    RRF_RT_REG_SZ: int : 0x00000002

    RRF_ZEROONFAILURE ¶

    RRF_ZEROONFAILURE: int : 0x20000000

    RUSSIAN_CHARSET ¶

    RUSSIAN_CHARSET: int : 204

    SACL_SECURITY_INFORMATION ¶

    SACL_SECURITY_INFORMATION: int : 0x00000008

    SBARS_SIZEGRIP ¶

    SBARS_SIZEGRIP: int : 0x100
     

    Statusbar Control Styles

    SBARS_TOOLTIPS ¶

    SBARS_TOOLTIPS: int : 0x800

    SBN_FIRST ¶

    SBN_FIRST: u32 : ~DWORD(880 - 1)

    SBN_LAST ¶

    SBN_LAST: u32 : ~DWORD(899 - 1)

    SBT_TOOLTIPS ¶

    SBT_TOOLTIPS: int : 0x800
     

    Statusbar Control Constants

    SCF_ISSECURE ¶

    SCF_ISSECURE: int : 0x00000001

    SCOPE_SECURITY_INFORMATION ¶

    SCOPE_SECURITY_INFORMATION: int : 0x00000040

    SC_ARRANGE ¶

    SC_ARRANGE: int : 0xF110

    SC_CLOSE ¶

    SC_CLOSE: int : 0xF060

    SC_CONTEXTHELP ¶

    SC_CONTEXTHELP: int : 0xF180

    SC_DEFAULT ¶

    SC_DEFAULT: int : 0xF160

    SC_HOTKEY ¶

    SC_HOTKEY: int : 0xF150

    SC_HSCROLL ¶

    SC_HSCROLL: int : 0xF080

    SC_ICON ¶

    SC_ICON: int : SC_MINIMIZE

    SC_KEYMENU ¶

    SC_KEYMENU: int : 0xF100

    SC_MAXIMIZE ¶

    SC_MAXIMIZE: int : 0xF030

    SC_MINIMIZE ¶

    SC_MINIMIZE: int : 0xF020

    SC_MONITORPOWER ¶

    SC_MONITORPOWER: int : 0xF170

    SC_MOUSEMENU ¶

    SC_MOUSEMENU: int : 0xF090

    SC_MOVE ¶

    SC_MOVE: int : 0xF010

    SC_NEXTWINDOW ¶

    SC_NEXTWINDOW: int : 0xF040

    SC_PREVWINDOW ¶

    SC_PREVWINDOW: int : 0xF050

    SC_RESTORE ¶

    SC_RESTORE: int : 0xF120

    SC_SCREENSAVE ¶

    SC_SCREENSAVE: int : 0xF140

    SC_SEPARATOR ¶

    SC_SEPARATOR: int : 0xF00F

    SC_SIZE ¶

    SC_SIZE: int : 0xF000
     

    System Menu Command Values

    SC_TASKLIST ¶

    SC_TASKLIST: int : 0xF130

    SC_VSCROLL ¶

    SC_VSCROLL: int : 0xF070

    SC_ZOOM ¶

    SC_ZOOM: int : SC_MAXIMIZE

    SD_BOTH ¶

    SD_BOTH: i32 : 2

    SD_RECEIVE ¶

    SD_RECEIVE: i32 : 0
     

    Shutdown manners

    SD_SEND ¶

    SD_SEND: i32 : 1

    SECURITY_MAX_SID_SIZE ¶

    SECURITY_MAX_SID_SIZE: int : 68

    SECURITY_SQOS_PRESENT ¶

    SECURITY_SQOS_PRESENT: u32 : 0x00100000

    SEE_MASK_ASYNCOK ¶

    SEE_MASK_ASYNCOK: int : 0x00100000

    SEE_MASK_CLASSKEY ¶

    SEE_MASK_CLASSKEY: int : 0x00000003
     

    SHELLEXECUTEINFO.hkeyClass is valid

    SEE_MASK_CLASSNAME ¶

    SEE_MASK_CLASSNAME: int : 0x00000001
     

    SHELLEXECUTEINFO.lpClass is valid

    SEE_MASK_CONNECTNETDRV ¶

    SEE_MASK_CONNECTNETDRV: int : 0x00000080
     

    enables re-connecting disconnected network drives

    SEE_MASK_DEFAULT ¶

    SEE_MASK_DEFAULT: int : 0x00000000
     

    Note CLASSKEY overrides CLASSNAME

    SEE_MASK_DOENVSUBST ¶

    SEE_MASK_DOENVSUBST: int : 0x00000200
     

    indicates that SHELLEXECUTEINFO.lpFile contains env vars that should be expanded

    SEE_MASK_FLAG_DDEWAIT ¶

    SEE_MASK_FLAG_DDEWAIT: int : SEE_MASK_NOASYNC
     

    Use SEE_MASK_NOASYNC instead of SEE_MASK_FLAG_DDEWAIT as it more accuratly describes the behavior

    SEE_MASK_FLAG_HINST_IS_SITE ¶

    SEE_MASK_FLAG_HINST_IS_SITE: int : 0x08000000
     

    When SEE_MASK_FLAG_HINST_IS_SITE is specified SHELLEXECUTEINFO.hInstApp is used as an _In_ parameter and specifies a IUnknown* to be used as a site pointer. The site pointer is used to provide services to shell execute, the handler binding process and the verb handlers once they are invoked.

    SEE_MASK_FLAG_LOG_USAGE ¶

    SEE_MASK_FLAG_LOG_USAGE: int : 0x04000000

    SEE_MASK_FLAG_NO_UI ¶

    SEE_MASK_FLAG_NO_UI: int : 0x00000400
     

    disable UI including error messages

    SEE_MASK_HMONITOR ¶

    SEE_MASK_HMONITOR: int : 0x00200000
     

    SHELLEXECUTEINFO.hMonitor

    SEE_MASK_HOTKEY ¶

    SEE_MASK_HOTKEY: int : 0x00000020
     

    SHELLEXECUTEINFO.dwHotKey is valid

    SEE_MASK_ICON ¶

    SEE_MASK_ICON: int : 0x00000010
     

    not used

    SEE_MASK_IDLIST ¶

    SEE_MASK_IDLIST: int : 0x00000004
     

    Note SEE_MASK_INVOKEIDLIST(0xC) implies SEE_MASK_IDLIST(0x04)

    SEE_MASK_INVOKEIDLIST ¶

    SEE_MASK_INVOKEIDLIST: int : 0x0000000c
     

    enable IContextMenu based verbs

    SEE_MASK_NOASYNC ¶

    SEE_MASK_NOASYNC: int : 0x00000100
     

    block on the call until the invoke has completed, use for callers that exit after calling ShellExecuteEx()

    SEE_MASK_NOCLOSEPROCESS ¶

    SEE_MASK_NOCLOSEPROCESS: int : 0x00000040
     

    SHELLEXECUTEINFO.hProcess

    SEE_MASK_NOQUERYCLASSSTORE ¶

    SEE_MASK_NOQUERYCLASSSTORE: int : 0x01000000

    SEE_MASK_NOZONECHECKS ¶

    SEE_MASK_NOZONECHECKS: int : 0x00800000

    SEE_MASK_NO_CONSOLE ¶

    SEE_MASK_NO_CONSOLE: int : 0x00008000

    SEE_MASK_UNICODE ¶

    SEE_MASK_UNICODE: int : 0x00004000

    SEE_MASK_WAITFORINPUTIDLE ¶

    SEE_MASK_WAITFORINPUTIDLE: int : 0x02000000

    SHACF_AUTOAPPEND_FORCE_OFF ¶

    SHACF_AUTOAPPEND_FORCE_OFF: int : 0x80000000
     

    Ignore the registry default and force the feature off. (Also know as AutoComplete)

    SHACF_AUTOAPPEND_FORCE_ON ¶

    SHACF_AUTOAPPEND_FORCE_ON: int : 0x40000000
     

    Ignore the registry default and force the feature on. (Also know as AutoComplete)

    SHACF_AUTOSUGGEST_FORCE_OFF ¶

    SHACF_AUTOSUGGEST_FORCE_OFF: int : 0x20000000
     

    Ignore the registry default and force the feature off.

    SHACF_AUTOSUGGEST_FORCE_ON ¶

    SHACF_AUTOSUGGEST_FORCE_ON: int : 0x10000000
     

    Ignore the registry default and force the feature on.

    SHACF_DEFAULT ¶

    SHACF_DEFAULT: int : 0x00000000
     

    Currently (SHACF_FILESYSTEM | SHACF_URLALL)

    SHACF_FILESYSTEM ¶

    SHACF_FILESYSTEM: int : 0x00000001
     

    This includes the File System as well as the rest of the shell (Desktop\My Computer\Control Panel\)

    SHACF_FILESYS_DIRS ¶

    SHACF_FILESYS_DIRS: int : 0x00000020
     

    Same as SHACF_FILESYS_ONLY except it only includes directories, UNC servers, and UNC server shares.

    SHACF_FILESYS_ONLY ¶

    SHACF_FILESYS_ONLY: int : 0x00000010
     

    This includes the File System

    SHACF_URLALL ¶

    SHACF_URLALL: int : SHACF_URLHISTORY | SHACF_URLMRU

    SHACF_URLHISTORY ¶

    SHACF_URLHISTORY: int : 0x00000002
     

    URLs in the User's History

    SHACF_URLMRU ¶

    SHACF_URLMRU: int : 0x00000004
     

    URLs in the User's Recently Used list.

    SHACF_USETAB ¶

    SHACF_USETAB: int : 0x00000008
     

    Use the tab to move thru the autocomplete possibilities instead of to the next dialog/window control.

    SHACF_VIRTUAL_NAMESPACE ¶

    SHACF_VIRTUAL_NAMESPACE: int : 0x00000040
     

    Also include the virtual namespace

    SHCONTF_CHECKING_FOR_CHILDREN ¶

    SHCONTF_CHECKING_FOR_CHILDREN: int : 0x10

    SHCONTF_ENABLE_ASYNC ¶

    SHCONTF_ENABLE_ASYNC: int : 0x8000

    SHCONTF_FASTITEMS ¶

    SHCONTF_FASTITEMS: int : 0x2000

    SHCONTF_FLATLIST ¶

    SHCONTF_FLATLIST: int : 0x4000

    SHCONTF_FOLDERS ¶

    SHCONTF_FOLDERS: int : 0x20

    SHCONTF_INCLUDEHIDDEN ¶

    SHCONTF_INCLUDEHIDDEN: int : 0x80

    SHCONTF_INCLUDESUPERHIDDEN ¶

    SHCONTF_INCLUDESUPERHIDDEN: int : 0x10000

    SHCONTF_INIT_ON_FIRST_NEXT ¶

    SHCONTF_INIT_ON_FIRST_NEXT: int : 0x100

    SHCONTF_NAVIGATION_ENUM ¶

    SHCONTF_NAVIGATION_ENUM: int : 0x1000

    SHCONTF_NETPRINTERSRCH ¶

    SHCONTF_NETPRINTERSRCH: int : 0x200

    SHCONTF_NONFOLDERS ¶

    SHCONTF_NONFOLDERS: int : 0x40

    SHCONTF_SHAREABLE ¶

    SHCONTF_SHAREABLE: int : 0x400

    SHCONTF_STORAGE ¶

    SHCONTF_STORAGE: int : 0x800

    SHIFTJIS_CHARSET ¶

    SHIFTJIS_CHARSET: int : 128

    SICHINT_ALLFIELDS ¶

    SICHINT_ALLFIELDS: int : -2147483648
     

    0x80000000

    SICHINT_CANONICAL ¶

    SICHINT_CANONICAL: int : 0x10000000

    SICHINT_DISPLAY ¶

    SICHINT_DISPLAY: int : 0

    SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL ¶

    SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL: int : 0x20000000

    SIMPLEREGION ¶

    SIMPLEREGION: int : 2

    SIZE_MAXHIDE ¶

    SIZE_MAXHIDE: int : 4

    SIZE_MAXIMIZED ¶

    SIZE_MAXIMIZED: int : 2

    SIZE_MAXSHOW ¶

    SIZE_MAXSHOW: int : 3

    SIZE_MINIMIZED ¶

    SIZE_MINIMIZED: int : 1

    SIZE_RESTORED ¶

    SIZE_RESTORED: int : 0

    SM_ARRANGE ¶

    SM_ARRANGE: int : 56

    SM_CARETBLINKINGENABLED ¶

    SM_CARETBLINKINGENABLED: int : 0x2002

    SM_CLEANBOOT ¶

    SM_CLEANBOOT: int : 67

    SM_CMETRICS ¶

    SM_CMETRICS: int : 97

    SM_CMONITORS ¶

    SM_CMONITORS: int : 80

    SM_CMOUSEBUTTONS ¶

    SM_CMOUSEBUTTONS: int : 43

    SM_CONVERTIBLESLATEMODE ¶

    SM_CONVERTIBLESLATEMODE: int : 0x2003

    SM_CXBORDER ¶

    SM_CXBORDER: int : 5

    SM_CXCURSOR ¶

    SM_CXCURSOR: int : 13

    SM_CXDLGFRAME ¶

    SM_CXDLGFRAME: int : 7

    SM_CXDOUBLECLK ¶

    SM_CXDOUBLECLK: int : 36

    SM_CXDRAG ¶

    SM_CXDRAG: int : 68

    SM_CXEDGE ¶

    SM_CXEDGE: int : 45

    SM_CXFIXEDFRAME ¶

    SM_CXFIXEDFRAME: int : SM_CXDLGFRAME
     

    ;win40 name change

    SM_CXFOCUSBORDER ¶

    SM_CXFOCUSBORDER: int : 83

    SM_CXFRAME ¶

    SM_CXFRAME: int : 32

    SM_CXFULLSCREEN ¶

    SM_CXFULLSCREEN: int : 16

    SM_CXHSCROLL ¶

    SM_CXHSCROLL: int : 21

    SM_CXHTHUMB ¶

    SM_CXHTHUMB: int : 10

    SM_CXICON ¶

    SM_CXICON: int : 11

    SM_CXICONSPACING ¶

    SM_CXICONSPACING: int : 38

    SM_CXMAXIMIZED ¶

    SM_CXMAXIMIZED: int : 61

    SM_CXMAXTRACK ¶

    SM_CXMAXTRACK: int : 59

    SM_CXMENUCHECK ¶

    SM_CXMENUCHECK: int : 71
     

    Use instead of GetMenuCheckMarkDimensions()!

    SM_CXMENUSIZE ¶

    SM_CXMENUSIZE: int : 54

    SM_CXMIN ¶

    SM_CXMIN: int : 28

    SM_CXMINIMIZED ¶

    SM_CXMINIMIZED: int : 57

    SM_CXMINSPACING ¶

    SM_CXMINSPACING: int : 47

    SM_CXMINTRACK ¶

    SM_CXMINTRACK: int : 34

    SM_CXPADDEDBORDER ¶

    SM_CXPADDEDBORDER: int : 92

    SM_CXSCREEN ¶

    SM_CXSCREEN: int : 0
     

    GetSystemMetrics() codes

    SM_CXSIZE ¶

    SM_CXSIZE: int : 30

    SM_CXSIZEFRAME ¶

    SM_CXSIZEFRAME: int : SM_CXFRAME
     

    ;win40 name change

    SM_CXSMICON ¶

    SM_CXSMICON: int : 49

    SM_CXSMSIZE ¶

    SM_CXSMSIZE: int : 52

    SM_CXVIRTUALSCREEN ¶

    SM_CXVIRTUALSCREEN: int : 78

    SM_CXVSCROLL ¶

    SM_CXVSCROLL: int : 2

    SM_CYBORDER ¶

    SM_CYBORDER: int : 6

    SM_CYCAPTION ¶

    SM_CYCAPTION: int : 4

    SM_CYCURSOR ¶

    SM_CYCURSOR: int : 14

    SM_CYDLGFRAME ¶

    SM_CYDLGFRAME: int : 8

    SM_CYDOUBLECLK ¶

    SM_CYDOUBLECLK: int : 37

    SM_CYDRAG ¶

    SM_CYDRAG: int : 69

    SM_CYEDGE ¶

    SM_CYEDGE: int : 46

    SM_CYFIXEDFRAME ¶

    SM_CYFIXEDFRAME: int : SM_CYDLGFRAME
     

    ;win40 name change

    SM_CYFOCUSBORDER ¶

    SM_CYFOCUSBORDER: int : 84

    SM_CYFRAME ¶

    SM_CYFRAME: int : 33

    SM_CYFULLSCREEN ¶

    SM_CYFULLSCREEN: int : 17

    SM_CYHSCROLL ¶

    SM_CYHSCROLL: int : 3

    SM_CYICON ¶

    SM_CYICON: int : 12

    SM_CYICONSPACING ¶

    SM_CYICONSPACING: int : 39

    SM_CYKANJIWINDOW ¶

    SM_CYKANJIWINDOW: int : 18

    SM_CYMAXIMIZED ¶

    SM_CYMAXIMIZED: int : 62

    SM_CYMAXTRACK ¶

    SM_CYMAXTRACK: int : 60

    SM_CYMENU ¶

    SM_CYMENU: int : 15

    SM_CYMENUCHECK ¶

    SM_CYMENUCHECK: int : 72

    SM_CYMENUSIZE ¶

    SM_CYMENUSIZE: int : 55

    SM_CYMIN ¶

    SM_CYMIN: int : 29

    SM_CYMINIMIZED ¶

    SM_CYMINIMIZED: int : 58

    SM_CYMINSPACING ¶

    SM_CYMINSPACING: int : 48

    SM_CYMINTRACK ¶

    SM_CYMINTRACK: int : 35

    SM_CYSCREEN ¶

    SM_CYSCREEN: int : 1

    SM_CYSIZE ¶

    SM_CYSIZE: int : 31

    SM_CYSIZEFRAME ¶

    SM_CYSIZEFRAME: int : SM_CYFRAME
     

    ;win40 name change

    SM_CYSMCAPTION ¶

    SM_CYSMCAPTION: int : 51

    SM_CYSMICON ¶

    SM_CYSMICON: int : 50

    SM_CYSMSIZE ¶

    SM_CYSMSIZE: int : 53

    SM_CYVIRTUALSCREEN ¶

    SM_CYVIRTUALSCREEN: int : 79

    SM_CYVSCROLL ¶

    SM_CYVSCROLL: int : 20

    SM_CYVTHUMB ¶

    SM_CYVTHUMB: int : 9

    SM_DBCSENABLED ¶

    SM_DBCSENABLED: int : 42

    SM_DEBUG ¶

    SM_DEBUG: int : 22

    SM_DIGITIZER ¶

    SM_DIGITIZER: int : 94

    SM_IMMENABLED ¶

    SM_IMMENABLED: int : 82

    SM_MAXIMUMTOUCHES ¶

    SM_MAXIMUMTOUCHES: int : 95

    SM_MEDIACENTER ¶

    SM_MEDIACENTER: int : 87

    SM_MENUDROPALIGNMENT ¶

    SM_MENUDROPALIGNMENT: int : 40

    SM_MIDEASTENABLED ¶

    SM_MIDEASTENABLED: int : 74

    SM_MOUSEHORIZONTALWHEELPRESENT ¶

    SM_MOUSEHORIZONTALWHEELPRESENT: int : 91

    SM_MOUSEPRESENT ¶

    SM_MOUSEPRESENT: int : 19

    SM_MOUSEWHEELPRESENT ¶

    SM_MOUSEWHEELPRESENT: int : 75

    SM_NETWORK ¶

    SM_NETWORK: int : 63

    SM_PENWINDOWS ¶

    SM_PENWINDOWS: int : 41

    SM_REMOTECONTROL ¶

    SM_REMOTECONTROL: int : 0x2001

    SM_REMOTESESSION ¶

    SM_REMOTESESSION: int : 0x1000

    SM_RESERVED1 ¶

    SM_RESERVED1: int : 24

    SM_RESERVED2 ¶

    SM_RESERVED2: int : 25

    SM_RESERVED3 ¶

    SM_RESERVED3: int : 26

    SM_RESERVED4 ¶

    SM_RESERVED4: int : 27

    SM_SAMEDISPLAYFORMAT ¶

    SM_SAMEDISPLAYFORMAT: int : 81

    SM_SECURE ¶

    SM_SECURE: int : 44

    SM_SERVERR2 ¶

    SM_SERVERR2: int : 89

    SM_SHOWSOUNDS ¶

    SM_SHOWSOUNDS: int : 70

    SM_SHUTTINGDOWN ¶

    SM_SHUTTINGDOWN: int : 0x2000

    SM_SLOWMACHINE ¶

    SM_SLOWMACHINE: int : 73

    SM_STARTER ¶

    SM_STARTER: int : 88

    SM_SWAPBUTTON ¶

    SM_SWAPBUTTON: int : 23

    SM_SYSTEMDOCKED ¶

    SM_SYSTEMDOCKED: int : 0x2004

    SM_TABLETPC ¶

    SM_TABLETPC: int : 86

    SM_XVIRTUALSCREEN ¶

    SM_XVIRTUALSCREEN: int : 76

    SM_YVIRTUALSCREEN ¶

    SM_YVIRTUALSCREEN: int : 77

    SOCKET_ERROR ¶

    SOCKET_ERROR: int : -1
     

    This is for the 'backlog' parameter to listen().

    SOCK_DGRAM ¶

    SOCK_DGRAM: i32 : 2
     

    UDP

    SOCK_RAW ¶

    SOCK_RAW: i32 : 3
     

    Requires options IP_HDRINCL for v4, IPV6_HDRINCL for v6, on the socket

    SOCK_RDM ¶

    SOCK_RDM: i32 : 4
     

    Requires "Reliable Multicast Protocol" to be installed - see WSAEnumProtocols

    SOCK_SEQPACKET ¶

    SOCK_SEQPACKET: i32 : 5
     

    Provides psuedo-stream packet based on DGRAMs.

    SOCK_STREAM ¶

    SOCK_STREAM: i32 : 1
     

    Socket types

    SOL_SOCKET ¶

    SOL_SOCKET: i32 : 0xffff
     

    Socket 'levels'

    SOMAXCONN ¶

    SOMAXCONN: int : 128
     

    The number of messages that can be queued in memory after being received; use 2-4 for Bluetooth.

    SO_ACCEPTCONN ¶

    SO_ACCEPTCONN: i32 : 0x0002
     

    Options for any sockets

    SO_BROADCAST ¶

    SO_BROADCAST: i32 : 0x0020

    SO_CONDITIONAL_ACCEPT ¶

    SO_CONDITIONAL_ACCEPT: i32 : 0x3002

    SO_DONTLINGER ¶

    SO_DONTLINGER: i32 : ~SO_LINGER

    SO_ERROR ¶

    SO_ERROR: i32 : 0x1007

    SO_EXCLUSIVEADDRUSE ¶

    SO_EXCLUSIVEADDRUSE: i32 : ~SO_REUSEADDR

    SO_KEEPALIVE ¶

    SO_KEEPALIVE: i32 : 0x0008

    SO_LINGER ¶

    SO_LINGER: i32 : 0x0080

    SO_OOBINLINE ¶

    SO_OOBINLINE: i32 : 0x0100

    SO_RCVBUF ¶

    SO_RCVBUF: i32 : 0x1002

    SO_RCVTIMEO ¶

    SO_RCVTIMEO: i32 : 0x1006

    SO_REUSEADDR ¶

    SO_REUSEADDR: i32 : 0x0004

    SO_SNDBUF ¶

    SO_SNDBUF: i32 : 0x1001

    SO_SNDTIMEO ¶

    SO_SNDTIMEO: i32 : 0x1005

    SPECIFIC_RIGHTS_ALL ¶

    SPECIFIC_RIGHTS_ALL: u32 : 0x0000FFFF

    SRCAND ¶

    SRCAND: u32 : 0x008800C6
     

    dest = source AND dest

    SRCCOPY ¶

    SRCCOPY: u32 : 0x00CC0020
     

    Ternary raster operations

    SRCERASE ¶

    SRCERASE: u32 : 0x00440328
     

    dest = source AND (NOT dest)

    SRCINVERT ¶

    SRCINVERT: u32 : 0x00660046
     

    dest = source XOR dest

    SRCPAINT ¶

    SRCPAINT: u32 : 0x00EE0086
     

    dest = source OR dest

    SRWLOCK_INIT ¶

    SRWLOCK_INIT :: SRWLOCK{}

    SS_BITMAP ¶

    SS_BITMAP: int : 0x0000000E

    SS_BLACKFRAME ¶

    SS_BLACKFRAME: int : 0x00000007

    SS_BLACKRECT ¶

    SS_BLACKRECT: int : 0x00000004

    SS_CENTER ¶

    SS_CENTER: int : 0x00000001

    SS_CENTERIMAGE ¶

    SS_CENTERIMAGE: int : 0x00000200

    SS_EDITCONTROL ¶

    SS_EDITCONTROL: int : 0x00002000

    SS_ELLIPSISMASK ¶

    SS_ELLIPSISMASK: int : 0x0000C000

    SS_ENDELLIPSIS ¶

    SS_ENDELLIPSIS: int : 0x00004000

    SS_ENHMETAFILE ¶

    SS_ENHMETAFILE: int : 0x0000000F

    SS_ETCHEDFRAME ¶

    SS_ETCHEDFRAME: int : 0x00000012

    SS_ETCHEDHORZ ¶

    SS_ETCHEDHORZ: int : 0x00000010

    SS_ETCHEDVERT ¶

    SS_ETCHEDVERT: int : 0x00000011

    SS_GRAYFRAME ¶

    SS_GRAYFRAME: int : 0x00000008

    SS_GRAYRECT ¶

    SS_GRAYRECT: int : 0x00000005

    SS_ICON ¶

    SS_ICON: int : 0x00000003

    SS_LEFT ¶

    SS_LEFT: int : 0x00000000
     

    Static Control Constants

    SS_LEFTNOWORDWRAP ¶

    SS_LEFTNOWORDWRAP: int : 0x0000000C

    SS_NOPREFIX ¶

    SS_NOPREFIX: int : 0x00000080

    SS_NOTIFY ¶

    SS_NOTIFY: int : 0x00000100

    SS_OWNERDRAW ¶

    SS_OWNERDRAW: int : 0x0000000D

    SS_PATHELLIPSIS ¶

    SS_PATHELLIPSIS: int : 0x00008000

    SS_REALSIZECONTROL ¶

    SS_REALSIZECONTROL: int : 0x00000040

    SS_REALSIZEIMAGE ¶

    SS_REALSIZEIMAGE: int : 0x00000800

    SS_RIGHT ¶

    SS_RIGHT: int : 0x00000002

    SS_RIGHTJUST ¶

    SS_RIGHTJUST: int : 0x00000400

    SS_SIMPLE ¶

    SS_SIMPLE: int : 0x0000000B

    SS_SUNKEN ¶

    SS_SUNKEN: int : 0x00001000

    SS_TYPEMASK ¶

    SS_TYPEMASK: int : 0x0000001F

    SS_USERITEM ¶

    SS_USERITEM: int : 0x0000000A

    SS_WHITEFRAME ¶

    SS_WHITEFRAME: int : 0x00000009

    SS_WHITERECT ¶

    SS_WHITERECT: int : 0x00000006

    SS_WORDELLIPSIS ¶

    SS_WORDELLIPSIS: int : 0x0000C000

    STACK_SIZE_PARAM_IS_A_RESERVATION ¶

    STACK_SIZE_PARAM_IS_A_RESERVATION: u32 : 0x00010000

    STANDARD_RIGHTS_ALL ¶

    STANDARD_RIGHTS_ALL: u32 : 0x001F0000

    STANDARD_RIGHTS_EXECUTE ¶

    STANDARD_RIGHTS_EXECUTE: u32 : READ_CONTROL

    STANDARD_RIGHTS_READ ¶

    STANDARD_RIGHTS_READ: u32 : READ_CONTROL

    STANDARD_RIGHTS_REQUIRED ¶

    STANDARD_RIGHTS_REQUIRED: u32 : 0x000F0000

    STANDARD_RIGHTS_WRITE ¶

    STANDARD_RIGHTS_WRITE: u32 : READ_CONTROL

    STARTF_FORCEOFFFEEDBACK ¶

    STARTF_FORCEOFFFEEDBACK: u32 : 0x00000080

    STARTF_FORCEONFEEDBACK ¶

    STARTF_FORCEONFEEDBACK: u32 : 0x00000040

    STARTF_PREVENTPINNING ¶

    STARTF_PREVENTPINNING: u32 : 0x00002000

    STARTF_RUNFULLSCREEN ¶

    STARTF_RUNFULLSCREEN: u32 : 0x00000020
     

    ignored for non-x86 platforms

    STARTF_TITLEISAPPID ¶

    STARTF_TITLEISAPPID: u32 : 0x00001000

    STARTF_TITLEISLINKNAME ¶

    STARTF_TITLEISLINKNAME: u32 : 0x00000800

    STARTF_UNTRUSTEDSOURCE ¶

    STARTF_UNTRUSTEDSOURCE: u32 : 0x00008000
     

    WINVER >= 0x600

    STARTF_USECOUNTCHARS ¶

    STARTF_USECOUNTCHARS: u32 : 0x00000008

    STARTF_USEFILLATTRIBUTE ¶

    STARTF_USEFILLATTRIBUTE: u32 : 0x00000010

    STARTF_USEHOTKEY ¶

    STARTF_USEHOTKEY: u32 : 0x00000200
     

    WINVER >= 0x400

    STARTF_USEPOSITION ¶

    STARTF_USEPOSITION: u32 : 0x00000004

    STARTF_USESHOWWINDOW ¶

    STARTF_USESHOWWINDOW: u32 : 0x00000001
     

    Flags in STARTUPINFOW.dwFlags.

    STARTF_USESIZE ¶

    STARTF_USESIZE: u32 : 0x00000002

    STARTF_USESTDHANDLES ¶

    STARTF_USESTDHANDLES: u32 : 0x00000100

    STATUS_PRIVILEGED_INSTRUCTION ¶

    STATUS_PRIVILEGED_INSTRUCTION: int : 0xC0000096

    STD_COPY ¶

    STD_COPY: int : 1

    STD_CUT ¶

    STD_CUT: int : 0

    STD_DELETE ¶

    STD_DELETE: int : 5

    STD_ERROR_HANDLE ¶

    STD_ERROR_HANDLE: u32 : ~DWORD(0) - 12 + 1

    STD_FILENEW ¶

    STD_FILENEW: int : 6

    STD_FILEOPEN ¶

    STD_FILEOPEN: int : 7

    STD_FILESAVE ¶

    STD_FILESAVE: int : 8

    STD_FIND ¶

    STD_FIND: int : 12

    STD_HELP ¶

    STD_HELP: int : 11

    STD_INPUT_HANDLE ¶

    STD_INPUT_HANDLE: u32 : ~DWORD(0) - 10 + 1

    STD_OUTPUT_HANDLE ¶

    STD_OUTPUT_HANDLE: u32 : ~DWORD(0) - 11 + 1

    STD_PASTE ¶

    STD_PASTE: int : 2

    STD_PRINT ¶

    STD_PRINT: int : 14

    STD_PRINTPRE ¶

    STD_PRINTPRE: int : 9

    STD_PROPERTIES ¶

    STD_PROPERTIES: int : 10

    STD_REDOW ¶

    STD_REDOW: int : 4

    STD_REPLACE ¶

    STD_REPLACE: int : 13

    STD_UNDO ¶

    STD_UNDO: int : 3

    STOCK_LAST ¶

    STOCK_LAST: int : 19

    SUBLANG_DEFAULT ¶

    SUBLANG_DEFAULT: int : 0x01
     

    user default

    SUBLANG_NEUTRAL ¶

    SUBLANG_NEUTRAL: int : 0x00
     

    language neutral

    SWP_ASYNCWINDOWPOS ¶

    SWP_ASYNCWINDOWPOS: int : 0x4000
     

    same as SWP_CREATESPB

    SWP_DEFERERASE ¶

    SWP_DEFERERASE: int : 0x2000
     

    same as SWP_DEFERDRAWING

    SWP_DRAWFRAME ¶

    SWP_DRAWFRAME: int : SWP_FRAMECHANGED

    SWP_FRAMECHANGED ¶

    SWP_FRAMECHANGED: int : 0x0020
     

    The frame changed: send WM_NCCALCSIZE

    SWP_HIDEWINDOW ¶

    SWP_HIDEWINDOW: int : 0x0080

    SWP_NOACTIVATE ¶

    SWP_NOACTIVATE: int : 0x0010

    SWP_NOCOPYBITS ¶

    SWP_NOCOPYBITS: int : 0x0100

    SWP_NOMOVE ¶

    SWP_NOMOVE: int : 0x0002

    SWP_NOOWNERZORDER ¶

    SWP_NOOWNERZORDER: int : 0x0200
     

    Don't do owner Z ordering

    SWP_NOREDRAW ¶

    SWP_NOREDRAW: int : 0x0008

    SWP_NOREPOSITION ¶

    SWP_NOREPOSITION: int : SWP_NOOWNERZORDER

    SWP_NOSENDCHANGING ¶

    SWP_NOSENDCHANGING: int : 0x0400
     

    Don't send WM_WINDOWPOSCHANGING

    SWP_NOSIZE ¶

    SWP_NOSIZE: int : 0x0001
     

    SetWindowPos Flags

    SWP_NOZORDER ¶

    SWP_NOZORDER: int : 0x0004

    SWP_SHOWWINDOW ¶

    SWP_SHOWWINDOW: int : 0x0040

    SW_FORCEMINIMIZE ¶

    SW_FORCEMINIMIZE: i32 : 11

    SW_HIDE ¶

    SW_HIDE: i32 : 0

    SW_MAXIMIZE ¶

    SW_MAXIMIZE: i32 : 3

    SW_MINIMIZE ¶

    SW_MINIMIZE: i32 : 6

    SW_NORMAL ¶

    SW_NORMAL: i32 : 1

    SW_RESTORE ¶

    SW_RESTORE: i32 : 9

    SW_SHOW ¶

    SW_SHOW: i32 : 5

    SW_SHOWDEFAULT ¶

    SW_SHOWDEFAULT: i32 : 10

    SW_SHOWMAXIMIZED ¶

    SW_SHOWMAXIMIZED: i32 : SW_MAXIMIZE

    SW_SHOWMINIMIZED ¶

    SW_SHOWMINIMIZED: i32 : 2

    SW_SHOWMINNOACTIVE ¶

    SW_SHOWMINNOACTIVE: i32 : 7

    SW_SHOWNA ¶

    SW_SHOWNA: i32 : 8

    SW_SHOWNOACTIVATE ¶

    SW_SHOWNOACTIVATE: i32 : 4

    SW_SHOWNORMAL ¶

    SW_SHOWNORMAL: i32 : SW_NORMAL
    SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE: u32 : 0x2
    SYMBOLIC_LINK_FLAG_DIRECTORY: u32 : 0x1

    SYMBOL_CHARSET ¶

    SYMBOL_CHARSET: int : 2
    SYMLINK_FLAG_RELATIVE: u32 : 0x00000001

    SYNCHRONIZE ¶

    SYNCHRONIZE: u32 : 0x00100000

    SYSTEM_FIXED_FONT ¶

    SYSTEM_FIXED_FONT: int : 16

    SYSTEM_FONT ¶

    SYSTEM_FONT: int : 13

    TBBF_LARGE ¶

    TBBF_LARGE: int : 0x1

    TBCDRF_BLENDICON ¶

    TBCDRF_BLENDICON: int : 0x200000

    TBCDRF_HILITEHOTTRACK ¶

    TBCDRF_HILITEHOTTRACK: int : 0x020000

    TBCDRF_NOBACKGROUND ¶

    TBCDRF_NOBACKGROUND: int : 0x400000

    TBCDRF_NOEDGES ¶

    TBCDRF_NOEDGES: int : 0x010000
     

    Toolbar Constants

    TBCDRF_NOETCHEDEFFECT ¶

    TBCDRF_NOETCHEDEFFECT: int : 0x100000

    TBCDRF_NOMARK ¶

    TBCDRF_NOMARK: int : 0x080000

    TBCDRF_NOOFFSET ¶

    TBCDRF_NOOFFSET: int : 0x040000

    TBIF_BYINDEX ¶

    TBIF_BYINDEX: int : 0x80000000

    TBIF_COMMAND ¶

    TBIF_COMMAND: int : 0x00000020

    TBIF_IMAGE ¶

    TBIF_IMAGE: int : 0x00000001

    TBIF_LPARAM ¶

    TBIF_LPARAM: int : 0x00000010

    TBIF_SIZE ¶

    TBIF_SIZE: int : 0x00000040

    TBIF_STATE ¶

    TBIF_STATE: int : 0x00000004

    TBIF_STYLE ¶

    TBIF_STYLE: int : 0x00000008

    TBIF_TEXT ¶

    TBIF_TEXT: int : 0x00000002

    TBMF_BARPAD ¶

    TBMF_BARPAD: int : 0x2

    TBMF_BUTTONSPACING ¶

    TBMF_BUTTONSPACING: int : 0x4

    TBMF_PAD ¶

    TBMF_PAD: int : 0x1

    TBN_FIRST ¶

    TBN_FIRST: u32 : ~DWORD(700 - 1)

    TBN_LAST ¶

    TBN_LAST: u32 : ~DWORD(720 - 1)

    TBSTATE_CHECKED ¶

    TBSTATE_CHECKED: int : 0x01
     

    Toolbar Item State Codes

    TBSTATE_ELLIPSES ¶

    TBSTATE_ELLIPSES: int : 0x40

    TBSTATE_ENABLED ¶

    TBSTATE_ENABLED: int : 0x04

    TBSTATE_HIDDEN ¶

    TBSTATE_HIDDEN: int : 0x08

    TBSTATE_INDETERMINATE ¶

    TBSTATE_INDETERMINATE: int : 0x10

    TBSTATE_MARKED ¶

    TBSTATE_MARKED: int : 0x80

    TBSTATE_PRESSED ¶

    TBSTATE_PRESSED: int : 0x02

    TBSTATE_WRAP ¶

    TBSTATE_WRAP: int : 0x20

    TBSTYLE_ALTDRAG ¶

    TBSTYLE_ALTDRAG: int : 0x0400

    TBSTYLE_AUTOSIZE ¶

    TBSTYLE_AUTOSIZE: int : 0x0010

    TBSTYLE_BUTTON ¶

    TBSTYLE_BUTTON: int : 0x0000
     

    Toolbar Button Styles

    TBSTYLE_CHECK ¶

    TBSTYLE_CHECK: int : 0x0002

    TBSTYLE_CHECKGROUP ¶

    TBSTYLE_CHECKGROUP: int : TBSTYLE_GROUP | TBSTYLE_CHECK

    TBSTYLE_CUSTOMERASE ¶

    TBSTYLE_CUSTOMERASE: int : 0x2000

    TBSTYLE_DROPDOWN ¶

    TBSTYLE_DROPDOWN: int : 0x0008

    TBSTYLE_EX_DOUBLEBUFFER ¶

    TBSTYLE_EX_DOUBLEBUFFER: int : 0x80

    TBSTYLE_EX_DRAWDDARROWS ¶

    TBSTYLE_EX_DRAWDDARROWS: int : 0x01
     

    Toolbar Extended Styles

    TBSTYLE_EX_HIDECLIPPEDBUTTONS ¶

    TBSTYLE_EX_HIDECLIPPEDBUTTONS: int : 0x10

    TBSTYLE_EX_MIXEDBUTTONS ¶

    TBSTYLE_EX_MIXEDBUTTONS: int : 0x08

    TBSTYLE_FLAT ¶

    TBSTYLE_FLAT: int : 0x0800

    TBSTYLE_GROUP ¶

    TBSTYLE_GROUP: int : 0x0004

    TBSTYLE_LIST ¶

    TBSTYLE_LIST: int : 0x1000

    TBSTYLE_NOPREFIX ¶

    TBSTYLE_NOPREFIX: int : 0x0020

    TBSTYLE_REGISTERDROP ¶

    TBSTYLE_REGISTERDROP: int : 0x4000

    TBSTYLE_SEP ¶

    TBSTYLE_SEP: int : 0x0001

    TBSTYLE_TOOLTIPS ¶

    TBSTYLE_TOOLTIPS: int : 0x0100

    TBSTYLE_TRANSPARENT ¶

    TBSTYLE_TRANSPARENT: int : 0x8000

    TBSTYLE_WRAPABLE ¶

    TBSTYLE_WRAPABLE: int : 0x0200

    TBS_AUTOTICKS ¶

    TBS_AUTOTICKS: int : 0x001
     

    Toolbar Styles

    TBS_BOTH ¶

    TBS_BOTH: int : 0x008

    TBS_BOTTOM ¶

    TBS_BOTTOM: int : 0x000

    TBS_DOWNISLEFT ¶

    TBS_DOWNISLEFT: int : 0x400

    TBS_ENABLESELRANGE ¶

    TBS_ENABLESELRANGE: int : 0x020

    TBS_FIXEDLENGTH ¶

    TBS_FIXEDLENGTH: int : 0x040

    TBS_HORZ ¶

    TBS_HORZ: int : 0x000

    TBS_LEFT ¶

    TBS_LEFT: int : 0x004

    TBS_NOTHUMB ¶

    TBS_NOTHUMB: int : 0x080

    TBS_NOTICKS ¶

    TBS_NOTICKS: int : 0x010

    TBS_REVERSED ¶

    TBS_REVERSED: int : 0x200

    TBS_RIGHT ¶

    TBS_RIGHT: int : 0x000

    TBS_TOOLTIPS ¶

    TBS_TOOLTIPS: int : 0x100

    TBS_TOP ¶

    TBS_TOP: int : 0x004

    TBS_VERT ¶

    TBS_VERT: int : 0x002

    TCHT_NOWHERE ¶

    TCHT_NOWHERE: int : 0x1

    TCHT_ONITEM ¶

    TCHT_ONITEM: int : TCHT_ONITEMICON | TCHT_ONITEMLABEL

    TCHT_ONITEMICON ¶

    TCHT_ONITEMICON: int : 0x2

    TCHT_ONITEMLABEL ¶

    TCHT_ONITEMLABEL: int : 0x4

    TCIF_IMAGE ¶

    TCIF_IMAGE: int : 0x02

    TCIF_PARAM ¶

    TCIF_PARAM: int : 0x08

    TCIF_RTLREADING ¶

    TCIF_RTLREADING: int : 0x04

    TCIF_STATE ¶

    TCIF_STATE: int : 0x10

    TCIF_TEXT ¶

    TCIF_TEXT: int : 0x01
     

    Tab Control Constants

    TCIS_BUTTONPRESSED ¶

    TCIS_BUTTONPRESSED: int : 0x1

    TCIS_HIGHLIGHTED ¶

    TCIS_HIGHLIGHTED: int : 0x2

    TCN_FIRST ¶

    TCN_FIRST: u32 : ~DWORD(550 - 1)

    TCN_LAST ¶

    TCN_LAST: u32 : ~DWORD(580 - 1)

    TCP_NODELAY ¶

    TCP_NODELAY: i32 : 0x0001

    TCS_BOTTOM ¶

    TCS_BOTTOM: int : 0x0002

    TCS_BUTTONS ¶

    TCS_BUTTONS: int : 0x0100

    TCS_FIXEDWIDTH ¶

    TCS_FIXEDWIDTH: int : 0x0400

    TCS_FLATBUTTONS ¶

    TCS_FLATBUTTONS: int : 0x0008

    TCS_FOCUSNEVER ¶

    TCS_FOCUSNEVER: int : 0x8000

    TCS_FOCUSONBUTTONDOWN ¶

    TCS_FOCUSONBUTTONDOWN: int : 0x1000

    TCS_FORCEICONLEFT ¶

    TCS_FORCEICONLEFT: int : 0x0010

    TCS_FORCELABELLEFT ¶

    TCS_FORCELABELLEFT: int : 0x0020

    TCS_HOTTRACK ¶

    TCS_HOTTRACK: int : 0x0040

    TCS_MULTILINE ¶

    TCS_MULTILINE: int : 0x0200

    TCS_MULTISELECT ¶

    TCS_MULTISELECT: int : 0x0004

    TCS_OWNERDRAWFIXED ¶

    TCS_OWNERDRAWFIXED: int : 0x2000

    TCS_RAGGEDRIGHT ¶

    TCS_RAGGEDRIGHT: int : 0x0800

    TCS_RIGHT ¶

    TCS_RIGHT: int : 0x0002

    TCS_RIGHTJUSTIFY ¶

    TCS_RIGHTJUSTIFY: int : 0x0000

    TCS_SCROLLOPPOSITE ¶

    TCS_SCROLLOPPOSITE: int : 0x0001
     

    Tab Control Styles

    TCS_SINGLELINE ¶

    TCS_SINGLELINE: int : 0x0000

    TCS_TABS ¶

    TCS_TABS: int : 0x0000

    TCS_TOOLTIPS ¶

    TCS_TOOLTIPS: int : 0x4000

    TCS_VERTICAL ¶

    TCS_VERTICAL: int : 0x0080

    THAI_CHARSET ¶

    THAI_CHARSET: int : 222

    TIMER_ALL_ACCESS ¶

    TIMER_ALL_ACCESS: u32 : STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUERY_STATE | TIMER_MODIFY_STATE

    TIMER_MODIFY_STATE ¶

    TIMER_MODIFY_STATE: int : 0x0002

    TIMER_QUERY_STATE ¶

    TIMER_QUERY_STATE: int : 0x0001

    TLS_OUT_OF_INDEXES ¶

    TLS_OUT_OF_INDEXES: u32 : 0xFFFFFFFF

    TME_CANCEL ¶

    TME_CANCEL: int : 0x80000000

    TME_HOVER ¶

    TME_HOVER: int : 0x00000001

    TME_LEAVE ¶

    TME_LEAVE: int : 0x00000002

    TME_NONCLIENT ¶

    TME_NONCLIENT: int : 0x00000010

    TME_QUERY ¶

    TME_QUERY: int : 0x40000000

    TOKEN_ACCESS_PSEUDO_HANDLE ¶

    TOKEN_ACCESS_PSEUDO_HANDLE: int : TOKEN_ACCESS_PSEUDO_HANDLE_WIN8

    TOKEN_ACCESS_PSEUDO_HANDLE_WIN8 ¶

    TOKEN_ACCESS_PSEUDO_HANDLE_WIN8: int : TOKEN_QUERY | TOKEN_QUERY_SOURCE

    TOKEN_ADJUST_DEFAULT ¶

    TOKEN_ADJUST_DEFAULT: int : 0x0080

    TOKEN_ADJUST_GROUPS ¶

    TOKEN_ADJUST_GROUPS: int : 0x0040

    TOKEN_ADJUST_PRIVILEGES ¶

    TOKEN_ADJUST_PRIVILEGES: int : 0x0020

    TOKEN_ADJUST_SESSIONID ¶

    TOKEN_ADJUST_SESSIONID: int : 0x0100

    TOKEN_ALL_ACCESS ¶

    TOKEN_ALL_ACCESS: u32 : TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID

    TOKEN_ALL_ACCESS_P ¶

    TOKEN_ALL_ACCESS_P: u32 : STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT

    TOKEN_ASSIGN_PRIMARY ¶

    TOKEN_ASSIGN_PRIMARY: int : 0x0001
     

    Token Specific Access Rights.

    TOKEN_DUPLICATE ¶

    TOKEN_DUPLICATE: int : 0x0002

    TOKEN_EXECUTE ¶

    TOKEN_EXECUTE: u32 : STANDARD_RIGHTS_EXECUTE

    TOKEN_IMPERSONATE ¶

    TOKEN_IMPERSONATE: int : 0x0004

    TOKEN_QUERY ¶

    TOKEN_QUERY: int : 0x0008

    TOKEN_QUERY_SOURCE ¶

    TOKEN_QUERY_SOURCE: int : 0x0010

    TOKEN_READ ¶

    TOKEN_READ: u32 : STANDARD_RIGHTS_READ | TOKEN_QUERY

    TOKEN_TRUST_CONSTRAINT_MASK ¶

    TOKEN_TRUST_CONSTRAINT_MASK: u32 : STANDARD_RIGHTS_READ | TOKEN_QUERY | TOKEN_QUERY_SOURCE

    TOKEN_WRITE ¶

    TOKEN_WRITE: u32 : STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT

    TPM_BOTTOMALIGN ¶

    TPM_BOTTOMALIGN: int : 0x0020

    TPM_CENTERALIGN ¶

    TPM_CENTERALIGN: int : 0x0004

    TPM_HORIZONTAL ¶

    TPM_HORIZONTAL: int : 0x0000
     

    Horz alignment matters more

    TPM_HORNEGANIMATION ¶

    TPM_HORNEGANIMATION: int : 0x0800

    TPM_HORPOSANIMATION ¶

    TPM_HORPOSANIMATION: int : 0x0400

    TPM_LAYOUTRTL ¶

    TPM_LAYOUTRTL: int : 0x8000

    TPM_LEFTALIGN ¶

    TPM_LEFTALIGN: int : 0x0000

    TPM_LEFTBUTTON ¶

    TPM_LEFTBUTTON: int : 0x0000
     

    Flags for TrackPopupMenu

    TPM_NOANIMATION ¶

    TPM_NOANIMATION: int : 0x4000

    TPM_NONOTIFY ¶

    TPM_NONOTIFY: int : 0x0080
     

    Don't send any notification msgs

    TPM_RECURSE ¶

    TPM_RECURSE: int : 0x0001

    TPM_RETURNCMD ¶

    TPM_RETURNCMD: int : 0x0100

    TPM_RIGHTALIGN ¶

    TPM_RIGHTALIGN: int : 0x0008

    TPM_RIGHTBUTTON ¶

    TPM_RIGHTBUTTON: int : 0x0002

    TPM_TOPALIGN ¶

    TPM_TOPALIGN: int : 0x0000

    TPM_VCENTERALIGN ¶

    TPM_VCENTERALIGN: int : 0x0010

    TPM_VERNEGANIMATION ¶

    TPM_VERNEGANIMATION: int : 0x2000

    TPM_VERPOSANIMATION ¶

    TPM_VERPOSANIMATION: int : 0x1000

    TPM_VERTICAL ¶

    TPM_VERTICAL: int : 0x0040
     

    Vert alignment matters more

    TPM_WORKAREA ¶

    TPM_WORKAREA: int : 0x10000

    TRUE ¶

    TRUE :: BOOL(true)

    TRUNCATE_EXISTING ¶

    TRUNCATE_EXISTING: u32 : 5

    TTN_FIRST ¶

    TTN_FIRST: u32 : ~DWORD(520 - 1)

    TTN_LAST ¶

    TTN_LAST: u32 : ~DWORD(549 - 1)

    TTS_ALWAYSTIP ¶

    TTS_ALWAYSTIP: int : 0x01
     

    Tooltip Control Styles

    TTS_BALLOON ¶

    TTS_BALLOON: int : 0x40

    TTS_CLOSE ¶

    TTS_CLOSE: int : 0x80

    TTS_NOANIMATE ¶

    TTS_NOANIMATE: int : 0x10

    TTS_NOFADE ¶

    TTS_NOFADE: int : 0x20

    TTS_NOPREFIX ¶

    TTS_NOPREFIX: int : 0x02

    TURKISH_CHARSET ¶

    TURKISH_CHARSET: int : 162

    TVE_COLLAPSE ¶

    TVE_COLLAPSE: int : 0x0001
     

    Tree-View Control Constants

    TVE_COLLAPSERESET ¶

    TVE_COLLAPSERESET: int : 0x8000

    TVE_EXPAND ¶

    TVE_EXPAND: int : 0x0002

    TVE_EXPANDPARTIAL ¶

    TVE_EXPANDPARTIAL: int : 0x4000

    TVE_TOGGLE ¶

    TVE_TOGGLE: int : 0x0003

    TVGN_CARET ¶

    TVGN_CARET: int : 0x9

    TVGN_CHILD ¶

    TVGN_CHILD: int : 0x4

    TVGN_DROPHILITE ¶

    TVGN_DROPHILITE: int : 0x8

    TVGN_FIRSTVISIBLE ¶

    TVGN_FIRSTVISIBLE: int : 0x5

    TVGN_LASTVISIBLE ¶

    TVGN_LASTVISIBLE: int : 0xA

    TVGN_NEXT ¶

    TVGN_NEXT: int : 0x1

    TVGN_NEXTVISIBLE ¶

    TVGN_NEXTVISIBLE: int : 0x6

    TVGN_PARENT ¶

    TVGN_PARENT: int : 0x3

    TVGN_PREVIOUS ¶

    TVGN_PREVIOUS: int : 0x2

    TVGN_PREVIOUSVISIBLE ¶

    TVGN_PREVIOUSVISIBLE: int : 0x7

    TVGN_ROOT ¶

    TVGN_ROOT: int : 0x0

    TVHT_ABOVE ¶

    TVHT_ABOVE: int : 0x100

    TVHT_BELOW ¶

    TVHT_BELOW: int : 0x200

    TVHT_NOWHERE ¶

    TVHT_NOWHERE: int : 0x001

    TVHT_ONITEM ¶

    TVHT_ONITEM: int : TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON

    TVHT_ONITEMBUTTON ¶

    TVHT_ONITEMBUTTON: int : 0x010

    TVHT_ONITEMICON ¶

    TVHT_ONITEMICON: int : 0x002

    TVHT_ONITEMINDENT ¶

    TVHT_ONITEMINDENT: int : 0x008

    TVHT_ONITEMLABEL ¶

    TVHT_ONITEMLABEL: int : 0x004

    TVHT_ONITEMRIGHT ¶

    TVHT_ONITEMRIGHT: int : 0x020

    TVHT_ONITEMSTATEICON ¶

    TVHT_ONITEMSTATEICON: int : 0x040

    TVHT_TOLEFT ¶

    TVHT_TOLEFT: int : 0x800

    TVHT_TORIGHT ¶

    TVHT_TORIGHT: int : 0x400

    TVN_FIRST ¶

    TVN_FIRST: u32 : ~DWORD(400 - 1)

    TVN_LAST ¶

    TVN_LAST: u32 : ~DWORD(499 - 1)

    TVSIL_NORMAL ¶

    TVSIL_NORMAL: int : 0

    TVSIL_STATE ¶

    TVSIL_STATE: int : 2

    TVSI_NOSINGLEEXPAND ¶

    TVSI_NOSINGLEEXPAND: int : 0x8000

    TVS_CHECKBOXES ¶

    TVS_CHECKBOXES: int : 0x0100

    TVS_DISABLEDRAGDROP ¶

    TVS_DISABLEDRAGDROP: int : 0x0010

    TVS_EDITLABELS ¶

    TVS_EDITLABELS: int : 0x0008

    TVS_FULLROWSELECT ¶

    TVS_FULLROWSELECT: int : 0x1000

    TVS_HASBUTTONS ¶

    TVS_HASBUTTONS: int : 0x0001
     

    Tree-View Control Styles

    TVS_HASLINES ¶

    TVS_HASLINES: int : 0x0002

    TVS_INFOTIP ¶

    TVS_INFOTIP: int : 0x0800

    TVS_LINESATROOT ¶

    TVS_LINESATROOT: int : 0x0004

    TVS_NOHSCROLL ¶

    TVS_NOHSCROLL: int : 0x8000

    TVS_NONEVENHEIGHT ¶

    TVS_NONEVENHEIGHT: int : 0x4000

    TVS_NOSCROLL ¶

    TVS_NOSCROLL: int : 0x2000

    TVS_NOTOOLTIPS ¶

    TVS_NOTOOLTIPS: int : 0x0080

    TVS_RTLREADING ¶

    TVS_RTLREADING: int : 0x0040

    TVS_SHOWSELALWAYS ¶

    TVS_SHOWSELALWAYS: int : 0x0020

    TVS_SINGLEEXPAND ¶

    TVS_SINGLEEXPAND: int : 0x0400

    TVS_TRACKSELECT ¶

    TVS_TRACKSELECT: int : 0x0200

    UDN_FIRST ¶

    UDN_FIRST: u32 : ~DWORD(721 - 1)

    UDN_LAST ¶

    UDN_LAST: u32 : ~DWORD(740 - 1)

    UDS_ALIGNLEFT ¶

    UDS_ALIGNLEFT: int : 0x008

    UDS_ALIGNRIGHT ¶

    UDS_ALIGNRIGHT: int : 0x004

    UDS_ARROWKEYS ¶

    UDS_ARROWKEYS: int : 0x020

    UDS_AUTOBUDDY ¶

    UDS_AUTOBUDDY: int : 0x010

    UDS_HORZ ¶

    UDS_HORZ: int : 0x040

    UDS_HOTTRACK ¶

    UDS_HOTTRACK: int : 0x100

    UDS_NOTHOUSANDS ¶

    UDS_NOTHOUSANDS: int : 0x080

    UDS_SETBUDDYINT ¶

    UDS_SETBUDDYINT: int : 0x002

    UDS_WRAP ¶

    UDS_WRAP: int : 0x001
     

    Up-Down Control Styles

    UNLEN ¶

    UNLEN: int : 256
     

    Maximum user name length

    UNPROTECTED_DACL_SECURITY_INFORMATION ¶

    UNPROTECTED_DACL_SECURITY_INFORMATION: int : 0x20000000

    UNPROTECTED_SACL_SECURITY_INFORMATION ¶

    UNPROTECTED_SACL_SECURITY_INFORMATION: int : 0x10000000

    USER_TIMER_MAXIMUM ¶

    USER_TIMER_MAXIMUM: int : 0x7FFFFFFF

    USER_TIMER_MINIMUM ¶

    USER_TIMER_MINIMUM: int : 0x0000000A

    VARIABLE_PITCH ¶

    VARIABLE_PITCH: int : 2

    VIETNAMESE_CHARSET ¶

    VIETNAMESE_CHARSET: int : 163

    VIEW_DETAILS ¶

    VIEW_DETAILS: int : 3

    VIEW_LARGEICONS ¶

    VIEW_LARGEICONS: int : 0

    VIEW_LIST ¶

    VIEW_LIST: int : 2

    VIEW_NETCONNECT ¶

    VIEW_NETCONNECT: int : 9

    VIEW_NETDISCONNECT ¶

    VIEW_NETDISCONNECT: int : 10

    VIEW_NEWFOLDER ¶

    VIEW_NEWFOLDER: int : 11

    VIEW_PARENTFOLDER ¶

    VIEW_PARENTFOLDER: int : 8

    VIEW_SMALLICONS ¶

    VIEW_SMALLICONS: int : 1

    VIEW_SORTDATE ¶

    VIEW_SORTDATE: int : 6

    VIEW_SORTNAME ¶

    VIEW_SORTNAME: int : 4

    VIEW_SORTSIZE ¶

    VIEW_SORTSIZE: int : 5

    VIEW_SORTTYPE ¶

    VIEW_SORTTYPE: int : 7

    VIEW_VIEWMENU ¶

    VIEW_VIEWMENU: int : 12

    VOLUME_NAME_DOS ¶

    VOLUME_NAME_DOS: u32 : 0x0

    WAIT_FAILED ¶

    WAIT_FAILED: u32 : 0xFFFFFFFF

    WAIT_IO_COMPLETION ¶

    WAIT_IO_COMPLETION: u32 : 0x000000C0

    WAIT_OBJECT_0 ¶

    WAIT_OBJECT_0: u32 : 0x00000000

    WAIT_TIMEOUT ¶

    WAIT_TIMEOUT: u32 : 258

    WA_ACTIVE ¶

    WA_ACTIVE: int : 1

    WA_CLICKACTIVE ¶

    WA_CLICKACTIVE: int : 2

    WA_INACTIVE ¶

    WA_INACTIVE: int : 0
     

    WM_ACTIVATE state values

    WC_ERR_INVALID_CHARS ¶

    WC_ERR_INVALID_CHARS: int : 128

    WHEEL_DELTA ¶

    WHEEL_DELTA: int : 120
     

    Value for rolling one detent

    WHEEL_PAGESCROLL ¶

    WHEEL_PAGESCROLL: u32 : max(UINT)
     

    Setting to scroll one page for SPI_GET/SETWHEELSCROLLLINES

    WHITENESS ¶

    WHITENESS: u32 : 0x00FF0062
     

    dest = WHITE

    WHITEONBLACK ¶

    WHITEONBLACK: int : 2

    WHITE_BRUSH ¶

    WHITE_BRUSH: int : 0
     

    Stock Logical Objects

    WHITE_PEN ¶

    WHITE_PEN: int : 6

    WH_CALLWNDPROC ¶

    WH_CALLWNDPROC: int : 4

    WH_CALLWNDPROCRET ¶

    WH_CALLWNDPROCRET: int : 12

    WH_CBT ¶

    WH_CBT: int : 5

    WH_DEBUG ¶

    WH_DEBUG: int : 9

    WH_FOREGROUNDIDLE ¶

    WH_FOREGROUNDIDLE: int : 11

    WH_GETMESSAGE ¶

    WH_GETMESSAGE: int : 3

    WH_HARDWARE ¶

    WH_HARDWARE: int : 8

    WH_JOURNALPLAYBACK ¶

    WH_JOURNALPLAYBACK: int : 1

    WH_JOURNALRECORD ¶

    WH_JOURNALRECORD: int : 0

    WH_KEYBOARD ¶

    WH_KEYBOARD: int : 2

    WH_KEYBOARD_LL ¶

    WH_KEYBOARD_LL: int : 13

    WH_MAX ¶

    WH_MAX: int : 14

    WH_MAXHOOK ¶

    WH_MAXHOOK: int : WH_MAX

    WH_MIN ¶

    WH_MIN: int : -1
     

    SetWindowsHook() codes

    WH_MINHOOK ¶

    WH_MINHOOK: int : WH_MIN

    WH_MOUSE ¶

    WH_MOUSE: int : 7

    WH_MOUSE_LL ¶

    WH_MOUSE_LL: int : 14

    WH_MSGFILTER ¶

    WH_MSGFILTER: int : -1

    WH_SHELL ¶

    WH_SHELL: int : 10

    WH_SYSMSGFILTER ¶

    WH_SYSMSGFILTER: int : 6

    WMN_FIRST ¶

    WMN_FIRST: u32 : ~DWORD(1000 - 1)

    WMN_LAST ¶

    WMN_LAST: u32 : ~DWORD(1200 - 1)

    WMSZ_BOTTOM ¶

    WMSZ_BOTTOM: int : 6

    WMSZ_BOTTOMLEFT ¶

    WMSZ_BOTTOMLEFT: int : 7

    WMSZ_BOTTOMRIGHT ¶

    WMSZ_BOTTOMRIGHT: int : 8

    WMSZ_LEFT ¶

    WMSZ_LEFT: int : 1

    WMSZ_RIGHT ¶

    WMSZ_RIGHT: int : 2

    WMSZ_TOP ¶

    WMSZ_TOP: int : 3

    WMSZ_TOPLEFT ¶

    WMSZ_TOPLEFT: int : 4

    WMSZ_TOPRIGHT ¶

    WMSZ_TOPRIGHT: int : 5

    WRITE_DAC ¶

    WRITE_DAC: u32 : 0x00040000

    WRITE_OWNER ¶

    WRITE_OWNER: u32 : 0x00080000

    WSADESCRIPTION_LEN ¶

    WSADESCRIPTION_LEN: int : 256

    WSAEACCES ¶

    WSAEACCES: int : 10013
     

    If you try to bind a Udp socket to the broadcast address without the socket option set.

    WSAEADDRINUSE ¶

    WSAEADDRINUSE: int : 10048
     

    Endpoint being bound is in use by another socket.

    WSAEADDRNOTAVAIL ¶

    WSAEADDRNOTAVAIL: int : 10049
     

    Not a valid local IP address on this computer.

    WSAEAFNOSUPPORT ¶

    WSAEAFNOSUPPORT: int : 10047
     

    Address family not supported

    WSAEALREADY ¶

    WSAEALREADY: int : 10037
     

    Already connecting in parallel.

    WSAECONNABORTED ¶

    WSAECONNABORTED: int : 10053
     

    Connection has been aborted by software in the host machine.

    WSAECONNREFUSED ¶

    WSAECONNREFUSED: int : 10061
     

    The remote machine is not listening on that endpoint.

    WSAECONNRESET ¶

    WSAECONNRESET: int : 10054
     

    The connection was reset while trying to accept, read or write.

    WSAEFAULT ¶

    WSAEFAULT: int : 10014
     

    A pointer that was passed to a WSA function is invalid, such as a buffer size is smaller than you said it was

    WSAEHOSTDOWN ¶

    WSAEHOSTDOWN: int : 10064
     

    Destination host was down.

    WSAEHOSTUNREACH ¶

    WSAEHOSTUNREACH: int : 10065
     

    The remote machine is not connected to the network.

    WSAEINPROGRESS ¶

    WSAEINPROGRESS: int : 10036
     

    WS1.1 call is in progress or callback function is still being processed

    WSAEINTR ¶

    WSAEINTR: int : 10004
     

    Call interrupted. CancelBlockingCall was called. (This is different on Linux.)

    WSAEINVAL ¶

    WSAEINVAL: int : 10022
     

    Invalid argument supplied

    WSAEINVALIDPROCTABLE ¶

    WSAEINVALIDPROCTABLE: int : 10104
     

    Invalid or incomplete procedure table was returned

    WSAEINVALIDPROVIDER ¶

    WSAEINVALIDPROVIDER: int : 10105
     

    Service provider version is not 2.2

    WSAEISCONN ¶

    WSAEISCONN: int : 10056
     

    The socket is already connected.

    WSAEMFILE ¶

    WSAEMFILE: int : 10024
     

    SOCKET handles exhausted

    WSAEMSGSIZE ¶

    WSAEMSGSIZE: int : 10040
     

    Message was truncated because it exceeded max datagram size.

    WSAENETDOWN ¶

    WSAENETDOWN: int : 10050
     

    Network subsystem failure on the local machine.

    WSAENETRESET ¶

    WSAENETRESET: int : 10052
     

    Keepalive failure detected, or TTL exceeded when receiving UDP packets.

    WSAENETUNREACH ¶

    WSAENETUNREACH: int : 10051
     

    The local machine is not connected to the network.

    WSAENOBUFS ¶

    WSAENOBUFS: int : 10055
     

    No buffer space is available. The outgoing queue may be full in which case you should probably try again after a pause.

    WSAENOPROTOOPT ¶

    WSAENOPROTOOPT: int : 10042
     

    TODO

    WSAENOTCONN ¶

    WSAENOTCONN: int : 10057
     

    The socket is not connected yet, or no address was supplied to sendto.

    WSAENOTINITIALISED ¶

    WSAENOTINITIALISED: int : 10093
     

    Needs WSAStartup call

    WSAENOTSOCK ¶

    WSAENOTSOCK: int : 10038
     

    Not a socket.

    WSAEOPNOTSUPP ¶

    WSAEOPNOTSUPP: int : 10045
     

    Attempt to accept on non-stream socket, etc.

    WSAEPROTONOSUPPORT ¶

    WSAEPROTONOSUPPORT: int : 10043
     

    Protocol not supported

    WSAEPROTOTYPE ¶

    WSAEPROTOTYPE: int : 10041
     

    Wrong protocol for the provided socket

    WSAEPROVIDERFAILEDINIT ¶

    WSAEPROVIDERFAILEDINIT: int : 10106
     

    Service provider failed to initialize

    WSAESHUTDOWN ¶

    WSAESHUTDOWN: int : 10058
     

    The socket has been shutdown in the direction required.

    WSAESOCKTNOSUPPORT ¶

    WSAESOCKTNOSUPPORT: int : 10044
     

    Socket type not supported in the given address family

    WSAETIMEDOUT ¶

    WSAETIMEDOUT: int : 10060
     

    The timeout duration was reached before any data was received / before all data was sent.

    WSAEWOULDBLOCK ¶

    WSAEWOULDBLOCK: int : 10035
     

    No data is ready yet

    WSAPROTOCOL_LEN ¶

    WSAPROTOCOL_LEN: int : 255

    WSASYS_STATUS_LEN ¶

    WSASYS_STATUS_LEN: int : 128

    WSA_FLAG_ACCESS_SYSTEM_SECURITY ¶

    WSA_FLAG_ACCESS_SYSTEM_SECURITY: int : 32

    WSA_FLAG_MULTIPOINT_C_LEAF ¶

    WSA_FLAG_MULTIPOINT_C_LEAF: int : 4

    WSA_FLAG_MULTIPOINT_C_ROOT ¶

    WSA_FLAG_MULTIPOINT_C_ROOT: int : 2

    WSA_FLAG_MULTIPOINT_D_LEAF ¶

    WSA_FLAG_MULTIPOINT_D_LEAF: int : 16

    WSA_FLAG_MULTIPOINT_D_ROOT ¶

    WSA_FLAG_MULTIPOINT_D_ROOT: int : 8

    WSA_FLAG_NO_HANDLE_INHERIT ¶

    WSA_FLAG_NO_HANDLE_INHERIT: int : 128

    WSA_FLAG_OVERLAPPED ¶

    WSA_FLAG_OVERLAPPED: int : 1
     

    Networking

    WSA_INVALID_HANDLE ¶

    WSA_INVALID_HANDLE: int : 6
     

    Networking errors

    WSA_INVALID_PARAMETER ¶

    WSA_INVALID_PARAMETER: int : 87
     

    One or more parameters are invalid.

    WSA_IO_INCOMPLETE ¶

    WSA_IO_INCOMPLETE: int : 996
     

    Overlapped I/O event object not in signaled state.

    WSA_IO_PENDING ¶

    WSA_IO_PENDING: int : 997
     

    Overlapped operations will complete later.

    WSA_NOT_ENOUGH_MEMORY ¶

    WSA_NOT_ENOUGH_MEMORY: int : 8
     

    Insufficient memory available.

    WSA_OPERATION_ABORTED ¶

    WSA_OPERATION_ABORTED: int : 995
     

    Overlapped operation aborted.

    WS_BORDER ¶

    WS_BORDER: u32 : 0x0080_0000

    WS_CAPTION ¶

    WS_CAPTION: u32 : 0x00C0_0000

    WS_CHILD ¶

    WS_CHILD: u32 : 0x4000_0000

    WS_CHILDWINDOW ¶

    WS_CHILDWINDOW: u32 : WS_CHILD

    WS_CLIPCHILDREN ¶

    WS_CLIPCHILDREN: u32 : 0x0200_0000

    WS_CLIPSIBLINGS ¶

    WS_CLIPSIBLINGS: u32 : 0x0400_0000

    WS_DISABLED ¶

    WS_DISABLED: u32 : 0x0800_0000

    WS_DLGFRAME ¶

    WS_DLGFRAME: u32 : 0x0040_0000

    WS_EX_ACCEPTFILES ¶

    WS_EX_ACCEPTFILES: u32 : 0x0000_0010

    WS_EX_APPWINDOW ¶

    WS_EX_APPWINDOW: u32 : 0x0004_0000

    WS_EX_CLIENTEDGE ¶

    WS_EX_CLIENTEDGE: u32 : 0x0000_0200

    WS_EX_COMPOSITED ¶

    WS_EX_COMPOSITED: u32 : 0x0200_0000

    WS_EX_CONTEXTHELP ¶

    WS_EX_CONTEXTHELP: u32 : 0x0000_0400

    WS_EX_CONTROLPARENT ¶

    WS_EX_CONTROLPARENT: u32 : 0x0001_0000

    WS_EX_DLGMODALFRAME ¶

    WS_EX_DLGMODALFRAME: u32 : 0x0000_0001

    WS_EX_DRAGDETECT ¶

    WS_EX_DRAGDETECT: u32 : 0x0000_0002
     

    undocumented

    WS_EX_LAYERED ¶

    WS_EX_LAYERED: u32 : 0x0008_0000

    WS_EX_LAYOUTRTL ¶

    WS_EX_LAYOUTRTL: u32 : 0x0040_0000

    WS_EX_LEFT ¶

    WS_EX_LEFT: u32 : 0x0000_0000

    WS_EX_LEFTSCROLLBAR ¶

    WS_EX_LEFTSCROLLBAR: u32 : 0x0000_4000

    WS_EX_LTRREADING ¶

    WS_EX_LTRREADING: u32 : 0x0000_0000

    WS_EX_MDICHILD ¶

    WS_EX_MDICHILD: u32 : 0x0000_0040

    WS_EX_NOACTIVATE ¶

    WS_EX_NOACTIVATE: u32 : 0x0800_0000

    WS_EX_NOINHERITLAYOUT ¶

    WS_EX_NOINHERITLAYOUT: u32 : 0x0010_0000

    WS_EX_NOPARENTNOTIFY ¶

    WS_EX_NOPARENTNOTIFY: u32 : 0x0000_0004

    WS_EX_NOREDIRECTIONBITMAP ¶

    WS_EX_NOREDIRECTIONBITMAP: u32 : 0x0020_0000

    WS_EX_OVERLAPPEDWINDOW ¶

    WS_EX_OVERLAPPEDWINDOW: u32 : WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE

    WS_EX_PALETTEWINDOW ¶

    WS_EX_PALETTEWINDOW: u32 : WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST

    WS_EX_RIGHT ¶

    WS_EX_RIGHT: u32 : 0x0000_1000

    WS_EX_RIGHTSCROLLBAR ¶

    WS_EX_RIGHTSCROLLBAR: u32 : 0x0000_0000

    WS_EX_RTLREADING ¶

    WS_EX_RTLREADING: u32 : 0x0000_2000

    WS_EX_STATICEDGE ¶

    WS_EX_STATICEDGE: u32 : 0x0002_0000

    WS_EX_TOOLWINDOW ¶

    WS_EX_TOOLWINDOW: u32 : 0x0000_0080

    WS_EX_TOPMOST ¶

    WS_EX_TOPMOST: u32 : 0x0000_0008

    WS_EX_TRANSPARENT ¶

    WS_EX_TRANSPARENT: u32 : 0x0000_0020

    WS_EX_WINDOWEDGE ¶

    WS_EX_WINDOWEDGE: u32 : 0x0000_0100

    WS_GROUP ¶

    WS_GROUP: u32 : 0x0002_0000

    WS_HSCROLL ¶

    WS_HSCROLL: u32 : 0x0010_0000

    WS_ICONIC ¶

    WS_ICONIC: u32 : 0x2000_0000

    WS_MAXIMIZE ¶

    WS_MAXIMIZE: u32 : 0x0100_0000

    WS_MAXIMIZEBOX ¶

    WS_MAXIMIZEBOX: u32 : 0x0001_0000

    WS_MINIMIZE ¶

    WS_MINIMIZE: u32 : 0x2000_0000

    WS_MINIMIZEBOX ¶

    WS_MINIMIZEBOX: u32 : 0x0002_0000

    WS_OVERLAPPED ¶

    WS_OVERLAPPED: u32 : 0x0000_0000

    WS_OVERLAPPEDWINDOW ¶

    WS_OVERLAPPEDWINDOW: u32 : WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX

    WS_POPUP ¶

    WS_POPUP: u32 : 0x8000_0000

    WS_POPUPWINDOW ¶

    WS_POPUPWINDOW: u32 : WS_POPUP | WS_BORDER | WS_SYSMENU

    WS_SIZEBOX ¶

    WS_SIZEBOX: u32 : 0x0004_0000

    WS_SYSMENU ¶

    WS_SYSMENU: u32 : 0x0008_0000

    WS_TABSTOP ¶

    WS_TABSTOP: u32 : 0x0001_0000

    WS_THICKFRAME ¶

    WS_THICKFRAME: u32 : 0x0004_0000

    WS_TILED ¶

    WS_TILED: u32 : 0x0000_0000

    WS_TILEDWINDOW ¶

    WS_TILEDWINDOW: u32 : WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZE | WS_MAXIMIZE

    WS_VISIBLE ¶

    WS_VISIBLE: u32 : 0x1000_0000

    WS_VSCROLL ¶

    WS_VSCROLL: u32 : 0x0020_0000

    XBUTTON1 ¶

    XBUTTON1: int : 0x0001
     

    XButton values are WORD flags

    XBUTTON2 ¶

    XBUTTON2: int : 0x0002

    Variables

    CLSID_FileOpenDialog ¶

    CLSID_FileOpenDialog: ^GUID = …

    CLSID_FileSaveDialog ¶

    CLSID_FileSaveDialog: ^GUID = …

    CLSID_TaskbarList ¶

    CLSID_TaskbarList: ^GUID = …

    IDC_APPSTARTING ¶

    IDC_APPSTARTING: cstring = …

    IDC_ARROW ¶

    IDC_ARROW: cstring = …

    IDC_CROSS ¶

    IDC_CROSS: cstring = …

    IDC_HAND ¶

    IDC_HAND: cstring = …

    IDC_HELP ¶

    IDC_HELP: cstring = …

    IDC_IBEAM ¶

    IDC_IBEAM: cstring = …

    IDC_ICON ¶

    IDC_ICON: cstring = …

    IDC_NO ¶

    IDC_NO: cstring = …

    IDC_SIZE ¶

    IDC_SIZE: cstring = …

    IDC_SIZEALL ¶

    IDC_SIZEALL: cstring = …

    IDC_SIZENESW ¶

    IDC_SIZENESW: cstring = …

    IDC_SIZENS ¶

    IDC_SIZENS: cstring = …

    IDC_SIZENWSE ¶

    IDC_SIZENWSE: cstring = …

    IDC_SIZEWE ¶

    IDC_SIZEWE: cstring = …

    IDC_UPARROW ¶

    IDC_UPARROW: cstring = …

    IDC_WAIT ¶

    IDC_WAIT: cstring = …

    IDI_APPLICATION ¶

    IDI_APPLICATION: cstring = …

    IDI_ASTERISK ¶

    IDI_ASTERISK: cstring = …

    IDI_ERROR ¶

    IDI_ERROR: cstring = …

    IDI_EXCLAMATION ¶

    IDI_EXCLAMATION: cstring = …

    IDI_HAND ¶

    IDI_HAND: cstring = …

    IDI_INFORMATION ¶

    IDI_INFORMATION: cstring = …

    IDI_QUESTION ¶

    IDI_QUESTION: cstring = …

    IDI_SHIELD ¶

    IDI_SHIELD: cstring = …

    IDI_WARNING ¶

    IDI_WARNING: cstring = …
    IDI_WINLOGO: cstring = …

    IID_IFileDialog ¶

    IID_IFileDialog: ^GUID = …

    IID_IFileOpenDialog ¶

    IID_IFileOpenDialog: ^GUID = …

    IID_IFileSaveDialog ¶

    IID_IFileSaveDialog: ^GUID = …

    IID_ITaskbarList ¶

    IID_ITaskbarList: ^GUID = …

    IID_ITaskbarList2 ¶

    IID_ITaskbarList2: ^GUID = …

    IID_ITaskbarList3 ¶

    IID_ITaskbarList3: ^GUID = …

    IUnknown_UUID ¶

    IUnknown_UUID: ^GUID = …

    Procedures

    CLSIDFromProgID ¶

    CLSIDFromProgID :: proc "c" (lpszProgID: cstring, lpclsid: ^GUID) -> HRESULT ---

    CLSIDFromProgIDEx ¶

    CLSIDFromProgIDEx :: proc "c" (lpszProgID: cstring, lpclsid: ^GUID) -> HRESULT ---

    CLSIDFromString ¶

    CLSIDFromString :: proc "c" (lpsz: cstring16, pclsid: ^GUID) -> HRESULT ---

    CoCreateInstance ¶

    CoCreateInstance :: proc "c" (rclsid: ^GUID, pUnkOuter: ^IUnknown, dwClsContext: u32, riid: ^GUID, ppv: ^rawptr) -> HRESULT ---

    CoInitialize ¶

    CoInitialize :: proc "c" (reserved: rawptr = nil) -> HRESULT ---

    CoInitializeEx ¶

    CoInitializeEx :: proc "c" (reserved: rawptr = nil, co_init: COINIT = .APARTMENTTHREADED) -> HRESULT ---

    CoTaskMemAlloc ¶

    CoTaskMemAlloc :: proc "c" (cb: uint) -> rawptr ---

    CoTaskMemFree ¶

    CoTaskMemFree :: proc "c" (pv: rawptr) ---

    CoTaskMemRealloc ¶

    CoTaskMemRealloc :: proc "c" (pv: rawptr, cb: uint) -> rawptr ---

    CoUninitialize ¶

    CoUninitialize :: proc "c" () ---

    FILETIME_as_unix_nanoseconds ¶

    FILETIME_as_unix_nanoseconds :: proc "contextless" (ft: FILETIME) -> i64 {…}

    FreePropVariantArray ¶

    FreePropVariantArray :: proc "c" (cVariants: u32, rgvars: ^PROPVARIANT) -> HRESULT ---

    IIDFromString ¶

    IIDFromString :: proc "c" (lpsz: cstring16, lpiid: ^GUID) -> HRESULT ---

    ProgIDFromCLSID ¶

    ProgIDFromCLSID :: proc "c" (clsid: ^GUID, lplpszProgID: ^cstring16) -> HRESULT ---

    PropVariantClear ¶

    PropVariantClear :: proc "c" (pvar: ^PROPVARIANT) -> HRESULT ---

    PropVariantCopy ¶

    PropVariantCopy :: proc "c" (pvarDest: ^PROPVARIANT, pvarSrc: ^PROPVARIANT) -> HRESULT ---

    StringFromCLSID ¶

    StringFromCLSID :: proc "c" (rclsid: ^GUID, lplpsz: ^cstring16) -> HRESULT ---

    StringFromGUID2 ¶

    StringFromGUID2 :: proc "c" (rclsid: ^GUID, lplpsz: cstring16, cchMax: i32) -> i32 ---

    StringFromIID ¶

    StringFromIID :: proc "c" (rclsid: ^GUID, lplpsz: ^cstring16) -> HRESULT ---

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-v0.0.1 (vendor "odin") Linux_amd64 @ 2026-01-30 10:23:17.191009329 +0000 UTC