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
/

    External Examples 3 ¶

    The programs in odin-lang/examples about this package, and how many of its declarations each uses.

    Index

    Types (1104)
    Constants (6456)

    Listed one per row under Constants.

    Procedures (1311)

    Listed one per row under Procedures.

    Procedure Groups (4)

    Listed one per row under Procedures.

    Types

    ACCEL ¶

    ACCEL :: struct {
    	// Also called the flags field 
    	fVirt: BYTE,
    	key:   u16,
    	cmd:   u16,
    }

    Related Procedures With Parameters

    ACCESS_MASK ¶

    ACCESS_MASK :: u32

    Related Procedures With Returns

    ACL ¶

    ACL :: struct {
    	AclRevision: BYTE,
    	Sbz1:        BYTE,
    	AclSize:     u16,
    	AceCount:    u16,
    	Sbz2:        u16,
    }

    ACTCTXW ¶

    ACTCTXW :: struct {
    	Size:                  u32,
    	Flags:                 u32,
    	Source:                cstring16,
    	ProcessorArchitecture: u16,
    	LangId:                u16,
    	AssemblyDirectory:     cstring16,
    	ResourceName:          cstring16,
    	ApplicationName:       cstring16,
    	Module:                HMODULE,
    }

    AC_Line_Status ¶

    AC_Line_Status :: enum BYTE {
    	Offline = 0, 
    	Online  = 1, 
    	Unknown = 255, 
    }

    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,
    }

    Related Procedures With Parameters

    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,
    }

    Related Procedures With Parameters

    APPBARDATA ¶

    APPBARDATA :: struct {
    	cbSize:           u32,
    	hWnd:             HWND,
    	uCallbackMessage: u32,
    	uEdge:            u32,
    	rc:               RECT,
    	lParam:           int,
    }

    ASSOCCLASS ¶

    ASSOCCLASS :: enum i32 {
    	SHELL_KEY        = 0, 
    	PROGID_KEY, 
    	PROGID_STR, 
    	CLSID_KEY, 
    	CLSID_STR, 
    	APP_KEY, 
    	APP_STR, 
    	SYSTEM_STR, 
    	FOLDER, 
    	STAR, 
    	FIXED_PROGID_STR, 
    	PROTOCOL_STR, 
    }

    ASSOCDATA ¶

    ASSOCDATA :: enum i32 {
    	MSIDESCRIPTOR     = 1, 
    	NOACTIVATEHANDLER, 
    	UNUSED1, 
    	HASPERUSERASSOC, 
    	EDITFLAGS, 
    	VALUE, 
    	MAX, 
    }

    ASSOCF_Bits ¶

    ASSOCF_Bits :: enum i32 {
    	INIT_NOREMAPCLSID    = 0, 
    	INIT_BYEXENAME       = 1, 
    	OPEN_BYEXENAME       = 1, 
    	INIT_DEFAULTTOSTAR   = 2, 
    	INIT_DEFAULTTOFOLDER = 3, 
    	NOUSERSETTINGS       = 4, 
    	NOTRUNCATE           = 5, 
    	VERIFY               = 6, 
    	REMAPRUNDLL          = 7, 
    	NOFIXUPS             = 8, 
    	IGNOREBASECLASS      = 9, 
    	INIT_IGNOREUNKNOWN   = 10, 
    	INIT_FIXED_PROGID    = 11, 
    	IS_PROTOCOL          = 12, 
    	INIT_FOR_FILE        = 13, 
    	IS_FULL_URI          = 14, 
    	PER_MACHINE_ONLY     = 15, 
    	APP_TO_APP           = 16, 
    }

    ASSOCIATIONELEMENT ¶

    ASSOCIATIONELEMENT :: struct {
    	ac:       ASSOCCLASS,
    	hkClass:  HKEY,
    	pszClass: cstring16,
    }

    ASSOCKEY ¶

    ASSOCKEY :: enum i32 {
    	SHELLEXECCLASS = 1, 
    	APP, 
    	CLASS, 
    	BASECLASS, 
    	MAX, 
    }

    ASSOCSTR ¶

    ASSOCSTR :: enum i32 {
    	COMMAND                 = 1, 
    	EXECUTABLE, 
    	FRIENDLYDOCNAME, 
    	FRIENDLYAPPNAME, 
    	NOOPEN, 
    	SHELLNEWVALUE, 
    	DDECOMMAND, 
    	DDEIFEXEC, 
    	DDEAPPLICATION, 
    	DDETOPIC, 
    	INFOTIP, 
    	QUICKTIP, 
    	TILEINFO, 
    	CONTENTTYPE, 
    	DEFAULTICON, 
    	SHELLEXTENSION, 
    	DROPTARGET, 
    	DELEGATEEXECUTE, 
    	SUPPORTED_URI_PROTOCOLS, 
    	PROGID, 
    	APPID, 
    	APPPUBLISHER, 
    	APPICONREFERENCE, 
    	MAX, 
    }

    Related Procedures With Parameters

    ATOM ¶

    ATOM :: distinct u16
    External examples win32/game_of_life

    Related Procedures With Returns

    Address_Family ¶

    Address_Family :: enum u32 {
    	Unspecified = 0,  // Return both IPv4 and IPv6 addresses associated with adapters with them enabled.
    	IPv4        = 2,  // Return only IPv4 addresses associated with adapters with it enabled.
    	IPv6        = 23, // Return only IPv6 addresses associated with adapters with it enabled.
    }

    BATTERY_DEVTYPE ¶

    BATTERY_DEVTYPE :: enum BYTE {
    	GAMEPAD = 0x00, 
    	HEADSET = 0x01, 
    }
     

    Devices that support batteries Corresponds to BATTERY_DEVTYPE_...

    BATTERY_LEVEL ¶

    BATTERY_LEVEL :: enum BYTE {
    	EMPTY  = 0x00, 
    	LOW    = 0x01, 
    	MEDIUM = 0x02, 
    	FULL   = 0x03, 
    }
     

    These are only valid for wireless, connected devices, with known battery types The amount of use time remaining depends on the type of device. Correspond to BATTERY_LEVEL_...

    BATTERY_TYPE ¶

    BATTERY_TYPE :: enum BYTE {
    	DISCONNECTED = 0x00, // This device is not connected
    	WIRED        = 0x01, // Wired device, no battery
    	ALKALINE     = 0x02, // Alkaline battery source
    	NIMH         = 0x03, // Nickel Metal Hydride battery source
    	UNKNOWN      = 0xFF, // Cannot determine the battery type
    }
     

    Flags for battery status level Correspond to BATTERY_TYPE_...

    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,
    }
    External examples win32/game_of_life

    Related Procedures With Parameters

    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,
    }
    External examples win32/game_of_life

    BITMAPV5HEADER ¶

    BITMAPV5HEADER :: struct {
    	bV5Size:          u32,
    	bV5Width:         i32,
    	bV5Height:        i32,
    	bV5Planes:        u16,
    	bV5BitCount:      u16,
    	bV5Compression:   u32,
    	bV5SizeImage:     u32,
    	bV5XPelsPerMeter: i32,
    	bV5YPelsPerMeter: i32,
    	bV5ClrUsed:       u32,
    	bV5ClrImportant:  u32,
    	bV5RedMask:       u32,
    	bV5GreenMask:     u32,
    	bV5BlueMask:      u32,
    	bV5AlphaMask:     u32,
    	bV5CSType:        u32,
    	bV5Endpoints:     CIEXYZTRIPLE,
    	bV5GammaRed:      u32,
    	bV5GammaGreen:    u32,
    	bV5GammaBlue:     u32,
    	bV5Intent:        u32,
    	bV5ProfileData:   u32,
    	bV5ProfileSize:   u32,
    	bV5Reserved:      u32,
    }
     

    https://learn.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-bitmapv5header

    BKMODE ¶

    BKMODE :: enum int {
    	TRANSPARENT = 1, 
    	OPAQUE      = 2, 
    }

    BLENDFUNCTION ¶

    BLENDFUNCTION :: struct {
    	BlendOp:             BYTE,
    	BlendFlags:          BYTE,
    	SourceConstantAlpha: BYTE,
    	AlphaFormat:         BYTE,
    }

    BLUETOOTH_ADDRESS ¶

    BLUETOOTH_ADDRESS :: struct #raw_union {
    	addr: u64,
    	val:  [6]u8,
    }

    BLUETOOTH_DEVICE_INFO ¶

    BLUETOOTH_DEVICE_INFO :: struct {
    	dw_size:       u32,
    	//  Size in bytes of this structure - must be the size_of(BLUETOOTH_DEVICE_INFO)
    	address:       BLUETOOTH_ADDRESS,
    	//  Bluetooth address
    	device_class:  u32,
    	//  Bluetooth "Class of Device". See: https://btprodspecificationrefs.blob.core.windows.net/assigned-numbers/Assigned%20Number%20Types/Baseband.pdf
    	connected:     BOOL,
    	//  Device connected/in use
    	remembered:    BOOL,
    	//  Device remembered
    	authenticated: BOOL,
    	//  Device authenticated/paired/bonded
    	last_seen:     SYSTEMTIME,
    	//  Last time the device was seen
    	last_used:     SYSTEMTIME,
    	//  Last time the device was used for other than RNR, inquiry, or SDP
    	name:          [248]u16,
    }

    Related Procedures With Parameters

    BLUETOOTH_DEVICE_SEARCH_PARAMS ¶

    BLUETOOTH_DEVICE_SEARCH_PARAMS :: struct {
    	dw_size:              u32,
    	// Size of this structure
    	return_authenticated: BOOL,
    	// Return authenticated devices
    	return_remembered:    BOOL,
    	// Return remembered devices
    	return_unknown:       BOOL,
    	// Return unknown devices
    	return_connected:     BOOL,
    	// Return connected devices
    	issue_inquiry:        BOOL,
    	// Issue a new inquiry
    	timeout_multiplier:   BYTE,
    	// Timeout for the inquiry, expressed in increments of 1.28 seconds
    	radio:                HANDLE,
    }

    BLUETOOTH_FIND_RADIO_PARAMS ¶

    BLUETOOTH_FIND_RADIO_PARAMS :: struct {
    	dw_size: u32,
    }

    BLUETOOTH_RADIO_INFO ¶

    BLUETOOTH_RADIO_INFO :: struct {
    	dw_size:           u32,
    	// Size of this structure
    	address:           BLUETOOTH_ADDRESS,
    	// Address of radio
    	name:              [248]u16,
    	// Name of the radio
    	device_class:      u32,
    	// Bluetooth "Class of Device". See: https://btprodspecificationrefs.blob.core.windows.net/assigned-numbers/Assigned%20Number%20Types/Baseband.pdf
    	lmp_minor_version: u16,
    	// This member contains data specific to individual Bluetooth device manufacturers.
    	manufacturer:      u16,
    }

    BOOL ¶

    BOOL :: distinct b32

    Related Procedures With Parameters

    Related Constants

    BP_ANIMATIONPARAMS ¶

    BP_ANIMATIONPARAMS :: struct {
    	cbSize:     u32,
    	dwFlags:    u32,
    	style:      BP_ANIMATIONSTYLE,
    	dwDuration: u32,
    }

    BP_ANIMATIONSTYLE ¶

    BP_ANIMATIONSTYLE :: enum i32 {
    	BPAS_NONE, 
    	BPAS_LINEAR, 
    	BPAS_CUBIC, 
    	BPAS_SINE, 
    }

    BP_BUFFERFORMAT ¶

    BP_BUFFERFORMAT :: enum i32 {
    	BPBF_COMPATIBLEBITMAP, 
    	BPBF_DIB, 
    	BPBF_TOPDOWNDIB, 
    	BPBF_TOPDOWNMONODIB, 
    }

    Related Procedures With Parameters

    BP_PAINTPARAMS ¶

    BP_PAINTPARAMS :: struct {
    	cbSize:         u32,
    	dwFlags:        u32,
    	prcExclude:     ^RECT,
    	pBlendFunction: ^BLENDFUNCTION,
    }

    Related Procedures With Parameters

    BSMINFO ¶

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

    BSTR ¶

    BSTR :: ^u16

    Related Procedures With Parameters

    Related Procedures With Returns

    Related Constants

    BUTTON_IMAGELIST ¶

    BUTTON_IMAGELIST :: struct {
    	himl:   ^IUnknown,
    	margin: RECT,
    	uAlign: u32,
    }

    Related Procedures With Parameters

    BUTTON_SPLITINFO ¶

    BUTTON_SPLITINFO :: struct {
    	mask:        u32,
    	himlGlyph:   ^IUnknown,
    	uSplitStyle: u32,
    	size:        SIZE,
    }

    Related Procedures With Parameters

    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,
    }

    Battery_Flag ¶

    Battery_Flag :: enum BYTE {
    	High       = 0, 
    	Low        = 1, 
    	Critical   = 2, 
    	Charging   = 3, 
    	No_Battery = 7, 
    }

    CACHE_DESCRIPTOR ¶

    CACHE_DESCRIPTOR :: struct {
    	Level:         BYTE,
    	Associativity: BYTE,
    	LineSize:      u16,
    	Size:          u32,
    	Type:          PROCESSOR_CACHE_TYPE,
    }

    CERT_BLOB ¶

    CERT_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CERT_CONTEXT ¶

    CERT_CONTEXT :: struct {
    	dwCertEncodingType: u32,
    	pbCertEncoded:      [^]u8,
    	cbCertEncoded:      u32,
    	pCertInfo:          ^CERT_INFO,
    	hCertStore:         HCERTSTORE,
    }

    Related Procedures With Parameters

    CERT_EXTENSION ¶

    CERT_EXTENSION :: struct {
    	pszObjId:  ^u8,
    	fCritical: BOOL,
    	Value:     CRYPT_OBJID_BLOB,
    }

    CERT_INFO ¶

    CERT_INFO :: struct {
    	dwVersion:            u32,
    	SerialNumber:         CRYPT_INTEGER_BLOB,
    	SignatureAlgorithm:   CRYPT_ALGORITHM_IDENTIFIER,
    	Issuer:               CERT_NAME_BLOB,
    	NotBefore:            FILETIME,
    	NotAfter:             FILETIME,
    	Subject:              CERT_NAME_BLOB,
    	SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO,
    	IssuerUniqueId:       CRYPT_BIT_BLOB,
    	SubjectUniqueId:      CRYPT_BIT_BLOB,
    	cExtension:           u32,
    	rgExtension:          ^CERT_EXTENSION,
    }

    CERT_NAME_BLOB ¶

    CERT_NAME_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CERT_RDN_VALUE_BLOB ¶

    CERT_RDN_VALUE_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CHOOSECOLORW ¶

    CHOOSECOLORW :: struct {
    	lStructSize:    u32,
    	hwndOwner:      HWND,
    	hInstance:      HWND,
    	rgbResult:      u32,
    	lpCustColors:   ^u32,
    	Flags:          u32,
    	lCustData:      int,
    	lpfnHook:       LPCCHOOKPROC,
    	lpTemplateName: cstring16,
    }

    CHOOSEFONTW ¶

    CHOOSEFONTW :: struct {
    	lStructSize:            u32,
    	hwndOwner:              HWND,
    	// caller's window handle
    	hDC:                    HDC,
    	// printer DC/IC or NULL
    	lpLogFont:              ^LOGFONTW,
    	// ptr. to a LOGFONT struct
    	iPointSize:             i32,
    	// 10 * size in points of selected font
    	Flags:                  u32,
    	// enum. type flags
    	rgbColors:              u32,
    	// returned text color
    	lCustData:              int,
    	// data passed to hook fn.
    	lpfnHook:               LPCFHOOKPROC,
    	// ptr. to hook function
    	lpTemplateName:         cstring16,
    	// custom template name
    	hInstance:              HANDLE,
    	// instance handle of.EXE that contains cust. dlg. template
    	lpszStyle:              ^u16,
    	// must be LF_FACESIZE or bigger
    	nFontType:              u16,
    	// same value reported to the EnumFonts call back with the extra FONTTYPE_ bits added
    	___MISSING_ALIGNMENT__: u16,
    	nSizeMin:               i32,
    	// minimum pt size allowed &
    	nSizeMax:               i32,
    }

    CIEXYZTRIPLE ¶

    CIEXYZTRIPLE :: struct {
    	ciexyzRed:   CIEXYZ,
    	ciexyzGreen: CIEXYZ,
    	ciexyzBlue:  CIEXYZ,
    }

    CLSID ¶

    CLSID :: GUID

    Related Procedures With Parameters

    Related Constants

    CODEPAGE ¶

    CODEPAGE :: enum u32 {
    	// Default to ANSI code page
    	ACP                     = CP_ACP, 
    	// Default to OEM  code page
    	OEMCP                   = CP_OEMCP, 
    	// Default to MAC  code page
    	MACCP                   = CP_MACCP, 
    	// Current thread's ANSI code page
    	THREAD_ACP              = CP_THREAD_ACP, 
    	// Symbol translations
    	SYMBOL                  = CP_SYMBOL, 
    	// IBM EBCDIC US-Canada
    	IBM037                  = 037, 
    	// OEM United States
    	IBM437                  = 437, 
    	// IBM EBCDIC International
    	IBM500                  = 500, 
    	// Arabic (ASMO 708)
    	ASMO_708                = 708, 
    	// Arabic (Transparent ASMO); Arabic (DOS)
    	DOS_720                 = 720, 
    	// OEM Greek (formerly 437G); Greek (DOS)
    	IBM737                  = 737, 
    	// OEM Baltic; Baltic (DOS)
    	IBM775                  = 775, 
    	// OEM Multilingual Latin 1; Western European (DOS)
    	IBM850                  = 850, 
    	// OEM Latin 2; Central European (DOS)
    	IBM852                  = 852, 
    	// OEM Cyrillic (primarily Russian)
    	IBM855                  = 855, 
    	// OEM Turkish; Turkish (DOS)
    	IBM857                  = 857, 
    	// OEM Multilingual Latin 1 + Euro symbol
    	IBM00858                = 858, 
    	// OEM Portuguese; Portuguese (DOS)
    	IBM860                  = 860, 
    	// OEM Icelandic; Icelandic (DOS)
    	IBM861                  = 861, 
    	// OEM Hebrew; Hebrew (DOS)
    	DOS_862                 = 862, 
    	// OEM French Canadian; French Canadian (DOS)
    	IBM863                  = 863, 
    	// OEM Arabic; Arabic (864)
    	IBM864                  = 864, 
    	// OEM Nordic; Nordic (DOS)
    	IBM865                  = 865, 
    	// OEM Russian; Cyrillic (DOS)
    	CP866                   = 866, 
    	// OEM Modern Greek; Greek, Modern (DOS)
    	IBM869                  = 869, 
    	// IBM EBCDIC Multilingual/ROECE (Latin 2); IBM EBCDIC Multilingual Latin 2
    	IBM870                  = 870, 
    	// Thai (Windows)
    	WINDOWS_874             = 874, 
    	// IBM EBCDIC Greek Modern
    	CP875                   = 875, 
    	// ANSI/OEM Japanese; Japanese (Shift-JIS)
    	SHIFT_JIS               = 932, 
    	// ANSI/OEM Simplified Chinese (PRC, Singapore); Chinese Simplified (GB2312)
    	GB2312                  = 936, 
    	// ANSI/OEM Korean (Unified Hangul Code)
    	KS_C_5601_1987          = 949, 
    	// ANSI/OEM Traditional Chinese (Taiwan; Hong Kong SAR, PRC); Chinese Traditional (Big5)
    	BIG5                    = 950, 
    	// IBM EBCDIC Turkish (Latin 5)
    	IBM1026                 = 1026, 
    	// IBM EBCDIC Latin 1/Open System
    	IBM01047                = 1047, 
    	// IBM EBCDIC US-Canada (037 + Euro symbol); IBM EBCDIC (US-Canada-Euro)
    	IBM01140                = 1140, 
    	// IBM EBCDIC Germany (20273 + Euro symbol); IBM EBCDIC (Germany-Euro)
    	IBM01141                = 1141, 
    	// IBM EBCDIC Denmark-Norway (20277 + Euro symbol); IBM EBCDIC (Denmark-Norway-Euro)
    	IBM01142                = 1142, 
    	// IBM EBCDIC Finland-Sweden (20278 + Euro symbol); IBM EBCDIC (Finland-Sweden-Euro)
    	IBM01143                = 1143, 
    	// IBM EBCDIC Italy (20280 + Euro symbol); IBM EBCDIC (Italy-Euro)
    	IBM01144                = 1144, 
    	// IBM EBCDIC Latin America-Spain (20284 + Euro symbol); IBM EBCDIC (Spain-Euro)
    	IBM01145                = 1145, 
    	// IBM EBCDIC United Kingdom (20285 + Euro symbol); IBM EBCDIC (UK-Euro)
    	IBM01146                = 1146, 
    	// IBM EBCDIC France (20297 + Euro symbol); IBM EBCDIC (France-Euro)
    	IBM01147                = 1147, 
    	// IBM EBCDIC International (500 + Euro symbol); IBM EBCDIC (International-Euro)
    	IBM01148                = 1148, 
    	// IBM EBCDIC Icelandic (20871 + Euro symbol); IBM EBCDIC (Icelandic-Euro)
    	IBM01149                = 1149, 
    	// Unicode UTF-16, little endian byte order (BMP of ISO 10646); available only to managed applications
    	UTF16                   = 1200, 
    	// Unicode UTF-16, big endian byte order; available only to managed applications
    	UNICODEFFFE             = 1201, 
    	// ANSI Central European; Central European (Windows)
    	WINDOWS_1250            = 1250, 
    	// ANSI Cyrillic; Cyrillic (Windows)
    	WINDOWS_1251            = 1251, 
    	// ANSI Latin 1; Western European (Windows)
    	WINDOWS_1252            = 1252, 
    	// ANSI Greek; Greek (Windows)
    	WINDOWS_1253            = 1253, 
    	// ANSI Turkish; Turkish (Windows)
    	WINDOWS_1254            = 1254, 
    	// ANSI Hebrew; Hebrew (Windows)
    	WINDOWS_1255            = 1255, 
    	// ANSI Arabic; Arabic (Windows)
    	WINDOWS_1256            = 1256, 
    	// ANSI Baltic; Baltic (Windows)
    	WINDOWS_1257            = 1257, 
    	// ANSI/OEM Vietnamese; Vietnamese (Windows)
    	WINDOWS_1258            = 1258, 
    	// Korean (Johab)
    	JOHAB                   = 1361, 
    	// MAC Roman; Western European (Mac)
    	MACINTOSH               = 10000, 
    	// Japanese (Mac)
    	X_MAC_JAPANESE          = 10001, 
    	// MAC Traditional Chinese (Big5); Chinese Traditional (Mac)
    	X_MAC_CHINESETRAD       = 10002, 
    	// Korean (Mac)
    	X_MAC_KOREAN            = 10003, 
    	// Arabic (Mac)
    	X_MAC_ARABIC            = 10004, 
    	// Hebrew (Mac)
    	X_MAC_HEBREW            = 10005, 
    	// Greek (Mac)
    	X_MAC_GREEK             = 10006, 
    	// Cyrillic (Mac)
    	X_MAC_CYRILLIC          = 10007, 
    	// MAC Simplified Chinese (GB 2312); Chinese Simplified (Mac)
    	X_MAC_CHINESESIMP       = 10008, 
    	// Romanian (Mac)
    	X_MAC_ROMANIAN          = 10010, 
    	// Ukrainian (Mac)
    	X_MAC_UKRAINIAN         = 10017, 
    	// Thai (Mac)
    	X_MAC_THAI              = 10021, 
    	// MAC Latin 2; Central European (Mac)
    	X_MAC_CE                = 10029, 
    	// Icelandic (Mac)
    	X_MAC_ICELANDIC         = 10079, 
    	// Turkish (Mac)
    	X_MAC_TURKISH           = 10081, 
    	// Croatian (Mac)
    	X_MAC_CROATIAN          = 10082, 
    	// Unicode UTF-32, little endian byte order; available only to managed applications
    	UTF32                   = 12000, 
    	// Unicode UTF-32, big endian byte order; available only to managed applications
    	UTF32BE                 = 12001, 
    	// CNS Taiwan; Chinese Traditional (CNS)
    	X_CHINESE_CNS           = 20000, 
    	// TCA Taiwan
    	X_CP20001               = 20001, 
    	// Eten Taiwan; Chinese Traditional (Eten)
    	X_CHINESE_ETEN          = 20002, 
    	// IBM5550 Taiwan
    	X_CP20003               = 20003, 
    	// TeleText Taiwan
    	X_CP20004               = 20004, 
    	// Wang Taiwan
    	X_CP20005               = 20005, 
    	// IA5 (IRV International Alphabet No. 5, 7-bit); Western European (IA5)
    	X_IA5                   = 20105, 
    	// IA5 German (7-bit)
    	X_IA5_GERMAN            = 20106, 
    	// IA5 Swedish (7-bit)
    	X_IA5_SWEDISH           = 20107, 
    	// IA5 Norwegian (7-bit)
    	X_IA5_NORWEGIAN         = 20108, 
    	// US-ASCII (7-bit)
    	US_ASCII                = 20127, 
    	// T.61
    	X_CP20261               = 20261, 
    	// ISO 6937 Non-Spacing Accent
    	X_CP20269               = 20269, 
    	// IBM EBCDIC Germany
    	IBM273                  = 20273, 
    	// IBM EBCDIC Denmark-Norway
    	IBM277                  = 20277, 
    	// IBM EBCDIC Finland-Sweden
    	IBM278                  = 20278, 
    	// IBM EBCDIC Italy
    	IBM280                  = 20280, 
    	// IBM EBCDIC Latin America-Spain
    	IBM284                  = 20284, 
    	// IBM EBCDIC United Kingdom
    	IBM285                  = 20285, 
    	// IBM EBCDIC Japanese Katakana Extended
    	IBM290                  = 20290, 
    	// IBM EBCDIC France
    	IBM297                  = 20297, 
    	// IBM EBCDIC Arabic
    	IBM420                  = 20420, 
    	// IBM EBCDIC Greek
    	IBM423                  = 20423, 
    	// IBM EBCDIC Hebrew
    	IBM424                  = 20424, 
    	// IBM EBCDIC Korean Extended
    	X_EBCDIC_KOREANEXTENDED = 20833, 
    	// IBM EBCDIC Thai
    	IBM_THAI                = 20838, 
    	// Russian (KOI8-R); Cyrillic (KOI8-R)
    	KOI8_R                  = 20866, 
    	// IBM EBCDIC Icelandic
    	IBM871                  = 20871, 
    	// IBM EBCDIC Cyrillic Russian
    	IBM880                  = 20880, 
    	// IBM EBCDIC Turkish
    	IBM905                  = 20905, 
    	// IBM EBCDIC Latin 1/Open System (1047 + Euro symbol)
    	IBM00924                = 20924, 
    	// Japanese (JIS 0208-1990 and 0212-1990)
    	EUC_JP                  = 20932, 
    	// Simplified Chinese (GB2312); Chinese Simplified (GB2312-80)
    	X_CP20936               = 20936, 
    	// Korean Wansung
    	X_CP20949               = 20949, 
    	// IBM EBCDIC Cyrillic Serbian-Bulgarian
    	CP1025                  = 21025, 
    	// Ukrainian (KOI8-U); Cyrillic (KOI8-U)
    	KOI8_U                  = 21866, 
    	// ISO 8859-1 Latin 1; Western European (ISO)
    	ISO_8859_1              = 28591, 
    	// ISO 8859-2 Central European; Central European (ISO)
    	ISO_8859_2              = 28592, 
    	// ISO 8859-3 Latin 3
    	ISO_8859_3              = 28593, 
    	// ISO 8859-4 Baltic
    	ISO_8859_4              = 28594, 
    	// ISO 8859-5 Cyrillic
    	ISO_8859_5              = 28595, 
    	// ISO 8859-6 Arabic
    	ISO_8859_6              = 28596, 
    	// ISO 8859-7 Greek
    	ISO_8859_7              = 28597, 
    	// ISO 8859-8 Hebrew; Hebrew (ISO-Visual)
    	ISO_8859_8              = 28598, 
    	// ISO 8859-9 Turkish
    	ISO_8859_9              = 28599, 
    	// ISO 8859-13 Estonian
    	ISO_8859_13             = 28603, 
    	// ISO 8859-15 Latin 9
    	ISO_8859_15             = 28605, 
    	// Europa 3
    	X_EUROPA                = 29001, 
    	// ISO 8859-8 Hebrew; Hebrew (ISO-Logical)
    	ISO_8859_8_I            = 38598, 
    	// ISO 2022 Japanese with no halfwidth Katakana; Japanese (JIS)
    	ISO_2022_JP             = 50220, 
    	// ISO 2022 Japanese with halfwidth Katakana; Japanese (JIS-Allow 1 byte Kana)
    	CSISO2022JP             = 50221, 
    	// ISO 2022 Japanese JIS X 0201-1989; Japanese (JIS-Allow 1 byte Kana - SO/SI)
    	ISO_2022_2_JP           = 50222, 
    	// ISO 2022 Korean
    	ISO_2022_KR             = 50225, 
    	// ISO 2022 Simplified Chinese; Chinese Simplified (ISO 2022)
    	X_CP50227               = 50227, 
    	// EUC Japanese
    	EUC_JP_2                = 51932, 
    	// EUC Simplified Chinese; Chinese Simplified (EUC)
    	EUC_CN                  = 51936, 
    	// EUC Korean
    	EUC_KR                  = 51949, 
    	// HZ-GB2312 Simplified Chinese; Chinese Simplified (HZ)
    	HZ_GB_2312              = 52936, 
    	// **Windows XP and later:** GB18030 Simplified Chinese (4 byte); Chinese Simplified (GB18030)
    	GB18030                 = 54936, 
    	// ISCII Devanagari
    	X_ISCII_DE              = 57002, 
    	// ISCII Bangla
    	X_ISCII_BE              = 57003, 
    	// ISCII Tamil
    	X_ISCII_TA              = 57004, 
    	// ISCII Telugu
    	X_ISCII_TE              = 57005, 
    	// ISCII Assamese
    	X_ISCII_AS              = 57006, 
    	// ISCII Odia
    	X_ISCII_OR              = 57007, 
    	// ISCII Kannada
    	X_ISCII_KA              = 57008, 
    	// ISCII Malayalam
    	X_ISCII_MA              = 57009, 
    	// ISCII Gujarati
    	X_ISCII_GU              = 57010, 
    	// ISCII Punjabi
    	X_ISCII_PA              = 57011, 
    	// Unicode (UTF-7)
    	UTF7                    = CP_UTF7,       // 65000
    	// Unicode (UTF-8)
    	UTF8                    = CP_UTF8,       // 65001
    }
     

    https://learn.microsoft.com/en-us/windows/win32/intl/code-page-identifiers

    Related Procedures With Parameters

    Related Procedures With Returns

    COINIT ¶

    COINIT :: enum u32 {
    	APARTMENTTHREADED = 0x2, 
    	MULTITHREADED     = 0, 
    	DISABLE_OLE1DDE   = 0x4, 
    	SPEED_OVER_MEMORY = 0x8, 
    }
     

    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

    COLORMAP ¶

    COLORMAP :: struct {
    	from: u32,
    	to:   u32,
    }

    COLORREF ¶

    COLORREF :: u32

    Related Procedures With Returns

    COLORSCHEME ¶

    COLORSCHEME :: struct {
    	dwSize:          u32,
    	clrBtnHighlight: u32,
    	clrBtnShadow:    u32,
    }
     

    Toolbar Control

    COMBOBOXEXITEMW ¶

    COMBOBOXEXITEMW :: struct {
    	mask:           u32,
    	iItem:          int,
    	pszText:        ^u16,
    	cchTextMax:     i32,
    	iImage:         i32,
    	iSelectedImage: i32,
    	iOverlay:       i32,
    	iIndent:        i32,
    	lParam:         int,
    }

    COMMTIMEOUTS ¶

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

    Related Procedures With Parameters

    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,
    }

    CONSOLE_CURSOR_INFO ¶

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

    Related Procedures With Parameters

    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,
    }

    CONSOLE_SCREEN_BUFFER_INFOEX ¶

    CONSOLE_SCREEN_BUFFER_INFOEX :: struct {
    	cbSize:               u32,
    	dwSize:               COORD,
    	dwCursorPosition:     COORD,
    	wAttributes:          u16,
    	srWindow:             SMALL_RECT,
    	dwMaximumWindowSize:  COORD,
    	wPopupAttributes:     u16,
    	bFullscreenSupported: BOOL,
    	ColorTable:           [16]u32,
    }

    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,
    }

    Related Procedures With Parameters

    COPYDATASTRUCT ¶

    COPYDATASTRUCT :: struct {
    	dwData: uint,
    	cbData: u32,
    	lpData: rawptr,
    }

    CPINFOEXW ¶

    CPINFOEXW :: struct {
    	// Maximum length, in bytes, of a character in the code page.
    	MaxCharSize:        u32,
    	// The default is usually the "?" character for the code page.
    	DefaultChar:        [2]BYTE,
    	// A fixed-length array of lead byte ranges, for which the number of lead byte ranges is variable.
    	LeadByte:           [12]BYTE,
    	// The default is usually the "?" character or the katakana middle dot character.
    	UnicodeDefaultChar: u16,
    	// Code page value. This value reflects the code page passed to the GetCPInfoEx function.
    	CodePage:           CODEPAGE,
    	// Full name of the code page.
    	CodePageName:       [260]u16,
    }

    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,
    }
    External examples win32/game_of_life

    CRL_BLOB ¶

    CRL_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CRYPTOAPI_BLOB ¶

    CRYPTOAPI_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CRYPT_ALGORITHM_IDENTIFIER ¶

    CRYPT_ALGORITHM_IDENTIFIER :: struct {
    	pszObjId:   ^u8,
    	Parameters: CRYPT_OBJID_BLOB,
    }
     

    Type used for any algorithm

    Where the Parameters CRYPT_OBJID_BLOB is in its encoded representation. For most algorithm types, the Parameters CRYPT_OBJID_BLOB is NULL (Parameters.cbData = 0).

    CRYPT_ATTR_BLOB ¶

    CRYPT_ATTR_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CRYPT_BIT_BLOB ¶

    CRYPT_BIT_BLOB :: struct {
    	cbData:      u32,
    	pbData:      [^]u8,
    	cUnusedBits: u32,
    }
     

    In a CRYPT_BIT_BLOB the last byte may contain 0-7 unused bits. Therefore, the overall bit length is cbData * 8 - cUnusedBits.

    certenrolls_begin -- CERT_CONTEXT

    CRYPT_DATA_BLOB ¶

    CRYPT_DATA_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CRYPT_DER_BLOB ¶

    CRYPT_DER_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CRYPT_DIGEST_BLOB ¶

    CRYPT_DIGEST_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CRYPT_HASH_BLOB ¶

    CRYPT_HASH_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CRYPT_INTEGER_BLOB ¶

    CRYPT_INTEGER_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CRYPT_OBJID_BLOB ¶

    CRYPT_OBJID_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CRYPT_UINT_BLOB ¶

    CRYPT_UINT_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    CURSORINFO ¶

    CURSORINFO :: struct {
    	cbSize:      u32,
    	flags:       u32,
    	hCursor:     HCURSOR,
    	ptScreenPos: POINT,
    }

    CWPRETSTRUCT ¶

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

    ChoosePixelFormatARBType ¶

    ChoosePixelFormatARBType :: proc "c" (hdc: HDC, attribIList: [^]i32, attribFList: [^]f32, maxFormats: u32, formats: [^]i32, numFormats: [^]u32) -> BOOL

    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_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, 
    }

    CreateContextAttribsARBType ¶

    CreateContextAttribsARBType :: proc "c" (hdc: HDC, hShareContext: rawptr, attribList: [^]i32) -> HGLRC

    DATA_BLOB ¶

    DATA_BLOB :: struct {
    	cbData: u32,
    	pbData: [^]u8 `fmt:s,cbData`,
    }

    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,
    }

    Related Procedures With Parameters

    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,
    	},
    }

    DESIGNVECTOR ¶

    DESIGNVECTOR :: struct {
    	dvReserved: u32,
    	dvNumAxes:  u32,
    	dvValues:   [16]i32,
    }

    DEVMODEW ¶

    DEVMODEW :: struct {
    	dmDeviceName:       [32]u16,
    	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]u16,
    	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,
    }
    External examples win32/game_of_life

    DEVNAMES ¶

    DEVNAMES :: struct {
    	wDriverOffset: u16,
    	wDeviceOffset: u16,
    	wOutputOffset: u16,
    	wDefault:      u16,
    }
     

    Device Names structure for PrintDlg and PrintDlgEx.

    DISPLAY_DEVICEW ¶

    DISPLAY_DEVICEW :: struct {
    	cb:           u32,
    	DeviceName:   [32]u16,
    	DeviceString: [128]u16,
    	StateFlags:   u32,
    	DeviceID:     [128]u16,
    	DeviceKey:    [128]u16,
    }

    DNS_MX_DATAA ¶

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

    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_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,
    }

    DRAWTEXTPARAMS ¶

    DRAWTEXTPARAMS :: struct {
    	cbSize:        u32,
    	iTabLength:    i32,
    	iLeftMargin:   i32,
    	iRightMargin:  i32,
    	uiLengthDrawn: u32,
    }

    DTR_Control ¶

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

    DWMNCRENDERINGPOLICY ¶

    DWMNCRENDERINGPOLICY :: enum int {
    	DWMNCRP_USEWINDOWSTYLE, 
    	DWMNCRP_DISABLED, 
    	DWMNCRP_ENABLED, 
    	DWMNCRP_LAST, 
    }

    DWMWINDOWATTRIBUTE ¶

    DWMWINDOWATTRIBUTE :: enum int {
    	DWMWA_NCRENDERING_ENABLED            = 1, 
    	DWMWA_NCRENDERING_POLICY, 
    	DWMWA_TRANSITIONS_FORCEDISABLED, 
    	DWMWA_ALLOW_NCPAINT, 
    	DWMWA_CAPTION_BUTTON_BOUNDS, 
    	DWMWA_NONCLIENT_RTL_LAYOUT, 
    	DWMWA_FORCE_ICONIC_REPRESENTATION, 
    	DWMWA_FLIP3D_POLICY, 
    	DWMWA_EXTENDED_FRAME_BOUNDS, 
    	DWMWA_HAS_ICONIC_BITMAP, 
    	DWMWA_DISALLOW_PEEK, 
    	DWMWA_EXCLUDED_FROM_PEEK, 
    	DWMWA_CLOAK, 
    	DWMWA_CLOAKED, 
    	DWMWA_FREEZE_REPRESENTATION, 
    	DWMWA_PASSIVE_UPDATE_MODE, 
    	DWMWA_USE_HOSTBACKDROPBRUSH, 
    	DWMWA_USE_IMMERSIVE_DARK_MODE        = 20, 
    	DWMWA_WINDOW_CORNER_PREFERENCE       = 33, 
    	DWMWA_BORDER_COLOR, 
    	DWMWA_CAPTION_COLOR, 
    	DWMWA_TEXT_COLOR, 
    	DWMWA_VISIBLE_FRAME_BORDER_THICKNESS, 
    	DWMWA_SYSTEMBACKDROP_TYPE, 
    	DWMWA_LAST, 
    }

    DWM_WINDOW_CORNER_PREFERENCE ¶

    DWM_WINDOW_CORNER_PREFERENCE :: enum i32 {
    	DEFAULT, 
    	DONOTROUND, 
    	ROUND, 
    	ROUNDSMALL, 
    }

    DWORD ¶

    DWORD :: u32
    External examples win32/game_of_life

    Related Procedures With Returns

    DrawTextFormat ¶

    DrawTextFormat :: enum u32 {
    	DT_TOP                  = 0x00000000, 
    	DT_LEFT                 = 0x00000000, 
    	DT_CENTER               = 0x00000001, 
    	DT_RIGHT                = 0x00000002, 
    	DT_VCENTER              = 0x00000004, 
    	DT_BOTTOM               = 0x00000008, 
    	DT_WORDBREAK            = 0x00000010, 
    	DT_SINGLELINE           = 0x00000020, 
    	DT_EXPANDTABS           = 0x00000040, 
    	DT_TABSTOP              = 0x00000080, 
    	DT_NOCLIP               = 0x00000100, 
    	DT_EXTERNALLEADING      = 0x00000200, 
    	DT_CALCRECT             = 0x00000400, 
    	DT_NOPREFIX             = 0x00000800, 
    	DT_INTERNAL             = 0x00001000, 
    	DT_EDITCONTROL          = 0x00002000, 
    	DT_PATH_ELLIPSIS        = 0x00004000, 
    	DT_END_ELLIPSIS         = 0x00008000, 
    	DT_MODIFYSTRING         = 0x00010000, 
    	DT_RTLREADING           = 0x00020000, 
    	DT_WORD_ELLIPSIS        = 0x00040000, 
    	DT_NOFULLWIDTHCHARBREAK = 0x00080000, 
    	DT_HIDEPREFIX           = 0x00100000, 
    	DT_PREFIXONLY           = 0x00200000, 
    }

    Related Procedures With Parameters

    EDITBALLOONTIP ¶

    EDITBALLOONTIP :: struct {
    	cbStruct: u32,
    	pszTitle: cstring16,
    	pszText:  cstring16,
    	ttiIcon:  i32,
    }
     

    Edit Control

    ENUMLOGFONTEXDVW ¶

    ENUMLOGFONTEXDVW :: struct {
    	elfEnumLogfontEx: ENUMLOGFONTEXW,
    	elfDesignVector:  DESIGNVECTOR,
    }

    ENUMLOGFONTEXW ¶

    ENUMLOGFONTEXW :: struct {
    	elfLogFont:  LOGFONTW,
    	elfFullName: [64]u16,
    	elfStyle:    [32]u16,
    	elfScript:   [32]u16,
    }

    ENUMLOGFONTW ¶

    ENUMLOGFONTW :: struct {
    	elfLogFont:  LOGFONTW,
    	elfFullName: [64]u16,
    	elfStyle:    [32]u16,
    }

    ENUMRESLANGPROCW ¶

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

    ENUMRESNAMEPROCW ¶

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

    Related Procedures With Parameters

    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                = 0x0001, 
    	MOUSE_EVENT              = 0x0002, 
    	WINDOW_BUFFER_SIZE_EVENT = 0x0004, 
    	MENU_EVENT               = 0x0008, 
    	FOCUS_EVENT              = 0x0010, 
    }

    FACILITY ¶

    FACILITY :: enum u32 {
    	NULL                                     = 0, 
    	RPC                                      = 1, 
    	DISPATCH                                 = 2, 
    	STORAGE                                  = 3, 
    	ITF                                      = 4, 
    	WIN32                                    = 7, 
    	WINDOWS                                  = 8, 
    	SSPI                                     = 9, 
    	SECURITY                                 = 9, 
    	CONTROL                                  = 10, 
    	CERT                                     = 11, 
    	INTERNET                                 = 12, 
    	MEDIASERVER                              = 13, 
    	MSMQ                                     = 14, 
    	SETUPAPI                                 = 15, 
    	SCARD                                    = 16, 
    	COMPLUS                                  = 17, 
    	AAF                                      = 18, 
    	URT                                      = 19, 
    	ACS                                      = 20, 
    	DPLAY                                    = 21, 
    	UMI                                      = 22, 
    	SXS                                      = 23, 
    	WINDOWS_CE                               = 24, 
    	HTTP                                     = 25, 
    	USERMODE_COMMONLOG                       = 26, 
    	WER                                      = 27, 
    	USERMODE_FILTER_MANAGER                  = 31, 
    	BACKGROUNDCOPY                           = 32, 
    	CONFIGURATION                            = 33, 
    	WIA                                      = 33, 
    	STATE_MANAGEMENT                         = 34, 
    	METADIRECTORY                            = 35, 
    	WINDOWSUPDATE                            = 36, 
    	DIRECTORYSERVICE                         = 37, 
    	GRAPHICS                                 = 38, 
    	SHELL                                    = 39, 
    	NAP                                      = 39, 
    	TPM_SERVICES                             = 40, 
    	TPM_SOFTWARE                             = 41, 
    	UI                                       = 42, 
    	XAML                                     = 43, 
    	ACTION_QUEUE                             = 44, 
    	PLA                                      = 48, 
    	WINDOWS_SETUP                            = 48, 
    	FVE                                      = 49, 
    	FWP                                      = 50, 
    	WINRM                                    = 51, 
    	NDIS                                     = 52, 
    	USERMODE_HYPERVISOR                      = 53, 
    	CMI                                      = 54, 
    	USERMODE_VIRTUALIZATION                  = 55, 
    	USERMODE_VOLMGR                          = 56, 
    	BCD                                      = 57, 
    	USERMODE_VHD                             = 58, 
    	USERMODE_HNS                             = 59, 
    	SDIAG                                    = 60, 
    	WEBSERVICES                              = 61, 
    	WINPE                                    = 61, 
    	WPN                                      = 62, 
    	WINDOWS_STORE                            = 63, 
    	INPUT                                    = 64, 
    	QUIC                                     = 65, 
    	EAP                                      = 66, 
    	IORING                                   = 70, 
    	WINDOWS_DEFENDER                         = 80, 
    	OPC                                      = 81, 
    	XPS                                      = 82, 
    	MBN                                      = 84, 
    	POWERSHELL                               = 84, 
    	RAS                                      = 83, 
    	P2P_INT                                  = 98, 
    	P2P                                      = 99, 
    	DAF                                      = 100, 
    	BLUETOOTH_ATT                            = 101, 
    	AUDIO                                    = 102, 
    	STATEREPOSITORY                          = 103, 
    	VISUALCPP                                = 109, 
    	SCRIPT                                   = 112, 
    	PARSE                                    = 113, 
    	BLB                                      = 120, 
    	BLB_CLI                                  = 121, 
    	WSBAPP                                   = 122, 
    	BLBUI                                    = 128, 
    	USN                                      = 129, 
    	USERMODE_VOLSNAP                         = 130, 
    	TIERING                                  = 131, 
    	WSB_ONLINE                               = 133, 
    	ONLINE_ID                                = 134, 
    	DEVICE_UPDATE_AGENT                      = 135, 
    	DRVSERVICING                             = 136, 
    	DLS                                      = 153, 
    	DELIVERY_OPTIMIZATION                    = 208, 
    	USERMODE_SPACES                          = 231, 
    	USER_MODE_SECURITY_CORE                  = 232, 
    	USERMODE_LICENSING                       = 234, 
    	SOS                                      = 160, 
    	OCP_UPDATE_AGENT                         = 173, 
    	DEBUGGERS                                = 176, 
    	SPP                                      = 256, 
    	RESTORE                                  = 256, 
    	DMSERVER                                 = 256, 
    	DEPLOYMENT_SERVICES_SERVER               = 257, 
    	DEPLOYMENT_SERVICES_IMAGING              = 258, 
    	DEPLOYMENT_SERVICES_MANAGEMENT           = 259, 
    	DEPLOYMENT_SERVICES_UTIL                 = 260, 
    	DEPLOYMENT_SERVICES_BINLSVC              = 261, 
    	DEPLOYMENT_SERVICES_PXE                  = 263, 
    	DEPLOYMENT_SERVICES_TFTP                 = 264, 
    	DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT = 272, 
    	DEPLOYMENT_SERVICES_DRIVER_PROVISIONING  = 278, 
    	DEPLOYMENT_SERVICES_MULTICAST_SERVER     = 289, 
    	DEPLOYMENT_SERVICES_MULTICAST_CLIENT     = 290, 
    	DEPLOYMENT_SERVICES_CONTENT_PROVIDER     = 293, 
    	HSP_SERVICES                             = 296, 
    	HSP_SOFTWARE                             = 297, 
    	LINGUISTIC_SERVICES                      = 305, 
    	AUDIOSTREAMING                           = 1094, 
    	TTD                                      = 1490, 
    	ACCELERATOR                              = 1536, 
    	WMAAECMA                                 = 1996, 
    	DIRECTMUSIC                              = 2168, 
    	DIRECT3D10                               = 2169, 
    	DXGI                                     = 2170, 
    	DXGI_DDI                                 = 2171, 
    	DIRECT3D11                               = 2172, 
    	DIRECT3D11_DEBUG                         = 2173, 
    	DIRECT3D12                               = 2174, 
    	DIRECT3D12_DEBUG                         = 2175, 
    	DXCORE                                   = 2176, 
    	PRESENTATION                             = 2177, 
    	LEAP                                     = 2184, 
    	AUDCLNT                                  = 2185, 
    	WINCODEC_DWRITE_DWM                      = 2200, 
    	WINML                                    = 2192, 
    	DIRECT2D                                 = 2201, 
    	DEFRAG                                   = 2304, 
    	USERMODE_SDBUS                           = 2305, 
    	JSCRIPT                                  = 2306, 
    	PIDGENX                                  = 2561, 
    	EAS                                      = 85, 
    	WEB                                      = 885, 
    	WEB_SOCKET                               = 886, 
    	XAUDIO2                                  = 896, 
    	XAPO                                     = 897, 
    	GAMEINPUT                                = 906, 
    	MOBILE                                   = 1793, 
    	SQLITE                                   = 1967, 
    	SERVICE_FABRIC                           = 1968, 
    	UTC                                      = 1989, 
    	WEP                                      = 2049, 
    	SYNCENGINE                               = 2050, 
    	XBOX                                     = 2339, 
    	GAME                                     = 2340, 
    	PIX                                      = 2748, 
    }
     

    Define the facility codes

    Related Procedures With Returns

    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 Returns

    FILETYPEATTRIBUTEFLAG ¶

    FILETYPEATTRIBUTEFLAG :: enum u32 {
    	Exclude               = 0, 
    	Show                  = 1, 
    	HasExtension          = 2, 
    	NoEdit                = 3, 
    	NoRemove              = 4, 
    	NoNewVerb             = 5, 
    	NoEditVerb            = 6, 
    	NoRemoveVerb          = 7, 
    	NoEditDesc            = 8, 
    	NoEditIcon            = 9, 
    	NoEditDflt            = 10, 
    	NoEditVerbCmd         = 11, 
    	NoEditVerbExe         = 12, 
    	NoDDE                 = 13, 
    	NoEditMIME            = 15, 
    	OpenIsSafe            = 16, 
    	AlwaysUnsafe          = 17, 
    	NoRecentDocs          = 20, 
    	SafeForElevation      = 21, 
    	AlwaysUseDirectInvoke = 22, 
    }

    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_FLUSH_MODE ¶

    FILE_FLUSH_MODE :: enum i32 {
    	DEFAULT, 
    	DATA, 
    	MIN_METADATA, 
    	NO_SYNC, 
    }

    FILE_ID_FULL_DIR_INFORMATION ¶

    FILE_ID_FULL_DIR_INFORMATION :: struct {
    	NextEntryOffset: u32,
    	FileIndex:       u32,
    	CreationTime:    LARGE_INTEGER,
    	LastAccessTime:  LARGE_INTEGER,
    	LastWriteTime:   LARGE_INTEGER,
    	ChangeTime:      LARGE_INTEGER,
    	EndOfFile:       LARGE_INTEGER,
    	AllocationSize:  LARGE_INTEGER,
    	FileAttributes:  u32,
    	FileNameLength:  u32,
    	EaSize:          u32,
    	FileId:          LARGE_INTEGER,
    	FileName:        [1]u16,
    }

    FILE_ID_INFO ¶

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

    FILE_INFORMATION_CLASS ¶

    FILE_INFORMATION_CLASS :: enum i32 {
    	FileDirectoryInformation                     = 1, 
    	FileFullDirectoryInformation                 = 2, 
    	FileBothDirectoryInformation                 = 3, 
    	FileBasicInformation                         = 4, 
    	FileStandardInformation                      = 5, 
    	FileInternalInformation                      = 6, 
    	FileEaInformation                            = 7, 
    	FileAccessInformation                        = 8, 
    	FileNameInformation                          = 9, 
    	FileRenameInformation                        = 10, 
    	FileLinkInformation                          = 11, 
    	FileNamesInformation                         = 12, 
    	FileDispositionInformation                   = 13, 
    	FilePositionInformation                      = 14, 
    	FileFullEaInformation                        = 15, 
    	FileModeInformation                          = 16, 
    	FileAlignmentInformation                     = 17, 
    	FileAllInformation                           = 18, 
    	FileAllocationInformation                    = 19, 
    	FileEndOfFileInformation                     = 20, 
    	FileAlternateNameInformation                 = 21, 
    	FileStreamInformation                        = 22, 
    	FilePipeInformation                          = 23, 
    	FilePipeLocalInformation                     = 24, 
    	FilePipeRemoteInformation                    = 25, 
    	FileMailslotQueryInformation                 = 26, 
    	FileMailslotSetInformation                   = 27, 
    	FileCompressionInformation                   = 28, 
    	FileObjectIdInformation                      = 29, 
    	FileCompletionInformation                    = 30, 
    	FileMoveClusterInformation                   = 31, 
    	FileQuotaInformation                         = 32, 
    	FileReparsePointInformation                  = 33, 
    	FileNetworkOpenInformation                   = 34, 
    	FileAttributeTagInformation                  = 35, 
    	FileTrackingInformation                      = 36, 
    	FileIdBothDirectoryInformation               = 37, 
    	FileIdFullDirectoryInformation               = 38, 
    	FileValidDataLengthInformation               = 39, 
    	FileShortNameInformation                     = 40, 
    	FileIoCompletionNotificationInformation      = 41, 
    	FileIoStatusBlockRangeInformation            = 42, 
    	FileIoPriorityHintInformation                = 43, 
    	FileSfioReserveInformation                   = 44, 
    	FileSfioVolumeInformation                    = 45, 
    	FileHardLinkInformation                      = 46, 
    	FileProcessIdsUsingFileInformation           = 47, 
    	FileNormalizedNameInformation                = 48, 
    	FileNetworkPhysicalNameInformation           = 49, 
    	FileIdGlobalTxDirectoryInformation           = 50, 
    	FileIsRemoteDeviceInformation                = 51, 
    	FileUnusedInformation                        = 52, 
    	FileNumaNodeInformation                      = 53, 
    	FileStandardLinkInformation                  = 54, 
    	FileRemoteProtocolInformation                = 55, 
    	FileRenameInformationBypassAccessCheck       = 56, 
    	FileLinkInformationBypassAccessCheck         = 57, 
    	FileVolumeNameInformation                    = 58, 
    	FileIdInformation                            = 59, 
    	FileIdExtdDirectoryInformation               = 60, 
    	FileReplaceCompletionInformation             = 61, 
    	FileHardLinkFullIdInformation                = 62, 
    	FileIdExtdBothDirectoryInformation           = 63, 
    	FileDispositionInformationEx                 = 64, 
    	FileRenameInformationEx                      = 65, 
    	FileRenameInformationExBypassAccessCheck     = 66, 
    	FileDesiredStorageClassInformation           = 67, 
    	FileStatInformation                          = 68, 
    	FileMemoryPartitionInformation               = 69, 
    	FileStatLxInformation                        = 70, 
    	FileCaseSensitiveInformation                 = 71, 
    	FileLinkInformationEx                        = 72, 
    	FileLinkInformationExBypassAccessCheck       = 73, 
    	FileStorageReserveIdInformation              = 74, 
    	FileCaseSensitiveInformationForceAccessCheck = 75, 
    	FileKnownFolderInformation                   = 76, 
    	FileStatBasicInformation                     = 77, 
    	FileId64ExtdDirectoryInformation             = 78, 
    	FileId64ExtdBothDirectoryInformation         = 79, 
    	FileIdAllExtdDirectoryInformation            = 80, 
    	FileIdAllExtdBothDirectoryInformation        = 81, 
    	FileStreamReservationInformation, 
    	FileMupProviderInfo, 
    	FileMaximumInformation, 
    }

    Related Procedures With Parameters

    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, 
    }

    Related Procedures With Parameters

    FILE_NOTIFY_INFORMATION ¶

    FILE_NOTIFY_INFORMATION :: struct {
    	NextEntryOffset: u32,
    	Action:          u32,
    	FileNameLength:  u32,
    	FileName:        [1]u16,
    }

    FILE_SEGMENT_ELEMENT ¶

    FILE_SEGMENT_ELEMENT :: struct #raw_union {
    	Buffer:    rawptr,
    	Alignment: u64,
    }

    Related Procedures With Parameters

    FILE_STANDARD_INFO ¶

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

    FILE_VER_GET ¶

    FILE_VER_GET :: enum u32 {
    	LOCALISED, 
    	NEUTRAL, 
    	PREFETCHED, 
    }

    FILE_WRITE_FLAG ¶

    FILE_WRITE_FLAG :: enum u32 {
    	WRITE_THROUGH = 0, // 0x000000001
    }
     

    Types below are from winbase.h and winnt.h

    FILTERKEYS ¶

    FILTERKEYS :: struct {
    	cbSize:      u32,
    	dwFlags:     u32,
    	iWaitMSec:   u32,
    	iDelayMSec:  u32,
    	iRepeatMSec: u32,
    	iBounceMSec: u32,
    }

    FINDREPLACEW ¶

    FINDREPLACEW :: struct {
    	lStructSize:      u32,
    	// size of this struct 0x20
    	hwndOwner:        HWND,
    	// handle to owner's window
    	hInstance:        HANDLE,
    	// instance handle of.EXE that contains cust. dlg. template
    	Flags:            u32,
    	// one or more of the FR_??
    	lpstrFindWhat:    ^u16,
    	// ptr. to search string
    	lpstrReplaceWith: ^u16,
    	// ptr. to replace string
    	wFindWhatLen:     u16,
    	// size of find buffer
    	wReplaceWithLen:  u16,
    	// size of replace buffer
    	lCustData:        int,
    	// data passed to hook fn.
    	lpfnHook:         LPFRHOOKPROC,
    	// ptr. to hook fn. or NULL
    	lpTemplateName:   cstring16,
    }

    Related Procedures With Parameters

    FONTENUMPROCW ¶

    FONTENUMPROCW :: proc "stdcall" (lpelf: ^ENUMLOGFONTW, lpntm: ^NEWTEXTMETRICW, FontType: u32, lParam: int) -> i32

    Related Procedures With Parameters

    FXPT2DOT30 ¶

    FXPT2DOT30 :: distinct i32
     

    fixed.Fixed(i32, 30)

    GAA_Flag ¶

    GAA_Flag :: enum u32 {
    	Skip_Unicast                 = 0,  // Do not return unicast addresses.
    	Skip_Anycast                 = 1,  // Do not return IPv6 anycast addresses.
    	Skip_Multicast               = 2,  // Do not return multicast addresses.
    	Skip_DNS_Server              = 3,  // Do not return addresses of DNS servers.
    	Include_Prefix               = 4,  // (XP SP1+) Return a list of IP address prefixes on this adapter. When this flag is set, IP address prefixes are returned for both IPv6 and IPv4 addresses.
    	Skip_Friendly_Name           = 5,  // Do not return the adapter friendly name.
    	Include_WINS_info            = 6,  // (Vista+) Return addresses of Windows Internet Name Service (WINS) servers.
    	Include_Gateways             = 7,  // (Vista+) Return the addresses of default gateways.
    	Include_All_Interfaces       = 8,  // (Vista+) Return addresses for all NDIS interfaces.
    	Include_All_Compartments     = 9,  // (Reserved, Unsupported) Return addresses in all routing compartments.
    	Include_Tunnel_Binding_Order = 10, // (Vista+) Return the adapter addresses sorted in tunnel binding order.
    }

    GAA_Flags ¶

    GAA_Flags :: bit_set[GAA_Flag; u32]

    GENERIC_MAPPING ¶

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

    Related Procedures With Parameters

    GETPROPERTYSTOREFLAGS ¶

    GETPROPERTYSTOREFLAGS :: enum i32 {
    	DEFAULT                 = 0, 
    	HANDLERPROPERTIESONLY   = 0x1, 
    	READWRITE               = 0x2, 
    	TEMPORARY               = 0x4, 
    	FASTPROPERTIESONLY      = 0x8, 
    	OPENSLOWITEM            = 0x10, 
    	DELAYCREATION           = 0x20, 
    	BESTEFFORT              = 0x40, 
    	NO_OPLOCK               = 0x80, 
    	PREFERQUERYPROPERTIES   = 0x100, 
    	EXTRINSICPROPERTIES     = 0x200, 
    	EXTRINSICPROPERTIESONLY = 0x400, 
    	VOLATILEPROPERTIES      = 0x800, 
    	VOLATILEPROPERTIESONLY  = 0x1000, 
    	MASK_VALID              = 0x1fff, 
    }

    GLYPHMETRICSFLOAT ¶

    GLYPHMETRICSFLOAT :: struct {
    	gmfBlackBoxX:     f32,
    	gmfBlackBoxY:     f32,
    	gmfptGlyphOrigin: POINTFLOAT,
    	gmfCellIncX:      f32,
    	gmfCellIncY:      f32,
    }

    GRADIENT_RECT ¶

    GRADIENT_RECT :: struct {
    	UpperLeft:  u32,
    	LowerRight: u32,
    }

    GRADIENT_TRIANGLE ¶

    GRADIENT_TRIANGLE :: struct {
    	Vertex1: u32,
    	Vertex2: u32,
    	Vertex3: u32,
    }

    GROUP ¶

    GROUP :: distinct u32

    GUID ¶

    GUID :: struct {
    	Data1: u32,
    	Data2: u16,
    	Data3: u16,
    	Data4: [8]BYTE,
    }

    Related Procedures With Parameters

    Related Constants

    GetUserObjectInformationFlags ¶

    GetUserObjectInformationFlags :: enum i32 {
    	UOI_FLAGS                           = 1, 
    	UOI_NAME                            = 2, 
    	UOI_TYPE                            = 3, 
    	UOI_USER_SID                        = 4, 
    	UOI_HEAPSIZE                        = 5, 
    	UOI_IO                              = 6, 
    	UOI_TIMERPROC_EXCEPTION_SUPPRESSION = 7, 
    }

    HARDWAREINPUT ¶

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

    HBRUSH ¶

    HBRUSH :: distinct rawptr
    External examples win32/open_window

    Related Procedures With Parameters

    Related Procedures With Returns

    HCERTSTORE ¶

    HCERTSTORE :: distinct rawptr

    Related Procedures With Parameters

    HCRYPTPROV_LEGACY ¶

    HCRYPTPROV_LEGACY :: rawptr
     

    This type is used where the HCRYPTPROV parameter is no longer used. The caller should always pass in nil.

    Related Procedures With Returns

    HDITEMW ¶

    HDITEMW :: struct {
    	mask:       u32,
    	cxy:        i32,
    	pszText:    ^u16,
    	hbm:        HBITMAP,
    	cchTextMax: i32,
    	fmt:        i32,
    	lParam:     int,
    	iImage:     i32,
    	iOrder:     i32,
    	type:       u32,
    	pvFilter:   rawptr,
    }

    Related Procedures With Parameters

    HDLAYOUT ¶

    HDLAYOUT :: struct {
    	prc:   ^RECT,
    	pwpos: ^WINDOWPOS,
    }

    HDTEXTFILTERW ¶

    HDTEXTFILTERW :: struct {
    	pszText:    ^u16,
    	cchTextMax: i32,
    }
     

    Header Control

    HEAPENTRY32 ¶

    HEAPENTRY32 :: struct {
    	dwSize:        uint,
    	hHandle:       HANDLE,
    	dwAddress:     uint,
    	dwBlockSize:   uint,
    	dwFlags:       u32,
    	dwLockCount:   u32,
    	dwResvd:       u32,
    	th32ProcessID: u32,
    	th32HeapID:    uint,
    }

    Related Procedures With Parameters

    HEAPLIST32 ¶

    HEAPLIST32 :: struct {
    	dwSize:        uint,
    	th32ProcessID: u32,
    	th32HeapID:    uint,
    	dwFlags:       u32,
    }

    Related Procedures With Parameters

    HGDIOBJ ¶

    HGDIOBJ :: distinct rawptr
    External examples win32/game_of_life

    Related Procedures With Parameters

    HHOOK ¶

    HHOOK :: distinct rawptr

    Related Procedures With Parameters

    HIDD_ATTRIBUTES ¶

    HIDD_ATTRIBUTES :: struct {
    	Size:          u32,
    	VendorID:      u16,
    	ProductID:     u16,
    	VersionNumber: u16,
    }

    HIDD_CONFIGURATION ¶

    HIDD_CONFIGURATION :: struct {
    	cookie:         rawptr,
    	size:           u32,
    	RingBufferSize: u32,
    }

    Related Procedures With Parameters

    HIDP_BUTTON_CAPS ¶

    HIDP_BUTTON_CAPS :: struct {
    	UsagePage:         USAGE,
    	ReportID:          BYTE,
    	IsAlias:           BOOLEAN,
    	BitField:          u16,
    	LinkCollection:    u16,
    	LinkUsage:         USAGE,
    	LinkUsagePage:     USAGE,
    	IsRange:           BOOLEAN,
    	IsStringRange:     BOOLEAN,
    	IsDesignatorRange: BOOLEAN,
    	IsAbsolute:        BOOLEAN,
    	ReportCount:       u16,
    	Reserved2:         u16,
    	Reserved:          [9]u32,
    	using _:           struct #raw_union {
    		Range:    struct {
    			UsageMin:      USAGE,
    			UsageMax:      USAGE,
    			StringMin:     u16,
    			StringMax:     u16,
    			DesignatorMin: u16,
    			DesignatorMax: u16,
    			DataIndexMin:  u16,
    			DataIndexMax:  u16,
    		} `raw_union_tag:"IsRange=true"`,
    		NotRange: struct {
    			Usage:           USAGE,
    			Reserved1:       USAGE,
    			StringIndex:     u16,
    			Reserved2:       u16,
    			DesignatorIndex: u16,
    			Reserved3:       u16,
    			DataIndex:       u16,
    			Reserved4:       u16,
    		} `raw_union_tag:"IsRange=false"`,
    	},
    }

    HIDP_CAPS ¶

    HIDP_CAPS :: struct {
    	Usage:                     USAGE,
    	UsagePage:                 USAGE,
    	InputReportByteLength:     u16,
    	OutputReportByteLength:    u16,
    	FeatureReportByteLength:   u16,
    	Reserved:                  [17]u16,
    	NumberLinkCollectionNodes: u16,
    	NumberInputButtonCaps:     u16,
    	NumberInputValueCaps:      u16,
    	NumberInputDataIndices:    u16,
    	NumberOutputButtonCaps:    u16,
    	NumberOutputValueCaps:     u16,
    	NumberOutputDataIndices:   u16,
    	NumberFeatureButtonCaps:   u16,
    	NumberFeatureValueCaps:    u16,
    	NumberFeatureDataIndices:  u16,
    }

    HIDP_DATA ¶

    HIDP_DATA :: struct {
    	DataIndex: u16,
    	Reserved:  u16,
    	using _:   struct #raw_union {
    		RawValue: u32,
    		On:       BOOLEAN,
    	},
    }
    HIDP_LINK_COLLECTION_NODE :: struct {
    	LinkUsage:        USAGE,
    	LinkUsagePage:    USAGE,
    	Parent:           u16,
    	NumberOfChildren: u16,
    	NextSibling:      u16,
    	FirstChild:       u16,
    	CollectionType:   [8]u32,
    	IsAlias:          [1]u32,
    	Reserved:         [23]u32,
    	UserContext:      rawptr,
    }

    HIDP_VALUE_CAPS ¶

    HIDP_VALUE_CAPS :: struct {
    	UsagePage:         USAGE,
    	ReportID:          BYTE,
    	IsAlias:           BOOLEAN,
    	BitField:          u16,
    	LinkCollection:    u16,
    	LinkUsage:         USAGE,
    	LinkUsagePage:     USAGE,
    	IsRange:           BOOLEAN,
    	IsStringRange:     BOOLEAN,
    	IsDesignatorRange: BOOLEAN,
    	IsAbsolute:        BOOLEAN,
    	HasNull:           BOOLEAN,
    	Reserved:          BYTE,
    	BitSize:           u16,
    	ReportCount:       u16,
    	Reserved2:         [5]u16,
    	UnitsExp:          u32,
    	Units:             u32,
    	LogicalMin:        i32,
    	LogicalMax:        i32,
    	PhysicalMin:       i32,
    	PhysicalMax:       i32,
    	using _:           struct #raw_union {
    		Range:    struct {
    			UsageMin:      USAGE,
    			UsageMax:      USAGE,
    			StringMin:     u16,
    			StringMax:     u16,
    			DesignatorMin: u16,
    			DesignatorMax: u16,
    			DataIndexMin:  u16,
    			DataIndexMax:  u16,
    		} `raw_union_tag:"IsRange=true"`,
    		NotRange: struct {
    			Usage:           USAGE,
    			Reserved1:       USAGE,
    			StringIndex:     u16,
    			Reserved2:       u16,
    			DesignatorIndex: u16,
    			Reserved3:       u16,
    			DataIndex:       u16,
    			Reserved4:       u16,
    		} `raw_union_tag:"IsRange=false"`,
    	},
    }

    HOOKPROC ¶

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

    HPALETTE ¶

    HPALETTE :: distinct rawptr

    HPEN ¶

    HPEN :: distinct rawptr

    Related Procedures With Returns

    HRAWINPUT ¶

    HRAWINPUT :: distinct int

    HRGN ¶

    HRGN :: distinct rawptr

    Related Procedures With Parameters

    HRSRC ¶

    HRSRC :: distinct rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    HTHEME ¶

    HTHEME :: distinct rawptr

    HWINEVENTHOOK ¶

    HWINEVENTHOOK :: distinct rawptr

    HandlerRoutine ¶

    HandlerRoutine :: proc "stdcall" (dwCtrlType: u32) -> BOOL

    IBindCtx ¶

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

    Fields Through using (13)

    From using Vtbl: ^IBindCtxVtbl

    IBindCtxVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    ICONINFO ¶

    ICONINFO :: struct {
    	fIcon:    BOOL,
    	xHotspot: u32,
    	yHotspot: u32,
    	hbmMask:  HBITMAP,
    	hbmColor: HBITMAP,
    }

    ICONINFOEXW ¶

    ICONINFOEXW :: struct {
    	cbSize:    u32,
    	fIcon:     BOOL,
    	xHotspot:  u32,
    	yHotspot:  u32,
    	hbmMask:   HBITMAP,
    	hbmColor:  HBITMAP,
    	wResID:    u16,
    	szModName: [260]u16,
    	szResName: [260]u16,
    }

    IEnumMoniker ¶

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

    Fields Through using (7)

    From using Vtbl: ^IEnumMonikerVtbl

    IEnumMonikerVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IEnumShellItems ¶

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

    Fields Through using (7)

    From using Vtbl: ^IEnumShellItemsVtbl

    IEnumShellItemsVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IEnumString ¶

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

    Fields Through using (7)

    From using Vtbl: ^IEnumStringVtbl

    IEnumStringVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IF_OPER_STATUS ¶

    IF_OPER_STATUS :: enum i32 {
    	Up             = 1, 
    	Down           = 2, 
    	Testing        = 3, 
    	Unknown        = 4, 
    	Dormant        = 5, 
    	NotPresent     = 6, 
    	LowerLayerDown = 7, 
    }

    IFileDialog ¶

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

    Fields Through using (27)

    From using Vtbl: ^IFileDialogVtbl

    IFileDialogEvents ¶

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

    Fields Through using (10)

    From using Vtbl: ^IFileDialogEventsVtbl

    IFileDialogEventsVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IFileDialogVtbl ¶

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

    Fields Through using (4)

    From using IModalWindowVtbl: IModalWindowVtbl

    IFileOpenDialog ¶

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

    Fields Through using (29)

    From using Vtbl: ^IFileOpenDialogVtbl

    IFileOpenDialogVtbl ¶

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

    Fields Through using (27)

    From using IFileDialogVtbl: IFileDialogVtbl

    IFileOperationProgressSink ¶

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

    Fields Through using (19)

    From using Vtbl: ^IFileOperationProgressSinkVtbl

    IFileOperationProgressSinkVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IFileSaveDialog ¶

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

    Fields Through using (32)

    From using Vtbl: ^IFileSaveDialogVtbl

    IFileSaveDialogVtbl ¶

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

    Fields Through using (27)

    From using IFileDialogVtbl: IFileDialogVtbl

    IID ¶

    IID :: GUID

    Related Procedures With Parameters

    Related Constants

    IMAGEHLP_LINE64 ¶

    IMAGEHLP_LINE64 :: struct {
    	SizeOfStruct: u32,
    	Key:          rawptr,
    	LineNumber:   u32,
    	FileName:     cstring16,
    	Address:      u64,
    }

    IMAGEINFO ¶

    IMAGEINFO :: struct {
    	hbmImage: HBITMAP,
    	hbmMask:  HBITMAP,
    	Unused1:  i32,
    	Unused2:  i32,
    	rcImage:  RECT,
    }

    IMAGELISTDRAWPARAMS ¶

    IMAGELISTDRAWPARAMS :: struct {
    	cbSize:   u32,
    	himl:     ^IUnknown,
    	i:        i32,
    	hdcDst:   HDC,
    	x:        i32,
    	y:        i32,
    	cx:       i32,
    	cy:       i32,
    	xBitmap:  i32,
    	yBitmap:  i32,
    	rgbBk:    u32,
    	rgbFg:    u32,
    	fStyle:   u32,
    	dwRop:    u32,
    	fState:   u32,
    	Frame:    u32,
    	crEffect: u32,
    }

    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_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,
    }

    Fields Through using (4)

    From using Vtbl: ^IModalWindowVtbl

    IModalWindowVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IMoniker ¶

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

    Fields Through using (23)

    From using Vtbl: ^IMonikerVtbl

    IMonikerVtbl ¶

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

    Fields Through using (8)

    From using IPersistStreamVtbl: IPersistStreamVtbl

    INITCOMMONCONTROLSEX ¶

    INITCOMMONCONTROLSEX :: struct {
    	dwSize: u32,
    	dwICC:  u32,
    }

    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"`,
    	},
    }

    Related Procedures With Parameters

    INPUT_TYPE ¶

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

    INT ¶

    INT :: i32

    INT32 ¶

    INT32 :: i32

    IORING_BUFFER_INFO ¶

    IORING_BUFFER_INFO :: struct {
    	Address: rawptr,
    	Length:  u32,
    }

    IORING_BUFFER_REF ¶

    IORING_BUFFER_REF :: struct {
    	Kind:        IORING_REF_KIND,
    	BufferUnion: struct #raw_union {
    		Address:        rawptr,
    		IndexAndOffset: IORING_REGISTERED_BUFFER,
    	},
    }

    Related Procedures With Parameters

    IORING_CAPABILITIES ¶

    IORING_CAPABILITIES :: struct {
    	MaxVersion:             IORING_VERSION,
    	MaxSubmissionQueueSize: u32,
    	MaxCompletionQueueSize: u32,
    	FeatureFlags:           bit_set[IORING_FEATURE_FLAG; u32],
    }

    IORING_CQE ¶

    IORING_CQE :: struct {
    	UserData:    uintptr,
    	ResultCode:  HRESULT,
    	Information: uint,
    }

    IORING_CREATE_ADVISORY_FLAG ¶

    IORING_CREATE_ADVISORY_FLAG :: enum u32 {
    	SKIP_BUILDER_PARAM_CHECKS = 0, // 0x00000001
    }

    IORING_CREATE_FLAGS ¶

    IORING_CREATE_FLAGS :: struct {
    	Required: bit_set[IORING_CREATE_REQUIRED_FLAG; u32],
    	Advisory: bit_set[IORING_CREATE_ADVISORY_FLAG; u32],
    }

    IORING_CREATE_REQUIRED_FLAG ¶

    IORING_CREATE_REQUIRED_FLAG :: enum u32 {
    }
     

    Reserved for future use; currently no flags defined

    IORING_FEATURE_FLAG ¶

    IORING_FEATURE_FLAG :: enum u32 {
    	UM_EMULATION         = 0, // 0x00000001
    	SET_COMPLETION_EVENT = 1, // 0x00000002
    }

    IORING_INFO ¶

    IORING_INFO :: struct {
    	Version:             IORING_VERSION,
    	Flags:               IORING_CREATE_FLAGS,
    	SubmissionQueueSize: u32,
    	CompletionQueueSize: u32,
    }

    IORING_OP_CODE ¶

    IORING_OP_CODE :: enum i32 {
    	NOP, 
    	READ, 
    	REGISTER_FILES, 
    	REGISTER_BUFFERS, 
    	CANCEL, 
    	WRITE, 
    	FLUSH, 
    	READ_SCATTER, 
    	WRITE_GATHER, 
    }

    IORING_SQE_FLAG ¶

    IORING_SQE_FLAG :: enum u32 {
    	DRAIN_PRECEDING_OPS = 0, // 0x00000001
    }

    IORING_VERSION ¶

    IORING_VERSION :: enum i32 {
    	INVALID, 
    	_1, 
    	_2, 
    	_3      = 300, 
    	_4      = 400, 
    }

    IO_STATUS_BLOCK ¶

    IO_STATUS_BLOCK :: struct {
    	using _:     struct #raw_union {
    		Status:  i32,
    		Pointer: rawptr,
    	},
    	Information: uint,
    }

    Related Procedures With Parameters

    IP_ADAPTER_ANYCAST_ADDRESS_XP ¶

    IP_ADAPTER_ANYCAST_ADDRESS_XP :: struct {
    	Anonymous: struct #raw_union {
    		Alignment: u64,
    		Anonymous: struct {
    			Length: u32,
    			Flags:  u32,
    		},
    	},
    	Next:      ^IP_ADAPTER_ANYCAST_ADDRESS_XP,
    	Address:   SOCKET_ADDRESS,
    }

    IP_ADAPTER_DNS_SERVER_ADDRESS_XP ¶

    IP_ADAPTER_DNS_SERVER_ADDRESS_XP :: struct {
    	Anonymous: struct #raw_union {
    		Alignment: u64,
    		Anonymous: struct {
    			Length:   u32,
    			Reserved: u32,
    		},
    	},
    	Next:      ^IP_ADAPTER_DNS_SERVER_ADDRESS_XP,
    	Address:   SOCKET_ADDRESS,
    }

    IP_ADAPTER_GATEWAY_ADDRESS_LH ¶

    IP_ADAPTER_GATEWAY_ADDRESS_LH :: struct {
    	Anonymous: struct #raw_union {
    		Alignment: u64,
    		Anonymous: struct {
    			Length:   u32,
    			Reserved: u32,
    		},
    	},
    	Next:      ^IP_ADAPTER_GATEWAY_ADDRESS_LH,
    	Address:   SOCKET_ADDRESS,
    }

    IP_ADAPTER_MULTICAST_ADDRESS_XP ¶

    IP_ADAPTER_MULTICAST_ADDRESS_XP :: struct {
    	Anonymous: struct #raw_union {
    		Alignment: u64,
    		Anonymous: struct {
    			Length: u32,
    			Flags:  u32,
    		},
    	},
    	Next:      ^IP_ADAPTER_MULTICAST_ADDRESS_XP,
    	Address:   SOCKET_ADDRESS,
    }

    IP_ADAPTER_UNICAST_ADDRESS_LH ¶

    IP_ADAPTER_UNICAST_ADDRESS_LH :: struct {
    	Anonymous:          struct #raw_union {
    		Alignment: u64,
    		Anonymous: struct {
    			Length: u32,
    			Flags:  u32,
    		},
    	},
    	Next:               ^IP_ADAPTER_UNICAST_ADDRESS_LH,
    	Address:            SOCKET_ADDRESS,
    	PrefixOrigin:       NL_PREFIX_ORIGIN,
    	SuffixOrigin:       NL_SUFFIX_ORIGIN,
    	DadState:           NL_DAD_STATE,
    	ValidLifetime:      u32,
    	PreferredLifetime:  u32,
    	LeaseLifetime:      u32,
    	OnLinkPrefixLength: u8,
    }

    IP_Adapter_Addresses ¶

    IP_Adapter_Addresses :: struct {
    	Raw:                    struct #raw_union {
    		Alignment: u64,
    		Anonymous: struct {
    			Length:  u32,
    			IfIndex: u32,
    		},
    	},
    	Next:                   ^IP_Adapter_Addresses,
    	AdapterName:            cstring,
    	FirstUnicastAddress:    ^IP_ADAPTER_UNICAST_ADDRESS_LH,
    	FirstAnycastAddress:    ^IP_ADAPTER_ANYCAST_ADDRESS_XP,
    	FirstMulticastAddress:  ^IP_ADAPTER_MULTICAST_ADDRESS_XP,
    	FirstDnsServerAddress:  ^IP_ADAPTER_DNS_SERVER_ADDRESS_XP,
    	DnsSuffix:              cstring16,
    	Description:            cstring16,
    	FriendlyName:           cstring16,
    	PhysicalAddress:        [8]u8,
    	PhysicalAddressLength:  u32,
    	Anonymous2:             struct #raw_union {
    		Flags:     u32,
    		Anonymous: struct {
    			_bitfield: u32,
    		},
    	},
    	MTU:                    u32,
    	IfType:                 u32,
    	OperStatus:             IF_OPER_STATUS,
    	Ipv6IfIndex:            u32,
    	ZoneIndices:            [16]u32,
    	FirstPrefix:            rawptr,
    	// ^IP_ADAPTER_PREFIX_XP,
    	TransmitLinkSpeed:      u64,
    	ReceiveLinkSpeed:       u64,
    	FirstWinsServerAddress: rawptr,
    	// ^IP_ADAPTER_WINS_SERVER_ADDRESS_LH,
    	FirstGatewayAddress:    ^IP_ADAPTER_GATEWAY_ADDRESS_LH,
    	Ipv4Metric:             u32,
    	Ipv6Metric:             u32,
    	Luid:                   NET_LUID_LH,
    	Dhcpv4Server:           SOCKET_ADDRESS,
    	CompartmentId:          u32,
    	NetworkGuid:            GUID,
    	ConnectionType:         NET_IF_CONNECTION_TYPE,
    	TunnelType:             TUNNEL_TYPE,
    	Dhcpv6Server:           SOCKET_ADDRESS,
    	Dhcpv6ClientDuid:       [130]u8,
    	Dhcpv6ClientDuidLength: u32,
    	Dhcpv6Iaid:             u32,
    	FirstDnsSuffix:         rawptr,
    }

    IPersist ¶

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

    Fields Through using (4)

    From using Vtbl: ^IPersistVtbl
    • QueryInterface: proc "stdcall" (This: ^IUnknown, riid: ^GUID, ppvObject: ^rawptr) -> HRESULT // through IUnknownVtbl
    • AddRef: proc "stdcall" (This: ^IUnknown) -> u32 // through IUnknownVtbl
    • Release: proc "stdcall" (This: ^IUnknown) -> u32 // through IUnknownVtbl
    • GetClassID: proc "stdcall" (this: ^IPersist, pClassID: ^GUID) -> HRESULT

    IPersistStream ¶

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

    Fields Through using (8)

    From using Vtbl: ^IPersistStreamVtbl

    IPersistStreamVtbl ¶

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

    Fields Through using (4)

    From using IPersistVtbl: IPersistVtbl
    • QueryInterface: proc "stdcall" (This: ^IUnknown, riid: ^GUID, ppvObject: ^rawptr) -> HRESULT // through IUnknownVtbl
    • AddRef: proc "stdcall" (This: ^IUnknown) -> u32 // through IUnknownVtbl
    • Release: proc "stdcall" (This: ^IUnknown) -> u32 // through IUnknownVtbl
    • GetClassID: proc "stdcall" (this: ^IPersist, pClassID: ^GUID) -> HRESULT

    IPersistVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IPropertyDescriptionList ¶

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

    Fields Through using (5)

    From using Vtbl: ^IPropertyDescriptionListVtbl

    IPropertyDescriptionListVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IPropertyStore ¶

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

    Fields Through using (8)

    From using Vtbl: ^IPropertyStoreVtbl

    IPropertyStoreVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IQueryAssociations ¶

    IQueryAssociations :: struct #raw_union {
    	IUnknown: IUnknown,
    	using Vtbl: ^IQueryAssociationsVtbl,
    }

    Fields Through using (8)

    From using Vtbl: ^IQueryAssociationsVtbl

    IQueryAssociationsVtbl ¶

    IQueryAssociationsVtbl :: struct {
    	using IUnknownVtbl: IUnknown_VTable,
    	Init:         proc "stdcall" (this: ^IQueryAssociations, flags: bit_set[ASSOCF_Bits; i32], pszAssoc: cstring16, hkProgid: HKEY, hwnd: HWND) -> HRESULT,
    	GetString:    proc "stdcall" (this: ^IQueryAssociations, flags: bit_set[ASSOCF_Bits; i32], str: ASSOCSTR, pszExtra: cstring16, pszOut: ^u16, pcchOut: ^u32) -> HRESULT,
    	GetKey:       proc "stdcall" (this: ^IQueryAssociations, flags: bit_set[ASSOCF_Bits; i32], key: ASSOCKEY, pszExtra: cstring16, phkeyOut: ^HKEY) -> HRESULT,
    	GetData:      proc "stdcall" (this: ^IQueryAssociations, flags: bit_set[ASSOCF_Bits; i32], data: ASSOCDATA, pszExtra: cstring16, pvOut: rawptr, pcbOut: ^u32) -> HRESULT,
    	GetEnum:      proc "stdcall" (this: ^IQueryAssociations, flags: bit_set[ASSOCF_Bits; i32], assocenum: ASSOCENUM, pszExtra: cstring16, riid: ^GUID, ppvOut: ^rawptr) -> HRESULT,
    }

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IRunningObjectTable ¶

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

    Fields Through using (10)

    From using Vtbl: ^IRunningObjectTableVtbl

    IRunningObjectTableVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    ISequentialStream ¶

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

    Fields Through using (5)

    From using Vtbl: ^ISequentialStreamVtbl

    ISequentialStreamVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IShellItem ¶

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

    Fields Through using (8)

    From using Vtbl: ^IShellItemVtbl

    IShellItemArray ¶

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

    Fields Through using (10)

    From using Vtbl: ^IShellItemArrayVtbl

    IShellItemArrayVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IShellItemFilter ¶

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

    Fields Through using (5)

    From using Vtbl: ^IShellItemFilterVtbl

    IShellItemFilterVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IShellItemVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IStream ¶

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

    Related Procedures With Parameters

    Fields Through using (14)

    From using Vtbl: ^IStreamVtbl

    IStreamVtbl ¶

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

    Fields Through using (5)

    From using ISequentialStreamVtbl: ISequentialStreamVtbl

    ITaskbarList ¶

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

    Fields Through using (8)

    From using Vtbl: ^ITaskbarListVtbl

    ITaskbarList2 ¶

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

    Fields Through using (9)

    From using Vtbl: ^ITaskbarList2Vtbl

    ITaskbarList2Vtbl ¶

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

    Fields Through using (8)

    From using ITaskbarListVtbl: ITaskbarListVtbl

    ITaskbarList3 ¶

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

    Fields Through using (21)

    From using Vtbl: ^ITaskbarList3Vtbl

    ITaskbarList3Vtbl ¶

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

    Fields Through using (9)

    From using ITaskbarList2Vtbl: ITaskbarList2Vtbl

    ITaskbarListVtbl ¶

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

    Fields Through using (3)

    From using IUnknownVtbl: IUnknown_VTable

    IUnknown_VTable ¶

    IUnknown_VTable :: struct {
    	QueryInterface: proc "stdcall" (This: ^IUnknown, riid: ^GUID, ppvObject: ^rawptr) -> HRESULT,
    	AddRef:         proc "stdcall" (This: ^IUnknown) -> u32,
    	Release:        proc "stdcall" (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: u16,
    		AsciiChar:   u8,
    	},
    	dwControlKeyState: bit_set[Control_Key_State_Bits; u32],
    }

    KNOWNFOLDERID ¶

    KNOWNFOLDERID :: GUID

    Related Procedures With Parameters

    Related Constants

    KNOWN_FOLDER_FLAG ¶

    KNOWN_FOLDER_FLAG :: enum u32 {
    	DEFAULT                          = 0x00000000, 
    	// if NTDDI_VERSION >= NTDDI_WIN10_RS3
    	FORCE_APP_DATA_REDIRECTION       = 0x00080000, 
    	// if NTDDI_VERSION >= NTDDI_WIN10_RS2
    	RETURN_FILTER_REDIRECTION_TARGET = 0x00040000, 
    	FORCE_PACKAGE_REDIRECTION        = 0x00020000, 
    	NO_PACKAGE_REDIRECTION           = 0x00010000, 
    	FORCE_APPCONTAINER_REDIRECTION   = 0x00020000, 
    	// if NTDDI_VERSION >= NTDDI_WIN7
    	NO_APPCONTAINER_REDIRECTION      = 0x00010000, 
    	CREATE                           = 0x00008000, 
    	DONT_VERIFY                      = 0x00004000, 
    	DONT_UNEXPAND                    = 0x00002000, 
    	NO_ALIAS                         = 0x00001000, 
    	INIT                             = 0x00000800, 
    	DEFAULT_PATH                     = 0x00000400, 
    	NOT_PARENT_RELATIVE              = 0x00000200, 
    	SIMPLE_IDLIST                    = 0x00000100, 
    	ALIAS_ONLY                       = 0x80000000, 
    }

    LAYERPLANEDESCRIPTOR ¶

    LAYERPLANEDESCRIPTOR :: 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,
    	iLayerPlane:     BYTE,
    	bReserved:       BYTE,
    	crTransparent:   u32,
    }

    LCID ¶

    LCID :: u32

    Related Procedures With Returns

    LCTYPE ¶

    LCTYPE :: distinct u32

    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]u16,
    	szUrl:     [2083]u16,
    }

    LOGBRUSH ¶

    LOGBRUSH :: struct {
    	lbStyle: u32,
    	lbColor: u32,
    	lbHatch: uint,
    }

    LOGFONTW ¶

    LOGFONTW :: struct {
    	lfHeight:         i32,
    	lfWidth:          i32,
    	lfEscapement:     i32,
    	lfOrientation:    i32,
    	lfWeight:         i32,
    	lfItalic:         BYTE,
    	lfUnderline:      BYTE,
    	lfStrikeOut:      BYTE,
    	lfCharSet:        BYTE,
    	lfOutPrecision:   BYTE,
    	lfClipPrecision:  BYTE,
    	lfQuality:        BYTE,
    	lfPitchAndFamily: BYTE,
    	lfFaceName:       [32]u16,
    }

    Related Procedures With Parameters

    LOGICAL_PROCESSOR_RELATIONSHIP ¶

    LOGICAL_PROCESSOR_RELATIONSHIP :: enum i32 {
    	RelationProcessorCore, 
    	RelationNumaNode, 
    	RelationCache, 
    	RelationProcessorPackage, 
    	RelationGroup, 
    	RelationProcessorDie, 
    	RelationNumaNodeEx, 
    	RelationProcessorModule, 
    	RelationAll              = 0xffff, 
    }

    LOGPALETTE ¶

    LOGPALETTE :: struct {
    	palVersion:    u16,
    	palNumEntries: u16,
    	palPalEntry:   []PALETTEENTRY,
    }

    LONG ¶

    LONG :: i32

    LONG32 ¶

    LONG32 :: i32

    LPCCHOOKPROC ¶

    LPCCHOOKPROC :: proc "stdcall" (hwnd: HWND, msg: u32, wParam: uintptr, lParam: int) -> uintptr

    LPCFHOOKPROC ¶

    LPCFHOOKPROC :: proc "stdcall" (hwnd: HWND, msg: u32, wparam: uintptr, lparam: int) -> uintptr

    LPCOLORREF ¶

    LPCOLORREF :: ^u32

    Related Procedures With Parameters

    LPCTSTR ¶

    LPCTSTR :: cstring16

    Related Procedures With Returns

    LPCWSTR ¶

    LPCWSTR :: cstring16

    Related Procedures With Returns

    LPDWORD ¶

    LPDWORD :: ^u32

    Related Procedures With Parameters

    LPFIBER_START_ROUTINE ¶

    LPFIBER_START_ROUTINE :: proc "stdcall" (lpFiberParameter: rawptr)

    LPFN_ACCEPTEX ¶

    LPFN_ACCEPTEX :: proc "stdcall" (sListenSocket: SOCKET, sAcceptSocket: SOCKET, lpOutputBuffer: rawptr, dwReceiveDataLength: u32, dwLocalAddressLength: u32, dwRemoteAddressLength: u32, lpdwBytesReceived: ^u32, lpOverlapped: ^OVERLAPPED) -> BOOL

    LPFN_CONNECTEX ¶

    LPFN_CONNECTEX :: proc "stdcall" (s: SOCKET, sockaddr: ^SOCKADDR_STORAGE_LH, namelen: i32, lpSendBuffer: rawptr, dwSendDataLength: u32, lpdwBytesSent: ^u32, lpOverlapped: ^OVERLAPPED) -> BOOL

    LPFN_GETACCEPTEXSOCKADDRS ¶

    LPFN_GETACCEPTEXSOCKADDRS :: proc "stdcall" (lpOutputBuffer: rawptr, dwReceiveDataLength: u32, dwLocalAddressLength: u32, dwRemoteAddressLength: u32, LocalSockaddr: ^^sockaddr, LocalSockaddrLength: ^i32, RemoteSockaddr: ^^sockaddr, RemoteSockaddrLength: ^i32)

    LPFRHOOKPROC ¶

    LPFRHOOKPROC :: proc "stdcall" (hwnd: HWND, msg: u32, wparam: uintptr, lparam: int) -> uintptr

    LPLOOKUPSERVICE_COMPLETION_ROUTINE ¶

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

    LPOFNHOOKPROC ¶

    LPOFNHOOKPROC :: proc "stdcall" (hdlg: HWND, msg: u32, wparam: uintptr, lparam: int) -> uintptr

    LPOLESTR ¶

    LPOLESTR :: cstring16

    Related Procedures With Returns

    LPOVERLAPPED_COMPLETION_ROUTINE ¶

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

    Related Procedures With Parameters

    LPPAGEPAINTHOOK ¶

    LPPAGEPAINTHOOK :: proc "stdcall" (hwnd: HWND, msg: u32, wparam: uintptr, lparam: int) -> uintptr

    LPPAGESETUPHOOK ¶

    LPPAGESETUPHOOK :: proc "stdcall" (hwnd: HWND, msg: u32, wparam: uintptr, lparam: int) -> uintptr

    LPPRINTHOOKPROC ¶

    LPPRINTHOOKPROC :: proc "stdcall" (hwnd: HWND, msg: u32, wparam: uintptr, lparam: int) -> uintptr

    LPPROGRESS_ROUTINE ¶

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

    LPSETUPHOOKPROC ¶

    LPSETUPHOOKPROC :: proc "stdcall" (hwnd: HWND, msg: u32, wparam: uintptr, lparam: int) -> uintptr

    LPUINT ¶

    LPUINT :: ^u32

    Related Procedures With Parameters

    LPWCH ¶

    LPWCH :: ^u16

    Related Procedures With Parameters

    Related Procedures With Returns

    Related Constants

    LPWORD ¶

    LPWORD :: ^u16

    Related Procedures With Parameters

    Related Procedures With Returns

    Related Constants

    LPWSAOVERLAPPED_COMPLETION_ROUTINE ¶

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

    Related Procedures With Parameters

    LPWSTR ¶

    LPWSTR :: ^u16

    Related Procedures With Parameters

    Related Procedures With Returns

    Related Constants

    LSTATUS ¶

    LSTATUS :: i32

    LUID ¶

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

    LVBKIMAGEW ¶

    LVBKIMAGEW :: struct {
    	ulFlags:        u32,
    	hbm:            HBITMAP,
    	pszImage:       ^u16,
    	cchImageMax:    u32,
    	xOffsetPercent: i32,
    	yOffsetPercent: i32,
    }

    LVCOLUMNW ¶

    LVCOLUMNW :: struct {
    	mask:       u32,
    	fmt:        i32,
    	cx:         i32,
    	pszText:    ^u16,
    	cchTextMax: i32,
    	iSubItem:   i32,
    	iImage:     i32,
    	iOrder:     i32,
    	cxMin:      i32,
    	cxDefault:  i32,
    	cxIdeal:    i32,
    }

    Related Procedures With Parameters

    LVFINDINFOW ¶

    LVFINDINFOW :: struct {
    	flags:       u32,
    	psz:         cstring16,
    	lParam:      int,
    	pt:          POINT,
    	vkDirection: u32,
    }

    LVGROUP ¶

    LVGROUP :: struct {
    	cbSize:    u32,
    	mask:      u32,
    	pszHeader: ^u16,
    	cchHeader: i32,
    	pszFooter: ^u16,
    	cchFooter: i32,
    	iGroupId:  i32,
    	stateMask: u32,
    	state:     u32,
    	uAlign:    u32,
    }

    Related Procedures With Parameters

    LVGROUPMETRICS ¶

    LVGROUPMETRICS :: struct {
    	cbSize:   u32,
    	mask:     u32,
    	Left:     u32,
    	Top:      u32,
    	Right:    u32,
    	Bottom:   u32,
    	crLeft:   u32,
    	crTop:    u32,
    	crRight:  u32,
    	crBottom: u32,
    	crHeader: u32,
    	crFooter: u32,
    }

    Related Procedures With Parameters

    LVHITTESTINFO ¶

    LVHITTESTINFO :: struct {
    	pt:       POINT,
    	flags:    u32,
    	iItem:    i32,
    	iSubItem: i32,
    }

    Related Procedures With Parameters

    LVINSERTGROUPSORTED ¶

    LVINSERTGROUPSORTED :: struct {
    	pfnGroupCompare: PFNLVGROUPCOMPARE,
    	pvData:          rawptr,
    	lvGroup:         LVGROUP,
    }

    LVINSERTMARK ¶

    LVINSERTMARK :: struct {
    	cbSize:     u32,
    	dwFlags:    u32,
    	iItem:      i32,
    	dwReserved: u32,
    }

    Related Procedures With Parameters

    LVITEMW ¶

    LVITEMW :: struct {
    	mask:       u32,
    	iItem:      i32,
    	iSubItem:   i32,
    	state:      u32,
    	stateMask:  u32,
    	pszText:    ^u16,
    	cchTextMax: i32,
    	iImage:     i32,
    	lParam:     int,
    	iIndent:    i32,
    	iGroupId:   i32,
    	cColumns:   u32,
    	puColumns:  ^u32,
    }

    Related Procedures With Parameters

    LVSETINFOTIP ¶

    LVSETINFOTIP :: struct {
    	cbSize:   u32,
    	dwFlags:  u32,
    	pszText:  ^u16,
    	iItem:    i32,
    	iSubItem: i32,
    }

    LVTILEINFO ¶

    LVTILEINFO :: struct {
    	cbSize:    u32,
    	iItem:     i32,
    	cColumns:  u32,
    	puColumns: ^u32,
    }

    Related Procedures With Parameters

    LVTILEVIEWINFO ¶

    LVTILEVIEWINFO :: struct {
    	cbSize:        u32,
    	dwMask:        u32,
    	dwFlags:       u32,
    	sizeTile:      SIZE,
    	cLines:        i32,
    	rcLabelMargin: RECT,
    }

    Related Procedures With Parameters

    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; u32]

    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, 
    }

    MARGINS ¶

    MARGINS :: struct {
    	cxLeftWidth:    i32,
    	cxRightWidth:   i32,
    	cyTopHeight:    i32,
    	cyBottomHeight: i32,
    }

    MEMORYSTATUSEX ¶

    MEMORYSTATUSEX :: struct {
    	dwLength:                u32,
    	dwMemoryLoad:            u32,
    	ullTotalPhys:            u64,
    	ullAvailPhys:            u64,
    	ullTotalPageFile:        u64,
    	ullAvailPageFile:        u64,
    	ullTotalVirtual:         u64,
    	ullAvailVirtual:         u64,
    	ullAvailExtendedVirtual: u64,
    }

    MEMORY_BASIC_INFORMATION ¶

    MEMORY_BASIC_INFORMATION :: struct {
    	BaseAddress:       rawptr,
    	AllocationBase:    rawptr,
    	AllocationProtect: u32,
    	PartitionId:       u16,
    	RegionSize:        uint,
    	State:             u32,
    	Protect:           u32,
    	Type:              u32,
    }

    Related Procedures With Parameters

    MEMORY_RESOURCE_NOTIFICATION_TYPE ¶

    MEMORY_RESOURCE_NOTIFICATION_TYPE :: enum i32 {
    	LowMemoryResourceNotification, 
    	HighMemoryResourceNotification, 
    }

    Related Constants

    MEM_ADDRESS_REQUIREMENTS ¶

    MEM_ADDRESS_REQUIREMENTS :: struct {
    	LowestStartingAddress: rawptr,
    	HighestEndingAddress:  rawptr,
    	Alignment:             uint,
    }

    MEM_EXTENDED_PARAMETER ¶

    MEM_EXTENDED_PARAMETER :: struct {
    	using DUMMYSTRUCTNAME: bit_field u64 {
    		Type:     MEM_EXTENDED_PARAMETER_TYPE | 8,
    		Reserved: u64 | 56,
    	},
    	using DUMMYUNIONNAME: struct #raw_union {
    		ULong64: u64,
    		Pointer: rawptr,
    		Size:    uint,
    		Handle:  HANDLE,
    		ULong:   u32,
    	},
    }

    Related Procedures With Parameters

    MEM_EXTENDED_PARAMETER_TYPE ¶

    MEM_EXTENDED_PARAMETER_TYPE :: enum i32 {
    	MemExtendedParameterInvalidType         = 0, 
    	MemExtendedParameterAddressRequirements, 
    	MemExtendedParameterNumaNode, 
    	MemExtendedParameterPartitionHandle, 
    	MemExtendedParameterUserPhysicalHandle, 
    	MemExtendedParameterAttributeFlags, 
    	MemExtendedParameterImageMachine, 
    }
    MENUITEMINFOW :: struct {
    	cbSize:        u32,
    	fMask:         u32,
    	fType:         u32,
    	// used if MIIM_TYPE (4.0) or MIIM_FTYPE (>4.0)
    	fState:        u32,
    	// used if MIIM_STATE
    	wID:           u32,
    	// used if MIIM_ID
    	hSubMenu:      HMENU,
    	// used if MIIM_SUBMENU
    	hbmpChecked:   HBITMAP,
    	// used if MIIM_CHECKMARKS
    	hbmpUnchecked: HBITMAP,
    	// used if MIIM_CHECKMARKS
    	dwItemData:    uint,
    	// used if MIIM_DATA
    	dwTypeData:    ^u16,
    	// used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0)
    	cch:           u32,
    	// used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0)
    	hbmpItem:      HBITMAP,
    }

    Related Procedures With Parameters

    MINIDUMP_CALLBACK_INFORMATION ¶

    MINIDUMP_CALLBACK_INFORMATION :: struct {
    	CallbackRoutine: MINIDUMP_CALLBACK_ROUTINE,
    	CallbackParam:   rawptr,
    }

    MINIDUMP_CALLBACK_INPUT ¶

    MINIDUMP_CALLBACK_INPUT :: struct {
    	ProcessId:     u32,
    	ProcessHandle: HANDLE,
    	CallbackType:  MINIDUMP_CALLBACK_TYPE,
    	using _:       struct #raw_union {
    		Status:            HRESULT `raw_union_tag:"KernelMinidumpStatusCallback"`,
    		Thread:            MINIDUMP_THREAD_CALLBACK `raw_union_tag:"ThreadCallback"`,
    		ThreadEx:          MINIDUMP_THREAD_EX_CALLBACK `raw_union_tag:"ThreadExCallback"`,
    		Module:            MINIDUMP_MODULE_CALLBACK `raw_union_tag:"ModuleCallback"`,
    		IncludeThread:     MINIDUMP_INCLUDE_THREAD_CALLBACK `raw_union_tag:"IncludeThreadCallback"`,
    		IncludeModule:     MINIDUMP_INCLUDE_MODULE_CALLBACK `raw_union_tag:"IncludeModuleCallback"`,
    		Io:                MINIDUMP_IO_CALLBACK `raw_union_tag:"IoStartCallback,IoWriteAllCallback,IoFinishCallback"`,
    		ReadMemoryFailure: MINIDUMP_READ_MEMORY_FAILURE_CALLBACK `raw_union_tag:"ReadMemoryFailureCallback"`,
    		SecondaryFlags:    MINIDUMP_SECONDARY_FLAGS `raw_union_tag:"SecondaryFlagsCallback"`,
    		VmQuery:           MINIDUMP_VM_QUERY_CALLBACK `raw_union_tag:"VmQueryCallback"`,
    		VmPreRead:         MINIDUMP_VM_PRE_READ_CALLBACK `raw_union_tag:"VmPreReadCallback"`,
    		VmPostRead:        MINIDUMP_VM_POST_READ_CALLBACK `raw_union_tag:"VmPostReadCallback"`,
    	},
    }

    MINIDUMP_CALLBACK_OUTPUT ¶

    MINIDUMP_CALLBACK_OUTPUT :: struct {
    	using _: struct #raw_union {
    		ModuleWriteFlags: u32,
    		ThreadWriteFlags: u32,
    		SecondaryFlags:   u32,
    		using _:          struct {
    			MemoryBase: u64,
    			MemorySize: u32,
    		},
    		using _:          struct {
    			CheckCancel: BOOL,
    			Cancel:      BOOL,
    		},
    		Handle:           HANDLE,
    		using _:          struct {
    			VmRegion: MINIDUMP_MEMORY_INFO,
    			Continue: BOOL,
    		},
    		using _:          struct {
    			VmQueryStatus: HRESULT,
    			VmQueryResult: MINIDUMP_MEMORY_INFO,
    		},
    		using _:          struct {
    			VmReadStatus:         HRESULT,
    			VmReadBytesCompleted: u32,
    		},
    		Status:           HRESULT,
    	},
    }

    MINIDUMP_CALLBACK_ROUTINE ¶

    MINIDUMP_CALLBACK_ROUTINE :: proc "stdcall" (CallbackParam: rawptr, CallbackInput: ^MINIDUMP_CALLBACK_INPUT, CallbackOutpu: ^MINIDUMP_CALLBACK_OUTPUT) -> BOOL

    MINIDUMP_CALLBACK_TYPE ¶

    MINIDUMP_CALLBACK_TYPE :: enum u32 {
    	ModuleCallback, 
    	ThreadCallback, 
    	ThreadExCallback, 
    	IncludeThreadCallback, 
    	IncludeModuleCallback, 
    	MemoryCallback, 
    	CancelCallback, 
    	WriteKernelMinidumpCallback, 
    	KernelMinidumpStatusCallback, 
    	RemoveMemoryCallback, 
    	IncludeVmRegionCallback, 
    	IoStartCallback, 
    	IoWriteAllCallback, 
    	IoFinishCallback, 
    	ReadMemoryFailureCallback, 
    	SecondaryFlagsCallback, 
    	IsProcessSnapshotCallback, 
    	VmStartCallback, 
    	VmQueryCallback, 
    	VmPreReadCallback, 
    	VmPostReadCallback, 
    }

    MINIDUMP_EXCEPTION_INFORMATION ¶

    MINIDUMP_EXCEPTION_INFORMATION :: struct {
    	ThreadId:          u32,
    	ExceptionPointers: ^EXCEPTION_POINTERS,
    	ClientPointers:    BOOL,
    }

    MINIDUMP_IO_CALLBACK ¶

    MINIDUMP_IO_CALLBACK :: struct {
    	Handle:      HANDLE,
    	Offset:      u64,
    	Buffer:      rawptr,
    	BufferBytes: u32,
    }

    MINIDUMP_MEMORY_INFO ¶

    MINIDUMP_MEMORY_INFO :: struct {
    	BaseAddress:       u64,
    	AllocationBase:    u64,
    	AllocationProtect: u32,
    	__alignment1:      u32,
    	RegionSize:        u64,
    	State:             u32,
    	Protect:           u32,
    	Type:              u32,
    	__alignment2:      u32,
    }

    MINIDUMP_MODULE_CALLBACK ¶

    MINIDUMP_MODULE_CALLBACK :: struct {
    	FullPath:         ^u16,
    	BaseOfImage:      u64,
    	SizeOfImage:      u32,
    	CheckSum:         u32,
    	TimeDateStamp:    u32,
    	VersionInfo:      VS_FIXEDFILEINFO,
    	CvRecord:         rawptr,
    	SizeOfCvRecord:   u32,
    	MiscRecord:       rawptr,
    	SizeOfMiscRecord: u32,
    }

    MINIDUMP_THREAD_CALLBACK ¶

    MINIDUMP_THREAD_CALLBACK :: struct {
    	ThreadId:      u32,
    	ThreadHandle:  HANDLE,
    	Pad:           struct {},
    	Context:       CONTEXT,
    	SizeOfContext: u32,
    	StackBase:     u64,
    	StackEnd:      u64,
    }

    MINIDUMP_THREAD_EX_CALLBACK ¶

    MINIDUMP_THREAD_EX_CALLBACK :: struct {
    	ThreadId:         u32,
    	ThreadHandle:     HANDLE,
    	Pad:              struct {},
    	Context:          CONTEXT,
    	SizeOfContext:    u32,
    	StackBase:        u64,
    	StackEnd:         u64,
    	BackingStoreBase: u64,
    	BackingStoreEnd:  u64,
    }

    MINIDUMP_TYPE ¶

    MINIDUMP_TYPE :: enum u32 {
    	Normal                         = 0x00000000, 
    	WithDataSegs                   = 0x00000001, 
    	WithFullMemory                 = 0x00000002, 
    	WithHandleData                 = 0x00000004, 
    	FilterMemory                   = 0x00000008, 
    	ScanMemory                     = 0x00000010, 
    	WithUnloadedModules            = 0x00000020, 
    	WithIndirectlyReferencedMemory = 0x00000040, 
    	FilterModulePaths              = 0x00000080, 
    	WithProcessThreadData          = 0x00000100, 
    	WithPrivateReadWriteMemory     = 0x00000200, 
    	WithoutOptionalData            = 0x00000400, 
    	WithFullMemoryInfo             = 0x00000800, 
    	WithThreadInfo                 = 0x00001000, 
    	WithCodeSegs                   = 0x00002000, 
    	WithoutAuxiliaryState          = 0x00004000, 
    	WithFullAuxiliaryState         = 0x00008000, 
    	WithPrivateWriteCopyMemory     = 0x00010000, 
    	IgnoreInaccessibleMemory       = 0x00020000, 
    	WithTokenInformation           = 0x00040000, 
    	WithModuleHeaders              = 0x00080000, 
    	FilterTriage                   = 0x00100000, 
    	WithAvxXStateContext           = 0x00200000, 
    	WithIptTrace                   = 0x00400000, 
    	ScanInaccessiblePartialPages   = 0x00800000, 
    	FilterWriteCombinedMemory      = 0x01000000, 
    	ValidTypeFlags                 = 0x01ffffff, 
    }

    MINIDUMP_USER_STREAM ¶

    MINIDUMP_USER_STREAM :: struct {
    	Type:       u32,
    	BufferSize: u32,
    	Buffer:     rawptr,
    }

    MINIDUMP_USER_STREAM_INFORMATION ¶

    MINIDUMP_USER_STREAM_INFORMATION :: struct {
    	UserStreamCount: u32,
    	UserStreamArray: ^MINIDUMP_USER_STREAM,
    }

    MINIDUMP_VM_POST_READ_CALLBACK ¶

    MINIDUMP_VM_POST_READ_CALLBACK :: struct {
    	Offset:    u64,
    	Buffer:    rawptr,
    	Size:      u32,
    	Completed: u32,
    	Status:    HRESULT,
    }

    MINMAXINFO ¶

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

    Struct pointed to by WM_GETMINMAXINFO lParam

    MMRESULT ¶

    MMRESULT :: u32

    Related Procedures With Returns

    MMTIME ¶

    MMTIME :: struct {
    	wType: MMTIME_TYPE,
    	u:     struct #raw_union {
    		ms:     u32 `raw_union_tag:"wType=TIME_MS"`,
    		sample: u32 `raw_union_tag:"wType=TIME_SAMPLES"`,
    		cb:     u32 `raw_union_tag:"wType=TIME_BYTES"`,
    		ticks:  u32 `raw_union_tag:"wType=TIME_TICKS"`,
    		smpte:  struct {
    			hour:  BYTE,
    			min:   BYTE,
    			sec:   BYTE,
    			frame: BYTE,
    			fps:   BYTE,
    			dummy: BYTE,
    			pad:   [2]BYTE,
    		} `raw_union_tag:"wType=TIME_SMPTE"`,
    		midi:   struct {
    			songptrpos: u32,
    		} `raw_union_tag:"wType=TIME_MIDI"`,
    	},
    }
     

    https://learn.microsoft.com/en-us/windows/win32/multimedia/multimedia-timer-structures

    MMTIME_TYPE ¶

    MMTIME_TYPE :: enum u32 {
    	// time in milliseconds 
    	TIME_MS      = 0x0001, 
    	// number of wave samples 
    	TIME_SAMPLES = 0x0002, 
    	// current byte offset 
    	TIME_BYTES   = 0x0004, 
    	// SMPTE time 
    	TIME_SMPTE   = 0x0008, 
    	// MIDI time 
    	TIME_MIDI    = 0x0010, 
    	// Ticks within MIDI stream 
    	TIME_TICKS   = 0x0020, 
    }

    MMVERSION ¶

    MMVERSION :: u32

    Related Procedures With Returns

    MODULEENTRY32W ¶

    MODULEENTRY32W :: struct {
    	dwSize:        u32,
    	th32ModuleID:  u32,
    	th32ProcessID: u32,
    	GlblcntUsage:  u32,
    	ProccntUsage:  u32,
    	modBaseAddr:   ^BYTE,
    	modBaseSize:   u32,
    	hModule:       HMODULE,
    	szModule:      [256]u16,
    	szExePath:     [260]u16,
    }

    Related Procedures With Parameters

    MONITORINFO ¶

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

    MONITORINFOEXW ¶

    MONITORINFOEXW :: struct {
    	using _:  MONITORINFO,
    	szDevice: [32]u16,
    }
    Procedures Through `using` From MONITORINFO

    Fields Through using (4)

    From using _: MONITORINFO

    MONITOR_DPI_TYPE ¶

    MONITOR_DPI_TYPE :: enum u32 {
    	MDT_EFFECTIVE_DPI = 0, 
    	MDT_ANGULAR_DPI   = 1, 
    	MDT_RAW_DPI       = 2, 
    	MDT_DEFAULT, 
    }

    MOUNT_POINT_REPARSE_BUFFER ¶

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

    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,
    }
    External examples win32/game_of_life · win32/embedded_manifest · win32/open_window

    Related Procedures With Parameters

    MSLLHOOKSTRUCT ¶

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

    Monitor_Enum_Proc ¶

    Monitor_Enum_Proc :: proc "stdcall" (HMONITOR, HDC, ^RECT, int) -> BOOL

    Monitor_From_Flags ¶

    Monitor_From_Flags :: enum u32 {
    	MONITOR_DEFAULTTONULL    = 0x00000000, // Returns NULL
    	MONITOR_DEFAULTTOPRIMARY = 0x00000001, // Returns a handle to the primary display monitor
    	MONITOR_DEFAULTTONEAREST = 0x00000002, // Returns a handle to the display monitor that is nearest to the window
    }

    Related Procedures With Parameters

    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, 
    }

    Related Procedures With Returns

    NET_IF_CONNECTION_TYPE ¶

    NET_IF_CONNECTION_TYPE :: enum i32 {
    	NET_IF_CONNECTION_DEDICATED = 1, 
    	NET_IF_CONNECTION_PASSIVE   = 2, 
    	NET_IF_CONNECTION_DEMAND    = 3, 
    	NET_IF_CONNECTION_MAXIMUM   = 4, 
    }

    NET_LUID_LH ¶

    NET_LUID_LH :: struct #raw_union {
    	Value: u64,
    	Info:  struct {
    		_bitfield: u64,
    	},
    }

    NEWTEXTMETRICW ¶

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

    NL_DAD_STATE ¶

    NL_DAD_STATE :: enum i32 {
    	NldsInvalid          = 0, 
    	NldsTentative        = 1, 
    	NldsDuplicate        = 2, 
    	NldsDeprecated       = 3, 
    	NldsPreferred        = 4, 
    	IpDadStateInvalid    = 0, 
    	IpDadStateTentative  = 1, 
    	IpDadStateDuplicate  = 2, 
    	IpDadStateDeprecated = 3, 
    	IpDadStatePreferred  = 4, 
    }

    NL_PREFIX_ORIGIN ¶

    NL_PREFIX_ORIGIN :: enum i32 {
    	IpPrefixOriginOther               = 0, 
    	IpPrefixOriginManual              = 1, 
    	IpPrefixOriginWellKnown           = 2, 
    	IpPrefixOriginDhcp                = 3, 
    	IpPrefixOriginRouterAdvertisement = 4, 
    	IpPrefixOriginUnchanged           = 16, 
    }

    NL_SUFFIX_ORIGIN ¶

    NL_SUFFIX_ORIGIN :: enum i32 {
    	NlsoOther                      = 0, 
    	NlsoManual                     = 1, 
    	NlsoWellKnown                  = 2, 
    	NlsoDhcp                       = 3, 
    	NlsoLinkLayerAddress           = 4, 
    	NlsoRandom                     = 5, 
    	IpSuffixOriginOther            = 0, 
    	IpSuffixOriginManual           = 1, 
    	IpSuffixOriginWellKnown        = 2, 
    	IpSuffixOriginDhcp             = 3, 
    	IpSuffixOriginLinkLayerAddress = 4, 
    	IpSuffixOriginRandom           = 5, 
    	IpSuffixOriginUnchanged        = 16, 
    }

    NMCBEDRAGBEGINW ¶

    NMCBEDRAGBEGINW :: struct {
    	hdr:     NMHDR,
    	iItemId: i32,
    	szText:  [260]u16,
    }

    NMCBEENDEDITW ¶

    NMCBEENDEDITW :: struct {
    	hdr:           NMHDR,
    	fChanged:      BOOL,
    	iNewSelection: i32,
    	szText:        [260]u16,
    	iWhy:          i32,
    }

    NMCUSTOMDRAW ¶

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

    NMHDDISPINFOW ¶

    NMHDDISPINFOW :: struct {
    	hdr:        NMHDR,
    	iItem:      i32,
    	mask:       u32,
    	pszText:    ^u16,
    	cchTextMax: i32,
    	iImage:     i32,
    	lParam:     int,
    }

    NMHDR ¶

    NMHDR :: struct {
    	hwndFrom: HWND,
    	idFrom:   uintptr,
    	code:     u32,
    }

    NMHEADERW ¶

    NMHEADERW :: struct {
    	hdr:     NMHDR,
    	iItem:   i32,
    	iButton: i32,
    	pitem:   ^HDITEMW,
    }

    NMITEMACTIVATE ¶

    NMITEMACTIVATE :: struct {
    	hdr:       NMHDR,
    	iItem:     i32,
    	iSubItem:  i32,
    	uNewState: u32,
    	uOldState: u32,
    	uChanged:  u32,
    	ptAction:  POINT,
    	lParam:    int,
    	uKeyFlags: u32,
    }

    NMLISTVIEW ¶

    NMLISTVIEW :: struct {
    	hdr:       NMHDR,
    	iItem:     i32,
    	iSubItem:  i32,
    	uNewState: u32,
    	uOldState: u32,
    	uChanged:  u32,
    	ptAction:  POINT,
    	lParam:    int,
    }

    NMLVCUSTOMDRAW ¶

    NMLVCUSTOMDRAW :: struct {
    	nmcd:        NMCUSTOMDRAW,
    	clrText:     u32,
    	clrTextBk:   u32,
    	iSubItem:    i32,
    	dwItemType:  u32,
    	clrFace:     u32,
    	iIconEffect: i32,
    	iIconPhase:  i32,
    	iPartId:     i32,
    	iStateId:    i32,
    	rcText:      RECT,
    	uAlign:      u32,
    }

    NMLVGETINFOTIPW ¶

    NMLVGETINFOTIPW :: struct {
    	hdr:        NMHDR,
    	dwFlags:    u32,
    	pszText:    ^u16,
    	cchTextMax: i32,
    	iItem:      i32,
    	iSubItem:   i32,
    	lParam:     int,
    }

    NMLVKEYDOWN ¶

    NMLVKEYDOWN :: struct #packed {
    	hdr:   NMHDR,
    	wVKey: u16,
    	flags: u32,
    }

    NMLVODSTATECHANGE ¶

    NMLVODSTATECHANGE :: struct {
    	hdr:       NMHDR,
    	iFrom:     i32,
    	iTo:       i32,
    	uNewState: u32,
    	uOldState: u32,
    }

    NMTCKEYDOWN ¶

    NMTCKEYDOWN :: struct #packed {
    	hdr:   NMHDR,
    	wVKey: u16,
    	flags: u32,
    }

    NMTREEVIEWW ¶

    NMTREEVIEWW :: struct {
    	hdr:     NMHDR,
    	action:  u32,
    	itemOld: TVITEMW,
    	itemNew: TVITEMW,
    	ptDrag:  POINT,
    }

    NMTVCUSTOMDRAW ¶

    NMTVCUSTOMDRAW :: struct {
    	nmcd:      NMCUSTOMDRAW,
    	clrText:   u32,
    	clrTextBk: u32,
    	iLevel:    i32,
    }

    NMTVGETINFOTIPW ¶

    NMTVGETINFOTIPW :: struct {
    	hdr:        NMHDR,
    	pszText:    ^u16,
    	cchTextMax: i32,
    	hItem:      HTREEITEM,
    	lParam:     int,
    }

    NMTVKEYDOWN ¶

    NMTVKEYDOWN :: struct #packed {
    	hdr:   NMHDR,
    	wVKey: u16,
    	flags: u32,
    }

    NONCLIENTMETRICSW ¶

    NONCLIENTMETRICSW :: struct {
    	cbSize:             u32,
    	iBorderWidth:       i32,
    	iScrollWidth:       i32,
    	iScrollHeight:      i32,
    	iCaptionWidth:      i32,
    	iCaptionHeight:     i32,
    	lfCaptionFont:      LOGFONTW,
    	iSmCaptionWidth:    i32,
    	iSmCaptionHeight:   i32,
    	lfSmCaptionFont:    LOGFONTW,
    	iMenuWidth:         i32,
    	iMenuHeight:        i32,
    	lfMenuFont:         LOGFONTW,
    	lfStatusFont:       LOGFONTW,
    	lfMessageFont:      LOGFONTW,
    	iPaddedBorderWidth: i32,
    }

    NOTIFYICONDATAW ¶

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

    NTSTATUS ¶

    NTSTATUS :: i32

    OBJECT_ATTRIBUTES ¶

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

    OFFER_PRIORITY ¶

    OFFER_PRIORITY :: enum i32 {
    	VmOfferPriorityVeryLow     = 1, 
    	VmOfferPriorityLow, 
    	VmOfferPriorityBelowNormal, 
    	VmOfferPriorityNormal, 
    }

    Related Constants

    OPENFILENAMEW ¶

    OPENFILENAMEW :: struct {
    	lStructSize:       u32,
    	hwndOwner:         HWND,
    	hInstance:         HANDLE,
    	lpstrFilter:       cstring16,
    	lpstrCustomFilter: ^u16,
    	nMaxCustFilter:    u32,
    	nFilterIndex:      u32,
    	lpstrFile:         ^u16,
    	nMaxFile:          u32,
    	lpstrFileTitle:    ^u16,
    	nMaxFileTitle:     u32,
    	lpstrInitialDir:   cstring16,
    	lpstrTitle:        cstring16,
    	Flags:             u32,
    	nFileOffset:       u16,
    	nFileExtension:    u16,
    	lpstrDefExt:       cstring16,
    	lCustData:         int,
    	lpfnHook:          LPOFNHOOKPROC,
    	lpTemplateName:    cstring16,
    	pvReserved:        rawptr,
    	dwReserved:        u32,
    	FlagsEx:           u32,
    }

    Related Procedures With Parameters

    OSVERSIONINFOEXW ¶

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

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

    Related Procedures With Parameters

    OVERLAPPED_ENTRY ¶

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

    PACCESS_MASK ¶

    PACCESS_MASK :: ^u32

    Related Procedures With Parameters

    PAGESETUPDLGW ¶

    PAGESETUPDLGW :: struct {
    	lStructSize:             u32,
    	hwndOwner:               HWND,
    	hDevMode:                HGLOBAL,
    	hDevNames:               HGLOBAL,
    	Flags:                   u32,
    	ptPaperSize:             POINT,
    	rtMinMargin:             RECT,
    	rtMargin:                RECT,
    	hInstance:               HANDLE,
    	lCustData:               int,
    	lpfnPageSetupHook:       LPPAGESETUPHOOK,
    	lpfnPagePaintHook:       LPPAGEPAINTHOOK,
    	lpPageSetupTemplateName: cstring16,
    	hPageSetupTemplate:      HGLOBAL,
    }

    PAINTSTRUCT ¶

    PAINTSTRUCT :: struct {
    	hdc:         HDC,
    	fErase:      BOOL,
    	rcPaint:     RECT,
    	fRestore:    BOOL,
    	fIncUpdate:  BOOL,
    	rgbReserved: [32]BYTE,
    }
    External examples win32/game_of_life

    Related Procedures With Parameters

    PALETTEENTRY ¶

    PALETTEENTRY :: struct {
    	peRed:   BYTE,
    	peGreen: BYTE,
    	peBlue:  BYTE,
    	peFlags: BYTE,
    }

    PAPCFUNC ¶

    PAPCFUNC :: proc "stdcall" (Parameter: uint)

    PBRANGE ¶

    PBRANGE :: struct {
    	iLow:  i32,
    	iHigh: i32,
    }
     

    Progress Bar Control

    PCWSTR ¶

    PCWSTR :: cstring16

    Related Procedures With Returns

    PCZZWSTR ¶

    PCZZWSTR :: cstring16
     

    Pointer to a double-null-terminated string. Special care must be taken when converting to this type.

    Related Procedures With Returns

    PDWORD ¶

    PDWORD :: ^u32

    Related Procedures With Parameters

    PDWORD64 ¶

    PDWORD64 :: ^u64

    PEB ¶

    PEB :: struct {
    	_:                      [2]u8,
    	BeingDebugged:          u8,
    	_:                      [1]u8,
    	_:                      [2]rawptr,
    	Ldr:                    ^PEB_LDR_DATA,
    	ProcessParameters:      ^RTL_USER_PROCESS_PARAMETERS,
    	_:                      [104]u8,
    	_:                      [52]rawptr,
    	PostProcessInitRoutine: PPS_POST_PROCESS_INIT_ROUTINE,
    	_:                      [128]u8,
    	_:                      [1]rawptr,
    	SessionId:              u32,
    }

    PEB_LDR_DATA ¶

    PEB_LDR_DATA :: struct {
    	_:                       [8]u8,
    	_:                       [3]rawptr,
    	InMemoryOrderModuleList: LIST_ENTRY,
    }

    PERCEIVED ¶

    PERCEIVED :: enum i32 {
    	FIRST       = -3, 
    	CUSTOM      = -3, 
    	UNSPECIFIED = -2, 
    	FOLDER      = -1, 
    	UNKNOWN     = 0, 
    	TEXT        = 1, 
    	IMAGE       = 2, 
    	AUDIO       = 3, 
    	VIDEO       = 4, 
    	COMPRESSED  = 5, 
    	DOCUMENT    = 6, 
    	SYSTEM      = 7, 
    	APPLICATION = 8, 
    	GAMEMEDIA   = 9, 
    	CONTACTS    = 10, 
    	LAST        = 10, 
    }

    PERCEIVEDFLAG ¶

    PERCEIVEDFLAG :: u32

    Related Procedures With Returns

    PERFORMANCE_INFORMATION ¶

    PERFORMANCE_INFORMATION :: struct {
    	cb:                u32,
    	CommitTotal:       uint,
    	CommitLimit:       uint,
    	CommitPeak:        uint,
    	PhysicalTotal:     uint,
    	PhysicalAvailable: uint,
    	SystemCache:       uint,
    	KernelTotal:       uint,
    	KernelPaged:       uint,
    	KernelNonpaged:    uint,
    	PageSize:          uint,
    	HandleCount:       u32,
    	ProcessCount:      u32,
    	ThreadCount:       u32,
    }

    PFNLVCOMPARE ¶

    PFNLVCOMPARE :: proc "stdcall" (lpItem1, lpItem2: int, lpUser: int) -> i32

    Related Procedures With Parameters

    PFNLVGROUPCOMPARE ¶

    PFNLVGROUPCOMPARE :: proc "stdcall" (item1, item2: i32, user: rawptr) -> i32

    PFNTVCOMPARE ¶

    PFNTVCOMPARE :: proc "stdcall" (lParam1, lParam2: int, lParamSort: int) -> i32

    PIO_APC_ROUTINE ¶

    PIO_APC_ROUTINE :: proc "stdcall" (ApcContext: rawptr, IoStatusBlock: ^IO_STATUS_BLOCK, Reserved: u32)

    Related Procedures With Parameters

    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,
    }

    Related Procedures With Parameters

    POINTER_BUTTON_CHANGE_TYPE ¶

    POINTER_BUTTON_CHANGE_TYPE :: enum int {
    	NONE, 
    	FIRSTBUTTON_DOWN, 
    	FIRSTBUTTON_UP, 
    	SECONDBUTTON_DOWN, 
    	SECONDBUTTON_UP, 
    	THIRDBUTTON_DOWN, 
    	THIRDBUTTON_UP, 
    	FOURTHBUTTON_DOWN, 
    	FOURTHBUTTON_UP, 
    	FIFTHBUTTON_DOWN, 
    	FIFTHBUTTON_UP, 
    }

    POINTER_INFO ¶

    POINTER_INFO :: struct {
    	pointerType:           POINTER_INPUT_TYPE,
    	pointerId:             u32,
    	frameId:               u32,
    	pointerFlags:          bit_set[PointerFlag; u32],
    	sourceDevice:          HANDLE,
    	hwndTarget:            HWND,
    	ptPixelLocation:       POINT,
    	ptHimetricLocation:    POINT,
    	ptPixelLocationRaw:    POINT,
    	ptHimetricLocationRaw: POINT,
    	dwTime:                u32,
    	historyCount:          u32,
    	InputData:             i32,
    	dwKeyStates:           u32,
    	PerformanceCount:      u32,
    	ButtonChangeType:      POINTER_BUTTON_CHANGE_TYPE,
    }

    POINTER_INPUT_TYPE ¶

    POINTER_INPUT_TYPE :: enum u32 {
    	PT_POINTER  = 1, 
    	PT_TOUCH    = 2, 
    	PT_PEN      = 3, 
    	PT_MOUSE    = 4, 
    	PT_TOUCHPAD = 5, 
    }

    POINTER_PEN_INFO ¶

    POINTER_PEN_INFO :: struct {
    	pointerInfo: POINTER_INFO,
    	penFlags:    bit_set[PenFlag; u32],
    	penMask:     bit_set[PenMask; u32],
    	// pressure normalized to a range between 0 and 1024. 0 if the device does not report pressure.
    	pressure:    u32,
    	// clockwise rotation, or twist, of the pointer normalized in a range of 0 to 359
    	rotation:    u32,
    	// -90 to +90; positive value indicating a tilt toward the user
    	tiltX:       i32,
    	tiltY:       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

    PRINTDLGEXW ¶

    PRINTDLGEXW :: struct {
    	lStructSize:         u32,
    	// size of structure in bytes
    	hwndOwner:           HWND,
    	// caller's window handle
    	hDevMode:            HGLOBAL,
    	// handle to DevMode
    	hDevNames:           HGLOBAL,
    	// handle to DevNames
    	hDC:                 HDC,
    	// printer DC/IC or NULL
    	Flags:               u32,
    	// PD_ flags
    	Flags2:              u32,
    	// reserved
    	ExclusionFlags:      u32,
    	// items to exclude from driver pages
    	nPageRanges:         u32,
    	// number of page ranges
    	nMaxPageRanges:      u32,
    	// max number of page ranges
    	lpPageRanges:        ^PRINTPAGERANGE,
    	// array of page ranges
    	nMinPage:            u32,
    	// min page number
    	nMaxPage:            u32,
    	// max page number
    	nCopies:             u32,
    	// number of copies
    	hInstance:           HANDLE,
    	// instance handle
    	lpPrintTemplateName: cstring16,
    	// template name for app specific area
    	lpCallback:          ^IUnknown,
    	// app callback interface
    	nPropertyPages:      u32,
    	// number of app property pages in lphPropertyPages
    	lphPropertyPages:    ^HPROPSHEETPAGE,
    	// array of app property page handles
    	nStartPage:          u32,
    	// start page id
    	dwResultAction:      u32,
    }

    PRINTDLGW ¶

    PRINTDLGW :: struct {
    	lStructSize:         u32,
    	hwndOwner:           HWND,
    	hDevMode:            HGLOBAL,
    	hDevNames:           HGLOBAL,
    	hDC:                 HDC,
    	Flags:               u32,
    	nFromPage:           u16,
    	nToPage:             u16,
    	nMinPage:            u16,
    	nMaxPage:            u16,
    	nCopies:             u16,
    	hInstance:           HANDLE,
    	lCustData:           int,
    	lpfnPrintHook:       LPPRINTHOOKPROC,
    	lpfnSetupHook:       LPSETUPHOOKPROC,
    	lpPrintTemplateName: cstring16,
    	lpSetupTemplateName: cstring16,
    	hPrintTemplate:      HGLOBAL,
    	hSetupTemplate:      HGLOBAL,
    }

    PRIVILEGE_SET ¶

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

    PROCESSENTRY32W ¶

    PROCESSENTRY32W :: struct {
    	dwSize:              u32,
    	cntUsage:            u32,
    	th32ProcessID:       u32,
    	th32DefaultHeapID:   uint,
    	th32ModuleID:        u32,
    	cntThreads:          u32,
    	th32ParentProcessID: u32,
    	pcPriClassBase:      i32,
    	dwFlags:             u32,
    	szExeFile:           [260]u16,
    }

    Related Procedures With Parameters

    PROCESSOR_CACHE_TYPE ¶

    PROCESSOR_CACHE_TYPE :: enum i32 {
    	CacheUnified, 
    	CacheInstruction, 
    	CacheData, 
    	CacheTrace, 
    }

    PROCESS_BASIC_INFORMATION ¶

    PROCESS_BASIC_INFORMATION :: struct {
    	ExitStatus:                   i32,
    	PebBaseAddress:               ^PEB,
    	AffinityMask:                 uint,
    	BasePriority:                 rawptr,
    	UniqueProcessId:              uint,
    	InheritedFromUniqueProcessId: uint,
    }

    PROCESS_DPI_AWARENESS ¶

    PROCESS_DPI_AWARENESS :: enum u32 {
    	PROCESS_DPI_UNAWARE           = 0, 
    	PROCESS_SYSTEM_DPI_AWARE      = 1, 
    	PROCESS_PER_MONITOR_DPI_AWARE = 2, 
    }

    Related Procedures With Parameters

    PROCESS_INFORMATION ¶

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

    Related Procedures With Parameters

    PROCESS_INFO_CLASS ¶

    PROCESS_INFO_CLASS :: enum i32 {
    	ProcessBasicInformation       = 0, 
    	ProcessDebugPort              = 7, 
    	ProcessWow64Information       = 26, 
    	ProcessImageFileName          = 27, 
    	ProcessBreakOnTermination     = 29, 
    	ProcessTelemetryIdInformation = 64, 
    	ProcessSubsystemInformation   = 75, 
    }

    PROCESS_MEMORY_COUNTERS ¶

    PROCESS_MEMORY_COUNTERS :: struct {
    	cb:                         u32,
    	PageFaultCount:             u32,
    	PeakWorkingSetSize:         uint,
    	WorkingSetSize:             uint,
    	QuotaPeakPagedPoolUsage:    uint,
    	QuotaPagedPoolUsage:        uint,
    	QuotaPeakNonPagedPoolUsage: uint,
    	QuotaNonPagedPoolUsage:     uint,
    	PagefileUsage:              uint,
    	PeakPagefileUsage:          uint,
    }

    PROCESS_MEMORY_COUNTERS_EX ¶

    PROCESS_MEMORY_COUNTERS_EX :: struct {
    	using counter: PROCESS_MEMORY_COUNTERS,
    	PrivateUsage: uint,
    }
    Procedures Through `using` From PROCESS_MEMORY_COUNTERS

    Fields Through using (10)

    From using counter: PROCESS_MEMORY_COUNTERS
    • cb: u32
    • PageFaultCount: u32
    • PeakWorkingSetSize: uint
    • WorkingSetSize: uint
    • QuotaPeakPagedPoolUsage: uint
    • QuotaPagedPoolUsage: uint
    • QuotaPeakNonPagedPoolUsage: uint
    • QuotaNonPagedPoolUsage: uint
    • PagefileUsage: uint
    • PeakPagefileUsage: uint

    PROCESS_MEMORY_COUNTERS_EX2 ¶

    PROCESS_MEMORY_COUNTERS_EX2 :: struct {
    	using counter_ex:      PROCESS_MEMORY_COUNTERS_EX,
    	PrivateWorkingSetSize: uint,
    	SharedCommitUsage:     u64,
    }
    Procedures Through `using` From PROCESS_MEMORY_COUNTERS

    Fields Through using (11)

    From using counter_ex: PROCESS_MEMORY_COUNTERS_EX
    • cb: u32 // through counter
    • PageFaultCount: u32 // through counter
    • PeakWorkingSetSize: uint // through counter
    • WorkingSetSize: uint // through counter
    • QuotaPeakPagedPoolUsage: uint // through counter
    • QuotaPagedPoolUsage: uint // through counter
    • QuotaPeakNonPagedPoolUsage: uint // through counter
    • QuotaNonPagedPoolUsage: uint // through counter
    • PagefileUsage: uint // through counter
    • PeakPagefileUsage: uint // through counter
    • PrivateUsage: uint

    PROFILEINFOW ¶

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

    PROPENUMPROCEXW ¶

    PROPENUMPROCEXW :: proc(unnamedParam1: HWND, unnamedParam2: cstring16, unnamedParam3: HANDLE, unnamedParam4: uint) -> BOOL

    PROPENUMPROCW ¶

    PROPENUMPROCW :: proc(unnamedParam1: HWND, unnamedParam2: cstring16, unnamedParam3: HANDLE) -> BOOL

    Related Procedures With Parameters

    PROPVARIANT ¶

    PROPVARIANT :: struct {
    	decVal: DECIMAL,
    }
     

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

    Related Procedures With Parameters

    PTIMERAPCROUTINE ¶

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

    PUINT ¶

    PUINT :: ^u32

    Related Procedures With Parameters

    PULONG ¶

    PULONG :: ^u32

    Related Procedures With Parameters

    PUSHORT ¶

    PUSHORT :: ^u16

    Related Procedures With Parameters

    Related Procedures With Returns

    Related Constants

    PWSTR ¶

    PWSTR :: cstring16

    Related Procedures With Returns

    Parity ¶

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

    PenFlag ¶

    PenFlag :: enum int {
    	barrel   = 0, 
    	inverted = 1, 
    	eraser   = 2, 
    }

    PenMask ¶

    PenMask :: enum int {
    	pressure = 0, 
    	rotation = 1, 
    	tiltX    = 2, 
    	tiltY    = 3, 
    }

    PointerFlag ¶

    PointerFlag :: enum int {
    	new             = 0, 
    	in_range        = 1, 
    	in_contact      = 2, 
    	first_button    = 4, 
    	second_button   = 5, 
    	third_button    = 6, 
    	fourth_button   = 7, 
    	fifth_button    = 8, 
    	primary         = 13, 
    	confidence      = 14, 
    	canceled        = 15, 
    	down            = 16, 
    	update          = 17, 
    	up              = 18, 
    	wheel           = 19, 
    	hwheel          = 20, 
    	capture_changed = 21, 
    	has_transform   = 22, 
    }

    RAWHID ¶

    RAWHID :: struct {
    	dwSizeHid: u32,
    	dwCount:   u32,
    	bRawData:  [1]BYTE,
    }

    RAWINPUT ¶

    RAWINPUT :: struct {
    	header: RAWINPUTHEADER,
    	data:   struct #raw_union {
    		mouse:    RAWMOUSE,
    		keyboard: RAWKEYBOARD,
    		hid:      RAWHID,
    	},
    }

    Related Procedures With Parameters

    RAWINPUTDEVICE ¶

    RAWINPUTDEVICE :: struct {
    	usUsagePage: u16,
    	usUsage:     u16,
    	dwFlags:     u32,
    	hwndTarget:  HWND,
    }

    Related Procedures With Parameters

    RAWINPUTDEVICELIST ¶

    RAWINPUTDEVICELIST :: struct {
    	hDevice: HANDLE,
    	dwType:  u32,
    }

    RAWINPUTHEADER ¶

    RAWINPUTHEADER :: struct {
    	dwType:  u32,
    	dwSize:  u32,
    	hDevice: HANDLE,
    	wParam:  uintptr,
    }

    RAWINPUT_CODE ¶

    RAWINPUT_CODE :: enum u32 {
    	// The input is in the regular message flow,
    	// the app is required to call DefWindowProc
    	// so that the system can perform clean ups.
    	RIM_INPUT     = 0, 
    	// The input is sink only. The app is expected
    	// to behave nicely.
    	RIM_INPUTSINK = 1, 
    }

    RAWKEYBOARD ¶

    RAWKEYBOARD :: struct {
    	MakeCode:         u16,
    	Flags:            u16,
    	Rserved:          u16,
    	VKey:             u16,
    	Message:          u32,
    	ExtraInformation: u32,
    }

    RAWMOUSE ¶

    RAWMOUSE :: struct {
    	usFlags:            u16,
    	using DUMMYUNIONNAME: struct #raw_union {
    		ulButtons:       u32,
    		using DUMMYSTRUCTNAME: struct {
    			usButtonFlags: u16,
    			usButtonData:  u16,
    		},
    	},
    	ulRawButtons:       u32,
    	lLastX:             i32,
    	lLastY:             i32,
    	ulExtraInformation: u32,
    }

    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:         [^]^u16 `fmt:"v,ReasonStringCount"`,
    		},
    		SimpleReasonString: ^u16,
    	},
    }

    REFGUID ¶

    REFGUID :: GUID

    Related Procedures With Parameters

    Related Constants

    REGSAM ¶

    REGSAM :: u32

    Related Procedures With Returns

    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:              u16,
    }

    RGBQUAD ¶

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

    Related Procedures With Parameters

    RID_DEVICE_INFO ¶

    RID_DEVICE_INFO :: struct {
    	cbSize:         u32,
    	dwType:         u32,
    	using DUMMYUNIONNAME: struct #raw_union {
    		mouse:    RID_DEVICE_INFO_MOUSE `raw_union_tag:"dwType=0"`,
    		keyboard: RID_DEVICE_INFO_KEYBOARD `raw_union_tag:"dwType=1"`,
    		hid:      RID_DEVICE_INFO_HID `raw_union_tag:"dwType=2"`,
    	},
    }

    RID_DEVICE_INFO_HID ¶

    RID_DEVICE_INFO_HID :: struct {
    	dwVendorId:      u32,
    	dwProductId:     u32,
    	dwVersionNumber: u32,
    	usUsagePage:     u16,
    	usUsage:         u16,
    }

    RID_DEVICE_INFO_KEYBOARD ¶

    RID_DEVICE_INFO_KEYBOARD :: struct {
    	dwType:                 u32,
    	dwSubType:              u32,
    	dwKeyboardMode:         u32,
    	dwNumberOfFunctionKeys: u32,
    	dwNumberOfIndicators:   u32,
    	dwNumberOfKeysTotal:    u32,
    }

    RID_DEVICE_INFO_MOUSE ¶

    RID_DEVICE_INFO_MOUSE :: struct {
    	dwId:                u32,
    	dwNumberOfButtons:   u32,
    	dwSampleRate:        u32,
    	fHasHorizontalWheel: BOOL,
    }

    RTL_DRIVE_LETTER_CURDIR ¶

    RTL_DRIVE_LETTER_CURDIR :: struct {
    	Flags:     u16,
    	Length:    u16,
    	TimeStamp: u32,
    	DosPath:   UNICODE_STRING,
    }

    RTL_USER_PROCESS_PARAMETERS ¶

    RTL_USER_PROCESS_PARAMETERS :: struct {
    	MaximumLength:          u32,
    	Length:                 u32,
    	Flags:                  u32,
    	DebugFlags:             u32,
    	ConsoleHandle:          rawptr,
    	ConsoleFlags:           u32,
    	StdInputHandle:         rawptr,
    	StdOutputHandle:        rawptr,
    	StdErrorHandle:         rawptr,
    	CurrentDirectoryPath:   UNICODE_STRING,
    	CurrentDirectoryHandle: rawptr,
    	DllPath:                UNICODE_STRING,
    	ImagePathName:          UNICODE_STRING,
    	CommandLine:            UNICODE_STRING,
    	Environment:            rawptr,
    	StartingPositionLeft:   u32,
    	StartingPositionTop:    u32,
    	Width:                  u32,
    	Height:                 u32,
    	CharWidth:              u32,
    	CharHeight:             u32,
    	ConsoleTextAttributes:  u32,
    	WindowFlags:            u32,
    	ShowWindowFlags:        u32,
    	WindowTitle:            UNICODE_STRING,
    	DesktopName:            UNICODE_STRING,
    	ShellInfo:              UNICODE_STRING,
    	RuntimeData:            UNICODE_STRING,
    	DLCurrentDirectory:     [32]RTL_DRIVE_LETTER_CURDIR,
    	EnvironmentSize:        u32,
    }

    RTS_Control ¶

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

    RVA ¶

    RVA :: u32

    Related Procedures With Returns

    RedrawWindowFlags ¶

    RedrawWindowFlags :: enum u32 {
    	RDW_INVALIDATE      = 0x0001, 
    	RDW_INTERNALPAINT   = 0x0002, 
    	RDW_ERASE           = 0x0004, 
    	RDW_VALIDATE        = 0x0008, 
    	RDW_NOINTERNALPAINT = 0x0010, 
    	RDW_NOERASE         = 0x0020, 
    	RDW_NOCHILDREN      = 0x0040, 
    	RDW_ALLCHILDREN     = 0x0080, 
    	RDW_UPDATENOW       = 0x0100, 
    	RDW_ERASENOW        = 0x0200, 
    	RDW_FRAME           = 0x0400, 
    	RDW_NOFRAME         = 0x0800, 
    }

    SCODE ¶

    SCODE :: i32

    SCROLLINFO ¶

    SCROLLINFO :: struct {
    	cbSize:    u32,
    	fMask:     u32,
    	nMin:      i32,
    	nMax:      i32,
    	nPage:     u32,
    	nPos:      i32,
    	nTrackPos: i32,
    }

    Related Procedures With Parameters

    SECURITY_IMPERSONATION_LEVEL ¶

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

    SECURITY_INFORMATION ¶

    SECURITY_INFORMATION :: u32

    Related Procedures With Returns

    SEVERITY ¶

    SEVERITY :: enum u32 {
    	SUCCESS = 0, 
    	ERROR   = 1, 
    }
     

    Severity values

    Related Procedures With Returns

    SFGAOF ¶

    SFGAOF :: u32

    Related Procedures With Returns

    SHCONTF ¶

    SHCONTF :: u32

    Related Procedures With Returns

    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,
    }

    SIATTRIBFLAGS ¶

    SIATTRIBFLAGS :: enum i32 {
    	AND       = 0x1, 
    	OR        = 0x2, 
    	APPCOMPAT = 0x3, 
    	MASK      = 0x3, 
    	ALLITEMS  = 0x4000, 
    }

    SICHINTF ¶

    SICHINTF :: u32

    Related Procedures With Returns

    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

    Related Procedures With Parameters

    SID_NAME_USE ¶

    SID_NAME_USE :: enum i32 {
    	SidTypeUser           = 1, 
    	SidTypeGroup, 
    	SidTypeDomain, 
    	SidTypeAlias, 
    	SidTypeWellKnownGroup, 
    	SidTypeDeletedAccount, 
    	SidTypeInvalid, 
    	SidTypeUnknown, 
    	SidTypeComputer, 
    	SidTypeLabel, 
    	SidTypeLogonSession, 
    }

    Related Procedures With Parameters

    SIGDN ¶

    SIGDN :: enum i32 {
    	NORMALDISPLAY               = 0, 
    	PARENTRELATIVEPARSING       = -2147385343, // 0x80018001
    	DESKTOPABSOLUTEPARSING      = -2147319808, // 0x80028000
    	PARENTRELATIVEEDITING       = -2147282943, // 0x80031001
    	DESKTOPABSOLUTEEDITING      = -2147172352, // 0x8004c000
    	FILESYSPATH                 = -2147123200, // 0x80058000
    	URL                         = -2147057664, // 0x80068000
    	PARENTRELATIVEFORADDRESSBAR = -2146975743, // 0x8007c001
    	PARENTRELATIVE              = -2146959359, // 0x80080001
    	PARENTRELATIVEFORUI         = -2146877439, // 0x80094001
    }

    SIZE ¶

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

    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,
    }

    Related Procedures With Parameters

    SOCKET_ADDRESS ¶

    SOCKET_ADDRESS :: struct {
    	lpSockaddr:      ^SOCKADDR,
    	iSockaddrLength: i32,
    }

    SPEAKER_FLAG ¶

    SPEAKER_FLAG :: enum u32 {
    	FRONT_LEFT            = 0, 
    	FRONT_RIGHT           = 1, 
    	FRONT_CENTER          = 2, 
    	LOW_FREQUENCY         = 3, 
    	BACK_LEFT             = 4, 
    	BACK_RIGHT            = 5, 
    	FRONT_LEFT_OF_CENTER  = 6, 
    	FRONT_RIGHT_OF_CENTER = 7, 
    	BACK_CENTER           = 8, 
    	SIDE_LEFT             = 9, 
    	SIDE_RIGHT            = 10, 
    	TOP_CENTER            = 11, 
    	TOP_FRONT_LEFT        = 12, 
    	TOP_FRONT_CENTER      = 13, 
    	TOP_FRONT_RIGHT       = 14, 
    	TOP_BACK_LEFT         = 15, 
    	TOP_BACK_CENTER       = 16, 
    	TOP_BACK_RIGHT        = 17, 
    	// RESERVED            = 0x7FFC0000, // bit mask locations reserved for future use
    	ALL                   = 31, // used to specify that any possible permutation of speaker configurations
    }

    STARTUPINFOW ¶

    STARTUPINFOW :: struct {
    	cb:              u32,
    	lpReserved:      ^u16,
    	lpDesktop:       ^u16,
    	lpTitle:         ^u16,
    	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,
    }
    External examples win32/embedded_manifest · win32/open_window

    Related Procedures With Parameters

    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 "stdcall" (HWND, u32, uintptr, int, uintptr, uint) -> int
    SYMBOLIC_LINK_REPARSE_BUFFER :: struct {
    	SubstituteNameOffset: u16,
    	SubstituteNameLength: u16,
    	PrintNameOffset:      u16,
    	PrintNameLength:      u16,
    	Flags:                u32,
    	PathBuffer:           u16,
    }

    SYMBOL_INFOW ¶

    SYMBOL_INFOW :: struct {
    	SizeOfStruct: u32,
    	TypeIndex:    u32,
    	Reserved:     [2]u64,
    	Index:        u32,
    	Size:         u32,
    	ModBase:      u64,
    	Flags:        u32,
    	Value:        u64,
    	Address:      u64,
    	Register:     u32,
    	Scope:        u32,
    	Tag:          u32,
    	NameLen:      u32,
    	MaxNameLen:   u32,
    	Name:         [1]u16,
    }

    SYNCHRONIZATION_BARRIER ¶

    SYNCHRONIZATION_BARRIER :: struct {
    	Reserved1: u32,
    	Reserved2: u32,
    	Reserved3: [2]uint,
    	Reserved4: u32,
    	Reserved5: u32,
    }

    Related Procedures With Parameters

    SYNCHRONIZATION_BARRIER_FLAG ¶

    SYNCHRONIZATION_BARRIER_FLAG :: enum int {
    	SPIN_ONLY  = 0, 
    	BLOCK_ONLY = 1, 
    	NO_DELETE  = 2, 
    }

    SYSTEMTIME ¶

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

    Related Procedures With Parameters

    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

    SYSTEM_LOGICAL_PROCESSOR_INFORMATION ¶

    SYSTEM_LOGICAL_PROCESSOR_INFORMATION :: struct {
    	ProcessorMask:  uint,
    	Relationship:   LOGICAL_PROCESSOR_RELATIONSHIP,
    	using DUMMYUNIONNAME: struct #raw_union {
    		ProcessorCore: ProcessorCore `raw_union_tag:"Relationship=RelationProcessorCore"`,
    		NumaNode:      NumaNode `raw_union_tag:"Relationship=RelationNumaNode"`,
    		Cache:         CACHE_DESCRIPTOR `raw_union_tag:"Relationship=RelationCache"`,
    		Reserved:      [2]u64,
    	},
    }

    SYSTEM_POWER_STATUS ¶

    SYSTEM_POWER_STATUS :: struct {
    	ACLineStatus:        AC_Line_Status,
    	BatteryFlag:         bit_set[Battery_Flag; BYTE],
    	BatteryLifePercent:  BYTE,
    	SystemStatusFlag:    BYTE,
    	BatteryLifeTime:     u32,
    	BatteryFullLifeTime: u32,
    }

    Stop_Bits ¶

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

    System_Error ¶

    System_Error :: enum u32 {
    	// The operation completed successfully.
    	SUCCESS                                                            = 0x0, 
    	// Incorrect function.
    	INVALID_FUNCTION                                                   = 0x1, 
    	// The system cannot find the file specified.
    	FILE_NOT_FOUND                                                     = 0x2, 
    	// The system cannot find the path specified.
    	PATH_NOT_FOUND                                                     = 0x3, 
    	// The system cannot open the file.
    	TOO_MANY_OPEN_FILES                                                = 0x4, 
    	// Access is denied.
    	ACCESS_DENIED                                                      = 0x5, 
    	// The handle is invalid.
    	INVALID_HANDLE                                                     = 0x6, 
    	// The storage control blocks were destroyed.
    	ARENA_TRASHED                                                      = 0x7, 
    	// Not enough memory resources are available to process this command.
    	NOT_ENOUGH_MEMORY                                                  = 0x8, 
    	// The storage control block address is invalid.
    	INVALID_BLOCK                                                      = 0x9, 
    	// The environment is incorrect.
    	BAD_ENVIRONMENT                                                    = 0xA, 
    	// An attempt was made to load a program with an incorrect format.
    	BAD_FORMAT                                                         = 0xB, 
    	// The access code is invalid.
    	INVALID_ACCESS                                                     = 0xC, 
    	// The data is invalid.
    	INVALID_DATA                                                       = 0xD, 
    	// Not enough storage is available to complete this operation.
    	OUTOFMEMORY                                                        = 0xE, 
    	// The system cannot find the drive specified.
    	INVALID_DRIVE                                                      = 0xF, 
    	// The directory cannot be removed.
    	CURRENT_DIRECTORY                                                  = 0x10, 
    	// The system cannot move the file to a different disk drive.
    	NOT_SAME_DEVICE                                                    = 0x11, 
    	// There are no more files.
    	NO_MORE_FILES                                                      = 0x12, 
    	// The media is write protected.
    	WRITE_PROTECT                                                      = 0x13, 
    	// The system cannot find the device specified.
    	BAD_UNIT                                                           = 0x14, 
    	// The device is not ready.
    	NOT_READY                                                          = 0x15, 
    	// The device does not recognize the command.
    	BAD_COMMAND                                                        = 0x16, 
    	// Data error cyclic redundancy check.
    	CRC                                                                = 0x17, 
    	// The program issued a command but the command length is incorrect.
    	BAD_LENGTH                                                         = 0x18, 
    	// The drive cannot locate a specific area or track on the disk.
    	SEEK                                                               = 0x19, 
    	// The specified disk or diskette cannot be accessed.
    	NOT_DOS_DISK                                                       = 0x1A, 
    	// The drive cannot find the sector requested.
    	SECTOR_NOT_FOUND                                                   = 0x1B, 
    	// The printer is out of paper.
    	OUT_OF_PAPER                                                       = 0x1C, 
    	// The system cannot write to the specified device.
    	WRITE_FAULT                                                        = 0x1D, 
    	// The system cannot read from the specified device.
    	READ_FAULT                                                         = 0x1E, 
    	// A device attached to the system is not functioning.
    	GEN_FAILURE                                                        = 0x1F, 
    	// The process cannot access the file because it is being used by another process.
    	SHARING_VIOLATION                                                  = 0x20, 
    	// The process cannot access the file because another process has locked a portion of the file.
    	LOCK_VIOLATION                                                     = 0x21, 
    	// The wrong diskette is in the drive. Insert %2 Volume Serial Number: %3 into drive %1.
    	WRONG_DISK                                                         = 0x22, 
    	// Too many files opened for sharing.
    	SHARING_BUFFER_EXCEEDED                                            = 0x24, 
    	// Reached the end of the file.
    	HANDLE_EOF                                                         = 0x26, 
    	// The disk is full.
    	HANDLE_DISK_FULL                                                   = 0x27, 
    	// The request is not supported.
    	NOT_SUPPORTED                                                      = 0x32, 
    	// Windows cannot find the network path. Verify that the network path is correct and the destination computer is not busy or turned off. If Windows still cannot find the network path, contact your network administrator.
    	REM_NOT_LIST                                                       = 0x33, 
    	// You were not connected because a duplicate name exists on the network. If joining a domain, go to System in Control Panel to change the computer name and try again. If joining a workgroup, choose another workgroup name.
    	DUP_NAME                                                           = 0x34, 
    	// The network path was not found.
    	BAD_NETPATH                                                        = 0x35, 
    	// The network is busy.
    	NETWORK_BUSY                                                       = 0x36, 
    	// The specified network resource or device is no longer available.
    	DEV_NOT_EXIST                                                      = 0x37, 
    	// The network BIOS command limit has been reached.
    	TOO_MANY_CMDS                                                      = 0x38, 
    	// A network adapter hardware error occurred.
    	ADAP_HDW_ERR                                                       = 0x39, 
    	// The specified server cannot perform the requested operation.
    	BAD_NET_RESP                                                       = 0x3A, 
    	// An unexpected network error occurred.
    	UNEXP_NET_ERR                                                      = 0x3B, 
    	// The remote adapter is not compatible.
    	BAD_REM_ADAP                                                       = 0x3C, 
    	// The printer queue is full.
    	PRINTQ_FULL                                                        = 0x3D, 
    	// Space to store the file waiting to be printed is not available on the server.
    	NO_SPOOL_SPACE                                                     = 0x3E, 
    	// Your file waiting to be printed was deleted.
    	PRINT_CANCELLED                                                    = 0x3F, 
    	// The specified network name is no longer available.
    	NETNAME_DELETED                                                    = 0x40, 
    	// Network access is denied.
    	NETWORK_ACCESS_DENIED                                              = 0x41, 
    	// The network resource type is not correct.
    	BAD_DEV_TYPE                                                       = 0x42, 
    	// The network name cannot be found.
    	BAD_NET_NAME                                                       = 0x43, 
    	// The name limit for the local computer network adapter card was exceeded.
    	TOO_MANY_NAMES                                                     = 0x44, 
    	// The network BIOS session limit was exceeded.
    	TOO_MANY_SESS                                                      = 0x45, 
    	// The remote server has been paused or is in the process of being started.
    	SHARING_PAUSED                                                     = 0x46, 
    	// No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept.
    	REQ_NOT_ACCEP                                                      = 0x47, 
    	// The specified printer or disk device has been paused.
    	REDIR_PAUSED                                                       = 0x48, 
    	// The file exists.
    	FILE_EXISTS                                                        = 0x50, 
    	// The directory or file cannot be created.
    	CANNOT_MAKE                                                        = 0x52, 
    	// Fail on INT 24.
    	FAIL_I24                                                           = 0x53, 
    	// Storage to process this request is not available.
    	OUT_OF_STRUCTURES                                                  = 0x54, 
    	// The local device name is already in use.
    	ALREADY_ASSIGNED                                                   = 0x55, 
    	// The specified network password is not correct.
    	INVALID_PASSWORD                                                   = 0x56, 
    	// The parameter is incorrect.
    	INVALID_PARAMETER                                                  = 0x57, 
    	// A write fault occurred on the network.
    	NET_WRITE_FAULT                                                    = 0x58, 
    	// The system cannot start another process at this time.
    	NO_PROC_SLOTS                                                      = 0x59, 
    	// Cannot create another system semaphore.
    	TOO_MANY_SEMAPHORES                                                = 0x64, 
    	// The exclusive semaphore is owned by another process.
    	EXCL_SEM_ALREADY_OWNED                                             = 0x65, 
    	// The semaphore is set and cannot be closed.
    	SEM_IS_SET                                                         = 0x66, 
    	// The semaphore cannot be set again.
    	TOO_MANY_SEM_REQUESTS                                              = 0x67, 
    	// Cannot request exclusive semaphores at interrupt time.
    	INVALID_AT_INTERRUPT_TIME                                          = 0x68, 
    	// The previous ownership of this semaphore has ended.
    	SEM_OWNER_DIED                                                     = 0x69, 
    	// Insert the diskette for drive %1.
    	SEM_USER_LIMIT                                                     = 0x6A, 
    	// The program stopped because an alternate diskette was not inserted.
    	DISK_CHANGE                                                        = 0x6B, 
    	// The disk is in use or locked by another process.
    	DRIVE_LOCKED                                                       = 0x6C, 
    	// The pipe has been ended.
    	BROKEN_PIPE                                                        = 0x6D, 
    	// The system cannot open the device or file specified.
    	OPEN_FAILED                                                        = 0x6E, 
    	// The file name is too long.
    	BUFFER_OVERFLOW                                                    = 0x6F, 
    	// There is not enough space on the disk.
    	DISK_FULL                                                          = 0x70, 
    	// No more internal file identifiers available.
    	NO_MORE_SEARCH_HANDLES                                             = 0x71, 
    	// The target internal file identifier is incorrect.
    	INVALID_TARGET_HANDLE                                              = 0x72, 
    	// The IOCTL call made by the application program is not correct.
    	INVALID_CATEGORY                                                   = 0x75, 
    	// The verify-on-write switch parameter value is not correct.
    	INVALID_VERIFY_SWITCH                                              = 0x76, 
    	// The system does not support the command requested.
    	BAD_DRIVER_LEVEL                                                   = 0x77, 
    	// This function is not supported on this system.
    	CALL_NOT_IMPLEMENTED                                               = 0x78, 
    	// The semaphore timeout period has expired.
    	SEM_TIMEOUT                                                        = 0x79, 
    	// The data area passed to a system call is too small.
    	INSUFFICIENT_BUFFER                                                = 0x7A, 
    	// The filename, directory name, or volume label syntax is incorrect.
    	INVALID_NAME                                                       = 0x7B, 
    	// The system call level is not correct.
    	INVALID_LEVEL                                                      = 0x7C, 
    	// The disk has no volume label.
    	NO_VOLUME_LABEL                                                    = 0x7D, 
    	// The specified module could not be found.
    	MOD_NOT_FOUND                                                      = 0x7E, 
    	// The specified procedure could not be found.
    	PROC_NOT_FOUND                                                     = 0x7F, 
    	// There are no child processes to wait for.
    	WAIT_NO_CHILDREN                                                   = 0x80, 
    	// The %1 application cannot be run in Win32 mode.
    	CHILD_NOT_COMPLETE                                                 = 0x81, 
    	// Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O.
    	DIRECT_ACCESS_HANDLE                                               = 0x82, 
    	// An attempt was made to move the file pointer before the beginning of the file.
    	NEGATIVE_SEEK                                                      = 0x83, 
    	// The file pointer cannot be set on the specified device or file.
    	SEEK_ON_DEVICE                                                     = 0x84, 
    	// A JOIN or SUBST command cannot be used for a drive that contains previously joined drives.
    	IS_JOIN_TARGET                                                     = 0x85, 
    	// An attempt was made to use a JOIN or SUBST command on a drive that has already been joined.
    	IS_JOINED                                                          = 0x86, 
    	// An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted.
    	IS_SUBSTED                                                         = 0x87, 
    	// The system tried to delete the JOIN of a drive that is not joined.
    	NOT_JOINED                                                         = 0x88, 
    	// The system tried to delete the substitution of a drive that is not substituted.
    	NOT_SUBSTED                                                        = 0x89, 
    	// The system tried to join a drive to a directory on a joined drive.
    	JOIN_TO_JOIN                                                       = 0x8A, 
    	// The system tried to substitute a drive to a directory on a substituted drive.
    	SUBST_TO_SUBST                                                     = 0x8B, 
    	// The system tried to join a drive to a directory on a substituted drive.
    	JOIN_TO_SUBST                                                      = 0x8C, 
    	// The system tried to SUBST a drive to a directory on a joined drive.
    	SUBST_TO_JOIN                                                      = 0x8D, 
    	// The system cannot perform a JOIN or SUBST at this time.
    	BUSY_DRIVE                                                         = 0x8E, 
    	// The system cannot join or substitute a drive to or for a directory on the same drive.
    	SAME_DRIVE                                                         = 0x8F, 
    	// The directory is not a subdirectory of the root directory.
    	DIR_NOT_ROOT                                                       = 0x90, 
    	// The directory is not empty.
    	DIR_NOT_EMPTY                                                      = 0x91, 
    	// The path specified is being used in a substitute.
    	IS_SUBST_PATH                                                      = 0x92, 
    	// Not enough resources are available to process this command.
    	IS_JOIN_PATH                                                       = 0x93, 
    	// The path specified cannot be used at this time.
    	PATH_BUSY                                                          = 0x94, 
    	// An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute.
    	IS_SUBST_TARGET                                                    = 0x95, 
    	// System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed.
    	SYSTEM_TRACE                                                       = 0x96, 
    	// The number of specified semaphore events for DosMuxSemWait is not correct.
    	INVALID_EVENT_COUNT                                                = 0x97, 
    	// DosMuxSemWait did not execute; too many semaphores are already set.
    	TOO_MANY_MUXWAITERS                                                = 0x98, 
    	// The DosMuxSemWait list is not correct.
    	INVALID_LIST_FORMAT                                                = 0x99, 
    	// The volume label you entered exceeds the label character limit of the target file system.
    	LABEL_TOO_LONG                                                     = 0x9A, 
    	// Cannot create another thread.
    	TOO_MANY_TCBS                                                      = 0x9B, 
    	// The recipient process has refused the signal.
    	SIGNAL_REFUSED                                                     = 0x9C, 
    	// The segment is already discarded and cannot be locked.
    	DISCARDED                                                          = 0x9D, 
    	// The segment is already unlocked.
    	NOT_LOCKED                                                         = 0x9E, 
    	// The address for the thread ID is not correct.
    	BAD_THREADID_ADDR                                                  = 0x9F, 
    	// One or more arguments are not correct.
    	BAD_ARGUMENTS                                                      = 0xA0, 
    	// The specified path is invalid.
    	BAD_PATHNAME                                                       = 0xA1, 
    	// A signal is already pending.
    	SIGNAL_PENDING                                                     = 0xA2, 
    	// No more threads can be created in the system.
    	MAX_THRDS_REACHED                                                  = 0xA4, 
    	// Unable to lock a region of a file.
    	LOCK_FAILED                                                        = 0xA7, 
    	// The requested resource is in use.
    	BUSY                                                               = 0xAA, 
    	// Device's command support detection is in progress.
    	DEVICE_SUPPORT_IN_PROGRESS                                         = 0xAB, 
    	// A lock request was not outstanding for the supplied cancel region.
    	CANCEL_VIOLATION                                                   = 0xAD, 
    	// The file system does not support atomic changes to the lock type.
    	ATOMIC_LOCKS_NOT_SUPPORTED                                         = 0xAE, 
    	// The system detected a segment number that was not correct.
    	INVALID_SEGMENT_NUMBER                                             = 0xB4, 
    	// The operating system cannot run %1.
    	INVALID_ORDINAL                                                    = 0xB6, 
    	// Cannot create a file when that file already exists.
    	ALREADY_EXISTS                                                     = 0xB7, 
    	// The flag passed is not correct.
    	INVALID_FLAG_NUMBER                                                = 0xBA, 
    	// The specified system semaphore name was not found.
    	SEM_NOT_FOUND                                                      = 0xBB, 
    	// The operating system cannot run %1.
    	INVALID_STARTING_CODESEG                                           = 0xBC, 
    	// The operating system cannot run %1.
    	INVALID_STACKSEG                                                   = 0xBD, 
    	// The operating system cannot run %1.
    	INVALID_MODULETYPE                                                 = 0xBE, 
    	// Cannot run %1 in Win32 mode.
    	INVALID_EXE_SIGNATURE                                              = 0xBF, 
    	// The operating system cannot run %1.
    	EXE_MARKED_INVALID                                                 = 0xC0, 
    	// %1 is not a valid Win32 application.
    	BAD_EXE_FORMAT                                                     = 0xC1, 
    	// The operating system cannot run %1.
    	ITERATED_DATA_EXCEEDS_64k                                          = 0xC2, 
    	// The operating system cannot run %1.
    	INVALID_MINALLOCSIZE                                               = 0xC3, 
    	// The operating system cannot run this application program.
    	DYNLINK_FROM_INVALID_RING                                          = 0xC4, 
    	// The operating system is not presently configured to run this application.
    	IOPL_NOT_ENABLED                                                   = 0xC5, 
    	// The operating system cannot run %1.
    	INVALID_SEGDPL                                                     = 0xC6, 
    	// The operating system cannot run this application program.
    	AUTODATASEG_EXCEEDS_64k                                            = 0xC7, 
    	// The code segment cannot be greater than or equal to 64K.
    	RING2SEG_MUST_BE_MOVABLE                                           = 0xC8, 
    	// The operating system cannot run %1.
    	RELOC_CHAIN_XEEDS_SEGLIM                                           = 0xC9, 
    	// The operating system cannot run %1.
    	INFLOOP_IN_RELOC_CHAIN                                             = 0xCA, 
    	// The system could not find the environment option that was entered.
    	ENVVAR_NOT_FOUND                                                   = 0xCB, 
    	// No process in the command subtree has a signal handler.
    	NO_SIGNAL_SENT                                                     = 0xCD, 
    	// The filename or extension is too long.
    	FILENAME_EXCED_RANGE                                               = 0xCE, 
    	// The ring 2 stack is in use.
    	RING2_STACK_IN_USE                                                 = 0xCF, 
    	// The global filename characters, * or ?, are entered incorrectly or too many global filename characters are specified.
    	META_EXPANSION_TOO_LONG                                            = 0xD0, 
    	// The signal being posted is not correct.
    	INVALID_SIGNAL_NUMBER                                              = 0xD1, 
    	// The signal handler cannot be set.
    	THREAD_1_INACTIVE                                                  = 0xD2, 
    	// The segment is locked and cannot be reallocated.
    	LOCKED                                                             = 0xD4, 
    	// Too many dynamic-link modules are attached to this program or dynamic-link module.
    	TOO_MANY_MODULES                                                   = 0xD6, 
    	// Cannot nest calls to LoadModule.
    	NESTING_NOT_ALLOWED                                                = 0xD7, 
    	// This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.
    	EXE_MACHINE_TYPE_MISMATCH                                          = 0xD8, 
    	// The image file %1 is signed, unable to modify.
    	EXE_CANNOT_MODIFY_SIGNED_BINARY                                    = 0xD9, 
    	// The image file %1 is strong signed, unable to modify.
    	EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY                             = 0xDA, 
    	// This file is checked out or locked for editing by another user.
    	FILE_CHECKED_OUT                                                   = 0xDC, 
    	// The file must be checked out before saving changes.
    	CHECKOUT_REQUIRED                                                  = 0xDD, 
    	// The file type being saved or retrieved has been blocked.
    	BAD_FILE_TYPE                                                      = 0xDE, 
    	// The file size exceeds the limit allowed and cannot be saved.
    	FILE_TOO_LARGE                                                     = 0xDF, 
    	// Access Denied. Before opening files in this location, you must first add the web site to your trusted sites list, browse to the web site, and select the option to login automatically.
    	FORMS_AUTH_REQUIRED                                                = 0xE0, 
    	// Operation did not complete successfully because the file contains a virus or potentially unwanted software.
    	VIRUS_INFECTED                                                     = 0xE1, 
    	// This file contains a virus or potentially unwanted software and cannot be opened. Due to the nature of this virus or potentially unwanted software, the file has been removed from this location.
    	VIRUS_DELETED                                                      = 0xE2, 
    	// The pipe is local.
    	PIPE_LOCAL                                                         = 0xE5, 
    	// The pipe state is invalid.
    	BAD_PIPE                                                           = 0xE6, 
    	// All pipe instances are busy.
    	PIPE_BUSY                                                          = 0xE7, 
    	// The pipe is being closed.
    	NO_DATA                                                            = 0xE8, 
    	// No process is on the other end of the pipe.
    	PIPE_NOT_CONNECTED                                                 = 0xE9, 
    	// More data is available.
    	MORE_DATA                                                          = 0xEA, 
    	// The session was canceled.
    	VC_DISCONNECTED                                                    = 0xF0, 
    	// The specified extended attribute name was invalid.
    	INVALID_EA_NAME                                                    = 0xFE, 
    	// The extended attributes are inconsistent.
    	EA_LIST_INCONSISTENT                                               = 0xFF, 
    	// The wait operation timed out.
    	WAIT_TIMEOUT                                                       = 0x102, 
    	// No more data is available.
    	NO_MORE_ITEMS                                                      = 0x103, 
    	// The copy functions cannot be used.
    	CANNOT_COPY                                                        = 0x10A, 
    	// The directory name is invalid.
    	DIRECTORY                                                          = 0x10B, 
    	// The extended attributes did not fit in the buffer.
    	EAS_DIDNT_FIT                                                      = 0x113, 
    	// The extended attribute file on the mounted file system is corrupt.
    	EA_FILE_CORRUPT                                                    = 0x114, 
    	// The extended attribute table file is full.
    	EA_TABLE_FULL                                                      = 0x115, 
    	// The specified extended attribute handle is invalid.
    	INVALID_EA_HANDLE                                                  = 0x116, 
    	// The mounted file system does not support extended attributes.
    	EAS_NOT_SUPPORTED                                                  = 0x11A, 
    	// Attempt to release mutex not owned by caller.
    	NOT_OWNER                                                          = 0x120, 
    	// Too many posts were made to a semaphore.
    	TOO_MANY_POSTS                                                     = 0x12A, 
    	// Only part of a ReadProcessMemory or WriteProcessMemory request was completed.
    	PARTIAL_COPY                                                       = 0x12B, 
    	// The oplock request is denied.
    	OPLOCK_NOT_GRANTED                                                 = 0x12C, 
    	// An invalid oplock acknowledgment was received by the system.
    	INVALID_OPLOCK_PROTOCOL                                            = 0x12D, 
    	// The volume is too fragmented to complete this operation.
    	DISK_TOO_FRAGMENTED                                                = 0x12E, 
    	// The file cannot be opened because it is in the process of being deleted.
    	DELETE_PENDING                                                     = 0x12F, 
    	// Short name settings may not be changed on this volume due to the global registry setting.
    	INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING               = 0x130, 
    	// Short names are not enabled on this volume.
    	SHORT_NAMES_NOT_ENABLED_ON_VOLUME                                  = 0x131, 
    	// The security stream for the given volume is in an inconsistent state. Please run CHKDSK on the volume.
    	SECURITY_STREAM_IS_INCONSISTENT                                    = 0x132, 
    	// A requested file lock operation cannot be processed due to an invalid byte range.
    	INVALID_LOCK_RANGE                                                 = 0x133, 
    	// The subsystem needed to support the image type is not present.
    	IMAGE_SUBSYSTEM_NOT_PRESENT                                        = 0x134, 
    	// The specified file already has a notification GUID associated with it.
    	NOTIFICATION_GUID_ALREADY_DEFINED                                  = 0x135, 
    	// An invalid exception handler routine has been detected.
    	INVALID_EXCEPTION_HANDLER                                          = 0x136, 
    	// Duplicate privileges were specified for the token.
    	DUPLICATE_PRIVILEGES                                               = 0x137, 
    	// No ranges for the specified operation were able to be processed.
    	NO_RANGES_PROCESSED                                                = 0x138, 
    	// Operation is not allowed on a file system internal file.
    	NOT_ALLOWED_ON_SYSTEM_FILE                                         = 0x139, 
    	// The physical resources of this disk have been exhausted.
    	DISK_RESOURCES_EXHAUSTED                                           = 0x13A, 
    	// The token representing the data is invalid.
    	INVALID_TOKEN                                                      = 0x13B, 
    	// The device does not support the command feature.
    	DEVICE_FEATURE_NOT_SUPPORTED                                       = 0x13C, 
    	// The system cannot find message text for message number 0x%1 in the message file for %2.
    	MR_MID_NOT_FOUND                                                   = 0x13D, 
    	// The scope specified was not found.
    	SCOPE_NOT_FOUND                                                    = 0x13E, 
    	// The Central Access Policy specified is not defined on the target machine.
    	UNDEFINED_SCOPE                                                    = 0x13F, 
    	// The Central Access Policy obtained from Active Directory is invalid.
    	INVALID_CAP                                                        = 0x140, 
    	// The device is unreachable.
    	DEVICE_UNREACHABLE                                                 = 0x141, 
    	// The target device has insufficient resources to complete the operation.
    	DEVICE_NO_RESOURCES                                                = 0x142, 
    	// A data integrity checksum error occurred. Data in the file stream is corrupt.
    	DATA_CHECKSUM_ERROR                                                = 0x143, 
    	// An attempt was made to modify both a KERNEL and normal Extended Attribute EA in the same operation.
    	INTERMIXED_KERNEL_EA_OPERATION                                     = 0x144, 
    	// Device does not support file-level TRIM.
    	FILE_LEVEL_TRIM_NOT_SUPPORTED                                      = 0x146, 
    	// The command specified a data offset that does not align to the device's granularity/alignment.
    	OFFSET_ALIGNMENT_VIOLATION                                         = 0x147, 
    	// The command specified an invalid field in its parameter list.
    	INVALID_FIELD_IN_PARAMETER_LIST                                    = 0x148, 
    	// An operation is currently in progress with the device.
    	OPERATION_IN_PROGRESS                                              = 0x149, 
    	// An attempt was made to send down the command via an invalid path to the target device.
    	BAD_DEVICE_PATH                                                    = 0x14A, 
    	// The command specified a number of descriptors that exceeded the maximum supported by the device.
    	TOO_MANY_DESCRIPTORS                                               = 0x14B, 
    	// Scrub is disabled on the specified file.
    	SCRUB_DATA_DISABLED                                                = 0x14C, 
    	// The storage device does not provide redundancy.
    	NOT_REDUNDANT_STORAGE                                              = 0x14D, 
    	// An operation is not supported on a resident file.
    	RESIDENT_FILE_NOT_SUPPORTED                                        = 0x14E, 
    	// An operation is not supported on a compressed file.
    	COMPRESSED_FILE_NOT_SUPPORTED                                      = 0x14F, 
    	// An operation is not supported on a directory.
    	DIRECTORY_NOT_SUPPORTED                                            = 0x150, 
    	// The specified copy of the requested data could not be read.
    	NOT_READ_FROM_COPY                                                 = 0x151, 
    	// No action was taken as a system reboot is required.
    	FAIL_NOACTION_REBOOT                                               = 0x15E, 
    	// The shutdown operation failed.
    	FAIL_SHUTDOWN                                                      = 0x15F, 
    	// The restart operation failed.
    	FAIL_RESTART                                                       = 0x160, 
    	// The maximum number of sessions has been reached.
    	MAX_SESSIONS_REACHED                                               = 0x161, 
    	// The thread is already in background processing mode.
    	THREAD_MODE_ALREADY_BACKGROUND                                     = 0x190, 
    	// The thread is not in background processing mode.
    	THREAD_MODE_NOT_BACKGROUND                                         = 0x191, 
    	// The process is already in background processing mode.
    	PROCESS_MODE_ALREADY_BACKGROUND                                    = 0x192, 
    	// The process is not in background processing mode.
    	PROCESS_MODE_NOT_BACKGROUND                                        = 0x193, 
    	// Attempt to access invalid address.
    	INVALID_ADDRESS                                                    = 0x1E7, 
    	// User profile cannot be loaded.
    	USER_PROFILE_LOAD                                                  = 0x1F4, 
    	// Arithmetic result exceeded 32 bits.
    	ARITHMETIC_OVERFLOW                                                = 0x216, 
    	// There is a process on other end of the pipe.
    	PIPE_CONNECTED                                                     = 0x217, 
    	// Waiting for a process to open the other end of the pipe.
    	PIPE_LISTENING                                                     = 0x218, 
    	// Application verifier has found an error in the current process.
    	VERIFIER_STOP                                                      = 0x219, 
    	// An error occurred in the ABIOS subsystem.
    	ABIOS_ERROR                                                        = 0x21A, 
    	// A warning occurred in the WX86 subsystem.
    	WX86_WARNING                                                       = 0x21B, 
    	// An error occurred in the WX86 subsystem.
    	WX86_ERROR                                                         = 0x21C, 
    	// An attempt was made to cancel or set a timer that has an associated APC and the subject thread is not the thread that originally set the timer with an associated APC routine.
    	TIMER_NOT_CANCELED                                                 = 0x21D, 
    	// Unwind exception code.
    	UNWIND                                                             = 0x21E, 
    	// An invalid or unaligned stack was encountered during an unwind operation.
    	BAD_STACK                                                          = 0x21F, 
    	// An invalid unwind target was encountered during an unwind operation.
    	INVALID_UNWIND_TARGET                                              = 0x220, 
    	// Invalid Object Attributes specified to NtCreatePort or invalid Port Attributes specified to NtConnectPort
    	INVALID_PORT_ATTRIBUTES                                            = 0x221, 
    	// Length of message passed to NtRequestPort or NtRequestWaitReplyPort was longer than the maximum message allowed by the port.
    	PORT_MESSAGE_TOO_LONG                                              = 0x222, 
    	// An attempt was made to lower a quota limit below the current usage.
    	INVALID_QUOTA_LOWER                                                = 0x223, 
    	// An attempt was made to attach to a device that was already attached to another device.
    	DEVICE_ALREADY_ATTACHED                                            = 0x224, 
    	// An attempt was made to execute an instruction at an unaligned address and the host system does not support unaligned instruction references.
    	INSTRUCTION_MISALIGNMENT                                           = 0x225, 
    	// Profiling not started.
    	PROFILING_NOT_STARTED                                              = 0x226, 
    	// Profiling not stopped.
    	PROFILING_NOT_STOPPED                                              = 0x227, 
    	// The passed ACL did not contain the minimum required information.
    	COULD_NOT_INTERPRET                                                = 0x228, 
    	// The number of active profiling objects is at the maximum and no more may be started.
    	PROFILING_AT_LIMIT                                                 = 0x229, 
    	// Used to indicate that an operation cannot continue without blocking for I/O.
    	CANT_WAIT                                                          = 0x22A, 
    	// Indicates that a thread attempted to terminate itself by default (called NtTerminateThread with NULL) and it was the last thread in the current process.
    	CANT_TERMINATE_SELF                                                = 0x22B, 
    	// If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. In this case information is lost, however, the filter correctly handles the exception.
    	UNEXPECTED_MM_CREATE_ERR                                           = 0x22C, 
    	// If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. In this case information is lost, however, the filter correctly handles the exception.
    	UNEXPECTED_MM_MAP_ERROR                                            = 0x22D, 
    	// If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. In this case information is lost, however, the filter correctly handles the exception.
    	UNEXPECTED_MM_EXTEND_ERR                                           = 0x22E, 
    	// A malformed function table was encountered during an unwind operation.
    	BAD_FUNCTION_TABLE                                                 = 0x22F, 
    	// Indicates that an attempt was made to assign protection to a file system file or directory and one of the SIDs in the security descriptor could not be translated into a GUID that could be stored by the file system. This causes the protection attempt to fail, which may cause a file creation attempt to fail.
    	NO_GUID_TRANSLATION                                                = 0x230, 
    	// Indicates that an attempt was made to grow an LDT by setting its size, or that the size was not an even number of selectors.
    	INVALID_LDT_SIZE                                                   = 0x231, 
    	// Indicates that the starting value for the LDT information was not an integral multiple of the selector size.
    	INVALID_LDT_OFFSET                                                 = 0x233, 
    	// Indicates that the user supplied an invalid descriptor when trying to set up Ldt descriptors.
    	INVALID_LDT_DESCRIPTOR                                             = 0x234, 
    	// Indicates a process has too many threads to perform the requested action. For example, assignment of a primary token may only be performed when a process has zero or one threads.
    	TOO_MANY_THREADS                                                   = 0x235, 
    	// An attempt was made to operate on a thread within a specific process, but the thread specified is not in the process specified.
    	THREAD_NOT_IN_PROCESS                                              = 0x236, 
    	// Page file quota was exceeded.
    	PAGEFILE_QUOTA_EXCEEDED                                            = 0x237, 
    	// The Netlogon service cannot start because another Netlogon service running in the domain conflicts with the specified role.
    	LOGON_SERVER_CONFLICT                                              = 0x238, 
    	// The SAM database on a Windows Server is significantly out of synchronization with the copy on the Domain Controller. A complete synchronization is required.
    	SYNCHRONIZATION_REQUIRED                                           = 0x239, 
    	// The NtCreateFile API failed. This error should never be returned to an application, it is a place holder for the Windows Lan Manager Redirector to use in its internal error mapping routines.
    	NET_OPEN_FAILED                                                    = 0x23A, 
    	// {Privilege Failed} The I/O permissions for the process could not be changed.
    	IO_PRIVILEGE_FAILED                                                = 0x23B, 
    	// {Application Exit by CTRL+C} The application terminated as a result of a CTRL+C.
    	CONTROL_C_EXIT                                                     = 0x23C, 
    	// {Missing System File} The required system file %hs is bad or missing.
    	MISSING_SYSTEMFILE                                                 = 0x23D, 
    	// {Application Error} The exception %s (0x%08lx) occurred in the application at location 0x%08lx.
    	UNHANDLED_EXCEPTION                                                = 0x23E, 
    	// {Application Error} The application was unable to start correctly (0x%lx). Click OK to close the application.
    	APP_INIT_FAILURE                                                   = 0x23F, 
    	// {Unable to Create Paging File} The creation of the paging file %hs failed (%lx). The requested size was %ld.
    	PAGEFILE_CREATE_FAILED                                             = 0x240, 
    	// Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source.
    	INVALID_IMAGE_HASH                                                 = 0x241, 
    	// {No Paging File Specified} No paging file was specified in the system configuration.
    	NO_PAGEFILE                                                        = 0x242, 
    	// {EXCEPTION} A real-mode application issued a floating-point instruction and floating-point hardware is not present.
    	ILLEGAL_FLOAT_CONTEXT                                              = 0x243, 
    	// An event pair synchronization operation was performed using the thread specific client/server event pair object, but no event pair object was associated with the thread.
    	NO_EVENT_PAIR                                                      = 0x244, 
    	// A Windows Server has an incorrect configuration.
    	DOMAIN_CTRLR_CONFIG_ERROR                                          = 0x245, 
    	// An illegal character was encountered. For a multi-byte character set this includes a lead byte without a succeeding trail byte. For the Unicode character set this includes the characters 0xFFFF and 0xFFFE.
    	ILLEGAL_CHARACTER                                                  = 0x246, 
    	// The Unicode character is not defined in the Unicode character set installed on the system.
    	UNDEFINED_CHARACTER                                                = 0x247, 
    	// The paging file cannot be created on a floppy diskette.
    	FLOPPY_VOLUME                                                      = 0x248, 
    	// The system BIOS failed to connect a system interrupt to the device or bus for which the device is connected.
    	BIOS_FAILED_TO_CONNECT_INTERRUPT                                   = 0x249, 
    	// This operation is only allowed for the Primary Domain Controller of the domain.
    	BACKUP_CONTROLLER                                                  = 0x24A, 
    	// An attempt was made to acquire a mutant such that its maximum count would have been exceeded.
    	MUTANT_LIMIT_EXCEEDED                                              = 0x24B, 
    	// A volume has been accessed for which a file system driver is required that has not yet been loaded.
    	FS_DRIVER_REQUIRED                                                 = 0x24C, 
    	// {Registry File Failure} The registry cannot load the hive (file): %hs or its log or alternate. It is corrupt, absent, or not writable.
    	CANNOT_LOAD_REGISTRY_FILE                                          = 0x24D, 
    	// {Unexpected Failure in DebugActiveProcess} An unexpected failure occurred while processing a DebugActiveProcess API request. You may choose OK to terminate the process, or Cancel to ignore the error.
    	DEBUG_ATTACH_FAILED                                                = 0x24E, 
    	// {Fatal System Error} The %hs system process terminated unexpectedly with a status of 0x%08x (0x%08x 0x%08x). The system has been shut down.
    	SYSTEM_PROCESS_TERMINATED                                          = 0x24F, 
    	// {Data Not Accepted} The TDI client could not handle the data received during an indication.
    	DATA_NOT_ACCEPTED                                                  = 0x250, 
    	// NTVDM encountered a hard error.
    	VDM_HARD_ERROR                                                     = 0x251, 
    	// {Cancel Timeout} The driver %hs failed to complete a cancelled I/O request in the allotted time.
    	DRIVER_CANCEL_TIMEOUT                                              = 0x252, 
    	// {Reply Message Mismatch} An attempt was made to reply to an LPC message, but the thread specified by the client ID in the message was not waiting on that message.
    	REPLY_MESSAGE_MISMATCH                                             = 0x253, 
    	// {Delayed Write Failed} Windows was unable to save all the data for the file %hs. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere.
    	LOST_WRITEBEHIND_DATA                                              = 0x254, 
    	// The parameter(s) passed to the server in the client/server shared memory window were invalid. Too much data may have been put in the shared memory window.
    	CLIENT_SERVER_PARAMETERS_INVALID                                   = 0x255, 
    	// The stream is not a tiny stream.
    	NOT_TINY_STREAM                                                    = 0x256, 
    	// The request must be handled by the stack overflow code.
    	STACK_OVERFLOW_READ                                                = 0x257, 
    	// Internal OFS status codes indicating how an allocation operation is handled. Either it is retried after the containing onode is moved or the extent stream is converted to a large stream.
    	CONVERT_TO_LARGE                                                   = 0x258, 
    	// The attempt to find the object found an object matching by ID on the volume but it is out of the scope of the handle used for the operation.
    	FOUND_OUT_OF_SCOPE                                                 = 0x259, 
    	// The bucket array must be grown. Retry transaction after doing so.
    	ALLOCATE_BUCKET                                                    = 0x25A, 
    	// The user/kernel marshalling buffer has overflowed.
    	MARSHALL_OVERFLOW                                                  = 0x25B, 
    	// The supplied variant structure contains invalid data.
    	INVALID_VARIANT                                                    = 0x25C, 
    	// The specified buffer contains ill-formed data.
    	BAD_COMPRESSION_BUFFER                                             = 0x25D, 
    	// {Audit Failed} An attempt to generate a security audit failed.
    	AUDIT_FAILED                                                       = 0x25E, 
    	// The timer resolution was not previously set by the current process.
    	TIMER_RESOLUTION_NOT_SET                                           = 0x25F, 
    	// There is insufficient account information to log you on.
    	INSUFFICIENT_LOGON_INFO                                            = 0x260, 
    	// {Invalid DLL Entrypoint} The dynamic link library %hs is not written correctly. The stack pointer has been left in an inconsistent state. The entrypoint should be declared as WINAPI or STDCALL. Select YES to fail the DLL load. Select NO to continue execution. Selecting NO may cause the application to operate incorrectly.
    	BAD_DLL_ENTRYPOINT                                                 = 0x261, 
    	// {Invalid Service Callback Entrypoint} The %hs service is not written correctly. The stack pointer has been left in an inconsistent state. The callback entrypoint should be declared as WINAPI or STDCALL. Selecting OK will cause the service to continue operation. However, the service process may operate incorrectly.
    	BAD_SERVICE_ENTRYPOINT                                             = 0x262, 
    	// There is an IP address conflict with another system on the network.
    	IP_ADDRESS_CONFLICT1                                               = 0x263, 
    	// There is an IP address conflict with another system on the network.
    	IP_ADDRESS_CONFLICT2                                               = 0x264, 
    	// {Low On Registry Space} The system has reached the maximum size allowed for the system part of the registry. Additional storage requests will be ignored.
    	REGISTRY_QUOTA_LIMIT                                               = 0x265, 
    	// A callback return system service cannot be executed when no callback is active.
    	NO_CALLBACK_ACTIVE                                                 = 0x266, 
    	// The password provided is too short to meet the policy of your user account. Please choose a longer password.
    	PWD_TOO_SHORT                                                      = 0x267, 
    	// The policy of your user account does not allow you to change passwords too frequently. This is done to prevent users from changing back to a familiar, but potentially discovered, password. If you feel your password has been compromised then please contact your administrator immediately to have a new one assigned.
    	PWD_TOO_RECENT                                                     = 0x268, 
    	// You have attempted to change your password to one that you have used in the past. The policy of your user account does not allow this. Please select a password that you have not previously used.
    	PWD_HISTORY_CONFLICT                                               = 0x269, 
    	// The specified compression format is unsupported.
    	UNSUPPORTED_COMPRESSION                                            = 0x26A, 
    	// The specified hardware profile configuration is invalid.
    	INVALID_HW_PROFILE                                                 = 0x26B, 
    	// The specified Plug and Play registry device path is invalid.
    	INVALID_PLUGPLAY_DEVICE_PATH                                       = 0x26C, 
    	// The specified quota list is internally inconsistent with its descriptor.
    	QUOTA_LIST_INCONSISTENT                                            = 0x26D, 
    	// {Windows Evaluation Notification} The evaluation period for this installation of Windows has expired. This system will shutdown in 1 hour. To restore access to this installation of Windows, please upgrade this installation using a licensed distribution of this product.
    	EVALUATION_EXPIRATION                                              = 0x26E, 
    	// {Illegal System DLL Relocation} The system DLL %hs was relocated in memory. The application will not run properly. The relocation occurred because the DLL %hs occupied an address range reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL.
    	ILLEGAL_DLL_RELOCATION                                             = 0x26F, 
    	// {DLL Initialization Failed} The application failed to initialize because the window station is shutting down.
    	DLL_INIT_FAILED_LOGOFF                                             = 0x270, 
    	// The validation process needs to continue on to the next step.
    	VALIDATE_CONTINUE                                                  = 0x271, 
    	// There are no more matches for the current index enumeration.
    	NO_MORE_MATCHES                                                    = 0x272, 
    	// The range could not be added to the range list because of a conflict.
    	RANGE_LIST_CONFLICT                                                = 0x273, 
    	// The server process is running under a SID different than that required by client.
    	SERVER_SID_MISMATCH                                                = 0x274, 
    	// A group marked use for deny only cannot be enabled.
    	CANT_ENABLE_DENY_ONLY                                              = 0x275, 
    	// {EXCEPTION} Multiple floating point faults.
    	FLOAT_MULTIPLE_FAULTS                                              = 0x276, 
    	// {EXCEPTION} Multiple floating point traps.
    	FLOAT_MULTIPLE_TRAPS                                               = 0x277, 
    	// The requested interface is not supported.
    	NOINTERFACE                                                        = 0x278, 
    	// {System Standby Failed} The driver %hs does not support standby mode. Updating this driver may allow the system to go to standby mode.
    	DRIVER_FAILED_SLEEP                                                = 0x279, 
    	// The system file %1 has become corrupt and has been replaced.
    	CORRUPT_SYSTEM_FILE                                                = 0x27A, 
    	// {Virtual Memory Minimum Too Low} Your system is low on virtual memory. Windows is increasing the size of your virtual memory paging file. During this process, memory requests for some applications may be denied. For more information, see Help.
    	COMMITMENT_MINIMUM                                                 = 0x27B, 
    	// A device was removed so enumeration must be restarted.
    	PNP_RESTART_ENUMERATION                                            = 0x27C, 
    	// {Fatal System Error} The system image %s is not properly signed. The file has been replaced with the signed file. The system has been shut down.
    	SYSTEM_IMAGE_BAD_SIGNATURE                                         = 0x27D, 
    	// Device will not start without a reboot.
    	PNP_REBOOT_REQUIRED                                                = 0x27E, 
    	// There is not enough power to complete the requested operation.
    	INSUFFICIENT_POWER                                                 = 0x27F, 
    	// MULTIPLE_FAULT_VIOLATION = , = 0x281,
    	MULTIPLE_FAULT_VIOLATION                                           = 0x280,  // The system is in the process of shutting down.
    	// An attempt to remove a processes DebugPort was made, but a port was not already associated with the process.
    	PORT_NOT_SET                                                       = 0x282, 
    	// This version of Windows is not compatible with the behavior version of directory forest, domain or domain controller.
    	DS_VERSION_CHECK_FAILURE                                           = 0x283, 
    	// The specified range could not be found in the range list.
    	RANGE_NOT_FOUND                                                    = 0x284, 
    	// The driver was not loaded because the system is booting into safe mode.
    	NOT_SAFE_MODE_DRIVER                                               = 0x286, 
    	// The driver was not loaded because it failed its initialization call.
    	FAILED_DRIVER_ENTRY                                                = 0x287, 
    	// The "%hs" encountered an error while applying power or reading the device configuration. This may be caused by a failure of your hardware or by a poor connection.
    	DEVICE_ENUMERATION_ERROR                                           = 0x288, 
    	// The create operation failed because the name contained at least one mount point which resolves to a volume to which the specified device object is not attached.
    	MOUNT_POINT_NOT_RESOLVED                                           = 0x289, 
    	// The device object parameter is either not a valid device object or is not attached to the volume specified by the file name.
    	INVALID_DEVICE_OBJECT_PARAMETER                                    = 0x28A, 
    	// A Machine Check Error has occurred. Please check the system eventlog for additional information.
    	MCA_OCCURED                                                        = 0x28B, 
    	// There was error [%2] processing the driver database.
    	DRIVER_DATABASE_ERROR                                              = 0x28C, 
    	// System hive size has exceeded its limit.
    	SYSTEM_HIVE_TOO_LARGE                                              = 0x28D, 
    	// The driver could not be loaded because a previous version of the driver is still in memory.
    	DRIVER_FAILED_PRIOR_UNLOAD                                         = 0x28E, 
    	// {Volume Shadow Copy Service} Please wait while the Volume Shadow Copy Service prepares volume %hs for hibernation.
    	VOLSNAP_PREPARE_HIBERNATE                                          = 0x28F, 
    	// The system has failed to hibernate (The error code is %hs). Hibernation will be disabled until the system is restarted.
    	HIBERNATION_FAILURE                                                = 0x290, 
    	// The password provided is too long to meet the policy of your user account. Please choose a shorter password.
    	PWD_TOO_LONG                                                       = 0x291, 
    	// The requested operation could not be completed due to a file system limitation.
    	FILE_SYSTEM_LIMITATION                                             = 0x299, 
    	// An assertion failure has occurred.
    	ASSERTION_FAILURE                                                  = 0x29C, 
    	// An error occurred in the ACPI subsystem.
    	ACPI_ERROR                                                         = 0x29D, 
    	// WOW Assertion Error.
    	WOW_ASSERTION                                                      = 0x29E, 
    	// A device is missing in the system BIOS MPS table. This device will not be used. Please contact your system vendor for system BIOS update.
    	PNP_BAD_MPS_TABLE                                                  = 0x29F, 
    	// A translator failed to translate resources.
    	PNP_TRANSLATION_FAILED                                             = 0x2A0, 
    	// A IRQ translator failed to translate resources.
    	PNP_IRQ_TRANSLATION_FAILED                                         = 0x2A1, 
    	// Driver %2 returned invalid ID for a child device (%3).
    	PNP_INVALID_ID                                                     = 0x2A2, 
    	// {Kernel Debugger Awakened} the system debugger was awakened by an interrupt.
    	WAKE_SYSTEM_DEBUGGER                                               = 0x2A3, 
    	// {Handles Closed} Handles to objects have been automatically closed as a result of the requested operation.
    	HANDLES_CLOSED                                                     = 0x2A4, 
    	// {Too Much Information} The specified access control list (ACL) contained more information than was expected.
    	EXTRANEOUS_INFORMATION                                             = 0x2A5, 
    	// This warning level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted. The commit has NOT been completed, but has not been rolled back either (so it may still be committed if desired).
    	RXACT_COMMIT_NECESSARY                                             = 0x2A6, 
    	// {Media Changed} The media may have changed.
    	MEDIA_CHECK                                                        = 0x2A7, 
    	// {GUID Substitution} During the translation of a global identifier (GUID) to a Windows security ID SID, no administratively-defined GUID prefix was found. A substitute prefix was used, which will not compromise system security. However, this may provide a more restrictive access than intended.
    	GUID_SUBSTITUTION_MADE                                             = 0x2A8, 
    	// The create operation stopped after reaching a symbolic link.
    	STOPPED_ON_SYMLINK                                                 = 0x2A9, 
    	// A long jump has been executed.
    	LONGJUMP                                                           = 0x2AA, 
    	// The Plug and Play query operation was not successful.
    	PLUGPLAY_QUERY_VETOED                                              = 0x2AB, 
    	// A frame consolidation has been executed.
    	UNWIND_CONSOLIDATE                                                 = 0x2AC, 
    	// {Registry Hive Recovered} Registry hive (file): %hs was corrupted and it has been recovered. Some data might have been lost.
    	REGISTRY_HIVE_RECOVERED                                            = 0x2AD, 
    	// The application is attempting to run executable code from the module %hs. This may be insecure. An alternative, %hs, is available. Should the application use the secure module %hs?
    	DLL_MIGHT_BE_INSECURE                                              = 0x2AE, 
    	// The application is loading executable code from the module %hs. This is secure, but may be incompatible with previous releases of the operating system. An alternative, %hs, is available. Should the application use the secure module %hs?
    	DLL_MIGHT_BE_INCOMPATIBLE                                          = 0x2AF, 
    	// Debugger did not handle the exception.
    	DBG_EXCEPTION_NOT_HANDLED                                          = 0x2B0, 
    	// Debugger will reply later.
    	DBG_REPLY_LATER                                                    = 0x2B1, 
    	// Debugger cannot provide handle.
    	DBG_UNABLE_TO_PROVIDE_HANDLE                                       = 0x2B2, 
    	// Debugger terminated thread.
    	DBG_TERMINATE_THREAD                                               = 0x2B3, 
    	// Debugger terminated process.
    	DBG_TERMINATE_PROCESS                                              = 0x2B4, 
    	// Debugger got control C.
    	DBG_CONTROL_C                                                      = 0x2B5, 
    	// Debugger printed exception on control C.
    	DBG_PRINTEXCEPTION_C                                               = 0x2B6, 
    	// Debugger received RIP exception.
    	DBG_RIPEXCEPTION                                                   = 0x2B7, 
    	// Debugger received control break.
    	DBG_CONTROL_BREAK                                                  = 0x2B8, 
    	// Debugger command communication exception.
    	DBG_COMMAND_EXCEPTION                                              = 0x2B9, 
    	// {Object Exists} An attempt was made to create an object and the object name already existed.
    	OBJECT_NAME_EXISTS                                                 = 0x2BA, 
    	// {Thread Suspended} A thread termination occurred while the thread was suspended. The thread was resumed, and termination proceeded.
    	THREAD_WAS_SUSPENDED                                               = 0x2BB, 
    	// {Image Relocated} An image file could not be mapped at the address specified in the image file. Local fixups must be performed on this image.
    	IMAGE_NOT_AT_BASE                                                  = 0x2BC, 
    	// This informational level status indicates that a specified registry sub-tree transaction state did not yet exist and had to be created.
    	RXACT_STATE_CREATED                                                = 0x2BD, 
    	// {Segment Load} A virtual DOS machine (VDM) is loading, unloading, or moving an MS-DOS or Win16 program segment image. An exception is raised so a debugger can load, unload or track symbols and breakpoints within these 16-bit segments.
    	SEGMENT_NOTIFICATION                                               = 0x2BE, 
    	// {Invalid Current Directory} The process cannot switch to the startup current directory %hs. Select OK to set current directory to %hs, or select CANCEL to exit.
    	BAD_CURRENT_DIRECTORY                                              = 0x2BF, 
    	// {Redundant Read} To satisfy a read request, the NT fault-tolerant file system successfully read the requested data from a redundant copy. This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was unable to reassign the failing area of the device.
    	FT_READ_RECOVERY_FROM_BACKUP                                       = 0x2C0, 
    	// {Redundant Write} To satisfy a write request, the NT fault-tolerant file system successfully wrote a redundant copy of the information. This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was not able to reassign the failing area of the device.
    	FT_WRITE_RECOVERY                                                  = 0x2C1, 
    	// {Machine Type Mismatch} The image file %hs is valid, but is for a machine type other than the current machine. Select OK to continue, or CANCEL to fail the DLL load.
    	IMAGE_MACHINE_TYPE_MISMATCH                                        = 0x2C2, 
    	// {Partial Data Received} The network transport returned partial data to its client. The remaining data will be sent later.
    	RECEIVE_PARTIAL                                                    = 0x2C3, 
    	// {Expedited Data Received} The network transport returned data to its client that was marked as expedited by the remote system.
    	RECEIVE_EXPEDITED                                                  = 0x2C4, 
    	// {Partial Expedited Data Received} The network transport returned partial data to its client and this data was marked as expedited by the remote system. The remaining data will be sent later.
    	RECEIVE_PARTIAL_EXPEDITED                                          = 0x2C5, 
    	// {TDI Event Done} The TDI indication has completed successfully.
    	EVENT_DONE                                                         = 0x2C6, 
    	// {TDI Event Pending} The TDI indication has entered the pending state.
    	EVENT_PENDING                                                      = 0x2C7, 
    	// Checking file system on %wZ.
    	CHECKING_FILE_SYSTEM                                               = 0x2C8, 
    	// {Fatal Application Exit} %hs.
    	FATAL_APP_EXIT                                                     = 0x2C9, 
    	// The specified registry key is referenced by a predefined handle.
    	PREDEFINED_HANDLE                                                  = 0x2CA, 
    	// {Page Unlocked} The page protection of a locked page was changed to 'No Access' and the page was unlocked from memory and from the process.
    	WAS_UNLOCKED                                                       = 0x2CB, 
    	// %hs
    	SERVICE_NOTIFICATION                                               = 0x2CC, 
    	// {Page Locked} One of the pages to lock was already locked.
    	WAS_LOCKED                                                         = 0x2CD, 
    	// Application popup: %1 : %2
    	LOG_HARD_ERROR                                                     = 0x2CE, 
    	// ALREADY_WIN32 = , = 0x2D0,
    	ALREADY_WIN32                                                      = 0x2CF,  // {Machine Type Mismatch} The image file %hs is valid, but is for a machine type other than the current machine.
    	// A yield execution was performed and no thread was available to run.
    	NO_YIELD_PERFORMED                                                 = 0x2D1, 
    	// The resumable flag to a timer API was ignored.
    	TIMER_RESUME_IGNORED                                               = 0x2D2, 
    	// The arbiter has deferred arbitration of these resources to its parent.
    	ARBITRATION_UNHANDLED                                              = 0x2D3, 
    	// The inserted CardBus device cannot be started because of a configuration error on "%hs".
    	CARDBUS_NOT_SUPPORTED                                              = 0x2D4, 
    	// The CPUs in this multiprocessor system are not all the same revision level. To use all processors the operating system restricts itself to the features of the least capable processor in the system. Should problems occur with this system, contact the CPU manufacturer to see if this mix of processors is supported.
    	MP_PROCESSOR_MISMATCH                                              = 0x2D5, 
    	// The system was put into hibernation.
    	HIBERNATED                                                         = 0x2D6, 
    	// The system was resumed from hibernation.
    	RESUME_HIBERNATION                                                 = 0x2D7, 
    	// Windows has detected that the system firmware (BIOS) was updated [previous firmware date = %2, current firmware date %3].
    	FIRMWARE_UPDATED                                                   = 0x2D8, 
    	// A device driver is leaking locked I/O pages causing system degradation. The system has automatically enabled tracking code in order to try and catch the culprit.
    	DRIVERS_LEAKING_LOCKED_PAGES                                       = 0x2D9, 
    	// The system has awoken.
    	WAKE_SYSTEM                                                        = 0x2DA, 
    	// WAIT_1 = , = 0x2DC,
    	WAIT_1                                                             = 0x2DB,  // WAIT_2 = , = 0x2DD, // WAIT_3 = , = 0x2DE, // WAIT_63 = , = 0x2DF, // ABANDONED_WAIT_0 = , = 0x2E0, // ABANDONED_WAIT_63 = , = 0x2E1, // USER_APC = , = 0x2E2, // KERNEL_APC = , = 0x2E3, // ALERTED = , = 0x2E4, // The requested operation requires elevation.
    	// A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link.
    	REPARSE                                                            = 0x2E5, 
    	// An open/create operation completed while an oplock break is underway.
    	OPLOCK_BREAK_IN_PROGRESS                                           = 0x2E6, 
    	// A new volume has been mounted by a file system.
    	VOLUME_MOUNTED                                                     = 0x2E7, 
    	// This success level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted. The commit has now been completed.
    	RXACT_COMMITTED                                                    = 0x2E8, 
    	// This indicates that a notify change request has been completed due to closing the handle which made the notify change request.
    	NOTIFY_CLEANUP                                                     = 0x2E9, 
    	// {Connect Failure on Primary Transport} An attempt was made to connect to the remote server %hs on the primary transport, but the connection failed. The computer WAS able to connect on a secondary transport.
    	PRIMARY_TRANSPORT_CONNECT_FAILED                                   = 0x2EA, 
    	// Page fault was a transition fault.
    	PAGE_FAULT_TRANSITION                                              = 0x2EB, 
    	// Page fault was a demand zero fault.
    	PAGE_FAULT_DEMAND_ZERO                                             = 0x2EC, 
    	// Page fault was a demand zero fault.
    	PAGE_FAULT_COPY_ON_WRITE                                           = 0x2ED, 
    	// Page fault was a demand zero fault.
    	PAGE_FAULT_GUARD_PAGE                                              = 0x2EE, 
    	// Page fault was satisfied by reading from a secondary storage device.
    	PAGE_FAULT_PAGING_FILE                                             = 0x2EF, 
    	// Cached page was locked during operation.
    	CACHE_PAGE_LOCKED                                                  = 0x2F0, 
    	// Crash dump exists in paging file.
    	CRASH_DUMP                                                         = 0x2F1, 
    	// Specified buffer contains all zeros.
    	BUFFER_ALL_ZEROS                                                   = 0x2F2, 
    	// A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link.
    	REPARSE_OBJECT                                                     = 0x2F3, 
    	// The device has succeeded a query-stop and its resource requirements have changed.
    	RESOURCE_REQUIREMENTS_CHANGED                                      = 0x2F4, 
    	// The translator has translated these resources into the global space and no further translations should be performed.
    	TRANSLATION_COMPLETE                                               = 0x2F5, 
    	// A process being terminated has no threads to terminate.
    	NOTHING_TO_TERMINATE                                               = 0x2F6, 
    	// The specified process is not part of a job.
    	PROCESS_NOT_IN_JOB                                                 = 0x2F7, 
    	// The specified process is part of a job.
    	PROCESS_IN_JOB                                                     = 0x2F8, 
    	// {Volume Shadow Copy Service} The system is now ready for hibernation.
    	VOLSNAP_HIBERNATE_READY                                            = 0x2F9, 
    	// A file system or file system filter driver has successfully completed an FsFilter operation.
    	FSFILTER_OP_COMPLETED_SUCCESSFULLY                                 = 0x2FA, 
    	// The specified interrupt vector was already connected.
    	INTERRUPT_VECTOR_ALREADY_CONNECTED                                 = 0x2FB, 
    	// The specified interrupt vector is still connected.
    	INTERRUPT_STILL_CONNECTED                                          = 0x2FC, 
    	// An operation is blocked waiting for an oplock.
    	WAIT_FOR_OPLOCK                                                    = 0x2FD, 
    	// Debugger handled exception.
    	DBG_EXCEPTION_HANDLED                                              = 0x2FE, 
    	// Debugger continued.
    	DBG_CONTINUE                                                       = 0x2FF, 
    	// An exception occurred in a user mode callback and the kernel callback frame should be removed.
    	CALLBACK_POP_STACK                                                 = 0x300, 
    	// Compression is disabled for this volume.
    	COMPRESSION_DISABLED                                               = 0x301, 
    	// The data provider cannot fetch backwards through a result set.
    	CANTFETCHBACKWARDS                                                 = 0x302, 
    	// The data provider cannot scroll backwards through a result set.
    	CANTSCROLLBACKWARDS                                                = 0x303, 
    	// The data provider requires that previously fetched data is released before asking for more data.
    	ROWSNOTRELEASED                                                    = 0x304, 
    	// The data provider was not able to interpret the flags set for a column binding in an accessor.
    	BAD_ACCESSOR_FLAGS                                                 = 0x305, 
    	// One or more errors occurred while processing the request.
    	ERRORS_ENCOUNTERED                                                 = 0x306, 
    	// The implementation is not capable of performing the request.
    	NOT_CAPABLE                                                        = 0x307, 
    	// The client of a component requested an operation which is not valid given the state of the component instance.
    	REQUEST_OUT_OF_SEQUENCE                                            = 0x308, 
    	// A version number could not be parsed.
    	VERSION_PARSE_ERROR                                                = 0x309, 
    	// The iterator's start position is invalid.
    	BADSTARTPOSITION                                                   = 0x30A, 
    	// The hardware has reported an uncorrectable memory error.
    	MEMORY_HARDWARE                                                    = 0x30B, 
    	// The attempted operation required self healing to be enabled.
    	DISK_REPAIR_DISABLED                                               = 0x30C, 
    	// The Desktop heap encountered an error while allocating session memory. There is more information in the system event log.
    	INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE            = 0x30D, 
    	// The system power state is transitioning from %2 to %3.
    	SYSTEM_POWERSTATE_TRANSITION                                       = 0x30E, 
    	// The system power state is transitioning from %2 to %3 but could enter %4.
    	SYSTEM_POWERSTATE_COMPLEX_TRANSITION                               = 0x30F, 
    	// A thread is getting dispatched with MCA EXCEPTION because of MCA.
    	MCA_EXCEPTION                                                      = 0x310, 
    	// Access to %1 is monitored by policy rule %2.
    	ACCESS_AUDIT_BY_POLICY                                             = 0x311, 
    	// Access to %1 has been restricted by your Administrator by policy rule %2.
    	ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY                              = 0x312, 
    	// A valid hibernation file has been invalidated and should be abandoned.
    	ABANDON_HIBERFILE                                                  = 0x313, 
    	// {Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error may be caused by network connectivity issues. Please try to save this file elsewhere.
    	LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED                         = 0x314, 
    	// {Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error was returned by the server on which the file exists. Please try to save this file elsewhere.
    	LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR                         = 0x315, 
    	// {Delayed Write Failed} Windows was unable to save all the data for the file %hs; the data has been lost. This error may be caused if the device has been removed or the media is write-protected.
    	LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR                             = 0x316, 
    	// The resources required for this device conflict with the MCFG table.
    	BAD_MCFG_TABLE                                                     = 0x317, 
    	// The volume repair could not be performed while it is online. Please schedule to take the volume offline so that it can be repaired.
    	DISK_REPAIR_REDIRECTED                                             = 0x318, 
    	// The volume repair was not successful.
    	DISK_REPAIR_UNSUCCESSFUL                                           = 0x319, 
    	// One of the volume corruption logs is full. Further corruptions that may be detected won't be logged.
    	CORRUPT_LOG_OVERFULL                                               = 0x31A, 
    	// One of the volume corruption logs is internally corrupted and needs to be recreated. The volume may contain undetected corruptions and must be scanned.
    	CORRUPT_LOG_CORRUPTED                                              = 0x31B, 
    	// One of the volume corruption logs is unavailable for being operated on.
    	CORRUPT_LOG_UNAVAILABLE                                            = 0x31C, 
    	// One of the volume corruption logs was deleted while still having corruption records in them. The volume contains detected corruptions and must be scanned.
    	CORRUPT_LOG_DELETED_FULL                                           = 0x31D, 
    	// One of the volume corruption logs was cleared by chkdsk and no longer contains real corruptions.
    	CORRUPT_LOG_CLEARED                                                = 0x31E, 
    	// Orphaned files exist on the volume but could not be recovered because no more new names could be created in the recovery directory. Files must be moved from the recovery directory.
    	ORPHAN_NAME_EXHAUSTED                                              = 0x31F, 
    	// The oplock that was associated with this handle is now associated with a different handle.
    	OPLOCK_SWITCHED_TO_NEW_HANDLE                                      = 0x320, 
    	// An oplock of the requested level cannot be granted. An oplock of a lower level may be available.
    	CANNOT_GRANT_REQUESTED_OPLOCK                                      = 0x321, 
    	// The operation did not complete successfully because it would cause an oplock to be broken. The caller has requested that existing oplocks not be broken.
    	CANNOT_BREAK_OPLOCK                                                = 0x322, 
    	// The handle with which this oplock was associated has been closed. The oplock is now broken.
    	OPLOCK_HANDLE_CLOSED                                               = 0x323, 
    	// The specified access control entry (ACE) does not contain a condition.
    	NO_ACE_CONDITION                                                   = 0x324, 
    	// The specified access control entry (ACE) contains an invalid condition.
    	INVALID_ACE_CONDITION                                              = 0x325, 
    	// Access to the specified file handle has been revoked.
    	FILE_HANDLE_REVOKED                                                = 0x326, 
    	// An image file was mapped at a different address from the one specified in the image file but fixups will still be automatically performed on the image.
    	IMAGE_AT_DIFFERENT_BASE                                            = 0x327, 
    	// Access to the extended attribute was denied.
    	EA_ACCESS_DENIED                                                   = 0x3E2, 
    	// The I/O operation has been aborted because of either a thread exit or an application request.
    	OPERATION_ABORTED                                                  = 0x3E3, 
    	// Overlapped I/O event is not in a signaled state.
    	IO_INCOMPLETE                                                      = 0x3E4, 
    	// Overlapped I/O operation is in progress.
    	IO_PENDING                                                         = 0x3E5, 
    	// Invalid access to memory location.
    	NOACCESS                                                           = 0x3E6, 
    	// Error performing inpage operation.
    	SWAPERROR                                                          = 0x3E7, 
    	// Recursion too deep; the stack overflowed.
    	STACK_OVERFLOW                                                     = 0x3E9, 
    	// The window cannot act on the sent message.
    	INVALID_MESSAGE                                                    = 0x3EA, 
    	// Cannot complete this function.
    	CAN_NOT_COMPLETE                                                   = 0x3EB, 
    	// Invalid flags.
    	INVALID_FLAGS                                                      = 0x3EC, 
    	// The volume does not contain a recognized file system. Please make sure that all required file system drivers are loaded and that the volume is not corrupted.
    	UNRECOGNIZED_VOLUME                                                = 0x3ED, 
    	// The volume for a file has been externally altered so that the opened file is no longer valid.
    	FILE_INVALID                                                       = 0x3EE, 
    	// The requested operation cannot be performed in full-screen mode.
    	FULLSCREEN_MODE                                                    = 0x3EF, 
    	// An attempt was made to reference a token that does not exist.
    	NO_TOKEN                                                           = 0x3F0, 
    	// The configuration registry database is corrupt.
    	BADDB                                                              = 0x3F1, 
    	// The configuration registry key is invalid.
    	BADKEY                                                             = 0x3F2, 
    	// The configuration registry key could not be opened.
    	CANTOPEN                                                           = 0x3F3, 
    	// The configuration registry key could not be read.
    	CANTREAD                                                           = 0x3F4, 
    	// The configuration registry key could not be written.
    	CANTWRITE                                                          = 0x3F5, 
    	// One of the files in the registry database had to be recovered by use of a log or alternate copy. The recovery was successful.
    	REGISTRY_RECOVERED                                                 = 0x3F6, 
    	// The registry is corrupted. The structure of one of the files containing registry data is corrupted, or the system's memory image of the file is corrupted, or the file could not be recovered because the alternate copy or log was absent or corrupted.
    	REGISTRY_CORRUPT                                                   = 0x3F7, 
    	// An I/O operation initiated by the registry failed unrecoverably. The registry could not read in, or write out, or flush, one of the files that contain the system's image of the registry.
    	REGISTRY_IO_FAILED                                                 = 0x3F8, 
    	// The system has attempted to load or restore a file into the registry, but the specified file is not in a registry file format.
    	NOT_REGISTRY_FILE                                                  = 0x3F9, 
    	// Illegal operation attempted on a registry key that has been marked for deletion.
    	KEY_DELETED                                                        = 0x3FA, 
    	// System could not allocate the required space in a registry log.
    	NO_LOG_SPACE                                                       = 0x3FB, 
    	// Cannot create a symbolic link in a registry key that already has subkeys or values.
    	KEY_HAS_CHILDREN                                                   = 0x3FC, 
    	// Cannot create a stable subkey under a volatile parent key.
    	CHILD_MUST_BE_VOLATILE                                             = 0x3FD, 
    	// A notify change request is being completed and the information is not being returned in the caller's buffer. The caller now needs to enumerate the files to find the changes.
    	NOTIFY_ENUM_DIR                                                    = 0x3FE, 
    	// A stop control has been sent to a service that other running services are dependent on.
    	DEPENDENT_SERVICES_RUNNING                                         = 0x41B, 
    	// The requested control is not valid for this service.
    	INVALID_SERVICE_CONTROL                                            = 0x41C, 
    	// The service did not respond to the start or control request in a timely fashion.
    	SERVICE_REQUEST_TIMEOUT                                            = 0x41D, 
    	// A thread could not be created for the service.
    	SERVICE_NO_THREAD                                                  = 0x41E, 
    	// The service database is locked.
    	SERVICE_DATABASE_LOCKED                                            = 0x41F, 
    	// An instance of the service is already running.
    	SERVICE_ALREADY_RUNNING                                            = 0x420, 
    	// The account name is invalid or does not exist, or the password is invalid for the account name specified.
    	INVALID_SERVICE_ACCOUNT                                            = 0x421, 
    	// The service cannot be started, either because it is disabled or because it has no enabled devices associated with it.
    	SERVICE_DISABLED                                                   = 0x422, 
    	// Circular service dependency was specified.
    	CIRCULAR_DEPENDENCY                                                = 0x423, 
    	// The specified service does not exist as an installed service.
    	SERVICE_DOES_NOT_EXIST                                             = 0x424, 
    	// The service cannot accept control messages at this time.
    	SERVICE_CANNOT_ACCEPT_CTRL                                         = 0x425, 
    	// The service has not been started.
    	SERVICE_NOT_ACTIVE                                                 = 0x426, 
    	// The service process could not connect to the service controller.
    	FAILED_SERVICE_CONTROLLER_CONNECT                                  = 0x427, 
    	// An exception occurred in the service when handling the control request.
    	EXCEPTION_IN_SERVICE                                               = 0x428, 
    	// The database specified does not exist.
    	DATABASE_DOES_NOT_EXIST                                            = 0x429, 
    	// The service has returned a service-specific error code.
    	SERVICE_SPECIFIC_ERROR                                             = 0x42A, 
    	// The process terminated unexpectedly.
    	PROCESS_ABORTED                                                    = 0x42B, 
    	// The dependency service or group failed to start.
    	SERVICE_DEPENDENCY_FAIL                                            = 0x42C, 
    	// The service did not start due to a logon failure.
    	SERVICE_LOGON_FAILED                                               = 0x42D, 
    	// After starting, the service hung in a start-pending state.
    	SERVICE_START_HANG                                                 = 0x42E, 
    	// The specified service database lock is invalid.
    	INVALID_SERVICE_LOCK                                               = 0x42F, 
    	// The specified service has been marked for deletion.
    	SERVICE_MARKED_FOR_DELETE                                          = 0x430, 
    	// The specified service already exists.
    	SERVICE_EXISTS                                                     = 0x431, 
    	// The system is currently running with the last-known-good configuration.
    	ALREADY_RUNNING_LKG                                                = 0x432, 
    	// The dependency service does not exist or has been marked for deletion.
    	SERVICE_DEPENDENCY_DELETED                                         = 0x433, 
    	// The current boot has already been accepted for use as the last-known-good control set.
    	BOOT_ALREADY_ACCEPTED                                              = 0x434, 
    	// No attempts to start the service have been made since the last boot.
    	SERVICE_NEVER_STARTED                                              = 0x435, 
    	// The name is already in use as either a service name or a service display name.
    	DUPLICATE_SERVICE_NAME                                             = 0x436, 
    	// The account specified for this service is different from the account specified for other services running in the same process.
    	DIFFERENT_SERVICE_ACCOUNT                                          = 0x437, 
    	// Failure actions can only be set for Win32 services, not for drivers.
    	CANNOT_DETECT_DRIVER_FAILURE                                       = 0x438, 
    	// This service runs in the same process as the service control manager. Therefore, the service control manager cannot take action if this service's process terminates unexpectedly.
    	CANNOT_DETECT_PROCESS_ABORT                                        = 0x439, 
    	// No recovery program has been configured for this service.
    	NO_RECOVERY_PROGRAM                                                = 0x43A, 
    	// The executable program that this service is configured to run in does not implement the service.
    	SERVICE_NOT_IN_EXE                                                 = 0x43B, 
    	// This service cannot be started in Safe Mode.
    	NOT_SAFEBOOT_SERVICE                                               = 0x43C, 
    	// The physical end of the tape has been reached.
    	END_OF_MEDIA                                                       = 0x44C, 
    	// A tape access reached a filemark.
    	FILEMARK_DETECTED                                                  = 0x44D, 
    	// The beginning of the tape or a partition was encountered.
    	BEGINNING_OF_MEDIA                                                 = 0x44E, 
    	// A tape access reached the end of a set of files.
    	SETMARK_DETECTED                                                   = 0x44F, 
    	// No more data is on the tape.
    	NO_DATA_DETECTED                                                   = 0x450, 
    	// Tape could not be partitioned.
    	PARTITION_FAILURE                                                  = 0x451, 
    	// When accessing a new tape of a multivolume partition, the current block size is incorrect.
    	INVALID_BLOCK_LENGTH                                               = 0x452, 
    	// Tape partition information could not be found when loading a tape.
    	DEVICE_NOT_PARTITIONED                                             = 0x453, 
    	// Unable to lock the media eject mechanism.
    	UNABLE_TO_LOCK_MEDIA                                               = 0x454, 
    	// Unable to unload the media.
    	UNABLE_TO_UNLOAD_MEDIA                                             = 0x455, 
    	// The media in the drive may have changed.
    	MEDIA_CHANGED                                                      = 0x456, 
    	// The I/O bus was reset.
    	BUS_RESET                                                          = 0x457, 
    	// No media in drive.
    	NO_MEDIA_IN_DRIVE                                                  = 0x458, 
    	// No mapping for the Unicode character exists in the target multi-byte code page.
    	NO_UNICODE_TRANSLATION                                             = 0x459, 
    	// A dynamic link library (DLL) initialization routine failed.
    	DLL_INIT_FAILED                                                    = 0x45A, 
    	// A system shutdown is in progress.
    	SHUTDOWN_IN_PROGRESS                                               = 0x45B, 
    	// Unable to abort the system shutdown because no shutdown was in progress.
    	NO_SHUTDOWN_IN_PROGRESS                                            = 0x45C, 
    	// The request could not be performed because of an I/O device error.
    	IO_DEVICE                                                          = 0x45D, 
    	// No serial device was successfully initialized. The serial driver will unload.
    	SERIAL_NO_DEVICE                                                   = 0x45E, 
    	// Unable to open a device that was sharing an interrupt request (IRQ) with other devices. At least one other device that uses that IRQ was already opened.
    	IRQ_BUSY                                                           = 0x45F, 
    	// A serial I/O operation was completed by another write to the serial port. The IOCTL_SERIAL_XOFF_COUNTER reached zero.)
    	MORE_WRITES                                                        = 0x460, 
    	// A serial I/O operation completed because the timeout period expired. The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.)
    	COUNTER_TIMEOUT                                                    = 0x461, 
    	// No ID address mark was found on the floppy disk.
    	FLOPPY_ID_MARK_NOT_FOUND                                           = 0x462, 
    	// Mismatch between the floppy disk sector ID field and the floppy disk controller track address.
    	FLOPPY_WRONG_CYLINDER                                              = 0x463, 
    	// The floppy disk controller reported an error that is not recognized by the floppy disk driver.
    	FLOPPY_UNKNOWN_ERROR                                               = 0x464, 
    	// The floppy disk controller returned inconsistent results in its registers.
    	FLOPPY_BAD_REGISTERS                                               = 0x465, 
    	// While accessing the hard disk, a recalibrate operation failed, even after retries.
    	DISK_RECALIBRATE_FAILED                                            = 0x466, 
    	// While accessing the hard disk, a disk operation failed even after retries.
    	DISK_OPERATION_FAILED                                              = 0x467, 
    	// While accessing the hard disk, a disk controller reset was needed, but even that failed.
    	DISK_RESET_FAILED                                                  = 0x468, 
    	// Physical end of tape encountered.
    	EOM_OVERFLOW                                                       = 0x469, 
    	// Not enough server storage is available to process this command.
    	NOT_ENOUGH_SERVER_MEMORY                                           = 0x46A, 
    	// A potential deadlock condition has been detected.
    	POSSIBLE_DEADLOCK                                                  = 0x46B, 
    	// The base address or the file offset specified does not have the proper alignment.
    	MAPPED_ALIGNMENT                                                   = 0x46C, 
    	// An attempt to change the system power state was vetoed by another application or driver.
    	SET_POWER_STATE_VETOED                                             = 0x474, 
    	// The system BIOS failed an attempt to change the system power state.
    	SET_POWER_STATE_FAILED                                             = 0x475, 
    	// An attempt was made to create more links on a file than the file system supports.
    	TOO_MANY_LINKS                                                     = 0x476, 
    	// The specified program requires a newer version of Windows.
    	OLD_WIN_VERSION                                                    = 0x47E, 
    	// The specified program is not a Windows or MS-DOS program.
    	APP_WRONG_OS                                                       = 0x47F, 
    	// Cannot start more than one instance of the specified program.
    	SINGLE_INSTANCE_APP                                                = 0x480, 
    	// The specified program was written for an earlier version of Windows.
    	RMODE_APP                                                          = 0x481, 
    	// One of the library files needed to run this application is damaged.
    	INVALID_DLL                                                        = 0x482, 
    	// No application is associated with the specified file for this operation.
    	NO_ASSOCIATION                                                     = 0x483, 
    	// An error occurred in sending the command to the application.
    	DDE_FAIL                                                           = 0x484, 
    	// One of the library files needed to run this application cannot be found.
    	DLL_NOT_FOUND                                                      = 0x485, 
    	// The current process has used all of its system allowance of handles for Window Manager objects.
    	NO_MORE_USER_HANDLES                                               = 0x486, 
    	// The message can be used only with synchronous operations.
    	MESSAGE_SYNC_ONLY                                                  = 0x487, 
    	// The indicated source element has no media.
    	SOURCE_ELEMENT_EMPTY                                               = 0x488, 
    	// The indicated destination element already contains media.
    	DESTINATION_ELEMENT_FULL                                           = 0x489, 
    	// The indicated element does not exist.
    	ILLEGAL_ELEMENT_ADDRESS                                            = 0x48A, 
    	// The indicated element is part of a magazine that is not present.
    	MAGAZINE_NOT_PRESENT                                               = 0x48B, 
    	// The indicated device requires reinitialization due to hardware errors.
    	DEVICE_REINITIALIZATION_NEEDED                                     = 0x48C, 
    	// The device has indicated that cleaning is required before further operations are attempted.
    	DEVICE_REQUIRES_CLEANING                                           = 0x48D, 
    	// The device has indicated that its door is open.
    	DEVICE_DOOR_OPEN                                                   = 0x48E, 
    	// The device is not connected.
    	DEVICE_NOT_CONNECTED                                               = 0x48F, 
    	// Element not found.
    	NOT_FOUND                                                          = 0x490, 
    	// There was no match for the specified key in the index.
    	NO_MATCH                                                           = 0x491, 
    	// The property set specified does not exist on the object.
    	SET_NOT_FOUND                                                      = 0x492, 
    	// The point passed to GetMouseMovePoints is not in the buffer.
    	POINT_NOT_FOUND                                                    = 0x493, 
    	// The tracking (workstation) service is not running.
    	NO_TRACKING_SERVICE                                                = 0x494, 
    	// The Volume ID could not be found.
    	NO_VOLUME_ID                                                       = 0x495, 
    	// Unable to remove the file to be replaced.
    	UNABLE_TO_REMOVE_REPLACED                                          = 0x497, 
    	// Unable to move the replacement file to the file to be replaced. The file to be replaced has retained its original name.
    	UNABLE_TO_MOVE_REPLACEMENT                                         = 0x498, 
    	// Unable to move the replacement file to the file to be replaced. The file to be replaced has been renamed using the backup name.
    	UNABLE_TO_MOVE_REPLACEMENT_2                                       = 0x499, 
    	// The volume change journal is being deleted.
    	JOURNAL_DELETE_IN_PROGRESS                                         = 0x49A, 
    	// The volume change journal is not active.
    	JOURNAL_NOT_ACTIVE                                                 = 0x49B, 
    	// A file was found, but it may not be the correct file.
    	POTENTIAL_FILE_FOUND                                               = 0x49C, 
    	// The journal entry has been deleted from the journal.
    	JOURNAL_ENTRY_DELETED                                              = 0x49D, 
    	// A system shutdown has already been scheduled.
    	SHUTDOWN_IS_SCHEDULED                                              = 0x4A6, 
    	// The system shutdown cannot be initiated because there are other users logged on to the computer.
    	SHUTDOWN_USERS_LOGGED_ON                                           = 0x4A7, 
    	// The specified device name is invalid.
    	BAD_DEVICE                                                         = 0x4B0, 
    	// The device is not currently connected but it is a remembered connection.
    	CONNECTION_UNAVAIL                                                 = 0x4B1, 
    	// The local device name has a remembered connection to another network resource.
    	DEVICE_ALREADY_REMEMBERED                                          = 0x4B2, 
    	// The network path was either typed incorrectly, does not exist, or the network provider is not currently available. Please try retyping the path or contact your network administrator.
    	NO_NET_OR_BAD_PATH                                                 = 0x4B3, 
    	// The specified network provider name is invalid.
    	BAD_PROVIDER                                                       = 0x4B4, 
    	// Unable to open the network connection profile.
    	CANNOT_OPEN_PROFILE                                                = 0x4B5, 
    	// The network connection profile is corrupted.
    	BAD_PROFILE                                                        = 0x4B6, 
    	// Cannot enumerate a noncontainer.
    	NOT_CONTAINER                                                      = 0x4B7, 
    	// An extended error has occurred.
    	EXTENDED_ERROR                                                     = 0x4B8, 
    	// The format of the specified group name is invalid.
    	INVALID_GROUPNAME                                                  = 0x4B9, 
    	// The format of the specified computer name is invalid.
    	INVALID_COMPUTERNAME                                               = 0x4BA, 
    	// The format of the specified event name is invalid.
    	INVALID_EVENTNAME                                                  = 0x4BB, 
    	// The format of the specified domain name is invalid.
    	INVALID_DOMAINNAME                                                 = 0x4BC, 
    	// The format of the specified service name is invalid.
    	INVALID_SERVICENAME                                                = 0x4BD, 
    	// The format of the specified network name is invalid.
    	INVALID_NETNAME                                                    = 0x4BE, 
    	// The format of the specified share name is invalid.
    	INVALID_SHARENAME                                                  = 0x4BF, 
    	// The format of the specified password is invalid.
    	INVALID_PASSWORDNAME                                               = 0x4C0, 
    	// The format of the specified message name is invalid.
    	INVALID_MESSAGENAME                                                = 0x4C1, 
    	// The format of the specified message destination is invalid.
    	INVALID_MESSAGEDEST                                                = 0x4C2, 
    	// Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again.
    	SESSION_CREDENTIAL_CONFLICT                                        = 0x4C3, 
    	// An attempt was made to establish a session to a network server, but there are already too many sessions established to that server.
    	REMOTE_SESSION_LIMIT_EXCEEDED                                      = 0x4C4, 
    	// The workgroup or domain name is already in use by another computer on the network.
    	DUP_DOMAINNAME                                                     = 0x4C5, 
    	// The network is not present or not started.
    	NO_NETWORK                                                         = 0x4C6, 
    	// The operation was canceled by the user.
    	CANCELLED                                                          = 0x4C7, 
    	// The requested operation cannot be performed on a file with a user-mapped section open.
    	USER_MAPPED_FILE                                                   = 0x4C8, 
    	// The remote computer refused the network connection.
    	CONNECTION_REFUSED                                                 = 0x4C9, 
    	// The network connection was gracefully closed.
    	GRACEFUL_DISCONNECT                                                = 0x4CA, 
    	// The network transport endpoint already has an address associated with it.
    	ADDRESS_ALREADY_ASSOCIATED                                         = 0x4CB, 
    	// An address has not yet been associated with the network endpoint.
    	ADDRESS_NOT_ASSOCIATED                                             = 0x4CC, 
    	// An operation was attempted on a nonexistent network connection.
    	CONNECTION_INVALID                                                 = 0x4CD, 
    	// An invalid operation was attempted on an active network connection.
    	CONNECTION_ACTIVE                                                  = 0x4CE, 
    	// The network location cannot be reached. For information about network troubleshooting, see Windows Help.
    	NETWORK_UNREACHABLE                                                = 0x4CF, 
    	// The network location cannot be reached. For information about network troubleshooting, see Windows Help.
    	HOST_UNREACHABLE                                                   = 0x4D0, 
    	// The network location cannot be reached. For information about network troubleshooting, see Windows Help.
    	PROTOCOL_UNREACHABLE                                               = 0x4D1, 
    	// No service is operating at the destination network endpoint on the remote system.
    	PORT_UNREACHABLE                                                   = 0x4D2, 
    	// The request was aborted.
    	REQUEST_ABORTED                                                    = 0x4D3, 
    	// The network connection was aborted by the local system.
    	CONNECTION_ABORTED                                                 = 0x4D4, 
    	// The operation could not be completed. A retry should be performed.
    	RETRY                                                              = 0x4D5, 
    	// A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached.
    	CONNECTION_COUNT_LIMIT                                             = 0x4D6, 
    	// Attempting to log in during an unauthorized time of day for this account.
    	LOGIN_TIME_RESTRICTION                                             = 0x4D7, 
    	// The account is not authorized to log in from this station.
    	LOGIN_WKSTA_RESTRICTION                                            = 0x4D8, 
    	// The network address could not be used for the operation requested.
    	INCORRECT_ADDRESS                                                  = 0x4D9, 
    	// The service is already registered.
    	ALREADY_REGISTERED                                                 = 0x4DA, 
    	// The specified service does not exist.
    	SERVICE_NOT_FOUND                                                  = 0x4DB, 
    	// The operation being requested was not performed because the user has not been authenticated.
    	NOT_AUTHENTICATED                                                  = 0x4DC, 
    	// The operation being requested was not performed because the user has not logged on to the network. The specified service does not exist.
    	NOT_LOGGED_ON                                                      = 0x4DD, 
    	// Continue with work in progress.
    	CONTINUE                                                           = 0x4DE, 
    	// An attempt was made to perform an initialization operation when initialization has already been completed.
    	ALREADY_INITIALIZED                                                = 0x4DF, 
    	// No more local devices.
    	NO_MORE_DEVICES                                                    = 0x4E0, 
    	// The specified site does not exist.
    	NO_SUCH_SITE                                                       = 0x4E1, 
    	// A domain controller with the specified name already exists.
    	DOMAIN_CONTROLLER_EXISTS                                           = 0x4E2, 
    	// This operation is supported only when you are connected to the server.
    	ONLY_IF_CONNECTED                                                  = 0x4E3, 
    	// The group policy framework should call the extension even if there are no changes.
    	OVERRIDE_NOCHANGES                                                 = 0x4E4, 
    	// The specified user does not have a valid profile.
    	BAD_USER_PROFILE                                                   = 0x4E5, 
    	// This operation is not supported on a computer running Windows Server 2003 for Small Business Server.
    	NOT_SUPPORTED_ON_SBS                                               = 0x4E6, 
    	// The server machine is shutting down.
    	SERVER_SHUTDOWN_IN_PROGRESS                                        = 0x4E7, 
    	// The remote system is not available. For information about network troubleshooting, see Windows Help.
    	HOST_DOWN                                                          = 0x4E8, 
    	// The security identifier provided is not from an account domain.
    	NON_ACCOUNT_SID                                                    = 0x4E9, 
    	// The security identifier provided does not have a domain component.
    	NON_DOMAIN_SID                                                     = 0x4EA, 
    	// AppHelp dialog canceled thus preventing the application from starting.
    	APPHELP_BLOCK                                                      = 0x4EB, 
    	// This program is blocked by group policy. For more information, contact your system administrator.
    	ACCESS_DISABLED_BY_POLICY                                          = 0x4EC, 
    	// A program attempt to use an invalid register value. Normally caused by an uninitialized register. This error is Itanium specific.
    	REG_NAT_CONSUMPTION                                                = 0x4ED, 
    	// The share is currently offline or does not exist.
    	CSCSHARE_OFFLINE                                                   = 0x4EE, 
    	// The Kerberos protocol encountered an error while validating the KDC certificate during smartcard logon. There is more information in the system event log.
    	PKINIT_FAILURE                                                     = 0x4EF, 
    	// The Kerberos protocol encountered an error while attempting to utilize the smartcard subsystem.
    	SMARTCARD_SUBSYSTEM_FAILURE                                        = 0x4F0, 
    	// The system cannot contact a domain controller to service the authentication request. Please try again later.
    	DOWNGRADE_DETECTED                                                 = 0x4F1, 
    	// The machine is locked and cannot be shut down without the force option.
    	MACHINE_LOCKED                                                     = 0x4F7, 
    	// An application-defined callback gave invalid data when called.
    	CALLBACK_SUPPLIED_INVALID_DATA                                     = 0x4F9, 
    	// The group policy framework should call the extension in the synchronous foreground policy refresh.
    	SYNC_FOREGROUND_REFRESH_REQUIRED                                   = 0x4FA, 
    	// This driver has been blocked from loading.
    	DRIVER_BLOCKED                                                     = 0x4FB, 
    	// A dynamic link library (DLL) referenced a module that was neither a DLL nor the process's executable image.
    	INVALID_IMPORT_OF_NON_DLL                                          = 0x4FC, 
    	// Windows cannot open this program since it has been disabled.
    	ACCESS_DISABLED_WEBBLADE                                           = 0x4FD, 
    	// Windows cannot open this program because the license enforcement system has been tampered with or become corrupted.
    	ACCESS_DISABLED_WEBBLADE_TAMPER                                    = 0x4FE, 
    	// A transaction recover failed.
    	RECOVERY_FAILURE                                                   = 0x4FF, 
    	// The current thread has already been converted to a fiber.
    	ALREADY_FIBER                                                      = 0x500, 
    	// The current thread has already been converted from a fiber.
    	ALREADY_THREAD                                                     = 0x501, 
    	// The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.
    	STACK_BUFFER_OVERRUN                                               = 0x502, 
    	// Data present in one of the parameters is more than the function can operate on.
    	PARAMETER_QUOTA_EXCEEDED                                           = 0x503, 
    	// An attempt to do an operation on a debug object failed because the object is in the process of being deleted.
    	DEBUGGER_INACTIVE                                                  = 0x504, 
    	// An attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed.
    	DELAY_LOAD_FAILED                                                  = 0x505, 
    	// %1 is a 16-bit application. You do not have permissions to execute 16-bit applications. Check your permissions with your system administrator.
    	VDM_DISALLOWED                                                     = 0x506, 
    	// Insufficient information exists to identify the cause of failure.
    	UNIDENTIFIED_ERROR                                                 = 0x507, 
    	// The parameter passed to a C runtime function is incorrect.
    	INVALID_CRUNTIME_PARAMETER                                         = 0x508, 
    	// The operation occurred beyond the valid data length of the file.
    	BEYOND_VDL                                                         = 0x509, 
    	// The service start failed since one or more services in the same process have an incompatible service SID type setting. A service with restricted service SID type can only coexist in the same process with other services with a restricted SID type. If the service SID type for this service was just configured, the hosting process must be restarted in order to start this service.
    	// On Windows Server 2003 and Windows XP, an unrestricted service cannot coexist in the same process with other services. The service with the unrestricted service SID type must be moved to an owned process in order to start this service.
    	INCOMPATIBLE_SERVICE_SID_TYPE                                      = 0x50A, 
    	// The process hosting the driver for this device has been terminated.
    	DRIVER_PROCESS_TERMINATED                                          = 0x50B, 
    	// An operation attempted to exceed an implementation-defined limit.
    	IMPLEMENTATION_LIMIT                                               = 0x50C, 
    	// Either the target process, or the target thread's containing process, is a protected process.
    	PROCESS_IS_PROTECTED                                               = 0x50D, 
    	// The service notification client is lagging too far behind the current state of services in the machine.
    	SERVICE_NOTIFY_CLIENT_LAGGING                                      = 0x50E, 
    	// The requested file operation failed because the storage quota was exceeded. To free up disk space, move files to a different location or delete unnecessary files. For more information, contact your system administrator.
    	DISK_QUOTA_EXCEEDED                                                = 0x50F, 
    	// The requested file operation failed because the storage policy blocks that type of file. For more information, contact your system administrator.
    	CONTENT_BLOCKED                                                    = 0x510, 
    	// A privilege that the service requires to function properly does not exist in the service account configuration. You may use the Services Microsoft Management Console (MMC) snap-in (services.msc) and the Local Security Settings MMC snap-in (secpol.msc) to view the service configuration and the account configuration.
    	INCOMPATIBLE_SERVICE_PRIVILEGE                                     = 0x511, 
    	// A thread involved in this operation appears to be unresponsive.
    	APP_HANG                                                           = 0x512, 
    	// Indicates a particular Security ID may not be assigned as the label of an object.
    	INVALID_LABEL                                                      = 0x513, 
    	// Not all privileges or groups referenced are assigned to the caller.
    	NOT_ALL_ASSIGNED                                                   = 0x514, 
    	// Some mapping between account names and security IDs was not done.
    	SOME_NOT_MAPPED                                                    = 0x515, 
    	// No system quota limits are specifically set for this account.
    	NO_QUOTAS_FOR_ACCOUNT                                              = 0x516, 
    	// No encryption key is available. A well-known encryption key was returned.
    	LOCAL_USER_SESSION_KEY                                             = 0x517, 
    	// The password is too complex to be converted to a LAN Manager password. The LAN Manager password returned is a NULL string.
    	NULL_LM_PASSWORD                                                   = 0x518, 
    	// The revision level is unknown.
    	UNKNOWN_REVISION                                                   = 0x519, 
    	// Indicates two revision levels are incompatible.
    	REVISION_MISMATCH                                                  = 0x51A, 
    	// This security ID may not be assigned as the owner of this object.
    	INVALID_OWNER                                                      = 0x51B, 
    	// This security ID may not be assigned as the primary group of an object.
    	INVALID_PRIMARY_GROUP                                              = 0x51C, 
    	// An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client.
    	NO_IMPERSONATION_TOKEN                                             = 0x51D, 
    	// The group may not be disabled.
    	CANT_DISABLE_MANDATORY                                             = 0x51E, 
    	// There are currently no logon servers available to service the logon request.
    	NO_LOGON_SERVERS                                                   = 0x51F, 
    	// A specified logon session does not exist. It may already have been terminated.
    	NO_SUCH_LOGON_SESSION                                              = 0x520, 
    	// A specified privilege does not exist.
    	NO_SUCH_PRIVILEGE                                                  = 0x521, 
    	// A required privilege is not held by the client.
    	PRIVILEGE_NOT_HELD                                                 = 0x522, 
    	// The name provided is not a properly formed account name.
    	INVALID_ACCOUNT_NAME                                               = 0x523, 
    	// The specified account already exists.
    	USER_EXISTS                                                        = 0x524, 
    	// The specified account does not exist.
    	NO_SUCH_USER                                                       = 0x525, 
    	// The specified group already exists.
    	GROUP_EXISTS                                                       = 0x526, 
    	// The specified group does not exist.
    	NO_SUCH_GROUP                                                      = 0x527, 
    	// Either the specified user account is already a member of the specified group, or the specified group cannot be deleted because it contains a member.
    	MEMBER_IN_GROUP                                                    = 0x528, 
    	// The specified user account is not a member of the specified group account.
    	MEMBER_NOT_IN_GROUP                                                = 0x529, 
    	// This operation is disallowed as it could result in an administration account being disabled, deleted or unable to log on.
    	LAST_ADMIN                                                         = 0x52A, 
    	// Unable to update the password. The value provided as the current password is incorrect.
    	WRONG_PASSWORD                                                     = 0x52B, 
    	// Unable to update the password. The value provided for the new password contains values that are not allowed in passwords.
    	ILL_FORMED_PASSWORD                                                = 0x52C, 
    	// Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirements of the domain.
    	PASSWORD_RESTRICTION                                               = 0x52D, 
    	// The user name or password is incorrect.
    	LOGON_FAILURE                                                      = 0x52E, 
    	// Account restrictions are preventing this user from signing in. For example: blank passwords aren't allowed, sign-in times are limited, or a policy restriction has been enforced.
    	ACCOUNT_RESTRICTION                                                = 0x52F, 
    	// Your account has time restrictions that keep you from signing in right now.
    	INVALID_LOGON_HOURS                                                = 0x530, 
    	// This user isn't allowed to sign in to this computer.
    	INVALID_WORKSTATION                                                = 0x531, 
    	// The password for this account has expired.
    	PASSWORD_EXPIRED                                                   = 0x532, 
    	// This user can't sign in because this account is currently disabled.
    	ACCOUNT_DISABLED                                                   = 0x533, 
    	// No mapping between account names and security IDs was done.
    	NONE_MAPPED                                                        = 0x534, 
    	// Too many local user identifiers (LUIDs) were requested at one time.
    	TOO_MANY_LUIDS_REQUESTED                                           = 0x535, 
    	// No more local user identifiers (LUIDs) are available.
    	LUIDS_EXHAUSTED                                                    = 0x536, 
    	// The subauthority part of a security ID is invalid for this particular use.
    	INVALID_SUB_AUTHORITY                                              = 0x537, 
    	// The access control list (ACL) structure is invalid.
    	INVALID_ACL                                                        = 0x538, 
    	// The security ID structure is invalid.
    	INVALID_SID                                                        = 0x539, 
    	// The security descriptor structure is invalid.
    	INVALID_SECURITY_DESCR                                             = 0x53A, 
    	// The inherited access control list (ACL) or access control entry (ACE) could not be built.
    	BAD_INHERITANCE_ACL                                                = 0x53C, 
    	// The server is currently disabled.
    	SERVER_DISABLED                                                    = 0x53D, 
    	// The server is currently enabled.
    	SERVER_NOT_DISABLED                                                = 0x53E, 
    	// The value provided was an invalid value for an identifier authority.
    	INVALID_ID_AUTHORITY                                               = 0x53F, 
    	// No more memory is available for security information updates.
    	ALLOTTED_SPACE_EXCEEDED                                            = 0x540, 
    	// The specified attributes are invalid, or incompatible with the attributes for the group as a whole.
    	INVALID_GROUP_ATTRIBUTES                                           = 0x541, 
    	// Either a required impersonation level was not provided, or the provided impersonation level is invalid.
    	BAD_IMPERSONATION_LEVEL                                            = 0x542, 
    	// Cannot open an anonymous level security token.
    	CANT_OPEN_ANONYMOUS                                                = 0x543, 
    	// The validation information class requested was invalid.
    	BAD_VALIDATION_CLASS                                               = 0x544, 
    	// The type of the token is inappropriate for its attempted use.
    	BAD_TOKEN_TYPE                                                     = 0x545, 
    	// Unable to perform a security operation on an object that has no associated security.
    	NO_SECURITY_ON_OBJECT                                              = 0x546, 
    	// Configuration information could not be read from the domain controller, either because the machine is unavailable, or access has been denied.
    	CANT_ACCESS_DOMAIN_INFO                                            = 0x547, 
    	// The security account manager (SAM) or local security authority (LSA) server was in the wrong state to perform the security operation.
    	INVALID_SERVER_STATE                                               = 0x548, 
    	// The domain was in the wrong state to perform the security operation.
    	INVALID_DOMAIN_STATE                                               = 0x549, 
    	// This operation is only allowed for the Primary Domain Controller of the domain.
    	INVALID_DOMAIN_ROLE                                                = 0x54A, 
    	// The specified domain either does not exist or could not be contacted.
    	NO_SUCH_DOMAIN                                                     = 0x54B, 
    	// The specified domain already exists.
    	DOMAIN_EXISTS                                                      = 0x54C, 
    	// An attempt was made to exceed the limit on the number of domains per server.
    	DOMAIN_LIMIT_EXCEEDED                                              = 0x54D, 
    	// Unable to complete the requested operation because of either a catastrophic media failure or a data structure corruption on the disk.
    	INTERNAL_DB_CORRUPTION                                             = 0x54E, 
    	// An internal error occurred.
    	INTERNAL_ERROR                                                     = 0x54F, 
    	// Generic access types were contained in an access mask which should already be mapped to nongeneric types.
    	GENERIC_NOT_MAPPED                                                 = 0x550, 
    	// A security descriptor is not in the right format (absolute or self-relative).
    	BAD_DESCRIPTOR_FORMAT                                              = 0x551, 
    	// The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process.
    	NOT_LOGON_PROCESS                                                  = 0x552, 
    	// Cannot start a new logon session with an ID that is already in use.
    	LOGON_SESSION_EXISTS                                               = 0x553, 
    	// A specified authentication package is unknown.
    	NO_SUCH_PACKAGE                                                    = 0x554, 
    	// The logon session is not in a state that is consistent with the requested operation.
    	BAD_LOGON_SESSION_STATE                                            = 0x555, 
    	// The logon session ID is already in use.
    	LOGON_SESSION_COLLISION                                            = 0x556, 
    	// A logon request contained an invalid logon type value.
    	INVALID_LOGON_TYPE                                                 = 0x557, 
    	// Unable to impersonate using a named pipe until data has been read from that pipe.
    	CANNOT_IMPERSONATE                                                 = 0x558, 
    	// The transaction state of a registry subtree is incompatible with the requested operation.
    	RXACT_INVALID_STATE                                                = 0x559, 
    	// An internal security database corruption has been encountered.
    	RXACT_COMMIT_FAILURE                                               = 0x55A, 
    	// Cannot perform this operation on built-in accounts.
    	SPECIAL_ACCOUNT                                                    = 0x55B, 
    	// Cannot perform this operation on this built-in special group.
    	SPECIAL_GROUP                                                      = 0x55C, 
    	// Cannot perform this operation on this built-in special user.
    	SPECIAL_USER                                                       = 0x55D, 
    	// The user cannot be removed from a group because the group is currently the user's primary group.
    	MEMBERS_PRIMARY_GROUP                                              = 0x55E, 
    	// The token is already in use as a primary token.
    	TOKEN_ALREADY_IN_USE                                               = 0x55F, 
    	// The specified local group does not exist.
    	NO_SUCH_ALIAS                                                      = 0x560, 
    	// The specified account name is not a member of the group.
    	MEMBER_NOT_IN_ALIAS                                                = 0x561, 
    	// The specified account name is already a member of the group.
    	MEMBER_IN_ALIAS                                                    = 0x562, 
    	// The specified local group already exists.
    	ALIAS_EXISTS                                                       = 0x563, 
    	// Logon failure: the user has not been granted the requested logon type at this computer.
    	LOGON_NOT_GRANTED                                                  = 0x564, 
    	// The maximum number of secrets that may be stored in a single system has been exceeded.
    	TOO_MANY_SECRETS                                                   = 0x565, 
    	// The length of a secret exceeds the maximum length allowed.
    	SECRET_TOO_LONG                                                    = 0x566, 
    	// The local security authority database contains an internal inconsistency.
    	INTERNAL_DB_ERROR                                                  = 0x567, 
    	// During a logon attempt, the user's security context accumulated too many security IDs.
    	TOO_MANY_CONTEXT_IDS                                               = 0x568, 
    	// Logon failure: the user has not been granted the requested logon type at this computer.
    	LOGON_TYPE_NOT_GRANTED                                             = 0x569, 
    	// A cross-encrypted password is necessary to change a user password.
    	NT_CROSS_ENCRYPTION_REQUIRED                                       = 0x56A, 
    	// A member could not be added to or removed from the local group because the member does not exist.
    	NO_SUCH_MEMBER                                                     = 0x56B, 
    	// A new member could not be added to a local group because the member has the wrong account type.
    	INVALID_MEMBER                                                     = 0x56C, 
    	// Too many security IDs have been specified.
    	TOO_MANY_SIDS                                                      = 0x56D, 
    	// A cross-encrypted password is necessary to change this user password.
    	LM_CROSS_ENCRYPTION_REQUIRED                                       = 0x56E, 
    	// Indicates an ACL contains no inheritable components.
    	NO_INHERITANCE                                                     = 0x56F, 
    	// The file or directory is corrupted and unreadable.
    	FILE_CORRUPT                                                       = 0x570, 
    	// The disk structure is corrupted and unreadable.
    	DISK_CORRUPT                                                       = 0x571, 
    	// There is no user session key for the specified logon session.
    	NO_USER_SESSION_KEY                                                = 0x572, 
    	// The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because there are already as many connections as the service can accept.
    	LICENSE_QUOTA_EXCEEDED                                             = 0x573, 
    	// The target account name is incorrect.
    	WRONG_TARGET_NAME                                                  = 0x574, 
    	// Mutual Authentication failed. The server's password is out of date at the domain controller.
    	MUTUAL_AUTH_FAILED                                                 = 0x575, 
    	// There is a time and/or date difference between the client and server.
    	TIME_SKEW                                                          = 0x576, 
    	// This operation cannot be performed on the current domain.
    	CURRENT_DOMAIN_NOT_ALLOWED                                         = 0x577, 
    	// Invalid window handle.
    	INVALID_WINDOW_HANDLE                                              = 0x578, 
    	// Invalid menu handle.
    	INVALID_MENU_HANDLE                                                = 0x579, 
    	// Invalid cursor handle.
    	INVALID_CURSOR_HANDLE                                              = 0x57A, 
    	// Invalid accelerator table handle.
    	INVALID_ACCEL_HANDLE                                               = 0x57B, 
    	// Invalid hook handle.
    	INVALID_HOOK_HANDLE                                                = 0x57C, 
    	// Invalid handle to a multiple-window position structure.
    	INVALID_DWP_HANDLE                                                 = 0x57D, 
    	// Cannot create a top-level child window.
    	TLW_WITH_WSCHILD                                                   = 0x57E, 
    	// Cannot find window class.
    	CANNOT_FIND_WND_CLASS                                              = 0x57F, 
    	// Invalid window; it belongs to other thread.
    	WINDOW_OF_OTHER_THREAD                                             = 0x580, 
    	// Hot key is already registered.
    	HOTKEY_ALREADY_REGISTERED                                          = 0x581, 
    	// Class already exists.
    	CLASS_ALREADY_EXISTS                                               = 0x582, 
    	// Class does not exist.
    	CLASS_DOES_NOT_EXIST                                               = 0x583, 
    	// Class still has open windows.
    	CLASS_HAS_WINDOWS                                                  = 0x584, 
    	// Invalid index.
    	INVALID_INDEX                                                      = 0x585, 
    	// Invalid icon handle.
    	INVALID_ICON_HANDLE                                                = 0x586, 
    	// Using private DIALOG window words.
    	PRIVATE_DIALOG_INDEX                                               = 0x587, 
    	// The list box identifier was not found.
    	LISTBOX_ID_NOT_FOUND                                               = 0x588, 
    	// No wildcards were found.
    	NO_WILDCARD_CHARACTERS                                             = 0x589, 
    	// Thread does not have a clipboard open.
    	CLIPBOARD_NOT_OPEN                                                 = 0x58A, 
    	// Hot key is not registered.
    	HOTKEY_NOT_REGISTERED                                              = 0x58B, 
    	// The window is not a valid dialog window.
    	WINDOW_NOT_DIALOG                                                  = 0x58C, 
    	// Control ID not found.
    	CONTROL_ID_NOT_FOUND                                               = 0x58D, 
    	// Invalid message for a combo box because it does not have an edit control.
    	INVALID_COMBOBOX_MESSAGE                                           = 0x58E, 
    	// The window is not a combo box.
    	WINDOW_NOT_COMBOBOX                                                = 0x58F, 
    	// Height must be less than 256.
    	INVALID_EDIT_HEIGHT                                                = 0x590, 
    	// Invalid device context (DC) handle.
    	DC_NOT_FOUND                                                       = 0x591, 
    	// Invalid hook procedure type.
    	INVALID_HOOK_FILTER                                                = 0x592, 
    	// Invalid hook procedure.
    	INVALID_FILTER_PROC                                                = 0x593, 
    	// Cannot set nonlocal hook without a module handle.
    	HOOK_NEEDS_HMOD                                                    = 0x594, 
    	// This hook procedure can only be set globally.
    	GLOBAL_ONLY_HOOK                                                   = 0x595, 
    	// The journal hook procedure is already installed.
    	JOURNAL_HOOK_SET                                                   = 0x596, 
    	// The hook procedure is not installed.
    	HOOK_NOT_INSTALLED                                                 = 0x597, 
    	// Invalid message for single-selection list box.
    	INVALID_LB_MESSAGE                                                 = 0x598, 
    	// LB_SETCOUNT sent to non-lazy list box.
    	SETCOUNT_ON_BAD_LB                                                 = 0x599, 
    	// This list box does not support tab stops.
    	LB_WITHOUT_TABSTOPS                                                = 0x59A, 
    	// Cannot destroy object created by another thread.
    	DESTROY_OBJECT_OF_OTHER_THREAD                                     = 0x59B, 
    	// Child windows cannot have menus.
    	CHILD_WINDOW_MENU                                                  = 0x59C, 
    	// The window does not have a system menu.
    	NO_SYSTEM_MENU                                                     = 0x59D, 
    	// Invalid message box style.
    	INVALID_MSGBOX_STYLE                                               = 0x59E, 
    	// Invalid system-wide (SPI_*) parameter.
    	INVALID_SPI_VALUE                                                  = 0x59F, 
    	// Screen already locked.
    	SCREEN_ALREADY_LOCKED                                              = 0x5A0, 
    	// All handles to windows in a multiple-window position structure must have the same parent.
    	HWNDS_HAVE_DIFF_PARENT                                             = 0x5A1, 
    	// The window is not a child window.
    	NOT_CHILD_WINDOW                                                   = 0x5A2, 
    	// Invalid GW_* command.
    	INVALID_GW_COMMAND                                                 = 0x5A3, 
    	// Invalid thread identifier.
    	INVALID_THREAD_ID                                                  = 0x5A4, 
    	// Cannot process a message from a window that is not a multiple document interface (MDI) window.
    	NON_MDICHILD_WINDOW                                                = 0x5A5, 
    	// Popup menu already active.
    	POPUP_ALREADY_ACTIVE                                               = 0x5A6, 
    	// The window does not have scroll bars.
    	NO_SCROLLBARS                                                      = 0x5A7, 
    	// Scroll bar range cannot be greater than MAXLONG.
    	INVALID_SCROLLBAR_RANGE                                            = 0x5A8, 
    	// Cannot show or remove the window in the way specified.
    	INVALID_SHOWWIN_COMMAND                                            = 0x5A9, 
    	// Insufficient system resources exist to complete the requested service.
    	NO_SYSTEM_RESOURCES                                                = 0x5AA, 
    	// Insufficient system resources exist to complete the requested service.
    	NONPAGED_SYSTEM_RESOURCES                                          = 0x5AB, 
    	// Insufficient system resources exist to complete the requested service.
    	PAGED_SYSTEM_RESOURCES                                             = 0x5AC, 
    	// Insufficient quota to complete the requested service.
    	WORKING_SET_QUOTA                                                  = 0x5AD, 
    	// Insufficient quota to complete the requested service.
    	PAGEFILE_QUOTA                                                     = 0x5AE, 
    	// The paging file is too small for this operation to complete.
    	COMMITMENT_LIMIT                                                   = 0x5AF, 
    	// A menu item was not found.
    	MENU_ITEM_NOT_FOUND                                                = 0x5B0, 
    	// Invalid keyboard layout handle.
    	INVALID_KEYBOARD_HANDLE                                            = 0x5B1, 
    	// Hook type not allowed.
    	HOOK_TYPE_NOT_ALLOWED                                              = 0x5B2, 
    	// This operation requires an interactive window station.
    	REQUIRES_INTERACTIVE_WINDOWSTATION                                 = 0x5B3, 
    	// This operation returned because the timeout period expired.
    	TIMEOUT                                                            = 0x5B4, 
    	// Invalid monitor handle.
    	INVALID_MONITOR_HANDLE                                             = 0x5B5, 
    	// Incorrect size argument.
    	INCORRECT_SIZE                                                     = 0x5B6, 
    	// The symbolic link cannot be followed because its type is disabled.
    	SYMLINK_CLASS_DISABLED                                             = 0x5B7, 
    	// This application does not support the current operation on symbolic links.
    	SYMLINK_NOT_SUPPORTED                                              = 0x5B8, 
    	// Windows was unable to parse the requested XML data.
    	XML_PARSE_ERROR                                                    = 0x5B9, 
    	// An error was encountered while processing an XML digital signature.
    	XMLDSIG_ERROR                                                      = 0x5BA, 
    	// This application must be restarted.
    	RESTART_APPLICATION                                                = 0x5BB, 
    	// The caller made the connection request in the wrong routing compartment.
    	WRONG_COMPARTMENT                                                  = 0x5BC, 
    	// There was an AuthIP failure when attempting to connect to the remote host.
    	AUTHIP_FAILURE                                                     = 0x5BD, 
    	// Insufficient NVRAM resources exist to complete the requested service. A reboot might be required.
    	NO_NVRAM_RESOURCES                                                 = 0x5BE, 
    	// Unable to finish the requested operation because the specified process is not a GUI process.
    	NOT_GUI_PROCESS                                                    = 0x5BF, 
    	// The event log file is corrupted.
    	EVENTLOG_FILE_CORRUPT                                              = 0x5DC, 
    	// No event log file could be opened, so the event logging service did not start.
    	EVENTLOG_CANT_START                                                = 0x5DD, 
    	// The event log file is full.
    	LOG_FILE_FULL                                                      = 0x5DE, 
    	// The event log file has changed between read operations.
    	EVENTLOG_FILE_CHANGED                                              = 0x5DF, 
    	// The specified task name is invalid.
    	INVALID_TASK_NAME                                                  = 0x60E, 
    	// The specified task index is invalid.
    	INVALID_TASK_INDEX                                                 = 0x60F, 
    	// The specified thread is already joining a task.
    	THREAD_ALREADY_IN_TASK                                             = 0x610, 
    	// The Windows Installer Service could not be accessed. This can occur if the Windows Installer is not correctly installed. Contact your support personnel for assistance.
    	INSTALL_SERVICE_FAILURE                                            = 0x641, 
    	// User cancelled installation.
    	INSTALL_USEREXIT                                                   = 0x642, 
    	// Fatal error during installation.
    	INSTALL_FAILURE                                                    = 0x643, 
    	// Installation suspended, incomplete.
    	INSTALL_SUSPEND                                                    = 0x644, 
    	// This action is only valid for products that are currently installed.
    	UNKNOWN_PRODUCT                                                    = 0x645, 
    	// Feature ID not registered.
    	UNKNOWN_FEATURE                                                    = 0x646, 
    	// Component ID not registered.
    	UNKNOWN_COMPONENT                                                  = 0x647, 
    	// Unknown property.
    	UNKNOWN_PROPERTY                                                   = 0x648, 
    	// Handle is in an invalid state.
    	INVALID_HANDLE_STATE                                               = 0x649, 
    	// The configuration data for this product is corrupt. Contact your support personnel.
    	BAD_CONFIGURATION                                                  = 0x64A, 
    	// Component qualifier not present.
    	INDEX_ABSENT                                                       = 0x64B, 
    	// The installation source for this product is not available. Verify that the source exists and that you can access it.
    	INSTALL_SOURCE_ABSENT                                              = 0x64C, 
    	// This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service.
    	INSTALL_PACKAGE_VERSION                                            = 0x64D, 
    	// Product is uninstalled.
    	PRODUCT_UNINSTALLED                                                = 0x64E, 
    	// SQL query syntax invalid or unsupported.
    	BAD_QUERY_SYNTAX                                                   = 0x64F, 
    	// Record field does not exist.
    	INVALID_FIELD                                                      = 0x650, 
    	// The device has been removed.
    	DEVICE_REMOVED                                                     = 0x651, 
    	// Another installation is already in progress. Complete that installation before proceeding with this install.
    	INSTALL_ALREADY_RUNNING                                            = 0x652, 
    	// This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package.
    	INSTALL_PACKAGE_OPEN_FAILED                                        = 0x653, 
    	// This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package.
    	INSTALL_PACKAGE_INVALID                                            = 0x654, 
    	// There was an error starting the Windows Installer service user interface. Contact your support personnel.
    	INSTALL_UI_FAILURE                                                 = 0x655, 
    	// Error opening installation log file. Verify that the specified log file location exists and that you can write to it.
    	INSTALL_LOG_FAILURE                                                = 0x656, 
    	// The language of this installation package is not supported by your system.
    	INSTALL_LANGUAGE_UNSUPPORTED                                       = 0x657, 
    	// Error applying transforms. Verify that the specified transform paths are valid.
    	INSTALL_TRANSFORM_FAILURE                                          = 0x658, 
    	// This installation is forbidden by system policy. Contact your system administrator.
    	INSTALL_PACKAGE_REJECTED                                           = 0x659, 
    	// Function could not be executed.
    	FUNCTION_NOT_CALLED                                                = 0x65A, 
    	// Function failed during execution.
    	FUNCTION_FAILED                                                    = 0x65B, 
    	// Invalid or unknown table specified.
    	INVALID_TABLE                                                      = 0x65C, 
    	// Data supplied is of wrong type.
    	DATATYPE_MISMATCH                                                  = 0x65D, 
    	// Data of this type is not supported.
    	UNSUPPORTED_TYPE                                                   = 0x65E, 
    	// The Windows Installer service failed to start. Contact your support personnel.
    	CREATE_FAILED                                                      = 0x65F, 
    	// The Temp folder is on a drive that is full or is inaccessible. Free up space on the drive or verify that you have write permission on the Temp folder.
    	INSTALL_TEMP_UNWRITABLE                                            = 0x660, 
    	// This installation package is not supported by this processor type. Contact your product vendor.
    	INSTALL_PLATFORM_UNSUPPORTED                                       = 0x661, 
    	// Component not used on this computer.
    	INSTALL_NOTUSED                                                    = 0x662, 
    	// This update package could not be opened. Verify that the update package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer update package.
    	PATCH_PACKAGE_OPEN_FAILED                                          = 0x663, 
    	// This update package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer update package.
    	PATCH_PACKAGE_INVALID                                              = 0x664, 
    	// This update package cannot be processed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service.
    	PATCH_PACKAGE_UNSUPPORTED                                          = 0x665, 
    	// Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.
    	PRODUCT_VERSION                                                    = 0x666, 
    	// Invalid command line argument. Consult the Windows Installer SDK for detailed command line help.
    	INVALID_COMMAND_LINE                                               = 0x667, 
    	// Only administrators have permission to add, remove, or configure server software during a Terminal services remote session. If you want to install or configure software on the server, contact your network administrator.
    	INSTALL_REMOTE_DISALLOWED                                          = 0x668, 
    	// The requested operation completed successfully. The system will be restarted so the changes can take effect.
    	SUCCESS_REBOOT_INITIATED                                           = 0x669, 
    	// The upgrade cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade.
    	PATCH_TARGET_NOT_FOUND                                             = 0x66A, 
    	// The update package is not permitted by software restriction policy.
    	PATCH_PACKAGE_REJECTED                                             = 0x66B, 
    	// One or more customizations are not permitted by software restriction policy.
    	INSTALL_TRANSFORM_REJECTED                                         = 0x66C, 
    	// The Windows Installer does not permit installation from a Remote Desktop Connection.
    	INSTALL_REMOTE_PROHIBITED                                          = 0x66D, 
    	// Uninstallation of the update package is not supported.
    	PATCH_REMOVAL_UNSUPPORTED                                          = 0x66E, 
    	// The update is not applied to this product.
    	UNKNOWN_PATCH                                                      = 0x66F, 
    	// No valid sequence could be found for the set of updates.
    	PATCH_NO_SEQUENCE                                                  = 0x670, 
    	// Update removal was disallowed by policy.
    	PATCH_REMOVAL_DISALLOWED                                           = 0x671, 
    	// The XML update data is invalid.
    	INVALID_PATCH_XML                                                  = 0x672, 
    	// Windows Installer does not permit updating of managed advertised products. At least one feature of the product must be installed before applying the update.
    	PATCH_MANAGED_ADVERTISED_PRODUCT                                   = 0x673, 
    	// The Windows Installer service is not accessible in Safe Mode. Please try again when your computer is not in Safe Mode or you can use System Restore to return your machine to a previous good state.
    	INSTALL_SERVICE_SAFEBOOT                                           = 0x674, 
    	// A fail fast exception occurred. Exception handlers will not be invoked and the process will be terminated immediately.
    	FAIL_FAST_EXCEPTION                                                = 0x675, 
    	// The app that you are trying to run is not supported on this version of Windows.
    	INSTALL_REJECTED                                                   = 0x676, 
    	// The string binding is invalid.
    	RPC_S_INVALID_STRING_BINDING                                       = 0x6A4, 
    	// The binding handle is not the correct type.
    	RPC_S_WRONG_KIND_OF_BINDING                                        = 0x6A5, 
    	// The binding handle is invalid.
    	RPC_S_INVALID_BINDING                                              = 0x6A6, 
    	// The RPC protocol sequence is not supported.
    	RPC_S_PROTSEQ_NOT_SUPPORTED                                        = 0x6A7, 
    	// The RPC protocol sequence is invalid.
    	RPC_S_INVALID_RPC_PROTSEQ                                          = 0x6A8, 
    	// The string universal unique identifier (UUID) is invalid.
    	RPC_S_INVALID_STRING_UUID                                          = 0x6A9, 
    	// The endpoint format is invalid.
    	RPC_S_INVALID_ENDPOINT_FORMAT                                      = 0x6AA, 
    	// The network address is invalid.
    	RPC_S_INVALID_NET_ADDR                                             = 0x6AB, 
    	// No endpoint was found.
    	RPC_S_NO_ENDPOINT_FOUND                                            = 0x6AC, 
    	// The timeout value is invalid.
    	RPC_S_INVALID_TIMEOUT                                              = 0x6AD, 
    	// The object universal unique identifier (UUID) was not found.
    	RPC_S_OBJECT_NOT_FOUND                                             = 0x6AE, 
    	// The object universal unique identifier (UUID) has already been registered.
    	RPC_S_ALREADY_REGISTERED                                           = 0x6AF, 
    	// The type universal unique identifier (UUID) has already been registered.
    	RPC_S_TYPE_ALREADY_REGISTERED                                      = 0x6B0, 
    	// The RPC server is already listening.
    	RPC_S_ALREADY_LISTENING                                            = 0x6B1, 
    	// No protocol sequences have been registered.
    	RPC_S_NO_PROTSEQS_REGISTERED                                       = 0x6B2, 
    	// The RPC server is not listening.
    	RPC_S_NOT_LISTENING                                                = 0x6B3, 
    	// The manager type is unknown.
    	RPC_S_UNKNOWN_MGR_TYPE                                             = 0x6B4, 
    	// The interface is unknown.
    	RPC_S_UNKNOWN_IF                                                   = 0x6B5, 
    	// There are no bindings.
    	RPC_S_NO_BINDINGS                                                  = 0x6B6, 
    	// There are no protocol sequences.
    	RPC_S_NO_PROTSEQS                                                  = 0x6B7, 
    	// The endpoint cannot be created.
    	RPC_S_CANT_CREATE_ENDPOINT                                         = 0x6B8, 
    	// Not enough resources are available to complete this operation.
    	RPC_S_OUT_OF_RESOURCES                                             = 0x6B9, 
    	// The RPC server is unavailable.
    	RPC_S_SERVER_UNAVAILABLE                                           = 0x6BA, 
    	// The RPC server is too busy to complete this operation.
    	RPC_S_SERVER_TOO_BUSY                                              = 0x6BB, 
    	// The network options are invalid.
    	RPC_S_INVALID_NETWORK_OPTIONS                                      = 0x6BC, 
    	// There are no remote procedure calls active on this thread.
    	RPC_S_NO_CALL_ACTIVE                                               = 0x6BD, 
    	// The remote procedure call failed.
    	RPC_S_CALL_FAILED                                                  = 0x6BE, 
    	// The remote procedure call failed and did not execute.
    	RPC_S_CALL_FAILED_DNE                                              = 0x6BF, 
    	// A remote procedure call (RPC) protocol error occurred.
    	RPC_S_PROTOCOL_ERROR                                               = 0x6C0, 
    	// Access to the HTTP proxy is denied.
    	RPC_S_PROXY_ACCESS_DENIED                                          = 0x6C1, 
    	// The transfer syntax is not supported by the RPC server.
    	RPC_S_UNSUPPORTED_TRANS_SYN                                        = 0x6C2, 
    	// The universal unique identifier (UUID) type is not supported.
    	RPC_S_UNSUPPORTED_TYPE                                             = 0x6C4, 
    	// The tag is invalid.
    	RPC_S_INVALID_TAG                                                  = 0x6C5, 
    	// The array bounds are invalid.
    	RPC_S_INVALID_BOUND                                                = 0x6C6, 
    	// The binding does not contain an entry name.
    	RPC_S_NO_ENTRY_NAME                                                = 0x6C7, 
    	// The name syntax is invalid.
    	RPC_S_INVALID_NAME_SYNTAX                                          = 0x6C8, 
    	// The name syntax is not supported.
    	RPC_S_UNSUPPORTED_NAME_SYNTAX                                      = 0x6C9, 
    	// No network address is available to use to construct a universal unique identifier (UUID).
    	RPC_S_UUID_NO_ADDRESS                                              = 0x6CB, 
    	// The endpoint is a duplicate.
    	RPC_S_DUPLICATE_ENDPOINT                                           = 0x6CC, 
    	// The authentication type is unknown.
    	RPC_S_UNKNOWN_AUTHN_TYPE                                           = 0x6CD, 
    	// The maximum number of calls is too small.
    	RPC_S_MAX_CALLS_TOO_SMALL                                          = 0x6CE, 
    	// The string is too long.
    	RPC_S_STRING_TOO_LONG                                              = 0x6CF, 
    	// The RPC protocol sequence was not found.
    	RPC_S_PROTSEQ_NOT_FOUND                                            = 0x6D0, 
    	// The procedure number is out of range.
    	RPC_S_PROCNUM_OUT_OF_RANGE                                         = 0x6D1, 
    	// The binding does not contain any authentication information.
    	RPC_S_BINDING_HAS_NO_AUTH                                          = 0x6D2, 
    	// The authentication service is unknown.
    	RPC_S_UNKNOWN_AUTHN_SERVICE                                        = 0x6D3, 
    	// The authentication level is unknown.
    	RPC_S_UNKNOWN_AUTHN_LEVEL                                          = 0x6D4, 
    	// The security context is invalid.
    	RPC_S_INVALID_AUTH_IDENTITY                                        = 0x6D5, 
    	// The authorization service is unknown.
    	RPC_S_UNKNOWN_AUTHZ_SERVICE                                        = 0x6D6, 
    	// The entry is invalid.
    	EPT_S_INVALID_ENTRY                                                = 0x6D7, 
    	// The server endpoint cannot perform the operation.
    	EPT_S_CANT_PERFORM_OP                                              = 0x6D8, 
    	// There are no more endpoints available from the endpoint mapper.
    	EPT_S_NOT_REGISTERED                                               = 0x6D9, 
    	// No interfaces have been exported.
    	RPC_S_NOTHING_TO_EXPORT                                            = 0x6DA, 
    	// The entry name is incomplete.
    	RPC_S_INCOMPLETE_NAME                                              = 0x6DB, 
    	// The version option is invalid.
    	RPC_S_INVALID_VERS_OPTION                                          = 0x6DC, 
    	// There are no more members.
    	RPC_S_NO_MORE_MEMBERS                                              = 0x6DD, 
    	// There is nothing to unexport.
    	RPC_S_NOT_ALL_OBJS_UNEXPORTED                                      = 0x6DE, 
    	// The interface was not found.
    	RPC_S_INTERFACE_NOT_FOUND                                          = 0x6DF, 
    	// The entry already exists.
    	RPC_S_ENTRY_ALREADY_EXISTS                                         = 0x6E0, 
    	// The entry is not found.
    	RPC_S_ENTRY_NOT_FOUND                                              = 0x6E1, 
    	// The name service is unavailable.
    	RPC_S_NAME_SERVICE_UNAVAILABLE                                     = 0x6E2, 
    	// The network address family is invalid.
    	RPC_S_INVALID_NAF_ID                                               = 0x6E3, 
    	// The requested operation is not supported.
    	RPC_S_CANNOT_SUPPORT                                               = 0x6E4, 
    	// No security context is available to allow impersonation.
    	RPC_S_NO_CONTEXT_AVAILABLE                                         = 0x6E5, 
    	// An internal error occurred in a remote procedure call (RPC).
    	RPC_S_INTERNAL_ERROR                                               = 0x6E6, 
    	// The RPC server attempted an integer division by zero.
    	RPC_S_ZERO_DIVIDE                                                  = 0x6E7, 
    	// An addressing error occurred in the RPC server.
    	RPC_S_ADDRESS_ERROR                                                = 0x6E8, 
    	// A floating-point operation at the RPC server caused a division by zero.
    	RPC_S_FP_DIV_ZERO                                                  = 0x6E9, 
    	// A floating-point underflow occurred at the RPC server.
    	RPC_S_FP_UNDERFLOW                                                 = 0x6EA, 
    	// A floating-point overflow occurred at the RPC server.
    	RPC_S_FP_OVERFLOW                                                  = 0x6EB, 
    	// The list of RPC servers available for the binding of auto handles has been exhausted.
    	RPC_X_NO_MORE_ENTRIES                                              = 0x6EC, 
    	// Unable to open the character translation table file.
    	RPC_X_SS_CHAR_TRANS_OPEN_FAIL                                      = 0x6ED, 
    	// The file containing the character translation table has fewer than 512 bytes.
    	RPC_X_SS_CHAR_TRANS_SHORT_FILE                                     = 0x6EE, 
    	// A null context handle was passed from the client to the host during a remote procedure call.
    	RPC_X_SS_IN_NULL_CONTEXT                                           = 0x6EF, 
    	// The context handle changed during a remote procedure call.
    	RPC_X_SS_CONTEXT_DAMAGED                                           = 0x6F1, 
    	// The binding handles passed to a remote procedure call do not match.
    	RPC_X_SS_HANDLES_MISMATCH                                          = 0x6F2, 
    	// The stub is unable to get the remote procedure call handle.
    	RPC_X_SS_CANNOT_GET_CALL_HANDLE                                    = 0x6F3, 
    	// A null reference pointer was passed to the stub.
    	RPC_X_NULL_REF_POINTER                                             = 0x6F4, 
    	// The enumeration value is out of range.
    	RPC_X_ENUM_VALUE_OUT_OF_RANGE                                      = 0x6F5, 
    	// The byte count is too small.
    	RPC_X_BYTE_COUNT_TOO_SMALL                                         = 0x6F6, 
    	// The stub received bad data.
    	RPC_X_BAD_STUB_DATA                                                = 0x6F7, 
    	// The supplied user buffer is not valid for the requested operation.
    	INVALID_USER_BUFFER                                                = 0x6F8, 
    	// The disk media is not recognized. It may not be formatted.
    	UNRECOGNIZED_MEDIA                                                 = 0x6F9, 
    	// The workstation does not have a trust secret.
    	NO_TRUST_LSA_SECRET                                                = 0x6FA, 
    	// The security database on the server does not have a computer account for this workstation trust relationship.
    	NO_TRUST_SAM_ACCOUNT                                               = 0x6FB, 
    	// The trust relationship between the primary domain and the trusted domain failed.
    	TRUSTED_DOMAIN_FAILURE                                             = 0x6FC, 
    	// The trust relationship between this workstation and the primary domain failed.
    	TRUSTED_RELATIONSHIP_FAILURE                                       = 0x6FD, 
    	// The network logon failed.
    	TRUST_FAILURE                                                      = 0x6FE, 
    	// A remote procedure call is already in progress for this thread.
    	RPC_S_CALL_IN_PROGRESS                                             = 0x6FF, 
    	// An attempt was made to logon, but the network logon service was not started.
    	NETLOGON_NOT_STARTED                                               = 0x700, 
    	// The user's account has expired.
    	ACCOUNT_EXPIRED                                                    = 0x701, 
    	// The redirector is in use and cannot be unloaded.
    	REDIRECTOR_HAS_OPEN_HANDLES                                        = 0x702, 
    	// The specified printer driver is already installed.
    	PRINTER_DRIVER_ALREADY_INSTALLED                                   = 0x703, 
    	// The specified port is unknown.
    	UNKNOWN_PORT                                                       = 0x704, 
    	// The printer driver is unknown.
    	UNKNOWN_PRINTER_DRIVER                                             = 0x705, 
    	// The print processor is unknown.
    	UNKNOWN_PRINTPROCESSOR                                             = 0x706, 
    	// The specified separator file is invalid.
    	INVALID_SEPARATOR_FILE                                             = 0x707, 
    	// The specified priority is invalid.
    	INVALID_PRIORITY                                                   = 0x708, 
    	// The printer name is invalid.
    	INVALID_PRINTER_NAME                                               = 0x709, 
    	// The printer already exists.
    	PRINTER_ALREADY_EXISTS                                             = 0x70A, 
    	// The printer command is invalid.
    	INVALID_PRINTER_COMMAND                                            = 0x70B, 
    	// The specified datatype is invalid.
    	INVALID_DATATYPE                                                   = 0x70C, 
    	// The environment specified is invalid.
    	INVALID_ENVIRONMENT                                                = 0x70D, 
    	// There are no more bindings.
    	RPC_S_NO_MORE_BINDINGS                                             = 0x70E, 
    	// The account used is an interdomain trust account. Use your global user account or local user account to access this server.
    	NOLOGON_INTERDOMAIN_TRUST_ACCOUNT                                  = 0x70F, 
    	// The account used is a computer account. Use your global user account or local user account to access this server.
    	NOLOGON_WORKSTATION_TRUST_ACCOUNT                                  = 0x710, 
    	// The account used is a server trust account. Use your global user account or local user account to access this server.
    	NOLOGON_SERVER_TRUST_ACCOUNT                                       = 0x711, 
    	// The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain.
    	DOMAIN_TRUST_INCONSISTENT                                          = 0x712, 
    	// The server is in use and cannot be unloaded.
    	SERVER_HAS_OPEN_HANDLES                                            = 0x713, 
    	// The specified image file did not contain a resource section.
    	RESOURCE_DATA_NOT_FOUND                                            = 0x714, 
    	// The specified resource type cannot be found in the image file.
    	RESOURCE_TYPE_NOT_FOUND                                            = 0x715, 
    	// The specified resource name cannot be found in the image file.
    	RESOURCE_NAME_NOT_FOUND                                            = 0x716, 
    	// The specified resource language ID cannot be found in the image file.
    	RESOURCE_LANG_NOT_FOUND                                            = 0x717, 
    	// Not enough quota is available to process this command.
    	NOT_ENOUGH_QUOTA                                                   = 0x718, 
    	// No interfaces have been registered.
    	RPC_S_NO_INTERFACES                                                = 0x719, 
    	// The remote procedure call was cancelled.
    	RPC_S_CALL_CANCELLED                                               = 0x71A, 
    	// The binding handle does not contain all required information.
    	RPC_S_BINDING_INCOMPLETE                                           = 0x71B, 
    	// A communications failure occurred during a remote procedure call.
    	RPC_S_COMM_FAILURE                                                 = 0x71C, 
    	// The requested authentication level is not supported.
    	RPC_S_UNSUPPORTED_AUTHN_LEVEL                                      = 0x71D, 
    	// No principal name registered.
    	RPC_S_NO_PRINC_NAME                                                = 0x71E, 
    	// The error specified is not a valid Windows RPC error code.
    	RPC_S_NOT_RPC_ERROR                                                = 0x71F, 
    	// A UUID that is valid only on this computer has been allocated.
    	RPC_S_UUID_LOCAL_ONLY                                              = 0x720, 
    	// A security package specific error occurred.
    	RPC_S_SEC_PKG_ERROR                                                = 0x721, 
    	// Thread is not canceled.
    	RPC_S_NOT_CANCELLED                                                = 0x722, 
    	// Invalid operation on the encoding/decoding handle.
    	RPC_X_INVALID_ES_ACTION                                            = 0x723, 
    	// Incompatible version of the serializing package.
    	RPC_X_WRONG_ES_VERSION                                             = 0x724, 
    	// Incompatible version of the RPC stub.
    	RPC_X_WRONG_STUB_VERSION                                           = 0x725, 
    	// The RPC pipe object is invalid or corrupted.
    	RPC_X_INVALID_PIPE_OBJECT                                          = 0x726, 
    	// An invalid operation was attempted on an RPC pipe object.
    	RPC_X_WRONG_PIPE_ORDER                                             = 0x727, 
    	// Unsupported RPC pipe version.
    	RPC_X_WRONG_PIPE_VERSION                                           = 0x728, 
    	// HTTP proxy server rejected the connection because the cookie authentication failed.
    	RPC_S_COOKIE_AUTH_FAILED                                           = 0x729, 
    	// The group member was not found.
    	RPC_S_GROUP_MEMBER_NOT_FOUND                                       = 0x76A, 
    	// The endpoint mapper database entry could not be created.
    	EPT_S_CANT_CREATE                                                  = 0x76B, 
    	// The object universal unique identifier (UUID) is the nil UUID.
    	RPC_S_INVALID_OBJECT                                               = 0x76C, 
    	// The specified time is invalid.
    	INVALID_TIME                                                       = 0x76D, 
    	// The specified form name is invalid.
    	INVALID_FORM_NAME                                                  = 0x76E, 
    	// The specified form size is invalid.
    	INVALID_FORM_SIZE                                                  = 0x76F, 
    	// The specified printer handle is already being waited on.
    	ALREADY_WAITING                                                    = 0x770, 
    	// The specified printer has been deleted.
    	PRINTER_DELETED                                                    = 0x771, 
    	// The state of the printer is invalid.
    	INVALID_PRINTER_STATE                                              = 0x772, 
    	// The user's password must be changed before signing in.
    	PASSWORD_MUST_CHANGE                                               = 0x773, 
    	// Could not find the domain controller for this domain.
    	DOMAIN_CONTROLLER_NOT_FOUND                                        = 0x774, 
    	// The referenced account is currently locked out and may not be logged on to.
    	ACCOUNT_LOCKED_OUT                                                 = 0x775, 
    	// The object exporter specified was not found.
    	OR_INVALID_OXID                                                    = 0x776, 
    	// The object specified was not found.
    	OR_INVALID_OID                                                     = 0x777, 
    	// The object resolver set specified was not found.
    	OR_INVALID_SET                                                     = 0x778, 
    	// Some data remains to be sent in the request buffer.
    	RPC_S_SEND_INCOMPLETE                                              = 0x779, 
    	// Invalid asynchronous remote procedure call handle.
    	RPC_S_INVALID_ASYNC_HANDLE                                         = 0x77A, 
    	// Invalid asynchronous RPC call handle for this operation.
    	RPC_S_INVALID_ASYNC_CALL                                           = 0x77B, 
    	// The RPC pipe object has already been closed.
    	RPC_X_PIPE_CLOSED                                                  = 0x77C, 
    	// The RPC call completed before all pipes were processed.
    	RPC_X_PIPE_DISCIPLINE_ERROR                                        = 0x77D, 
    	// No more data is available from the RPC pipe.
    	RPC_X_PIPE_EMPTY                                                   = 0x77E, 
    	// No site name is available for this machine.
    	NO_SITENAME                                                        = 0x77F, 
    	// The file cannot be accessed by the system.
    	CANT_ACCESS_FILE                                                   = 0x780, 
    	// The name of the file cannot be resolved by the system.
    	CANT_RESOLVE_FILENAME                                              = 0x781, 
    	// The entry is not of the expected type.
    	RPC_S_ENTRY_TYPE_MISMATCH                                          = 0x782, 
    	// Not all object UUIDs could be exported to the specified entry.
    	RPC_S_NOT_ALL_OBJS_EXPORTED                                        = 0x783, 
    	// Interface could not be exported to the specified entry.
    	RPC_S_INTERFACE_NOT_EXPORTED                                       = 0x784, 
    	// The specified profile entry could not be added.
    	RPC_S_PROFILE_NOT_ADDED                                            = 0x785, 
    	// The specified profile element could not be added.
    	RPC_S_PRF_ELT_NOT_ADDED                                            = 0x786, 
    	// The specified profile element could not be removed.
    	RPC_S_PRF_ELT_NOT_REMOVED                                          = 0x787, 
    	// The group element could not be added.
    	RPC_S_GRP_ELT_NOT_ADDED                                            = 0x788, 
    	// The group element could not be removed.
    	RPC_S_GRP_ELT_NOT_REMOVED                                          = 0x789, 
    	// The printer driver is not compatible with a policy enabled on your computer that blocks NT 4.0 drivers.
    	KM_DRIVER_BLOCKED                                                  = 0x78A, 
    	// The context has expired and can no longer be used.
    	CONTEXT_EXPIRED                                                    = 0x78B, 
    	// The current user's delegated trust creation quota has been exceeded.
    	PER_USER_TRUST_QUOTA_EXCEEDED                                      = 0x78C, 
    	// The total delegated trust creation quota has been exceeded.
    	ALL_USER_TRUST_QUOTA_EXCEEDED                                      = 0x78D, 
    	// The current user's delegated trust deletion quota has been exceeded.
    	USER_DELETE_TRUST_QUOTA_EXCEEDED                                   = 0x78E, 
    	// The computer you are signing into is protected by an authentication firewall. The specified account is not allowed to authenticate to the computer.
    	AUTHENTICATION_FIREWALL_FAILED                                     = 0x78F, 
    	// Remote connections to the Print Spooler are blocked by a policy set on your machine.
    	REMOTE_PRINT_CONNECTIONS_BLOCKED                                   = 0x790, 
    	// Authentication failed because NTLM authentication has been disabled.
    	NTLM_BLOCKED                                                       = 0x791, 
    	// Logon Failure: EAS policy requires that the user change their password before this operation can be performed.
    	PASSWORD_CHANGE_REQUIRED                                           = 0x792, 
    	// The pixel format is invalid.
    	INVALID_PIXEL_FORMAT                                               = 0x7D0, 
    	// The specified driver is invalid.
    	BAD_DRIVER                                                         = 0x7D1, 
    	// The window style or class attribute is invalid for this operation.
    	INVALID_WINDOW_STYLE                                               = 0x7D2, 
    	// The requested metafile operation is not supported.
    	METAFILE_NOT_SUPPORTED                                             = 0x7D3, 
    	// The requested transformation operation is not supported.
    	TRANSFORM_NOT_SUPPORTED                                            = 0x7D4, 
    	// The requested clipping operation is not supported.
    	CLIPPING_NOT_SUPPORTED                                             = 0x7D5, 
    	// The specified color management module is invalid.
    	INVALID_CMM                                                        = 0x7DA, 
    	// The specified color profile is invalid.
    	INVALID_PROFILE                                                    = 0x7DB, 
    	// The specified tag was not found.
    	TAG_NOT_FOUND                                                      = 0x7DC, 
    	// A required tag is not present.
    	TAG_NOT_PRESENT                                                    = 0x7DD, 
    	// The specified tag is already present.
    	DUPLICATE_TAG                                                      = 0x7DE, 
    	// The specified color profile is not associated with the specified device.
    	PROFILE_NOT_ASSOCIATED_WITH_DEVICE                                 = 0x7DF, 
    	// The specified color profile was not found.
    	PROFILE_NOT_FOUND                                                  = 0x7E0, 
    	// The specified color space is invalid.
    	INVALID_COLORSPACE                                                 = 0x7E1, 
    	// Image Color Management is not enabled.
    	ICM_NOT_ENABLED                                                    = 0x7E2, 
    	// There was an error while deleting the color transform.
    	DELETING_ICM_XFORM                                                 = 0x7E3, 
    	// The specified color transform is invalid.
    	INVALID_TRANSFORM                                                  = 0x7E4, 
    	// The specified transform does not match the bitmap's color space.
    	COLORSPACE_MISMATCH                                                = 0x7E5, 
    	// The specified named color index is not present in the profile.
    	INVALID_COLORINDEX                                                 = 0x7E6, 
    	// The specified profile is intended for a device of a different type than the specified device.
    	PROFILE_DOES_NOT_MATCH_DEVICE                                      = 0x7E7, 
    	// The network connection was made successfully, but the user had to be prompted for a password other than the one originally specified.
    	CONNECTED_OTHER_PASSWORD                                           = 0x83C, 
    	// The network connection was made successfully using default credentials.
    	CONNECTED_OTHER_PASSWORD_DEFAULT                                   = 0x83D, 
    	// The specified username is invalid.
    	BAD_USERNAME                                                       = 0x89A, 
    	// This network connection does not exist.
    	NOT_CONNECTED                                                      = 0x8CA, 
    	// This network connection has files open or requests pending.
    	OPEN_FILES                                                         = 0x961, 
    	// Active connections still exist.
    	ACTIVE_CONNECTIONS                                                 = 0x962, 
    	// The device is in use by an active process and cannot be disconnected.
    	DEVICE_IN_USE                                                      = 0x964, 
    	// The specified print monitor is unknown.
    	UNKNOWN_PRINT_MONITOR                                              = 0xBB8, 
    	// The specified printer driver is currently in use.
    	PRINTER_DRIVER_IN_USE                                              = 0xBB9, 
    	// The spool file was not found.
    	SPOOL_FILE_NOT_FOUND                                               = 0xBBA, 
    	// A StartDocPrinter call was not issued.
    	SPL_NO_STARTDOC                                                    = 0xBBB, 
    	// An AddJob call was not issued.
    	SPL_NO_ADDJOB                                                      = 0xBBC, 
    	// The specified print processor has already been installed.
    	PRINT_PROCESSOR_ALREADY_INSTALLED                                  = 0xBBD, 
    	// The specified print monitor has already been installed.
    	PRINT_MONITOR_ALREADY_INSTALLED                                    = 0xBBE, 
    	// The specified print monitor does not have the required functions.
    	INVALID_PRINT_MONITOR                                              = 0xBBF, 
    	// The specified print monitor is currently in use.
    	PRINT_MONITOR_IN_USE                                               = 0xBC0, 
    	// The requested operation is not allowed when there are jobs queued to the printer.
    	PRINTER_HAS_JOBS_QUEUED                                            = 0xBC1, 
    	// The requested operation is successful. Changes will not be effective until the system is rebooted.
    	SUCCESS_REBOOT_REQUIRED                                            = 0xBC2, 
    	// The requested operation is successful. Changes will not be effective until the service is restarted.
    	SUCCESS_RESTART_REQUIRED                                           = 0xBC3, 
    	// No printers were found.
    	PRINTER_NOT_FOUND                                                  = 0xBC4, 
    	// The printer driver is known to be unreliable.
    	PRINTER_DRIVER_WARNED                                              = 0xBC5, 
    	// The printer driver is known to harm the system.
    	PRINTER_DRIVER_BLOCKED                                             = 0xBC6, 
    	// The specified printer driver package is currently in use.
    	PRINTER_DRIVER_PACKAGE_IN_USE                                      = 0xBC7, 
    	// Unable to find a core driver package that is required by the printer driver package.
    	CORE_DRIVER_PACKAGE_NOT_FOUND                                      = 0xBC8, 
    	// The requested operation failed. A system reboot is required to roll back changes made.
    	FAIL_REBOOT_REQUIRED                                               = 0xBC9, 
    	// The requested operation failed. A system reboot has been initiated to roll back changes made.
    	FAIL_REBOOT_INITIATED                                              = 0xBCA, 
    	// The specified printer driver was not found on the system and needs to be downloaded.
    	PRINTER_DRIVER_DOWNLOAD_NEEDED                                     = 0xBCB, 
    	// The requested print job has failed to print. A print system update requires the job to be resubmitted.
    	PRINT_JOB_RESTART_REQUIRED                                         = 0xBCC, 
    	// The printer driver does not contain a valid manifest, or contains too many manifests.
    	INVALID_PRINTER_DRIVER_MANIFEST                                    = 0xBCD, 
    	// The specified printer cannot be shared.
    	PRINTER_NOT_SHAREABLE                                              = 0xBCE, 
    	// The operation was paused.
    	REQUEST_PAUSED                                                     = 0xBEA, 
    	// Reissue the given operation as a cached IO operation.
    	IO_REISSUE_AS_CACHED                                               = 0xF6E, 
    	// WINS encountered an error while processing the command.
    	WINS_INTERNAL                                                      = 0xFA0, 
    	// The local WINS cannot be deleted.
    	CAN_NOT_DEL_LOCAL_WINS                                             = 0xFA1, 
    	// The importation from the file failed.
    	STATIC_INIT                                                        = 0xFA2, 
    	// The backup failed. Was a full backup done before?
    	INC_BACKUP                                                         = 0xFA3, 
    	// The backup failed. Check the directory to which you are backing the database.
    	FULL_BACKUP                                                        = 0xFA4, 
    	// The name does not exist in the WINS database.
    	REC_NON_EXISTENT                                                   = 0xFA5, 
    	// Replication with a nonconfigured partner is not allowed.
    	RPL_NOT_ALLOWED                                                    = 0xFA6, 
    	// The version of the supplied content information is not supported.
    	PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED                     = 0xFD2, 
    	// The supplied content information is malformed.
    	PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO                            = 0xFD3, 
    	// The requested data cannot be found in local or peer caches.
    	PEERDIST_ERROR_MISSING_DATA                                        = 0xFD4, 
    	// No more data is available or required.
    	PEERDIST_ERROR_NO_MORE                                             = 0xFD5, 
    	// The supplied object has not been initialized.
    	PEERDIST_ERROR_NOT_INITIALIZED                                     = 0xFD6, 
    	// The supplied object has already been initialized.
    	PEERDIST_ERROR_ALREADY_INITIALIZED                                 = 0xFD7, 
    	// A shutdown operation is already in progress.
    	PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS                                = 0xFD8, 
    	// The supplied object has already been invalidated.
    	PEERDIST_ERROR_INVALIDATED                                         = 0xFD9, 
    	// An element already exists and was not replaced.
    	PEERDIST_ERROR_ALREADY_EXISTS                                      = 0xFDA, 
    	// Cannot cancel the requested operation as it has already been completed.
    	PEERDIST_ERROR_OPERATION_NOTFOUND                                  = 0xFDB, 
    	// Can not perform the reqested operation because it has already been carried out.
    	PEERDIST_ERROR_ALREADY_COMPLETED                                   = 0xFDC, 
    	// An operation accessed data beyond the bounds of valid data.
    	PEERDIST_ERROR_OUT_OF_BOUNDS                                       = 0xFDD, 
    	// The requested version is not supported.
    	PEERDIST_ERROR_VERSION_UNSUPPORTED                                 = 0xFDE, 
    	// A configuration value is invalid.
    	PEERDIST_ERROR_INVALID_CONFIGURATION                               = 0xFDF, 
    	// The SKU is not licensed.
    	PEERDIST_ERROR_NOT_LICENSED                                        = 0xFE0, 
    	// PeerDist Service is still initializing and will be available shortly.
    	PEERDIST_ERROR_SERVICE_UNAVAILABLE                                 = 0xFE1, 
    	// Communication with one or more computers will be temporarily blocked due to recent errors.
    	PEERDIST_ERROR_TRUST_FAILURE                                       = 0xFE2, 
    	// The DHCP client has obtained an IP address that is already in use on the network. The local interface will be disabled until the DHCP client can obtain a new address.
    	DHCP_ADDRESS_CONFLICT                                              = 0x1004, 
    	// The GUID passed was not recognized as valid by a WMI data provider.
    	WMI_GUID_NOT_FOUND                                                 = 0x1068, 
    	// The instance name passed was not recognized as valid by a WMI data provider.
    	WMI_INSTANCE_NOT_FOUND                                             = 0x1069, 
    	// The data item ID passed was not recognized as valid by a WMI data provider.
    	WMI_ITEMID_NOT_FOUND                                               = 0x106A, 
    	// The WMI request could not be completed and should be retried.
    	WMI_TRY_AGAIN                                                      = 0x106B, 
    	// The WMI data provider could not be located.
    	WMI_DP_NOT_FOUND                                                   = 0x106C, 
    	// The WMI data provider references an instance set that has not been registered.
    	WMI_UNRESOLVED_INSTANCE_REF                                        = 0x106D, 
    	// The WMI data block or event notification has already been enabled.
    	WMI_ALREADY_ENABLED                                                = 0x106E, 
    	// The WMI data block is no longer available.
    	WMI_GUID_DISCONNECTED                                              = 0x106F, 
    	// The WMI data service is not available.
    	WMI_SERVER_UNAVAILABLE                                             = 0x1070, 
    	// The WMI data provider failed to carry out the request.
    	WMI_DP_FAILED                                                      = 0x1071, 
    	// The WMI MOF information is not valid.
    	WMI_INVALID_MOF                                                    = 0x1072, 
    	// The WMI registration information is not valid.
    	WMI_INVALID_REGINFO                                                = 0x1073, 
    	// The WMI data block or event notification has already been disabled.
    	WMI_ALREADY_DISABLED                                               = 0x1074, 
    	// The WMI data item or data block is read only.
    	WMI_READ_ONLY                                                      = 0x1075, 
    	// The WMI data item or data block could not be changed.
    	WMI_SET_FAILURE                                                    = 0x1076, 
    	// This operation is only valid in the context of an app container.
    	NOT_APPCONTAINER                                                   = 0x109A, 
    	// This application can only run in the context of an app container.
    	APPCONTAINER_REQUIRED                                              = 0x109B, 
    	// This functionality is not supported in the context of an app container.
    	NOT_SUPPORTED_IN_APPCONTAINER                                      = 0x109C, 
    	// The length of the SID supplied is not a valid length for app container SIDs.
    	INVALID_PACKAGE_SID_LENGTH                                         = 0x109D, 
    	// The media identifier does not represent a valid medium.
    	INVALID_MEDIA                                                      = 0x10CC, 
    	// The library identifier does not represent a valid library.
    	INVALID_LIBRARY                                                    = 0x10CD, 
    	// The media pool identifier does not represent a valid media pool.
    	INVALID_MEDIA_POOL                                                 = 0x10CE, 
    	// The drive and medium are not compatible or exist in different libraries.
    	DRIVE_MEDIA_MISMATCH                                               = 0x10CF, 
    	// The medium currently exists in an offline library and must be online to perform this operation.
    	MEDIA_OFFLINE                                                      = 0x10D0, 
    	// The operation cannot be performed on an offline library.
    	LIBRARY_OFFLINE                                                    = 0x10D1, 
    	// The library, drive, or media pool is empty.
    	EMPTY                                                              = 0x10D2, 
    	// The library, drive, or media pool must be empty to perform this operation.
    	NOT_EMPTY                                                          = 0x10D3, 
    	// No media is currently available in this media pool or library.
    	MEDIA_UNAVAILABLE                                                  = 0x10D4, 
    	// A resource required for this operation is disabled.
    	RESOURCE_DISABLED                                                  = 0x10D5, 
    	// The media identifier does not represent a valid cleaner.
    	INVALID_CLEANER                                                    = 0x10D6, 
    	// The drive cannot be cleaned or does not support cleaning.
    	UNABLE_TO_CLEAN                                                    = 0x10D7, 
    	// The object identifier does not represent a valid object.
    	OBJECT_NOT_FOUND                                                   = 0x10D8, 
    	// Unable to read from or write to the database.
    	DATABASE_FAILURE                                                   = 0x10D9, 
    	// The database is full.
    	DATABASE_FULL                                                      = 0x10DA, 
    	// The medium is not compatible with the device or media pool.
    	MEDIA_INCOMPATIBLE                                                 = 0x10DB, 
    	// The resource required for this operation does not exist.
    	RESOURCE_NOT_PRESENT                                               = 0x10DC, 
    	// The operation identifier is not valid.
    	INVALID_OPERATION                                                  = 0x10DD, 
    	// The media is not mounted or ready for use.
    	MEDIA_NOT_AVAILABLE                                                = 0x10DE, 
    	// The device is not ready for use.
    	DEVICE_NOT_AVAILABLE                                               = 0x10DF, 
    	// The operator or administrator has refused the request.
    	REQUEST_REFUSED                                                    = 0x10E0, 
    	// The drive identifier does not represent a valid drive.
    	INVALID_DRIVE_OBJECT                                               = 0x10E1, 
    	// Library is full. No slot is available for use.
    	LIBRARY_FULL                                                       = 0x10E2, 
    	// The transport cannot access the medium.
    	MEDIUM_NOT_ACCESSIBLE                                              = 0x10E3, 
    	// Unable to load the medium into the drive.
    	UNABLE_TO_LOAD_MEDIUM                                              = 0x10E4, 
    	// Unable to retrieve the drive status.
    	UNABLE_TO_INVENTORY_DRIVE                                          = 0x10E5, 
    	// Unable to retrieve the slot status.
    	UNABLE_TO_INVENTORY_SLOT                                           = 0x10E6, 
    	// Unable to retrieve status about the transport.
    	UNABLE_TO_INVENTORY_TRANSPORT                                      = 0x10E7, 
    	// Cannot use the transport because it is already in use.
    	TRANSPORT_FULL                                                     = 0x10E8, 
    	// Unable to open or close the inject/eject port.
    	CONTROLLING_IEPORT                                                 = 0x10E9, 
    	// Unable to eject the medium because it is in a drive.
    	UNABLE_TO_EJECT_MOUNTED_MEDIA                                      = 0x10EA, 
    	// A cleaner slot is already reserved.
    	CLEANER_SLOT_SET                                                   = 0x10EB, 
    	// A cleaner slot is not reserved.
    	CLEANER_SLOT_NOT_SET                                               = 0x10EC, 
    	// The cleaner cartridge has performed the maximum number of drive cleanings.
    	CLEANER_CARTRIDGE_SPENT                                            = 0x10ED, 
    	// Unexpected on-medium identifier.
    	UNEXPECTED_OMID                                                    = 0x10EE, 
    	// The last remaining item in this group or resource cannot be deleted.
    	CANT_DELETE_LAST_ITEM                                              = 0x10EF, 
    	// The message provided exceeds the maximum size allowed for this parameter.
    	MESSAGE_EXCEEDS_MAX_SIZE                                           = 0x10F0, 
    	// The volume contains system or paging files.
    	VOLUME_CONTAINS_SYS_FILES                                          = 0x10F1, 
    	// The media type cannot be removed from this library since at least one drive in the library reports it can support this media type.
    	INDIGENOUS_TYPE                                                    = 0x10F2, 
    	// This offline media cannot be mounted on this system since no enabled drives are present which can be used.
    	NO_SUPPORTING_DRIVES                                               = 0x10F3, 
    	// A cleaner cartridge is present in the tape library.
    	CLEANER_CARTRIDGE_INSTALLED                                        = 0x10F4, 
    	// Cannot use the inject/eject port because it is not empty.
    	IEPORT_FULL                                                        = 0x10F5, 
    	// This file is currently not available for use on this computer.
    	FILE_OFFLINE                                                       = 0x10FE, 
    	// The remote storage service is not operational at this time.
    	REMOTE_STORAGE_NOT_ACTIVE                                          = 0x10FF, 
    	// The remote storage service encountered a media error.
    	REMOTE_STORAGE_MEDIA_ERROR                                         = 0x1100, 
    	// The file or directory is not a reparse point.
    	NOT_A_REPARSE_POINT                                                = 0x1126, 
    	// The reparse point attribute cannot be set because it conflicts with an existing attribute.
    	REPARSE_ATTRIBUTE_CONFLICT                                         = 0x1127, 
    	// The data present in the reparse point buffer is invalid.
    	INVALID_REPARSE_DATA                                               = 0x1128, 
    	// The tag present in the reparse point buffer is invalid.
    	REPARSE_TAG_INVALID                                                = 0x1129, 
    	// There is a mismatch between the tag specified in the request and the tag present in the reparse point.
    	REPARSE_TAG_MISMATCH                                               = 0x112A, 
    	// Fast Cache data not found.
    	APP_DATA_NOT_FOUND                                                 = 0x1130, 
    	// Fast Cache data expired.
    	APP_DATA_EXPIRED                                                   = 0x1131, 
    	// Fast Cache data corrupt.
    	APP_DATA_CORRUPT                                                   = 0x1132, 
    	// Fast Cache data has exceeded its max size and cannot be updated.
    	APP_DATA_LIMIT_EXCEEDED                                            = 0x1133, 
    	// Fast Cache has been ReArmed and requires a reboot until it can be updated.
    	APP_DATA_REBOOT_REQUIRED                                           = 0x1134, 
    	// Secure Boot detected that rollback of protected data has been attempted.
    	SECUREBOOT_ROLLBACK_DETECTED                                       = 0x1144, 
    	// The value is protected by Secure Boot policy and cannot be modified or deleted.
    	SECUREBOOT_POLICY_VIOLATION                                        = 0x1145, 
    	// The Secure Boot policy is invalid.
    	SECUREBOOT_INVALID_POLICY                                          = 0x1146, 
    	// A new Secure Boot policy did not contain the current publisher on its update list.
    	SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND                              = 0x1147, 
    	// The Secure Boot policy is either not signed or is signed by a non-trusted signer.
    	SECUREBOOT_POLICY_NOT_SIGNED                                       = 0x1148, 
    	// Secure Boot is not enabled on this machine.
    	SECUREBOOT_NOT_ENABLED                                             = 0x1149, 
    	// Secure Boot requires that certain files and drivers are not replaced by other files or drivers.
    	SECUREBOOT_FILE_REPLACED                                           = 0x114A, 
    	// The copy offload read operation is not supported by a filter.
    	OFFLOAD_READ_FLT_NOT_SUPPORTED                                     = 0x1158, 
    	// The copy offload write operation is not supported by a filter.
    	OFFLOAD_WRITE_FLT_NOT_SUPPORTED                                    = 0x1159, 
    	// The copy offload read operation is not supported for the file.
    	OFFLOAD_READ_FILE_NOT_SUPPORTED                                    = 0x115A, 
    	// The copy offload write operation is not supported for the file.
    	OFFLOAD_WRITE_FILE_NOT_SUPPORTED                                   = 0x115B, 
    	// Single Instance Storage is not available on this volume.
    	VOLUME_NOT_SIS_ENABLED                                             = 0x1194, 
    	// The operation cannot be completed because other resources are dependent on this resource.
    	DEPENDENT_RESOURCE_EXISTS                                          = 0x1389, 
    	// The cluster resource dependency cannot be found.
    	DEPENDENCY_NOT_FOUND                                               = 0x138A, 
    	// The cluster resource cannot be made dependent on the specified resource because it is already dependent.
    	DEPENDENCY_ALREADY_EXISTS                                          = 0x138B, 
    	// The cluster resource is not online.
    	RESOURCE_NOT_ONLINE                                                = 0x138C, 
    	// A cluster node is not available for this operation.
    	HOST_NODE_NOT_AVAILABLE                                            = 0x138D, 
    	// The cluster resource is not available.
    	RESOURCE_NOT_AVAILABLE                                             = 0x138E, 
    	// The cluster resource could not be found.
    	RESOURCE_NOT_FOUND                                                 = 0x138F, 
    	// The cluster is being shut down.
    	SHUTDOWN_CLUSTER                                                   = 0x1390, 
    	// A cluster node cannot be evicted from the cluster unless the node is down or it is the last node.
    	CANT_EVICT_ACTIVE_NODE                                             = 0x1391, 
    	// The object already exists.
    	OBJECT_ALREADY_EXISTS                                              = 0x1392, 
    	// The object is already in the list.
    	OBJECT_IN_LIST                                                     = 0x1393, 
    	// The cluster group is not available for any new requests.
    	GROUP_NOT_AVAILABLE                                                = 0x1394, 
    	// The cluster group could not be found.
    	GROUP_NOT_FOUND                                                    = 0x1395, 
    	// The operation could not be completed because the cluster group is not online.
    	GROUP_NOT_ONLINE                                                   = 0x1396, 
    	// The operation failed because either the specified cluster node is not the owner of the resource, or the node is not a possible owner of the resource.
    	HOST_NODE_NOT_RESOURCE_OWNER                                       = 0x1397, 
    	// The operation failed because either the specified cluster node is not the owner of the group, or the node is not a possible owner of the group.
    	HOST_NODE_NOT_GROUP_OWNER                                          = 0x1398, 
    	// The cluster resource could not be created in the specified resource monitor.
    	RESMON_CREATE_FAILED                                               = 0x1399, 
    	// The cluster resource could not be brought online by the resource monitor.
    	RESMON_ONLINE_FAILED                                               = 0x139A, 
    	// The operation could not be completed because the cluster resource is online.
    	RESOURCE_ONLINE                                                    = 0x139B, 
    	// The cluster resource could not be deleted or brought offline because it is the quorum resource.
    	QUORUM_RESOURCE                                                    = 0x139C, 
    	// The cluster could not make the specified resource a quorum resource because it is not capable of being a quorum resource.
    	NOT_QUORUM_CAPABLE                                                 = 0x139D, 
    	// The cluster software is shutting down.
    	CLUSTER_SHUTTING_DOWN                                              = 0x139E, 
    	// The group or resource is not in the correct state to perform the requested operation.
    	INVALID_STATE                                                      = 0x139F, 
    	// The properties were stored but not all changes will take effect until the next time the resource is brought online.
    	RESOURCE_PROPERTIES_STORED                                         = 0x13A0, 
    	// The cluster could not make the specified resource a quorum resource because it does not belong to a shared storage class.
    	NOT_QUORUM_CLASS                                                   = 0x13A1, 
    	// The cluster resource could not be deleted since it is a core resource.
    	CORE_RESOURCE                                                      = 0x13A2, 
    	// The quorum resource failed to come online.
    	QUORUM_RESOURCE_ONLINE_FAILED                                      = 0x13A3, 
    	// The quorum log could not be created or mounted successfully.
    	QUORUMLOG_OPEN_FAILED                                              = 0x13A4, 
    	// The cluster log is corrupt.
    	CLUSTERLOG_CORRUPT                                                 = 0x13A5, 
    	// The record could not be written to the cluster log since it exceeds the maximum size.
    	CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE                                  = 0x13A6, 
    	// The cluster log exceeds its maximum size.
    	CLUSTERLOG_EXCEEDS_MAXSIZE                                         = 0x13A7, 
    	// No checkpoint record was found in the cluster log.
    	CLUSTERLOG_CHKPOINT_NOT_FOUND                                      = 0x13A8, 
    	// The minimum required disk space needed for logging is not available.
    	CLUSTERLOG_NOT_ENOUGH_SPACE                                        = 0x13A9, 
    	// The cluster node failed to take control of the quorum resource because the resource is owned by another active node.
    	QUORUM_OWNER_ALIVE                                                 = 0x13AA, 
    	// A cluster network is not available for this operation.
    	NETWORK_NOT_AVAILABLE                                              = 0x13AB, 
    	// A cluster node is not available for this operation.
    	NODE_NOT_AVAILABLE                                                 = 0x13AC, 
    	// All cluster nodes must be running to perform this operation.
    	ALL_NODES_NOT_AVAILABLE                                            = 0x13AD, 
    	// A cluster resource failed.
    	RESOURCE_FAILED                                                    = 0x13AE, 
    	// The cluster node is not valid.
    	CLUSTER_INVALID_NODE                                               = 0x13AF, 
    	// The cluster node already exists.
    	CLUSTER_NODE_EXISTS                                                = 0x13B0, 
    	// A node is in the process of joining the cluster.
    	CLUSTER_JOIN_IN_PROGRESS                                           = 0x13B1, 
    	// The cluster node was not found.
    	CLUSTER_NODE_NOT_FOUND                                             = 0x13B2, 
    	// The cluster local node information was not found.
    	CLUSTER_LOCAL_NODE_NOT_FOUND                                       = 0x13B3, 
    	// The cluster network already exists.
    	CLUSTER_NETWORK_EXISTS                                             = 0x13B4, 
    	// The cluster network was not found.
    	CLUSTER_NETWORK_NOT_FOUND                                          = 0x13B5, 
    	// The cluster network interface already exists.
    	CLUSTER_NETINTERFACE_EXISTS                                        = 0x13B6, 
    	// The cluster network interface was not found.
    	CLUSTER_NETINTERFACE_NOT_FOUND                                     = 0x13B7, 
    	// The cluster request is not valid for this object.
    	CLUSTER_INVALID_REQUEST                                            = 0x13B8, 
    	// The cluster network provider is not valid.
    	CLUSTER_INVALID_NETWORK_PROVIDER                                   = 0x13B9, 
    	// The cluster node is down.
    	CLUSTER_NODE_DOWN                                                  = 0x13BA, 
    	// The cluster node is not reachable.
    	CLUSTER_NODE_UNREACHABLE                                           = 0x13BB, 
    	// The cluster node is not a member of the cluster.
    	CLUSTER_NODE_NOT_MEMBER                                            = 0x13BC, 
    	// A cluster join operation is not in progress.
    	CLUSTER_JOIN_NOT_IN_PROGRESS                                       = 0x13BD, 
    	// The cluster network is not valid.
    	CLUSTER_INVALID_NETWORK                                            = 0x13BE, 
    	// The cluster node is up.
    	CLUSTER_NODE_UP                                                    = 0x13C0, 
    	// The cluster IP address is already in use.
    	CLUSTER_IPADDR_IN_USE                                              = 0x13C1, 
    	// The cluster node is not paused.
    	CLUSTER_NODE_NOT_PAUSED                                            = 0x13C2, 
    	// No cluster security context is available.
    	CLUSTER_NO_SECURITY_CONTEXT                                        = 0x13C3, 
    	// The cluster network is not configured for internal cluster communication.
    	CLUSTER_NETWORK_NOT_INTERNAL                                       = 0x13C4, 
    	// The cluster node is already up.
    	CLUSTER_NODE_ALREADY_UP                                            = 0x13C5, 
    	// The cluster node is already down.
    	CLUSTER_NODE_ALREADY_DOWN                                          = 0x13C6, 
    	// The cluster network is already online.
    	CLUSTER_NETWORK_ALREADY_ONLINE                                     = 0x13C7, 
    	// The cluster network is already offline.
    	CLUSTER_NETWORK_ALREADY_OFFLINE                                    = 0x13C8, 
    	// The cluster node is already a member of the cluster.
    	CLUSTER_NODE_ALREADY_MEMBER                                        = 0x13C9, 
    	// The cluster network is the only one configured for internal cluster communication between two or more active cluster nodes. The internal communication capability cannot be removed from the network.
    	CLUSTER_LAST_INTERNAL_NETWORK                                      = 0x13CA, 
    	// One or more cluster resources depend on the network to provide service to clients. The client access capability cannot be removed from the network.
    	CLUSTER_NETWORK_HAS_DEPENDENTS                                     = 0x13CB, 
    	// This operation cannot be performed on the cluster resource as it the quorum resource. You may not bring the quorum resource offline or modify its possible owners list.
    	INVALID_OPERATION_ON_QUORUM                                        = 0x13CC, 
    	// The cluster quorum resource is not allowed to have any dependencies.
    	DEPENDENCY_NOT_ALLOWED                                             = 0x13CD, 
    	// The cluster node is paused.
    	CLUSTER_NODE_PAUSED                                                = 0x13CE, 
    	// The cluster resource cannot be brought online. The owner node cannot run this resource.
    	NODE_CANT_HOST_RESOURCE                                            = 0x13CF, 
    	// The cluster node is not ready to perform the requested operation.
    	CLUSTER_NODE_NOT_READY                                             = 0x13D0, 
    	// The cluster node is shutting down.
    	CLUSTER_NODE_SHUTTING_DOWN                                         = 0x13D1, 
    	// The cluster join operation was aborted.
    	CLUSTER_JOIN_ABORTED                                               = 0x13D2, 
    	// The cluster join operation failed due to incompatible software versions between the joining node and its sponsor.
    	CLUSTER_INCOMPATIBLE_VERSIONS                                      = 0x13D3, 
    	// This resource cannot be created because the cluster has reached the limit on the number of resources it can monitor.
    	CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED                               = 0x13D4, 
    	// The system configuration changed during the cluster join or form operation. The join or form operation was aborted.
    	CLUSTER_SYSTEM_CONFIG_CHANGED                                      = 0x13D5, 
    	// The specified resource type was not found.
    	CLUSTER_RESOURCE_TYPE_NOT_FOUND                                    = 0x13D6, 
    	// The specified node does not support a resource of this type. This may be due to version inconsistencies or due to the absence of the resource DLL on this node.
    	CLUSTER_RESTYPE_NOT_SUPPORTED                                      = 0x13D7, 
    	// The specified resource name is not supported by this resource DLL. This may be due to a bad (or changed) name supplied to the resource DLL.
    	CLUSTER_RESNAME_NOT_FOUND                                          = 0x13D8, 
    	// No authentication package could be registered with the RPC server.
    	CLUSTER_NO_RPC_PACKAGES_REGISTERED                                 = 0x13D9, 
    	// You cannot bring the group online because the owner of the group is not in the preferred list for the group. To change the owner node for the group, move the group.
    	CLUSTER_OWNER_NOT_IN_PREFLIST                                      = 0x13DA, 
    	// The join operation failed because the cluster database sequence number has changed or is incompatible with the locker node. This may happen during a join operation if the cluster database was changing during the join.
    	CLUSTER_DATABASE_SEQMISMATCH                                       = 0x13DB, 
    	// The resource monitor will not allow the fail operation to be performed while the resource is in its current state. This may happen if the resource is in a pending state.
    	RESMON_INVALID_STATE                                               = 0x13DC, 
    	// A non locker code got a request to reserve the lock for making global updates.
    	CLUSTER_GUM_NOT_LOCKER                                             = 0x13DD, 
    	// The quorum disk could not be located by the cluster service.
    	QUORUM_DISK_NOT_FOUND                                              = 0x13DE, 
    	// The backed up cluster database is possibly corrupt.
    	DATABASE_BACKUP_CORRUPT                                            = 0x13DF, 
    	// A DFS root already exists in this cluster node.
    	CLUSTER_NODE_ALREADY_HAS_DFS_ROOT                                  = 0x13E0, 
    	// An attempt to modify a resource property failed because it conflicts with another existing property.
    	RESOURCE_PROPERTY_UNCHANGEABLE                                     = 0x13E1, 
    	// An operation was attempted that is incompatible with the current membership state of the node.
    	CLUSTER_MEMBERSHIP_INVALID_STATE                                   = 0x1702, 
    	// The quorum resource does not contain the quorum log.
    	CLUSTER_QUORUMLOG_NOT_FOUND                                        = 0x1703, 
    	// The membership engine requested shutdown of the cluster service on this node.
    	CLUSTER_MEMBERSHIP_HALT                                            = 0x1704, 
    	// The join operation failed because the cluster instance ID of the joining node does not match the cluster instance ID of the sponsor node.
    	CLUSTER_INSTANCE_ID_MISMATCH                                       = 0x1705, 
    	// A matching cluster network for the specified IP address could not be found.
    	CLUSTER_NETWORK_NOT_FOUND_FOR_IP                                   = 0x1706, 
    	// The actual data type of the property did not match the expected data type of the property.
    	CLUSTER_PROPERTY_DATA_TYPE_MISMATCH                                = 0x1707, 
    	// The cluster node was evicted from the cluster successfully, but the node was not cleaned up. To determine what cleanup steps failed and how to recover, see the Failover Clustering application event log using Event Viewer.
    	CLUSTER_EVICT_WITHOUT_CLEANUP                                      = 0x1708, 
    	// Two or more parameter values specified for a resource's properties are in conflict.
    	CLUSTER_PARAMETER_MISMATCH                                         = 0x1709, 
    	// This computer cannot be made a member of a cluster.
    	NODE_CANNOT_BE_CLUSTERED                                           = 0x170A, 
    	// This computer cannot be made a member of a cluster because it does not have the correct version of Windows installed.
    	CLUSTER_WRONG_OS_VERSION                                           = 0x170B, 
    	// A cluster cannot be created with the specified cluster name because that cluster name is already in use. Specify a different name for the cluster.
    	CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME                               = 0x170C, 
    	// The cluster configuration action has already been committed.
    	CLUSCFG_ALREADY_COMMITTED                                          = 0x170D, 
    	// The cluster configuration action could not be rolled back.
    	CLUSCFG_ROLLBACK_FAILED                                            = 0x170E, 
    	// The drive letter assigned to a system disk on one node conflicted with the drive letter assigned to a disk on another node.
    	CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT                          = 0x170F, 
    	// One or more nodes in the cluster are running a version of Windows that does not support this operation.
    	CLUSTER_OLD_VERSION                                                = 0x1710, 
    	// The name of the corresponding computer account doesn't match the Network Name for this resource.
    	CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME                              = 0x1711, 
    	// No network adapters are available.
    	CLUSTER_NO_NET_ADAPTERS                                            = 0x1712, 
    	// The cluster node has been poisoned.
    	CLUSTER_POISONED                                                   = 0x1713, 
    	// The group is unable to accept the request since it is moving to another node.
    	CLUSTER_GROUP_MOVING                                               = 0x1714, 
    	// The resource type cannot accept the request since is too busy performing another operation.
    	CLUSTER_RESOURCE_TYPE_BUSY                                         = 0x1715, 
    	// The call to the cluster resource DLL timed out.
    	RESOURCE_CALL_TIMED_OUT                                            = 0x1716, 
    	// The address is not valid for an IPv6 Address resource. A global IPv6 address is required, and it must match a cluster network. Compatibility addresses are not permitted.
    	INVALID_CLUSTER_IPV6_ADDRESS                                       = 0x1717, 
    	// An internal cluster error occurred. A call to an invalid function was attempted.
    	CLUSTER_INTERNAL_INVALID_FUNCTION                                  = 0x1718, 
    	// A parameter value is out of acceptable range.
    	CLUSTER_PARAMETER_OUT_OF_BOUNDS                                    = 0x1719, 
    	// A network error occurred while sending data to another node in the cluster. The number of bytes transmitted was less than required.
    	CLUSTER_PARTIAL_SEND                                               = 0x171A, 
    	// An invalid cluster registry operation was attempted.
    	CLUSTER_REGISTRY_INVALID_FUNCTION                                  = 0x171B, 
    	// An input string of characters is not properly terminated.
    	CLUSTER_INVALID_STRING_TERMINATION                                 = 0x171C, 
    	// An input string of characters is not in a valid format for the data it represents.
    	CLUSTER_INVALID_STRING_FORMAT                                      = 0x171D, 
    	// An internal cluster error occurred. A cluster database transaction was attempted while a transaction was already in progress.
    	CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS                           = 0x171E, 
    	// An internal cluster error occurred. There was an attempt to commit a cluster database transaction while no transaction was in progress.
    	CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS                       = 0x171F, 
    	// An internal cluster error occurred. Data was not properly initialized.
    	CLUSTER_NULL_DATA                                                  = 0x1720, 
    	// An error occurred while reading from a stream of data. An unexpected number of bytes was returned.
    	CLUSTER_PARTIAL_READ                                               = 0x1721, 
    	// An error occurred while writing to a stream of data. The required number of bytes could not be written.
    	CLUSTER_PARTIAL_WRITE                                              = 0x1722, 
    	// An error occurred while deserializing a stream of cluster data.
    	CLUSTER_CANT_DESERIALIZE_DATA                                      = 0x1723, 
    	// One or more property values for this resource are in conflict with one or more property values associated with its dependent resource(s).
    	DEPENDENT_RESOURCE_PROPERTY_CONFLICT                               = 0x1724, 
    	// A quorum of cluster nodes was not present to form a cluster.
    	CLUSTER_NO_QUORUM                                                  = 0x1725, 
    	// The cluster network is not valid for an IPv6 Address resource, or it does not match the configured address.
    	CLUSTER_INVALID_IPV6_NETWORK                                       = 0x1726, 
    	// The cluster network is not valid for an IPv6 Tunnel resource. Check the configuration of the IP Address resource on which the IPv6 Tunnel resource depends.
    	CLUSTER_INVALID_IPV6_TUNNEL_NETWORK                                = 0x1727, 
    	// Quorum resource cannot reside in the Available Storage group.
    	QUORUM_NOT_ALLOWED_IN_THIS_GROUP                                   = 0x1728, 
    	// The dependencies for this resource are nested too deeply.
    	DEPENDENCY_TREE_TOO_COMPLEX                                        = 0x1729, 
    	// The call into the resource DLL raised an unhandled exception.
    	EXCEPTION_IN_RESOURCE_CALL                                         = 0x172A, 
    	// The RHS process failed to initialize.
    	CLUSTER_RHS_FAILED_INITIALIZATION                                  = 0x172B, 
    	// The Failover Clustering feature is not installed on this node.
    	CLUSTER_NOT_INSTALLED                                              = 0x172C, 
    	// The resources must be online on the same node for this operation.
    	CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE                  = 0x172D, 
    	// A new node can not be added since this cluster is already at its maximum number of nodes.
    	CLUSTER_MAX_NODES_IN_CLUSTER                                       = 0x172E, 
    	// This cluster can not be created since the specified number of nodes exceeds the maximum allowed limit.
    	CLUSTER_TOO_MANY_NODES                                             = 0x172F, 
    	// An attempt to use the specified cluster name failed because an enabled computer object with the given name already exists in the domain.
    	CLUSTER_OBJECT_ALREADY_USED                                        = 0x1730, 
    	// This cluster cannot be destroyed. It has non-core application groups which must be deleted before the cluster can be destroyed.
    	NONCORE_GROUPS_FOUND                                               = 0x1731, 
    	// File share associated with file share witness resource cannot be hosted by this cluster or any of its nodes.
    	FILE_SHARE_RESOURCE_CONFLICT                                       = 0x1732, 
    	// Eviction of this node is invalid at this time. Due to quorum requirements node eviction will result in cluster shutdown. If it is the last node in the cluster, destroy cluster command should be used.
    	CLUSTER_EVICT_INVALID_REQUEST                                      = 0x1733, 
    	// Only one instance of this resource type is allowed in the cluster.
    	CLUSTER_SINGLETON_RESOURCE                                         = 0x1734, 
    	// Only one instance of this resource type is allowed per resource group.
    	CLUSTER_GROUP_SINGLETON_RESOURCE                                   = 0x1735, 
    	// The resource failed to come online due to the failure of one or more provider resources.
    	CLUSTER_RESOURCE_PROVIDER_FAILED                                   = 0x1736, 
    	// The resource has indicated that it cannot come online on any node.
    	CLUSTER_RESOURCE_CONFIGURATION_ERROR                               = 0x1737, 
    	// The current operation cannot be performed on this group at this time.
    	CLUSTER_GROUP_BUSY                                                 = 0x1738, 
    	// The directory or file is not located on a cluster shared volume.
    	CLUSTER_NOT_SHARED_VOLUME                                          = 0x1739, 
    	// The Security Descriptor does not meet the requirements for a cluster.
    	CLUSTER_INVALID_SECURITY_DESCRIPTOR                                = 0x173A, 
    	// There is one or more shared volumes resources configured in the cluster. Those resources must be moved to available storage in order for operation to succeed.
    	CLUSTER_SHARED_VOLUMES_IN_USE                                      = 0x173B, 
    	// This group or resource cannot be directly manipulated. Use shared volume APIs to perform desired operation.
    	CLUSTER_USE_SHARED_VOLUMES_API                                     = 0x173C, 
    	// Back up is in progress. Please wait for backup completion before trying this operation again.
    	CLUSTER_BACKUP_IN_PROGRESS                                         = 0x173D, 
    	// The path does not belong to a cluster shared volume.
    	NON_CSV_PATH                                                       = 0x173E, 
    	// The cluster shared volume is not locally mounted on this node.
    	CSV_VOLUME_NOT_LOCAL                                               = 0x173F, 
    	// The cluster watchdog is terminating.
    	CLUSTER_WATCHDOG_TERMINATING                                       = 0x1740, 
    	// A resource vetoed a move between two nodes because they are incompatible.
    	CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES                    = 0x1741, 
    	// The request is invalid either because node weight cannot be changed while the cluster is in disk-only quorum mode, or because changing the node weight would violate the minimum cluster quorum requirements.
    	CLUSTER_INVALID_NODE_WEIGHT                                        = 0x1742, 
    	// The resource vetoed the call.
    	CLUSTER_RESOURCE_VETOED_CALL                                       = 0x1743, 
    	// Resource could not start or run because it could not reserve sufficient system resources.
    	RESMON_SYSTEM_RESOURCES_LACKING                                    = 0x1744, 
    	// A resource vetoed a move between two nodes because the destination currently does not have enough resources to complete the operation.
    	CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION   = 0x1745, 
    	// A resource vetoed a move between two nodes because the source currently does not have enough resources to complete the operation.
    	CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE        = 0x1746, 
    	// The requested operation can not be completed because the group is queued for an operation.
    	CLUSTER_GROUP_QUEUED                                               = 0x1747, 
    	// The requested operation can not be completed because a resource has locked status.
    	CLUSTER_RESOURCE_LOCKED_STATUS                                     = 0x1748, 
    	// The resource cannot move to another node because a cluster shared volume vetoed the operation.
    	CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED                         = 0x1749, 
    	// A node drain is already in progress.
    	// This value was also named ERROR_CLUSTER_NODE_EVACUATION_IN_PROGRESS
    	CLUSTER_NODE_DRAIN_IN_PROGRESS                                     = 0x174A, 
    	// Clustered storage is not connected to the node.
    	CLUSTER_DISK_NOT_CONNECTED                                         = 0x174B, 
    	// The disk is not configured in a way to be used with CSV. CSV disks must have at least one partition that is formatted with NTFS.
    	DISK_NOT_CSV_CAPABLE                                               = 0x174C, 
    	// The resource must be part of the Available Storage group to complete this action.
    	RESOURCE_NOT_IN_AVAILABLE_STORAGE                                  = 0x174D, 
    	// CSVFS failed operation as volume is in redirected mode.
    	CLUSTER_SHARED_VOLUME_REDIRECTED                                   = 0x174E, 
    	// CSVFS failed operation as volume is not in redirected mode.
    	CLUSTER_SHARED_VOLUME_NOT_REDIRECTED                               = 0x174F, 
    	// Cluster properties cannot be returned at this time.
    	CLUSTER_CANNOT_RETURN_PROPERTIES                                   = 0x1750, 
    	// The clustered disk resource contains software snapshot diff area that are not supported for Cluster Shared Volumes.
    	CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES = 0x1751, 
    	// The operation cannot be completed because the resource is in maintenance mode.
    	CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE                            = 0x1752, 
    	// The operation cannot be completed because of cluster affinity conflicts.
    	CLUSTER_AFFINITY_CONFLICT                                          = 0x1753, 
    	// The operation cannot be completed because the resource is a replica virtual machine.
    	CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE                        = 0x1754, 
    	// The specified file could not be encrypted.
    	ENCRYPTION_FAILED                                                  = 0x1770, 
    	// The specified file could not be decrypted.
    	DECRYPTION_FAILED                                                  = 0x1771, 
    	// The specified file is encrypted and the user does not have the ability to decrypt it.
    	FILE_ENCRYPTED                                                     = 0x1772, 
    	// There is no valid encryption recovery policy configured for this system.
    	NO_RECOVERY_POLICY                                                 = 0x1773, 
    	// The required encryption driver is not loaded for this system.
    	NO_EFS                                                             = 0x1774, 
    	// The file was encrypted with a different encryption driver than is currently loaded.
    	WRONG_EFS                                                          = 0x1775, 
    	// There are no EFS keys defined for the user.
    	NO_USER_KEYS                                                       = 0x1776, 
    	// The specified file is not encrypted.
    	FILE_NOT_ENCRYPTED                                                 = 0x1777, 
    	// The specified file is not in the defined EFS export format.
    	NOT_EXPORT_FORMAT                                                  = 0x1778, 
    	// The specified file is read only.
    	FILE_READ_ONLY                                                     = 0x1779, 
    	// The directory has been disabled for encryption.
    	DIR_EFS_DISALLOWED                                                 = 0x177A, 
    	// The server is not trusted for remote encryption operation.
    	EFS_SERVER_NOT_TRUSTED                                             = 0x177B, 
    	// Recovery policy configured for this system contains invalid recovery certificate.
    	BAD_RECOVERY_POLICY                                                = 0x177C, 
    	// The encryption algorithm used on the source file needs a bigger key buffer than the one on the destination file.
    	EFS_ALG_BLOB_TOO_BIG                                               = 0x177D, 
    	// The disk partition does not support file encryption.
    	VOLUME_NOT_SUPPORT_EFS                                             = 0x177E, 
    	// This machine is disabled for file encryption.
    	EFS_DISABLED                                                       = 0x177F, 
    	// A newer system is required to decrypt this encrypted file.
    	EFS_VERSION_NOT_SUPPORT                                            = 0x1780, 
    	// The remote server sent an invalid response for a file being opened with Client Side Encryption.
    	CS_ENCRYPTION_INVALID_SERVER_RESPONSE                              = 0x1781, 
    	// Client Side Encryption is not supported by the remote server even though it claims to support it.
    	CS_ENCRYPTION_UNSUPPORTED_SERVER                                   = 0x1782, 
    	// File is encrypted and should be opened in Client Side Encryption mode.
    	CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE                              = 0x1783, 
    	// A new encrypted file is being created and a $EFS needs to be provided.
    	CS_ENCRYPTION_NEW_ENCRYPTED_FILE                                   = 0x1784, 
    	// The SMB client requested a CSE FSCTL on a non-CSE file.
    	CS_ENCRYPTION_FILE_NOT_CSE                                         = 0x1785, 
    	// The requested operation was blocked by policy. For more information, contact your system administrator.
    	ENCRYPTION_POLICY_DENIES_OPERATION                                 = 0x1786, 
    	// The list of servers for this workgroup is not currently available.
    	NO_BROWSER_SERVERS_FOUND                                           = 0x17E6, 
    	// The Task Scheduler service must be configured to run in the System account to function properly. Individual tasks may be configured to run in other accounts.
    	SCHED_E_SERVICE_NOT_LOCALSYSTEM                                    = 0x1838, 
    	// Log service encountered an invalid log sector.
    	LOG_SECTOR_INVALID                                                 = 0x19C8, 
    	// Log service encountered a log sector with invalid block parity.
    	LOG_SECTOR_PARITY_INVALID                                          = 0x19C9, 
    	// Log service encountered a remapped log sector.
    	LOG_SECTOR_REMAPPED                                                = 0x19CA, 
    	// Log service encountered a partial or incomplete log block.
    	LOG_BLOCK_INCOMPLETE                                               = 0x19CB, 
    	// Log service encountered an attempt access data outside the active log range.
    	LOG_INVALID_RANGE                                                  = 0x19CC, 
    	// Log service user marshalling buffers are exhausted.
    	LOG_BLOCKS_EXHAUSTED                                               = 0x19CD, 
    	// Log service encountered an attempt read from a marshalling area with an invalid read context.
    	LOG_READ_CONTEXT_INVALID                                           = 0x19CE, 
    	// Log service encountered an invalid log restart area.
    	LOG_RESTART_INVALID                                                = 0x19CF, 
    	// Log service encountered an invalid log block version.
    	LOG_BLOCK_VERSION                                                  = 0x19D0, 
    	// Log service encountered an invalid log block.
    	LOG_BLOCK_INVALID                                                  = 0x19D1, 
    	// Log service encountered an attempt to read the log with an invalid read mode.
    	LOG_READ_MODE_INVALID                                              = 0x19D2, 
    	// Log service encountered a log stream with no restart area.
    	LOG_NO_RESTART                                                     = 0x19D3, 
    	// Log service encountered a corrupted metadata file.
    	LOG_METADATA_CORRUPT                                               = 0x19D4, 
    	// Log service encountered a metadata file that could not be created by the log file system.
    	LOG_METADATA_INVALID                                               = 0x19D5, 
    	// Log service encountered a metadata file with inconsistent data.
    	LOG_METADATA_INCONSISTENT                                          = 0x19D6, 
    	// Log service encountered an attempt to erroneous allocate or dispose reservation space.
    	LOG_RESERVATION_INVALID                                            = 0x19D7, 
    	// Log service cannot delete log file or file system container.
    	LOG_CANT_DELETE                                                    = 0x19D8, 
    	// Log service has reached the maximum allowable containers allocated to a log file.
    	LOG_CONTAINER_LIMIT_EXCEEDED                                       = 0x19D9, 
    	// Log service has attempted to read or write backward past the start of the log.
    	LOG_START_OF_LOG                                                   = 0x19DA, 
    	// Log policy could not be installed because a policy of the same type is already present.
    	LOG_POLICY_ALREADY_INSTALLED                                       = 0x19DB, 
    	// Log policy in question was not installed at the time of the request.
    	LOG_POLICY_NOT_INSTALLED                                           = 0x19DC, 
    	// The installed set of policies on the log is invalid.
    	LOG_POLICY_INVALID                                                 = 0x19DD, 
    	// A policy on the log in question prevented the operation from completing.
    	LOG_POLICY_CONFLICT                                                = 0x19DE, 
    	// Log space cannot be reclaimed because the log is pinned by the archive tail.
    	LOG_PINNED_ARCHIVE_TAIL                                            = 0x19DF, 
    	// Log record is not a record in the log file.
    	LOG_RECORD_NONEXISTENT                                             = 0x19E0, 
    	// Number of reserved log records or the adjustment of the number of reserved log records is invalid.
    	LOG_RECORDS_RESERVED_INVALID                                       = 0x19E1, 
    	// Reserved log space or the adjustment of the log space is invalid.
    	LOG_SPACE_RESERVED_INVALID                                         = 0x19E2, 
    	// An new or existing archive tail or base of the active log is invalid.
    	LOG_TAIL_INVALID                                                   = 0x19E3, 
    	// Log space is exhausted.
    	LOG_FULL                                                           = 0x19E4, 
    	// The log could not be set to the requested size.
    	COULD_NOT_RESIZE_LOG                                               = 0x19E5, 
    	// Log is multiplexed, no direct writes to the physical log is allowed.
    	LOG_MULTIPLEXED                                                    = 0x19E6, 
    	// The operation failed because the log is a dedicated log.
    	LOG_DEDICATED                                                      = 0x19E7, 
    	// The operation requires an archive context.
    	LOG_ARCHIVE_NOT_IN_PROGRESS                                        = 0x19E8, 
    	// Log archival is in progress.
    	LOG_ARCHIVE_IN_PROGRESS                                            = 0x19E9, 
    	// The operation requires a non-ephemeral log, but the log is ephemeral.
    	LOG_EPHEMERAL                                                      = 0x19EA, 
    	// The log must have at least two containers before it can be read from or written to.
    	LOG_NOT_ENOUGH_CONTAINERS                                          = 0x19EB, 
    	// A log client has already registered on the stream.
    	LOG_CLIENT_ALREADY_REGISTERED                                      = 0x19EC, 
    	// A log client has not been registered on the stream.
    	LOG_CLIENT_NOT_REGISTERED                                          = 0x19ED, 
    	// A request has already been made to handle the log full condition.
    	LOG_FULL_HANDLER_IN_PROGRESS                                       = 0x19EE, 
    	// Log service encountered an error when attempting to read from a log container.
    	LOG_CONTAINER_READ_FAILED                                          = 0x19EF, 
    	// Log service encountered an error when attempting to write to a log container.
    	LOG_CONTAINER_WRITE_FAILED                                         = 0x19F0, 
    	// Log service encountered an error when attempting open a log container.
    	LOG_CONTAINER_OPEN_FAILED                                          = 0x19F1, 
    	// Log service encountered an invalid container state when attempting a requested action.
    	LOG_CONTAINER_STATE_INVALID                                        = 0x19F2, 
    	// Log service is not in the correct state to perform a requested action.
    	LOG_STATE_INVALID                                                  = 0x19F3, 
    	// Log space cannot be reclaimed because the log is pinned.
    	LOG_PINNED                                                         = 0x19F4, 
    	// Log metadata flush failed.
    	LOG_METADATA_FLUSH_FAILED                                          = 0x19F5, 
    	// Security on the log and its containers is inconsistent.
    	LOG_INCONSISTENT_SECURITY                                          = 0x19F6, 
    	// Records were appended to the log or reservation changes were made, but the log could not be flushed.
    	LOG_APPENDED_FLUSH_FAILED                                          = 0x19F7, 
    	// The log is pinned due to reservation consuming most of the log space. Free some reserved records to make space available.
    	LOG_PINNED_RESERVATION                                             = 0x19F8, 
    	// The transaction handle associated with this operation is not valid.
    	INVALID_TRANSACTION                                                = 0x1A2C, 
    	// The requested operation was made in the context of a transaction that is no longer active.
    	TRANSACTION_NOT_ACTIVE                                             = 0x1A2D, 
    	// The requested operation is not valid on the Transaction object in its current state.
    	TRANSACTION_REQUEST_NOT_VALID                                      = 0x1A2E, 
    	// The caller has called a response API, but the response is not expected because the TM did not issue the corresponding request to the caller.
    	TRANSACTION_NOT_REQUESTED                                          = 0x1A2F, 
    	// It is too late to perform the requested operation, since the Transaction has already been aborted.
    	TRANSACTION_ALREADY_ABORTED                                        = 0x1A30, 
    	// It is too late to perform the requested operation, since the Transaction has already been committed.
    	TRANSACTION_ALREADY_COMMITTED                                      = 0x1A31, 
    	// The Transaction Manager was unable to be successfully initialized. Transacted operations are not supported.
    	TM_INITIALIZATION_FAILED                                           = 0x1A32, 
    	// The specified ResourceManager made no changes or updates to the resource under this transaction.
    	RESOURCEMANAGER_READ_ONLY                                          = 0x1A33, 
    	// The resource manager has attempted to prepare a transaction that it has not successfully joined.
    	TRANSACTION_NOT_JOINED                                             = 0x1A34, 
    	// The Transaction object already has a superior enlistment, and the caller attempted an operation that would have created a new superior. Only a single superior enlistment is allow.
    	TRANSACTION_SUPERIOR_EXISTS                                        = 0x1A35, 
    	// The RM tried to register a protocol that already exists.
    	CRM_PROTOCOL_ALREADY_EXISTS                                        = 0x1A36, 
    	// The attempt to propagate the Transaction failed.
    	TRANSACTION_PROPAGATION_FAILED                                     = 0x1A37, 
    	// The requested propagation protocol was not registered as a CRM.
    	CRM_PROTOCOL_NOT_FOUND                                             = 0x1A38, 
    	// The buffer passed in to PushTransaction or PullTransaction is not in a valid format.
    	TRANSACTION_INVALID_MARSHALL_BUFFER                                = 0x1A39, 
    	// The current transaction context associated with the thread is not a valid handle to a transaction object.
    	CURRENT_TRANSACTION_NOT_VALID                                      = 0x1A3A, 
    	// The specified Transaction object could not be opened, because it was not found.
    	TRANSACTION_NOT_FOUND                                              = 0x1A3B, 
    	// The specified ResourceManager object could not be opened, because it was not found.
    	RESOURCEMANAGER_NOT_FOUND                                          = 0x1A3C, 
    	// The specified Enlistment object could not be opened, because it was not found.
    	ENLISTMENT_NOT_FOUND                                               = 0x1A3D, 
    	// The specified TransactionManager object could not be opened, because it was not found.
    	TRANSACTIONMANAGER_NOT_FOUND                                       = 0x1A3E, 
    	// The object specified could not be created or opened, because its associated TransactionManager is not online. The TransactionManager must be brought fully Online by calling RecoverTransactionManager to recover to the end of its LogFile before objects in its Transaction or ResourceManager namespaces can be opened. In addition, errors in writing records to its LogFile can cause a TransactionManager to go offline.
    	TRANSACTIONMANAGER_NOT_ONLINE                                      = 0x1A3F, 
    	// The specified TransactionManager was unable to create the objects contained in its logfile in the Ob namespace. Therefore, the TransactionManager was unable to recover.
    	TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION                         = 0x1A40, 
    	// The call to create a superior Enlistment on this Transaction object could not be completed, because the Transaction object specified for the enlistment is a subordinate branch of the Transaction. Only the root of the Transaction can be enlisted on as a superior.
    	TRANSACTION_NOT_ROOT                                               = 0x1A41, 
    	// Because the associated transaction manager or resource manager has been closed, the handle is no longer valid.
    	TRANSACTION_OBJECT_EXPIRED                                         = 0x1A42, 
    	// The specified operation could not be performed on this Superior enlistment, because the enlistment was not created with the corresponding completion response in the NotificationMask.
    	TRANSACTION_RESPONSE_NOT_ENLISTED                                  = 0x1A43, 
    	// The specified operation could not be performed, because the record that would be logged was too long. This can occur because of two conditions: either there are too many Enlistments on this Transaction, or the combined RecoveryInformation being logged on behalf of those Enlistments is too long.
    	TRANSACTION_RECORD_TOO_LONG                                        = 0x1A44, 
    	// Implicit transaction are not supported.
    	IMPLICIT_TRANSACTION_NOT_SUPPORTED                                 = 0x1A45, 
    	// The kernel transaction manager had to abort or forget the transaction because it blocked forward progress.
    	TRANSACTION_INTEGRITY_VIOLATED                                     = 0x1A46, 
    	// The TransactionManager identity that was supplied did not match the one recorded in the TransactionManager's log file.
    	TRANSACTIONMANAGER_IDENTITY_MISMATCH                               = 0x1A47, 
    	// This snapshot operation cannot continue because a transactional resource manager cannot be frozen in its current state. Please try again.
    	RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT                                   = 0x1A48, 
    	// The transaction cannot be enlisted on with the specified EnlistmentMask, because the transaction has already completed the PrePrepare phase. In order to ensure correctness, the ResourceManager must switch to a write- through mode and cease caching data within this transaction. Enlisting for only subsequent transaction phases may still succeed.
    	TRANSACTION_MUST_WRITETHROUGH                                      = 0x1A49, 
    	// The transaction does not have a superior enlistment.
    	TRANSACTION_NO_SUPERIOR                                            = 0x1A4A, 
    	// The attempt to commit the Transaction completed, but it is possible that some portion of the transaction tree did not commit successfully due to heuristics. Therefore it is possible that some data modified in the transaction may not have committed, resulting in transactional inconsistency. If possible, check the consistency of the associated data.
    	HEURISTIC_DAMAGE_POSSIBLE                                          = 0x1A4B, 
    	// The function attempted to use a name that is reserved for use by another transaction.
    	TRANSACTIONAL_CONFLICT                                             = 0x1A90, 
    	// Transaction support within the specified resource manager is not started or was shut down due to an error.
    	RM_NOT_ACTIVE                                                      = 0x1A91, 
    	// The metadata of the RM has been corrupted. The RM will not function.
    	RM_METADATA_CORRUPT                                                = 0x1A92, 
    	// The specified directory does not contain a resource manager.
    	DIRECTORY_NOT_RM                                                   = 0x1A93, 
    	// The remote server or share does not support transacted file operations.
    	TRANSACTIONS_UNSUPPORTED_REMOTE                                    = 0x1A95, 
    	// The requested log size is invalid.
    	LOG_RESIZE_INVALID_SIZE                                            = 0x1A96, 
    	// The object (file, stream, link) corresponding to the handle has been deleted by a Transaction Savepoint Rollback.
    	OBJECT_NO_LONGER_EXISTS                                            = 0x1A97, 
    	// The specified file miniversion was not found for this transacted file open.
    	STREAM_MINIVERSION_NOT_FOUND                                       = 0x1A98, 
    	// The specified file miniversion was found but has been invalidated. Most likely cause is a transaction savepoint rollback.
    	STREAM_MINIVERSION_NOT_VALID                                       = 0x1A99, 
    	// A miniversion may only be opened in the context of the transaction that created it.
    	MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION                = 0x1A9A, 
    	// It is not possible to open a miniversion with modify access.
    	CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT                           = 0x1A9B, 
    	// It is not possible to create any more miniversions for this stream.
    	CANT_CREATE_MORE_STREAM_MINIVERSIONS                               = 0x1A9C, 
    	// The remote server sent mismatching version number or Fid for a file opened with transactions.
    	REMOTE_FILE_VERSION_MISMATCH                                       = 0x1A9E, 
    	// The handle has been invalidated by a transaction. The most likely cause is the presence of memory mapping on a file or an open handle when the transaction ended or rolled back to savepoint.
    	HANDLE_NO_LONGER_VALID                                             = 0x1A9F, 
    	// There is no transaction metadata on the file.
    	NO_TXF_METADATA                                                    = 0x1AA0, 
    	// The log data is corrupt.
    	LOG_CORRUPTION_DETECTED                                            = 0x1AA1, 
    	// The file can't be recovered because there is a handle still open on it.
    	CANT_RECOVER_WITH_HANDLE_OPEN                                      = 0x1AA2, 
    	// The transaction outcome is unavailable because the resource manager responsible for it has disconnected.
    	RM_DISCONNECTED                                                    = 0x1AA3, 
    	// The request was rejected because the enlistment in question is not a superior enlistment.
    	ENLISTMENT_NOT_SUPERIOR                                            = 0x1AA4, 
    	// The transactional resource manager is already consistent. Recovery is not needed.
    	RECOVERY_NOT_NEEDED                                                = 0x1AA5, 
    	// The transactional resource manager has already been started.
    	RM_ALREADY_STARTED                                                 = 0x1AA6, 
    	// The file cannot be opened transactionally, because its identity depends on the outcome of an unresolved transaction.
    	FILE_IDENTITY_NOT_PERSISTENT                                       = 0x1AA7, 
    	// The operation cannot be performed because another transaction is depending on the fact that this property will not change.
    	CANT_BREAK_TRANSACTIONAL_DEPENDENCY                                = 0x1AA8, 
    	// The operation would involve a single file with two transactional resource managers and is therefore not allowed.
    	CANT_CROSS_RM_BOUNDARY                                             = 0x1AA9, 
    	// The $Txf directory must be empty for this operation to succeed.
    	TXF_DIR_NOT_EMPTY                                                  = 0x1AAA, 
    	// The operation would leave a transactional resource manager in an inconsistent state and is therefore not allowed.
    	INDOUBT_TRANSACTIONS_EXIST                                         = 0x1AAB, 
    	// The operation could not be completed because the transaction manager does not have a log.
    	TM_VOLATILE                                                        = 0x1AAC, 
    	// A rollback could not be scheduled because a previously scheduled rollback has already executed or been queued for execution.
    	ROLLBACK_TIMER_EXPIRED                                             = 0x1AAD, 
    	// The transactional metadata attribute on the file or directory is corrupt and unreadable.
    	TXF_ATTRIBUTE_CORRUPT                                              = 0x1AAE, 
    	// The encryption operation could not be completed because a transaction is active.
    	EFS_NOT_ALLOWED_IN_TRANSACTION                                     = 0x1AAF, 
    	// This object is not allowed to be opened in a transaction.
    	TRANSACTIONAL_OPEN_NOT_ALLOWED                                     = 0x1AB0, 
    	// An attempt to create space in the transactional resource manager's log failed. The failure status has been recorded in the event log.
    	LOG_GROWTH_FAILED                                                  = 0x1AB1, 
    	// Memory mapping (creating a mapped section) a remote file under a transaction is not supported.
    	TRANSACTED_MAPPING_UNSUPPORTED_REMOTE                              = 0x1AB2, 
    	// Transaction metadata is already present on this file and cannot be superseded.
    	TXF_METADATA_ALREADY_PRESENT                                       = 0x1AB3, 
    	// A transaction scope could not be entered because the scope handler has not been initialized.
    	TRANSACTION_SCOPE_CALLBACKS_NOT_SET                                = 0x1AB4, 
    	// Promotion was required in order to allow the resource manager to enlist, but the transaction was set to disallow it.
    	TRANSACTION_REQUIRED_PROMOTION                                     = 0x1AB5, 
    	// This file is open for modification in an unresolved transaction and may be opened for execute only by a transacted reader.
    	CANNOT_EXECUTE_FILE_IN_TRANSACTION                                 = 0x1AB6, 
    	// The request to thaw frozen transactions was ignored because transactions had not previously been frozen.
    	TRANSACTIONS_NOT_FROZEN                                            = 0x1AB7, 
    	// Transactions cannot be frozen because a freeze is already in progress.
    	TRANSACTION_FREEZE_IN_PROGRESS                                     = 0x1AB8, 
    	// The target volume is not a snapshot volume. This operation is only valid on a volume mounted as a snapshot.
    	NOT_SNAPSHOT_VOLUME                                                = 0x1AB9, 
    	// The savepoint operation failed because files are open on the transaction. This is not permitted.
    	NO_SAVEPOINT_WITH_OPEN_FILES                                       = 0x1ABA, 
    	// Windows has discovered corruption in a file, and that file has since been repaired. Data loss may have occurred.
    	DATA_LOST_REPAIR                                                   = 0x1ABB, 
    	// The sparse operation could not be completed because a transaction is active on the file.
    	SPARSE_NOT_ALLOWED_IN_TRANSACTION                                  = 0x1ABC, 
    	// The call to create a TransactionManager object failed because the Tm Identity stored in the logfile does not match the Tm Identity that was passed in as an argument.
    	TM_IDENTITY_MISMATCH                                               = 0x1ABD, 
    	// I/O was attempted on a section object that has been floated as a result of a transaction ending. There is no valid data.
    	FLOATED_SECTION                                                    = 0x1ABE, 
    	// The transactional resource manager cannot currently accept transacted work due to a transient condition such as low resources.
    	CANNOT_ACCEPT_TRANSACTED_WORK                                      = 0x1ABF, 
    	// The transactional resource manager had too many tranactions outstanding that could not be aborted. The transactional resource manger has been shut down.
    	CANNOT_ABORT_TRANSACTIONS                                          = 0x1AC0, 
    	// The operation could not be completed due to bad clusters on disk.
    	BAD_CLUSTERS                                                       = 0x1AC1, 
    	// The compression operation could not be completed because a transaction is active on the file.
    	COMPRESSION_NOT_ALLOWED_IN_TRANSACTION                             = 0x1AC2, 
    	// The operation could not be completed because the volume is dirty. Please run chkdsk and try again.
    	VOLUME_DIRTY                                                       = 0x1AC3, 
    	// The link tracking operation could not be completed because a transaction is active.
    	NO_LINK_TRACKING_IN_TRANSACTION                                    = 0x1AC4, 
    	// This operation cannot be performed in a transaction.
    	OPERATION_NOT_SUPPORTED_IN_TRANSACTION                             = 0x1AC5, 
    	// The handle is no longer properly associated with its transaction. It may have been opened in a transactional resource manager that was subsequently forced to restart. Please close the handle and open a new one.
    	EXPIRED_HANDLE                                                     = 0x1AC6, 
    	// The specified operation could not be performed because the resource manager is not enlisted in the transaction.
    	TRANSACTION_NOT_ENLISTED                                           = 0x1AC7, 
    	// The specified session name is invalid.
    	CTX_WINSTATION_NAME_INVALID                                        = 0x1B59, 
    	// The specified protocol driver is invalid.
    	CTX_INVALID_PD                                                     = 0x1B5A, 
    	// The specified protocol driver was not found in the system path.
    	CTX_PD_NOT_FOUND                                                   = 0x1B5B, 
    	// The specified terminal connection driver was not found in the system path.
    	CTX_WD_NOT_FOUND                                                   = 0x1B5C, 
    	// A registry key for event logging could not be created for this session.
    	CTX_CANNOT_MAKE_EVENTLOG_ENTRY                                     = 0x1B5D, 
    	// A service with the same name already exists on the system.
    	CTX_SERVICE_NAME_COLLISION                                         = 0x1B5E, 
    	// A close operation is pending on the session.
    	CTX_CLOSE_PENDING                                                  = 0x1B5F, 
    	// There are no free output buffers available.
    	CTX_NO_OUTBUF                                                      = 0x1B60, 
    	// The MODEM.INF file was not found.
    	CTX_MODEM_INF_NOT_FOUND                                            = 0x1B61, 
    	// The modem name was not found in MODEM.INF.
    	CTX_INVALID_MODEMNAME                                              = 0x1B62, 
    	// The modem did not accept the command sent to it. Verify that the configured modem name matches the attached modem.
    	CTX_MODEM_RESPONSE_ERROR                                           = 0x1B63, 
    	// The modem did not respond to the command sent to it. Verify that the modem is properly cabled and powered on.
    	CTX_MODEM_RESPONSE_TIMEOUT                                         = 0x1B64, 
    	// Carrier detect has failed or carrier has been dropped due to disconnect.
    	CTX_MODEM_RESPONSE_NO_CARRIER                                      = 0x1B65, 
    	// Dial tone not detected within the required time. Verify that the phone cable is properly attached and functional.
    	CTX_MODEM_RESPONSE_NO_DIALTONE                                     = 0x1B66, 
    	// Busy signal detected at remote site on callback.
    	CTX_MODEM_RESPONSE_BUSY                                            = 0x1B67, 
    	// Voice detected at remote site on callback.
    	CTX_MODEM_RESPONSE_VOICE                                           = 0x1B68, 
    	// Transport driver error.
    	CTX_TD_ERROR                                                       = 0x1B69, 
    	// The specified session cannot be found.
    	CTX_WINSTATION_NOT_FOUND                                           = 0x1B6E, 
    	// The specified session name is already in use.
    	CTX_WINSTATION_ALREADY_EXISTS                                      = 0x1B6F, 
    	// The task you are trying to do can't be completed because Remote Desktop Services is currently busy. Please try again in a few minutes. Other users should still be able to log on.
    	CTX_WINSTATION_BUSY                                                = 0x1B70, 
    	// An attempt has been made to connect to a session whose video mode is not supported by the current client.
    	CTX_BAD_VIDEO_MODE                                                 = 0x1B71, 
    	// The application attempted to enable DOS graphics mode. DOS graphics mode is not supported.
    	CTX_GRAPHICS_INVALID                                               = 0x1B7B, 
    	// Your interactive logon privilege has been disabled. Please contact your administrator.
    	CTX_LOGON_DISABLED                                                 = 0x1B7D, 
    	// The requested operation can be performed only on the system console. This is most often the result of a driver or system DLL requiring direct console access.
    	CTX_NOT_CONSOLE                                                    = 0x1B7E, 
    	// The client failed to respond to the server connect message.
    	CTX_CLIENT_QUERY_TIMEOUT                                           = 0x1B80, 
    	// Disconnecting the console session is not supported.
    	CTX_CONSOLE_DISCONNECT                                             = 0x1B81, 
    	// Reconnecting a disconnected session to the console is not supported.
    	CTX_CONSOLE_CONNECT                                                = 0x1B82, 
    	// The request to control another session remotely was denied.
    	CTX_SHADOW_DENIED                                                  = 0x1B84, 
    	// The requested session access is denied.
    	CTX_WINSTATION_ACCESS_DENIED                                       = 0x1B85, 
    	// The specified terminal connection driver is invalid.
    	CTX_INVALID_WD                                                     = 0x1B89, 
    	// The requested session cannot be controlled remotely. This may be because the session is disconnected or does not currently have a user logged on.
    	CTX_SHADOW_INVALID                                                 = 0x1B8A, 
    	// The requested session is not configured to allow remote control.
    	CTX_SHADOW_DISABLED                                                = 0x1B8B, 
    	// Your request to connect to this Terminal Server has been rejected. Your Terminal Server client license number is currently being used by another user. Please call your system administrator to obtain a unique license number.
    	CTX_CLIENT_LICENSE_IN_USE                                          = 0x1B8C, 
    	// Your request to connect to this Terminal Server has been rejected. Your Terminal Server client license number has not been entered for this copy of the Terminal Server client. Please contact your system administrator.
    	CTX_CLIENT_LICENSE_NOT_SET                                         = 0x1B8D, 
    	// The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator.
    	CTX_LICENSE_NOT_AVAILABLE                                          = 0x1B8E, 
    	// The client you are using is not licensed to use this system. Your logon request is denied.
    	CTX_LICENSE_CLIENT_INVALID                                         = 0x1B8F, 
    	// The system license has expired. Your logon request is denied.
    	CTX_LICENSE_EXPIRED                                                = 0x1B90, 
    	// Remote control could not be terminated because the specified session is not currently being remotely controlled.
    	CTX_SHADOW_NOT_RUNNING                                             = 0x1B91, 
    	// The remote control of the console was terminated because the display mode was changed. Changing the display mode in a remote control session is not supported.
    	CTX_SHADOW_ENDED_BY_MODE_CHANGE                                    = 0x1B92, 
    	// Activation has already been reset the maximum number of times for this installation. Your activation timer will not be cleared.
    	ACTIVATION_COUNT_EXCEEDED                                          = 0x1B93, 
    	// Remote logins are currently disabled.
    	CTX_WINSTATIONS_DISABLED                                           = 0x1B94, 
    	// You do not have the proper encryption level to access this Session.
    	CTX_ENCRYPTION_LEVEL_REQUIRED                                      = 0x1B95, 
    	// The user %s\\%s is currently logged on to this computer. Only the current user or an administrator can log on to this computer.
    	CTX_SESSION_IN_USE                                                 = 0x1B96, 
    	// The user %s\\%s is already logged on to the console of this computer. You do not have permission to log in at this time. To resolve this issue, contact %s\\%s and have them log off.
    	CTX_NO_FORCE_LOGOFF                                                = 0x1B97, 
    	// Unable to log you on because of an account restriction.
    	CTX_ACCOUNT_RESTRICTION                                            = 0x1B98, 
    	// The RDP protocol component %2 detected an error in the protocol stream and has disconnected the client.
    	RDP_PROTOCOL_ERROR                                                 = 0x1B99, 
    	// The Client Drive Mapping Service Has Connected on Terminal Connection.
    	CTX_CDM_CONNECT                                                    = 0x1B9A, 
    	// The Client Drive Mapping Service Has Disconnected on Terminal Connection.
    	CTX_CDM_DISCONNECT                                                 = 0x1B9B, 
    	// The Terminal Server security layer detected an error in the protocol stream and has disconnected the client.
    	CTX_SECURITY_LAYER_ERROR                                           = 0x1B9C, 
    	// The target session is incompatible with the current session.
    	TS_INCOMPATIBLE_SESSIONS                                           = 0x1B9D, 
    	// Windows can't connect to your session because a problem occurred in the Windows video subsystem. Try connecting again later, or contact the server administrator for assistance.
    	TS_VIDEO_SUBSYSTEM_ERROR                                           = 0x1B9E, 
    	// The file replication service API was called incorrectly.
    	FRS_ERR_INVALID_API_SEQUENCE                                       = 0x1F41, 
    	// The file replication service cannot be started.
    	FRS_ERR_STARTING_SERVICE                                           = 0x1F42, 
    	// The file replication service cannot be stopped.
    	FRS_ERR_STOPPING_SERVICE                                           = 0x1F43, 
    	// The file replication service API terminated the request. The event log may have more information.
    	FRS_ERR_INTERNAL_API                                               = 0x1F44, 
    	// The file replication service terminated the request. The event log may have more information.
    	FRS_ERR_INTERNAL                                                   = 0x1F45, 
    	// The file replication service cannot be contacted. The event log may have more information.
    	FRS_ERR_SERVICE_COMM                                               = 0x1F46, 
    	// The file replication service cannot satisfy the request because the user has insufficient privileges. The event log may have more information.
    	FRS_ERR_INSUFFICIENT_PRIV                                          = 0x1F47, 
    	// The file replication service cannot satisfy the request because authenticated RPC is not available. The event log may have more information.
    	FRS_ERR_AUTHENTICATION                                             = 0x1F48, 
    	// The file replication service cannot satisfy the request because the user has insufficient privileges on the domain controller. The event log may have more information.
    	FRS_ERR_PARENT_INSUFFICIENT_PRIV                                   = 0x1F49, 
    	// The file replication service cannot satisfy the request because authenticated RPC is not available on the domain controller. The event log may have more information.
    	FRS_ERR_PARENT_AUTHENTICATION                                      = 0x1F4A, 
    	// The file replication service cannot communicate with the file replication service on the domain controller. The event log may have more information.
    	FRS_ERR_CHILD_TO_PARENT_COMM                                       = 0x1F4B, 
    	// The file replication service on the domain controller cannot communicate with the file replication service on this computer. The event log may have more information.
    	FRS_ERR_PARENT_TO_CHILD_COMM                                       = 0x1F4C, 
    	// The file replication service cannot populate the system volume because of an internal error. The event log may have more information.
    	FRS_ERR_SYSVOL_POPULATE                                            = 0x1F4D, 
    	// The file replication service cannot populate the system volume because of an internal timeout. The event log may have more information.
    	FRS_ERR_SYSVOL_POPULATE_TIMEOUT                                    = 0x1F4E, 
    	// The file replication service cannot process the request. The system volume is busy with a previous request.
    	FRS_ERR_SYSVOL_IS_BUSY                                             = 0x1F4F, 
    	// The file replication service cannot stop replicating the system volume because of an internal error. The event log may have more information.
    	FRS_ERR_SYSVOL_DEMOTE                                              = 0x1F50, 
    	// The file replication service detected an invalid parameter.
    	FRS_ERR_INVALID_SERVICE_PARAMETER                                  = 0x1F51, 
    	// An error occurred while installing the directory service. For more information, see the event log.
    	DS_NOT_INSTALLED                                                   = 0x2008, 
    	// The directory service evaluated group memberships locally.
    	DS_MEMBERSHIP_EVALUATED_LOCALLY                                    = 0x2009, 
    	// The specified directory service attribute or value does not exist.
    	DS_NO_ATTRIBUTE_OR_VALUE                                           = 0x200A, 
    	// The attribute syntax specified to the directory service is invalid.
    	DS_INVALID_ATTRIBUTE_SYNTAX                                        = 0x200B, 
    	// The attribute type specified to the directory service is not defined.
    	DS_ATTRIBUTE_TYPE_UNDEFINED                                        = 0x200C, 
    	// The specified directory service attribute or value already exists.
    	DS_ATTRIBUTE_OR_VALUE_EXISTS                                       = 0x200D, 
    	// The directory service is busy.
    	DS_BUSY                                                            = 0x200E, 
    	// The directory service is unavailable.
    	DS_UNAVAILABLE                                                     = 0x200F, 
    	// The directory service was unable to allocate a relative identifier.
    	DS_NO_RIDS_ALLOCATED                                               = 0x2010, 
    	// The directory service has exhausted the pool of relative identifiers.
    	DS_NO_MORE_RIDS                                                    = 0x2011, 
    	// The requested operation could not be performed because the directory service is not the master for that type of operation.
    	DS_INCORRECT_ROLE_OWNER                                            = 0x2012, 
    	// The directory service was unable to initialize the subsystem that allocates relative identifiers.
    	DS_RIDMGR_INIT_ERROR                                               = 0x2013, 
    	// The requested operation did not satisfy one or more constraints associated with the class of the object.
    	DS_OBJ_CLASS_VIOLATION                                             = 0x2014, 
    	// The directory service can perform the requested operation only on a leaf object.
    	DS_CANT_ON_NON_LEAF                                                = 0x2015, 
    	// The directory service cannot perform the requested operation on the RDN attribute of an object.
    	DS_CANT_ON_RDN                                                     = 0x2016, 
    	// The directory service detected an attempt to modify the object class of an object.
    	DS_CANT_MOD_OBJ_CLASS                                              = 0x2017, 
    	// The requested cross-domain move operation could not be performed.
    	DS_CROSS_DOM_MOVE_ERROR                                            = 0x2018, 
    	// Unable to contact the global catalog server.
    	DS_GC_NOT_AVAILABLE                                                = 0x2019, 
    	// The policy object is shared and can only be modified at the root.
    	SHARED_POLICY                                                      = 0x201A, 
    	// The policy object does not exist.
    	POLICY_OBJECT_NOT_FOUND                                            = 0x201B, 
    	// The requested policy information is only in the directory service.
    	POLICY_ONLY_IN_DS                                                  = 0x201C, 
    	// A domain controller promotion is currently active.
    	PROMOTION_ACTIVE                                                   = 0x201D, 
    	// A domain controller promotion is not currently active.
    	NO_PROMOTION_ACTIVE                                                = 0x201E, 
    	// An operations error occurred.
    	DS_OPERATIONS_ERROR                                                = 0x2020, 
    	// A protocol error occurred.
    	DS_PROTOCOL_ERROR                                                  = 0x2021, 
    	// The time limit for this request was exceeded.
    	DS_TIMELIMIT_EXCEEDED                                              = 0x2022, 
    	// The size limit for this request was exceeded.
    	DS_SIZELIMIT_EXCEEDED                                              = 0x2023, 
    	// The administrative limit for this request was exceeded.
    	DS_ADMIN_LIMIT_EXCEEDED                                            = 0x2024, 
    	// The compare response was false.
    	DS_COMPARE_FALSE                                                   = 0x2025, 
    	// The compare response was true.
    	DS_COMPARE_TRUE                                                    = 0x2026, 
    	// The requested authentication method is not supported by the server.
    	DS_AUTH_METHOD_NOT_SUPPORTED                                       = 0x2027, 
    	// A more secure authentication method is required for this server.
    	DS_STRONG_AUTH_REQUIRED                                            = 0x2028, 
    	// Inappropriate authentication.
    	DS_INAPPROPRIATE_AUTH                                              = 0x2029, 
    	// The authentication mechanism is unknown.
    	DS_AUTH_UNKNOWN                                                    = 0x202A, 
    	// A referral was returned from the server.
    	DS_REFERRAL                                                        = 0x202B, 
    	// The server does not support the requested critical extension.
    	DS_UNAVAILABLE_CRIT_EXTENSION                                      = 0x202C, 
    	// This request requires a secure connection.
    	DS_CONFIDENTIALITY_REQUIRED                                        = 0x202D, 
    	// Inappropriate matching.
    	DS_INAPPROPRIATE_MATCHING                                          = 0x202E, 
    	// A constraint violation occurred.
    	DS_CONSTRAINT_VIOLATION                                            = 0x202F, 
    	// There is no such object on the server.
    	DS_NO_SUCH_OBJECT                                                  = 0x2030, 
    	// There is an alias problem.
    	DS_ALIAS_PROBLEM                                                   = 0x2031, 
    	// An invalid dn syntax has been specified.
    	DS_INVALID_DN_SYNTAX                                               = 0x2032, 
    	// The object is a leaf object.
    	DS_IS_LEAF                                                         = 0x2033, 
    	// There is an alias dereferencing problem.
    	DS_ALIAS_DEREF_PROBLEM                                             = 0x2034, 
    	// The server is unwilling to process the request.
    	DS_UNWILLING_TO_PERFORM                                            = 0x2035, 
    	// A loop has been detected.
    	DS_LOOP_DETECT                                                     = 0x2036, 
    	// There is a naming violation.
    	DS_NAMING_VIOLATION                                                = 0x2037, 
    	// The result set is too large.
    	DS_OBJECT_RESULTS_TOO_LARGE                                        = 0x2038, 
    	// The operation affects multiple DSAs.
    	DS_AFFECTS_MULTIPLE_DSAS                                           = 0x2039, 
    	// The server is not operational.
    	DS_SERVER_DOWN                                                     = 0x203A, 
    	// A local error has occurred.
    	DS_LOCAL_ERROR                                                     = 0x203B, 
    	// An encoding error has occurred.
    	DS_ENCODING_ERROR                                                  = 0x203C, 
    	// A decoding error has occurred.
    	DS_DECODING_ERROR                                                  = 0x203D, 
    	// The search filter cannot be recognized.
    	DS_FILTER_UNKNOWN                                                  = 0x203E, 
    	// One or more parameters are illegal.
    	DS_PARAM_ERROR                                                     = 0x203F, 
    	// The specified method is not supported.
    	DS_NOT_SUPPORTED                                                   = 0x2040, 
    	// No results were returned.
    	DS_NO_RESULTS_RETURNED                                             = 0x2041, 
    	// The specified control is not supported by the server.
    	DS_CONTROL_NOT_FOUND                                               = 0x2042, 
    	// A referral loop was detected by the client.
    	DS_CLIENT_LOOP                                                     = 0x2043, 
    	// The preset referral limit was exceeded.
    	DS_REFERRAL_LIMIT_EXCEEDED                                         = 0x2044, 
    	// The search requires a SORT control.
    	DS_SORT_CONTROL_MISSING                                            = 0x2045, 
    	// The search results exceed the offset range specified.
    	DS_OFFSET_RANGE_ERROR                                              = 0x2046, 
    	// The directory service detected the subsystem that allocates relative identifiers is disabled. This can occur as a protective mechanism when the system determines a significant portion of relative identifiers (RIDs) have been exhausted. Please see https://go.microsoft.com/fwlink/p/?linkid=228610 for recommended diagnostic steps and the procedure to re-enable account creation.
    	DS_RIDMGR_DISABLED                                                 = 0x2047, 
    	// The root object must be the head of a naming context. The root object cannot have an instantiated parent.
    	DS_ROOT_MUST_BE_NC                                                 = 0x206D, 
    	// The add replica operation cannot be performed. The naming context must be writeable in order to create the replica.
    	DS_ADD_REPLICA_INHIBITED                                           = 0x206E, 
    	// A reference to an attribute that is not defined in the schema occurred.
    	DS_ATT_NOT_DEF_IN_SCHEMA                                           = 0x206F, 
    	// The maximum size of an object has been exceeded.
    	DS_MAX_OBJ_SIZE_EXCEEDED                                           = 0x2070, 
    	// An attempt was made to add an object to the directory with a name that is already in use.
    	DS_OBJ_STRING_NAME_EXISTS                                          = 0x2071, 
    	// An attempt was made to add an object of a class that does not have an RDN defined in the schema.
    	DS_NO_RDN_DEFINED_IN_SCHEMA                                        = 0x2072, 
    	// An attempt was made to add an object using an RDN that is not the RDN defined in the schema.
    	DS_RDN_DOESNT_MATCH_SCHEMA                                         = 0x2073, 
    	// None of the requested attributes were found on the objects.
    	DS_NO_REQUESTED_ATTS_FOUND                                         = 0x2074, 
    	// The user buffer is too small.
    	DS_USER_BUFFER_TO_SMALL                                            = 0x2075, 
    	// The attribute specified in the operation is not present on the object.
    	DS_ATT_IS_NOT_ON_OBJ                                               = 0x2076, 
    	// Illegal modify operation. Some aspect of the modification is not permitted.
    	DS_ILLEGAL_MOD_OPERATION                                           = 0x2077, 
    	// The specified object is too large.
    	DS_OBJ_TOO_LARGE                                                   = 0x2078, 
    	// The specified instance type is not valid.
    	DS_BAD_INSTANCE_TYPE                                               = 0x2079, 
    	// The operation must be performed at a master DSA.
    	DS_MASTERDSA_REQUIRED                                              = 0x207A, 
    	// The object class attribute must be specified.
    	DS_OBJECT_CLASS_REQUIRED                                           = 0x207B, 
    	// A required attribute is missing.
    	DS_MISSING_REQUIRED_ATT                                            = 0x207C, 
    	// An attempt was made to modify an object to include an attribute that is not legal for its class.
    	DS_ATT_NOT_DEF_FOR_CLASS                                           = 0x207D, 
    	// The specified attribute is already present on the object.
    	DS_ATT_ALREADY_EXISTS                                              = 0x207E, 
    	// The specified attribute is not present, or has no values.
    	DS_CANT_ADD_ATT_VALUES                                             = 0x2080, 
    	// Multiple values were specified for an attribute that can have only one value.
    	DS_SINGLE_VALUE_CONSTRAINT                                         = 0x2081, 
    	// A value for the attribute was not in the acceptable range of values.
    	DS_RANGE_CONSTRAINT                                                = 0x2082, 
    	// The specified value already exists.
    	DS_ATT_VAL_ALREADY_EXISTS                                          = 0x2083, 
    	// The attribute cannot be removed because it is not present on the object.
    	DS_CANT_REM_MISSING_ATT                                            = 0x2084, 
    	// The attribute value cannot be removed because it is not present on the object.
    	DS_CANT_REM_MISSING_ATT_VAL                                        = 0x2085, 
    	// The specified root object cannot be a subref.
    	DS_ROOT_CANT_BE_SUBREF                                             = 0x2086, 
    	// Chaining is not permitted.
    	DS_NO_CHAINING                                                     = 0x2087, 
    	// Chained evaluation is not permitted.
    	DS_NO_CHAINED_EVAL                                                 = 0x2088, 
    	// The operation could not be performed because the object's parent is either uninstantiated or deleted.
    	DS_NO_PARENT_OBJECT                                                = 0x2089, 
    	// Having a parent that is an alias is not permitted. Aliases are leaf objects.
    	DS_PARENT_IS_AN_ALIAS                                              = 0x208A, 
    	// The object and parent must be of the same type, either both masters or both replicas.
    	DS_CANT_MIX_MASTER_AND_REPS                                        = 0x208B, 
    	// The operation cannot be performed because child objects exist. This operation can only be performed on a leaf object.
    	DS_CHILDREN_EXIST                                                  = 0x208C, 
    	// Directory object not found.
    	DS_OBJ_NOT_FOUND                                                   = 0x208D, 
    	// The aliased object is missing.
    	DS_ALIASED_OBJ_MISSING                                             = 0x208E, 
    	// The object name has bad syntax.
    	DS_BAD_NAME_SYNTAX                                                 = 0x208F, 
    	// It is not permitted for an alias to refer to another alias.
    	DS_ALIAS_POINTS_TO_ALIAS                                           = 0x2090, 
    	// The alias cannot be dereferenced.
    	DS_CANT_DEREF_ALIAS                                                = 0x2091, 
    	// The operation is out of scope.
    	DS_OUT_OF_SCOPE                                                    = 0x2092, 
    	// The operation cannot continue because the object is in the process of being removed.
    	DS_OBJECT_BEING_REMOVED                                            = 0x2093, 
    	// The DSA object cannot be deleted.
    	DS_CANT_DELETE_DSA_OBJ                                             = 0x2094, 
    	// A directory service error has occurred.
    	DS_GENERIC_ERROR                                                   = 0x2095, 
    	// The operation can only be performed on an internal master DSA object.
    	DS_DSA_MUST_BE_INT_MASTER                                          = 0x2096, 
    	// The object must be of class DSA.
    	DS_CLASS_NOT_DSA                                                   = 0x2097, 
    	// Insufficient access rights to perform the operation.
    	DS_INSUFF_ACCESS_RIGHTS                                            = 0x2098, 
    	// The object cannot be added because the parent is not on the list of possible superiors.
    	DS_ILLEGAL_SUPERIOR                                                = 0x2099, 
    	// Access to the attribute is not permitted because the attribute is owned by the Security Accounts Manager (SAM).
    	DS_ATTRIBUTE_OWNED_BY_SAM                                          = 0x209A, 
    	// The name has too many parts.
    	DS_NAME_TOO_MANY_PARTS                                             = 0x209B, 
    	// The name is too long.
    	DS_NAME_TOO_LONG                                                   = 0x209C, 
    	// The name value is too long.
    	DS_NAME_VALUE_TOO_LONG                                             = 0x209D, 
    	// The directory service encountered an error parsing a name.
    	DS_NAME_UNPARSEABLE                                                = 0x209E, 
    	// The directory service cannot get the attribute type for a name.
    	DS_NAME_TYPE_UNKNOWN                                               = 0x209F, 
    	// The name does not identify an object; the name identifies a phantom.
    	DS_NOT_AN_OBJECT                                                   = 0x20A0, 
    	// The security descriptor is too short.
    	DS_SEC_DESC_TOO_SHORT                                              = 0x20A1, 
    	// The security descriptor is invalid.
    	DS_SEC_DESC_INVALID                                                = 0x20A2, 
    	// Failed to create name for deleted object.
    	DS_NO_DELETED_NAME                                                 = 0x20A3, 
    	// The parent of a new subref must exist.
    	DS_SUBREF_MUST_HAVE_PARENT                                         = 0x20A4, 
    	// The object must be a naming context.
    	DS_NCNAME_MUST_BE_NC                                               = 0x20A5, 
    	// It is not permitted to add an attribute which is owned by the system.
    	DS_CANT_ADD_SYSTEM_ONLY                                            = 0x20A6, 
    	// The class of the object must be structural; you cannot instantiate an abstract class.
    	DS_CLASS_MUST_BE_CONCRETE                                          = 0x20A7, 
    	// The schema object could not be found.
    	DS_INVALID_DMD                                                     = 0x20A8, 
    	// A local object with this GUID (dead or alive) already exists.
    	DS_OBJ_GUID_EXISTS                                                 = 0x20A9, 
    	// The operation cannot be performed on a back link.
    	DS_NOT_ON_BACKLINK                                                 = 0x20AA, 
    	// The cross reference for the specified naming context could not be found.
    	DS_NO_CROSSREF_FOR_NC                                              = 0x20AB, 
    	// The operation could not be performed because the directory service is shutting down.
    	DS_SHUTTING_DOWN                                                   = 0x20AC, 
    	// The directory service request is invalid.
    	DS_UNKNOWN_OPERATION                                               = 0x20AD, 
    	// The role owner attribute could not be read.
    	DS_INVALID_ROLE_OWNER                                              = 0x20AE, 
    	// The requested FSMO operation failed. The current FSMO holder could not be contacted.
    	DS_COULDNT_CONTACT_FSMO                                            = 0x20AF, 
    	// Modification of a DN across a naming context is not permitted.
    	DS_CROSS_NC_DN_RENAME                                              = 0x20B0, 
    	// The attribute cannot be modified because it is owned by the system.
    	DS_CANT_MOD_SYSTEM_ONLY                                            = 0x20B1, 
    	// Only the replicator can perform this function.
    	DS_REPLICATOR_ONLY                                                 = 0x20B2, 
    	// The specified class is not defined.
    	DS_OBJ_CLASS_NOT_DEFINED                                           = 0x20B3, 
    	// The specified class is not a subclass.
    	DS_OBJ_CLASS_NOT_SUBCLASS                                          = 0x20B4, 
    	// The name reference is invalid.
    	DS_NAME_REFERENCE_INVALID                                          = 0x20B5, 
    	// A cross reference already exists.
    	DS_CROSS_REF_EXISTS                                                = 0x20B6, 
    	// It is not permitted to delete a master cross reference.
    	DS_CANT_DEL_MASTER_CROSSREF                                        = 0x20B7, 
    	// Subtree notifications are only supported on NC heads.
    	DS_SUBTREE_NOTIFY_NOT_NC_HEAD                                      = 0x20B8, 
    	// Notification filter is too complex.
    	DS_NOTIFY_FILTER_TOO_COMPLEX                                       = 0x20B9, 
    	// Schema update failed: duplicate RDN.
    	DS_DUP_RDN                                                         = 0x20BA, 
    	// Schema update failed: duplicate OID.
    	DS_DUP_OID                                                         = 0x20BB, 
    	// Schema update failed: duplicate MAPI identifier.
    	DS_DUP_MAPI_ID                                                     = 0x20BC, 
    	// Schema update failed: duplicate schema-id GUID.
    	DS_DUP_SCHEMA_ID_GUID                                              = 0x20BD, 
    	// Schema update failed: duplicate LDAP display name.
    	DS_DUP_LDAP_DISPLAY_NAME                                           = 0x20BE, 
    	// Schema update failed: range-lower less than range upper.
    	DS_SEMANTIC_ATT_TEST                                               = 0x20BF, 
    	// Schema update failed: syntax mismatch.
    	DS_SYNTAX_MISMATCH                                                 = 0x20C0, 
    	// Schema deletion failed: attribute is used in must-contain.
    	DS_EXISTS_IN_MUST_HAVE                                             = 0x20C1, 
    	// Schema deletion failed: attribute is used in may-contain.
    	DS_EXISTS_IN_MAY_HAVE                                              = 0x20C2, 
    	// Schema update failed: attribute in may-contain does not exist.
    	DS_NONEXISTENT_MAY_HAVE                                            = 0x20C3, 
    	// Schema update failed: attribute in must-contain does not exist.
    	DS_NONEXISTENT_MUST_HAVE                                           = 0x20C4, 
    	// Schema update failed: class in aux-class list does not exist or is not an auxiliary class.
    	DS_AUX_CLS_TEST_FAIL                                               = 0x20C5, 
    	// Schema update failed: class in poss-superiors does not exist.
    	DS_NONEXISTENT_POSS_SUP                                            = 0x20C6, 
    	// Schema update failed: class in subclassof list does not exist or does not satisfy hierarchy rules.
    	DS_SUB_CLS_TEST_FAIL                                               = 0x20C7, 
    	// Schema update failed: Rdn-Att-Id has wrong syntax.
    	DS_BAD_RDN_ATT_ID_SYNTAX                                           = 0x20C8, 
    	// Schema deletion failed: class is used as auxiliary class.
    	DS_EXISTS_IN_AUX_CLS                                               = 0x20C9, 
    	// Schema deletion failed: class is used as sub class.
    	DS_EXISTS_IN_SUB_CLS                                               = 0x20CA, 
    	// Schema deletion failed: class is used as poss superior.
    	DS_EXISTS_IN_POSS_SUP                                              = 0x20CB, 
    	// Schema update failed in recalculating validation cache.
    	DS_RECALCSCHEMA_FAILED                                             = 0x20CC, 
    	// The tree deletion is not finished. The request must be made again to continue deleting the tree.
    	DS_TREE_DELETE_NOT_FINISHED                                        = 0x20CD, 
    	// The requested delete operation could not be performed.
    	DS_CANT_DELETE                                                     = 0x20CE, 
    	// Cannot read the governs class identifier for the schema record.
    	DS_ATT_SCHEMA_REQ_ID                                               = 0x20CF, 
    	// The attribute schema has bad syntax.
    	DS_BAD_ATT_SCHEMA_SYNTAX                                           = 0x20D0, 
    	// The attribute could not be cached.
    	DS_CANT_CACHE_ATT                                                  = 0x20D1, 
    	// The class could not be cached.
    	DS_CANT_CACHE_CLASS                                                = 0x20D2, 
    	// The attribute could not be removed from the cache.
    	DS_CANT_REMOVE_ATT_CACHE                                           = 0x20D3, 
    	// The class could not be removed from the cache.
    	DS_CANT_REMOVE_CLASS_CACHE                                         = 0x20D4, 
    	// The distinguished name attribute could not be read.
    	DS_CANT_RETRIEVE_DN                                                = 0x20D5, 
    	// No superior reference has been configured for the directory service. The directory service is therefore unable to issue referrals to objects outside this forest.
    	DS_MISSING_SUPREF                                                  = 0x20D6, 
    	// The instance type attribute could not be retrieved.
    	DS_CANT_RETRIEVE_INSTANCE                                          = 0x20D7, 
    	// An internal error has occurred.
    	DS_CODE_INCONSISTENCY                                              = 0x20D8, 
    	// A database error has occurred.
    	DS_DATABASE_ERROR                                                  = 0x20D9, 
    	// The attribute GOVERNSID is missing.
    	DS_GOVERNSID_MISSING                                               = 0x20DA, 
    	// An expected attribute is missing.
    	DS_MISSING_EXPECTED_ATT                                            = 0x20DB, 
    	// The specified naming context is missing a cross reference.
    	DS_NCNAME_MISSING_CR_REF                                           = 0x20DC, 
    	// A security checking error has occurred.
    	DS_SECURITY_CHECKING_ERROR                                         = 0x20DD, 
    	// The schema is not loaded.
    	DS_SCHEMA_NOT_LOADED                                               = 0x20DE, 
    	// Schema allocation failed. Please check if the machine is running low on memory.
    	DS_SCHEMA_ALLOC_FAILED                                             = 0x20DF, 
    	// Failed to obtain the required syntax for the attribute schema.
    	DS_ATT_SCHEMA_REQ_SYNTAX                                           = 0x20E0, 
    	// The global catalog verification failed. The global catalog is not available or does not support the operation. Some part of the directory is currently not available.
    	DS_GCVERIFY_ERROR                                                  = 0x20E1, 
    	// The replication operation failed because of a schema mismatch between the servers involved.
    	DS_DRA_SCHEMA_MISMATCH                                             = 0x20E2, 
    	// The DSA object could not be found.
    	DS_CANT_FIND_DSA_OBJ                                               = 0x20E3, 
    	// The naming context could not be found.
    	DS_CANT_FIND_EXPECTED_NC                                           = 0x20E4, 
    	// The naming context could not be found in the cache.
    	DS_CANT_FIND_NC_IN_CACHE                                           = 0x20E5, 
    	// The child object could not be retrieved.
    	DS_CANT_RETRIEVE_CHILD                                             = 0x20E6, 
    	// The modification was not permitted for security reasons.
    	DS_SECURITY_ILLEGAL_MODIFY                                         = 0x20E7, 
    	// The operation cannot replace the hidden record.
    	DS_CANT_REPLACE_HIDDEN_REC                                         = 0x20E8, 
    	// The hierarchy file is invalid.
    	DS_BAD_HIERARCHY_FILE                                              = 0x20E9, 
    	// The attempt to build the hierarchy table failed.
    	DS_BUILD_HIERARCHY_TABLE_FAILED                                    = 0x20EA, 
    	// The directory configuration parameter is missing from the registry.
    	DS_CONFIG_PARAM_MISSING                                            = 0x20EB, 
    	// The attempt to count the address book indices failed.
    	DS_COUNTING_AB_INDICES_FAILED                                      = 0x20EC, 
    	// The allocation of the hierarchy table failed.
    	DS_HIERARCHY_TABLE_MALLOC_FAILED                                   = 0x20ED, 
    	// The directory service encountered an internal failure.
    	DS_INTERNAL_FAILURE                                                = 0x20EE, 
    	// The directory service encountered an unknown failure.
    	DS_UNKNOWN_ERROR                                                   = 0x20EF, 
    	// A root object requires a class of 'top'.
    	DS_ROOT_REQUIRES_CLASS_TOP                                         = 0x20F0, 
    	// This directory server is shutting down, and cannot take ownership of new floating single-master operation roles.
    	DS_REFUSING_FSMO_ROLES                                             = 0x20F1, 
    	// The directory service is missing mandatory configuration information, and is unable to determine the ownership of floating single-master operation roles.
    	DS_MISSING_FSMO_SETTINGS                                           = 0x20F2, 
    	// The directory service was unable to transfer ownership of one or more floating single-master operation roles to other servers.
    	DS_UNABLE_TO_SURRENDER_ROLES                                       = 0x20F3, 
    	// The replication operation failed.
    	DS_DRA_GENERIC                                                     = 0x20F4, 
    	// An invalid parameter was specified for this replication operation.
    	DS_DRA_INVALID_PARAMETER                                           = 0x20F5, 
    	// The directory service is too busy to complete the replication operation at this time.
    	DS_DRA_BUSY                                                        = 0x20F6, 
    	// The distinguished name specified for this replication operation is invalid.
    	DS_DRA_BAD_DN                                                      = 0x20F7, 
    	// The naming context specified for this replication operation is invalid.
    	DS_DRA_BAD_NC                                                      = 0x20F8, 
    	// The distinguished name specified for this replication operation already exists.
    	DS_DRA_DN_EXISTS                                                   = 0x20F9, 
    	// The replication system encountered an internal error.
    	DS_DRA_INTERNAL_ERROR                                              = 0x20FA, 
    	// The replication operation encountered a database inconsistency.
    	DS_DRA_INCONSISTENT_DIT                                            = 0x20FB, 
    	// The server specified for this replication operation could not be contacted.
    	DS_DRA_CONNECTION_FAILED                                           = 0x20FC, 
    	// The replication operation encountered an object with an invalid instance type.
    	DS_DRA_BAD_INSTANCE_TYPE                                           = 0x20FD, 
    	// The replication operation failed to allocate memory.
    	DS_DRA_OUT_OF_MEM                                                  = 0x20FE, 
    	// The replication operation encountered an error with the mail system.
    	DS_DRA_MAIL_PROBLEM                                                = 0x20FF, 
    	// The replication reference information for the target server already exists.
    	DS_DRA_REF_ALREADY_EXISTS                                          = 0x2100, 
    	// The replication reference information for the target server does not exist.
    	DS_DRA_REF_NOT_FOUND                                               = 0x2101, 
    	// The naming context cannot be removed because it is replicated to another server.
    	DS_DRA_OBJ_IS_REP_SOURCE                                           = 0x2102, 
    	// The replication operation encountered a database error.
    	DS_DRA_DB_ERROR                                                    = 0x2103, 
    	// The naming context is in the process of being removed or is not replicated from the specified server.
    	DS_DRA_NO_REPLICA                                                  = 0x2104, 
    	// Replication access was denied.
    	DS_DRA_ACCESS_DENIED                                               = 0x2105, 
    	// The requested operation is not supported by this version of the directory service.
    	DS_DRA_NOT_SUPPORTED                                               = 0x2106, 
    	// The replication remote procedure call was cancelled.
    	DS_DRA_RPC_CANCELLED                                               = 0x2107, 
    	// The source server is currently rejecting replication requests.
    	DS_DRA_SOURCE_DISABLED                                             = 0x2108, 
    	// The destination server is currently rejecting replication requests.
    	DS_DRA_SINK_DISABLED                                               = 0x2109, 
    	// The replication operation failed due to a collision of object names.
    	DS_DRA_NAME_COLLISION                                              = 0x210A, 
    	// The replication source has been reinstalled.
    	DS_DRA_SOURCE_REINSTALLED                                          = 0x210B, 
    	// The replication operation failed because a required parent object is missing.
    	DS_DRA_MISSING_PARENT                                              = 0x210C, 
    	// The replication operation was preempted.
    	DS_DRA_PREEMPTED                                                   = 0x210D, 
    	// The replication synchronization attempt was abandoned because of a lack of updates.
    	DS_DRA_ABANDON_SYNC                                                = 0x210E, 
    	// The replication operation was terminated because the system is shutting down.
    	DS_DRA_SHUTDOWN                                                    = 0x210F, 
    	// Synchronization attempt failed because the destination DC is currently waiting to synchronize new partial attributes from source. This condition is normal if a recent schema change modified the partial attribute set. The destination partial attribute set is not a subset of source partial attribute set.
    	DS_DRA_INCOMPATIBLE_PARTIAL_SET                                    = 0x2110, 
    	// The replication synchronization attempt failed because a master replica attempted to sync from a partial replica.
    	DS_DRA_SOURCE_IS_PARTIAL_REPLICA                                   = 0x2111, 
    	// The server specified for this replication operation was contacted, but that server was unable to contact an additional server needed to complete the operation.
    	DS_DRA_EXTN_CONNECTION_FAILED                                      = 0x2112, 
    	// The version of the directory service schema of the source forest is not compatible with the version of directory service on this computer.
    	DS_INSTALL_SCHEMA_MISMATCH                                         = 0x2113, 
    	// Schema update failed: An attribute with the same link identifier already exists.
    	DS_DUP_LINK_ID                                                     = 0x2114, 
    	// Name translation: Generic processing error.
    	DS_NAME_ERROR_RESOLVING                                            = 0x2115, 
    	// Name translation: Could not find the name or insufficient right to see name.
    	DS_NAME_ERROR_NOT_FOUND                                            = 0x2116, 
    	// Name translation: Input name mapped to more than one output name.
    	DS_NAME_ERROR_NOT_UNIQUE                                           = 0x2117, 
    	// Name translation: Input name found, but not the associated output format.
    	DS_NAME_ERROR_NO_MAPPING                                           = 0x2118, 
    	// Name translation: Unable to resolve completely, only the domain was found.
    	DS_NAME_ERROR_DOMAIN_ONLY                                          = 0x2119, 
    	// Name translation: Unable to perform purely syntactical mapping at the client without going out to the wire.
    	DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING                               = 0x211A, 
    	// Modification of a constructed attribute is not allowed.
    	DS_CONSTRUCTED_ATT_MOD                                             = 0x211B, 
    	// The OM-Object-Class specified is incorrect for an attribute with the specified syntax.
    	DS_WRONG_OM_OBJ_CLASS                                              = 0x211C, 
    	// The replication request has been posted; waiting for reply.
    	DS_DRA_REPL_PENDING                                                = 0x211D, 
    	// The requested operation requires a directory service, and none was available.
    	DS_DS_REQUIRED                                                     = 0x211E, 
    	// The LDAP display name of the class or attribute contains non-ASCII characters.
    	DS_INVALID_LDAP_DISPLAY_NAME                                       = 0x211F, 
    	// The requested search operation is only supported for base searches.
    	DS_NON_BASE_SEARCH                                                 = 0x2120, 
    	// The search failed to retrieve attributes from the database.
    	DS_CANT_RETRIEVE_ATTS                                              = 0x2121, 
    	// The schema update operation tried to add a backward link attribute that has no corresponding forward link.
    	DS_BACKLINK_WITHOUT_LINK                                           = 0x2122, 
    	// Source and destination of a cross-domain move do not agree on the object's epoch number. Either source or destination does not have the latest version of the object.
    	DS_EPOCH_MISMATCH                                                  = 0x2123, 
    	// Source and destination of a cross-domain move do not agree on the object's current name. Either source or destination does not have the latest version of the object.
    	DS_SRC_NAME_MISMATCH                                               = 0x2124, 
    	// Source and destination for the cross-domain move operation are identical. Caller should use local move operation instead of cross-domain move operation.
    	DS_SRC_AND_DST_NC_IDENTICAL                                        = 0x2125, 
    	// Source and destination for a cross-domain move are not in agreement on the naming contexts in the forest. Either source or destination does not have the latest version of the Partitions container.
    	DS_DST_NC_MISMATCH                                                 = 0x2126, 
    	// Destination of a cross-domain move is not authoritative for the destination naming context.
    	DS_NOT_AUTHORITIVE_FOR_DST_NC                                      = 0x2127, 
    	// Source and destination of a cross-domain move do not agree on the identity of the source object. Either source or destination does not have the latest version of the source object.
    	DS_SRC_GUID_MISMATCH                                               = 0x2128, 
    	// Object being moved across-domains is already known to be deleted by the destination server. The source server does not have the latest version of the source object.
    	DS_CANT_MOVE_DELETED_OBJECT                                        = 0x2129, 
    	// Another operation which requires exclusive access to the PDC FSMO is already in progress.
    	DS_PDC_OPERATION_IN_PROGRESS                                       = 0x212A, 
    	// A cross-domain move operation failed such that two versions of the moved object exist - one each in the source and destination domains. The destination object needs to be removed to restore the system to a consistent state.
    	DS_CROSS_DOMAIN_CLEANUP_REQD                                       = 0x212B, 
    	// This object may not be moved across domain boundaries either because cross-domain moves for this class are disallowed, or the object has some special characteristics, e.g.: trust account or restricted RID, which prevent its move.
    	DS_ILLEGAL_XDOM_MOVE_OPERATION                                     = 0x212C, 
    	// Can't move objects with memberships across domain boundaries as once moved, this would violate the membership conditions of the account group. Remove the object from any account group memberships and retry.
    	DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS                                 = 0x212D, 
    	// A naming context head must be the immediate child of another naming context head, not of an interior node.
    	DS_NC_MUST_HAVE_NC_PARENT                                          = 0x212E, 
    	// The directory cannot validate the proposed naming context name because it does not hold a replica of the naming context above the proposed naming context. Please ensure that the domain naming master role is held by a server that is configured as a global catalog server, and that the server is up to date with its replication partners. (Applies only to Windows 2000 Domain Naming masters.)
    	DS_CR_IMPOSSIBLE_TO_VALIDATE                                       = 0x212F, 
    	// Destination domain must be in native mode.
    	DS_DST_DOMAIN_NOT_NATIVE                                           = 0x2130, 
    	// The operation cannot be performed because the server does not have an infrastructure container in the domain of interest.
    	DS_MISSING_INFRASTRUCTURE_CONTAINER                                = 0x2131, 
    	// Cross-domain move of non-empty account groups is not allowed.
    	DS_CANT_MOVE_ACCOUNT_GROUP                                         = 0x2132, 
    	// Cross-domain move of non-empty resource groups is not allowed.
    	DS_CANT_MOVE_RESOURCE_GROUP                                        = 0x2133, 
    	// The search flags for the attribute are invalid. The ANR bit is valid only on attributes of Unicode or Teletex strings.
    	DS_INVALID_SEARCH_FLAG                                             = 0x2134, 
    	// Tree deletions starting at an object which has an NC head as a descendant are not allowed.
    	DS_NO_TREE_DELETE_ABOVE_NC                                         = 0x2135, 
    	// The directory service failed to lock a tree in preparation for a tree deletion because the tree was in use.
    	DS_COULDNT_LOCK_TREE_FOR_DELETE                                    = 0x2136, 
    	// The directory service failed to identify the list of objects to delete while attempting a tree deletion.
    	DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE                        = 0x2137, 
    	// Security Accounts Manager initialization failed because of the following error: %1. Error Status: 0x%2. Please shutdown this system and reboot into Directory Services Restore Mode, check the event log for more detailed information.
    	DS_SAM_INIT_FAILURE                                                = 0x2138, 
    	// Only an administrator can modify the membership list of an administrative group.
    	DS_SENSITIVE_GROUP_VIOLATION                                       = 0x2139, 
    	// Cannot change the primary group ID of a domain controller account.
    	DS_CANT_MOD_PRIMARYGROUPID                                         = 0x213A, 
    	// An attempt is made to modify the base schema.
    	DS_ILLEGAL_BASE_SCHEMA_MOD                                         = 0x213B, 
    	// Adding a new mandatory attribute to an existing class, deleting a mandatory attribute from an existing class, or adding an optional attribute to the special class Top that is not a backlink attribute (directly or through inheritance, for example, by adding or deleting an auxiliary class) is not allowed.
    	DS_NONSAFE_SCHEMA_CHANGE                                           = 0x213C, 
    	// Schema update is not allowed on this DC because the DC is not the schema FSMO Role Owner.
    	DS_SCHEMA_UPDATE_DISALLOWED                                        = 0x213D, 
    	// An object of this class cannot be created under the schema container. You can only create attribute-schema and class-schema objects under the schema container.
    	DS_CANT_CREATE_UNDER_SCHEMA                                        = 0x213E, 
    	// The replica/child install failed to get the objectVersion attribute on the schema container on the source DC. Either the attribute is missing on the schema container or the credentials supplied do not have permission to read it.
    	DS_INSTALL_NO_SRC_SCH_VERSION                                      = 0x213F, 
    	// The replica/child install failed to read the objectVersion attribute in the SCHEMA section of the file schema.ini in the system32 directory.
    	DS_INSTALL_NO_SCH_VERSION_IN_INIFILE                               = 0x2140, 
    	// The specified group type is invalid.
    	DS_INVALID_GROUP_TYPE                                              = 0x2141, 
    	// You cannot nest global groups in a mixed domain if the group is security-enabled.
    	DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN                              = 0x2142, 
    	// You cannot nest local groups in a mixed domain if the group is security-enabled.
    	DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN                               = 0x2143, 
    	// A global group cannot have a local group as a member.
    	DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER                                   = 0x2144, 
    	// A global group cannot have a universal group as a member.
    	DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER                               = 0x2145, 
    	// A universal group cannot have a local group as a member.
    	DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER                                = 0x2146, 
    	// A global group cannot have a cross-domain member.
    	DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER                             = 0x2147, 
    	// A local group cannot have another cross domain local group as a member.
    	DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER                        = 0x2148, 
    	// A group with primary members cannot change to a security-disabled group.
    	DS_HAVE_PRIMARY_MEMBERS                                            = 0x2149, 
    	// The schema cache load failed to convert the string default SD on a class-schema object.
    	DS_STRING_SD_CONVERSION_FAILED                                     = 0x214A, 
    	// Only DSAs configured to be Global Catalog servers should be allowed to hold the Domain Naming Master FSMO role. (Applies only to Windows 2000 servers.)
    	DS_NAMING_MASTER_GC                                                = 0x214B, 
    	// The DSA operation is unable to proceed because of a DNS lookup failure.
    	DS_DNS_LOOKUP_FAILURE                                              = 0x214C, 
    	// While processing a change to the DNS Host Name for an object, the Service Principal Name values could not be kept in sync.
    	DS_COULDNT_UPDATE_SPNS                                             = 0x214D, 
    	// The Security Descriptor attribute could not be read.
    	DS_CANT_RETRIEVE_SD                                                = 0x214E, 
    	// The object requested was not found, but an object with that key was found.
    	DS_KEY_NOT_UNIQUE                                                  = 0x214F, 
    	// The syntax of the linked attribute being added is incorrect. Forward links can only have syntax 2.5.5.1, 2.5.5.7, and 2.5.5.14, and backlinks can only have syntax 2.5.5.1.
    	DS_WRONG_LINKED_ATT_SYNTAX                                         = 0x2150, 
    	// Security Account Manager needs to get the boot password.
    	DS_SAM_NEED_BOOTKEY_PASSWORD                                       = 0x2151, 
    	// Security Account Manager needs to get the boot key from floppy disk.
    	DS_SAM_NEED_BOOTKEY_FLOPPY                                         = 0x2152, 
    	// Directory Service cannot start.
    	DS_CANT_START                                                      = 0x2153, 
    	// Directory Services could not start.
    	DS_INIT_FAILURE                                                    = 0x2154, 
    	// The connection between client and server requires packet privacy or better.
    	DS_NO_PKT_PRIVACY_ON_CONNECTION                                    = 0x2155, 
    	// The source domain may not be in the same forest as destination.
    	DS_SOURCE_DOMAIN_IN_FOREST                                         = 0x2156, 
    	// The destination domain must be in the forest.
    	DS_DESTINATION_DOMAIN_NOT_IN_FOREST                                = 0x2157, 
    	// The operation requires that destination domain auditing be enabled.
    	DS_DESTINATION_AUDITING_NOT_ENABLED                                = 0x2158, 
    	// The operation couldn't locate a DC for the source domain.
    	DS_CANT_FIND_DC_FOR_SRC_DOMAIN                                     = 0x2159, 
    	// The source object must be a group or user.
    	DS_SRC_OBJ_NOT_GROUP_OR_USER                                       = 0x215A, 
    	// The source object's SID already exists in destination forest.
    	DS_SRC_SID_EXISTS_IN_FOREST                                        = 0x215B, 
    	// The source and destination object must be of the same type.
    	DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH                               = 0x215C, 
    	// Security Accounts Manager initialization failed because of the following error: %1. Error Status: 0x%2. Click OK to shut down the system and reboot into Safe Mode. Check the event log for detailed information.
    	SAM_INIT_FAILURE                                                   = 0x215D, 
    	// Schema information could not be included in the replication request.
    	DS_DRA_SCHEMA_INFO_SHIP                                            = 0x215E, 
    	// The replication operation could not be completed due to a schema incompatibility.
    	DS_DRA_SCHEMA_CONFLICT                                             = 0x215F, 
    	// The replication operation could not be completed due to a previous schema incompatibility.
    	DS_DRA_EARLIER_SCHEMA_CONFLICT                                     = 0x2160, 
    	// The replication update could not be applied because either the source or the destination has not yet received information regarding a recent cross-domain move operation.
    	DS_DRA_OBJ_NC_MISMATCH                                             = 0x2161, 
    	// The requested domain could not be deleted because there exist domain controllers that still host this domain.
    	DS_NC_STILL_HAS_DSAS                                               = 0x2162, 
    	// The requested operation can be performed only on a global catalog server.
    	DS_GC_REQUIRED                                                     = 0x2163, 
    	// A local group can only be a member of other local groups in the same domain.
    	DS_LOCAL_MEMBER_OF_LOCAL_ONLY                                      = 0x2164, 
    	// Foreign security principals cannot be members of universal groups.
    	DS_NO_FPO_IN_UNIVERSAL_GROUPS                                      = 0x2165, 
    	// The attribute is not allowed to be replicated to the GC because of security reasons.
    	DS_CANT_ADD_TO_GC                                                  = 0x2166, 
    	// The checkpoint with the PDC could not be taken because there too many modifications being processed currently.
    	DS_NO_CHECKPOINT_WITH_PDC                                          = 0x2167, 
    	// The operation requires that source domain auditing be enabled.
    	DS_SOURCE_AUDITING_NOT_ENABLED                                     = 0x2168, 
    	// Security principal objects can only be created inside domain naming contexts.
    	DS_CANT_CREATE_IN_NONDOMAIN_NC                                     = 0x2169, 
    	// A Service Principal Name (SPN) could not be constructed because the provided hostname is not in the necessary format.
    	DS_INVALID_NAME_FOR_SPN                                            = 0x216A, 
    	// A Filter was passed that uses constructed attributes.
    	DS_FILTER_USES_CONTRUCTED_ATTRS                                    = 0x216B, 
    	// The unicodePwd attribute value must be enclosed in double quotes.
    	DS_UNICODEPWD_NOT_IN_QUOTES                                        = 0x216C, 
    	// Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased.
    	DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED                                  = 0x216D, 
    	// For security reasons, the operation must be run on the destination DC.
    	DS_MUST_BE_RUN_ON_DST_DC                                           = 0x216E, 
    	// For security reasons, the source DC must be NT4SP4 or greater.
    	DS_SRC_DC_MUST_BE_SP4_OR_GREATER                                   = 0x216F, 
    	// Critical Directory Service System objects cannot be deleted during tree delete operations. The tree delete may have been partially performed.
    	DS_CANT_TREE_DELETE_CRITICAL_OBJ                                   = 0x2170, 
    	// Directory Services could not start because of the following error: %1. Error Status: 0x%2. Please click OK to shutdown the system. You can use the recovery console to diagnose the system further.
    	DS_INIT_FAILURE_CONSOLE                                            = 0x2171, 
    	// Security Accounts Manager initialization failed because of the following error: %1. Error Status: 0x%2. Please click OK to shutdown the system. You can use the recovery console to diagnose the system further.
    	DS_SAM_INIT_FAILURE_CONSOLE                                        = 0x2172, 
    	// The version of the operating system is incompatible with the current AD DS forest functional level or AD LDS Configuration Set functional level. You must upgrade to a new version of the operating system before this server can become an AD DS Domain Controller or add an AD LDS Instance in this AD DS Forest or AD LDS Configuration Set.
    	DS_FOREST_VERSION_TOO_HIGH                                         = 0x2173, 
    	// The version of the operating system installed is incompatible with the current domain functional level. You must upgrade to a new version of the operating system before this server can become a domain controller in this domain.
    	DS_DOMAIN_VERSION_TOO_HIGH                                         = 0x2174, 
    	// The version of the operating system installed on this server no longer supports the current AD DS Forest functional level or AD LDS Configuration Set functional level. You must raise the AD DS Forest functional level or AD LDS Configuration Set functional level before this server can become an AD DS Domain Controller or an AD LDS Instance in this Forest or Configuration Set.
    	DS_FOREST_VERSION_TOO_LOW                                          = 0x2175, 
    	// The version of the operating system installed on this server no longer supports the current domain functional level. You must raise the domain functional level before this server can become a domain controller in this domain.
    	DS_DOMAIN_VERSION_TOO_LOW                                          = 0x2176, 
    	// The version of the operating system installed on this server is incompatible with the functional level of the domain or forest.
    	DS_INCOMPATIBLE_VERSION                                            = 0x2177, 
    	// The functional level of the domain (or forest) cannot be raised to the requested value, because there exist one or more domain controllers in the domain (or forest) that are at a lower incompatible functional level.
    	DS_LOW_DSA_VERSION                                                 = 0x2178, 
    	// The forest functional level cannot be raised to the requested value since one or more domains are still in mixed domain mode. All domains in the forest must be in native mode, for you to raise the forest functional level.
    	DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN                              = 0x2179, 
    	// The sort order requested is not supported.
    	DS_NOT_SUPPORTED_SORT_ORDER                                        = 0x217A, 
    	// The requested name already exists as a unique identifier.
    	DS_NAME_NOT_UNIQUE                                                 = 0x217B, 
    	// The machine account was created pre-NT4. The account needs to be recreated.
    	DS_MACHINE_ACCOUNT_CREATED_PRENT4                                  = 0x217C, 
    	// The database is out of version store.
    	DS_OUT_OF_VERSION_STORE                                            = 0x217D, 
    	// Unable to continue operation because multiple conflicting controls were used.
    	DS_INCOMPATIBLE_CONTROLS_USED                                      = 0x217E, 
    	// Unable to find a valid security descriptor reference domain for this partition.
    	DS_NO_REF_DOMAIN                                                   = 0x217F, 
    	// Schema update failed: The link identifier is reserved.
    	DS_RESERVED_LINK_ID                                                = 0x2180, 
    	// Schema update failed: There are no link identifiers available.
    	DS_LINK_ID_NOT_AVAILABLE                                           = 0x2181, 
    	// An account group cannot have a universal group as a member.
    	DS_AG_CANT_HAVE_UNIVERSAL_MEMBER                                   = 0x2182, 
    	// Rename or move operations on naming context heads or read-only objects are not allowed.
    	DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE                            = 0x2183, 
    	// Move operations on objects in the schema naming context are not allowed.
    	DS_NO_OBJECT_MOVE_IN_SCHEMA_NC                                     = 0x2184, 
    	// A system flag has been set on the object and does not allow the object to be moved or renamed.
    	DS_MODIFYDN_DISALLOWED_BY_FLAG                                     = 0x2185, 
    	// This object is not allowed to change its grandparent container. Moves are not forbidden on this object, but are restricted to sibling containers.
    	DS_MODIFYDN_WRONG_GRANDPARENT                                      = 0x2186, 
    	// Unable to resolve completely, a referral to another forest is generated.
    	DS_NAME_ERROR_TRUST_REFERRAL                                       = 0x2187, 
    	// The requested action is not supported on standard server.
    	NOT_SUPPORTED_ON_STANDARD_SERVER                                   = 0x2188, 
    	// Could not access a partition of the directory service located on a remote server. Make sure at least one server is running for the partition in question.
    	DS_CANT_ACCESS_REMOTE_PART_OF_AD                                   = 0x2189, 
    	// The directory cannot validate the proposed naming context (or partition) name because it does not hold a replica nor can it contact a replica of the naming context above the proposed naming context. Please ensure that the parent naming context is properly registered in DNS, and at least one replica of this naming context is reachable by the Domain Naming master.
    	DS_CR_IMPOSSIBLE_TO_VALIDATE_V2                                    = 0x218A, 
    	// The thread limit for this request was exceeded.
    	DS_THREAD_LIMIT_EXCEEDED                                           = 0x218B, 
    	// The Global catalog server is not in the closest site.
    	DS_NOT_CLOSEST                                                     = 0x218C, 
    	// The DS cannot derive a service principal name (SPN) with which to mutually authenticate the target server because the corresponding server object in the local DS database has no serverReference attribute.
    	DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF                              = 0x218D, 
    	// The Directory Service failed to enter single user mode.
    	DS_SINGLE_USER_MODE_FAILED                                         = 0x218E, 
    	// The Directory Service cannot parse the script because of a syntax error.
    	DS_NTDSCRIPT_SYNTAX_ERROR                                          = 0x218F, 
    	// The Directory Service cannot process the script because of an error.
    	DS_NTDSCRIPT_PROCESS_ERROR                                         = 0x2190, 
    	// The directory service cannot perform the requested operation because the servers involved are of different replication epochs (which is usually related to a domain rename that is in progress).
    	DS_DIFFERENT_REPL_EPOCHS                                           = 0x2191, 
    	// The directory service binding must be renegotiated due to a change in the server extensions information.
    	DS_DRS_EXTENSIONS_CHANGED                                          = 0x2192, 
    	// Operation not allowed on a disabled cross ref.
    	DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR                   = 0x2193, 
    	// Schema update failed: No values for msDS-IntId are available.
    	DS_NO_MSDS_INTID                                                   = 0x2194, 
    	// Schema update failed: Duplicate msDS-INtId. Retry the operation.
    	DS_DUP_MSDS_INTID                                                  = 0x2195, 
    	// Schema deletion failed: attribute is used in rDNAttID.
    	DS_EXISTS_IN_RDNATTID                                              = 0x2196, 
    	// The directory service failed to authorize the request.
    	DS_AUTHORIZATION_FAILED                                            = 0x2197, 
    	// The Directory Service cannot process the script because it is invalid.
    	DS_INVALID_SCRIPT                                                  = 0x2198, 
    	// The remote create cross reference operation failed on the Domain Naming Master FSMO. The operation's error is in the extended data.
    	DS_REMOTE_CROSSREF_OP_FAILED                                       = 0x2199, 
    	// A cross reference is in use locally with the same name.
    	DS_CROSS_REF_BUSY                                                  = 0x219A, 
    	// The DS cannot derive a service principal name (SPN) with which to mutually authenticate the target server because the server's domain has been deleted from the forest.
    	DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN                              = 0x219B, 
    	// Writeable NCs prevent this DC from demoting.
    	DS_CANT_DEMOTE_WITH_WRITEABLE_NC                                   = 0x219C, 
    	// The requested object has a non-unique identifier and cannot be retrieved.
    	DS_DUPLICATE_ID_FOUND                                              = 0x219D, 
    	// Insufficient attributes were given to create an object. This object may not exist because it may have been deleted and already garbage collected.
    	DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT                              = 0x219E, 
    	// The group cannot be converted due to attribute restrictions on the requested group type.
    	DS_GROUP_CONVERSION_ERROR                                          = 0x219F, 
    	// Cross-domain move of non-empty basic application groups is not allowed.
    	DS_CANT_MOVE_APP_BASIC_GROUP                                       = 0x21A0, 
    	// Cross-domain move of non-empty query based application groups is not allowed.
    	DS_CANT_MOVE_APP_QUERY_GROUP                                       = 0x21A1, 
    	// The FSMO role ownership could not be verified because its directory partition has not replicated successfully with at least one replication partner.
    	DS_ROLE_NOT_VERIFIED                                               = 0x21A2, 
    	// The target container for a redirection of a well known object container cannot already be a special container.
    	DS_WKO_CONTAINER_CANNOT_BE_SPECIAL                                 = 0x21A3, 
    	// The Directory Service cannot perform the requested operation because a domain rename operation is in progress.
    	DS_DOMAIN_RENAME_IN_PROGRESS                                       = 0x21A4, 
    	// The directory service detected a child partition below the requested partition name. The partition hierarchy must be created in a top down method.
    	DS_EXISTING_AD_CHILD_NC                                            = 0x21A5, 
    	// The directory service cannot replicate with this server because the time since the last replication with this server has exceeded the tombstone lifetime.
    	DS_REPL_LIFETIME_EXCEEDED                                          = 0x21A6, 
    	// The requested operation is not allowed on an object under the system container.
    	DS_DISALLOWED_IN_SYSTEM_CONTAINER                                  = 0x21A7, 
    	// The LDAP servers network send queue has filled up because the client is not processing the results of its requests fast enough. No more requests will be processed until the client catches up. If the client does not catch up then it will be disconnected.
    	DS_LDAP_SEND_QUEUE_FULL                                            = 0x21A8, 
    	// The scheduled replication did not take place because the system was too busy to execute the request within the schedule window. The replication queue is overloaded. Consider reducing the number of partners or decreasing the scheduled replication frequency.
    	DS_DRA_OUT_SCHEDULE_WINDOW                                         = 0x21A9, 
    	// At this time, it cannot be determined if the branch replication policy is available on the hub domain controller. Please retry at a later time to account for replication latencies.
    	DS_POLICY_NOT_KNOWN                                                = 0x21AA, 
    	// The site settings object for the specified site does not exist.
    	NO_SITE_SETTINGS_OBJECT                                            = 0x21AB, 
    	// The local account store does not contain secret material for the specified account.
    	NO_SECRETS                                                         = 0x21AC, 
    	// Could not find a writable domain controller in the domain.
    	NO_WRITABLE_DC_FOUND                                               = 0x21AD, 
    	// The server object for the domain controller does not exist.
    	DS_NO_SERVER_OBJECT                                                = 0x21AE, 
    	// The NTDS Settings object for the domain controller does not exist.
    	DS_NO_NTDSA_OBJECT                                                 = 0x21AF, 
    	// The requested search operation is not supported for ASQ searches.
    	DS_NON_ASQ_SEARCH                                                  = 0x21B0, 
    	// A required audit event could not be generated for the operation.
    	DS_AUDIT_FAILURE                                                   = 0x21B1, 
    	// The search flags for the attribute are invalid. The subtree index bit is valid only on single valued attributes.
    	DS_INVALID_SEARCH_FLAG_SUBTREE                                     = 0x21B2, 
    	// The search flags for the attribute are invalid. The tuple index bit is valid only on attributes of Unicode strings.
    	DS_INVALID_SEARCH_FLAG_TUPLE                                       = 0x21B3, 
    	// The address books are nested too deeply. Failed to build the hierarchy table.
    	DS_HIERARCHY_TABLE_TOO_DEEP                                        = 0x21B4, 
    	// The specified up-to-date-ness vector is corrupt.
    	DS_DRA_CORRUPT_UTD_VECTOR                                          = 0x21B5, 
    	// The request to replicate secrets is denied.
    	DS_DRA_SECRETS_DENIED                                              = 0x21B6, 
    	// Schema update failed: The MAPI identifier is reserved.
    	DS_RESERVED_MAPI_ID                                                = 0x21B7, 
    	// Schema update failed: There are no MAPI identifiers available.
    	DS_MAPI_ID_NOT_AVAILABLE                                           = 0x21B8, 
    	// The replication operation failed because the required attributes of the local krbtgt object are missing.
    	DS_DRA_MISSING_KRBTGT_SECRET                                       = 0x21B9, 
    	// The domain name of the trusted domain already exists in the forest.
    	DS_DOMAIN_NAME_EXISTS_IN_FOREST                                    = 0x21BA, 
    	// The flat name of the trusted domain already exists in the forest.
    	DS_FLAT_NAME_EXISTS_IN_FOREST                                      = 0x21BB, 
    	// The User Principal Name (UPN) is invalid.
    	INVALID_USER_PRINCIPAL_NAME                                        = 0x21BC, 
    	// OID mapped groups cannot have members.
    	DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS                              = 0x21BD, 
    	// The specified OID cannot be found.
    	DS_OID_NOT_FOUND                                                   = 0x21BE, 
    	// The replication operation failed because the target object referred by a link value is recycled.
    	DS_DRA_RECYCLED_TARGET                                             = 0x21BF, 
    	// The redirect operation failed because the target object is in a NC different from the domain NC of the current domain controller.
    	DS_DISALLOWED_NC_REDIRECT                                          = 0x21C0, 
    	// The functional level of the AD LDS configuration set cannot be lowered to the requested value.
    	DS_HIGH_ADLDS_FFL                                                  = 0x21C1, 
    	// The functional level of the domain (or forest) cannot be lowered to the requested value.
    	DS_HIGH_DSA_VERSION                                                = 0x21C2, 
    	// The functional level of the AD LDS configuration set cannot be raised to the requested value, because there exist one or more ADLDS instances that are at a lower incompatible functional level.
    	DS_LOW_ADLDS_FFL                                                   = 0x21C3, 
    	// The domain join cannot be completed because the SID of the domain you attempted to join was identical to the SID of this machine. This is a symptom of an improperly cloned operating system install. You should run sysprep on this machine in order to generate a new machine SID. Please see https://go.microsoft.com/fwlink/p/?linkid=168895 for more information.
    	DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION                               = 0x21C4, 
    	// The undelete operation failed because the Sam Account Name or Additional Sam Account Name of the object being undeleted conflicts with an existing live object.
    	DS_UNDELETE_SAM_VALIDATION_FAILED                                  = 0x21C5, 
    	// The system is not authoritative for the specified account and therefore cannot complete the operation. Please retry the operation using the provider associated with this account. If this is an online provider please use the provider's online site.
    	INCORRECT_ACCOUNT_TYPE                                             = 0x21C6, 
    	// DNS server unable to interpret format.
    	DNS_ERROR_RCODE_FORMAT_ERROR                                       = 0x2329, 
    	// DNS server failure.
    	DNS_ERROR_RCODE_SERVER_FAILURE                                     = 0x232A, 
    	// DNS name does not exist.
    	DNS_ERROR_RCODE_NAME_ERROR                                         = 0x232B, 
    	// DNS request not supported by name server.
    	DNS_ERROR_RCODE_NOT_IMPLEMENTED                                    = 0x232C, 
    	// DNS operation refused.
    	DNS_ERROR_RCODE_REFUSED                                            = 0x232D, 
    	// DNS name that ought not exist, does exist.
    	DNS_ERROR_RCODE_YXDOMAIN                                           = 0x232E, 
    	// DNS RR set that ought not exist, does exist.
    	DNS_ERROR_RCODE_YXRRSET                                            = 0x232F, 
    	// DNS RR set that ought to exist, does not exist.
    	DNS_ERROR_RCODE_NXRRSET                                            = 0x2330, 
    	// DNS server not authoritative for zone.
    	DNS_ERROR_RCODE_NOTAUTH                                            = 0x2331, 
    	// DNS name in update or prereq is not in zone.
    	DNS_ERROR_RCODE_NOTZONE                                            = 0x2332, 
    	// DNS signature failed to verify.
    	DNS_ERROR_RCODE_BADSIG                                             = 0x2338, 
    	// DNS bad key.
    	DNS_ERROR_RCODE_BADKEY                                             = 0x2339, 
    	// DNS signature validity expired.
    	DNS_ERROR_RCODE_BADTIME                                            = 0x233A, 
    	// Only the DNS server acting as the key master for the zone may perform this operation.
    	DNS_ERROR_KEYMASTER_REQUIRED                                       = 0x238D, 
    	// This operation is not allowed on a zone that is signed or has signing keys.
    	DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE                               = 0x238E, 
    	// NSEC3 is not compatible with the RSA-SHA-1 algorithm. Choose a different algorithm or use NSEC.
    	// This value was also named DNS_ERROR_INVALID_NSEC3_PARAMETERS
    	DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1                         = 0x238F, 
    	// The zone does not have enough signing keys. There must be at least one key signing key (KSK) and at least one zone signing key (ZSK).
    	DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS                       = 0x2390, 
    	// The specified algorithm is not supported.
    	DNS_ERROR_UNSUPPORTED_ALGORITHM                                    = 0x2391, 
    	// The specified key size is not supported.
    	DNS_ERROR_INVALID_KEY_SIZE                                         = 0x2392, 
    	// One or more of the signing keys for a zone are not accessible to the DNS server. Zone signing will not be operational until this error is resolved.
    	DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE                               = 0x2393, 
    	// The specified key storage provider does not support DPAPI++ data protection. Zone signing will not be operational until this error is resolved.
    	DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION                          = 0x2394, 
    	// An unexpected DPAPI++ error was encountered. Zone signing will not be operational until this error is resolved.
    	DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR                         = 0x2395, 
    	// An unexpected crypto error was encountered. Zone signing may not be operational until this error is resolved.
    	DNS_ERROR_UNEXPECTED_CNG_ERROR                                     = 0x2396, 
    	// The DNS server encountered a signing key with an unknown version. Zone signing will not be operational until this error is resolved.
    	DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION                        = 0x2397, 
    	// The specified key service provider cannot be opened by the DNS server.
    	DNS_ERROR_KSP_NOT_ACCESSIBLE                                       = 0x2398, 
    	// The DNS server cannot accept any more signing keys with the specified algorithm and KSK flag value for this zone.
    	DNS_ERROR_TOO_MANY_SKDS                                            = 0x2399, 
    	// The specified rollover period is invalid.
    	DNS_ERROR_INVALID_ROLLOVER_PERIOD                                  = 0x239A, 
    	// The specified initial rollover offset is invalid.
    	DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET                          = 0x239B, 
    	// The specified signing key is already in process of rolling over keys.
    	DNS_ERROR_ROLLOVER_IN_PROGRESS                                     = 0x239C, 
    	// The specified signing key does not have a standby key to revoke.
    	DNS_ERROR_STANDBY_KEY_NOT_PRESENT                                  = 0x239D, 
    	// This operation is not allowed on a zone signing key (ZSK).
    	DNS_ERROR_NOT_ALLOWED_ON_ZSK                                       = 0x239E, 
    	// This operation is not allowed on an active signing key.
    	DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD                                = 0x239F, 
    	// The specified signing key is already queued for rollover.
    	DNS_ERROR_ROLLOVER_ALREADY_QUEUED                                  = 0x23A0, 
    	// This operation is not allowed on an unsigned zone.
    	DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE                             = 0x23A1, 
    	// This operation could not be completed because the DNS server listed as the current key master for this zone is down or misconfigured. Resolve the problem on the current key master for this zone or use another DNS server to seize the key master role.
    	DNS_ERROR_BAD_KEYMASTER                                            = 0x23A2, 
    	// The specified signature validity period is invalid.
    	DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD                        = 0x23A3, 
    	// The specified NSEC3 iteration count is higher than allowed by the minimum key length used in the zone.
    	DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT                            = 0x23A4, 
    	// This operation could not be completed because the DNS server has been configured with DNSSEC features disabled. Enable DNSSEC on the DNS server.
    	DNS_ERROR_DNSSEC_IS_DISABLED                                       = 0x23A5, 
    	// This operation could not be completed because the XML stream received is empty or syntactically invalid.
    	DNS_ERROR_INVALID_XML                                              = 0x23A6, 
    	// This operation completed, but no trust anchors were added because all of the trust anchors received were either invalid, unsupported, expired, or would not become valid in less than 30 days.
    	DNS_ERROR_NO_VALID_TRUST_ANCHORS                                   = 0x23A7, 
    	// The specified signing key is not waiting for parental DS update.
    	DNS_ERROR_ROLLOVER_NOT_POKEABLE                                    = 0x23A8, 
    	// Hash collision detected during NSEC3 signing. Specify a different user-provided salt, or use a randomly generated salt, and attempt to sign the zone again.
    	DNS_ERROR_NSEC3_NAME_COLLISION                                     = 0x23A9, 
    	// NSEC is not compatible with the NSEC3-RSA-SHA-1 algorithm. Choose a different algorithm or use NSEC3.
    	DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1                    = 0x23AA, 
    	// No records found for given DNS query.
    	DNS_INFO_NO_RECORDS                                                = 0x251D, 
    	// Bad DNS packet.
    	DNS_ERROR_BAD_PACKET                                               = 0x251E, 
    	// No DNS packet.
    	DNS_ERROR_NO_PACKET                                                = 0x251F, 
    	// DNS error, check rcode.
    	DNS_ERROR_RCODE                                                    = 0x2520, 
    	// Unsecured DNS packet.
    	DNS_ERROR_UNSECURE_PACKET                                          = 0x2521, 
    	// DNS query request is pending.
    	DNS_REQUEST_PENDING                                                = 0x2522, 
    	// Invalid DNS type.
    	DNS_ERROR_INVALID_TYPE                                             = 0x254F, 
    	// Invalid IP address.
    	DNS_ERROR_INVALID_IP_ADDRESS                                       = 0x2550, 
    	// Invalid property.
    	DNS_ERROR_INVALID_PROPERTY                                         = 0x2551, 
    	// Try DNS operation again later.
    	DNS_ERROR_TRY_AGAIN_LATER                                          = 0x2552, 
    	// Record for given name and type is not unique.
    	DNS_ERROR_NOT_UNIQUE                                               = 0x2553, 
    	// DNS name does not comply with RFC specifications.
    	DNS_ERROR_NON_RFC_NAME                                             = 0x2554, 
    	// DNS name is a fully-qualified DNS name.
    	DNS_STATUS_FQDN                                                    = 0x2555, 
    	// DNS name is dotted (multi-label).
    	DNS_STATUS_DOTTED_NAME                                             = 0x2556, 
    	// DNS name is a single-part name.
    	DNS_STATUS_SINGLE_PART_NAME                                        = 0x2557, 
    	// DNS name contains an invalid character.
    	DNS_ERROR_INVALID_NAME_CHAR                                        = 0x2558, 
    	// DNS name is entirely numeric.
    	DNS_ERROR_NUMERIC_NAME                                             = 0x2559, 
    	// The operation requested is not permitted on a DNS root server.
    	DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER                               = 0x255A, 
    	// The record could not be created because this part of the DNS namespace has been delegated to another server.
    	DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION                             = 0x255B, 
    	// The DNS server could not find a set of root hints.
    	DNS_ERROR_CANNOT_FIND_ROOT_HINTS                                   = 0x255C, 
    	// The DNS server found root hints but they were not consistent across all adapters.
    	DNS_ERROR_INCONSISTENT_ROOT_HINTS                                  = 0x255D, 
    	// The specified value is too small for this parameter.
    	DNS_ERROR_DWORD_VALUE_TOO_SMALL                                    = 0x255E, 
    	// The specified value is too large for this parameter.
    	DNS_ERROR_DWORD_VALUE_TOO_LARGE                                    = 0x255F, 
    	// This operation is not allowed while the DNS server is loading zones in the background. Please try again later.
    	DNS_ERROR_BACKGROUND_LOADING                                       = 0x2560, 
    	// The operation requested is not permitted on against a DNS server running on a read-only DC.
    	DNS_ERROR_NOT_ALLOWED_ON_RODC                                      = 0x2561, 
    	// No data is allowed to exist underneath a DNAME record.
    	DNS_ERROR_NOT_ALLOWED_UNDER_DNAME                                  = 0x2562, 
    	// This operation requires credentials delegation.
    	DNS_ERROR_DELEGATION_REQUIRED                                      = 0x2563, 
    	// Name resolution policy table has been corrupted. DNS resolution will fail until it is fixed. Contact your network administrator.
    	DNS_ERROR_INVALID_POLICY_TABLE                                     = 0x2564, 
    	// DNS zone does not exist.
    	DNS_ERROR_ZONE_DOES_NOT_EXIST                                      = 0x2581, 
    	// DNS zone information not available.
    	DNS_ERROR_NO_ZONE_INFO                                             = 0x2582, 
    	// Invalid operation for DNS zone.
    	DNS_ERROR_INVALID_ZONE_OPERATION                                   = 0x2583, 
    	// Invalid DNS zone configuration.
    	DNS_ERROR_ZONE_CONFIGURATION_ERROR                                 = 0x2584, 
    	// DNS zone has no start of authority (SOA) record.
    	DNS_ERROR_ZONE_HAS_NO_SOA_RECORD                                   = 0x2585, 
    	// DNS zone has no Name Server (NS) record.
    	DNS_ERROR_ZONE_HAS_NO_NS_RECORDS                                   = 0x2586, 
    	// DNS zone is locked.
    	DNS_ERROR_ZONE_LOCKED                                              = 0x2587, 
    	// DNS zone creation failed.
    	DNS_ERROR_ZONE_CREATION_FAILED                                     = 0x2588, 
    	// DNS zone already exists.
    	DNS_ERROR_ZONE_ALREADY_EXISTS                                      = 0x2589, 
    	// DNS automatic zone already exists.
    	DNS_ERROR_AUTOZONE_ALREADY_EXISTS                                  = 0x258A, 
    	// Invalid DNS zone type.
    	DNS_ERROR_INVALID_ZONE_TYPE                                        = 0x258B, 
    	// Secondary DNS zone requires master IP address.
    	DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP                             = 0x258C, 
    	// DNS zone not secondary.
    	DNS_ERROR_ZONE_NOT_SECONDARY                                       = 0x258D, 
    	// Need secondary IP address.
    	DNS_ERROR_NEED_SECONDARY_ADDRESSES                                 = 0x258E, 
    	// WINS initialization failed.
    	DNS_ERROR_WINS_INIT_FAILED                                         = 0x258F, 
    	// Need WINS servers.
    	DNS_ERROR_NEED_WINS_SERVERS                                        = 0x2590, 
    	// NBTSTAT initialization call failed.
    	DNS_ERROR_NBSTAT_INIT_FAILED                                       = 0x2591, 
    	// Invalid delete of start of authority (SOA).
    	DNS_ERROR_SOA_DELETE_INVALID                                       = 0x2592, 
    	// A conditional forwarding zone already exists for that name.
    	DNS_ERROR_FORWARDER_ALREADY_EXISTS                                 = 0x2593, 
    	// This zone must be configured with one or more master DNS server IP addresses.
    	DNS_ERROR_ZONE_REQUIRES_MASTER_IP                                  = 0x2594, 
    	// The operation cannot be performed because this zone is shut down.
    	DNS_ERROR_ZONE_IS_SHUTDOWN                                         = 0x2595, 
    	// This operation cannot be performed because the zone is currently being signed. Please try again later.
    	DNS_ERROR_ZONE_LOCKED_FOR_SIGNING                                  = 0x2596, 
    	// Primary DNS zone requires datafile.
    	DNS_ERROR_PRIMARY_REQUIRES_DATAFILE                                = 0x25B3, 
    	// Invalid datafile name for DNS zone.
    	DNS_ERROR_INVALID_DATAFILE_NAME                                    = 0x25B4, 
    	// Failed to open datafile for DNS zone.
    	DNS_ERROR_DATAFILE_OPEN_FAILURE                                    = 0x25B5, 
    	// Failed to write datafile for DNS zone.
    	DNS_ERROR_FILE_WRITEBACK_FAILED                                    = 0x25B6, 
    	// Failure while reading datafile for DNS zone.
    	DNS_ERROR_DATAFILE_PARSING                                         = 0x25B7, 
    	// DNS record does not exist.
    	DNS_ERROR_RECORD_DOES_NOT_EXIST                                    = 0x25E5, 
    	// DNS record format error.
    	DNS_ERROR_RECORD_FORMAT                                            = 0x25E6, 
    	// Node creation failure in DNS.
    	DNS_ERROR_NODE_CREATION_FAILED                                     = 0x25E7, 
    	// Unknown DNS record type.
    	DNS_ERROR_UNKNOWN_RECORD_TYPE                                      = 0x25E8, 
    	// DNS record timed out.
    	DNS_ERROR_RECORD_TIMED_OUT                                         = 0x25E9, 
    	// Name not in DNS zone.
    	DNS_ERROR_NAME_NOT_IN_ZONE                                         = 0x25EA, 
    	// CNAME loop detected.
    	DNS_ERROR_CNAME_LOOP                                               = 0x25EB, 
    	// Node is a CNAME DNS record.
    	DNS_ERROR_NODE_IS_CNAME                                            = 0x25EC, 
    	// A CNAME record already exists for given name.
    	DNS_ERROR_CNAME_COLLISION                                          = 0x25ED, 
    	// Record only at DNS zone root.
    	DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT                                 = 0x25EE, 
    	// DNS record already exists.
    	DNS_ERROR_RECORD_ALREADY_EXISTS                                    = 0x25EF, 
    	// Secondary DNS zone data error.
    	DNS_ERROR_SECONDARY_DATA                                           = 0x25F0, 
    	// Could not create DNS cache data.
    	DNS_ERROR_NO_CREATE_CACHE_DATA                                     = 0x25F1, 
    	// DNS name does not exist.
    	DNS_ERROR_NAME_DOES_NOT_EXIST                                      = 0x25F2, 
    	// Could not create pointer (PTR) record.
    	DNS_WARNING_PTR_CREATE_FAILED                                      = 0x25F3, 
    	// DNS domain was undeleted.
    	DNS_WARNING_DOMAIN_UNDELETED                                       = 0x25F4, 
    	// The directory service is unavailable.
    	DNS_ERROR_DS_UNAVAILABLE                                           = 0x25F5, 
    	// DNS zone already exists in the directory service.
    	DNS_ERROR_DS_ZONE_ALREADY_EXISTS                                   = 0x25F6, 
    	// DNS server not creating or reading the boot file for the directory service integrated DNS zone.
    	DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE                                   = 0x25F7, 
    	// Node is a DNAME DNS record.
    	DNS_ERROR_NODE_IS_DNAME                                            = 0x25F8, 
    	// A DNAME record already exists for given name.
    	DNS_ERROR_DNAME_COLLISION                                          = 0x25F9, 
    	// An alias loop has been detected with either CNAME or DNAME records.
    	DNS_ERROR_ALIAS_LOOP                                               = 0x25FA, 
    	// DNS AXFR (zone transfer) complete.
    	DNS_INFO_AXFR_COMPLETE                                             = 0x2617, 
    	// DNS zone transfer failed.
    	DNS_ERROR_AXFR                                                     = 0x2618, 
    	// Added local WINS server.
    	DNS_INFO_ADDED_LOCAL_WINS                                          = 0x2619, 
    	// Secure update call needs to continue update request.
    	DNS_STATUS_CONTINUE_NEEDED                                         = 0x2649, 
    	// TCP/IP network protocol not installed.
    	DNS_ERROR_NO_TCPIP                                                 = 0x267B, 
    	// No DNS servers configured for local system.
    	DNS_ERROR_NO_DNS_SERVERS                                           = 0x267C, 
    	// The specified directory partition does not exist.
    	DNS_ERROR_DP_DOES_NOT_EXIST                                        = 0x26AD, 
    	// The specified directory partition already exists.
    	DNS_ERROR_DP_ALREADY_EXISTS                                        = 0x26AE, 
    	// This DNS server is not enlisted in the specified directory partition.
    	DNS_ERROR_DP_NOT_ENLISTED                                          = 0x26AF, 
    	// This DNS server is already enlisted in the specified directory partition.
    	DNS_ERROR_DP_ALREADY_ENLISTED                                      = 0x26B0, 
    	// The directory partition is not available at this time. Please wait a few minutes and try again.
    	DNS_ERROR_DP_NOT_AVAILABLE                                         = 0x26B1, 
    	// The operation failed because the domain naming master FSMO role could not be reached. The domain controller holding the domain naming master FSMO role is down or unable to service the request or is not running Windows Server 2003 or later.
    	DNS_ERROR_DP_FSMO_ERROR                                            = 0x26B2, 
    	// A blocking operation was interrupted by a call to WSACancelBlockingCall.
    	WSAEINTR                                                           = 0x2714, 
    	// The file handle supplied is not valid.
    	WSAEBADF                                                           = 0x2719, 
    	// An attempt was made to access a socket in a way forbidden by its access permissions.
    	WSAEACCES                                                          = 0x271D, 
    	// The system detected an invalid pointer address in attempting to use a pointer argument in a call.
    	WSAEFAULT                                                          = 0x271E, 
    	// An invalid argument was supplied.
    	WSAEINVAL                                                          = 0x2726, 
    	// Too many open sockets.
    	WSAEMFILE                                                          = 0x2728, 
    	// A non-blocking socket operation could not be completed immediately.
    	WSAEWOULDBLOCK                                                     = 0x2733, 
    	// A blocking operation is currently executing.
    	WSAEINPROGRESS                                                     = 0x2734, 
    	// An operation was attempted on a non-blocking socket that already had an operation in progress.
    	WSAEALREADY                                                        = 0x2735, 
    	// An operation was attempted on something that is not a socket.
    	WSAENOTSOCK                                                        = 0x2736, 
    	// A required address was omitted from an operation on a socket.
    	WSAEDESTADDRREQ                                                    = 0x2737, 
    	// A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself.
    	WSAEMSGSIZE                                                        = 0x2738, 
    	// A protocol was specified in the socket function call that does not support the semantics of the socket type requested.
    	WSAEPROTOTYPE                                                      = 0x2739, 
    	// An unknown, invalid, or unsupported option or level was specified in a getsockopt or setsockopt call.
    	WSAENOPROTOOPT                                                     = 0x273A, 
    	// The requested protocol has not been configured into the system, or no implementation for it exists.
    	WSAEPROTONOSUPPORT                                                 = 0x273B, 
    	// The support for the specified socket type does not exist in this address family.
    	WSAESOCKTNOSUPPORT                                                 = 0x273C, 
    	// The attempted operation is not supported for the type of object referenced.
    	WSAEOPNOTSUPP                                                      = 0x273D, 
    	// The protocol family has not been configured into the system or no implementation for it exists.
    	WSAEPFNOSUPPORT                                                    = 0x273E, 
    	// An address incompatible with the requested protocol was used.
    	WSAEAFNOSUPPORT                                                    = 0x273F, 
    	// Only one usage of each socket address (protocol/network address/port) is normally permitted.
    	WSAEADDRINUSE                                                      = 0x2740, 
    	// The requested address is not valid in its context.
    	WSAEADDRNOTAVAIL                                                   = 0x2741, 
    	// A socket operation encountered a dead network.
    	WSAENETDOWN                                                        = 0x2742, 
    	// A socket operation was attempted to an unreachable network.
    	WSAENETUNREACH                                                     = 0x2743, 
    	// The connection has been broken due to keep-alive activity detecting a failure while the operation was in progress.
    	WSAENETRESET                                                       = 0x2744, 
    	// An established connection was aborted by the software in your host machine.
    	WSAECONNABORTED                                                    = 0x2745, 
    	// An existing connection was forcibly closed by the remote host.
    	WSAECONNRESET                                                      = 0x2746, 
    	// An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
    	WSAENOBUFS                                                         = 0x2747, 
    	// A connect request was made on an already connected socket.
    	WSAEISCONN                                                         = 0x2748, 
    	// A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.
    	WSAENOTCONN                                                        = 0x2749, 
    	// A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous shutdown call.
    	WSAESHUTDOWN                                                       = 0x274A, 
    	// Too many references to some kernel object.
    	WSAETOOMANYREFS                                                    = 0x274B, 
    	// A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    	WSAETIMEDOUT                                                       = 0x274C, 
    	// No connection could be made because the target machine actively refused it.
    	WSAECONNREFUSED                                                    = 0x274D, 
    	// Cannot translate name.
    	WSAELOOP                                                           = 0x274E, 
    	// Name component or name was too long.
    	WSAENAMETOOLONG                                                    = 0x274F, 
    	// A socket operation failed because the destination host was down.
    	WSAEHOSTDOWN                                                       = 0x2750, 
    	// A socket operation was attempted to an unreachable host.
    	WSAEHOSTUNREACH                                                    = 0x2751, 
    	// Cannot remove a directory that is not empty.
    	WSAENOTEMPTY                                                       = 0x2752, 
    	// A Windows Sockets implementation may have a limit on the number of applications that may use it simultaneously.
    	WSAEPROCLIM                                                        = 0x2753, 
    	// Ran out of quota.
    	WSAEUSERS                                                          = 0x2754, 
    	// Ran out of disk quota.
    	WSAEDQUOT                                                          = 0x2755, 
    	// File handle reference is no longer available.
    	WSAESTALE                                                          = 0x2756, 
    	// Item is not available locally.
    	WSAEREMOTE                                                         = 0x2757, 
    	// WSAStartup cannot function at this time because the underlying system it uses to provide network services is currently unavailable. = = 0x276C,
    	WSASYSNOTREADY                                                     = 0x276B, // The Windows Sockets version requested is not supported.
    	// Either the application has not called WSAStartup, or WSAStartup failed.
    	WSANOTINITIALISED                                                  = 0x276D, 
    	// Returned by WSARecv or WSARecvFrom to indicate the remote party has initiated a graceful shutdown sequence.
    	WSAEDISCON                                                         = 0x2775, 
    	// No more results can be returned by WSALookupServiceNext.
    	WSAENOMORE                                                         = 0x2776, 
    	// A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled.
    	WSAECANCELLED                                                      = 0x2777, 
    	// The procedure call table is invalid.
    	WSAEINVALIDPROCTABLE                                               = 0x2778, 
    	// The requested service provider is invalid.
    	WSAEINVALIDPROVIDER                                                = 0x2779, 
    	// The requested service provider could not be loaded or initialized.
    	WSAEPROVIDERFAILEDINIT                                             = 0x277A, 
    	// A system call has failed.
    	WSASYSCALLFAILURE                                                  = 0x277B, 
    	// No such service is known. The service cannot be found in the specified name space.
    	WSASERVICE_NOT_FOUND                                               = 0x277C, 
    	// The specified class was not found.
    	WSATYPE_NOT_FOUND                                                  = 0x277D, 
    	// No more results can be returned by WSALookupServiceNext.
    	WSA_E_NO_MORE                                                      = 0x277E, 
    	// A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled.
    	WSA_E_CANCELLED                                                    = 0x277F, 
    	// A database query failed because it was actively refused.
    	WSAEREFUSED                                                        = 0x2780, 
    	// No such host is known.
    	WSAHOST_NOT_FOUND                                                  = 0x2AF9, 
    	// This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server.
    	WSATRY_AGAIN                                                       = 0x2AFA, 
    	// A non-recoverable error occurred during a database lookup.
    	WSANO_RECOVERY                                                     = 0x2AFB, 
    	// The requested name is valid, but no data of the requested type was found.
    	WSANO_DATA                                                         = 0x2AFC, 
    	// At least one reserve has arrived.
    	WSA_QOS_RECEIVERS                                                  = 0x2AFD, 
    	// At least one path has arrived.
    	WSA_QOS_SENDERS                                                    = 0x2AFE, 
    	// There are no senders.
    	WSA_QOS_NO_SENDERS                                                 = 0x2AFF, 
    	// There are no receivers.
    	WSA_QOS_NO_RECEIVERS                                               = 0x2B00, 
    	// Reserve has been confirmed.
    	WSA_QOS_REQUEST_CONFIRMED                                          = 0x2B01, 
    	// Error due to lack of resources.
    	WSA_QOS_ADMISSION_FAILURE                                          = 0x2B02, 
    	// Rejected for administrative reasons - bad credentials.
    	WSA_QOS_POLICY_FAILURE                                             = 0x2B03, 
    	// Unknown or conflicting style.
    	WSA_QOS_BAD_STYLE                                                  = 0x2B04, 
    	// Problem with some part of the filterspec or providerspecific buffer in general.
    	WSA_QOS_BAD_OBJECT                                                 = 0x2B05, 
    	// Problem with some part of the flowspec.
    	WSA_QOS_TRAFFIC_CTRL_ERROR                                         = 0x2B06, 
    	// General QOS error.
    	WSA_QOS_GENERIC_ERROR                                              = 0x2B07, 
    	// An invalid or unrecognized service type was found in the flowspec.
    	WSA_QOS_ESERVICETYPE                                               = 0x2B08, 
    	// An invalid or inconsistent flowspec was found in the QOS structure.
    	WSA_QOS_EFLOWSPEC                                                  = 0x2B09, 
    	// Invalid QOS provider-specific buffer.
    	WSA_QOS_EPROVSPECBUF                                               = 0x2B0A, 
    	// An invalid QOS filter style was used.
    	WSA_QOS_EFILTERSTYLE                                               = 0x2B0B, 
    	// An invalid QOS filter type was used.
    	WSA_QOS_EFILTERTYPE                                                = 0x2B0C, 
    	// An incorrect number of QOS FILTERSPECs were specified in the FLOWDESCRIPTOR.
    	WSA_QOS_EFILTERCOUNT                                               = 0x2B0D, 
    	// An object with an invalid ObjectLength field was specified in the QOS provider-specific buffer.
    	WSA_QOS_EOBJLENGTH                                                 = 0x2B0E, 
    	// An incorrect number of flow descriptors was specified in the QOS structure.
    	WSA_QOS_EFLOWCOUNT                                                 = 0x2B0F, 
    	// An unrecognized object was found in the QOS provider-specific buffer.
    	WSA_QOS_EUNKOWNPSOBJ                                               = 0x2B10, 
    	// An invalid policy object was found in the QOS provider-specific buffer.
    	WSA_QOS_EPOLICYOBJ                                                 = 0x2B11, 
    	// An invalid QOS flow descriptor was found in the flow descriptor list.
    	WSA_QOS_EFLOWDESC                                                  = 0x2B12, 
    	// An invalid or inconsistent flowspec was found in the QOS provider specific buffer.
    	WSA_QOS_EPSFLOWSPEC                                                = 0x2B13, 
    	// An invalid FILTERSPEC was found in the QOS provider-specific buffer.
    	WSA_QOS_EPSFILTERSPEC                                              = 0x2B14, 
    	// An invalid shape discard mode object was found in the QOS provider specific buffer.
    	WSA_QOS_ESDMODEOBJ                                                 = 0x2B15, 
    	// An invalid shaping rate object was found in the QOS provider-specific buffer.
    	WSA_QOS_ESHAPERATEOBJ                                              = 0x2B16, 
    	// A reserved policy element was found in the QOS provider-specific buffer.
    	WSA_QOS_RESERVED_PETYPE                                            = 0x2B17, 
    	// No such host is known securely.
    	WSA_SECURE_HOST_NOT_FOUND                                          = 0x2B18, 
    	// Name based IPSEC policy could not be added.
    	WSA_IPSEC_NAME_POLICY_ERROR                                        = 0x2B19, 
    	// See Internet Error Codes and WinInet.h.
    	INTERNET_                                                          = 0x2EE0, 
    	// See WinHTTP Error Codes and Winhttp.h.
    	WINHTTP_                                                           = 0x2EE1, 
    	// The specified quick mode policy already exists.
    	IPSEC_QM_POLICY_EXISTS                                             = 0x32C8, 
    	// The specified quick mode policy was not found.
    	IPSEC_QM_POLICY_NOT_FOUND                                          = 0x32C9, 
    	// The specified quick mode policy is being used.
    	IPSEC_QM_POLICY_IN_USE                                             = 0x32CA, 
    	// The specified main mode policy already exists.
    	IPSEC_MM_POLICY_EXISTS                                             = 0x32CB, 
    	// The specified main mode policy was not found.
    	IPSEC_MM_POLICY_NOT_FOUND                                          = 0x32CC, 
    	// The specified main mode policy is being used.
    	IPSEC_MM_POLICY_IN_USE                                             = 0x32CD, 
    	// The specified main mode filter already exists.
    	IPSEC_MM_FILTER_EXISTS                                             = 0x32CE, 
    	// The specified main mode filter was not found.
    	IPSEC_MM_FILTER_NOT_FOUND                                          = 0x32CF, 
    	// The specified transport mode filter already exists.
    	IPSEC_TRANSPORT_FILTER_EXISTS                                      = 0x32D0, 
    	// The specified transport mode filter does not exist.
    	IPSEC_TRANSPORT_FILTER_NOT_FOUND                                   = 0x32D1, 
    	// The specified main mode authentication list exists.
    	IPSEC_MM_AUTH_EXISTS                                               = 0x32D2, 
    	// The specified main mode authentication list was not found.
    	IPSEC_MM_AUTH_NOT_FOUND                                            = 0x32D3, 
    	// The specified main mode authentication list is being used.
    	IPSEC_MM_AUTH_IN_USE                                               = 0x32D4, 
    	// The specified default main mode policy was not found.
    	IPSEC_DEFAULT_MM_POLICY_NOT_FOUND                                  = 0x32D5, 
    	// The specified default main mode authentication list was not found.
    	IPSEC_DEFAULT_MM_AUTH_NOT_FOUND                                    = 0x32D6, 
    	// The specified default quick mode policy was not found.
    	IPSEC_DEFAULT_QM_POLICY_NOT_FOUND                                  = 0x32D7, 
    	// The specified tunnel mode filter exists.
    	IPSEC_TUNNEL_FILTER_EXISTS                                         = 0x32D8, 
    	// The specified tunnel mode filter was not found.
    	IPSEC_TUNNEL_FILTER_NOT_FOUND                                      = 0x32D9, 
    	// The Main Mode filter is pending deletion.
    	IPSEC_MM_FILTER_PENDING_DELETION                                   = 0x32DA, 
    	// The transport filter is pending deletion.
    	IPSEC_TRANSPORT_FILTER_PENDING_DELETION                            = 0x32DB, 
    	// The tunnel filter is pending deletion.
    	IPSEC_TUNNEL_FILTER_PENDING_DELETION                               = 0x32DC, 
    	// The Main Mode policy is pending deletion.
    	IPSEC_MM_POLICY_PENDING_DELETION                                   = 0x32DD, 
    	// The Main Mode authentication bundle is pending deletion.
    	IPSEC_MM_AUTH_PENDING_DELETION                                     = 0x32DE, 
    	// The Quick Mode policy is pending deletion.
    	IPSEC_QM_POLICY_PENDING_DELETION                                   = 0x32DF, 
    	// The Main Mode policy was successfully added, but some of the requested offers are not supported.
    	WARNING_IPSEC_MM_POLICY_PRUNED                                     = 0x32E0, 
    	// The Quick Mode policy was successfully added, but some of the requested offers are not supported.
    	WARNING_IPSEC_QM_POLICY_PRUNED                                     = 0x32E1, 
    	// IPSEC_IKE_NEG_STATUS_BEGIN = = 0x35E9,
    	IPSEC_IKE_NEG_STATUS_BEGIN                                         = 0x35E8, // IKE authentication credentials are unacceptable.
    	// IKE security attributes are unacceptable.
    	IPSEC_IKE_ATTRIB_FAIL                                              = 0x35EA, 
    	// IKE Negotiation in progress.
    	IPSEC_IKE_NEGOTIATION_PENDING                                      = 0x35EB, 
    	// General processing error.
    	IPSEC_IKE_GENERAL_PROCESSING_ERROR                                 = 0x35EC, 
    	// Negotiation timed out.
    	IPSEC_IKE_TIMED_OUT                                                = 0x35ED, 
    	// IKE failed to find valid machine certificate. Contact your Network Security Administrator about installing a valid certificate in the appropriate Certificate Store.
    	IPSEC_IKE_NO_CERT                                                  = 0x35EE, 
    	// IKE SA deleted by peer before establishment completed.
    	IPSEC_IKE_SA_DELETED                                               = 0x35EF, 
    	// IKE SA deleted before establishment completed.
    	IPSEC_IKE_SA_REAPED                                                = 0x35F0, 
    	// Negotiation request sat in Queue too long.
    	IPSEC_IKE_MM_ACQUIRE_DROP                                          = 0x35F1, 
    	// Negotiation request sat in Queue too long.
    	IPSEC_IKE_QM_ACQUIRE_DROP                                          = 0x35F2, 
    	// Negotiation request sat in Queue too long.
    	IPSEC_IKE_QUEUE_DROP_MM                                            = 0x35F3, 
    	// Negotiation request sat in Queue too long.
    	IPSEC_IKE_QUEUE_DROP_NO_MM                                         = 0x35F4, 
    	// No response from peer.
    	IPSEC_IKE_DROP_NO_RESPONSE                                         = 0x35F5, 
    	// Negotiation took too long.
    	IPSEC_IKE_MM_DELAY_DROP                                            = 0x35F6, 
    	// Negotiation took too long.
    	IPSEC_IKE_QM_DELAY_DROP                                            = 0x35F7, 
    	// Unknown error occurred.
    	IPSEC_IKE_ERROR                                                    = 0x35F8, 
    	// Certificate Revocation Check failed.
    	IPSEC_IKE_CRL_FAILED                                               = 0x35F9, 
    	// Invalid certificate key usage.
    	IPSEC_IKE_INVALID_KEY_USAGE                                        = 0x35FA, 
    	// Invalid certificate type.
    	IPSEC_IKE_INVALID_CERT_TYPE                                        = 0x35FB, 
    	// IKE negotiation failed because the machine certificate used does not have a private key. IPsec certificates require a private key. Contact your Network Security administrator about replacing with a certificate that has a private key.
    	IPSEC_IKE_NO_PRIVATE_KEY                                           = 0x35FC, 
    	// Simultaneous rekeys were detected.
    	IPSEC_IKE_SIMULTANEOUS_REKEY                                       = 0x35FD, 
    	// Failure in Diffie-Hellman computation.
    	IPSEC_IKE_DH_FAIL                                                  = 0x35FE, 
    	// Don't know how to process critical payload.
    	IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED                          = 0x35FF, 
    	// Invalid header.
    	IPSEC_IKE_INVALID_HEADER                                           = 0x3600, 
    	// No policy configured.
    	IPSEC_IKE_NO_POLICY                                                = 0x3601, 
    	// Failed to verify signature.
    	IPSEC_IKE_INVALID_SIGNATURE                                        = 0x3602, 
    	// Failed to authenticate using Kerberos.
    	IPSEC_IKE_KERBEROS_ERROR                                           = 0x3603, 
    	// Peer's certificate did not have a public key.
    	IPSEC_IKE_NO_PUBLIC_KEY                                            = 0x3604, 
    	// Error processing error payload.
    	IPSEC_IKE_PROCESS_ERR                                              = 0x3605, 
    	// Error processing SA payload.
    	IPSEC_IKE_PROCESS_ERR_SA                                           = 0x3606, 
    	// Error processing Proposal payload.
    	IPSEC_IKE_PROCESS_ERR_PROP                                         = 0x3607, 
    	// Error processing Transform payload.
    	IPSEC_IKE_PROCESS_ERR_TRANS                                        = 0x3608, 
    	// Error processing KE payload.
    	IPSEC_IKE_PROCESS_ERR_KE                                           = 0x3609, 
    	// Error processing ID payload.
    	IPSEC_IKE_PROCESS_ERR_ID                                           = 0x360A, 
    	// Error processing Cert payload.
    	IPSEC_IKE_PROCESS_ERR_CERT                                         = 0x360B, 
    	// Error processing Certificate Request payload.
    	IPSEC_IKE_PROCESS_ERR_CERT_REQ                                     = 0x360C, 
    	// Error processing Hash payload.
    	IPSEC_IKE_PROCESS_ERR_HASH                                         = 0x360D, 
    	// Error processing Signature payload.
    	IPSEC_IKE_PROCESS_ERR_SIG                                          = 0x360E, 
    	// Error processing Nonce payload.
    	IPSEC_IKE_PROCESS_ERR_NONCE                                        = 0x360F, 
    	// Error processing Notify payload.
    	IPSEC_IKE_PROCESS_ERR_NOTIFY                                       = 0x3610, 
    	// Error processing Delete Payload.
    	IPSEC_IKE_PROCESS_ERR_DELETE                                       = 0x3611, 
    	// Error processing VendorId payload.
    	IPSEC_IKE_PROCESS_ERR_VENDOR                                       = 0x3612, 
    	// Invalid payload received.
    	IPSEC_IKE_INVALID_PAYLOAD                                          = 0x3613, 
    	// Soft SA loaded.
    	IPSEC_IKE_LOAD_SOFT_SA                                             = 0x3614, 
    	// Soft SA torn down.
    	IPSEC_IKE_SOFT_SA_TORN_DOWN                                        = 0x3615, 
    	// Invalid cookie received.
    	IPSEC_IKE_INVALID_COOKIE                                           = 0x3616, 
    	// Peer failed to send valid machine certificate.
    	IPSEC_IKE_NO_PEER_CERT                                             = 0x3617, 
    	// Certification Revocation check of peer's certificate failed.
    	IPSEC_IKE_PEER_CRL_FAILED                                          = 0x3618, 
    	// New policy invalidated SAs formed with old policy.
    	IPSEC_IKE_POLICY_CHANGE                                            = 0x3619, 
    	// There is no available Main Mode IKE policy.
    	IPSEC_IKE_NO_MM_POLICY                                             = 0x361A, 
    	// Failed to enabled TCB privilege.
    	IPSEC_IKE_NOTCBPRIV                                                = 0x361B, 
    	// Failed to load SECURITY.DLL.
    	IPSEC_IKE_SECLOADFAIL                                              = 0x361C, 
    	// Failed to obtain security function table dispatch address from SSPI.
    	IPSEC_IKE_FAILSSPINIT                                              = 0x361D, 
    	// Failed to query Kerberos package to obtain max token size.
    	IPSEC_IKE_FAILQUERYSSP                                             = 0x361E, 
    	// Failed to obtain Kerberos server credentials for ISAKMP/ERROR_IPSEC_IKE service. Kerberos authentication will not function. The most likely reason for this is lack of domain membership. This is normal if your computer is a member of a workgroup.
    	IPSEC_IKE_SRVACQFAIL                                               = 0x361F, 
    	// Failed to determine SSPI principal name for ISAKMP/ERROR_IPSEC_IKE service (QueryCredentialsAttributes).
    	IPSEC_IKE_SRVQUERYCRED                                             = 0x3620, 
    	// Failed to obtain new SPI for the inbound SA from IPsec driver. The most common cause for this is that the driver does not have the correct filter. Check your policy to verify the filters.
    	IPSEC_IKE_GETSPIFAIL                                               = 0x3621, 
    	// Given filter is invalid.
    	IPSEC_IKE_INVALID_FILTER                                           = 0x3622, 
    	// Memory allocation failed.
    	IPSEC_IKE_OUT_OF_MEMORY                                            = 0x3623, 
    	// Failed to add Security Association to IPsec Driver. The most common cause for this is if the IKE negotiation took too long to complete. If the problem persists, reduce the load on the faulting machine.
    	IPSEC_IKE_ADD_UPDATE_KEY_FAILED                                    = 0x3624, 
    	// Invalid policy.
    	IPSEC_IKE_INVALID_POLICY                                           = 0x3625, 
    	// Invalid DOI.
    	IPSEC_IKE_UNKNOWN_DOI                                              = 0x3626, 
    	// Invalid situation.
    	IPSEC_IKE_INVALID_SITUATION                                        = 0x3627, 
    	// Diffie-Hellman failure.
    	IPSEC_IKE_DH_FAILURE                                               = 0x3628, 
    	// Invalid Diffie-Hellman group.
    	IPSEC_IKE_INVALID_GROUP                                            = 0x3629, 
    	// Error encrypting payload.
    	IPSEC_IKE_ENCRYPT                                                  = 0x362A, 
    	// Error decrypting payload.
    	IPSEC_IKE_DECRYPT                                                  = 0x362B, 
    	// Policy match error.
    	IPSEC_IKE_POLICY_MATCH                                             = 0x362C, 
    	// Unsupported ID.
    	IPSEC_IKE_UNSUPPORTED_ID                                           = 0x362D, 
    	// Hash verification failed.
    	IPSEC_IKE_INVALID_HASH                                             = 0x362E, 
    	// Invalid hash algorithm.
    	IPSEC_IKE_INVALID_HASH_ALG                                         = 0x362F, 
    	// Invalid hash size.
    	IPSEC_IKE_INVALID_HASH_SIZE                                        = 0x3630, 
    	// Invalid encryption algorithm.
    	IPSEC_IKE_INVALID_ENCRYPT_ALG                                      = 0x3631, 
    	// Invalid authentication algorithm.
    	IPSEC_IKE_INVALID_AUTH_ALG                                         = 0x3632, 
    	// Invalid certificate signature.
    	IPSEC_IKE_INVALID_SIG                                              = 0x3633, 
    	// Load failed.
    	IPSEC_IKE_LOAD_FAILED                                              = 0x3634, 
    	// Deleted via RPC call.
    	IPSEC_IKE_RPC_DELETE                                               = 0x3635, 
    	// Temporary state created to perform reinitialization. This is not a real failure.
    	IPSEC_IKE_BENIGN_REINIT                                            = 0x3636, 
    	// The lifetime value received in the Responder Lifetime Notify is below the Windows 2000 configured minimum value. Please fix the policy on the peer machine.
    	IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY                        = 0x3637, 
    	// The recipient cannot handle version of IKE specified in the header.
    	IPSEC_IKE_INVALID_MAJOR_VERSION                                    = 0x3638, 
    	// Key length in certificate is too small for configured security requirements.
    	IPSEC_IKE_INVALID_CERT_KEYLEN                                      = 0x3639, 
    	// Max number of established MM SAs to peer exceeded.
    	IPSEC_IKE_MM_LIMIT                                                 = 0x363A, 
    	// IKE received a policy that disables negotiation.
    	IPSEC_IKE_NEGOTIATION_DISABLED                                     = 0x363B, 
    	// Reached maximum quick mode limit for the main mode. New main mode will be started.
    	IPSEC_IKE_QM_LIMIT                                                 = 0x363C, 
    	// Main mode SA lifetime expired or peer sent a main mode delete.
    	IPSEC_IKE_MM_EXPIRED                                               = 0x363D, 
    	// Main mode SA assumed to be invalid because peer stopped responding.
    	IPSEC_IKE_PEER_MM_ASSUMED_INVALID                                  = 0x363E, 
    	// Certificate doesn't chain to a trusted root in IPsec policy.
    	IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH                               = 0x363F, 
    	// Received unexpected message ID.
    	IPSEC_IKE_UNEXPECTED_MESSAGE_ID                                    = 0x3640, 
    	// Received invalid authentication offers.
    	IPSEC_IKE_INVALID_AUTH_PAYLOAD                                     = 0x3641, 
    	// Sent DoS cookie notify to initiator.
    	IPSEC_IKE_DOS_COOKIE_SENT                                          = 0x3642, 
    	// IKE service is shutting down.
    	IPSEC_IKE_SHUTTING_DOWN                                            = 0x3643, 
    	// Could not verify binding between CGA address and certificate.
    	IPSEC_IKE_CGA_AUTH_FAILED                                          = 0x3644, 
    	// Error processing NatOA payload.
    	IPSEC_IKE_PROCESS_ERR_NATOA                                        = 0x3645, 
    	// Parameters of the main mode are invalid for this quick mode.
    	IPSEC_IKE_INVALID_MM_FOR_QM                                        = 0x3646, 
    	// Quick mode SA was expired by IPsec driver.
    	IPSEC_IKE_QM_EXPIRED                                               = 0x3647, 
    	// Too many dynamically added IKEEXT filters were detected.
    	IPSEC_IKE_TOO_MANY_FILTERS                                         = 0x3648, 
    	// IPSEC_IKE_NEG_STATUS_END = = 0x364A,
    	IPSEC_IKE_NEG_STATUS_END                                           = 0x3649, // NAP reauth succeeded and must delete the dummy NAP IKEv2 tunnel.
    	// Error in assigning inner IP address to initiator in tunnel mode.
    	IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE                              = 0x364B, 
    	// Require configuration payload missing.
    	IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING                               = 0x364C, 
    	// A negotiation running as the security principle who issued the connection is in progress.
    	IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING                 = 0x364D, 
    	// SA was deleted due to IKEv1/AuthIP co-existence suppress check.
    	IPSEC_IKE_COEXISTENCE_SUPPRESS                                     = 0x364E, 
    	// Incoming SA request was dropped due to peer IP address rate limiting.
    	IPSEC_IKE_RATELIMIT_DROP                                           = 0x364F, 
    	// Peer does not support MOBIKE.
    	IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE                               = 0x3650, 
    	// SA establishment is not authorized.
    	IPSEC_IKE_AUTHORIZATION_FAILURE                                    = 0x3651, 
    	// SA establishment is not authorized because there is not a sufficiently strong PKINIT-based credential.
    	IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE                        = 0x3652, 
    	// SA establishment is not authorized. You may need to enter updated or different credentials such as a smartcard.
    	IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY                = 0x3653, 
    	// SA establishment is not authorized because there is not a sufficiently strong PKINIT-based credential. This might be related to certificate-to-account mapping failure for the SA.
    	IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE            = 0x3654, 
    	// IPSEC_IKE_NEG_STATUS_EXTENDED_END = = 0x3656,
    	IPSEC_IKE_NEG_STATUS_EXTENDED_END                                  = 0x3655, // The SPI in the packet does not match a valid IPsec SA.
    	// Packet was received on an IPsec SA whose lifetime has expired.
    	IPSEC_SA_LIFETIME_EXPIRED                                          = 0x3657, 
    	// Packet was received on an IPsec SA that does not match the packet characteristics.
    	IPSEC_WRONG_SA                                                     = 0x3658, 
    	// Packet sequence number replay check failed.
    	IPSEC_REPLAY_CHECK_FAILED                                          = 0x3659, 
    	// IPsec header and/or trailer in the packet is invalid.
    	IPSEC_INVALID_PACKET                                               = 0x365A, 
    	// IPsec integrity check failed.
    	IPSEC_INTEGRITY_CHECK_FAILED                                       = 0x365B, 
    	// IPsec dropped a clear text packet.
    	IPSEC_CLEAR_TEXT_DROP                                              = 0x365C, 
    	// IPsec dropped an incoming ESP packet in authenticated firewall mode. This drop is benign.
    	IPSEC_AUTH_FIREWALL_DROP                                           = 0x365D, 
    	// IPsec dropped a packet due to DoS throttling.
    	IPSEC_THROTTLE_DROP                                                = 0x365E, 
    	// IPsec DoS Protection matched an explicit block rule.
    	IPSEC_DOSP_BLOCK                                                   = 0x3665, 
    	// IPsec DoS Protection received an IPsec specific multicast packet which is not allowed.
    	IPSEC_DOSP_RECEIVED_MULTICAST                                      = 0x3666, 
    	// IPsec DoS Protection received an incorrectly formatted packet.
    	IPSEC_DOSP_INVALID_PACKET                                          = 0x3667, 
    	// IPsec DoS Protection failed to look up state.
    	IPSEC_DOSP_STATE_LOOKUP_FAILED                                     = 0x3668, 
    	// IPsec DoS Protection failed to create state because the maximum number of entries allowed by policy has been reached.
    	IPSEC_DOSP_MAX_ENTRIES                                             = 0x3669, 
    	// IPsec DoS Protection received an IPsec negotiation packet for a keying module which is not allowed by policy.
    	IPSEC_DOSP_KEYMOD_NOT_ALLOWED                                      = 0x366A, 
    	// IPsec DoS Protection has not been enabled.
    	IPSEC_DOSP_NOT_INSTALLED                                           = 0x366B, 
    	// IPsec DoS Protection failed to create a per internal IP rate limit queue because the maximum number of queues allowed by policy has been reached.
    	IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES                             = 0x366C, 
    	// The requested section was not present in the activation context.
    	SXS_SECTION_NOT_FOUND                                              = 0x36B0, 
    	// The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.
    	SXS_CANT_GEN_ACTCTX                                                = 0x36B1, 
    	// The application binding data format is invalid.
    	SXS_INVALID_ACTCTXDATA_FORMAT                                      = 0x36B2, 
    	// The referenced assembly is not installed on your system.
    	SXS_ASSEMBLY_NOT_FOUND                                             = 0x36B3, 
    	// The manifest file does not begin with the required tag and format information.
    	SXS_MANIFEST_FORMAT_ERROR                                          = 0x36B4, 
    	// The manifest file contains one or more syntax errors.
    	SXS_MANIFEST_PARSE_ERROR                                           = 0x36B5, 
    	// The application attempted to activate a disabled activation context.
    	SXS_ACTIVATION_CONTEXT_DISABLED                                    = 0x36B6, 
    	// The requested lookup key was not found in any active activation context.
    	SXS_KEY_NOT_FOUND                                                  = 0x36B7, 
    	// A component version required by the application conflicts with another component version already active.
    	SXS_VERSION_CONFLICT                                               = 0x36B8, 
    	// The type requested activation context section does not match the query API used.
    	SXS_WRONG_SECTION_TYPE                                             = 0x36B9, 
    	// Lack of system resources has required isolated activation to be disabled for the current thread of execution.
    	SXS_THREAD_QUERIES_DISABLED                                        = 0x36BA, 
    	// An attempt to set the process default activation context failed because the process default activation context was already set.
    	SXS_PROCESS_DEFAULT_ALREADY_SET                                    = 0x36BB, 
    	// The encoding group identifier specified is not recognized.
    	SXS_UNKNOWN_ENCODING_GROUP                                         = 0x36BC, 
    	// The encoding requested is not recognized.
    	SXS_UNKNOWN_ENCODING                                               = 0x36BD, 
    	// The manifest contains a reference to an invalid URI.
    	SXS_INVALID_XML_NAMESPACE_URI                                      = 0x36BE, 
    	// The application manifest contains a reference to a dependent assembly which is not installed.
    	SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED                         = 0x36BF, 
    	// The manifest for an assembly used by the application has a reference to a dependent assembly which is not installed.
    	SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED                         = 0x36C0, 
    	// The manifest contains an attribute for the assembly identity which is not valid.
    	SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE                            = 0x36C1, 
    	// The manifest is missing the required default namespace specification on the assembly element.
    	SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE                    = 0x36C2, 
    	// The manifest has a default namespace specified on the assembly element but its value is not "urn:schemas-microsoft-com:asm.v1".
    	SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE                    = 0x36C3, 
    	// The private manifest probed has crossed a path with an unsupported reparse point.
    	SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT                 = 0x36C4, 
    	// Two or more components referenced directly or indirectly by the application manifest have files by the same name.
    	SXS_DUPLICATE_DLL_NAME                                             = 0x36C5, 
    	// Two or more components referenced directly or indirectly by the application manifest have window classes with the same name.
    	SXS_DUPLICATE_WINDOWCLASS_NAME                                     = 0x36C6, 
    	// Two or more components referenced directly or indirectly by the application manifest have the same COM server CLSIDs.
    	SXS_DUPLICATE_CLSID                                                = 0x36C7, 
    	// Two or more components referenced directly or indirectly by the application manifest have proxies for the same COM interface IIDs.
    	SXS_DUPLICATE_IID                                                  = 0x36C8, 
    	// Two or more components referenced directly or indirectly by the application manifest have the same COM type library TLBIDs.
    	SXS_DUPLICATE_TLBID                                                = 0x36C9, 
    	// Two or more components referenced directly or indirectly by the application manifest have the same COM ProgIDs.
    	SXS_DUPLICATE_PROGID                                               = 0x36CA, 
    	// Two or more components referenced directly or indirectly by the application manifest are different versions of the same component which is not permitted.
    	SXS_DUPLICATE_ASSEMBLY_NAME                                        = 0x36CB, 
    	// A component's file does not match the verification information present in the component manifest.
    	SXS_FILE_HASH_MISMATCH                                             = 0x36CC, 
    	// The policy manifest contains one or more syntax errors.
    	SXS_POLICY_PARSE_ERROR                                             = 0x36CD, 
    	// Manifest Parse Error : A string literal was expected, but no opening quote character was found.
    	SXS_XML_E_MISSINGQUOTE                                             = 0x36CE, 
    	// Manifest Parse Error : Incorrect syntax was used in a comment.
    	SXS_XML_E_COMMENTSYNTAX                                            = 0x36CF, 
    	// Manifest Parse Error : A name was started with an invalid character.
    	SXS_XML_E_BADSTARTNAMECHAR                                         = 0x36D0, 
    	// Manifest Parse Error : A name contained an invalid character.
    	SXS_XML_E_BADNAMECHAR                                              = 0x36D1, 
    	// Manifest Parse Error : A string literal contained an invalid character.
    	SXS_XML_E_BADCHARINSTRING                                          = 0x36D2, 
    	// Manifest Parse Error : Invalid syntax for an xml declaration.
    	SXS_XML_E_XMLDECLSYNTAX                                            = 0x36D3, 
    	// Manifest Parse Error : An Invalid character was found in text content.
    	SXS_XML_E_BADCHARDATA                                              = 0x36D4, 
    	// Manifest Parse Error : Required white space was missing.
    	SXS_XML_E_MISSINGWHITESPACE                                        = 0x36D5, 
    	// Manifest Parse Error : The character '>' was expected.
    	SXS_XML_E_EXPECTINGTAGEND                                          = 0x36D6, 
    	// Manifest Parse Error : A semi colon character was expected.
    	SXS_XML_E_MISSINGSEMICOLON                                         = 0x36D7, 
    	// Manifest Parse Error : Unbalanced parentheses.
    	SXS_XML_E_UNBALANCEDPAREN                                          = 0x36D8, 
    	// Manifest Parse Error : Internal error.
    	SXS_XML_E_INTERNALERROR                                            = 0x36D9, 
    	// Manifest Parse Error : Whitespace is not allowed at this location.
    	SXS_XML_E_UNEXPECTED_WHITESPACE                                    = 0x36DA, 
    	// Manifest Parse Error : End of file reached in invalid state for current encoding.
    	SXS_XML_E_INCOMPLETE_ENCODING                                      = 0x36DB, 
    	// Manifest Parse Error : Missing parenthesis.
    	SXS_XML_E_MISSING_PAREN                                            = 0x36DC, 
    	// Manifest Parse Error : A single or double closing quote character (\' or \") is missing.
    	SXS_XML_E_EXPECTINGCLOSEQUOTE                                      = 0x36DD, 
    	// Manifest Parse Error : Multiple colons are not allowed in a name.
    	SXS_XML_E_MULTIPLE_COLONS                                          = 0x36DE, 
    	// Manifest Parse Error : Invalid character for decimal digit.
    	SXS_XML_E_INVALID_DECIMAL                                          = 0x36DF, 
    	// Manifest Parse Error : Invalid character for hexadecimal digit.
    	SXS_XML_E_INVALID_HEXIDECIMAL                                      = 0x36E0, 
    	// Manifest Parse Error : Invalid unicode character value for this platform.
    	SXS_XML_E_INVALID_UNICODE                                          = 0x36E1, 
    	// Manifest Parse Error : Expecting whitespace or '?'.
    	SXS_XML_E_WHITESPACEORQUESTIONMARK                                 = 0x36E2, 
    	// Manifest Parse Error : End tag was not expected at this location.
    	SXS_XML_E_UNEXPECTEDENDTAG                                         = 0x36E3, 
    	// Manifest Parse Error : The following tags were not closed: %1.
    	SXS_XML_E_UNCLOSEDTAG                                              = 0x36E4, 
    	// Manifest Parse Error : Duplicate attribute.
    	SXS_XML_E_DUPLICATEATTRIBUTE                                       = 0x36E5, 
    	// Manifest Parse Error : Only one top level element is allowed in an XML document.
    	SXS_XML_E_MULTIPLEROOTS                                            = 0x36E6, 
    	// Manifest Parse Error : Invalid at the top level of the document.
    	SXS_XML_E_INVALIDATROOTLEVEL                                       = 0x36E7, 
    	// Manifest Parse Error : Invalid xml declaration.
    	SXS_XML_E_BADXMLDECL                                               = 0x36E8, 
    	// Manifest Parse Error : XML document must have a top level element.
    	SXS_XML_E_MISSINGROOT                                              = 0x36E9, 
    	// Manifest Parse Error : Unexpected end of file.
    	SXS_XML_E_UNEXPECTEDEOF                                            = 0x36EA, 
    	// Manifest Parse Error : Parameter entities cannot be used inside markup declarations in an internal subset.
    	SXS_XML_E_BADPEREFINSUBSET                                         = 0x36EB, 
    	// Manifest Parse Error : Element was not closed.
    	SXS_XML_E_UNCLOSEDSTARTTAG                                         = 0x36EC, 
    	// Manifest Parse Error : End element was missing the character '>'.
    	SXS_XML_E_UNCLOSEDENDTAG                                           = 0x36ED, 
    	// Manifest Parse Error : A string literal was not closed.
    	SXS_XML_E_UNCLOSEDSTRING                                           = 0x36EE, 
    	// Manifest Parse Error : A comment was not closed.
    	SXS_XML_E_UNCLOSEDCOMMENT                                          = 0x36EF, 
    	// Manifest Parse Error : A declaration was not closed.
    	SXS_XML_E_UNCLOSEDDECL                                             = 0x36F0, 
    	// Manifest Parse Error : A CDATA section was not closed.
    	SXS_XML_E_UNCLOSEDCDATA                                            = 0x36F1, 
    	// Manifest Parse Error : The namespace prefix is not allowed to start with the reserved string "xml".
    	SXS_XML_E_RESERVEDNAMESPACE                                        = 0x36F2, 
    	// Manifest Parse Error : System does not support the specified encoding.
    	SXS_XML_E_INVALIDENCODING                                          = 0x36F3, 
    	// Manifest Parse Error : Switch from current encoding to specified encoding not supported.
    	SXS_XML_E_INVALIDSWITCH                                            = 0x36F4, 
    	// Manifest Parse Error : The name 'xml' is reserved and must be lower case.
    	SXS_XML_E_BADXMLCASE                                               = 0x36F5, 
    	// Manifest Parse Error : The standalone attribute must have the value 'yes' or 'no'.
    	SXS_XML_E_INVALID_STANDALONE                                       = 0x36F6, 
    	// Manifest Parse Error : The standalone attribute cannot be used in external entities.
    	SXS_XML_E_UNEXPECTED_STANDALONE                                    = 0x36F7, 
    	// Manifest Parse Error : Invalid version number.
    	SXS_XML_E_INVALID_VERSION                                          = 0x36F8, 
    	// Manifest Parse Error : Missing equals sign between attribute and attribute value.
    	SXS_XML_E_MISSINGEQUALS                                            = 0x36F9, 
    	// Assembly Protection Error : Unable to recover the specified assembly.
    	SXS_PROTECTION_RECOVERY_FAILED                                     = 0x36FA, 
    	// Assembly Protection Error : The public key for an assembly was too short to be allowed.
    	SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT                                = 0x36FB, 
    	// Assembly Protection Error : The catalog for an assembly is not valid, or does not match the assembly's manifest.
    	SXS_PROTECTION_CATALOG_NOT_VALID                                   = 0x36FC, 
    	// An HRESULT could not be translated to a corresponding Win32 error code.
    	SXS_UNTRANSLATABLE_HRESULT                                         = 0x36FD, 
    	// Assembly Protection Error : The catalog for an assembly is missing.
    	SXS_PROTECTION_CATALOG_FILE_MISSING                                = 0x36FE, 
    	// The supplied assembly identity is missing one or more attributes which must be present in this context.
    	SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE                            = 0x36FF, 
    	// The supplied assembly identity has one or more attribute names that contain characters not permitted in XML names.
    	SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME                       = 0x3700, 
    	// The referenced assembly could not be found.
    	SXS_ASSEMBLY_MISSING                                               = 0x3701, 
    	// The activation context activation stack for the running thread of execution is corrupt.
    	SXS_CORRUPT_ACTIVATION_STACK                                       = 0x3702, 
    	// The application isolation metadata for this process or thread has become corrupt.
    	SXS_CORRUPTION                                                     = 0x3703, 
    	// The activation context being deactivated is not the most recently activated one.
    	SXS_EARLY_DEACTIVATION                                             = 0x3704, 
    	// The activation context being deactivated is not active for the current thread of execution.
    	SXS_INVALID_DEACTIVATION                                           = 0x3705, 
    	// The activation context being deactivated has already been deactivated.
    	SXS_MULTIPLE_DEACTIVATION                                          = 0x3706, 
    	// A component used by the isolation facility has requested to terminate the process.
    	SXS_PROCESS_TERMINATION_REQUESTED                                  = 0x3707, 
    	// A kernel mode component is releasing a reference on an activation context.
    	SXS_RELEASE_ACTIVATION_CONTEXT                                     = 0x3708, 
    	// The activation context of system default assembly could not be generated.
    	SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY                        = 0x3709, 
    	// The value of an attribute in an identity is not within the legal range.
    	SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE                               = 0x370A, 
    	// The name of an attribute in an identity is not within the legal range.
    	SXS_INVALID_IDENTITY_ATTRIBUTE_NAME                                = 0x370B, 
    	// An identity contains two definitions for the same attribute.
    	SXS_IDENTITY_DUPLICATE_ATTRIBUTE                                   = 0x370C, 
    	// The identity string is malformed. This may be due to a trailing comma, more than two unnamed attributes, missing attribute name or missing attribute value.
    	SXS_IDENTITY_PARSE_ERROR                                           = 0x370D, 
    	// A string containing localized substitutable content was malformed. Either a dollar sign ($) was followed by something other than a left parenthesis or another dollar sign or an substitution's right parenthesis was not found.
    	MALFORMED_SUBSTITUTION_STRING                                      = 0x370E, 
    	// The public key token does not correspond to the public key specified.
    	SXS_INCORRECT_PUBLIC_KEY_TOKEN                                     = 0x370F, 
    	// A substitution string had no mapping.
    	UNMAPPED_SUBSTITUTION_STRING                                       = 0x3710, 
    	// The component must be locked before making the request.
    	SXS_ASSEMBLY_NOT_LOCKED                                            = 0x3711, 
    	// The component store has been corrupted.
    	SXS_COMPONENT_STORE_CORRUPT                                        = 0x3712, 
    	// An advanced installer failed during setup or servicing.
    	ADVANCED_INSTALLER_FAILED                                          = 0x3713, 
    	// The character encoding in the XML declaration did not match the encoding used in the document.
    	XML_ENCODING_MISMATCH                                              = 0x3714, 
    	// The identities of the manifests are identical but their contents are different.
    	SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT                  = 0x3715, 
    	// The component identities are different.
    	SXS_IDENTITIES_DIFFERENT                                           = 0x3716, 
    	// The assembly is not a deployment.
    	SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT                                   = 0x3717, 
    	// The file is not a part of the assembly.
    	SXS_FILE_NOT_PART_OF_ASSEMBLY                                      = 0x3718, 
    	// The size of the manifest exceeds the maximum allowed.
    	SXS_MANIFEST_TOO_BIG                                               = 0x3719, 
    	// The setting is not registered.
    	SXS_SETTING_NOT_REGISTERED                                         = 0x371A, 
    	// One or more required members of the transaction are not present.
    	SXS_TRANSACTION_CLOSURE_INCOMPLETE                                 = 0x371B, 
    	// The SMI primitive installer failed during setup or servicing.
    	SMI_PRIMITIVE_INSTALLER_FAILED                                     = 0x371C, 
    	// A generic command executable returned a result that indicates failure.
    	GENERIC_COMMAND_FAILED                                             = 0x371D, 
    	// A component is missing file verification information in its manifest.
    	SXS_FILE_HASH_MISSING                                              = 0x371E, 
    	// The specified channel path is invalid.
    	EVT_INVALID_CHANNEL_PATH                                           = 0x3A98, 
    	// The specified query is invalid.
    	EVT_INVALID_QUERY                                                  = 0x3A99, 
    	// The publisher metadata cannot be found in the resource.
    	EVT_PUBLISHER_METADATA_NOT_FOUND                                   = 0x3A9A, 
    	// The template for an event definition cannot be found in the resource (error = %1).
    	EVT_EVENT_TEMPLATE_NOT_FOUND                                       = 0x3A9B, 
    	// The specified publisher name is invalid.
    	EVT_INVALID_PUBLISHER_NAME                                         = 0x3A9C, 
    	// The event data raised by the publisher is not compatible with the event template definition in the publisher's manifest.
    	EVT_INVALID_EVENT_DATA                                             = 0x3A9D, 
    	// The specified channel could not be found. Check channel configuration.
    	EVT_CHANNEL_NOT_FOUND                                              = 0x3A9F, 
    	// The specified xml text was not well-formed. See Extended Error for more details.
    	EVT_MALFORMED_XML_TEXT                                             = 0x3AA0, 
    	// The caller is trying to subscribe to a direct channel which is not allowed. The events for a direct channel go directly to a logfile and cannot be subscribed to.
    	EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL                                 = 0x3AA1, 
    	// Configuration error.
    	EVT_CONFIGURATION_ERROR                                            = 0x3AA2, 
    	// The query result is stale / invalid. This may be due to the log being cleared or rolling over after the query result was created. Users should handle this code by releasing the query result object and reissuing the query.
    	EVT_QUERY_RESULT_STALE                                             = 0x3AA3, 
    	// Query result is currently at an invalid position.
    	EVT_QUERY_RESULT_INVALID_POSITION                                  = 0x3AA4, 
    	// Registered MSXML doesn't support validation.
    	EVT_NON_VALIDATING_MSXML                                           = 0x3AA5, 
    	// An expression can only be followed by a change of scope operation if it itself evaluates to a node set and is not already part of some other change of scope operation.
    	EVT_FILTER_ALREADYSCOPED                                           = 0x3AA6, 
    	// Can't perform a step operation from a term that does not represent an element set.
    	EVT_FILTER_NOTELTSET                                               = 0x3AA7, 
    	// Left hand side arguments to binary operators must be either attributes, nodes or variables and right hand side arguments must be constants.
    	EVT_FILTER_INVARG                                                  = 0x3AA8, 
    	// A step operation must involve either a node test or, in the case of a predicate, an algebraic expression against which to test each node in the node set identified by the preceeding node set can be evaluated.
    	EVT_FILTER_INVTEST                                                 = 0x3AA9, 
    	// This data type is currently unsupported.
    	EVT_FILTER_INVTYPE                                                 = 0x3AAA, 
    	// A syntax error occurred at position %1!d!.
    	EVT_FILTER_PARSEERR                                                = 0x3AAB, 
    	// This operator is unsupported by this implementation of the filter.
    	EVT_FILTER_UNSUPPORTEDOP                                           = 0x3AAC, 
    	// The token encountered was unexpected.
    	EVT_FILTER_UNEXPECTEDTOKEN                                         = 0x3AAD, 
    	// The requested operation cannot be performed over an enabled direct channel. The channel must first be disabled before performing the requested operation.
    	EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL                  = 0x3AAE, 
    	// Channel property %1!s! contains invalid value. The value has invalid type, is outside of valid range, can't be updated or is not supported by this type of channel.
    	EVT_INVALID_CHANNEL_PROPERTY_VALUE                                 = 0x3AAF, 
    	// Publisher property %1!s! contains invalid value. The value has invalid type, is outside of valid range, can't be updated or is not supported by this type of publisher.
    	EVT_INVALID_PUBLISHER_PROPERTY_VALUE                               = 0x3AB0, 
    	// The channel fails to activate.
    	EVT_CHANNEL_CANNOT_ACTIVATE                                        = 0x3AB1, 
    	// The xpath expression exceeded supported complexity. Please symplify it or split it into two or more simple expressions.
    	EVT_FILTER_TOO_COMPLEX                                             = 0x3AB2, 
    	// the message resource is present but the message is not found in the string/message table.
    	EVT_MESSAGE_NOT_FOUND                                              = 0x3AB3, 
    	// The message id for the desired message could not be found.
    	EVT_MESSAGE_ID_NOT_FOUND                                           = 0x3AB4, 
    	// The substitution string for insert index (%1) could not be found.
    	EVT_UNRESOLVED_VALUE_INSERT                                        = 0x3AB5, 
    	// The description string for parameter reference (%1) could not be found.
    	EVT_UNRESOLVED_PARAMETER_INSERT                                    = 0x3AB6, 
    	// The maximum number of replacements has been reached.
    	EVT_MAX_INSERTS_REACHED                                            = 0x3AB7, 
    	// The event definition could not be found for event id (%1).
    	EVT_EVENT_DEFINITION_NOT_FOUND                                     = 0x3AB8, 
    	// The locale specific resource for the desired message is not present.
    	EVT_MESSAGE_LOCALE_NOT_FOUND                                       = 0x3AB9, 
    	// The resource is too old to be compatible.
    	EVT_VERSION_TOO_OLD                                                = 0x3ABA, 
    	// The resource is too new to be compatible.
    	EVT_VERSION_TOO_NEW                                                = 0x3ABB, 
    	// The channel at index %1!d! of the query can't be opened.
    	EVT_CANNOT_OPEN_CHANNEL_OF_QUERY                                   = 0x3ABC, 
    	// The publisher has been disabled and its resource is not available. This usually occurs when the publisher is in the process of being uninstalled or upgraded.
    	EVT_PUBLISHER_DISABLED                                             = 0x3ABD, 
    	// Attempted to create a numeric type that is outside of its valid range.
    	EVT_FILTER_OUT_OF_RANGE                                            = 0x3ABE, 
    	// The subscription fails to activate.
    	EC_SUBSCRIPTION_CANNOT_ACTIVATE                                    = 0x3AE8, 
    	// The log of the subscription is in disabled state, and cannot be used to forward events to. The log must first be enabled before the subscription can be activated.
    	EC_LOG_DISABLED                                                    = 0x3AE9, 
    	// When forwarding events from local machine to itself, the query of the subscription can't contain target log of the subscription.
    	EC_CIRCULAR_FORWARDING                                             = 0x3AEA, 
    	// The credential store that is used to save credentials is full.
    	EC_CREDSTORE_FULL                                                  = 0x3AEB, 
    	// The credential used by this subscription can't be found in credential store.
    	EC_CRED_NOT_FOUND                                                  = 0x3AEC, 
    	// No active channel is found for the query.
    	EC_NO_ACTIVE_CHANNEL                                               = 0x3AED, 
    	// The resource loader failed to find MUI file.
    	MUI_FILE_NOT_FOUND                                                 = 0x3AFC, 
    	// The resource loader failed to load MUI file because the file fail to pass validation.
    	MUI_INVALID_FILE                                                   = 0x3AFD, 
    	// The RC Manifest is corrupted with garbage data or unsupported version or missing required item.
    	MUI_INVALID_RC_CONFIG                                              = 0x3AFE, 
    	// The RC Manifest has invalid culture name.
    	MUI_INVALID_LOCALE_NAME                                            = 0x3AFF, 
    	// The RC Manifest has invalid ultimatefallback name.
    	MUI_INVALID_ULTIMATEFALLBACK_NAME                                  = 0x3B00, 
    	// The resource loader cache doesn't have loaded MUI entry.
    	MUI_FILE_NOT_LOADED                                                = 0x3B01, 
    	// User stopped resource enumeration.
    	RESOURCE_ENUM_USER_STOP                                            = 0x3B02, 
    	// UI language installation failed.
    	MUI_INTLSETTINGS_UILANG_NOT_INSTALLED                              = 0x3B03, 
    	// Locale installation failed.
    	MUI_INTLSETTINGS_INVALID_LOCALE_NAME                               = 0x3B04, 
    	// A resource does not have default or neutral value.
    	MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE                         = 0x3B06, 
    	// Invalid PRI config file.
    	MRM_INVALID_PRICONFIG                                              = 0x3B07, 
    	// Invalid file type.
    	MRM_INVALID_FILE_TYPE                                              = 0x3B08, 
    	// Unknown qualifier.
    	MRM_UNKNOWN_QUALIFIER                                              = 0x3B09, 
    	// Invalid qualifier value.
    	MRM_INVALID_QUALIFIER_VALUE                                        = 0x3B0A, 
    	// No Candidate found.
    	MRM_NO_CANDIDATE                                                   = 0x3B0B, 
    	// The ResourceMap or NamedResource has an item that does not have default or neutral resource..
    	MRM_NO_MATCH_OR_DEFAULT_CANDIDATE                                  = 0x3B0C, 
    	// Invalid ResourceCandidate type.
    	MRM_RESOURCE_TYPE_MISMATCH                                         = 0x3B0D, 
    	// Duplicate Resource Map.
    	MRM_DUPLICATE_MAP_NAME                                             = 0x3B0E, 
    	// Duplicate Entry.
    	MRM_DUPLICATE_ENTRY                                                = 0x3B0F, 
    	// Invalid Resource Identifier.
    	MRM_INVALID_RESOURCE_IDENTIFIER                                    = 0x3B10, 
    	// Filepath too long.
    	MRM_FILEPATH_TOO_LONG                                              = 0x3B11, 
    	// Unsupported directory type.
    	MRM_UNSUPPORTED_DIRECTORY_TYPE                                     = 0x3B12, 
    	// Invalid PRI File.
    	MRM_INVALID_PRI_FILE                                               = 0x3B16, 
    	// NamedResource Not Found.
    	MRM_NAMED_RESOURCE_NOT_FOUND                                       = 0x3B17, 
    	// ResourceMap Not Found.
    	MRM_MAP_NOT_FOUND                                                  = 0x3B1F, 
    	// Unsupported MRT profile type.
    	MRM_UNSUPPORTED_PROFILE_TYPE                                       = 0x3B20, 
    	// Invalid qualifier operator.
    	MRM_INVALID_QUALIFIER_OPERATOR                                     = 0x3B21, 
    	// Unable to determine qualifier value or qualifier value has not been set.
    	MRM_INDETERMINATE_QUALIFIER_VALUE                                  = 0x3B22, 
    	// Automerge is enabled in the PRI file.
    	MRM_AUTOMERGE_ENABLED                                              = 0x3B23, 
    	// Too many resources defined for package.
    	MRM_TOO_MANY_RESOURCES                                             = 0x3B24, 
    	// The monitor returned a DDC/CI capabilities string that did not comply with the ACCESS.bus 3.0, DDC/CI 1.1 or MCCS 2 Revision 1 specification.
    	MCA_INVALID_CAPABILITIES_STRING                                    = 0x3B60, 
    	// The monitor's VCP Version (0xDF) VCP code returned an invalid version value.
    	MCA_INVALID_VCP_VERSION                                            = 0x3B61, 
    	// The monitor does not comply with the MCCS specification it claims to support.
    	MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION                            = 0x3B62, 
    	// The MCCS version in a monitor's mccs_ver capability does not match the MCCS version the monitor reports when the VCP Version (0xDF) VCP code is used.
    	MCA_MCCS_VERSION_MISMATCH                                          = 0x3B63, 
    	// The Monitor Configuration API only works with monitors that support the MCCS 1.0 specification, MCCS 2.0 specification or the MCCS 2.0 Revision 1 specification.
    	MCA_UNSUPPORTED_MCCS_VERSION                                       = 0x3B64, 
    	// An internal Monitor Configuration API error occurred.
    	MCA_INTERNAL_ERROR                                                 = 0x3B65, 
    	// The monitor returned an invalid monitor technology type. CRT, Plasma and LCD (TFT) are examples of monitor technology types. This error implies that the monitor violated the MCCS 2.0 or MCCS 2.0 Revision 1 specification.
    	MCA_INVALID_TECHNOLOGY_TYPE_RETURNED                               = 0x3B66, 
    	// The caller of SetMonitorColorTemperature specified a color temperature that the current monitor did not support. This error implies that the monitor violated the MCCS 2.0 or MCCS 2.0 Revision 1 specification.
    	MCA_UNSUPPORTED_COLOR_TEMPERATURE                                  = 0x3B67, 
    	// The requested system device cannot be identified due to multiple indistinguishable devices potentially matching the identification criteria.
    	AMBIGUOUS_SYSTEM_DEVICE                                            = 0x3B92, 
    	// The requested system device cannot be found.
    	SYSTEM_DEVICE_NOT_FOUND                                            = 0x3BC3, 
    	// Hash generation for the specified hash version and hash type is not enabled on the server.
    	HASH_NOT_SUPPORTED                                                 = 0x3BC4, 
    	// The hash requested from the server is not available or no longer valid.
    	HASH_NOT_PRESENT                                                   = 0x3BC5, 
    	// The secondary interrupt controller instance that manages the specified interrupt is not registered.
    	SECONDARY_IC_PROVIDER_NOT_REGISTERED                               = 0x3BD9, 
    	// The information supplied by the GPIO client driver is invalid.
    	GPIO_CLIENT_INFORMATION_INVALID                                    = 0x3BDA, 
    	// The version specified by the GPIO client driver is not supported.
    	GPIO_VERSION_NOT_SUPPORTED                                         = 0x3BDB, 
    	// The registration packet supplied by the GPIO client driver is not valid.
    	GPIO_INVALID_REGISTRATION_PACKET                                   = 0x3BDC, 
    	// The requested operation is not supported for the specified handle.
    	GPIO_OPERATION_DENIED                                              = 0x3BDD, 
    	// The requested connect mode conflicts with an existing mode on one or more of the specified pins.
    	GPIO_INCOMPATIBLE_CONNECT_MODE                                     = 0x3BDE, 
    	// The interrupt requested to be unmasked is not masked.
    	GPIO_INTERRUPT_ALREADY_UNMASKED                                    = 0x3BDF, 
    	// The requested run level switch cannot be completed successfully.
    	CANNOT_SWITCH_RUNLEVEL                                             = 0x3C28, 
    	// The service has an invalid run level setting. The run level for a service must not be higher than the run level of its dependent services.
    	INVALID_RUNLEVEL_SETTING                                           = 0x3C29, 
    	// The requested run level switch cannot be completed successfully since one or more services will not stop or restart within the specified timeout.
    	RUNLEVEL_SWITCH_TIMEOUT                                            = 0x3C2A, 
    	// A run level switch agent did not respond within the specified timeout.
    	RUNLEVEL_SWITCH_AGENT_TIMEOUT                                      = 0x3C2B, 
    	// A run level switch is currently in progress.
    	RUNLEVEL_SWITCH_IN_PROGRESS                                        = 0x3C2C, 
    	// One or more services failed to start during the service startup phase of a run level switch.
    	SERVICES_FAILED_AUTOSTART                                          = 0x3C2D, 
    	// The task stop request cannot be completed immediately since task needs more time to shutdown.
    	COM_TASK_STOP_PENDING                                              = 0x3C8D, 
    	// Package could not be opened.
    	INSTALL_OPEN_PACKAGE_FAILED                                        = 0x3CF0, 
    	// Package was not found.
    	INSTALL_PACKAGE_NOT_FOUND                                          = 0x3CF1, 
    	// Package data is invalid.
    	INSTALL_INVALID_PACKAGE                                            = 0x3CF2, 
    	// Package failed updates, dependency or conflict validation.
    	INSTALL_RESOLVE_DEPENDENCY_FAILED                                  = 0x3CF3, 
    	// There is not enough disk space on your computer. Please free up some space and try again.
    	INSTALL_OUT_OF_DISK_SPACE                                          = 0x3CF4, 
    	// There was a problem downloading your product.
    	INSTALL_NETWORK_FAILURE                                            = 0x3CF5, 
    	// Package could not be registered.
    	INSTALL_REGISTRATION_FAILURE                                       = 0x3CF6, 
    	// Package could not be unregistered.
    	INSTALL_DEREGISTRATION_FAILURE                                     = 0x3CF7, 
    	// User cancelled the install request.
    	INSTALL_CANCEL                                                     = 0x3CF8, 
    	// Install failed. Please contact your software vendor.
    	INSTALL_FAILED                                                     = 0x3CF9, 
    	// Removal failed. Please contact your software vendor.
    	REMOVE_FAILED                                                      = 0x3CFA, 
    	// The provided package is already installed, and reinstallation of the package was blocked. Check the AppXDeployment-Server event log for details.
    	PACKAGE_ALREADY_EXISTS                                             = 0x3CFB, 
    	// The application cannot be started. Try reinstalling the application to fix the problem.
    	NEEDS_REMEDIATION                                                  = 0x3CFC, 
    	// A Prerequisite for an install could not be satisfied.
    	INSTALL_PREREQUISITE_FAILED                                        = 0x3CFD, 
    	// The package repository is corrupted.
    	PACKAGE_REPOSITORY_CORRUPTED                                       = 0x3CFE, 
    	// To install this application you need either a Windows developer license or a sideloading-enabled system.
    	INSTALL_POLICY_FAILURE                                             = 0x3CFF, 
    	// The application cannot be started because it is currently updating.
    	PACKAGE_UPDATING                                                   = 0x3D00, 
    	// The package deployment operation is blocked by policy. Please contact your system administrator.
    	DEPLOYMENT_BLOCKED_BY_POLICY                                       = 0x3D01, 
    	// The package could not be installed because resources it modifies are currently in use.
    	PACKAGES_IN_USE                                                    = 0x3D02, 
    	// The package could not be recovered because necessary data for recovery have been corrupted.
    	RECOVERY_FILE_CORRUPT                                              = 0x3D03, 
    	// The signature is invalid. To register in developer mode, AppxSignature.p7x and AppxBlockMap.xml must be valid or should not be present.
    	INVALID_STAGED_SIGNATURE                                           = 0x3D04, 
    	// An error occurred while deleting the package's previously existing application data.
    	DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED                     = 0x3D05, 
    	// The package could not be installed because a higher version of this package is already installed.
    	INSTALL_PACKAGE_DOWNGRADE                                          = 0x3D06, 
    	// An error in a system binary was detected. Try refreshing the PC to fix the problem.
    	SYSTEM_NEEDS_REMEDIATION                                           = 0x3D07, 
    	// A corrupted CLR NGEN binary was detected on the system.
    	APPX_INTEGRITY_FAILURE_CLR_NGEN                                    = 0x3D08, 
    	// The operation could not be resumed because necessary data for recovery have been corrupted.
    	RESILIENCY_FILE_CORRUPT                                            = 0x3D09, 
    	// The package could not be installed because the Windows Firewall service is not running. Enable the Windows Firewall service and try again.
    	INSTALL_FIREWALL_SERVICE_NOT_RUNNING                               = 0x3D0A, 
    	// The process has no package identity.
    	APPMODEL_ERROR_NO_PACKAGE                                          = 0x3D54, 
    	// The package runtime information is corrupted.
    	APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT                             = 0x3D55, 
    	// The package identity is corrupted.
    	APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT                            = 0x3D56, 
    	// The process has no application identity.
    	APPMODEL_ERROR_NO_APPLICATION                                      = 0x3D57, 
    	// Loading the state store failed.
    	STATE_LOAD_STORE_FAILED                                            = 0x3DB8, 
    	// Retrieving the state version for the application failed.
    	STATE_GET_VERSION_FAILED                                           = 0x3DB9, 
    	// Setting the state version for the application failed.
    	STATE_SET_VERSION_FAILED                                           = 0x3DBA, 
    	// Resetting the structured state of the application failed.
    	STATE_STRUCTURED_RESET_FAILED                                      = 0x3DBB, 
    	// State Manager failed to open the container.
    	STATE_OPEN_CONTAINER_FAILED                                        = 0x3DBC, 
    	// State Manager failed to create the container.
    	STATE_CREATE_CONTAINER_FAILED                                      = 0x3DBD, 
    	// State Manager failed to delete the container.
    	STATE_DELETE_CONTAINER_FAILED                                      = 0x3DBE, 
    	// State Manager failed to read the setting.
    	STATE_READ_SETTING_FAILED                                          = 0x3DBF, 
    	// State Manager failed to write the setting.
    	STATE_WRITE_SETTING_FAILED                                         = 0x3DC0, 
    	// State Manager failed to delete the setting.
    	STATE_DELETE_SETTING_FAILED                                        = 0x3DC1, 
    	// State Manager failed to query the setting.
    	STATE_QUERY_SETTING_FAILED                                         = 0x3DC2, 
    	// State Manager failed to read the composite setting.
    	STATE_READ_COMPOSITE_SETTING_FAILED                                = 0x3DC3, 
    	// State Manager failed to write the composite setting.
    	STATE_WRITE_COMPOSITE_SETTING_FAILED                               = 0x3DC4, 
    	// State Manager failed to enumerate the containers.
    	STATE_ENUMERATE_CONTAINER_FAILED                                   = 0x3DC5, 
    	// State Manager failed to enumerate the settings.
    	STATE_ENUMERATE_SETTINGS_FAILED                                    = 0x3DC6, 
    	// The size of the state manager composite setting value has exceeded the limit.
    	STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED                  = 0x3DC7, 
    	// The size of the state manager setting value has exceeded the limit.
    	STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED                            = 0x3DC8, 
    	// The length of the state manager setting name has exceeded the limit.
    	STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED                             = 0x3DC9, 
    	// The length of the state manager container name has exceeded the limit.
    	STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED                           = 0x3DCA, 
    	// This API cannot be used in the context of the caller's application type.
    	API_UNAVAILABLE                                                    = 0x3DE1, 
    }
     

    aka ERROR or WIN32_ERROR to hint the WIN32 facility

    Related Procedures With Returns

    TBBUTTON ¶

    TBBUTTON :: struct {
    	iBitmap:   i32,
    	idCommand: i32,
    	fsState:   BYTE,
    	fsStyle:   BYTE,
    	bReserved: [6]BYTE,
    	dwData:    uint,
    	iString:   int,
    }

    TBBUTTONINFOW ¶

    TBBUTTONINFOW :: struct {
    	cbSize:    u32,
    	dwMask:    u32,
    	idCommand: i32,
    	iImage:    i32,
    	fsState:   BYTE,
    	fsStyle:   BYTE,
    	cx:        u16,
    	lParam:    uint,
    	pszText:   ^u16,
    	cchText:   i32,
    }

    TBMETRICS ¶

    TBMETRICS :: struct {
    	cbSize:          u32,
    	dwMask:          u32,
    	cxPad:           i32,
    	cyPad:           i32,
    	cxBarPad:        i32,
    	cyBarPad:        i32,
    	cxButtonSpacing: i32,
    	cyButtonSpacing: i32,
    }

    TBPFLAG ¶

    TBPFLAG :: enum i32 {
    	NOPROGRESS    = 0, 
    	INDETERMINATE = 0x1, 
    	NORMAL        = 0x2, 
    	ERROR         = 0x4, 
    	PAUSED        = 0x8, 
    }

    TBREPLACEBITMAP ¶

    TBREPLACEBITMAP :: struct {
    	hInstOld: HANDLE,
    	nIDOld:   uintptr,
    	hInstNew: HANDLE,
    	nIDNew:   uintptr,
    	nButtons: i32,
    }

    TBSAVEPARAMSW ¶

    TBSAVEPARAMSW :: struct {
    	hkr:          HKEY,
    	pszSubKey:    cstring16,
    	pszValueName: cstring16,
    }

    TCHITTESTINFO ¶

    TCHITTESTINFO :: struct {
    	pt:    POINT,
    	flags: u32,
    }

    TCITEMHEADERW ¶

    TCITEMHEADERW :: struct {
    	mask:        u32,
    	lpReserved1: u32,
    	lpReserved2: u32,
    	pszText:     ^u16,
    	cchTextMax:  i32,
    	iImage:      i32,
    }

    TCITEMW ¶

    TCITEMW :: struct {
    	mask:        u32,
    	dwState:     u32,
    	dwStateMask: u32,
    	pszText:     ^u16,
    	cchTextMax:  i32,
    	iImage:      i32,
    	lParam:      int,
    }

    Related Procedures With Parameters

    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:        u16,
    	tmLastChar:         u16,
    	tmDefaultChar:      u16,
    	tmBreakChar:        u16,
    	tmItalic:           BYTE,
    	tmUnderlined:       BYTE,
    	tmStruckOut:        BYTE,
    	tmPitchAndFamily:   BYTE,
    	tmCharSet:          BYTE,
    }

    THREADENTRY32 ¶

    THREADENTRY32 :: struct {
    	dwSize:             u32,
    	cntUsage:           u32,
    	th32ThreadID:       u32,
    	th32OwnerProcessID: u32,
    	tpBasePri:          i32,
    	tpDeltaPri:         i32,
    	dwFlags:            u32,
    }

    Related Procedures With Parameters

    THUMBBUTTON ¶

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

    THUMBBUTTONFLAGS ¶

    THUMBBUTTONFLAGS :: enum i32 {
    	ENABLED        = 0, 
    	DISABLED       = 0x1, 
    	DISMISSONCLICK = 0x2, 
    	NOBACKGROUND   = 0x4, 
    	HIDDEN         = 0x8, 
    	NONINTERACTIVE = 0x10, 
    }

    THUMBBUTTONMASK ¶

    THUMBBUTTONMASK :: enum i32 {
    	BITMAP  = 0x1, 
    	ICON    = 0x2, 
    	TOOLTIP = 0x4, 
    	FLAGS   = 0x8, 
    }

    TIMECAPS ¶

    TIMECAPS :: struct {
    	wPeriodMin: u32,
    	wPeriodMax: u32,
    }

    TIMERPROC ¶

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

    TIME_ZONE_INFORMATION ¶

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

    TOKEN_GROUPS_AND_PRIVILEGES ¶

    TOKEN_GROUPS_AND_PRIVILEGES :: struct {
    	SidCount:            u32,
    	SidLength:           u32,
    	Sids:                ^SID_AND_ATTRIBUTES,
    	RestrictedSidCount:  u32,
    	RestrictedSidLength: u32,
    	RestrictedSids:      ^SID_AND_ATTRIBUTES,
    	PrivilegeCount:      u32,
    	PrivilegeLength:     u32,
    	Privileges:          ^LUID_AND_ATTRIBUTES,
    	AuthenticationId:    LUID,
    }

    TOKEN_INFORMATION_CLASS ¶

    TOKEN_INFORMATION_CLASS :: enum i32 {
    	TokenUser                            = 1, 
    	TokenGroups, 
    	TokenPrivileges, 
    	TokenOwner, 
    	TokenPrimaryGroup, 
    	TokenDefaultDacl, 
    	TokenSource, 
    	TokenType, 
    	TokenImpersonationLevel, 
    	TokenStatistics, 
    	TokenRestrictedSids, 
    	TokenSessionId, 
    	TokenGroupsAndPrivileges, 
    	TokenSessionReference, 
    	TokenSandBoxInert, 
    	TokenAuditPolicy, 
    	TokenOrigin, 
    	TokenElevationType, 
    	TokenLinkedToken, 
    	TokenElevation, 
    	TokenHasRestrictions, 
    	TokenAccessInformation, 
    	TokenVirtualizationAllowed, 
    	TokenVirtualizationEnabled, 
    	TokenIntegrityLevel, 
    	TokenUIAccess, 
    	TokenMandatoryPolicy, 
    	TokenLogonSid, 
    	TokenIsAppContainer, 
    	TokenCapabilities, 
    	TokenAppContainerSid, 
    	TokenAppContainerNumber, 
    	TokenUserClaimAttributes, 
    	TokenDeviceClaimAttributes, 
    	TokenRestrictedUserClaimAttributes, 
    	TokenRestrictedDeviceClaimAttributes, 
    	TokenDeviceGroups, 
    	TokenRestrictedDeviceGroups, 
    	TokenSecurityAttributes, 
    	TokenIsRestricted, 
    	TokenProcessTrustLevel, 
    	TokenPrivateNameSpace, 
    	TokenSingletonAttributes, 
    	TokenBnoIsolation, 
    	TokenChildProcessFlags, 
    	TokenIsLessPrivilegedAppContainer, 
    	TokenIsSandboxed, 
    	TokenIsAppSilo, 
    	TokenLoggingInformation, 
    	MaxTokenInfoClass, 
    }

    TOKEN_SOURCE ¶

    TOKEN_SOURCE :: struct {
    	SourceName:       [8]u8,
    	SourceIdentifier: LUID,
    }

    TOKEN_STATISTICS ¶

    TOKEN_STATISTICS :: struct {
    	TokenId:            LUID,
    	AuthenticationId:   LUID,
    	ExpirationTime:     LARGE_INTEGER,
    	TokenType:          TOKEN_TYPE,
    	ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
    	DynamicCharged:     u32,
    	DynamicAvailable:   u32,
    	GroupCount:         u32,
    	PrivilegeCount:     u32,
    	ModifiedId:         LUID,
    }

    TOKEN_TYPE ¶

    TOKEN_TYPE :: enum int {
    	TokenPrimary       = 1, 
    	TokenImpersonation = 2, 
    }

    TRACKMOUSEEVENT ¶

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

    TRIVERTEX ¶

    TRIVERTEX :: struct {
    	x:     i32,
    	y:     i32,
    	Red:   u16,
    	Green: u16,
    	Blue:  u16,
    	Alpha: u16,
    }

    TUNNEL_TYPE ¶

    TUNNEL_TYPE :: enum i32 {
    	TUNNEL_TYPE_NONE    = 0, 
    	TUNNEL_TYPE_OTHER   = 1, 
    	TUNNEL_TYPE_DIRECT  = 2, 
    	TUNNEL_TYPE_6TO4    = 11, 
    	TUNNEL_TYPE_ISATAP  = 13, 
    	TUNNEL_TYPE_TEREDO  = 14, 
    	TUNNEL_TYPE_IPHTTPS = 15, 
    }

    TVHITTESTINFO ¶

    TVHITTESTINFO :: struct {
    	pt:    POINT,
    	flags: u32,
    	hItem: HTREEITEM,
    }

    TVINSERTSTRUCTW ¶

    TVINSERTSTRUCTW :: struct {
    	hParent:      HTREEITEM,
    	hInsertAfter: HTREEITEM,
    	using _:      struct #raw_union {
    		itemex: TVITEMEXW,
    		item:   TVITEMW,
    	},
    }

    TVITEMEXW ¶

    TVITEMEXW :: struct {
    	mask:           u32,
    	hItem:          HTREEITEM,
    	state:          u32,
    	stateMask:      u32,
    	pszText:        ^u16,
    	cchTextMax:     i32,
    	iImage:         i32,
    	iSelectedImage: i32,
    	cChildren:      i32,
    	lParam:         int,
    	iIntegral:      i32,
    }

    TVITEMW ¶

    TVITEMW :: struct {
    	mask:           u32,
    	hItem:          HTREEITEM,
    	state:          u32,
    	stateMask:      u32,
    	pszText:        ^u16,
    	cchTextMax:     i32,
    	iImage:         i32,
    	iSelectedImage: i32,
    	cChildren:      i32,
    	lParam:         int,
    }

    Related Procedures With Parameters

    TVSORTCB ¶

    TVSORTCB :: struct {
    	hParent:     HTREEITEM,
    	lpfnCompare: PFNTVCOMPARE,
    	lParam:      int,
    }

    UError ¶

    UError :: enum i32 {
    	U_ZERO_ERROR = 0, 
    }

    Related Procedures With Parameters

    UINT ¶

    UINT :: u32
    External examples win32/embedded_manifest · win32/open_window · win32/game_of_life

    Related Procedures With Returns

    UINT32 ¶

    UINT32 :: u32

    Related Procedures With Returns

    ULARGE_INTEGER ¶

    ULARGE_INTEGER :: distinct u64

    ULONG ¶

    ULONG :: u32

    Related Procedures With Returns

    ULONG32 ¶

    ULONG32 :: u32

    Related Procedures With Returns

    UNICODE_STRING ¶

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

    USEROBJECTFLAGS ¶

    USEROBJECTFLAGS :: struct {
    	fInherit:  BOOL,
    	fReserved: BOOL,
    	dwFlags:   u32,
    }

    USER_INFO_1 ¶

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

    Related Procedures With Parameters

    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_PRIV ¶

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

    VFT ¶

    VFT :: enum u32 {
    	UNKNOWN    = 0x00000000, 
    	APP        = 0x00000001, 
    	DLL        = 0x00000002, 
    	DRV        = 0x00000003, 
    	FONT       = 0x00000004, 
    	VXD        = 0x00000005, 
    	STATIC_LIB = 0x00000007, 
    }
     

    ----- VS_VERSION.dwFileType -----

    VFT2_WINDOWS_DRV ¶

    VFT2_WINDOWS_DRV :: enum u32 {
    	UNKNOWN               = 0x00000000, 
    	DRV_PRINTER           = 0x00000001, 
    	DRV_KEYBOARD          = 0x00000002, 
    	DRV_LANGUAGE          = 0x00000003, 
    	DRV_DISPLAY           = 0x00000004, 
    	DRV_MOUSE             = 0x00000005, 
    	DRV_NETWORK           = 0x00000006, 
    	DRV_SYSTEM            = 0x00000007, 
    	DRV_INSTALLABLE       = 0x00000008, 
    	DRV_SOUND             = 0x00000009, 
    	DRV_COMM              = 0x0000000A, 
    	DRV_INPUTMETHOD       = 0x0000000B, 
    	DRV_VERSIONED_PRINTER = 0x0000000C, 
    }
     

    ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_DRV -----

    VFT2_WINDOWS_FONT ¶

    VFT2_WINDOWS_FONT :: enum u32 {
    	FONT_RASTER   = 0x00000001, 
    	FONT_VECTOR   = 0x00000002, 
    	FONT_TRUETYPE = 0x00000003, 
    }
     

    ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_FONT -----

    VK_PAD ¶

    VK_PAD :: enum u16 {
    	A                = 0x5800, 
    	B                = 0x5801, 
    	X                = 0x5802, 
    	Y                = 0x5803, 
    	RSHOULDER        = 0x5804, 
    	LSHOULDER        = 0x5805, 
    	LTRIGGER         = 0x5806, 
    	RTRIGGER         = 0x5807, 
    	DPAD_UP          = 0x5810, 
    	DPAD_DOWN        = 0x5811, 
    	DPAD_LEFT        = 0x5812, 
    	DPAD_RIGHT       = 0x5813, 
    	START            = 0x5814, 
    	BACK             = 0x5815, 
    	LTHUMB_PRESS     = 0x5816, 
    	RTHUMB_PRESS     = 0x5817, 
    	LTHUMB_UP        = 0x5820, 
    	LTHUMB_DOWN      = 0x5821, 
    	LTHUMB_RIGHT     = 0x5822, 
    	LTHUMB_LEFT      = 0x5823, 
    	LTHUMB_UPLEFT    = 0x5824, 
    	LTHUMB_UPRIGHT   = 0x5825, 
    	LTHUMB_DOWNRIGHT = 0x5826, 
    	LTHUMB_DOWNLEFT  = 0x5827, 
    	RTHUMB_UP        = 0x5830, 
    	RTHUMB_DOWN      = 0x5831, 
    	RTHUMB_RIGHT     = 0x5832, 
    	RTHUMB_LEFT      = 0x5833, 
    	RTHUMB_UPLEFT    = 0x5834, 
    	RTHUMB_UPRIGHT   = 0x5835, 
    	RTHUMB_DOWNRIGHT = 0x5836, 
    	RTHUMB_DOWNLEFT  = 0x5837, 
    }
     

    Codes returned for the gamepad keystroke Corresponds to VK_PAD_...

    VOS ¶

    VOS :: enum u16 {
    	UNKNOWN = 0x0000, 
    	DOS     = 0x0001, 
    	OS216   = 0x0002, 
    	OS232   = 0x0003, 
    	NT      = 0x0004, 
    	WINCE   = 0x0005, 
    }
     

    ----- VS_VERSION.dwFileOS -----

    VOS2 ¶

    VOS2 :: enum u16 {
    	BASE      = 0x0000, 
    	WINDOWS16 = 0x0001, 
    	PM16      = 0x0002, 
    	PM32      = 0x0003, 
    	WINDOWS32 = 0x0004, 
    }

    VS_FILEFLAG ¶

    VS_FILEFLAG :: enum u32 {
    	DEBUG, 
    	PRERELEASE, 
    	PATCHED, 
    	PRIVATEBUILD, 
    	INFOINFERRED, 
    	SPECIALBUILD, 
    }
     

    ----- VS_VERSION.dwFileFlags -----

    VS_FIXEDFILEINFO ¶

    VS_FIXEDFILEINFO :: struct {
    	dwSignature:        u32,
    	// e.g. 0xfeef04bd 
    	dwStrucVersion:     u32,
    	// e.g. 0x00000042 = "0.42" 
    	dwFileVersionMS:    u32,
    	// e.g. 0x00030075 = "3.75" 
    	dwFileVersionLS:    u32,
    	// e.g. 0x00000031 = "0.31" 
    	dwProductVersionMS: u32,
    	// e.g. 0x00030010 = "3.10" 
    	dwProductVersionLS: u32,
    	// e.g. 0x00000031 = "0.31" 
    	dwFileFlagsMask:    u32,
    	// = 0x3F for version "0.42" 
    	dwFileFlags:        u32,
    	// e.g. VFF_DEBUG | VFF_PRERELEASE 
    	dwFileOS:           u32,
    	// e.g. VOS_DOS_WINDOWS16 
    	dwFileType:         u32,
    	// e.g. VFT_DRIVER 
    	dwFileSubtype:      u32,
    	// e.g. VFT2_DRV_KEYBOARD 
    	dwFileDateMS:       u32,
    	// e.g. 0 
    	dwFileDateLS:       u32,
    }
     

    NOTE(jakubtomsu): From verrsrc.h

    WAITORTIMERCALLBACK ¶

    WAITORTIMERCALLBACK :: proc "stdcall" (lpParameter: rawptr, TimerOrWaitFired: BOOLEAN)

    WAVEFORMATEX ¶

    WAVEFORMATEX :: struct #packed {
    	wFormatTag:      u16,
    	nChannels:       u16,
    	nSamplesPerSec:  u32,
    	nAvgBytesPerSec: u32,
    	nBlockAlign:     u16,
    	wBitsPerSample:  u16,
    	cbSize:          u16,
    }

    WAVEFORMATEXTENSIBLE ¶

    WAVEFORMATEXTENSIBLE :: struct #packed {
    	using Format:  WAVEFORMATEX,
    	Samples:       struct #raw_union {
    		wValidBitsPerSample: u16,
    		// bits of precision  
    		wSamplesPerBlock:    u16,
    		// valid if wBitsPerSample==0 
    		wReserved:           u16,
    	},
    	dwChannelMask: SPEAKER_FLAGS,
    	// which channels are present in stream  
    	SubFormat:     GUID,
    }
     

    New wave format development should be based on the WAVEFORMATEXTENSIBLE structure. WAVEFORMATEXTENSIBLE allows you to avoid having to register a new format tag with Microsoft. Simply define a new GUID value for the WAVEFORMATEXTENSIBLE.SubFormat field and use WAVE_FORMAT_EXTENSIBLE in the WAVEFORMATEXTENSIBLE.Format.wFormatTag field.

    Procedures Through `using` From WAVEFORMATEX

    Fields Through using (7)

    From using Format: WAVEFORMATEX
    • wFormatTag: u16
    • nChannels: u16
    • nSamplesPerSec: u32
    • nAvgBytesPerSec: u32
    • nBlockAlign: u16
    • wBitsPerSample: u16
    • cbSize: u16

    WAVEHDR ¶

    WAVEHDR :: struct {
    	lpData:          ^u8,
    	// pointer to locked data buffer 
    	dwBufferLength:  u32,
    	// length of data buffer 
    	dwBytesRecorded: u32,
    	// used for input only 
    	dwUser:          uint,
    	// for client's use 
    	dwFlags:         u32,
    	// assorted flags (see defines) 
    	dwLoops:         u32,
    	// loop control counter 
    	lpNext:          ^WAVEHDR,
    	// reserved for driver 
    	reserved:        uint,
    }

    Related Procedures With Parameters

    WAVEINCAPSW ¶

    WAVEINCAPSW :: struct {
    	wMid:           u16,
    	// manufacturer ID 
    	wPid:           u16,
    	// product ID 
    	vDriverVersion: u32,
    	// version of the driver 
    	szPname:        [32]u16,
    	// product name (NULL terminated string) 
    	dwFormats:      u32,
    	// formats supported 
    	wChannels:      u16,
    	// number of channels supported 
    	wReserved1:     u16,
    }

    WAVEOUTCAPSW ¶

    WAVEOUTCAPSW :: struct {
    	wMid:           u16,
    	// manufacturer ID 
    	wPid:           u16,
    	// product ID 
    	vDriverVersion: u32,
    	// version of the driver 
    	szPname:        [32]u16,
    	// product name (NULL terminated string) 
    	dwFormats:      u32,
    	// formats supported 
    	wChannels:      u16,
    	// number of sources supported 
    	wReserved1:     u16,
    	// packing 
    	dwSupport:      u32,
    }

    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]u16,
    	cAlternateFileName: [14]u16,
    }

    Related Procedures With Parameters

    WIN32_MEMORY_INFORMATION_CLASS ¶

    WIN32_MEMORY_INFORMATION_CLASS :: enum i32 {
    	MemoryRegionInfo, 
    }

    Related Constants

    WIN32_MEMORY_RANGE_ENTRY ¶

    WIN32_MEMORY_RANGE_ENTRY :: struct {
    	VirtualAddress: rawptr,
    	NumberOfBytes:  uint,
    }

    WIN32_MEMORY_REGION_INFORMATION ¶

    WIN32_MEMORY_REGION_INFORMATION :: struct {
    	AllocationBase:    rawptr,
    	AllocationProtect: u32,
    	using DUMMYUNIONNAME: struct #raw_union {
    		_:               [1]u32,
    		Flags:           u32,
    		using DUMMYSTRUCTNAME: bit_field u32 {
    			Private:        u32 | 1,
    			MappedDataFile: u32 | 1,
    			MappedImage:    u32 | 1,
    			MappedPageFile: u32 | 1,
    			MappedPhysical: u32 | 1,
    			DirectMapped:   u32 | 1,
    			Reserved:       u32 | 26,
    		},
    	},
    	RegionSize:        uint,
    	CommitSize:        uint,
    }

    WINDOWINFO ¶

    WINDOWINFO :: struct {
    	cbSize:          u32,
    	rcWindow:        RECT,
    	rcClient:        RECT,
    	dwStyle:         u32,
    	dwExStyle:       u32,
    	dwWindowStatus:  u32,
    	cxWindowBorders: u32,
    	cyWindowBorders: u32,
    	atomWindowType:  ATOM,
    	wCreatorVersion: u16,
    }

    WINDOWPLACEMENT ¶

    WINDOWPLACEMENT :: struct {
    	length:           u32,
    	flags:            u32,
    	showCmd:          u32,
    	ptMinPosition:    POINT,
    	ptMaxPosition:    POINT,
    	rcNormalPosition: RECT,
    }

    Related Procedures With Parameters

    WINDOWPOS ¶

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

    WINEVENTPROC ¶

    WINEVENTPROC :: proc "stdcall" (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,
    }

    Related Procedures With Parameters

    WNDCLASSW ¶

    WNDCLASSW :: struct {
    	style:         u32,
    	lpfnWndProc:   WNDPROC,
    	cbClsExtra:    i32,
    	cbWndExtra:    i32,
    	hInstance:     HANDLE,
    	hIcon:         HICON,
    	hCursor:       HCURSOR,
    	hbrBackground: HBRUSH,
    	lpszMenuName:  cstring16,
    	lpszClassName: cstring16,
    }
    External examples win32/embedded_manifest · win32/open_window · win32/game_of_life

    Related Procedures With Parameters

    WNDPROC ¶

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

    WOW64_CONTEXT ¶

    WOW64_CONTEXT :: struct {
    	ContextFlags:      u32,
    	Dr0:               u32,
    	Dr1:               u32,
    	Dr2:               u32,
    	Dr3:               u32,
    	Dr6:               u32,
    	Dr7:               u32,
    	FloatSave:         WOW64_FLOATING_SAVE_AREA,
    	SegGs:             u32,
    	SegFs:             u32,
    	SegEs:             u32,
    	SegDs:             u32,
    	Edi:               u32,
    	Esi:               u32,
    	Ebx:               u32,
    	Edx:               u32,
    	Ecx:               u32,
    	Eax:               u32,
    	Ebp:               u32,
    	Eip:               u32,
    	SegCs:             u32,
    	EFlags:            u32,
    	Esp:               u32,
    	SegSs:             u32,
    	ExtendedRegisters: [512]BYTE,
    }

    Related Procedures With Parameters

    WOW64_FLOATING_SAVE_AREA ¶

    WOW64_FLOATING_SAVE_AREA :: struct {
    	ControlWord:   u32,
    	StatusWord:    u32,
    	TagWord:       u32,
    	ErrorOffset:   u32,
    	ErrorSelector: u32,
    	DataOffset:    u32,
    	DataSelector:  u32,
    	RegisterArea:  [80]BYTE,
    	Cr0NpxState:   u32,
    }

    WSABUF ¶

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

    Related Procedures With Parameters

    WSADATA ¶

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

    WSANETWORKEVENTS ¶

    WSANETWORKEVENTS :: struct {
    	lNetworkEvents: i32,
    	iErrorCode:     [10]i32,
    }

    WSAOVERLAPPED ¶

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

    Related Procedures With Parameters

    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,
    }

    Related Procedures With Parameters

    WSA_POLLFD ¶

    WSA_POLLFD :: struct {
    	fd:      SOCKET,
    	events:  i16,
    	revents: i16,
    }

    WinEventFlag ¶

    WinEventFlag :: enum u32 {
    	SKIPOWNTHREAD  = 0, 
    	SKIPOWNPROCESS = 1, 
    	INCONTEXT      = 2, 
    }

    WinEventFlags ¶

    WinEventFlags :: distinct bit_set[WinEventFlag; u32]
     

    OUTOFCONTEXT is the zero value, use {}

    Window_Enum_Proc ¶

    Window_Enum_Proc :: proc "stdcall" (HWND, int) -> BOOL

    Related Procedures With Parameters

    Windows_Product_Type ¶

    Windows_Product_Type :: enum u32 {
    	BUSINESS                            = 0x00000006, // Business
    	BUSINESS_N                          = 0x00000010, // Business N
    	CLUSTER_SERVER                      = 0x00000012, // HPC Edition
    	CLUSTER_SERVER_V                    = 0x00000040, // Server Hyper Core V
    	CORE                                = 0x00000065, // Windows 10 Home
    	CORE_COUNTRYSPECIFIC                = 0x00000063, // Windows 10 Home China
    	CORE_N                              = 0x00000062, // Windows 10 Home N
    	CORE_SINGLELANGUAGE                 = 0x00000064, // Windows 10 Home Single Language
    	DATACENTER_EVALUATION_SERVER        = 0x00000050, // Server Datacenter (evaluation installation)
    	DATACENTER_A_SERVER_CORE            = 0x00000091, // Server Datacenter, Semi-Annual Channel (core installation)
    	STANDARD_A_SERVER_CORE              = 0x00000092, // Server Standard, Semi-Annual Channel (core installation)
    	DATACENTER_SERVER                   = 0x00000008, // 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              = 0x0000000C, // Server Datacenter (core installation, Windows Server 2008 R2 and earlier)
    	DATACENTER_SERVER_CORE_V            = 0x00000027, // Server Datacenter without Hyper-V (core installation)
    	DATACENTER_SERVER_V                 = 0x00000025, // Server Datacenter without Hyper-V (full installation)
    	EDUCATION                           = 0x00000079, // Windows 10 Education
    	EDUCATION_N                         = 0x0000007A, // Windows 10 Education N
    	ENTERPRISE                          = 0x00000004, // Windows 10 Enterprise
    	ENTERPRISE_E                        = 0x00000046, // Windows 10 Enterprise E
    	ENTERPRISE_EVALUATION               = 0x00000048, // Windows 10 Enterprise Evaluation
    	ENTERPRISE_N                        = 0x0000001B, // Windows 10 Enterprise N
    	ENTERPRISE_N_EVALUATION             = 0x00000054, // Windows 10 Enterprise N Evaluation
    	ENTERPRISE_S                        = 0x0000007D, // Windows 10 Enterprise 2015 LTSB
    	ENTERPRISE_S_EVALUATION             = 0x00000081, // Windows 10 Enterprise 2015 LTSB Evaluation
    	ENTERPRISE_S_N                      = 0x0000007E, // Windows 10 Enterprise 2015 LTSB N
    	ENTERPRISE_S_N_EVALUATION           = 0x00000082, // Windows 10 Enterprise 2015 LTSB N Evaluation
    	ENTERPRISE_SERVER                   = 0x0000000A, // Server Enterprise (full installation)
    	ENTERPRISE_SERVER_CORE              = 0x0000000E, // Server Enterprise (core installation)
    	ENTERPRISE_SERVER_CORE_V            = 0x00000029, // Server Enterprise without Hyper-V (core installation)
    	ENTERPRISE_SERVER_IA64              = 0x0000000F, // Server Enterprise for Itanium-based Systems
    	ENTERPRISE_SERVER_V                 = 0x00000026, // Server Enterprise without Hyper-V (full installation)
    	ESSENTIALBUSINESS_SERVER_ADDL       = 0x0000003C, // Windows Essential Server Solution Additional
    	ESSENTIALBUSINESS_SERVER_ADDLSVC    = 0x0000003E, // Windows Essential Server Solution Additional SVC
    	ESSENTIALBUSINESS_SERVER_MGMT       = 0x0000003B, // Windows Essential Server Solution Management
    	ESSENTIALBUSINESS_SERVER_MGMTSVC    = 0x0000003D, // Windows Essential Server Solution Management SVC
    	HOME_BASIC                          = 0x00000002, // Home Basic
    	HOME_BASIC_E                        = 0x00000043, // Not supported
    	HOME_BASIC_N                        = 0x00000005, // Home Basic N
    	HOME_PREMIUM                        = 0x00000003, // Home Premium
    	HOME_PREMIUM_E                      = 0x00000044, // Not supported
    	HOME_PREMIUM_N                      = 0x0000001A, // Home Premium N
    	HOME_PREMIUM_SERVER                 = 0x00000022, // Windows Home Server 2011
    	HOME_SERVER                         = 0x00000013, // Windows Storage Server 2008 R2 Essentials
    	HYPERV                              = 0x0000002A, // Microsoft Hyper-V Server
    	IOTENTERPRISE                       = 0x000000BC, // Windows IoT Enterprise
    	IOTENTERPRISE_S                     = 0x000000BF, // Windows IoT Enterprise LTSC
    	IOTUAP                              = 0x0000007B, // Windows 10 IoT Core
    	IOTUAPCOMMERCIAL                    = 0x00000083, // Windows 10 IoT Core Commercial
    	MEDIUMBUSINESS_SERVER_MANAGEMENT    = 0x0000001E, // Windows Essential Business Server Management Server
    	MEDIUMBUSINESS_SERVER_MESSAGING     = 0x00000020, // Windows Essential Business Server Messaging Server
    	MEDIUMBUSINESS_SERVER_SECURITY      = 0x0000001F, // Windows Essential Business Server Security Server
    	MOBILE_CORE                         = 0x00000068, // Windows 10 Mobile
    	MOBILE_ENTERPRISE                   = 0x00000085, // Windows 10 Mobile Enterprise
    	MULTIPOINT_PREMIUM_SERVER           = 0x0000004D, // Windows MultiPoint Server Premium (full installation)
    	MULTIPOINT_STANDARD_SERVER          = 0x0000004C, // Windows MultiPoint Server Standard (full installation)
    	PRO_WORKSTATION                     = 0x000000A1, // Windows 10 Pro for Workstations
    	PRO_WORKSTATION_N                   = 0x000000A2, // Windows 10 Pro for Workstations N
    	PROFESSIONAL                        = 0x00000030, // Windows 10 Pro
    	PROFESSIONAL_E                      = 0x00000045, // Not supported
    	PROFESSIONAL_N                      = 0x00000031, // Windows 10 Pro N
    	PROFESSIONAL_WMC                    = 0x00000067, // Professional with Media Center
    	SB_SOLUTION_SERVER                  = 0x00000032, // Windows Small Business Server 2011 Essentials
    	SB_SOLUTION_SERVER_EM               = 0x00000036, // Server For SB Solutions EM
    	SERVER_FOR_SB_SOLUTIONS             = 0x00000033, // Server For SB Solutions
    	SERVER_FOR_SB_SOLUTIONS_EM          = 0x00000037, // Server For SB Solutions EM
    	SERVER_FOR_SMALLBUSINESS            = 0x00000018, // Windows Server 2008 for Windows Essential Server Solutions
    	SERVER_FOR_SMALLBUSINESS_V          = 0x00000023, // Windows Server 2008 without Hyper-V for Windows Essential Server Solutions
    	SERVER_FOUNDATION                   = 0x00000021, // Server Foundation
    	SMALLBUSINESS_SERVER                = 0x00000009, // Windows Small Business Server
    	SMALLBUSINESS_SERVER_PREMIUM        = 0x00000019, // Small Business Server Premium
    	SMALLBUSINESS_SERVER_PREMIUM_CORE   = 0x0000003F, // Small Business Server Premium (core installation)
    	SOLUTION_EMBEDDEDSERVER             = 0x00000038, // Windows MultiPoint Server
    	STANDARD_EVALUATION_SERVER          = 0x0000004F, // Server Standard (evaluation installation)
    	STANDARD_SERVER                     = 0x00000007, // 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                = 0x0000000D, // Server Standard (core installation, Windows Server 2008 R2 and earlier)
    	STANDARD_SERVER_CORE_V              = 0x00000028, // Server Standard without Hyper-V (core installation)
    	STANDARD_SERVER_V                   = 0x00000024, // Server Standard without Hyper-V
    	STANDARD_SERVER_SOLUTIONS           = 0x00000034, // Server Solutions Premium
    	STANDARD_SERVER_SOLUTIONS_CORE      = 0x00000035, // Server Solutions Premium (core installation)
    	STARTER                             = 0x0000000B, // Starter
    	STARTER_E                           = 0x00000042, // Not supported
    	STARTER_N                           = 0x0000002F, // Starter N
    	STORAGE_ENTERPRISE_SERVER           = 0x00000017, // Storage Server Enterprise
    	STORAGE_ENTERPRISE_SERVER_CORE      = 0x0000002E, // Storage Server Enterprise (core installation)
    	STORAGE_EXPRESS_SERVER              = 0x00000014, // Storage Server Express
    	STORAGE_EXPRESS_SERVER_CORE         = 0x0000002B, // Storage Server Express (core installation)
    	STORAGE_STANDARD_EVALUATION_SERVER  = 0x00000060, // Storage Server Standard (evaluation installation)
    	STORAGE_STANDARD_SERVER             = 0x00000015, // Storage Server Standard
    	STORAGE_STANDARD_SERVER_CORE        = 0x0000002C, // Storage Server Standard (core installation)
    	STORAGE_WORKGROUP_EVALUATION_SERVER = 0x0000005F, // Storage Server Workgroup (evaluation installation)
    	STORAGE_WORKGROUP_SERVER            = 0x00000016, // Storage Server Workgroup
    	STORAGE_WORKGROUP_SERVER_CORE       = 0x0000002D, // Storage Server Workgroup (core installation)
    	ULTIMATE                            = 0x00000001, // Ultimate
    	ULTIMATE_E                          = 0x00000047, // Not supported
    	ULTIMATE_N                          = 0x0000001C, // Ultimate N
    	UNDEFINED                           = 0x00000000, // An unknown product
    	WEB_SERVER                          = 0x00000011, // Web Server (full installation)
    	WEB_SERVER_CORE                     = 0x0000001D, // Web Server (core installation)
    }

    XINPUT_BATTERY_INFORMATION ¶

    XINPUT_BATTERY_INFORMATION :: struct {
    	BatteryType:  BATTERY_TYPE,
    	BatteryLevel: BATTERY_LEVEL,
    }

    XINPUT_CAP ¶

    XINPUT_CAP :: enum u16 {
    	FFB_SUPPORTED   = 0, 
    	WIRELESS        = 1, 
    	VOICE_SUPPORTED = 2, 
    	PMD_SUPPORTED   = 3, 
    	NO_NAVIGATION   = 4, 
    }
     

    Flags for XINPUT_CAPABILITIES Correspond to log2(XINPUT_CAPS_...)

    XINPUT_CAPABILITIES ¶

    XINPUT_CAPABILITIES :: struct {
    	Type:      XINPUT_DEVTYPE,
    	SubType:   XINPUT_DEVSUBTYPE,
    	Flags:     XINPUT_CAPS,
    	Gamepad:   XINPUT_GAMEPAD,
    	Vibration: XINPUT_VIBRATION,
    }

    XINPUT_DEVSUBTYPE ¶

    XINPUT_DEVSUBTYPE :: enum BYTE {
    	UNKNOWN          = 0x00, 
    	GAMEPAD          = 0x01, 
    	WHEEL            = 0x02, 
    	ARCADE_STICK     = 0x03, 
    	FLIGHT_STICK     = 0x04, 
    	DANCE_PAD        = 0x05, 
    	GUITAR           = 0x06, 
    	GUITAR_ALTERNATE = 0x07, 
    	DRUM_KIT         = 0x08, 
    	GUITAR_BASS      = 0x0B, 
    	ARCADE_PAD       = 0x13, 
    }
     

    Device subtypes available in XINPUT_CAPABILITIES Correspond to XINPUT_DEVSUBTYPE_...

    XINPUT_DEVTYPE ¶

    XINPUT_DEVTYPE :: enum BYTE {
    	GAMEPAD = 0x01, 
    }
     

    Device types available in XINPUT_CAPABILITIES Correspond to XINPUT_DEVTYPE_...

    XINPUT_FLAG ¶

    XINPUT_FLAG :: distinct bit_set[XINPUT_FLAG_BIT; u32]

    XINPUT_FLAG_BIT ¶

    XINPUT_FLAG_BIT :: enum u16 {
    	GAMEPAD = 0, 
    }
     

    Flags to pass to XInputGetCapabilities Corresponds to log2(XINPUT_FLAG_...)

    XINPUT_GAMEPAD ¶

    XINPUT_GAMEPAD :: struct {
    	wButtons:      XINPUT_GAMEPAD_BUTTON,
    	bLeftTrigger:  BYTE,
    	bRightTrigger: BYTE,
    	sThumbLX:      i16,
    	sThumbLY:      i16,
    	sThumbRX:      i16,
    	sThumbRY:      i16,
    }
     

    Structures used by XInput APIs

    XINPUT_GAMEPAD_BUTTON_BIT ¶

    XINPUT_GAMEPAD_BUTTON_BIT :: enum u16 {
    	DPAD_UP        = 0, 
    	DPAD_DOWN      = 1, 
    	DPAD_LEFT      = 2, 
    	DPAD_RIGHT     = 3, 
    	START          = 4, 
    	BACK           = 5, 
    	LEFT_THUMB     = 6, 
    	RIGHT_THUMB    = 7, 
    	LEFT_SHOULDER  = 8, 
    	RIGHT_SHOULDER = 9, 
    	A              = 12, 
    	B              = 13, 
    	X              = 14, 
    	Y              = 15, 
    }
     

    Constants for gamepad buttons Correspond to log2(XINPUT_GAMEPAD_...)

    XINPUT_KEYSTROKE ¶

    XINPUT_KEYSTROKE :: struct {
    	VirtualKey: VK_PAD,
    	Unicode:    u16,
    	Flags:      XINPUT_KEYSTROKES,
    	UserIndex:  XUSER,
    	HidCode:    BYTE,
    }

    XINPUT_KEYSTROKE_BIT ¶

    XINPUT_KEYSTROKE_BIT :: enum u16 {
    	KEYDOWN = 0, 
    	KEYUP   = 1, 
    	REPEAT  = 2, 
    }
     

    Flags used in XINPUT_KEYSTROKE Correspond to log2(XINPUT_KEYSTROKE_...)

    XINPUT_STATE ¶

    XINPUT_STATE :: struct {
    	dwPacketNumber: u32,
    	Gamepad:        XINPUT_GAMEPAD,
    }

    XINPUT_VIBRATION ¶

    XINPUT_VIBRATION :: struct {
    	wLeftMotorSpeed:  u16,
    	wRightMotorSpeed: u16,
    }

    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,
    }

    XUSER ¶

    XUSER :: enum u32 {
    	One   = 0, 
    	Two   = 1, 
    	Three = 2, 
    	Four  = 3, 
    	Any   = 0x000000FF, // Can be only used with XInputGetKeystroke
    }
     

    Index of the gamer associated with the device

    Related Procedures With Parameters

    c_int ¶

    c_int :: i32
    External examples win32/embedded_manifest · win32/open_window

    c_long ¶

    c_long :: i32

    c_longlong ¶

    c_longlong :: i64

    c_uint ¶

    c_uint :: u32

    Related Procedures With Returns

    c_ulong ¶

    c_ulong :: u32

    Related Procedures With Returns

    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,
    }

    sockaddr ¶

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

    Related Procedures With Parameters

    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

    timeval ¶

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

    Related Procedures With Parameters

    wglCreateBufferRegionARBType ¶

    wglCreateBufferRegionARBType :: proc "c" (hDC: HDC, iLayerPlane: i32, uType: u32) -> HANDLE

    wglCreatePbufferARBType ¶

    wglCreatePbufferARBType :: proc "c" (hDC: HDC, iPixelFormat, iWidth, iHeight: i32, piAttribList: [^]i32) -> HPBUFFERARB

    wglDeleteBufferRegionARBType ¶

    wglDeleteBufferRegionARBType :: proc "c" (hRegion: HANDLE)

    wglDestroyPbufferARBType ¶

    wglDestroyPbufferARBType :: proc "c" (hPbuffer: HPBUFFERARB) -> BOOL

    wglGetCurrentReadDCARBType ¶

    wglGetCurrentReadDCARBType :: proc "c" () -> HDC

    wglGetPbufferDCARBType ¶

    wglGetPbufferDCARBType :: proc "c" (hPbuffer: HPBUFFERARB) -> HDC

    wglGetPixelFormatAttribfvARBType ¶

    wglGetPixelFormatAttribfvARBType :: proc "c" (hdc: HDC, iPixelFormat, iLayerPlane: i32, nAttributes: u32, piAttributes: [^]i32, pfValues: [^]f32) -> BOOL

    wglGetPixelFormatAttribivARBType ¶

    wglGetPixelFormatAttribivARBType :: proc "c" (hdc: HDC, iPixelFormat, iLayerPlane: i32, nAttributes: u32, piAttributes: [^]i32, piValues: [^]i32) -> BOOL

    wglMakeContextCurrentARBType ¶

    wglMakeContextCurrentARBType :: proc "c" (hDrawDC: HDC, hReadDC: HDC, hglrc: HGLRC) -> BOOL

    wglQueryPbufferARBType ¶

    wglQueryPbufferARBType :: proc "c" (hPbuffer: HPBUFFERARB, iAttribute: i32, piValue: ^i32) -> BOOL

    wglReleasePbufferDCARBType ¶

    wglReleasePbufferDCARBType :: proc "c" (hPbuffer: HPBUFFERARB, hDC: HDC) -> i32

    wglRestoreBufferRegionARBType ¶

    wglRestoreBufferRegionARBType :: proc "c" (hRegion: HANDLE, x: i32, y: i32, width: i32, height: i32, xSrc: i32, ySrc: i32) -> BOOL

    wglSaveBufferRegionARBType ¶

    wglSaveBufferRegionARBType :: proc "c" (hRegion: HANDLE, x: i32, y: i32, width: i32, height: i32) -> BOOL

    wstring ¶

    wstring :: cstring16
    External examples win32/game_of_life

    Related Procedures With Returns

    Constants

    One row per constant, under the prefix it shares with others.

    ABE_… 4
    ABE_BOTTOM:: 3
    ABE_LEFT:: 0
    ABE_RIGHT:: 2
    ABE_TOP:: 1
    ABM_… 11
    ABM_ACTIVATE:: 0x00000006
    ABM_GETAUTOHIDEBAR:: 0x00000007
    ABM_GETSTATE:: 0x00000004
    ABM_GETTASKBARPOS:: 0x00000005
    ABM_NEW:: 0x00000000
    ABM_QUERYPOS:: 0x00000002
    ABM_REMOVE:: 0x00000001
    ABM_SETAUTOHIDEBAR:: 0x00000008
    ABM_SETPOS:: 0x00000003
    ABM_SETSTATE:: 0x0000000a
    ABM_WINDOWPOSCHANGED:: 0x0000009
    ABN_… 4
    ABN_FULLSCREENAPP:: 0x0000002
    ABN_POSCHANGED:: 0x0000001
    ABN_STATECHANGE:: 0x0000000
    ABN_WINDOWARRANGE:: 0x0000003
    ABOVE_NORMAL_PRIORITY_CLASS:: 0x00008000
    ABS_ALWAYSONTOP:: 0x0000002
    ABS_AUTOHIDE:: 0x0000001
    ACCESS_FILTER_SECURITY_INFORMATION:: 0x00000100
    ACM_… 4
    ACM_OPENA:: 0x0464
    ACM_OPENW:: 0x0467
    ACM_PLAY:: 0x0465
    ACM_STOP:: 0x0466
    ACS_… 4
    ACS_AUTOPLAY:: 0x4
    ACS_CENTER:: 0x1
    Animation Control Styles
    ACS_TIMER:: 0x8
    ACS_TRANSPARENT:: 0x2
    ACTCTX_… 7
    ACTCTX_FLAG_APPLICATION_NAME_VALID:: 0x020
    ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID:: 0x004
    ACTCTX_FLAG_HMODULE_VALID:: 0x080
    ACTCTX_FLAG_LANGID_VALID:: 0x002
    ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID:: 0x001
    ACTCTX_FLAG_RESOURCE_NAME_VALID:: 0x008
    ACTCTX_FLAG_SET_PROCESS_DEFAULT:: 0x010
    AC_SRC_ALPHA:: 0x01
    AC_SRC_OVER:: 0x00
    AF_… 5
    AF_BTH: i32 : 32
    Bluetooth
    AF_INET: i32 : 2
    IPv4
    AF_INET6: i32 : 23
    IPv6
    AF_IRDA: i32 : 26
    Infrared
    AF_UNSPEC: i32 : 0
    Address families
    AI_… 11
    AI_ADDRCONFIG:: 0x0400
    AI_ALL:: 0x0100
    AI_CANONNAME:: 0x02
    AI_FILESERVER:: 0x00040000
    AI_FQDN:: 0x00020000
    AI_NON_AUTHORITATIVE:: 0x04000
    AI_NUMERICHOST:: 0x04
    AI_PASSIVE:: 0x01
    AI_RETURN_PREFERRED_NAMES:: 0x010000
    AI_SECURE:: 0x08000
    AI_V4MAPPED:: 0x0800
    ALTERNATE:: 1
    PolyFill() Modes
    ANIMATE_CLASS:: "SysAnimate32"
    ANSI_… 3
    ANSI_CHARSET:: 0
    Character Sets
    ANSI_FIXED_FONT:: 11
    ANSI_VAR_FONT:: 12
    ANTIALIASED_QUALITY:: 4
    ANYSIZE_ARRAY:: 1
    ARABIC_CHARSET:: 178
    ATTRIBUTE_SECURITY_INFORMATION:: 0x00000020
    AURL_… 6
    AURL_DISABLEMIXEDLGC:: 32
    Disable mixed Latin Greek Cyrillic IDNs
    AURL_ENABLEDRIVELETTERS:: 16
    AURL_ENABLEEAURLS:: 8
    AURL_ENABLEEMAILADDR:: 2
    AURL_ENABLETELNO:: 4
    AURL_ENABLEURL:: 1
    BACKGROUND_… 4
    BACKGROUND_BLUE: u16 : WORD(0x0010)
    BACKGROUND_GREEN: u16 : WORD(0x0020)
    BACKGROUND_INTENSITY: u16 : WORD(0x0080)
    BACKGROUND_RED: u16 : WORD(0x0040)
    BACKUP_SECURITY_INFORMATION:: 0x00010000
    BALTIC_CHARSET:: 186
    BCCL_NOGLYPH: ^IUnknown : cast(HIMAGELIST)(~uintptr(0))
    BCM_SETIMAGELIST value
    BCM_… 13
    BCM_FIRST:: 0x1600
    BCM_GETIDEALSIZE:: BCM_FIRST + 0x0001
    BCM_GETIMAGELIST:: BCM_FIRST + 0x0003
    BCM_GETNOTE:: BCM_FIRST + 0x000A
    BCM_GETNOTELENGTH:: BCM_FIRST + 0x000B
    BCM_GETSPLITINFO:: BCM_FIRST + 0x0008
    BCM_GETTEXTMARGIN:: BCM_FIRST + 0x0005
    BCM_SETDROPDOWNSTATE:: BCM_FIRST + 0x0006
    BCM_SETIMAGELIST:: BCM_FIRST + 0x0002
    BCM_SETNOTE:: BCM_FIRST + 0x0009
    BCM_SETSHIELD:: BCM_FIRST + 0x000C
    BCM_SETSPLITINFO:: BCM_FIRST + 0x0007
    BCM_SETTEXTMARGIN:: BCM_FIRST + 0x0004
    BCN_… 4
    BCN_DROPDOWN: u32 : BCN_FIRST + 0x0002
    BCN_FIRST: u32 : ~DWORD(1250 - 1)
    BCN_HOTITEMCHANGE: u32 : BCN_FIRST + 0x0001
    Button Control Notification Codes
    BCN_LAST: u32 : ~DWORD(1350 - 1)
    BCRYPT_USE_SYSTEM_PREFERRED_RNG: u32 : 0x00000002
    BCSIF_… 4
    BCSIF_GLYPH:: 0x0001
    BCSIF_IMAGE:: 0x0002
    BCSIF_SIZE:: 0x0008
    BCSIF_STYLE:: 0x0004
    BCSS_… 4
    BCSS_ALIGNLEFT:: 0x0004
    BCSS_IMAGE:: 0x0008
    BCSS_NOSPLIT:: 0x0001
    BCSS_STRETCH:: 0x0002
    BELOW_NORMAL_PRIORITY_CLASS:: 0x00004000
    BFFM_… 5
    BFFM_ENABLEOK:: 0x0465
    BFFM_SETSELECTIONA:: 0x0466
    BFFM_SETSELECTIONW:: 0x0467
    BFFM_SETSTATUSTEXTA:: 0x0464
    BFFM_SETSTATUSTEXTW:: 0x0468
    BI_… 6
    BI_BITFIELDS:: 3
    BI_JPEG:: 4
    BI_PNG:: 5
    BI_RGB:: 0
    constants for the biCompression field
    BI_RLE4:: 2
    BI_RLE8:: 1
    BLACKNESS: u32 : 0x00000042
    dest = BLACK
    BLACKONWHITE:: 1
    StretchBlt() Modes
    BLACK_BRUSH:: 4
    BLACK_PEN:: 7
    BLUETOOTH_MAX_NAME_SIZE:: 248
    BM_… 9
    BM_CLICK:: 0x00f5
    BM_GETCHECK:: 0x00f0
    BM_GETIMAGE:: 0x00f6
    BM_GETSTATE:: 0x00f2
    BM_SETCHECK:: 0x00f1
    BM_SETDONTCLICK:: 0x00f8
    BM_SETIMAGE:: 0x00f7
    BM_SETSTATE:: 0x00f3
    BM_SETSTYLE:: 0x00f4
    BN_… 11
    BN_CLICKED:: 0
    User Button Notification Codes
    BN_DBLCLK:: BN_DOUBLECLICKED
    BN_DISABLE:: 4
    BN_DOUBLECLICKED:: 5
    BN_HILITE:: 2
    BN_KILLFOCUS:: 7
    BN_PAINT:: 1
    BN_PUSHED:: BN_HILITE
    BN_SETFOCUS:: 6
    BN_UNHILITE:: 3
    BN_UNPUSHED:: BN_UNHILITE
    BPPF_… 3
    BPPF_ERASE:: 0x0001
    Constants for BP_PAINTPARAMS.dwFlags
    BPPF_NOCLIP:: 0x0002
    BPPF_NONCLIENT:: 0x0004
    BROADCAST_QUERY_DENY:: 0x424D5144
    BSF_… 11
    BSF_ALLOWSFW:: 0x00000080
    BSF_FLUSHDISK:: 0x00000004
    BSF_FORCEIFHUNG:: 0x00000020
    BSF_IGNORECURRENTTASK:: 0x00000002
    BSF_LUID:: 0x00000400
    BSF_NOHANG:: 0x00000008
    BSF_NOTIMEOUTIFNOTHUNG:: 0x00000040
    BSF_POSTMESSAGE:: 0x00000010
    BSF_QUERY:: 0x00000001
    Broadcast Special Message Flags
    BSF_RETURNHDESK:: 0x00000200
    BSF_SENDNOTIFYMESSAGE:: 0x00000100
    BSM_… 6
    BSM_ALLCOMPONENTS:: 0x00000000
    Broadcast Special Message Recipient list
    BSM_ALLDESKTOPS:: 0x00000010
    BSM_APPLICATIONS:: 0x00000008
    BSM_INSTALLABLEDRIVERS:: 0x00000004
    BSM_NETDRIVER:: 0x00000002
    BSM_VXDS:: 0x00000001
    BST_… 5
    BST_CHECKED:: 0x0001
    BST_FOCUS:: 0x0008
    BST_INDETERMINATE:: 0x0002
    BST_PUSHED:: 0x0004
    BST_UNCHECKED:: 0x0000
    Button Control Messages
    BS_… 43
    BS_3STATE:: 0x00000005
    BS_AUTO3STATE:: 0x00000006
    BS_AUTOCHECKBOX:: 0x00000003
    BS_AUTORADIOBUTTON:: 0x00000009
    BS_BITMAP:: 0x00000080
    BS_BOTTOM:: 0x00000800
    BS_CENTER:: 0x00000300
    BS_CHECKBOX:: 0x00000002
    BS_DEFPUSHBUTTON:: 0x00000001
    BS_DEFSPLITBUTTON:: 0x0000000D
    BS_DIBPATTERN:: 5
    BS_DIBPATTERN8X8:: 8
    BS_DIBPATTERNPT:: 6
    BS_FLAT:: 0x00008000
    BS_GROUPBOX:: 0x00000007
    BS_HATCHED:: 2
    BS_HOLLOW:: BS_NULL
    BS_ICON:: 0x00000040
    BS_INDEXED:: 4
    BS_LEFT:: 0x00000100
    BS_LEFTTEXT:: 0x00000020
    BS_MONOPATTERN:: 9
    BS_MULTILINE:: 0x00002000
    BS_NOTIFY:: 0x00004000
    BS_NULL:: 1
    BS_OWNERDRAW:: 0x0000000B
    BS_PATTERN:: 3
    BS_PATTERN8X8:: 7
    BS_PUSHBOX:: 0x0000000A
    BS_PUSHBUTTON:: 0x00000000
    Button Control Styles
    BS_PUSHLIKE:: 0x00001000
    BS_RADIOBUTTON:: 0x00000004
    BS_RIGHT:: 0x00000200
    BS_RIGHTBUTTON:: BS_LEFTTEXT
    BS_SOLID:: 0
    Brush Styles
    BS_SPLITBUTTON:: 0x0000000C
    BS_TEXT:: 0x00000000
    BS_TOP:: 0x00000400
    BS_TYPEMASK:: 0x0000000F
    BS_USERBUTTON:: 0x00000008
    BS_VCENTER:: 0x00000C00
    BTHPROTO_RFCOMM: i32 : 3
    Bluetooth: AF_BTH + SOCK_STREAM
    BTNS_… 10
    BTNS_AUTOSIZE:: TBSTYLE_AUTOSIZE
    BTNS_BUTTON:: TBSTYLE_BUTTON
    Toolbar Button Styles (Aliases)
    BTNS_CHECK:: TBSTYLE_CHECK
    BTNS_CHECKGROUP:: TBSTYLE_CHECKGROUP
    BTNS_DROPDOWN:: TBSTYLE_DROPDOWN
    BTNS_GROUP:: TBSTYLE_GROUP
    BTNS_NOPREFIX:: TBSTYLE_NOPREFIX
    BTNS_SEP:: TBSTYLE_SEP
    BTNS_SHOWTEXT:: 0x40
    BTNS_WHOLEDROPDOWN:: 0x80
    BUTTON_… 5
    BUTTON_IMAGELIST_ALIGN_BOTTOM:: 3
    BUTTON_IMAGELIST_ALIGN_CENTER:: 4
    BUTTON_IMAGELIST_ALIGN_LEFT:: 0
    Button Control
    BUTTON_IMAGELIST_ALIGN_RIGHT:: 1
    BUTTON_IMAGELIST_ALIGN_TOP:: 2
    CALLBACK_… 7
    CALLBACK_EVENT:: 0x00050000
    dwCallback is an EVENT Handle
    CALLBACK_FUNCTION:: 0x00030000
    dwCallback is a FARPROC
    CALLBACK_NULL:: 0x00000000
    no callback
    CALLBACK_TASK:: 0x00020000
    dwCallback is a HTASK
    CALLBACK_THREAD:: CALLBACK_TASK
    thread ID replaces 16 bit task
    CALLBACK_TYPEMASK:: 0x00070000
    callback type mask
    CALLBACK_WINDOW:: 0x00010000
    dwCallback is a HWND
    CAPTUREBLT: u32 : 0x40000000
    Include layered windows
    CBEIF_… 7
    CBEIF_DI_SETITEM:: 0x10000000
    CBEIF_IMAGE:: 0x02
    CBEIF_INDENT:: 0x10
    CBEIF_LPARAM:: 0x20
    CBEIF_OVERLAY:: 0x08
    CBEIF_SELECTEDIMAGE:: 0x04
    CBEIF_TEXT:: 0x01
    Combo Box Ex Control
    CBEMAXSTRLEN:: 260
    CBEM_… 16
    CBEM_GETCOMBOCONTROL:: 0x0406
    CBEM_GETEDITCONTROL:: 0x0407
    CBEM_GETEXSTYLE:: 0x0409
    CBEM_GETEXTENDEDSTYLE:: 0x0409
    CBEM_GETIMAGELIST:: 0x0403
    CBEM_GETITEMA:: 0x0404
    CBEM_GETITEMW:: 0x040d
    CBEM_HASEDITCHANGED:: 0x040a
    CBEM_INSERTITEMA:: 0x0401
    CBEM_INSERTITEMW:: 0x040b
    CBEM_SETEXSTYLE:: 0x0408
    CBEM_SETEXTENDEDSTYLE:: 0x040e
    CBEM_SETIMAGELIST:: 0x0402
    CBEM_SETITEMA:: 0x0405
    CBEM_SETITEMW:: 0x040c
    CBEM_SETWINDOWTHEME:: 0x200b
    CBENF_… 4
    CBENF_DROPDOWN:: 4
    CBENF_ESCAPE:: 3
    CBENF_KILLFOCUS:: 1
    CBENF_RETURN:: 2
    CBEN_… 11
    CBEN_BEGINEDIT: u32 : CBEN_FIRST - 4
    CBEN_DELETEITEM: u32 : CBEN_FIRST - 2
    CBEN_DRAGBEGINA: u32 : CBEN_FIRST - 8
    CBEN_DRAGBEGINW: u32 : CBEN_FIRST - 9
    CBEN_ENDEDITA: u32 : CBEN_FIRST - 5
    CBEN_ENDEDITW: u32 : CBEN_FIRST - 6
    CBEN_FIRST: u32 : ~DWORD(800 - 1)
    CBEN_GETDISPINFOA: u32 : CBEN_FIRST - 0
    CBEN_GETDISPINFOW: u32 : CBEN_FIRST - 7
    CBEN_INSERTITEM: u32 : CBEN_FIRST - 1
    CBEN_LAST: u32 : ~DWORD(830 - 1)
    CBES_… 5
    CBES_EX_CASESENSITIVE:: 0x10
    CBES_EX_NOEDITIMAGE:: 0x01
    CBES_EX_NOEDITIMAGEINDENT:: 0x02
    CBES_EX_NOSIZELIMIT:: 0x08
    CBES_EX_PATHWORDBREAKPROC:: 0x04
    CBM_FIRST:: 0x1700
    CBM_INIT:: 0x04
    constants for CreateDIBitmap
    CBN_… 11
    CBN_CLOSEUP:: 8
    CBN_DBLCLK:: 2
    CBN_DROPDOWN:: 7
    CBN_EDITCHANGE:: 5
    CBN_EDITUPDATE:: 6
    CBN_ERRSPACE:: -1
    Combo Box Notification Codes
    CBN_KILLFOCUS:: 4
    CBN_SELCHANGE:: 1
    CBN_SELENDCANCEL:: 10
    CBN_SELENDOK:: 9
    CBN_SETFOCUS:: 3
    CBS_… 13
    CBS_AUTOHSCROLL:: 0x0040
    CBS_DISABLENOSCROLL:: 0x0800
    CBS_DROPDOWN:: 0x0002
    CBS_DROPDOWNLIST:: 0x0003
    CBS_HASSTRINGS:: 0x0200
    CBS_LOWERCASE:: 0x4000
    CBS_NOINTEGRALHEIGHT:: 0x0400
    CBS_OEMCONVERT:: 0x0080
    CBS_OWNERDRAWFIXED:: 0x0010
    CBS_OWNERDRAWVARIABLE:: 0x0020
    CBS_SIMPLE:: 0x0001
    Combo Box styles
    CBS_SORT:: 0x0100
    CBS_UPPERCASE:: 0x2000
    CB_… 39
    CB_ADDSTRING:: 0x0143
    CB_DELETESTRING:: 0x0144
    CB_DIR:: 0x0145
    CB_FINDSTRING:: 0x014c
    CB_FINDSTRINGEXACT:: 0x0158
    CB_GETCOMBOBOXINFO:: 0x0164
    CB_GETCOUNT:: 0x0146
    CB_GETCURSEL:: 0x0147
    CB_GETDROPPEDCONTROLRECT:: 0x0152
    CB_GETDROPPEDSTATE:: 0x0157
    CB_GETDROPPEDWIDTH:: 0x015f
    CB_GETEDITSEL:: 0x0140
    CB_GETEXTENDEDUI:: 0x0156
    CB_GETHORIZONTALEXTENT:: 0x015d
    CB_GETITEMDATA:: 0x0150
    CB_GETITEMHEIGHT:: 0x0154
    CB_GETLBTEXT:: 0x0148
    CB_GETLBTEXTLEN:: 0x0149
    CB_GETLOCALE:: 0x015a
    CB_GETMINVISIBLE:: CBM_FIRST + 0x0002
    CB_GETTOPINDEX:: 0x015b
    CB_INITSTORAGE:: 0x0161
    CB_INSERTSTRING:: 0x014a
    CB_LIMITTEXT:: 0x0141
    CB_MSGMAX:: 0x0165
    CB_MULTIPLEADDSTRING:: 0x0163
    CB_RESETCONTENT:: 0x014b
    CB_SELECTSTRING:: 0x014d
    CB_SETCURSEL:: 0x014e
    CB_SETDROPPEDWIDTH:: 0x0160
    CB_SETEDITSEL:: 0x0142
    CB_SETEXTENDEDUI:: 0x0155
    CB_SETHORIZONTALEXTENT:: 0x015e
    CB_SETITEMDATA:: 0x0151
    CB_SETITEMHEIGHT:: 0x0153
    CB_SETLOCALE:: 0x0159
    CB_SETMINVISIBLE:: CBM_FIRST + 0x0001
    CB_SETTOPINDEX:: 0x015c
    CB_SHOWDROPDOWN:: 0x014f
    CCHDEVICENAME:: 32
    CCM_… 13
    CCM_DPISCALE:: CCM_FIRST + 12
    CCM_FIRST:: 0x2000
    CCM_GETCOLORSCHEME:: CCM_FIRST + 3
    CCM_GETDROPTARGET:: CCM_FIRST + 4
    CCM_GETUNICODEFORMAT:: CCM_FIRST + 6
    CCM_GETVERSION:: CCM_FIRST + 8
    CCM_LAST:: CCM_FIRST + 0x200
    CCM_SETBKCOLOR:: CCM_FIRST + 1
    CCM_SETCOLORSCHEME:: CCM_FIRST + 2
    CCM_SETNOTIFYWINDOW:: CCM_FIRST + 9
    CCM_SETUNICODEFORMAT:: CCM_FIRST + 5
    CCM_SETVERSION:: CCM_FIRST + 7
    CCM_SETWINDOWTHEME:: CCM_FIRST + 11
    CCS_… 11
    CCS_ADJUSTABLE:: 0x20
    CCS_BOTTOM:: 0x03
    CCS_LEFT:: CCS_VERT | CCS_TOP
    CCS_NODIVIDER:: 0x40
    CCS_NOMOVEX:: CCS_VERT | CCS_NOMOVEY
    CCS_NOMOVEY:: 0x02
    CCS_NOPARENTALIGN:: 0x08
    CCS_NORESIZE:: 0x04
    CCS_RIGHT:: CCS_VERT | CCS_BOTTOM
    CCS_TOP:: 0x01
    Common Control Styles
    CCS_VERT:: 0x80
    CC_… 9
    CC_ANYCOLOR:: 0x00000100
    CC_ENABLEHOOK:: 0x00000010
    CC_ENABLETEMPLATE:: 0x00000020
    CC_ENABLETEMPLATEHANDLE:: 0x00000040
    CC_FULLOPEN:: 0x00000002
    CC_PREVENTFULLOPEN:: 0x00000004
    CC_RGBINIT:: 0x00000001
    Flags for CHOOSECOLORW
    CC_SHOWHELP:: 0x00000008
    CC_SOLIDCOLOR:: 0x00000080
    CDDS_… 10
    CDDS_ITEM:: 0x10000
    CDDS_ITEMPOSTERASE:: CDDS_ITEM | CDDS_POSTERASE
    CDDS_ITEMPOSTPAINT:: CDDS_ITEM | CDDS_POSTPAINT
    CDDS_ITEMPREERASE:: CDDS_ITEM | CDDS_PREERASE
    CDDS_ITEMPREPAINT:: CDDS_ITEM | CDDS_PREPAINT
    CDDS_POSTERASE:: 0x00004
    CDDS_POSTPAINT:: 0x00002
    CDDS_PREERASE:: 0x00003
    CDDS_PREPAINT:: 0x00001
    CDDS_SUBITEM:: 0x20000
    CDERR_… 14
    CDERR_DIALOGFAILURE:: 0x0000FFFF
    CDERR_FINDRESFAILURE:: 0x00000006
    CDERR_GENERALCODES:: 0x00000000
    CDERR_INITIALIZATION:: 0x00000002
    CDERR_LOADRESFAILURE:: 0x00000007
    CDERR_LOADSTRFAILURE:: 0x00000005
    CDERR_LOCKRESFAILURE:: 0x00000008
    CDERR_MEMALLOCFAILURE:: 0x00000009
    CDERR_MEMLOCKFAILURE:: 0x0000000A
    CDERR_NOHINSTANCE:: 0x00000004
    CDERR_NOHOOK:: 0x0000000B
    CDERR_NOTEMPLATE:: 0x00000003
    CDERR_REGISTERMSGFAIL:: 0x0000000C
    CDERR_STRUCTSIZE:: 0x00000001
    CDIS_… 10
    CDIS_CHECKED:: 0x008
    CDIS_DEFAULT:: 0x020
    CDIS_DISABLED:: 0x004
    CDIS_FOCUS:: 0x010
    CDIS_GRAYED:: 0x002
    CDIS_HOT:: 0x040
    CDIS_INDETERMINATE:: 0x100
    CDIS_MARKED:: 0x080
    CDIS_SELECTED:: 0x001
    CDIS_SHOWKEYBOARDCUES:: 0x200
    CDM_… 9
    CDM_FIRST:: 0x0464
    CDM_GETFILEPATH:: 0x0465
    CDM_GETFOLDERIDLIST:: 0x0467
    CDM_GETFOLDERPATH:: 0x0466
    CDM_GETSPEC:: 0x0464
    CDM_HIDECONTROL:: 0x0469
    CDM_LAST:: 0x04c8
    CDM_SETCONTROLTEXT:: 0x0468
    CDM_SETDEFEXT:: 0x046a
    CDN_FIRST: u32 : ~DWORD(601 - 1)
    CDN_LAST: u32 : ~DWORD(699 - 1)
    CDRF_… 7
    CDRF_DODEFAULT:: 0x00
    Custom Draw Constants
    CDRF_NEWFONT:: 0x02
    CDRF_NOTIFYITEMDRAW:: 0x20
    CDRF_NOTIFYPOSTERASE:: 0x40
    CDRF_NOTIFYPOSTPAINT:: 0x10
    CDRF_NOTIFYSUBITEMDRAW:: 0x20
    CDRF_SKIPDEFAULT:: 0x04
    CERT_CLOSE_STORE_CHECK_FLAG:: 0x00000002
    CERT_CLOSE_STORE_FORCE_FLAG:: 0x00000001
    CF_… 55
    CF_ANSIONLY:: 0x00000400
    CF_APPLY:: 0x00000200
    CF_BITMAP:: 2
    CF_BOTH:: CF_SCREENFONTS | CF_PRINTERFONTS
    CF_DIB:: 8
    CF_DIBV5:: 17
    CF_DIF:: 5
    CF_DSPBITMAP:: 0x0082
    CF_DSPENHMETAFILE:: 0x008E
    CF_DSPMETAFILEPICT:: 0x0083
    CF_DSPTEXT:: 0x0081
    CF_EFFECTS:: 0x00000100
    CF_ENABLEHOOK:: 0x00000008
    CF_ENABLETEMPLATE:: 0x00000010
    CF_ENABLETEMPLATEHANDLE:: 0x00000020
    CF_ENHMETAFILE:: 14
    CF_FIXEDPITCHONLY:: 0x00004000
    CF_FORCEFONTEXIST:: 0x00010000
    CF_GDIOBJFIRST:: 0x0300
    CF_GDIOBJLAST:: 0x03FF
    CF_HDROP:: 15
    CF_INACTIVEFONTS:: 0x02000000
    CF_INITTOLOGFONTSTRUCT:: 0x00000040
    CF_LIMITSIZE:: 0x00002000
    CF_LOCALE:: 16
    CF_METAFILEPICT:: 3
    CF_NOFACESEL:: 0x00080000
    CF_NOOEMFONTS:: CF_NOVECTORFONTS
    CF_NOSCRIPTSEL:: 0x00800000
    CF_NOSIMULATIONS:: 0x00001000
    CF_NOSIZESEL:: 0x00200000
    CF_NOSTYLESEL:: 0x00100000
    CF_NOVECTORFONTS:: 0x00000800
    CF_NOVERTFONTS:: 0x01000000
    CF_OEMTEXT:: 7
    CF_OWNERDISPLAY:: 0x0080
    CF_PALETTE:: 9
    CF_PENDATA:: 10
    CF_PRINTERFONTS:: 0x00000002
    CF_PRIVATEFIRST:: 0x0200
    CF_PRIVATELAST:: 0x02FF
    CF_RIFF:: 11
    CF_SCALABLEONLY:: 0x00020000
    CF_SCREENFONTS:: 0x00000001
    Flags for CHOOSEFONTW
    CF_SCRIPTSONLY:: CF_ANSIONLY
    CF_SELECTSCRIPT:: 0x00400000
    CF_SHOWHELP:: 0x00000004
    CF_SYLK:: 4
    CF_TEXT:: 1
    Standard Clipboard Formats
    CF_TIFF:: 6
    CF_TTONLY:: 0x00040000
    CF_UNICODETEXT:: 13
    CF_USESTYLE:: 0x00000080
    CF_WAVE:: 12
    CF_WYSIWYG:: 0x00008000
    must also have CF_SCREENFONTS & CF_PRINTERFONTS
    CHINESEBIG5_CHARSET:: 136
    CLEARTYPE_NATURAL_QUALITY:: 6
    CLEARTYPE_QUALITY:: 5
    CLIP_… 8
    CLIP_CHARACTER_PRECIS:: 1
    CLIP_DEFAULT_PRECIS:: 0
    Clipping Precisions
    CLIP_DFA_DISABLE:: 4 << 4
    CLIP_EMBEDDED:: 8 << 4
    CLIP_LH_ANGLES:: 1 << 4
    CLIP_MASK:: 0xf
    CLIP_STROKE_PRECIS:: 2
    CLIP_TT_ALWAYS:: 2 << 4
    CLR_… 4
    CLR_DEFAULT:: 0xFF000000
    CLR_HILIGHT:: CLR_DEFAULT
    CLR_INVALID:: 0xFFFFFFFF
    CLR_NONE:: 0xFFFFFFFF
    Image Lists
    CLSCTX_… 29
    CLSCTX_ACTIVATE_32_BIT_SERVER:: CLSCTX_ACTIVATE_X86_SERVER
    CLSCTX_ACTIVATE_64_BIT_SERVER:: 0x80000
    CLSCTX_ACTIVATE_AAA_AS_IU:: 0x800000
    CLSCTX_ACTIVATE_ARM32_SERVER:: 0x2000000
    CLSCTX_ACTIVATE_X86_SERVER:: 0x40000
    CLSCTX_ALL:: CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER
    CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION:: 0x4000000
    CLSCTX_APPCONTAINER:: 0x400000
    CLSCTX_DISABLE_AAA:: 0x8000
    CLSCTX_ENABLE_AAA:: 0x10000
    CLSCTX_ENABLE_CLOAKING:: 0x100000
    CLSCTX_ENABLE_CODE_DOWNLOAD:: 0x2000
    CLSCTX_FROM_DEFAULT_CONTEXT:: 0x20000
    CLSCTX_INPROC_HANDLER:: 0x2
    CLSCTX_INPROC_HANDLER16:: 0x20
    CLSCTX_INPROC_SERVER:: 0x1
    CLSCTX_INPROC_SERVER16:: 0x8
    CLSCTX_LOCAL_SERVER:: 0x4
    CLSCTX_NO_CODE_DOWNLOAD:: 0x400
    CLSCTX_NO_CUSTOM_MARSHAL:: 0x1000
    CLSCTX_NO_FAILURE_LOG:: 0x4000
    CLSCTX_PS_DLL:: 0x80000000
    CLSCTX_REMOTE_SERVER:: 0x10
    CLSCTX_RESERVED1:: 0x40
    CLSCTX_RESERVED2:: 0x80
    CLSCTX_RESERVED3:: 0x100
    CLSCTX_RESERVED4:: 0x200
    CLSCTX_RESERVED5:: 0x800
    CLSCTX_RESERVED6:: 0x1000000
    COLORONCOLOR:: 3
    COLOR_… 36
    COLOR_3DDKSHADOW:: 21
    COLOR_3DFACE:: COLOR_BTNFACE
    COLOR_3DHIGHLIGHT:: COLOR_BTNHIGHLIGHT
    COLOR_3DHILIGHT:: COLOR_BTNHIGHLIGHT
    COLOR_3DLIGHT:: 22
    COLOR_3DSHADOW:: COLOR_BTNSHADOW
    COLOR_ACTIVEBORDER:: 10
    COLOR_ACTIVECAPTION:: 2
    COLOR_APPWORKSPACE:: 12
    COLOR_BACKGROUND:: 1
    COLOR_BTNFACE:: 15
    COLOR_BTNHIGHLIGHT:: 20
    COLOR_BTNHILIGHT:: COLOR_BTNHIGHLIGHT
    COLOR_BTNSHADOW:: 16
    COLOR_BTNTEXT:: 18
    COLOR_CAPTIONTEXT:: 9
    COLOR_DESKTOP:: COLOR_BACKGROUND
    COLOR_GRADIENTACTIVECAPTION:: 27
    COLOR_GRADIENTINACTIVECAPTION:: 28
    COLOR_GRAYTEXT:: 17
    COLOR_HIGHLIGHT:: 13
    COLOR_HIGHLIGHTTEXT:: 14
    COLOR_HOTLIGHT:: 26
    COLOR_INACTIVEBORDER:: 11
    COLOR_INACTIVECAPTION:: 3
    COLOR_INACTIVECAPTIONTEXT:: 19
    COLOR_INFOBK:: 24
    COLOR_INFOTEXT:: 23
    COLOR_MENU:: 4
    COLOR_MENUBAR:: 30
    COLOR_MENUHILIGHT:: 29
    COLOR_MENUTEXT:: 7
    COLOR_SCROLLBAR:: 0
    COLOR_WINDOW:: 5
    COLOR_WINDOWFRAME:: 6
    COLOR_WINDOWTEXT:: 8
    COMCTL32_VERSION:: 6
    COMMON_… 8
    COMMON_LVB_GRID_HORIZONTAL: u16 : WORD(0x0400)
    COMMON_LVB_GRID_LVERTICAL: u16 : WORD(0x0800)
    COMMON_LVB_GRID_RVERTICAL: u16 : WORD(0x1000)
    COMMON_LVB_LEADING_BYTE: u16 : WORD(0x0100)
    COMMON_LVB_REVERSE_VIDEO: u16 : WORD(0x4000)
    COMMON_LVB_SBCSDBCS: u16 : WORD(0x0300)
    COMMON_LVB_TRAILING_BYTE: u16 : WORD(0x0200)
    COMMON_LVB_UNDERSCORE: u16 : WORD(0x8000)
    COMPLEXREGION:: 3
    CONDITION_VARIABLE_INIT:: CONDITION_VARIABLE{}
    CONTACTVISUALIZATION_… 3
    CONTACTVISUALIZATION_OFF:: 0x0000
    constants for SPI_GETCONTACTVISUALIZATION and SPI_SETCONTACTVISUALIZATION
    CONTACTVISUALIZATION_ON:: 0x0001
    CONTACTVISUALIZATION_PRESENTATIONMODE:: 0x0002
    CONTEXT_… 7
    CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB:: 0x00000002
    CONTEXT_CORE_PROFILE_BIT_ARB:: 0x00000001
    CONTEXT_FLAGS_ARB:: 0x2094
    CONTEXT_FORWARD_COMPATIBLE_BIT_ARB:: 0x0002
    CONTEXT_MAJOR_VERSION_ARB:: 0x2091
    CONTEXT_MINOR_VERSION_ARB:: 0x2092
    CONTEXT_PROFILE_MASK_ARB:: 0x9126
    COPY_… 18
    COPY_FILE_ALLOW_DECRYPTED_DESTINATION:: 0x00000008
    COPY_FILE_DIRECTORY:: 0x00000080
    COPY_FILE_DISABLE_PRE_ALLOCATION:: 0x04000000
    COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC:: 0x02000000
    COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE:: 0x08000000
    COPY_FILE_FAIL_IF_EXISTS:: 0x00000001
    COPY_FILE_IGNORE_EDP_BLOCK:: 0x00400000
    COPY_FILE_IGNORE_SOURCE_ENCRYPTION:: 0x00800000
    COPY_FILE_NO_BUFFERING:: 0x00001000
    COPY_FILE_NO_OFFLOAD:: 0x00040000
    COPY_FILE_OPEN_AND_COPY_REPARSE_POINT:: 0x00200000
    COPY_FILE_OPEN_SOURCE_FOR_WRITE:: 0x00000004
    COPY_FILE_REQUEST_COMPRESSED_TRAFFIC:: 0x10000000
    COPY_FILE_REQUEST_SECURITY_PRIVILEGES:: 0x00002000
    COPY_FILE_RESTARTABLE:: 0x00000002
    COPY_FILE_RESUME_FROM_PAUSE:: 0x00004000
    COPY_FILE_SKIP_ALTERNATE_STREAMS:: 0x00008000
    CP_… 7
    CP_ACP:: 0
    default to ANSI code page
    CP_MACCP:: 2
    default to MAC code page
    CP_OEMCP:: 1
    default to OEM code page
    CP_SYMBOL:: 42
    SYMBOL translations
    CP_THREAD_ACP:: 3
    current thread's ANSI code page
    CP_UTF7:: 65000
    UTF-7 translation
    CP_UTF8:: 65001
    UTF-8 translation
    CREATEPROCESS_MANIFEST_RESOURCE_ID: ^u16 : LPWSTR(uintptr(0x00000001))
    CREATE_… 18
    CREATE_ALWAYS: u32 : 2
    CREATE_BREAKAWAY_FROM_JOB:: 0x01000000
    CREATE_DEFAULT_ERROR_MODE:: 0x04000000
    CREATE_FORCEDOS:: 0x00002000
    CREATE_IGNORE_SYSTEM_DEFAULT:: 0x80000000
    CREATE_NEW: u32 : 1
    CREATE_NEW_CONSOLE:: 0x00000010
    CREATE_NEW_PROCESS_GROUP:: 0x00000200
    CREATE_NO_WINDOW:: 0x08000000
    CREATE_PRESERVE_CODE_AUTHZ_LEVEL:: 0x02000000
    CREATE_PROTECTED_PROCESS:: 0x00040000
    CREATE_SECURE_PROCESS:: 0x00400000
    CREATE_SEPARATE_WOW_VDM:: 0x00000800
    CREATE_SHARED_WOW_VDM:: 0x00001000
    CREATE_SUSPENDED:: 0x00000004
    CREATE_UNICODE_ENVIRONMENT:: 0x00000400
    CREATE_WAITABLE_TIMER_HIGH_RESOLUTION:: 0x00000002
    CREATE_WAITABLE_TIMER_MANUAL_RESET:: 0x00000001
    CSIDL_… 3
    CSIDL_APPDATA:: 0x001a
    <user name>\Application Data
    CSIDL_COMMON_APPDATA:: 0x0023
    All Users\Application Data
    CSIDL_PROFILE:: 0x0028
    <user name>\
    CS_… 12
    CS_BYTEALIGNCLIENT: u32 : 0x1000
    CS_BYTEALIGNWINDOW: u32 : 0x2000
    CS_CLASSDC: u32 : 0x0040
    CS_DBLCLKS: u32 : 0x0008
    CS_DROPSHADOW: u32 : 0x0002_0000
    CS_GLOBALCLASS: u32 : 0x4000
    CS_HREDRAW: u32 : 0x0002
    CS_NOCLOSE: u32 : 0x0200
    CS_OWNDC: u32 : 0x0020
    CS_PARENTDC: u32 : 0x0080
    CS_SAVEBITS: u32 : 0x0800
    CS_VREDRAW: u32 : 0x0001
    CTLCOLOR_… 8
    CTLCOLOR_BTN:: 3
    CTLCOLOR_DLG:: 4
    CTLCOLOR_EDIT:: 1
    CTLCOLOR_LISTBOX:: 2
    CTLCOLOR_MAX:: 7
    CTLCOLOR_MSGBOX:: 0
    Color Types
    CTLCOLOR_SCROLLBAR:: 5
    CTLCOLOR_STATIC:: 6
    CTRL_… 5
    CTRL_BREAK_EVENT: u32 : 1
    CTRL_CLOSE_EVENT: u32 : 2
    CTRL_C_EVENT: u32 : 0
    CTRL_LOGOFF_EVENT: u32 : 5
    CTRL_SHUTDOWN_EVENT: u32 : 6
    CW_USEDEFAULT: i32 : -2147483648
    DACL_SECURITY_INFORMATION:: 0x00000004
    DATETIMEPICK_CLASS:: "SysDateTimePick32"
    DC_BRUSH:: 18
    DC_PEN:: 19
    DDM_… 5
    DDM_BEGIN:: 0x0403
    DDM_CLOSE:: 0x0402
    DDM_DRAW:: 0x0401
    DDM_END:: 0x0404
    DDM_SETFMT:: 0x0400
    DEBUG_ONLY_THIS_PROCESS:: 0x00000002
    DEBUG_PROCESS:: 0x00000001
    DEFAULT_… 5
    DEFAULT_CHARSET:: 1
    DEFAULT_GUI_FONT:: 17
    DEFAULT_PALETTE:: 15
    DEFAULT_PITCH:: 0
    Font Pitches
    DEFAULT_QUALITY:: 0
    Output Qualities
    DELETE: u32 : 0x00010000
    The following are masks for the predefined standard access types
    DETACHED_PROCESS:: 0x00000008
    DEVICE_DEFAULT_FONT:: 14
    DIAGNOSTIC_… 4
    DIAGNOSTIC_REASON_DETAILED_STRING:: 0x00000002
    DIAGNOSTIC_REASON_NOT_SPECIFIED:: 0x80000000
    DIAGNOSTIC_REASON_SIMPLE_STRING:: 0x00000001
    DIAGNOSTIC_REASON_VERSION:: 0
    DIB_PAL_COLORS:: 1
    DIB_RGB_COLORS:: 0
    DIB color table identifiers
    DISABLE_NEWLINE_AUTO_RETURN: u32 : 0x0008
    DKGRAY_BRUSH:: 3
    DLL_PROCESS_DETACH: u32 : 0
    DLL_THREAD_DETACH: u32 : 3
    DL_… 8
    DL_BEGINDRAG:: 0x0485
    DL_CANCELDRAG:: 0x0488
    DL_COPYCURSOR:: 2
    DL_CURSORSET:: 0
    Drag List
    DL_DRAGGING:: 0x0486
    DL_DROPPED:: 0x0487
    DL_MOVECURSOR:: 3
    DL_STOPCURSOR:: 1
    DM_… 4
    DM_GETDEFID:: 0x0400
    DM_POINTERHITTEST:: 0x0250
    DM_REPOSITION:: 0x0402
    DM_SETDEFID:: 0x0401
    DNS_INFO_NO_RECORDS:: 9501
    DNS_QUERY_NO_RECURSION:: 0x00000004
    DPI_… 5
    DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE:: DPI_AWARENESS_CONTEXT(~uintptr(2))
    -3
    DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2:: DPI_AWARENESS_CONTEXT(~uintptr(3))
    -4
    DPI_AWARENESS_CONTEXT_SYSTEM_AWARE:: DPI_AWARENESS_CONTEXT(~uintptr(1))
    -2
    DPI_AWARENESS_CONTEXT_UNAWARE:: DPI_AWARENESS_CONTEXT(~uintptr(0))
    -1
    DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED:: DPI_AWARENESS_CONTEXT(~uintptr(4))
    -5
    DRAFT_QUALITY:: 1
    DRAGLISTMSGSTRING:: "commctrl_DragListMsg"
    DSTINVERT: u32 : 0x00550009
    dest = (NOT dest)
    DTN_FIRST: u32 : ~DWORD(760 - 1)
    DTN_LAST: u32 : ~DWORD(799 - 1)
    DTS_… 8
    DTS_APPCANPARSE:: 0x10
    DTS_LONGDATEFORMAT:: 0x04
    DTS_RIGHTALIGN:: 0x20
    DTS_SHORTDATECENTURYFORMAT:: 0x0C
    DTS_SHORTDATEFORMAT:: 0x00
    DTS_SHOWNONE:: 0x02
    DTS_TIMEFORMAT:: 0x09
    DTS_UPDOWN:: 0x01
    Date-and-Time Picker Control Styles
    DUPLICATE_SAME_ACCESS: u32 : 0x00000002
    EASTEUROPE_CHARSET:: 238
    ECM_FIRST:: 0x1500
    EM_… 142
    EM_AUTOURLDETECT:: 0x045b
    EM_CANPASTE:: 0x0432
    EM_CANREDO:: 0x0455
    EM_CANUNDO:: 0x00c6
    EM_CHARFROMPOS:: 0x00d7
    EM_CONVPOSITION:: 0x046c
    EM_DISPLAYBAND:: 0x0433
    EM_EMPTYUNDOBUFFER:: 0x00cd
    EM_EXGETSEL:: 0x0434
    EM_EXLIMITTEXT:: 0x0435
    EM_EXLINEFROMCHAR:: 0x0436
    EM_EXSETSEL:: 0x0437
    EM_FINDTEXT:: 0x0438
    EM_FINDTEXTEX:: 0x044f
    EM_FINDTEXTEXW:: 0x047c
    EM_FINDTEXTW:: 0x047b
    EM_FINDWORDBREAK:: 0x044c
    EM_FMTLINES:: 0x00c8
    EM_FORMATRANGE:: 0x0439
    EM_GETAUTOURLDETECT:: 0x045c
    EM_GETBIDIOPTIONS:: 0x04c9
    EM_GETCHARFORMAT:: 0x043a
    EM_GETCTFMODEBIAS:: 0x04ed
    EM_GETCTFOPENSTATUS:: 0x04f0
    EM_GETCUEBANNER:: ECM_FIRST + 0x0002
    EM_GETEDITSTYLE:: 0x04cd
    EM_GETEVENTMASK:: 0x043b
    EM_GETFIRSTVISIBLELINE:: 0x00ce
    EM_GETHANDLE:: 0x00bd
    EM_GETHILITE:: ECM_FIRST + 0x0006
    EM_GETHYPHENATEINFO:: 0x04e6
    EM_GETIMECOLOR:: 0x0469
    EM_GETIMECOMPMODE:: 0x047a
    EM_GETIMECOMPTEXT:: 0x04f2
    EM_GETIMEMODEBIAS:: 0x047f
    EM_GETIMEOPTIONS:: 0x046b
    EM_GETIMEPROPERTY:: 0x04f4
    EM_GETIMESTATUS:: 0x00d9
    EM_GETLANGOPTIONS:: 0x0479
    EM_GETLIMITTEXT:: 0x00d5
    EM_GETLINE:: 0x00c4
    EM_GETLINECOUNT:: 0x00ba
    EM_GETMARGINS:: 0x00d4
    EM_GETMODIFY:: 0x00b8
    EM_GETOLEINTERFACE:: 0x043c
    EM_GETOPTIONS:: 0x044e
    EM_GETPAGE:: 0x04e4
    EM_GETPAGEROTATE:: 0x04eb
    EM_GETPARAFORMAT:: 0x043d
    EM_GETPASSWORDCHAR:: 0x00d2
    EM_GETPUNCTUATION:: 0x0465
    EM_GETQUERYRTFOBJ:: 0x050d
    EM_GETRECT:: 0x00b2
    EM_GETREDONAME:: 0x0457
    EM_GETSCROLLPOS:: 0x04dd
    EM_GETSEL:: 0x00b0
    EM_GETSELTEXT:: 0x043e
    EM_GETTEXTEX:: 0x045e
    EM_GETTEXTLENGTHEX:: 0x045f
    EM_GETTEXTMODE:: 0x045a
    EM_GETTEXTRANGE:: 0x044b
    EM_GETTHUMB:: 0x00be
    EM_GETTYPOGRAPHYOPTIONS:: 0x04cb
    EM_GETUNDONAME:: 0x0456
    EM_GETVIEWKIND:: 0x04e2
    EM_GETWORDBREAKPROC:: 0x00d1
    EM_GETWORDBREAKPROCEX:: 0x0450
    EM_GETWORDWRAPMODE:: 0x0467
    EM_GETZOOM:: 0x04e0
    EM_HIDEBALLOONTIP:: ECM_FIRST + 0x0004
    EM_HIDESELECTION:: 0x043f
    EM_ISIME:: 0x04f3
    EM_LIMITTEXT:: 0x00c5
    EM_LINEFROMCHAR:: 0x00c9
    EM_LINEINDEX:: 0x00bb
    EM_LINELENGTH:: 0x00c1
    EM_LINESCROLL:: 0x00b6
    EM_NOSETFOCUS:: ECM_FIRST + 0x0007
    EM_OUTLINE:: 0x04dc
    EM_PASTESPECIAL:: 0x0440
    EM_POSFROMCHAR:: 0x00d6
    EM_RECONVERSION:: 0x047d
    EM_REDO:: 0x0454
    EM_REPLACESEL:: 0x00c2
    EM_REQUESTRESIZE:: 0x0441
    EM_SCROLL:: 0x00b5
    EM_SCROLLCARET:: 0x00b7
    EM_SELECTIONTYPE:: 0x0442
    EM_SETBIDIOPTIONS:: 0x04c8
    EM_SETBKGNDCOLOR:: 0x0443
    EM_SETCHARFORMAT:: 0x0444
    EM_SETCTFMODEBIAS:: 0x04ee
    EM_SETCTFOPENSTATUS:: 0x04f1
    EM_SETCUEBANNER:: ECM_FIRST + 0x0001
    EM_SETEDITSTYLE:: 0x04cc
    EM_SETEVENTMASK:: 0x0445
    EM_SETFONT:: 0x00c3
    EM_SETFONTSIZE:: 0x04df
    EM_SETHANDLE:: 0x00bc
    EM_SETHILITE:: ECM_FIRST + 0x0005
    EM_SETHYPHENATEINFO:: 0x04e7
    EM_SETIMECOLOR:: 0x0468
    EM_SETIMEMODEBIAS:: 0x047e
    EM_SETIMEOPTIONS:: 0x046a
    EM_SETIMESTATUS:: 0x00d8
    EM_SETLANGOPTIONS:: 0x0478
    EM_SETLIMITTEXT:: 0x00c5
    EM_SETMARGINS:: 0x00d3
    EM_SETMODIFY:: 0x00b9
    EM_SETOLECALLBACK:: 0x0446
    EM_SETOPTIONS:: 0x044d
    EM_SETPAGE:: 0x04e5
    EM_SETPAGEROTATE:: 0x04ec
    EM_SETPALETTE:: 0x045d
    EM_SETPARAFORMAT:: 0x0447
    EM_SETPASSWORDCHAR:: 0x00cc
    EM_SETPUNCTUATION:: 0x0464
    EM_SETQUERYRTFOBJ:: 0x050e
    EM_SETREADONLY:: 0x00cf
    EM_SETRECT:: 0x00b3
    EM_SETRECTNP:: 0x00b4
    EM_SETSCROLLPOS:: 0x04de
    EM_SETSEL:: 0x00b1
    EM_SETTABSTOPS:: 0x00cb
    EM_SETTARGETDEVICE:: 0x0448
    EM_SETTEXTEX:: 0x0461
    EM_SETTEXTMODE:: 0x0459
    EM_SETTYPOGRAPHYOPTIONS:: 0x04ca
    EM_SETUNDOLIMIT:: 0x0452
    EM_SETVIEWKIND:: 0x04e3
    EM_SETWORDBREAK:: 0x00ca
    EM_SETWORDBREAKPROC:: 0x00d0
    EM_SETWORDBREAKPROCEX:: 0x0451
    EM_SETWORDWRAPMODE:: 0x0466
    EM_SETZOOM:: 0x04e1
    EM_SHOWBALLOONTIP:: ECM_FIRST + 0x0003
    EM_SHOWSCROLLBAR:: 0x0460
    EM_STOPGROUPTYPING:: 0x0458
    EM_STREAMIN:: 0x0449
    EM_STREAMOUT:: 0x044a
    EM_TAKEFOCUS:: ECM_FIRST + 0x0008
    EM_UNDO:: 0x00c7
    ENABLE_… 12
    ENABLE_ECHO_INPUT: u32 : 0x0004
    ENABLE_INSERT_MODE: u32 : 0x0020
    ENABLE_LINE_INPUT: u32 : 0x0002
    ENABLE_LVB_GRID_WORLDWIDE: u32 : 0x0010
    ENABLE_MOUSE_INPUT: u32 : 0x0010
    ENABLE_PROCESSED_INPUT: u32 : 0x0001
    ENABLE_PROCESSED_OUTPUT: u32 : 0x0001
    ENABLE_QUICK_EDIT_MODE: u32 : 0x0040
    ENABLE_VIRTUAL_TERMINAL_INPUT: u32 : 0x0200
    ENABLE_VIRTUAL_TERMINAL_PROCESSING: u32 : 0x0004
    ENABLE_WINDOW_INPUT: u32 : 0x0008
    ENABLE_WRAP_AT_EOL_OUTPUT: u32 : 0x0002
    ENUM_CURRENT_SETTINGS: u32 : 4294967295
    (DWORD)-1
    ENUM_REGISTRY_SETTINGS: u32 : 4294967294
    (DWORD)-2
    EN_… 10
    EN_ALIGN_LTR_EC:: 0x0700
    EN_ALIGN_RTL_EC:: 0x0701
    EN_CHANGE:: 0x0300
    EN_ERRSPACE:: 0x0500
    EN_HSCROLL:: 0x0601
    EN_KILLFOCUS:: 0x0200
    EN_MAXTEXT:: 0x0501
    EN_SETFOCUS:: 0x0100
    Edit Control Notification Codes
    EN_UPDATE:: 0x0400
    EN_VSCROLL:: 0x0602
    ERROR:: 0
    Region Flags
    ERROR_… 47
    ERROR_ACCESS_DENIED: u32 : 5
    ERROR_ALREADY_EXISTS: u32 : 183
    ERROR_BAD_ARGUMENTS: u32 : 160
    ERROR_BAD_ENVIRONMENT: u32 : 10
    ERROR_BAD_FORMAT: u32 : 11
    ERROR_BROKEN_PIPE: u32 : 109
    ERROR_CALL_NOT_IMPLEMENTED: u32 : 120
    ERROR_CURRENT_DIRECTORY: u32 : 16
    ERROR_DATATYPE_MISMATCH: u32 : 1629
    ERROR_ENVVAR_NOT_FOUND: u32 : 203
    ERROR_FILE_EXISTS: u32 : 80
    ERROR_FILE_NOT_FOUND: u32 : 2
    ERROR_HANDLE_EOF: u32 : 38
    ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB:: 0x2054
    ERROR_INSUFFICIENT_BUFFER: u32 : 122
    ERROR_INVALID_ACCESS: u32 : 12
    ERROR_INVALID_BLOCK: u32 : 9
    ERROR_INVALID_DATA: u32 : 13
    ERROR_INVALID_DRIVE: u32 : 15
    ERROR_INVALID_FUNCTION: u32 : 1
    ERROR_INVALID_HANDLE: u32 : 6
    ERROR_INVALID_NAME: u32 : 123
    ERROR_INVALID_PARAMETER: u32 : 87
    ERROR_INVALID_PIXEL_TYPE_ARB:: 0x2043
    WGL_ARB_make_current_read
    ERROR_INVALID_PROFILE_ARB:: 0x2096
    ERROR_INVALID_VERSION_ARB:: 0x2095
    ERROR_IO_PENDING: u32 : 997
    ERROR_LOCK_FAILED: u32 : 167
    ERROR_LOCK_VIOLATION: u32 : 33
    ERROR_MR_MID_NOT_FOUND: u32 : 317
    ERROR_NEGATIVE_SEEK: u32 : 131
    ERROR_NOT_ENOUGH_MEMORY: u32 : 8
    ERROR_NOT_FOUND: u32 : 1168
    ERROR_NOT_SAME_OBJECT: u32 : 1656
    ERROR_NOT_SUPPORTED: u32 : 50
    ERROR_NO_DATA: u32 : 232
    ERROR_NO_MORE_FILES: u32 : 18
    ERROR_NO_UNICODE_TRANSLATION: u32 : 1113
    ERROR_OPERATION_ABORTED: u32 : 995
    ERROR_OUTOFMEMORY: u32 : 14
    ERROR_PATH_NOT_FOUND: u32 : 3
    ERROR_PIPE_BUSY: u32 : 231
    ERROR_PIPE_CONNECTED: u32 : 535
    ERROR_SHARING_VIOLATION: u32 : 32
    ERROR_SUCCESS: u32 : 0
    ERROR_TIMEOUT: u32 : 1460
    ERROR_UNSUPPORTED_TYPE: u32 : 1630
    ESB_… 8
    ESB_DISABLE_BOTH:: 0x0003
    ESB_DISABLE_DOWN:: 0x0002
    ESB_DISABLE_LEFT:: 0x0001
    ESB_DISABLE_LTUP:: ESB_DISABLE_LEFT
    ESB_DISABLE_RIGHT:: 0x0002
    ESB_DISABLE_RTDN:: ESB_DISABLE_RIGHT
    ESB_DISABLE_UP:: 0x0001
    ESB_ENABLE_BOTH:: 0x0000
    EnableScrollBar() flags
    ES_… 14
    ES_AUTOHSCROLL:: 0x0080
    ES_AUTOVSCROLL:: 0x0040
    ES_CENTER:: 0x0001
    ES_LEFT:: 0x0000
    Edit Control Styles
    ES_LOWERCASE:: 0x0010
    ES_MULTILINE:: 0x0004
    ES_NOHIDESEL:: 0x0100
    ES_NUMBER:: 0x2000
    ES_OEMCONVERT:: 0x0400
    ES_PASSWORD:: 0x0020
    ES_READONLY:: 0x0800
    ES_RIGHT:: 0x0002
    ES_UPPERCASE:: 0x0008
    ES_WANTRETURN:: 0x1000
    EV_… 9
    EV_BREAK: u32 : DWORD(0x0040)
    EV_CTS: u32 : DWORD(0x0008)
    EV_DSR: u32 : DWORD(0x0010)
    EV_ERR: u32 : DWORD(0x0080)
    EV_RING: u32 : DWORD(0x0100)
    EV_RLSD: u32 : DWORD(0x0020)
    EV_RXCHAR: u32 : DWORD(0x0001)
    EV_RXFLAG: u32 : DWORD(0x0002)
    EV_TXEMPTY: u32 : DWORD(0x0004)
    EXCEPTION_… 24
    EXCEPTION_ACCESS_VIOLATION:: 0xC0000005
    EXCEPTION_ARRAY_BOUNDS_EXCEEDED:: 0xC000008C
    EXCEPTION_BREAKPOINT:: 0x80000003
    EXCEPTION_CONTINUE_EXECUTION: i32 : -1
    EXCEPTION_DATATYPE_MISALIGNMENT:: 0x80000002
    EXCEPTION_EXECUTE_HANDLER: i32 : 1
    EXCEPTION_FLT_DENORMAL_OPERAND:: 0xC000008D
    EXCEPTION_FLT_DIVIDE_BY_ZERO:: 0xC000008E
    EXCEPTION_FLT_INEXACT_RESULT:: 0xC000008F
    EXCEPTION_FLT_INVALID_OPERATION:: 0xC0000090
    EXCEPTION_FLT_OVERFLOW:: 0xC0000091
    EXCEPTION_FLT_STACK_CHECK:: 0xC0000092
    EXCEPTION_FLT_UNDERFLOW:: 0xC0000093
    EXCEPTION_ILLEGAL_INSTRUCTION:: 0xC000001D
    EXCEPTION_INT_DIVIDE_BY_ZERO:: 0xC0000094
    EXCEPTION_INT_OVERFLOW:: 0xC0000095
    EXCEPTION_INVALID_DISPOSITION:: 0xC0000026
    EXCEPTION_IN_PAGE_ERROR:: 0xC0000006
    EXCEPTION_MAXIMUM_PARAMETERS:: 15
    EXCEPTION_NONCONTINUABLE_EXCEPTION:: 0xC0000025
    EXCEPTION_PRIV_INSTRUCTION:: 0xC0000096
    EXCEPTION_SINGLE_STEP:: 0x80000004
    EXCEPTION_STACK_OVERFLOW:: 0xC00000FD
    EXTENDED_STARTUPINFO_PRESENT:: 0x00080000
    E_… 10
    E_ABORT:: 0x80004004
    Operation aborted
    E_ACCESSDENIED:: 0x80070005
    General access denied error
    E_FAIL:: 0x80004005
    Unspecified failure
    E_HANDLE:: 0x80070006
    Handle that is not valid
    E_INVALIDARG:: 0x80070057
    One or more arguments are not valid
    E_NOINTERFACE:: 0x80004002
    No such interface supported
    E_NOTIMPL:: 0x80004001
    Not implemented
    E_OUTOFMEMORY:: 0x8007000E
    Failed to allocate necessary memory
    E_POINTER:: 0x80004003
    Pointer that is not valid
    E_UNEXPECTED:: 0x8000FFFF
    Unexpected failure
    FACILITY_NT_BIT: u32 : 0x1000_0000
    FALSE:: BOOL(false)
    FD_… 8
    FD_ACCEPT:: 0x08
    FD_CLOSE:: 0x20
    FD_CONNECT:: 0x10
    FD_MAX_EVENTS:: 10
    FD_OOB:: 0x04
    FD_READ:: 0x01
    Define flags to be used with the WSAAsyncSelect() call.
    FD_SETSIZE:: 64
    FD_WRITE:: 0x02
    FE_… 4
    FE_FONTSMOOTHINGCLEARTYPE:: 0x0002
    FE_FONTSMOOTHINGORIENTATIONBGR:: 0x0000
    constants for SPI_GETFONTSMOOTHINGORIENTATION and SPI_SETFONTSMOOTHINGORIENTATION:
    FE_FONTSMOOTHINGORIENTATIONRGB:: 0x0001
    FE_FONTSMOOTHINGSTANDARD:: 0x0001
    constants for SPI_GETFONTSMOOTHINGTYPE and SPI_SETFONTSMOOTHINGTYPE:
    FF_… 6
    FF_DECORATIVE:: 5 << 4
    FF_DONTCARE:: 0 << 4
    Font Families
    FF_MODERN:: 3 << 4
    FF_ROMAN:: 1 << 4
    FF_SCRIPT:: 4 << 4
    FF_SWISS:: 2 << 4
    FILE_… 89
    FILE_ACTION_ADDED:: 0x00000001
    FILE_ACTION_MODIFIED:: 0x00000003
    FILE_ACTION_REMOVED:: 0x00000002
    FILE_ACTION_RENAMED_NEW_NAME:: 0x00000005
    FILE_ACTION_RENAMED_OLD_NAME:: 0x00000004
    FILE_ADD_FILE: u32 : 0x00000002
    FILE_ADD_SUBDIRECTORY: u32 : 0x00000004
    FILE_ALL_ACCESS: u32 : STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF
    FILE_APPEND_DATA: u32 : 0x00000004
    FILE_ATTRIBUTE_ARCHIVE: u32 : 0x00000020
    FILE_ATTRIBUTE_COMPRESSED: u32 : 0x00000800
    FILE_ATTRIBUTE_DEVICE: u32 : 0x00000040
    FILE_ATTRIBUTE_DIRECTORY: u32 : 0x00000010
    FILE_ATTRIBUTE_ENCRYPTED: u32 : 0x00004000
    FILE_ATTRIBUTE_HIDDEN: u32 : 0x00000002
    FILE_ATTRIBUTE_NORMAL: u32 : 0x00000080
    FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: u32 : 0x00002000
    FILE_ATTRIBUTE_OFFLINE: u32 : 0x00001000
    FILE_ATTRIBUTE_READONLY: u32 : 0x00000001
    FILE_ATTRIBUTE_REPARSE_POINT: u32 : 0x00000400
    FILE_ATTRIBUTE_REPARSE_Point: u32 : 0x00000400
    FILE_ATTRIBUTE_SPARSE_FILE: u32 : 0x00000200
    FILE_ATTRIBUTE_SYSTEM: u32 : 0x00000004
    FILE_ATTRIBUTE_TEMPORARY: u32 : 0x00000100
    FILE_BEGIN: u32 : 0
    FILE_CACHE_MAX_HARD_DISABLE: u32 : DWORD(0x00000002)
    FILE_CACHE_MAX_HARD_ENABLE: u32 : DWORD(0x00000001)
    FILE_CACHE_MIN_HARD_DISABLE: u32 : DWORD(0x00000008)
    FILE_CACHE_MIN_HARD_ENABLE: u32 : DWORD(0x00000004)
    FILE_CREATE:: 0x00000002
    FILE_CREATE_PIPE_INSTANCE: u32 : 0x00000004
    FILE_CURRENT: u32 : 1
    FILE_DELETE_CHILD: u32 : 0x00000040
    FILE_END: u32 : 2
    FILE_EXECUTE: u32 : 0x00000020
    FILE_FLAG_BACKUP_SEMANTICS: u32 : 0x02000000
    FILE_FLAG_DELETE_ON_CLOSE: u32 : 0x04000000
    FILE_FLAG_FIRST_PIPE_INSTANCE: u32 : 0x00080000
    FILE_FLAG_NO_BUFFERING: u32 : 0x20000000
    FILE_FLAG_OPEN_NO_RECALL: u32 : 0x00100000
    FILE_FLAG_OPEN_REPARSE_POINT: u32 : 0x00200000
    FILE_FLAG_OVERLAPPED: u32 : 0x40000000
    FILE_FLAG_POSIX_SEMANTICS: u32 : 0x01000000
    FILE_FLAG_RANDOM_ACCESS: u32 : 0x10000000
    FILE_FLAG_SEQUENTIAL_SCAN: u32 : 0x08000000
    FILE_FLAG_SESSION_AWARE: u32 : 0x00800000
    FILE_FLAG_WRITE_THROUGH: u32 : 0x80000000
    FILE_GENERIC_ALL: u32 : 0x10000000
    FILE_GENERIC_EXECUTE: u32 : 0x20000000
    FILE_GENERIC_READ: u32 : 0x80000000
    FILE_GENERIC_WRITE: u32 : STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE
    FILE_LIST_DIRECTORY: u32 : 0x00000001
    FILE_MAP_ALL_ACCESS: u32 : SECTION_ALL_ACCESS
    FILE_MAP_COPY: u32 : DWORD(0x00000001)
    FILE_MAP_EXECUTE: u32 : SECTION_MAP_EXECUTE_EXPLICIT
    FILE_MAP_LARGE_PAGES: u32 : DWORD(0x20000000)
    FILE_MAP_READ: u32 : SECTION_MAP_READ
    FILE_MAP_RESERVE: u32 : DWORD(0x80000000)
    FILE_MAP_TARGETS_INVALID: u32 : DWORD(0x40000000)
    FILE_MAP_WRITE: u32 : SECTION_MAP_WRITE
    FILE_NON_DIRECTORY_FILE:: 0x00000040
    FILE_NOTIFY_CHANGE_ATTRIBUTES:: 0x00000004
    FILE_NOTIFY_CHANGE_CREATION:: 0x00000040
    FILE_NOTIFY_CHANGE_DIR_NAME:: 0x00000002
    FILE_NOTIFY_CHANGE_FILE_NAME:: 0x00000001
    FILE_NOTIFY_CHANGE_LAST_ACCESS:: 0x00000020
    FILE_NOTIFY_CHANGE_LAST_WRITE:: 0x00000010
    FILE_NOTIFY_CHANGE_SECURITY:: 0x00000100
    FILE_NOTIFY_CHANGE_SIZE:: 0x00000008
    FILE_OPEN:: 0x00000001
    FILE_OPEN_IF:: 0x00000003
    FILE_OVERWRITE:: 0x00000004
    FILE_OVERWRITE_IF:: 0x00000005
    FILE_READ_ATTRIBUTES: u32 : 0x00000080
    FILE_READ_DATA: u32 : 0x00000001
    FILE_READ_EA: u32 : 0x00000008
    FILE_SHARE_DELETE: u32 : 0x00000004
    FILE_SHARE_READ: u32 : 0x00000001
    FILE_SHARE_WRITE: u32 : 0x00000002
    FILE_SKIP_COMPLETION_PORT_ON_SUCCESS:: 0x1
    FILE_SKIP_SET_EVENT_ON_HANDLE:: 0x2
    FILE_SUPERSEDE:: 0x00000000
    FILE_TRAVERSE: u32 : 0x00000020
    FILE_TYPE_CHAR:: 0x0002
    FILE_TYPE_DISK:: 0x0001
    FILE_TYPE_PIPE:: 0x0003
    FILE_WRITE_ATTRIBUTES: u32 : 0x00000100
    FILE_WRITE_DATA: u32 : 0x00000002
    FILE_WRITE_EA: u32 : 0x00000010
    FINDMSGSTRINGW: cstring16 : wstring("commdlg_FindReplace")
    FIONBIO: u32 : 0x8004667e
    FIXED_PITCH:: 1
    FKF_… 7
    FKF_AVAILABLE:: 0x2
    FKF_CLICKON:: 0x40
    FKF_CONFIRMHOTKEY:: 0x8
    FKF_FILTERKEYSON:: 0x1
    FKF_HOTKEYACTIVE:: 0x4
    FKF_HOTKEYSOUND:: 0x10
    FKF_INDICATOR:: 0x20
    FM_… 11
    FM_GETDRIVEINFOA:: 0x0601
    FM_GETDRIVEINFOW:: 0x0611
    FM_GETFILESELA:: 0x0604
    FM_GETFILESELLFNA:: 0x0605
    FM_GETFILESELLFNW:: 0x0615
    FM_GETFILESELW:: 0x0614
    FM_GETFOCUS:: 0x0600
    FM_GETSELCOUNT:: 0x0602
    FM_GETSELCOUNTLFN:: 0x0603
    FM_REFRESH_WINDOWS:: 0x0606
    FM_RELOAD_EXTENSIONS:: 0x0607
    FN_… 18
    FN_AC_BACK:: 0xE06A
    FN_AC_BOOKMARKS:: 0xE066
    FN_AC_FORWARD:: 0xE069
    FN_AC_HOME:: 0xE032
    FN_AC_REFRESH:: 0xE067
    FN_AC_STOP:: 0xE068
    FN_AL_CALCULATOR:: 0xE021
    FN_AL_CONSUMERCTRLCONFIG:: 0xE06D
    FN_AL_EMAILREADER:: 0xE06C
    FN_AL_LOCALMACHINEBROWSER:: 0xE06B
    FN_MUTE:: 0xE020
    FN_PLAY_PAUSE:: 0xE022
    FN_SCANNEXTTRACK:: 0xE019
    FN_SCANPREVTRACK:: 0xE010
    FN_STOP:: 0xE024
    FN_VOLUMEDEC:: 0xE02E
    FN_VOLUMEINC:: 0xE030
    FOF_… 17
    FOF_ALLOWUNDO:: 0x0040
    Must be freed using SHFreeNameMappings
    FOF_CONFIRMMOUSE:: 0x0002
    FOF_FILESONLY:: 0x0080
    only operate on the files (non folders), both files and folders are assumed without this
    FOF_MULTIDESTFILES:: 0x0001
    SHFILEOPSTRUCT.fFlags and IFileOperation::SetOperationFlags() flag values
    FOF_NOCONFIRMATION:: 0x0010
    don't display confirmation UI, assume "yes" for cases that can be bypassed, "no" for those that can not
    FOF_NOCONFIRMMKDIR:: 0x0200
    don't dispplay confirmatino UI before making any needed directories, assume "Yes" in these cases
    FOF_NOCOPYSECURITYATTRIBS:: 0x0800
    dont copy file security attributes (ACLs)
    FOF_NOERRORUI:: 0x0400
    don't put up error UI, other UI may be displayed, progress, confirmations
    FOF_NORECURSEREPARSE:: 0x8000
    deprecated; the operations engine always does the right thing on FolderLink objects (symlinks, reparse points, folder shortcuts)
    FOF_NORECURSION:: 0x1000
    don't recurse into directories for operations that would recurse
    FOF_NO_CONNECTED_ELEMENTS:: 0x2000
    don't operate on connected elements ("xxx_files" folders that go with .htm files)
    FOF_NO_UI:: FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR
    don't display any UI at all
    FOF_RENAMEONCOLLISION:: 0x0008
    automatically rename the source files to avoid the collisions
    FOF_SILENT:: 0x0004
    don't display progress UI (confirm prompts may be displayed still)
    FOF_SIMPLEPROGRESS:: 0x0100
    means don't show names of files
    FOF_WANTMAPPINGHANDLE:: 0x0020
    Fill in SHFILEOPSTRUCT.hNameMappings
    FOF_WANTNUKEWARNING:: 0x4000
    during delete operation, warn if object is being permanently destroyed instead of recycling (partially overrides FOF_NOCONFIRMATION)
    FOLDERID_… 142
    FOLDERID_AccountPictures:: GUID{0x008ca0b1, 0x55b4, 0x4c56, {0xb8, 0xa8, 0x4d, 0xe4, 0xb2, 0x99, 0xd3, 0xbe}}
    FOLDERID_AddNewPrograms:: GUID{0xde61d971, 0x5ebc, 0x4f02, {0xa3, 0xa9, 0x6c, 0x82, 0x89, 0x5e, 0x5c, 0x04}}
    FOLDERID_AdminTools:: GUID{0x724EF170, 0xA42D, 0x4FEF, {0x9F, 0x26, 0xB6, 0x0E, 0x84, 0x6F, 0xBA, 0x4F}}
    FOLDERID_AllAppMods:: GUID{0x7ad67899, 0x66af, 0x43ba, {0x91, 0x56, 0x6a, 0xad, 0x42, 0xe6, 0xc5, 0x96}}
    FOLDERID_AppCaptures:: GUID{0xedc0fe71, 0x98d8, 0x4f4a, {0xb9, 0x20, 0xc8, 0xdc, 0x13, 0x3c, 0xb1, 0x65}}
    FOLDERID_AppDataDesktop:: GUID{0xb2c5e279, 0x7add, 0x439f, {0xb2, 0x8c, 0xc4, 0x1f, 0xe1, 0xbb, 0xf6, 0x72}}
    FOLDERID_AppDataDocuments:: GUID{0x7be16610, 0x1f7f, 0x44ac, {0xbf, 0xf0, 0x83, 0xe1, 0x5f, 0x2f, 0xfc, 0xa1}}
    FOLDERID_AppDataFavorites:: GUID{0x7cfbefbc, 0xde1f, 0x45aa, {0xb8, 0x43, 0xa5, 0x42, 0xac, 0x53, 0x6c, 0xc9}}
    FOLDERID_AppDataProgramData:: GUID{0x559d40a3, 0xa036, 0x40fa, {0xaf, 0x61, 0x84, 0xcb, 0x43, 0xa, 0x4d, 0x34}}
    FOLDERID_AppUpdates:: GUID{0xa305ce99, 0xf527, 0x492b, {0x8b, 0x1a, 0x7e, 0x76, 0xfa, 0x98, 0xd6, 0xe4}}
    FOLDERID_ApplicationShortcuts:: GUID{0xa3918781, 0xe5f2, 0x4890, {0xb3, 0xd9, 0xa7, 0xe5, 0x43, 0x32, 0x32, 0x8c}}
    FOLDERID_AppsFolder:: GUID{0x1e87508d, 0x89c2, 0x42f0, {0x8a, 0x7e, 0x64, 0x5a, 0x0f, 0x50, 0xca, 0x58}}
    FOLDERID_CDBurning:: GUID{0x9E52AB10, 0xF80D, 0x49DF, {0xAC, 0xB8, 0x43, 0x30, 0xF5, 0x68, 0x78, 0x55}}
    FOLDERID_CameraRoll:: GUID{0xab5fb87b, 0x7ce2, 0x4f83, {0x91, 0x5d, 0x55, 0x8, 0x46, 0xc9, 0x53, 0x7b}}
    FOLDERID_CameraRollLibrary:: GUID{0x2b20df75, 0x1eda, 0x4039, {0x80, 0x97, 0x38, 0x79, 0x82, 0x27, 0xd5, 0xb7}}
    FOLDERID_ChangeRemovePrograms:: GUID{0xdf7266ac, 0x9274, 0x4867, {0x8d, 0x55, 0x3b, 0xd6, 0x61, 0xde, 0x87, 0x2d}}
    FOLDERID_CommonAdminTools:: GUID{0xD0384E7D, 0xBAC3, 0x4797, {0x8F, 0x14, 0xCB, 0xA2, 0x29, 0xB3, 0x92, 0xB5}}
    FOLDERID_CommonPrograms:: GUID{0x0139D44E, 0x6AFE, 0x49F2, {0x86, 0x90, 0x3D, 0xAF, 0xCA, 0xE6, 0xFF, 0xB8}}
    FOLDERID_CommonStartMenu:: GUID{0xA4115719, 0xD62E, 0x491D, {0xAA, 0x7C, 0xE7, 0x4B, 0x8B, 0xE3, 0xB0, 0x67}}
    FOLDERID_CommonStartMenuPlaces:: GUID{0xa440879f, 0x87a0, 0x4f7d, {0xb7, 0x0, 0x2, 0x7, 0xb9, 0x66, 0x19, 0x4a}}
    FOLDERID_CommonStartup:: GUID{0x82A5EA35, 0xD9CD, 0x47C5, {0x96, 0x29, 0xE1, 0x5D, 0x2F, 0x71, 0x4E, 0x6E}}
    FOLDERID_CommonTemplates:: GUID{0xB94237E7, 0x57AC, 0x4347, {0x91, 0x51, 0xB0, 0x8C, 0x6C, 0x32, 0xD1, 0xF7}}
    FOLDERID_ComputerFolder:: GUID{0x0AC0837C, 0xBBF8, 0x452A, {0x85, 0x0D, 0x79, 0xD0, 0x8E, 0x66, 0x7C, 0xA7}}
    FOLDERID_ConflictFolder:: GUID{0x4bfefb45, 0x347d, 0x4006, {0xa5, 0xbe, 0xac, 0x0c, 0xb0, 0x56, 0x71, 0x92}}
    FOLDERID_ConnectionsFolder:: GUID{0x6F0CD92B, 0x2E97, 0x45D1, {0x88, 0xFF, 0xB0, 0xD1, 0x86, 0xB8, 0xDE, 0xDD}}
    FOLDERID_Contacts:: GUID{0x56784854, 0xc6cb, 0x462b, {0x81, 0x69, 0x88, 0xe3, 0x50, 0xac, 0xb8, 0x82}}
    FOLDERID_ControlPanelFolder:: GUID{0x82A74AEB, 0xAEB4, 0x465C, {0xA0, 0x14, 0xD0, 0x97, 0xEE, 0x34, 0x6D, 0x63}}
    FOLDERID_Cookies:: GUID{0x2B0F765D, 0xC0E9, 0x4171, {0x90, 0x8E, 0x08, 0xA6, 0x11, 0xB8, 0x4F, 0xF6}}
    FOLDERID_CurrentAppMods:: GUID{0x3db40b20, 0x2a30, 0x4dbe, {0x91, 0x7e, 0x77, 0x1d, 0xd2, 0x1d, 0xd0, 0x99}}
    FOLDERID_Desktop:: GUID{0xB4BFCC3A, 0xDB2C, 0x424C, {0xB0, 0x29, 0x7F, 0xE9, 0x9A, 0x87, 0xC6, 0x41}}
    FOLDERID_DevelopmentFiles:: GUID{0xdbe8e08e, 0x3053, 0x4bbc, {0xb1, 0x83, 0x2a, 0x7b, 0x2b, 0x19, 0x1e, 0x59}}
    FOLDERID_Device:: GUID{0x1C2AC1DC, 0x4358, 0x4B6C, {0x97, 0x33, 0xAF, 0x21, 0x15, 0x65, 0x76, 0xF0}}
    FOLDERID_DeviceMetadataStore:: GUID{0x5ce4a5e9, 0xe4eb, 0x479d, {0xb8, 0x9f, 0x13, 0x0c, 0x02, 0x88, 0x61, 0x55}}
    FOLDERID_Documents:: GUID{0xFDD39AD0, 0x238F, 0x46AF, {0xAD, 0xB4, 0x6C, 0x85, 0x48, 0x03, 0x69, 0xC7}}
    FOLDERID_DocumentsLibrary:: GUID{0x7b0db17d, 0x9cd2, 0x4a93, {0x97, 0x33, 0x46, 0xcc, 0x89, 0x02, 0x2e, 0x7c}}
    FOLDERID_Downloads:: GUID{0x374de290, 0x123f, 0x4565, {0x91, 0x64, 0x39, 0xc4, 0x92, 0x5e, 0x46, 0x7b}}
    FOLDERID_Favorites:: GUID{0x1777F761, 0x68AD, 0x4D8A, {0x87, 0xBD, 0x30, 0xB7, 0x59, 0xFA, 0x33, 0xDD}}
    FOLDERID_Fonts:: GUID{0xFD228CB7, 0xAE11, 0x4AE3, {0x86, 0x4C, 0x16, 0xF3, 0x91, 0x0A, 0xB8, 0xFE}}
    FOLDERID_GameTasks:: GUID{0x54fae61, 0x4dd8, 0x4787, {0x80, 0xb6, 0x9, 0x2, 0x20, 0xc4, 0xb7, 0x0}}
    FOLDERID_Games:: GUID{0xcac52c1a, 0xb53d, 0x4edc, {0x92, 0xd7, 0x6b, 0x2e, 0x8a, 0xc1, 0x94, 0x34}}
    FOLDERID_History:: GUID{0xD9DC8A3B, 0xB784, 0x432E, {0xA7, 0x81, 0x5A, 0x11, 0x30, 0xA7, 0x59, 0x63}}
    FOLDERID_HomeGroup:: GUID{0x52528a6b, 0xb9e3, 0x4add, {0xb6, 0xd, 0x58, 0x8c, 0x2d, 0xba, 0x84, 0x2d}}
    FOLDERID_HomeGroupCurrentUser:: GUID{0x9b74b6a3, 0xdfd, 0x4f11, {0x9e, 0x78, 0x5f, 0x78, 0x0, 0xf2, 0xe7, 0x72}}
    FOLDERID_ImplicitAppShortcuts:: GUID{0xbcb5256f, 0x79f6, 0x4cee, {0xb7, 0x25, 0xdc, 0x34, 0xe4, 0x2, 0xfd, 0x46}}
    FOLDERID_InternetCache:: GUID{0x352481E8, 0x33BE, 0x4251, {0xBA, 0x85, 0x60, 0x07, 0xCA, 0xED, 0xCF, 0x9D}}
    FOLDERID_InternetFolder:: GUID{0x4D9F7874, 0x4E0C, 0x4904, {0x96, 0x7B, 0x40, 0xB0, 0xD2, 0x0C, 0x3E, 0x4B}}
    FOLDERID_Libraries:: GUID{0x1b3ea5dc, 0xb587, 0x4786, {0xb4, 0xef, 0xbd, 0x1d, 0xc3, 0x32, 0xae, 0xae}}
    FOLDERID_LocalAppData:: GUID{0xF1B32785, 0x6FBA, 0x4FCF, {0x9D, 0x55, 0x7B, 0x8E, 0x7F, 0x15, 0x70, 0x91}}
    FOLDERID_LocalAppDataLow:: GUID{0xA520A1A4, 0x1780, 0x4FF6, {0xBD, 0x18, 0x16, 0x73, 0x43, 0xC5, 0xAF, 0x16}}
    FOLDERID_LocalDocuments:: GUID{0xf42ee2d3, 0x909f, 0x4907, {0x88, 0x71, 0x4c, 0x22, 0xfc, 0x0b, 0xf7, 0x56}}
    FOLDERID_LocalDownloads:: GUID{0x7d83ee9b, 0x2244, 0x4e70, {0xb1, 0xf5, 0x53, 0x93, 0x04, 0x2a, 0xf1, 0xe4}}
    FOLDERID_LocalMusic:: GUID{0xa0c69a99, 0x21c8, 0x4671, {0x87, 0x03, 0x79, 0x34, 0x16, 0x2f, 0xcf, 0x1d}}
    FOLDERID_LocalPictures:: GUID{0x0ddd015d, 0xb06c, 0x45d5, {0x8c, 0x4c, 0xf5, 0x97, 0x13, 0x85, 0x46, 0x39}}
    FOLDERID_LocalStorage:: GUID{0xB3EB08D3, 0xA1F3, 0x496B, {0x86, 0x5A, 0x42, 0xB5, 0x36, 0xCD, 0xA0, 0xEC}}
    FOLDERID_LocalVideos:: GUID{0x35286a68, 0x3c57, 0x41a1, {0xbb, 0xb1, 0x0e, 0xae, 0x73, 0xd7, 0x6c, 0x95}}
    FOLDERID_LocalizedResourcesDir:: GUID{0x2A00375E, 0x224C, 0x49DE, {0xB8, 0xD1, 0x44, 0x0D, 0xF7, 0xEF, 0x3D, 0xDC}}
    FOLDERID_Music:: GUID{0x4BD8D571, 0x6D19, 0x48D3, {0xBE, 0x97, 0x42, 0x22, 0x20, 0x08, 0x0E, 0x43}}
    FOLDERID_MusicLibrary:: GUID{0x2112ab0a, 0xc86a, 0x4ffe, {0xa3, 0x68, 0xd, 0xe9, 0x6e, 0x47, 0x1, 0x2e}}
    FOLDERID_NetHood:: GUID{0xC5ABBF53, 0xE17F, 0x4121, {0x89, 0x00, 0x86, 0x62, 0x6F, 0xC2, 0xC9, 0x73}}
    FOLDERID_NetworkFolder:: GUID{0xD20BEEC4, 0x5CA8, 0x4905, {0xAE, 0x3B, 0xBF, 0x25, 0x1E, 0xA0, 0x9B, 0x53}}
    FOLDERID_Objects3D:: GUID{0x31c0dd25, 0x9439, 0x4f12, {0xbf, 0x41, 0x7f, 0xf4, 0xed, 0xa3, 0x87, 0x22}}
    FOLDERID_OneDrive:: GUID{0xa52bba46, 0xe9e1, 0x435f, {0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6}}
    FOLDERID_OriginalImages:: GUID{0x2C36C0AA, 0x5812, 0x4b87, {0xbf, 0xd0, 0x4c, 0xd0, 0xdf, 0xb1, 0x9b, 0x39}}
    FOLDERID_PhotoAlbums:: GUID{0x69D2CF90, 0xFC33, 0x4FB7, {0x9A, 0x0C, 0xEB, 0xB0, 0xF0, 0xFC, 0xB4, 0x3C}}
    FOLDERID_Pictures:: GUID{0x33E28130, 0x4E1E, 0x4676, {0x83, 0x5A, 0x98, 0x39, 0x5C, 0x3B, 0xC3, 0xBB}}
    FOLDERID_PicturesLibrary:: GUID{0xa990ae9f, 0xa03b, 0x4e80, {0x94, 0xbc, 0x99, 0x12, 0xd7, 0x50, 0x41, 0x4}}
    FOLDERID_Playlists:: GUID{0xDE92C1C7, 0x837F, 0x4F69, {0xA3, 0xBB, 0x86, 0xE6, 0x31, 0x20, 0x4A, 0x23}}
    FOLDERID_PrintHood:: GUID{0x9274BD8D, 0xCFD1, 0x41C3, {0xB3, 0x5E, 0xB1, 0x3F, 0x55, 0xA7, 0x58, 0xF4}}
    FOLDERID_PrintersFolder:: GUID{0x76FC4E2D, 0xD6AD, 0x4519, {0xA6, 0x63, 0x37, 0xBD, 0x56, 0x06, 0x81, 0x85}}
    FOLDERID_Profile:: GUID{0x5E6C858F, 0x0E22, 0x4760, {0x9A, 0xFE, 0xEA, 0x33, 0x17, 0xB6, 0x71, 0x73}}
    FOLDERID_ProgramData:: GUID{0x62AB5D82, 0xFDC1, 0x4DC3, {0xA9, 0xDD, 0x07, 0x0D, 0x1D, 0x49, 0x5D, 0x97}}
    FOLDERID_ProgramFiles:: GUID{0x905e63b6, 0xc1bf, 0x494e, {0xb2, 0x9c, 0x65, 0xb7, 0x32, 0xd3, 0xd2, 0x1a}}
    FOLDERID_ProgramFilesCommon:: GUID{0xF7F1ED05, 0x9F6D, 0x47A2, {0xAA, 0xAE, 0x29, 0xD3, 0x17, 0xC6, 0xF0, 0x66}}
    FOLDERID_ProgramFilesCommonX64:: GUID{0x6365d5a7, 0xf0d, 0x45e5, {0x87, 0xf6, 0xd, 0xa5, 0x6b, 0x6a, 0x4f, 0x7d}}
    FOLDERID_ProgramFilesCommonX86:: GUID{0xDE974D24, 0xD9C6, 0x4D3E, {0xBF, 0x91, 0xF4, 0x45, 0x51, 0x20, 0xB9, 0x17}}
    FOLDERID_ProgramFilesX64:: GUID{0x6d809377, 0x6af0, 0x444b, {0x89, 0x57, 0xa3, 0x77, 0x3f, 0x02, 0x20, 0x0e}}
    FOLDERID_ProgramFilesX86:: GUID{0x7C5A40EF, 0xA0FB, 0x4BFC, {0x87, 0x4A, 0xC0, 0xF2, 0xE0, 0xB9, 0xFA, 0x8E}}
    FOLDERID_Programs:: GUID{0xA77F5D77, 0x2E2B, 0x44C3, {0xA6, 0xA2, 0xAB, 0xA6, 0x01, 0x05, 0x4A, 0x51}}
    FOLDERID_Public:: GUID{0xDFDF76A2, 0xC82A, 0x4D63, {0x90, 0x6A, 0x56, 0x44, 0xAC, 0x45, 0x73, 0x85}}
    FOLDERID_PublicDesktop:: GUID{0xC4AA340D, 0xF20F, 0x4863, {0xAF, 0xEF, 0xF8, 0x7E, 0xF2, 0xE6, 0xBA, 0x25}}
    FOLDERID_PublicDocuments:: GUID{0xED4824AF, 0xDCE4, 0x45A8, {0x81, 0xE2, 0xFC, 0x79, 0x65, 0x08, 0x36, 0x34}}
    FOLDERID_PublicDownloads:: GUID{0x3d644c9b, 0x1fb8, 0x4f30, {0x9b, 0x45, 0xf6, 0x70, 0x23, 0x5f, 0x79, 0xc0}}
    FOLDERID_PublicGameTasks:: GUID{0xdebf2536, 0xe1a8, 0x4c59, {0xb6, 0xa2, 0x41, 0x45, 0x86, 0x47, 0x6a, 0xea}}
    FOLDERID_PublicLibraries:: GUID{0x48daf80b, 0xe6cf, 0x4f4e, {0xb8, 0x00, 0x0e, 0x69, 0xd8, 0x4e, 0xe3, 0x84}}
    FOLDERID_PublicMusic:: GUID{0x3214FAB5, 0x9757, 0x4298, {0xBB, 0x61, 0x92, 0xA9, 0xDE, 0xAA, 0x44, 0xFF}}
    FOLDERID_PublicPictures:: GUID{0xB6EBFB86, 0x6907, 0x413C, {0x9A, 0xF7, 0x4F, 0xC2, 0xAB, 0xF0, 0x7C, 0xC5}}
    FOLDERID_PublicRingtones:: GUID{0xE555AB60, 0x153B, 0x4D17, {0x9F, 0x04, 0xA5, 0xFE, 0x99, 0xFC, 0x15, 0xEC}}
    FOLDERID_PublicUserTiles:: GUID{0x0482af6c, 0x08f1, 0x4c34, {0x8c, 0x90, 0xe1, 0x7e, 0xc9, 0x8b, 0x1e, 0x17}}
    FOLDERID_PublicVideos:: GUID{0x2400183A, 0x6185, 0x49FB, {0xA2, 0xD8, 0x4A, 0x39, 0x2A, 0x60, 0x2B, 0xA3}}
    FOLDERID_QuickLaunch:: GUID{0x52a4f021, 0x7b75, 0x48a9, {0x9f, 0x6b, 0x4b, 0x87, 0xa2, 0x10, 0xbc, 0x8f}}
    FOLDERID_Recent:: GUID{0xAE50C081, 0xEBD2, 0x438A, {0x86, 0x55, 0x8A, 0x09, 0x2E, 0x34, 0x98, 0x7A}}
    FOLDERID_RecordedCalls:: GUID{0x2f8b40c2, 0x83ed, 0x48ee, {0xb3, 0x83, 0xa1, 0xf1, 0x57, 0xec, 0x6f, 0x9a}}
    FOLDERID_RecordedTVLibrary:: GUID{0x1a6fdba2, 0xf42d, 0x4358, {0xa7, 0x98, 0xb7, 0x4d, 0x74, 0x59, 0x26, 0xc5}}
    FOLDERID_RecycleBinFolder:: GUID{0xB7534046, 0x3ECB, 0x4C18, {0xBE, 0x4E, 0x64, 0xCD, 0x4C, 0xB7, 0xD6, 0xAC}}
    FOLDERID_ResourceDir:: GUID{0x8AD10C31, 0x2ADB, 0x4296, {0xA8, 0xF7, 0xE4, 0x70, 0x12, 0x32, 0xC9, 0x72}}
    FOLDERID_RetailDemo:: GUID{0x12d4c69e, 0x24ad, 0x4923, {0xbe, 0x19, 0x31, 0x32, 0x1c, 0x43, 0xa7, 0x67}}
    FOLDERID_Ringtones:: GUID{0xC870044B, 0xF49E, 0x4126, {0xA9, 0xC3, 0xB5, 0x2A, 0x1F, 0xF4, 0x11, 0xE8}}
    FOLDERID_RoamedTileImages:: GUID{0xaaa8d5a5, 0xf1d6, 0x4259, {0xba, 0xa8, 0x78, 0xe7, 0xef, 0x60, 0x83, 0x5e}}
    FOLDERID_RoamingAppData:: GUID{0x3EB685DB, 0x65F9, 0x4CF6, {0xA0, 0x3A, 0xE3, 0xEF, 0x65, 0x72, 0x9F, 0x3D}}
    FOLDERID_RoamingTiles:: GUID{0xbcfc5a, 0xed94, 0x4e48, {0x96, 0xa1, 0x3f, 0x62, 0x17, 0xf2, 0x19, 0x90}}
    FOLDERID_SEARCH_CSC:: GUID{0xee32e446, 0x31ca, 0x4aba, {0x81, 0x4f, 0xa5, 0xeb, 0xd2, 0xfd, 0x6d, 0x5e}}
    FOLDERID_SEARCH_MAPI:: GUID{0x98ec0e18, 0x2098, 0x4d44, {0x86, 0x44, 0x66, 0x97, 0x93, 0x15, 0xa2, 0x81}}
    FOLDERID_SampleMusic:: GUID{0xB250C668, 0xF57D, 0x4EE1, {0xA6, 0x3C, 0x29, 0x0E, 0xE7, 0xD1, 0xAA, 0x1F}}
    FOLDERID_SamplePictures:: GUID{0xC4900540, 0x2379, 0x4C75, {0x84, 0x4B, 0x64, 0xE6, 0xFA, 0xF8, 0x71, 0x6B}}
    FOLDERID_SamplePlaylists:: GUID{0x15CA69B3, 0x30EE, 0x49C1, {0xAC, 0xE1, 0x6B, 0x5E, 0xC3, 0x72, 0xAF, 0xB5}}
    FOLDERID_SampleVideos:: GUID{0x859EAD94, 0x2E85, 0x48AD, {0xA7, 0x1A, 0x09, 0x69, 0xCB, 0x56, 0xA6, 0xCD}}
    FOLDERID_SavedGames:: GUID{0x4c5c32ff, 0xbb9d, 0x43b0, {0xb5, 0xb4, 0x2d, 0x72, 0xe5, 0x4e, 0xaa, 0xa4}}
    FOLDERID_SavedPictures:: GUID{0x3b193882, 0xd3ad, 0x4eab, {0x96, 0x5a, 0x69, 0x82, 0x9d, 0x1f, 0xb5, 0x9f}}
    FOLDERID_SavedPicturesLibrary:: GUID{0xe25b5812, 0xbe88, 0x4bd9, {0x94, 0xb0, 0x29, 0x23, 0x34, 0x77, 0xb6, 0xc3}}
    FOLDERID_SavedSearches:: GUID{0x7d1d3a04, 0xdebb, 0x4115, {0x95, 0xcf, 0x2f, 0x29, 0xda, 0x29, 0x20, 0xda}}
    FOLDERID_Screenshots:: GUID{0xb7bede81, 0xdf94, 0x4682, {0xa7, 0xd8, 0x57, 0xa5, 0x26, 0x20, 0xb8, 0x6f}}
    FOLDERID_SearchHistory:: GUID{0x0d4c3db6, 0x03a3, 0x462f, {0xa0, 0xe6, 0x08, 0x92, 0x4c, 0x41, 0xb5, 0xd4}}
    FOLDERID_SearchHome:: GUID{0x190337d1, 0xb8ca, 0x4121, {0xa6, 0x39, 0x6d, 0x47, 0x2d, 0x16, 0x97, 0x2a}}
    FOLDERID_SearchTemplates:: GUID{0x7e636bfe, 0xdfa9, 0x4d5e, {0xb4, 0x56, 0xd7, 0xb3, 0x98, 0x51, 0xd8, 0xa9}}
    FOLDERID_SendTo:: GUID{0x8983036C, 0x27C0, 0x404B, {0x8F, 0x08, 0x10, 0x2D, 0x10, 0xDC, 0xFD, 0x74}}
    FOLDERID_SidebarDefaultParts:: GUID{0x7b396e54, 0x9ec5, 0x4300, {0xbe, 0xa, 0x24, 0x82, 0xeb, 0xae, 0x1a, 0x26}}
    FOLDERID_SidebarParts:: GUID{0xa75d362e, 0x50fc, 0x4fb7, {0xac, 0x2c, 0xa8, 0xbe, 0xaa, 0x31, 0x44, 0x93}}
    FOLDERID_SkyDrive:: GUID{0xa52bba46, 0xe9e1, 0x435f, {0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6}}
    FOLDERID_SkyDriveCameraRoll:: GUID{0x767e6811, 0x49cb, 0x4273, {0x87, 0xc2, 0x20, 0xf3, 0x55, 0xe1, 0x08, 0x5b}}
    FOLDERID_SkyDriveDocuments:: GUID{0x24d89e24, 0x2f19, 0x4534, {0x9d, 0xde, 0x6a, 0x66, 0x71, 0xfb, 0xb8, 0xfe}}
    FOLDERID_SkyDriveMusic:: GUID{0xc3f2459e, 0x80d6, 0x45dc, {0xbf, 0xef, 0x1f, 0x76, 0x9f, 0x2b, 0xe7, 0x30}}
    FOLDERID_SkyDrivePictures:: GUID{0x339719b5, 0x8c47, 0x4894, {0x94, 0xc2, 0xd8, 0xf7, 0x7a, 0xdd, 0x44, 0xa6}}
    FOLDERID_StartMenu:: GUID{0x625B53C3, 0xAB48, 0x4EC1, {0xBA, 0x1F, 0xA1, 0xEF, 0x41, 0x46, 0xFC, 0x19}}
    FOLDERID_StartMenuAllPrograms:: GUID{0xf26305ef, 0x6948, 0x40b9, {0xb2, 0x55, 0x81, 0x45, 0x3d, 0x9, 0xc7, 0x85}}
    FOLDERID_Startup:: GUID{0xB97D20BB, 0xF46A, 0x4C97, {0xBA, 0x10, 0x5E, 0x36, 0x08, 0x43, 0x08, 0x54}}
    FOLDERID_SyncManagerFolder:: GUID{0x43668BF8, 0xC14E, 0x49B2, {0x97, 0xC9, 0x74, 0x77, 0x84, 0xD7, 0x84, 0xB7}}
    FOLDERID_SyncResultsFolder:: GUID{0x289a9a43, 0xbe44, 0x4057, {0xa4, 0x1b, 0x58, 0x7a, 0x76, 0xd7, 0xe7, 0xf9}}
    FOLDERID_SyncSetupFolder:: GUID{0xf214138, 0xb1d3, 0x4a90, {0xbb, 0xa9, 0x27, 0xcb, 0xc0, 0xc5, 0x38, 0x9a}}
    FOLDERID_System:: GUID{0x1AC14E77, 0x02E7, 0x4E5D, {0xB7, 0x44, 0x2E, 0xB1, 0xAE, 0x51, 0x98, 0xB7}}
    FOLDERID_SystemX86:: GUID{0xD65231B0, 0xB2F1, 0x4857, {0xA4, 0xCE, 0xA8, 0xE7, 0xC6, 0xEA, 0x7D, 0x27}}
    FOLDERID_Templates:: GUID{0xA63293E8, 0x664E, 0x48DB, {0xA0, 0x79, 0xDF, 0x75, 0x9E, 0x05, 0x09, 0xF7}}
    FOLDERID_UserPinned:: GUID{0x9e3995ab, 0x1f9c, 0x4f13, {0xb8, 0x27, 0x48, 0xb2, 0x4b, 0x6c, 0x71, 0x74}}
    FOLDERID_UserProfiles:: GUID{0x0762D272, 0xC50A, 0x4BB0, {0xA3, 0x82, 0x69, 0x7D, 0xCD, 0x72, 0x9B, 0x80}}
    FOLDERID_UserProgramFiles:: GUID{0x5cd7aee2, 0x2219, 0x4a67, {0xb8, 0x5d, 0x6c, 0x9c, 0xe1, 0x56, 0x60, 0xcb}}
    FOLDERID_UserProgramFilesCommon:: GUID{0xbcbd3057, 0xca5c, 0x4622, {0xb4, 0x2d, 0xbc, 0x56, 0xdb, 0x0a, 0xe5, 0x16}}
    FOLDERID_UsersFiles:: GUID{0xf3ce0f7c, 0x4901, 0x4acc, {0x86, 0x48, 0xd5, 0xd4, 0x4b, 0x04, 0xef, 0x8f}}
    FOLDERID_UsersLibraries:: GUID{0xa302545d, 0xdeff, 0x464b, {0xab, 0xe8, 0x61, 0xc8, 0x64, 0x8d, 0x93, 0x9b}}
    FOLDERID_Videos:: GUID{0x18989B1D, 0x99B5, 0x455B, {0x84, 0x1C, 0xAB, 0x7C, 0x74, 0xE4, 0xDD, 0xFC}}
    FOLDERID_VideosLibrary:: GUID{0x491e922f, 0x5643, 0x4af4, {0xa7, 0xeb, 0x4e, 0x7a, 0x13, 0x8d, 0x81, 0x74}}
    FOLDERID_Windows:: GUID{0xF38BF404, 0x1D43, 0x42F2, {0x93, 0x05, 0x67, 0xDE, 0x0B, 0x28, 0xFC, 0x23}}
    FOREGROUND_… 4
    FOREGROUND_BLUE: u16 : WORD(0x0001)
    FOREGROUND_GREEN: u16 : WORD(0x0002)
    FOREGROUND_INTENSITY: u16 : WORD(0x0008)
    FOREGROUND_RED: u16 : WORD(0x0004)
    FORMAT_… 7
    FORMAT_MESSAGE_ALLOCATE_BUFFER:: 0x00000100
    FORMAT_MESSAGE_ARGUMENT_ARRAY:: 0x00002000
    FORMAT_MESSAGE_FROM_HMODULE:: 0x00000800
    FORMAT_MESSAGE_FROM_STRING:: 0x00000400
    FORMAT_MESSAGE_FROM_SYSTEM:: 0x00001000
    FORMAT_MESSAGE_IGNORE_INSERTS:: 0x00000200
    FORMAT_MESSAGE_MAX_WIDTH_MASK:: 0x000000FF
    FOS_… 23
    FOS_ALLNONSTORAGEITEMS:: 0x80
    FOS_ALLOWMULTISELECT:: 0x200
    FOS_CREATEPROMPT:: 0x2000
    FOS_DEFAULTNOMINIMODE:: 0x20000000
    FOS_DONTADDTORECENT:: 0x2000000
    FOS_FILEMUSTEXIST:: 0x1000
    FOS_FORCEFILESYSTEM:: 0x40
    FOS_FORCEPREVIEWPANEON:: 0x40000000
    FOS_FORCESHOWHIDDEN:: 0x10000000
    FOS_HIDEMRUPLACES:: 0x20000
    FOS_HIDEPINNEDPLACES:: 0x40000
    FOS_NOCHANGEDIR:: 0x8
    FOS_NOREADONLYRETURN:: 0x8000
    FOS_NOTESTFILECREATE:: 0x10000
    FOS_NOVALIDATE:: 0x100
    FOS_OKBUTTONNEEDSINTERACTION:: 0x200000
    FOS_OVERWRITEPROMPT:: 0x2
    FOS_PATHMUSTEXIST:: 0x800
    FOS_PICKFOLDERS:: 0x20
    FOS_SHAREAWARE:: 0x4000
    FOS_STRICTFILETYPES:: 0x4
    FOS_SUPPORTSTREAMABLEITEMS:: 0x80000000
    FO_… 4
    FO_COPY:: 0x0002
    FO_DELETE:: 0x0003
    FO_MOVE:: 0x0001
    Shell File Operations
    FO_RENAME:: 0x0004
    FR_… 24
    FR_DIALOGTERM:: 0x00000040
    FR_DOWN:: 0x00000001
    Flags for FINDREPLACEW
    FR_ENABLEHOOK:: 0x00000100
    FR_ENABLETEMPLATE:: 0x00000200
    FR_ENABLETEMPLATEHANDLE:: 0x00002000
    FR_FINDNEXT:: 0x00000008
    FR_HIDEMATCHCASE:: 0x00008000
    FR_HIDEUPDOWN:: 0x00004000
    FR_HIDEWHOLEWORD:: 0x00010000
    FR_MATCHALEFHAMZA:: 0x80000000
    FR_MATCHCASE:: 0x00000004
    FR_MATCHDIAC:: 0x20000000
    FR_MATCHKASHIDA:: 0x40000000
    FR_NOMATCHCASE:: 0x00000800
    FR_NOUPDOWN:: 0x00000400
    FR_NOWHOLEWORD:: 0x00001000
    FR_NOWRAPAROUND:: 0x00080000
    FR_RAW:: 0x00020000
    FR_REPLACE:: 0x00000010
    FR_REPLACEALL:: 0x00000020
    FR_SHOWHELP:: 0x00000080
    FR_SHOWWRAPAROUND:: 0x00040000
    FR_WHOLEWORD:: 0x00000002
    FR_WRAPAROUND:: 0x00100000
    FSCTL_GET_REPARSE_POINT: u32 : 0x900a8
    FSCTL_SET_REPARSE_POINT: u32 : 0x900a4
    FS_… 16
    FS_ARABIC:: 0x00000040
    FS_BALTIC:: 0x00000080
    FS_CHINESESIMP:: 0x00040000
    FS_CHINESETRAD:: 0x00100000
    FS_CYRILLIC:: 0x00000004
    FS_GREEK:: 0x00000008
    FS_HEBREW:: 0x00000020
    FS_JISJAPAN:: 0x00020000
    FS_JOHAB:: 0x00200000
    FS_LATIN1:: 0x00000001
    Font Signature Bitmaps
    FS_LATIN2:: 0x00000002
    FS_SYMBOL:: 0x80000000
    FS_THAI:: 0x00010000
    FS_TURKISH:: 0x00000010
    FS_VIETNAMESE:: 0x00000100
    FS_WANSUNG:: 0x00080000
    FW_… 15
    FW_BLACK:: FW_HEAVY
    FW_BOLD:: 700
    FW_DEMIBOLD:: FW_SEMIBOLD
    FW_DONTCARE:: 0
    Font Weights
    FW_EXTRABOLD:: 800
    FW_EXTRALIGHT:: 200
    FW_HEAVY:: 900
    FW_LIGHT:: 300
    FW_MEDIUM:: 500
    FW_NORMAL:: 400
    FW_REGULAR:: FW_NORMAL
    FW_SEMIBOLD:: 600
    FW_THIN:: 100
    FW_ULTRABOLD:: FW_EXTRABOLD
    FW_ULTRALIGHT:: FW_EXTRALIGHT
    GB2312_CHARSET:: 134
    GCLP_… 7
    GCLP_HBRBACKGROUND:: -10
    GCLP_HCURSOR:: -12
    GCLP_HICON:: -14
    GCLP_HICONSM:: -34
    GCLP_HMODULE:: -16
    GCLP_MENUNAME:: -8
    GCLP_WNDPROC:: -24
    GCL_… 3
    GCL_CBCLSEXTRA:: -20
    GCL_CBWNDEXTRA:: -18
    Class field offsets for GetClassLong()
    GCL_STYLE:: -26
    GCW_ATOM:: -32
    GENERIC_… 4
    GENERIC_ALL: u32 : 0x10000000
    GENERIC_EXECUTE: u32 : 0x20000000
    GENERIC_READ: u32 : 0x80000000
    GENERIC_WRITE: u32 : 0x40000000
    GESTUREVISUALIZATION_… 7
    GESTUREVISUALIZATION_DOUBLETAP:: 0x0002
    GESTUREVISUALIZATION_OFF:: 0x0000
    constants for SPI_GETGESTUREVISUALIZATION and SPI_SETGESTUREVISUALIZATION
    GESTUREVISUALIZATION_ON:: 0x001F
    GESTUREVISUALIZATION_PRESSANDHOLD:: 0x0008
    GESTUREVISUALIZATION_PRESSANDTAP:: 0x0004
    GESTUREVISUALIZATION_RIGHTTAP:: 0x0010
    GESTUREVISUALIZATION_TAP:: 0x0001
    GHND:: GMEM_MOVEABLE | GMEM_ZEROINIT
    GMEM_… 14
    GMEM_DDESHARE:: 0x2000
    GMEM_DISCARDABLE:: 0x0100
    GMEM_FIXED:: 0x0000
    Global Memory Flags
    GMEM_INVALID_HANDLE:: 0x8000
    GMEM_LOWER:: GMEM_NOT_BANKED
    GMEM_MODIFY:: 0x0080
    GMEM_MOVEABLE:: 0x0002
    GMEM_NOCOMPACT:: 0x0010
    GMEM_NODISCARD:: 0x0020
    GMEM_NOTIFY:: 0x4000
    GMEM_NOT_BANKED:: 0x1000
    GMEM_SHARE:: 0x2000
    GMEM_VALID_FLAGS:: 0x7F72
    GMEM_ZEROINIT:: 0x0040
    GNLEN:: UNLEN
    Group name
    GPTR:: GMEM_FIXED | GMEM_ZEROINIT
    GRADIENT_… 4
    GRADIENT_FILL_OP_FLAG: u32 : 0x000000ff
    GRADIENT_FILL_RECT_H: u32 : 0x00000000
    GRADIENT_FILL_RECT_V: u32 : 0x00000001
    GRADIENT_FILL_TRIANGLE: u32 : 0x00000002
    GRAY_BRUSH:: 2
    GREEK_CHARSET:: 161
    GROUP_SECURITY_INFORMATION:: 0x00000002
    GWLP_… 5
    GWLP_HINSTANCE:: -6
    GWLP_HWNDPARENT:: -8
    GWLP_ID:: -12
    GWLP_USERDATA:: -21
    GWLP_WNDPROC:: -4
    GWL_… 3
    GWL_EXSTYLE:: -20
    GWL_ID:: -12
    GWL_STYLE:: -16
    Window field offsets for GetWindowLong()
    GW_… 8
    GW_CHILD:: 5
    GW_ENABLEDPOPUP:: 6
    GW_HWNDFIRST:: 0
    Command constants for GetWindow
    GW_HWNDLAST:: 1
    GW_HWNDNEXT:: 2
    GW_HWNDPREV:: 3
    GW_MAX:: 6
    GW_OWNER:: 4
    GetFileExInfoStandard: GET_FILEEX_INFO_LEVELS : 0
    GetFileExMaxInfoLevel: GET_FILEEX_INFO_LEVELS : 1
    HALFTONE:: 4
    HANDLE_FLAG_INHERIT: u32 : 0x00000001
    HANDLE_FLAG_PROTECT_FROM_CLOSE:: 0x00000002
    HANGEUL_CHARSET:: 129
    HANGUL_CHARSET:: 129
    HCBT_… 10
    HCBT_ACTIVATE:: 5
    HCBT_CLICKSKIPPED:: 6
    HCBT_CREATEWND:: 3
    HCBT_DESTROYWND:: 4
    HCBT_KEYSKIPPED:: 7
    HCBT_MINMAX:: 1
    HCBT_MOVESIZE:: 0
    CBT Hook Codes
    HCBT_QS:: 2
    HCBT_SETFOCUS:: 9
    HCBT_SYSCOMMAND:: 8
    HC_… 7
    HC_ACTION:: 0
    Hook Codes
    HC_GETNEXT:: 1
    HC_NOREM:: HC_NOREMOVE
    HC_NOREMOVE:: 3
    HC_SKIP:: 2
    HC_SYSMODALOFF:: 5
    HC_SYSMODALON:: 4
    HDFT_… 3
    HDFT_HASNOVALUE:: 0x8000
    HDFT_ISNUMBER:: 0x0001
    HDFT_ISSTRING:: 0x0000
    Header Control Constants
    HDF_… 16
    HDF_BITMAP:: 0x0002000
    HDF_BITMAP_ON_RIGHT:: 0x0001000
    HDF_CENTER:: 0x0000002
    HDF_CHECKBOX:: 0x0000040
    HDF_CHECKED:: 0x0000080
    HDF_FIXEDWIDTH:: 0x0000100
    HDF_IMAGE:: 0x0000800
    HDF_JUSTIFYMASK:: 0x0000003
    HDF_LEFT:: 0x0000000
    HDF_OWNERDRAW:: 0x0008000
    HDF_RIGHT:: 0x0000001
    HDF_RTLREADING:: 0x0000004
    HDF_SORTDOWN:: 0x0000200
    HDF_SORTUP:: 0x0000400
    HDF_SPLITBUTTON:: 0x1000000
    HDF_STRING:: 0x0004000
    HDI_… 10
    HDI_BITMAP:: 0x010
    HDI_DI_SETITEM:: 0x040
    HDI_FILTER:: 0x100
    HDI_FORMAT:: 0x004
    HDI_HEIGHT:: HDI_WIDTH
    HDI_IMAGE:: 0x020
    HDI_LPARAM:: 0x008
    HDI_ORDER:: 0x080
    HDI_TEXT:: 0x002
    HDI_WIDTH:: 0x001
    HDM_… 26
    HDM_CLEARFILTER:: HDM_FIRST + 24
    HDM_CREATEDRAGIMAGE:: HDM_FIRST + 16
    HDM_DELETEITEM:: HDM_FIRST + 2
    HDM_EDITFILTER:: HDM_FIRST + 23
    HDM_FIRST:: 0x1200
    HDM_GETBITMAPMARGIN:: HDM_FIRST + 21
    HDM_GETIMAGELIST:: HDM_FIRST + 9
    HDM_GETITEMA:: HDM_FIRST + 3
    HDM_GETITEMCOUNT:: HDM_FIRST + 0
    HDM_GETITEMRECT:: HDM_FIRST + 7
    HDM_GETITEMW:: HDM_FIRST + 11
    HDM_GETORDERARRAY:: HDM_FIRST + 17
    HDM_GETUNICODEFORMAT:: CCM_GETUNICODEFORMAT
    HDM_HITTEST:: HDM_FIRST + 6
    HDM_INSERTITEMA:: HDM_FIRST + 1
    HDM_INSERTITEMW:: HDM_FIRST + 10
    HDM_LAYOUT:: HDM_FIRST + 5
    HDM_ORDERTOINDEX:: HDM_FIRST + 15
    HDM_SETBITMAPMARGIN:: HDM_FIRST + 20
    HDM_SETFILTERCHANGETIMEOUT:: HDM_FIRST + 22
    HDM_SETHOTDIVIDER:: HDM_FIRST + 19
    HDM_SETIMAGELIST:: HDM_FIRST + 8
    HDM_SETITEMA:: HDM_FIRST + 4
    HDM_SETITEMW:: HDM_FIRST + 12
    HDM_SETORDERARRAY:: HDM_FIRST + 18
    HDM_SETUNICODEFORMAT:: CCM_SETUNICODEFORMAT
    HDN_… 24
    HDN_BEGINDRAG: u32 : HDN_FIRST - 10
    HDN_BEGINTRACKA: u32 : HDN_FIRST - 6
    HDN_BEGINTRACKW: u32 : HDN_FIRST - 26
    HDN_DIVIDERDBLCLICKA: u32 : HDN_FIRST - 5
    HDN_DIVIDERDBLCLICKW: u32 : HDN_FIRST - 25
    HDN_ENDDRAG: u32 : HDN_FIRST - 11
    HDN_ENDTRACKA: u32 : HDN_FIRST - 7
    HDN_ENDTRACKW: u32 : HDN_FIRST - 27
    HDN_FILTERBTNCLICK: u32 : HDN_FIRST - 13
    HDN_FILTERCHANGE: u32 : HDN_FIRST - 12
    HDN_FIRST: u32 : ~DWORD(300 - 1)
    HDN_GETDISPINFOA: u32 : HDN_FIRST - 9
    HDN_GETDISPINFOW: u32 : HDN_FIRST - 29
    HDN_ITEMCHANGEDA: u32 : HDN_FIRST - 1
    HDN_ITEMCHANGEDW: u32 : HDN_FIRST - 21
    HDN_ITEMCHANGINGA: u32 : HDN_FIRST - 0
    Header Control Notifications
    HDN_ITEMCHANGINGW: u32 : HDN_FIRST - 20
    HDN_ITEMCLICKA: u32 : HDN_FIRST - 2
    HDN_ITEMCLICKW: u32 : HDN_FIRST - 22
    HDN_ITEMDBLCLICKA: u32 : HDN_FIRST - 3
    HDN_ITEMDBLCLICKW: u32 : HDN_FIRST - 23
    HDN_LAST: u32 : ~DWORD(399 - 1)
    HDN_TRACKA: u32 : HDN_FIRST - 8
    HDN_TRACKW: u32 : HDN_FIRST - 28
    HDS_… 8
    HDS_BUTTONS:: 0x002
    HDS_DRAGDROP:: 0x040
    HDS_FILTERBAR:: 0x100
    HDS_FLAT:: 0x200
    HDS_FULLDRAG:: 0x080
    HDS_HIDDEN:: 0x008
    HDS_HORZ:: 0x000
    Header Control Styles
    HDS_HOTTRACK:: 0x004
    HEAP_ZERO_MEMORY: u32 : 0x00000008
    HEBREW_CHARSET:: 177
    HHT_… 10
    HHT_ABOVE:: 0x100
    HHT_BELOW:: 0x200
    HHT_NOWHERE:: 0x001
    HHT_ONDIVIDER:: 0x004
    HHT_ONDIVOPEN:: 0x008
    HHT_ONFILTER:: 0x010
    HHT_ONFILTERBUTTON:: 0x020
    HHT_ONHEADER:: 0x002
    HHT_TOLEFT:: 0x800
    HHT_TORIGHT:: 0x400
    HIDP_… 21
    HIDP_STATUS_BAD_LOG_PHY_VALUES: i32 : -1072627706
    0xC0100006
    HIDP_STATUS_BUFFER_TOO_SMALL: i32 : -1072627705
    0xC0110007
    HIDP_STATUS_BUTTON_NOT_PRESSED: i32 : -1072627697
    0xC011000F
    HIDP_STATUS_DATA_INDEX_NOT_FOUND: i32 : -1072627699
    0xC011000D
    HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE: i32 : -1072627698
    0xC011000E
    HIDP_STATUS_I8042_TRANS_UNKNOWN: i32 : -1072627703
    0xC0110009
    HIDP_STATUS_I8242_TRANS_UNKNOWN: i32 : HIDP_STATUS_I8042_TRANS_UNKNOWN
    HIDP_STATUS_INCOMPATIBLE_REPORT_ID: i32 : -1072627702
    0xC011000A
    HIDP_STATUS_INTERNAL_ERROR: i32 : -1072627704
    0xC0110008
    HIDP_STATUS_INVALID_PREPARSED_DATA: i32 : -1072627711
    0xC0110001
    HIDP_STATUS_INVALID_REPORT_LENGTH: i32 : -1072627709
    0xC0110003
    HIDP_STATUS_INVALID_REPORT_TYPE: i32 : -1072627710
    0xC0110002
    HIDP_STATUS_IS_VALUE_ARRAY: i32 : -1072627700
    0xC011000C
    HIDP_STATUS_NOT_BUTTON_ARRAY: i32 : -1072627679
    0xC0110021
    HIDP_STATUS_NOT_IMPLEMENTED: i32 : -1072627680
    0xC0110020
    HIDP_STATUS_NOT_VALUE_ARRAY: i32 : -1072627701
    0xC011000B
    HIDP_STATUS_NULL: i32 : -2146369535
    0x80110001
    HIDP_STATUS_REPORT_DOES_NOT_EXIST: i32 : -1072627696
    0xC0110010
    HIDP_STATUS_SUCCESS: i32 : 0x110000
    HIDP_STATUS_USAGE_NOT_FOUND: i32 : -1072627708
    0xC0110004
    HIDP_STATUS_VALUE_OUT_OF_RANGE: i32 : -1072627707
    0xC0110005
    HID_… 615
    HID_USAGE_ALPHANUMERIC_14_SEGMENT_DIRECT_MAP:: 0x45
    HID_USAGE_ALPHANUMERIC_7_SEGMENT_DIRECT_MAP:: 0x43
    HID_USAGE_ALPHANUMERIC_ALPHANUMERIC_DISPLAY:: 0x01
    HID_USAGE_ALPHANUMERIC_ASCII_CHARACTER_SET:: 0x21
    HID_USAGE_ALPHANUMERIC_ATTRIBUTE_DATA:: 0x4A
    HID_USAGE_ALPHANUMERIC_ATTRIBUTE_READBACK:: 0x49
    HID_USAGE_ALPHANUMERIC_BITMAPPED_DISPLAY:: 0x02
    HID_USAGE_ALPHANUMERIC_BITMAP_SIZE_X:: 0x80
    HID_USAGE_ALPHANUMERIC_BITMAP_SIZE_Y:: 0x81
    HID_USAGE_ALPHANUMERIC_BIT_DEPTH_FORMAT:: 0x83
    HID_USAGE_ALPHANUMERIC_BLIT_DATA:: 0x8F
    HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_X1:: 0x8B
    HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_X2:: 0x8D
    HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_Y1:: 0x8C
    HID_USAGE_ALPHANUMERIC_BLIT_RECTANGLE_Y2:: 0x8E
    HID_USAGE_ALPHANUMERIC_BLIT_REPORT:: 0x8A
    HID_USAGE_ALPHANUMERIC_CHARACTER_ATTRIBUTE:: 0x48
    HID_USAGE_ALPHANUMERIC_CHARACTER_REPORT:: 0x2B
    HID_USAGE_ALPHANUMERIC_CHAR_ATTR_ENHANCE:: 0x4B
    HID_USAGE_ALPHANUMERIC_CHAR_ATTR_UNDERLINE:: 0x4C
    HID_USAGE_ALPHANUMERIC_CHAR_HEIGHT:: 0x3E
    HID_USAGE_ALPHANUMERIC_CHAR_SPACING_HORIZONTAL:: 0x3F
    HID_USAGE_ALPHANUMERIC_CHAR_SPACING_VERTICAL:: 0x40
    HID_USAGE_ALPHANUMERIC_CHAR_WIDTH:: 0x3D
    HID_USAGE_ALPHANUMERIC_CLEAR_DISPLAY:: 0x25
    HID_USAGE_ALPHANUMERIC_COLUMN:: 0x34
    HID_USAGE_ALPHANUMERIC_COLUMNS:: 0x36
    HID_USAGE_ALPHANUMERIC_CURSOR_ENABLE:: 0x39
    HID_USAGE_ALPHANUMERIC_CURSOR_MODE:: 0x38
    HID_USAGE_ALPHANUMERIC_CURSOR_PIXEL_POSITIONING:: 0x37
    HID_USAGE_ALPHANUMERIC_CURSOR_POSITION_REPORT:: 0x32
    HID_USAGE_ALPHANUMERIC_DATA_READ_BACK:: 0x22
    HID_USAGE_ALPHANUMERIC_DISPLAY_ATTRIBUTES_REPORT:: 0x20
    HID_USAGE_ALPHANUMERIC_DISPLAY_BRIGHTNESS:: 0x46
    HID_USAGE_ALPHANUMERIC_DISPLAY_CONTRAST:: 0x47
    HID_USAGE_ALPHANUMERIC_DISPLAY_CONTROL_REPORT:: 0x24
    HID_USAGE_ALPHANUMERIC_DISPLAY_DATA:: 0x2C
    HID_USAGE_ALPHANUMERIC_DISPLAY_ENABLE:: 0x26
    HID_USAGE_ALPHANUMERIC_DISPLAY_ORIENTATION:: 0x84
    HID_USAGE_ALPHANUMERIC_DISPLAY_STATUS:: 0x2D
    HID_USAGE_ALPHANUMERIC_ERR_FONT_DATA_CANNOT_BE_READ:: 0x31
    HID_USAGE_ALPHANUMERIC_ERR_NOT_A_LOADABLE_CHARACTER:: 0x30
    HID_USAGE_ALPHANUMERIC_FONT_14_SEGMENT:: 0x44
    HID_USAGE_ALPHANUMERIC_FONT_7_SEGMENT:: 0x42
    HID_USAGE_ALPHANUMERIC_FONT_DATA:: 0x3C
    HID_USAGE_ALPHANUMERIC_FONT_READ_BACK:: 0x23
    HID_USAGE_ALPHANUMERIC_FONT_REPORT:: 0x3B
    HID_USAGE_ALPHANUMERIC_HORIZONTAL_SCROLL:: 0x2A
    HID_USAGE_ALPHANUMERIC_PALETTE_DATA:: 0x88
    HID_USAGE_ALPHANUMERIC_PALETTE_DATA_OFFSET:: 0x87
    HID_USAGE_ALPHANUMERIC_PALETTE_DATA_SIZE:: 0x86
    HID_USAGE_ALPHANUMERIC_PALETTE_REPORT:: 0x85
    HID_USAGE_ALPHANUMERIC_ROW:: 0x33
    HID_USAGE_ALPHANUMERIC_ROWS:: 0x35
    HID_USAGE_ALPHANUMERIC_SCREEN_SAVER_DELAY:: 0x27
    HID_USAGE_ALPHANUMERIC_SCREEN_SAVER_ENABLE:: 0x28
    HID_USAGE_ALPHANUMERIC_SOFT_BUTTON:: 0x90
    HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_ID:: 0x91
    HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_OFFSET1:: 0x93
    HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_OFFSET2:: 0x94
    HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_REPORT:: 0x95
    HID_USAGE_ALPHANUMERIC_SOFT_BUTTON_SIDE:: 0x92
    HID_USAGE_ALPHANUMERIC_STATUS_NOT_READY:: 0x2E
    HID_USAGE_ALPHANUMERIC_STATUS_READY:: 0x2F
    HID_USAGE_ALPHANUMERIC_UNICODE_CHAR_SET:: 0x41
    HID_USAGE_ALPHANUMERIC_VERTICAL_SCROLL:: 0x29
    HID_USAGE_CAMERA_AUTO_FOCUS:: 0x20
    HID_USAGE_CAMERA_SHUTTER:: 0x21
    HID_USAGE_CONSUMERCTRL:: 0x01
    HID_USAGE_CONSUMER_AC_BACK:: 0x224
    HID_USAGE_CONSUMER_AC_BOOKMARKS:: 0x22A
    HID_USAGE_CONSUMER_AC_FORWARD:: 0x225
    HID_USAGE_CONSUMER_AC_GOTO:: 0x222
    HID_USAGE_CONSUMER_AC_HOME:: 0x223
    HID_USAGE_CONSUMER_AC_NEXT:: 0x229
    HID_USAGE_CONSUMER_AC_PAN:: 0x238
    HID_USAGE_CONSUMER_AC_PREVIOUS:: 0x228
    HID_USAGE_CONSUMER_AC_REFRESH:: 0x227
    HID_USAGE_CONSUMER_AC_STOP:: 0x226
    HID_USAGE_CONSUMER_AL_BROWSER:: 0x194
    HID_USAGE_CONSUMER_AL_CALCULATOR:: 0x192
    HID_USAGE_CONSUMER_AL_CONFIGURATION:: 0x183
    Application Launch
    HID_USAGE_CONSUMER_AL_EMAIL:: 0x18A
    HID_USAGE_CONSUMER_BALANCE:: 0xE1
    HID_USAGE_CONSUMER_BASS:: 0xE3
    HID_USAGE_CONSUMER_BASS_BOOST:: 0xE5
    HID_USAGE_CONSUMER_BASS_DECREMENT:: 0x153
    HID_USAGE_CONSUMER_BASS_INCREMENT:: 0x152
    supplementary audio
    HID_USAGE_CONSUMER_CHANNEL_DECREMENT:: 0x9D
    HID_USAGE_CONSUMER_CHANNEL_INCREMENT:: 0x9C
    channel
    HID_USAGE_CONSUMER_EXTENDED_KEYBOARD_ATTRIBUTES_COLLECTION:: 0x2C0
    Keyboard Extended Attributes (defined on consumer page in HUTRR42)
    HID_USAGE_CONSUMER_FAST_FORWARD:: 0xB3
    HID_USAGE_CONSUMER_GAMEDVR_OPEN_GAMEBAR:: 0xD0
    GameDVR
    HID_USAGE_CONSUMER_GAMEDVR_RECORD_CLIP:: 0xD2
    HID_USAGE_CONSUMER_GAMEDVR_SCREENSHOT:: 0xD3
    HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_BROADCAST:: 0xD7
    HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_CAMERA:: 0xD6
    HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_INDICATOR:: 0xD4
    HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_MICROPHONE:: 0xD5
    HID_USAGE_CONSUMER_GAMEDVR_TOGGLE_RECORD:: 0xD1
    HID_USAGE_CONSUMER_IMPLEMENTED_KEYBOARD_INPUT_ASSIST_CONTROLS:: 0x2C6
    HID_USAGE_CONSUMER_KEYBOARD_FORM_FACTOR:: 0x2C1
    HID_USAGE_CONSUMER_KEYBOARD_IETF_LANGUAGE_TAG_INDEX:: 0x2C5
    HID_USAGE_CONSUMER_KEYBOARD_KEY_TYPE:: 0x2C2
    HID_USAGE_CONSUMER_KEYBOARD_PHYSICAL_LAYOUT:: 0x2C3
    HID_USAGE_CONSUMER_LOUDNESS:: 0xE7
    HID_USAGE_CONSUMER_MPX:: 0xE8
    HID_USAGE_CONSUMER_MUTE:: 0xE2
    HID_USAGE_CONSUMER_PAUSE:: 0xB1
    HID_USAGE_CONSUMER_PLAY:: 0xB0
    transport control
    HID_USAGE_CONSUMER_PLAY_PAUSE:: 0xCD
    HID_USAGE_CONSUMER_RECORD:: 0xB2
    HID_USAGE_CONSUMER_REWIND:: 0xB4
    HID_USAGE_CONSUMER_SCAN_NEXT_TRACK:: 0xB5
    HID_USAGE_CONSUMER_SCAN_PREV_TRACK:: 0xB6
    HID_USAGE_CONSUMER_STOP:: 0xB7
    HID_USAGE_CONSUMER_SURROUND_MODE:: 0xE6
    HID_USAGE_CONSUMER_TREBLE:: 0xE4
    HID_USAGE_CONSUMER_TREBLE_DECREMENT:: 0x155
    HID_USAGE_CONSUMER_TREBLE_INCREMENT:: 0x154
    HID_USAGE_CONSUMER_VENDOR_SPECIFIC_KEYBOARD_PHYSICAL_LAYOUT:: 0x2C4
    HID_USAGE_CONSUMER_VOLUME:: 0xE0
    audio
    HID_USAGE_CONSUMER_VOLUME_DECREMENT:: 0xEA
    HID_USAGE_CONSUMER_VOLUME_INCREMENT:: 0xE9
    HID_USAGE_DIGITIZER_3D_DIGITIZER:: 0x08
    HID_USAGE_DIGITIZER_ALTITUDE:: 0x40
    HID_USAGE_DIGITIZER_ARMATURE:: 0x0B
    HID_USAGE_DIGITIZER_ARTICULATED_ARM:: 0x0A
    HID_USAGE_DIGITIZER_AZIMUTH:: 0x3F
    HID_USAGE_DIGITIZER_BARREL_PRESSURE:: 0x31
    HID_USAGE_DIGITIZER_BARREL_SWITCH:: 0x44
    HID_USAGE_DIGITIZER_BATTERY_STRENGTH:: 0x3B
    HID_USAGE_DIGITIZER_COORD_MEASURING:: 0x07
    HID_USAGE_DIGITIZER_DATA_VALID:: 0x37
    HID_USAGE_DIGITIZER_DIGITIZER:: 0x01
    HID_USAGE_DIGITIZER_ERASER:: 0x45
    HID_USAGE_DIGITIZER_FINGER:: 0x22
    HID_USAGE_DIGITIZER_FREE_SPACE_WAND:: 0x0D
    HID_USAGE_DIGITIZER_HEAT_MAP:: 0x0F
    HID_USAGE_DIGITIZER_HEAT_MAP_FRAME_DATA:: 0x6C
    HID_USAGE_DIGITIZER_HEAT_MAP_PROTOCOL_VENDOR_ID:: 0x6A
    HID_USAGE_DIGITIZER_HEAT_MAP_PROTOCOL_VERSION:: 0x6B
    HID_USAGE_DIGITIZER_INVERT:: 0x3C
    HID_USAGE_DIGITIZER_IN_RANGE:: 0x32
    HID_USAGE_DIGITIZER_LIGHT_PEN:: 0x03
    HID_USAGE_DIGITIZER_MULTI_POINT:: 0x0C
    HID_USAGE_DIGITIZER_PEN:: 0x02
    HID_USAGE_DIGITIZER_PROG_CHANGE_KEYS:: 0x3A
    HID_USAGE_DIGITIZER_PUCK:: 0x21
    HID_USAGE_DIGITIZER_QUALITY:: 0x36
    HID_USAGE_DIGITIZER_SECONDARY_TIP_SWITCH:: 0x43
    HID_USAGE_DIGITIZER_STEREO_PLOTTER:: 0x09
    HID_USAGE_DIGITIZER_STYLUS:: 0x20
    HID_USAGE_DIGITIZER_TABLET_FUNC_KEYS:: 0x39
    HID_USAGE_DIGITIZER_TABLET_PICK:: 0x46
    HID_USAGE_DIGITIZER_TAP:: 0x35
    HID_USAGE_DIGITIZER_TIP_PRESSURE:: 0x30
    HID_USAGE_DIGITIZER_TIP_SWITCH:: 0x42
    HID_USAGE_DIGITIZER_TOUCH:: 0x33
    HID_USAGE_DIGITIZER_TOUCH_PAD:: 0x05
    HID_USAGE_DIGITIZER_TOUCH_SCREEN:: 0x04
    HID_USAGE_DIGITIZER_TRANSDUCER_CONNECTED:: 0xA2
    HID_USAGE_DIGITIZER_TRANSDUCER_INDEX:: 0x38
    HID_USAGE_DIGITIZER_TRANSDUCER_PRODUCT:: 0x92
    HID_USAGE_DIGITIZER_TRANSDUCER_SERIAL:: 0x5B
    HID_USAGE_DIGITIZER_TRANSDUCER_SERIAL_PART2:: 0x6E
    HID_USAGE_DIGITIZER_TRANSDUCER_VENDOR:: 0x91
    HID_USAGE_DIGITIZER_TWIST:: 0x41
    HID_USAGE_DIGITIZER_UNTOUCH:: 0x34
    HID_USAGE_DIGITIZER_WHITE_BOARD:: 0x06
    HID_USAGE_DIGITIZER_X_TILT:: 0x3D
    HID_USAGE_DIGITIZER_Y_TILT:: 0x3E
    HID_USAGE_GAME_3D_GAME_CONTROLLER:: 0x01
    HID_USAGE_GAME_BUMP:: 0x2C
    HID_USAGE_GAME_FLIPPER:: 0x2A
    HID_USAGE_GAME_GAMEPAD_FIRE_JUMP:: 0x37
    HID_USAGE_GAME_GAMEPAD_TRIGGER:: 0x39
    HID_USAGE_GAME_GUN_AUTOMATIC:: 0x35
    HID_USAGE_GAME_GUN_BOLT:: 0x30
    HID_USAGE_GAME_GUN_BURST:: 0x34
    HID_USAGE_GAME_GUN_CLIP:: 0x31
    HID_USAGE_GAME_GUN_DEVICE:: 0x03
    HID_USAGE_GAME_GUN_SAFETY:: 0x36
    HID_USAGE_GAME_GUN_SELECTOR:: 0x32
    HID_USAGE_GAME_GUN_SINGLE_SHOT:: 0x33
    HID_USAGE_GAME_LEAN_FORWARD_BACK:: 0x28
    HID_USAGE_GAME_LEAN_RIGHT_LEFT:: 0x27
    HID_USAGE_GAME_MOVE_FORWARD_BACK:: 0x25
    HID_USAGE_GAME_MOVE_RIGHT_LEFT:: 0x24
    HID_USAGE_GAME_MOVE_UP_DOWN:: 0x26
    HID_USAGE_GAME_NEW_GAME:: 0x2D
    HID_USAGE_GAME_PINBALL_DEVICE:: 0x02
    HID_USAGE_GAME_PITCH_FORWARD_BACK:: 0x22
    HID_USAGE_GAME_PLAYER:: 0x2F
    HID_USAGE_GAME_POINT_OF_VIEW:: 0x20
    HID_USAGE_GAME_POV_HEIGHT:: 0x29
    HID_USAGE_GAME_ROLL_RIGHT_LEFT:: 0x23
    HID_USAGE_GAME_SECONDARY_FLIPPER:: 0x2B
    HID_USAGE_GAME_SHOOT_BALL:: 0x2E
    HID_USAGE_GAME_TURN_RIGHT_LEFT:: 0x21
    HID_USAGE_GENERIC_BYTE_COUNT:: 0x3B
    HID_USAGE_GENERIC_CONTROL_ENABLE:: 0xCB
    HID_USAGE_GENERIC_COUNTED_BUFFER:: 0x3A
    HID_USAGE_GENERIC_DEVICE_BATTERY_STRENGTH:: 0x20
    HID_USAGE_GENERIC_DEVICE_DISCOVER_WIRELESS_CONTROL:: 0x23
    HID_USAGE_GENERIC_DEVICE_SECURITY_CODE_CHAR_ENTERED:: 0x24
    HID_USAGE_GENERIC_DEVICE_SECURITY_CODE_CHAR_ERASED:: 0x25
    HID_USAGE_GENERIC_DEVICE_SECURITY_CODE_CLEARED:: 0x26
    HID_USAGE_GENERIC_DEVICE_WIRELESS_CHANNEL:: 0x21
    HID_USAGE_GENERIC_DEVICE_WIRELESS_ID:: 0x22
    HID_USAGE_GENERIC_DIAL:: 0x37
    HID_USAGE_GENERIC_DPAD_DOWN:: 0x91
    HID_USAGE_GENERIC_DPAD_LEFT:: 0x93
    HID_USAGE_GENERIC_DPAD_RIGHT:: 0x92
    HID_USAGE_GENERIC_DPAD_UP:: 0x90
    HID_USAGE_GENERIC_FEATURE_NOTIFICATION:: 0x47
    HID_USAGE_GENERIC_GAMEPAD:: 0x05
    HID_USAGE_GENERIC_HATSWITCH:: 0x39
    HID_USAGE_GENERIC_INTERACTIVE_CONTROL:: 0x0E
    HID_USAGE_GENERIC_JOYSTICK:: 0x04
    HID_USAGE_GENERIC_KEYBOARD:: 0x06
    HID_USAGE_GENERIC_KEYPAD:: 0x07
    HID_USAGE_GENERIC_MOTION_WAKEUP:: 0x3C
    HID_USAGE_GENERIC_MOUSE:: 0x02
    HID_USAGE_GENERIC_MULTI_AXIS_CONTROLLER:: 0x08
    HID_USAGE_GENERIC_POINTER:: 0x01
    HID_USAGE_GENERIC_PORTABLE_DEVICE_CONTROL:: 0x0D
    HID_USAGE_GENERIC_RESOLUTION_MULTIPLIER:: 0x48
    HID_USAGE_GENERIC_RX:: 0x33
    HID_USAGE_GENERIC_RY:: 0x34
    HID_USAGE_GENERIC_RZ:: 0x35
    HID_USAGE_GENERIC_SELECT:: 0x3E
    HID_USAGE_GENERIC_SLIDER:: 0x36
    HID_USAGE_GENERIC_START:: 0x3D
    HID_USAGE_GENERIC_SYSCTL_APP_BREAK:: 0xA5
    HID_USAGE_GENERIC_SYSCTL_APP_DBG_BREAK:: 0xA6
    HID_USAGE_GENERIC_SYSCTL_APP_MENU:: 0x86
    HID_USAGE_GENERIC_SYSCTL_COLD_RESTART:: 0x8E
    HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU:: 0x84
    HID_USAGE_GENERIC_SYSCTL_DISMISS_NOTIFICATION:: 0x9A
    HID_USAGE_GENERIC_SYSCTL_DISP_AUTOSCALE:: 0xB7
    HID_USAGE_GENERIC_SYSCTL_DISP_BOTH:: 0xB3
    HID_USAGE_GENERIC_SYSCTL_DISP_DUAL:: 0xB4
    HID_USAGE_GENERIC_SYSCTL_DISP_EXTERNAL:: 0xB2
    HID_USAGE_GENERIC_SYSCTL_DISP_INTERNAL:: 0xB1
    HID_USAGE_GENERIC_SYSCTL_DISP_INVERT:: 0xB0
    HID_USAGE_GENERIC_SYSCTL_DISP_SWAP:: 0xB6
    HID_USAGE_GENERIC_SYSCTL_DISP_TOGGLE:: 0xB5
    HID_USAGE_GENERIC_SYSCTL_DOCK:: 0xA0
    HID_USAGE_GENERIC_SYSCTL_FN:: 0x97
    HID_USAGE_GENERIC_SYSCTL_FN_LOCK:: 0x98
    HID_USAGE_GENERIC_SYSCTL_FN_LOCK_INDICATOR:: 0x99
    HID_USAGE_GENERIC_SYSCTL_HELP_MENU:: 0x87
    HID_USAGE_GENERIC_SYSCTL_HIBERNATE:: 0xA8
    HID_USAGE_GENERIC_SYSCTL_MAIN_MENU:: 0x85
    HID_USAGE_GENERIC_SYSCTL_MENU_DOWN:: 0x8D
    HID_USAGE_GENERIC_SYSCTL_MENU_EXIT:: 0x88
    HID_USAGE_GENERIC_SYSCTL_MENU_LEFT:: 0x8B
    HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT:: 0x8A
    HID_USAGE_GENERIC_SYSCTL_MENU_SELECT:: 0x89
    HID_USAGE_GENERIC_SYSCTL_MENU_UP:: 0x8C
    HID_USAGE_GENERIC_SYSCTL_MUTE:: 0xA7
    HID_USAGE_GENERIC_SYSCTL_POWER:: 0x81
    HID_USAGE_GENERIC_SYSCTL_SETUP:: 0xA2
    HID_USAGE_GENERIC_SYSCTL_SLEEP:: 0x82
    HID_USAGE_GENERIC_SYSCTL_SYS_BREAK:: 0xA3
    HID_USAGE_GENERIC_SYSCTL_SYS_DBG_BREAK:: 0xA4
    HID_USAGE_GENERIC_SYSCTL_UNDOCK:: 0xA1
    HID_USAGE_GENERIC_SYSCTL_WAKE:: 0x83
    HID_USAGE_GENERIC_SYSCTL_WARM_RESTART:: 0x8F
    HID_USAGE_GENERIC_SYSTEM_CTL:: 0x80
    HID_USAGE_GENERIC_SYSTEM_DISPLAY_ROTATION_LOCK_BUTTON:: 0xC9
    HID_USAGE_GENERIC_SYSTEM_DISPLAY_ROTATION_LOCK_SLIDER_SWITCH:: 0xCA
    HID_USAGE_GENERIC_TABLET_PC_SYSTEM_CTL:: 0x09
    HID_USAGE_GENERIC_VBRX:: 0x43
    HID_USAGE_GENERIC_VBRY:: 0x44
    HID_USAGE_GENERIC_VBRZ:: 0x45
    HID_USAGE_GENERIC_VNO:: 0x46
    HID_USAGE_GENERIC_VX:: 0x40
    HID_USAGE_GENERIC_VY:: 0x41
    HID_USAGE_GENERIC_VZ:: 0x42
    HID_USAGE_GENERIC_WHEEL:: 0x38
    HID_USAGE_GENERIC_X:: 0x30
    HID_USAGE_GENERIC_Y:: 0x31
    HID_USAGE_GENERIC_Z:: 0x32
    HID_USAGE_HAPTICS_AUTO_ASSOCIATED_CONTROL:: 0x22
    HID_USAGE_HAPTICS_AUTO_TRIGGER:: 0x20
    HID_USAGE_HAPTICS_DURATION_LIST:: 0x11
    HID_USAGE_HAPTICS_INTENSITY:: 0x23
    HID_USAGE_HAPTICS_MANUAL_TRIGGER:: 0x21
    HID_USAGE_HAPTICS_REPEAT_COUNT:: 0x24
    HID_USAGE_HAPTICS_RETRIGGER_PERIOD:: 0x25
    HID_USAGE_HAPTICS_SIMPLE_CONTROLLER:: 0x01
    HID_USAGE_HAPTICS_WAVEFORM_BEGIN:: 0x1000
    Waveform types
    HID_USAGE_HAPTICS_WAVEFORM_BUZZ:: 0x1004
    HID_USAGE_HAPTICS_WAVEFORM_CLICK:: 0x1003
    HID_USAGE_HAPTICS_WAVEFORM_CUTOFF_TIME:: 0x28
    HID_USAGE_HAPTICS_WAVEFORM_END:: 0x1FFF
    HID_USAGE_HAPTICS_WAVEFORM_LIST:: 0x10
    HID_USAGE_HAPTICS_WAVEFORM_NULL:: 0x1002
    HID_USAGE_HAPTICS_WAVEFORM_PRESS:: 0x1006
    HID_USAGE_HAPTICS_WAVEFORM_RELEASE:: 0x1007
    HID_USAGE_HAPTICS_WAVEFORM_RUMBLE:: 0x1005
    HID_USAGE_HAPTICS_WAVEFORM_STOP:: 0x1001
    HID_USAGE_HAPTICS_WAVEFORM_VENDOR_BEGIN:: 0x2000
    HID_USAGE_HAPTICS_WAVEFORM_VENDOR_END:: 0x2FFF
    HID_USAGE_HAPTICS_WAVEFORM_VENDOR_ID:: 0x27
    HID_USAGE_HAPTICS_WAVEFORM_VENDOR_PAGE:: 0x26
    HID_USAGE_KEYBOARD_CAPS_LOCK:: 0x39
    HID_USAGE_KEYBOARD_DELETE:: 0x2A
    HID_USAGE_KEYBOARD_DELETE_FORWARD:: 0x4C
    HID_USAGE_KEYBOARD_ESCAPE:: 0x29
    HID_USAGE_KEYBOARD_F1:: 0x3A
    Function keys
    HID_USAGE_KEYBOARD_F10:: 0x43
    HID_USAGE_KEYBOARD_F11:: 0x44
    HID_USAGE_KEYBOARD_F12:: 0x45
    HID_USAGE_KEYBOARD_F13:: 0x68
    HID_USAGE_KEYBOARD_F14:: 0x69
    HID_USAGE_KEYBOARD_F15:: 0x6A
    HID_USAGE_KEYBOARD_F16:: 0x6B
    HID_USAGE_KEYBOARD_F17:: 0x6C
    HID_USAGE_KEYBOARD_F18:: 0x6D
    HID_USAGE_KEYBOARD_F19:: 0x6E
    HID_USAGE_KEYBOARD_F2:: 0x3B
    HID_USAGE_KEYBOARD_F20:: 0x6F
    HID_USAGE_KEYBOARD_F21:: 0x70
    HID_USAGE_KEYBOARD_F22:: 0x71
    HID_USAGE_KEYBOARD_F23:: 0x72
    HID_USAGE_KEYBOARD_F24:: 0x73
    HID_USAGE_KEYBOARD_F3:: 0x3C
    HID_USAGE_KEYBOARD_F4:: 0x3D
    HID_USAGE_KEYBOARD_F5:: 0x3E
    HID_USAGE_KEYBOARD_F6:: 0x3F
    HID_USAGE_KEYBOARD_F7:: 0x40
    HID_USAGE_KEYBOARD_F8:: 0x41
    HID_USAGE_KEYBOARD_F9:: 0x42
    HID_USAGE_KEYBOARD_KEYPAD_0_AND_INSERT:: 0x62
    HID_USAGE_KEYBOARD_KEYPAD_1_AND_END:: 0x59
    Numeric Keypad
    HID_USAGE_KEYBOARD_LALT:: 0xE2
    HID_USAGE_KEYBOARD_LCTRL:: 0xE0
    Modifier Keys
    HID_USAGE_KEYBOARD_LGUI:: 0xE3
    HID_USAGE_KEYBOARD_LSHFT:: 0xE1
    HID_USAGE_KEYBOARD_NOEVENT:: 0x00
    Error "keys"
    HID_USAGE_KEYBOARD_NUM_LOCK:: 0x53
    HID_USAGE_KEYBOARD_ONE:: 0x1E
    Numbers
    HID_USAGE_KEYBOARD_POSTFAIL:: 0x02
    HID_USAGE_KEYBOARD_PRINT_SCREEN:: 0x46
    HID_USAGE_KEYBOARD_RALT:: 0xE6
    HID_USAGE_KEYBOARD_RCTRL:: 0xE4
    HID_USAGE_KEYBOARD_RETURN:: 0x28
    HID_USAGE_KEYBOARD_RGUI:: 0xE7
    HID_USAGE_KEYBOARD_ROLLOVER:: 0x01
    HID_USAGE_KEYBOARD_RSHFT:: 0xE5
    HID_USAGE_KEYBOARD_SCROLL_LOCK:: 0x47
    HID_USAGE_KEYBOARD_UNDEFINED:: 0x03
    HID_USAGE_KEYBOARD_ZERO:: 0x27
    HID_USAGE_KEYBOARD_aA:: 0x04
    Letters
    HID_USAGE_KEYBOARD_zZ:: 0x1D
    HID_USAGE_LAMPARRAY:: 0x01
    HID_USAGE_LAMPARRAY_ATTRBIUTES_REPORT:: 0x02
    HID_USAGE_LAMPARRAY_AUTONOMOUS_MODE:: 0x71
    HID_USAGE_LAMPARRAY_BLUE_LEVEL_COUNT:: 0x2A
    HID_USAGE_LAMPARRAY_BOUNDING_BOX_DEPTH_IN_MICROMETERS:: 0x06
    HID_USAGE_LAMPARRAY_BOUNDING_BOX_HEIGHT_IN_MICROMETERS:: 0x05
    HID_USAGE_LAMPARRAY_BOUNDING_BOX_WIDTH_IN_MICROMETERS:: 0x04
    HID_USAGE_LAMPARRAY_CONTROL_REPORT:: 0x70
    HID_USAGE_LAMPARRAY_GREEN_LEVEL_COUNT:: 0x29
    HID_USAGE_LAMPARRAY_INPUT_BINDING:: 0x2D
    HID_USAGE_LAMPARRAY_INTENSITY_LEVEL_COUNT:: 0x2B
    HID_USAGE_LAMPARRAY_IS_PROGRAMMABLE:: 0x2C
    HID_USAGE_LAMPARRAY_KIND:: 0x07
    HID_USAGE_LAMPARRAY_LAMP_ATTRIBUTES_REQUEST_REPORT:: 0x20
    HID_USAGE_LAMPARRAY_LAMP_ATTRIBUTES_RESPONSE_REPORT:: 0x22
    HID_USAGE_LAMPARRAY_LAMP_BLUE_UPDATE_CHANNEL:: 0x53
    HID_USAGE_LAMPARRAY_LAMP_COUNT:: 0x03
    HID_USAGE_LAMPARRAY_LAMP_GREEN_UPDATE_CHANNEL:: 0x52
    HID_USAGE_LAMPARRAY_LAMP_ID:: 0x21
    HID_USAGE_LAMPARRAY_LAMP_ID_END:: 0x62
    HID_USAGE_LAMPARRAY_LAMP_ID_START:: 0x61
    HID_USAGE_LAMPARRAY_LAMP_INTENSITY_UPDATE_CHANNEL:: 0x54
    HID_USAGE_LAMPARRAY_LAMP_MULTI_UPDATE_REPORT:: 0x50
    HID_USAGE_LAMPARRAY_LAMP_PURPOSES:: 0x26
    HID_USAGE_LAMPARRAY_LAMP_RANGE_UPDATE_REPORT:: 0x60
    HID_USAGE_LAMPARRAY_LAMP_RED_UPDATE_CHANNEL:: 0x51
    HID_USAGE_LAMPARRAY_LAMP_UPDATE_FLAGS:: 0x55
    HID_USAGE_LAMPARRAY_MIN_UPDATE_INTERVAL_IN_MICROSECONDS:: 0x08
    HID_USAGE_LAMPARRAY_POSITION_X_IN_MICROMETERS:: 0x23
    HID_USAGE_LAMPARRAY_POSITION_Y_IN_MICROMETERS:: 0x24
    HID_USAGE_LAMPARRAY_POSITION_Z_IN_MICROMETERS:: 0x25
    HID_USAGE_LAMPARRAY_RED_LEVEL_COUNT:: 0x28
    HID_USAGE_LAMPARRAY_UPDATE_LATENCY_IN_MICROSECONDS:: 0x27
    HID_USAGE_LED_AMBER:: 0x4A
    HID_USAGE_LED_BATTERY_LOW:: 0x1D
    HID_USAGE_LED_BATTERY_OK:: 0x1C
    HID_USAGE_LED_BATTERY_OPERATION:: 0x1B
    HID_USAGE_LED_BUSY:: 0x2C
    HID_USAGE_LED_CALL_PICKUP:: 0x25
    HID_USAGE_LED_CAMERA_OFF:: 0x29
    HID_USAGE_LED_CAMERA_ON:: 0x28
    HID_USAGE_LED_CAPS_LOCK:: 0x02
    HID_USAGE_LED_CAV:: 0x14
    HID_USAGE_LED_CLV:: 0x15
    HID_USAGE_LED_COMPOSE:: 0x04
    HID_USAGE_LED_CONFERENCE:: 0x26
    HID_USAGE_LED_COVERAGE:: 0x22
    HID_USAGE_LED_DATA_MODE:: 0x1A
    HID_USAGE_LED_DO_NOT_DISTURB:: 0x08
    HID_USAGE_LED_EQUALIZER_ENABLE:: 0x0D
    HID_USAGE_LED_ERROR:: 0x39
    HID_USAGE_LED_EXTERNAL_POWER:: 0x4D
    HID_USAGE_LED_FAST_FORWARD:: 0x35
    HID_USAGE_LED_FLASH_ON_TIME:: 0x42
    HID_USAGE_LED_FORWARD:: 0x31
    HID_USAGE_LED_GENERIC_INDICATOR:: 0x4B
    HID_USAGE_LED_GREEN:: 0x49
    HID_USAGE_LED_HEAD_SET:: 0x1F
    HID_USAGE_LED_HIGH_CUT_FILTER:: 0x0B
    HID_USAGE_LED_HOLD:: 0x20
    HID_USAGE_LED_INDICATOR_COLOR:: 0x47
    HID_USAGE_LED_INDICATOR_FLASH:: 0x3E
    HID_USAGE_LED_INDICATOR_OFF:: 0x41
    HID_USAGE_LED_INDICATOR_ON:: 0x3D
    HID_USAGE_LED_IN_USE_INDICATOR:: 0x3B
    HID_USAGE_LED_KANA:: 0x05
    HID_USAGE_LED_LOW_CUT_FILTER:: 0x0C
    HID_USAGE_LED_MESSAGE_WAITING:: 0x19
    HID_USAGE_LED_MICROPHONE:: 0x21
    HID_USAGE_LED_MULTI_MODE_INDICATOR:: 0x3C
    HID_USAGE_LED_MUTE:: 0x09
    HID_USAGE_LED_NIGHT_MODE:: 0x23
    HID_USAGE_LED_NUM_LOCK:: 0x01
    HID_USAGE_LED_OFF_HOOK:: 0x17
    HID_USAGE_LED_OFF_LINE:: 0x2B
    HID_USAGE_LED_ON_LINE:: 0x2A
    HID_USAGE_LED_PAPER_JAM:: 0x2F
    HID_USAGE_LED_PAPER_OUT:: 0x2E
    HID_USAGE_LED_PAUSE:: 0x37
    HID_USAGE_LED_PLAY:: 0x36
    HID_USAGE_LED_POWER:: 0x06
    HID_USAGE_LED_READY:: 0x2D
    HID_USAGE_LED_RECORD:: 0x38
    HID_USAGE_LED_RECORDING_FORMAT_DET:: 0x16
    HID_USAGE_LED_RED:: 0x48
    HID_USAGE_LED_REMOTE:: 0x30
    HID_USAGE_LED_REPEAT:: 0x10
    HID_USAGE_LED_REVERSE:: 0x32
    HID_USAGE_LED_REWIND:: 0x34
    HID_USAGE_LED_RING:: 0x18
    HID_USAGE_LED_SAMPLING_RATE_DETECT:: 0x12
    HID_USAGE_LED_SCROLL_LOCK:: 0x03
    HID_USAGE_LED_SELECTED_INDICATOR:: 0x3A
    HID_USAGE_LED_SEND_CALLS:: 0x24
    HID_USAGE_LED_SHIFT:: 0x07
    HID_USAGE_LED_SOUND_FIELD_ON:: 0x0E
    HID_USAGE_LED_SPEAKER:: 0x1E
    HID_USAGE_LED_SPINNING:: 0x13
    HID_USAGE_LED_STAND_BY:: 0x27
    HID_USAGE_LED_STEREO:: 0x11
    HID_USAGE_LED_STOP:: 0x33
    HID_USAGE_LED_SURROUND_FIELD_ON:: 0x0F
    HID_USAGE_LED_SYSTEM_SUSPEND:: 0x4C
    HID_USAGE_LED_TONE_ENABLE:: 0x0A
    HID_USAGE_MS_BTH_HF_DIALMEMORY:: 0x22
    HID_USAGE_MS_BTH_HF_DIALNUMBER:: 0x21
    HID_USAGE_PAGE_ALPHANUMERIC:: 0x14
    HID_USAGE_PAGE_ARCADE:: 0x91
    HID_USAGE_PAGE_BARCODE_SCANNER:: 0x8C
    HID_USAGE_PAGE_BUTTON:: 0x09
    HID_USAGE_PAGE_CAMERA_CONTROL:: 0x90
    HID_USAGE_PAGE_CONSUMER:: 0x0C
    HID_USAGE_PAGE_DIGITIZER:: 0x0D
    HID_USAGE_PAGE_GAME:: 0x05
    HID_USAGE_PAGE_GENERIC:: 0x01
    HID_USAGE_PAGE_GENERIC_DEVICE:: 0x06
    HID_USAGE_PAGE_HAPTICS:: 0x0E
    HID_USAGE_PAGE_KEYBOARD:: 0x07
    HID_USAGE_PAGE_LED:: 0x08
    HID_USAGE_PAGE_LIGHTING_ILLUMINATION:: 0x59
    HID_USAGE_PAGE_MAGNETIC_STRIPE_READER:: 0x8E
    HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE:: 0xFFF3
    HID_USAGE_PAGE_ORDINAL:: 0x0A
    HID_USAGE_PAGE_PID:: 0x0F
    HID_USAGE_PAGE_SENSOR:: 0x20
    HID_USAGE_PAGE_SIMULATION:: 0x02
    HID_USAGE_PAGE_SPORT:: 0x04
    HID_USAGE_PAGE_TELEPHONY:: 0x0B
    HID_USAGE_PAGE_UNDEFINED:: 0x00
    HID_USAGE_PAGE_UNICODE:: 0x10
    HID_USAGE_PAGE_VENDOR_DEFINED_BEGIN:: 0xFF00
    HID_USAGE_PAGE_VENDOR_DEFINED_END:: 0xFFFF
    HID_USAGE_PAGE_VR:: 0x03
    HID_USAGE_PAGE_WEIGHING_DEVICE:: 0x8D
    HID_USAGE_SIMULATION_ACCELLERATOR:: 0xC4
    HID_USAGE_SIMULATION_AILERON:: 0xB0
    HID_USAGE_SIMULATION_AILERON_TRIM:: 0xB1
    HID_USAGE_SIMULATION_AIRPLANE_SIMULATION_DEVICE:: 0x09
    HID_USAGE_SIMULATION_ANTI_TORQUE_CONTROL:: 0xB2
    HID_USAGE_SIMULATION_AUTOMOBILE_SIMULATION_DEVICE:: 0x02
    HID_USAGE_SIMULATION_AUTOPIOLOT_ENABLE:: 0xB3
    HID_USAGE_SIMULATION_BALLAST:: 0xCC
    HID_USAGE_SIMULATION_BARREL_ELEVATION:: 0xCA
    HID_USAGE_SIMULATION_BICYCLE_CRANK:: 0xCD
    HID_USAGE_SIMULATION_BICYCLE_SIMULATION_DEVICE:: 0x0C
    HID_USAGE_SIMULATION_BRAKE:: 0xC5
    HID_USAGE_SIMULATION_CHAFF_RELEASE:: 0xB4
    HID_USAGE_SIMULATION_CLUTCH:: 0xC6
    HID_USAGE_SIMULATION_COLLECTIVE_CONTROL:: 0xB5
    HID_USAGE_SIMULATION_CYCLIC_CONTROL:: 0x22
    HID_USAGE_SIMULATION_CYCLIC_TRIM:: 0x23
    HID_USAGE_SIMULATION_DIVE_BRAKE:: 0xB6
    HID_USAGE_SIMULATION_DIVE_PLANE:: 0xCB
    HID_USAGE_SIMULATION_ELECTRONIC_COUNTERMEASURES:: 0xB7
    HID_USAGE_SIMULATION_ELEVATOR:: 0xB8
    HID_USAGE_SIMULATION_ELEVATOR_TRIM:: 0xB9
    HID_USAGE_SIMULATION_FLARE_RELEASE:: 0xBD
    HID_USAGE_SIMULATION_FLIGHT_COMMUNICATIONS:: 0xBC
    HID_USAGE_SIMULATION_FLIGHT_CONTROL_STICK:: 0x20
    HID_USAGE_SIMULATION_FLIGHT_SIMULATION_DEVICE:: 0x01
    HID_USAGE_SIMULATION_FLIGHT_STICK:: 0x21
    HID_USAGE_SIMULATION_FLIGHT_YOKE:: 0x24
    HID_USAGE_SIMULATION_FRONT_BRAKE:: 0xCF
    HID_USAGE_SIMULATION_HANDLE_BARS:: 0xCE
    HID_USAGE_SIMULATION_HELICOPTER_SIMULATION_DEVICE:: 0x0A
    HID_USAGE_SIMULATION_LANDING_GEAR:: 0xBE
    HID_USAGE_SIMULATION_MAGIC_CARPET_SIMULATION_DEVICE:: 0x0B
    HID_USAGE_SIMULATION_MOTORCYCLE_SIMULATION_DEVICE:: 0x07
    HID_USAGE_SIMULATION_REAR_BRAKE:: 0xD0
    HID_USAGE_SIMULATION_RUDDER:: 0xBA
    HID_USAGE_SIMULATION_SAILING_SIMULATION_DEVICE:: 0x06
    HID_USAGE_SIMULATION_SHIFTER:: 0xC7
    HID_USAGE_SIMULATION_SPACESHIP_SIMULATION_DEVICE:: 0x04
    HID_USAGE_SIMULATION_SPORTS_SIMULATION_DEVICE:: 0x08
    HID_USAGE_SIMULATION_STEERING:: 0xC8
    HID_USAGE_SIMULATION_SUBMARINE_SIMULATION_DEVICE:: 0x05
    HID_USAGE_SIMULATION_TANK_SIMULATION_DEVICE:: 0x03
    HID_USAGE_SIMULATION_THROTTLE:: 0xBB
    HID_USAGE_SIMULATION_TOE_BRAKE:: 0xBF
    HID_USAGE_SIMULATION_TRACK_CONTROL:: 0x25
    HID_USAGE_SIMULATION_TRIGGER:: 0xC0
    HID_USAGE_SIMULATION_TURRET_DIRECTION:: 0xC9
    HID_USAGE_SIMULATION_WEAPONS_ARM:: 0xC1
    HID_USAGE_SIMULATION_WEAPONS_SELECT:: 0xC2
    HID_USAGE_SIMULATION_WING_FLAPS:: 0xC3
    HID_USAGE_SPORT_10_IRON:: 0x5A
    HID_USAGE_SPORT_11_IRON:: 0x5B
    HID_USAGE_SPORT_1_IRON:: 0x51
    HID_USAGE_SPORT_1_WOOD:: 0x5F
    HID_USAGE_SPORT_2_IRON:: 0x52
    HID_USAGE_SPORT_3_IRON:: 0x53
    HID_USAGE_SPORT_3_WOOD:: 0x60
    HID_USAGE_SPORT_4_IRON:: 0x54
    HID_USAGE_SPORT_5_IRON:: 0x55
    HID_USAGE_SPORT_5_WOOD:: 0x61
    HID_USAGE_SPORT_6_IRON:: 0x56
    HID_USAGE_SPORT_7_IRON:: 0x57
    HID_USAGE_SPORT_7_WOOD:: 0x62
    HID_USAGE_SPORT_8_IRON:: 0x58
    HID_USAGE_SPORT_9_IRON:: 0x59
    HID_USAGE_SPORT_9_WOOD:: 0x63
    HID_USAGE_SPORT_BASEBALL_BAT:: 0x01
    HID_USAGE_SPORT_FOLLOW_THROUGH:: 0x36
    HID_USAGE_SPORT_GOLF_CLUB:: 0x02
    HID_USAGE_SPORT_HEEL_TOE:: 0x35
    HID_USAGE_SPORT_HEIGHT:: 0x39
    HID_USAGE_SPORT_LOFT_WEDGE:: 0x5D
    HID_USAGE_SPORT_OAR:: 0x30
    HID_USAGE_SPORT_POWER_WEDGE:: 0x5E
    HID_USAGE_SPORT_PUTTER:: 0x50
    HID_USAGE_SPORT_RATE:: 0x32
    HID_USAGE_SPORT_ROWING_MACHINE:: 0x03
    HID_USAGE_SPORT_SAND_WEDGE:: 0x5C
    HID_USAGE_SPORT_SLOPE:: 0x31
    HID_USAGE_SPORT_STICK_FACE_ANGLE:: 0x34
    HID_USAGE_SPORT_STICK_SPEED:: 0x33
    HID_USAGE_SPORT_STICK_TYPE:: 0x38
    HID_USAGE_SPORT_TEMPO:: 0x37
    HID_USAGE_SPORT_TREADMILL:: 0x04
    HID_USAGE_TELEPHONY_ANSWERING_MACHINE:: 0x02
    HID_USAGE_TELEPHONY_DROP:: 0x26
    HID_USAGE_TELEPHONY_HANDSET:: 0x04
    HID_USAGE_TELEPHONY_HEADSET:: 0x05
    HID_USAGE_TELEPHONY_HOST_AVAILABLE:: 0xF1
    HID_USAGE_TELEPHONY_KEYPAD:: 0x06
    HID_USAGE_TELEPHONY_KEYPAD_0:: 0xB0
    HID_USAGE_TELEPHONY_KEYPAD_D:: 0xBF
    HID_USAGE_TELEPHONY_LINE:: 0x2A
    HID_USAGE_TELEPHONY_MESSAGE_CONTROLS:: 0x03
    HID_USAGE_TELEPHONY_PHONE:: 0x01
    HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON:: 0x07
    HID_USAGE_TELEPHONY_REDIAL:: 0x24
    HID_USAGE_TELEPHONY_RING_ENABLE:: 0x2D
    HID_USAGE_TELEPHONY_SEND:: 0x31
    HID_USAGE_TELEPHONY_TRANSFER:: 0x25
    HID_USAGE_VR_ANIMATRONIC_DEVICE:: 0x0A
    HID_USAGE_VR_BELT:: 0x01
    HID_USAGE_VR_BODY_SUIT:: 0x02
    HID_USAGE_VR_DISPLAY_ENABLE:: 0x21
    HID_USAGE_VR_FLEXOR:: 0x03
    HID_USAGE_VR_GLOVE:: 0x04
    HID_USAGE_VR_HAND_TRACKER:: 0x07
    HID_USAGE_VR_HEAD_MOUNTED_DISPLAY:: 0x06
    HID_USAGE_VR_HEAD_TRACKER:: 0x05
    HID_USAGE_VR_OCULOMETER:: 0x08
    HID_USAGE_VR_STEREO_ENABLE:: 0x20
    HID_USAGE_VR_VEST:: 0x09
    HIGH_PRIORITY_CLASS:: 0x00000080
    HINST_COMMCTRL: HANDLE : cast(HINSTANCE)(~uintptr(0))
    HIST_… 5
    HIST_ADDTOFAVORITES:: 3
    HIST_BACK:: 0
    HIST_FAVORITES:: 2
    HIST_FORWARD:: 1
    HIST_VIEWTREE:: 4
    HKCOMB_… 8
    HKCOMB_A:: 0x08
    HKCOMB_C:: 0x04
    HKCOMB_CA:: 0x40
    HKCOMB_NONE:: 0x01
    HKCOMB_S:: 0x02
    HKCOMB_SA:: 0x20
    HKCOMB_SC:: 0x10
    HKCOMB_SCA:: 0x80
    HKEY_… 10
    HKEY_CLASSES_ROOT:: HKEY(uintptr(0x80000000))
    Reserved Key Handles.
    HKEY_CURRENT_CONFIG:: HKEY(uintptr(0x80000005))
    HKEY_CURRENT_USER:: HKEY(uintptr(0x80000001))
    HKEY_CURRENT_USER_LOCAL_SETTINGS:: HKEY(uintptr(0x80000007))
    HKEY_DYN_DATA:: HKEY(uintptr(0x80000006))
    HKEY_LOCAL_MACHINE:: HKEY(uintptr(0x80000002))
    HKEY_PERFORMANCE_DATA:: HKEY(uintptr(0x80000004))
    HKEY_PERFORMANCE_NLSTEXT:: HKEY(uintptr(0x80000060))
    HKEY_PERFORMANCE_TEXT:: HKEY(uintptr(0x80000050))
    HKEY_USERS:: HKEY(uintptr(0x80000003))
    HKM_… 3
    HKM_GETHOTKEY:: 0x0402
    HKM_SETHOTKEY:: 0x0401
    HKM_SETRULES:: 0x0403
    HOLLOW_BRUSH:: NULL_BRUSH
    HOTKEYF_… 4
    HOTKEYF_ALT:: 0x4
    HOTKEYF_CONTROL:: 0x2
    HOTKEYF_EXT:: 0x8
    HOTKEYF_SHIFT:: 0x1
    Hot Key Control
    HOTKEY_CLASS:: "msctls_hotkey32"
    HOVER_DEFAULT:: 0xFFFFFFFF
    HS_… 7
    HS_API_MAX:: 12
    HS_BDIAGONAL:: 3
    /////
    HS_CROSS:: 4
    +++++
    HS_DIAGCROSS:: 5
    xxxxx
    HS_FDIAGONAL:: 2
    \\\\\
    HS_HORIZONTAL:: 0
    Hatch Styles
    HS_VERTICAL:: 1
    |||||
    HTBORDER:: 18
    HTBOTTOM:: 15
    HTBOTTOMLEFT:: 16
    HTBOTTOMRIGHT:: 17
    HTCAPTION:: 2
    HTCLIENT:: 1
    HTCLOSE:: 20
    HTERROR:: -2
    WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes
    HTGROWBOX:: 4
    HTHELP:: 21
    HTHSCROLL:: 6
    HTLEFT:: 10
    HTMAXBUTTON:: 9
    HTMENU:: 5
    HTMINBUTTON:: 8
    HTNOWHERE:: 0
    HTOBJECT:: 19
    HTREDUCE:: HTMINBUTTON
    HTRIGHT:: 11
    HTSIZE:: HTGROWBOX
    HTSIZEFIRST:: HTLEFT
    HTSIZELAST:: HTBOTTOMRIGHT
    HTSYSMENU:: 3
    HTTOP:: 12
    HTTOPLEFT:: 13
    HTTOPRIGHT:: 14
    HTTRANSPARENT:: -1
    HTVSCROLL:: 7
    HTZOOM:: HTMAXBUTTON
    HWND_… 6
    HWND_BOTTOM:: HWND(uintptr(1))
    1
    HWND_BROADCAST:: HWND(uintptr(0xffff))
    Special HWND value for use with PostMessage() and SendMessage()
    HWND_MESSAGE:: HWND(~uintptr(0) - 2)
    -3
    HWND_NOTOPMOST:: HWND(~uintptr(0) - 1)
    -2
    HWND_TOP:: HWND(uintptr(0))
    0
    HWND_TOPMOST:: HWND(~uintptr(0))
    -1
    HighMemoryResourceNotification:: MEMORY_RESOURCE_NOTIFICATION_TYPE.HighMemoryResourceNotification
    ICC_… 17
    ICC_ANIMATE_CLASS:: 0x00000080
    ICC_BAR_CLASSES:: 0x00000004
    ICC_COOL_CLASSES:: 0x00000400
    ICC_DATE_CLASSES:: 0x00000100
    ICC_HOTKEY_CLASS:: 0x00000040
    ICC_INTERNET_CLASSES:: 0x00000800
    ICC_LISTVIEW_CLASSES:: 0x00000001
    ICC_NATIVEFNTCTL_CLASS:: 0x00002000
    ICC_PAGESCROLLER_CLASS:: 0x00001000
    ICC_PROGRESS_CLASS:: 0x00000020
    ICC_STANDARD_CLASSES:: 0x00004000
    ICC_TAB_CLASSES:: 0x00000008
    ICC_TREEVIEW_CLASSES:: 0x00000002
    ICC_UPDOWN_CLASS:: 0x00000010
    ICC_USEREX_CLASSES:: 0x00000200
    ICC_WIN95_CLASSES:: 0x000000FF
    IDABORT:: 3
    IDB_… 6
    IDB_HIST_LARGE_COLOR:: 9
    IDB_HIST_SMALL_COLOR:: 8
    IDB_STD_LARGE_COLOR:: 1
    IDB_STD_SMALL_COLOR:: 0
    IDB_VIEW_LARGE_COLOR:: 5
    IDB_VIEW_SMALL_COLOR:: 4
    IDCANCEL:: 2
    IDCLOSE:: 8
    IDCONTINUE:: 11
    IDHELP:: 9
    IDIGNORE:: 5
    IDLE_PRIORITY_CLASS:: 0x00000040
    IDNO:: 7
    IDOK:: 1
    Dialog Box Command IDs
    IDRETRY:: 4
    IDTIMEOUT:: 32000
    IDTRYAGAIN:: 10
    IDYES:: 6
    IE_… 44
    IE_DOCOMMAND:: 0x04c8
    IE_GETAPPDATA:: 0x04b8
    IE_GETBKGND:: 0x049c
    IE_GETCOMMAND:: 0x04c9
    IE_GETCOUNT:: 0x04ca
    IE_GETDRAWOPTS:: 0x04ba
    IE_GETERASERTIP:: 0x049a
    IE_GETFORMAT:: 0x04bc
    IE_GETGESTURE:: 0x04cb
    IE_GETGRIDORIGIN:: 0x049e
    IE_GETGRIDPEN:: 0x04a0
    IE_GETGRIDSIZE:: 0x04a2
    IE_GETINK:: 0x0496
    IE_GETINKINPUT:: 0x04be
    IE_GETINKRECT:: 0x04a6
    IE_GETMENU:: 0x04cc
    IE_GETMODE:: 0x04a4
    IE_GETNOTIFY:: 0x04c0
    IE_GETPAINTDC:: 0x04cd
    IE_GETPDEVENT:: 0x04ce
    IE_GETPENTIP:: 0x0498
    IE_GETRECOG:: 0x04c2
    IE_GETSECURITY:: 0x04c4
    IE_GETSEL:: 0x04c6
    IE_GETSELCOUNT:: 0x04cf
    IE_GETSELITEMS:: 0x04d0
    IE_GETSTYLE:: 0x04d1
    IE_MSGFIRST:: 0x0496
    IE_SETAPPDATA:: 0x04b9
    IE_SETBKGND:: 0x049d
    IE_SETDRAWOPTS:: 0x04bb
    IE_SETERASERTIP:: 0x049b
    IE_SETFORMAT:: 0x04bd
    IE_SETGRIDORIGIN:: 0x049f
    IE_SETGRIDPEN:: 0x04a1
    IE_SETGRIDSIZE:: 0x04a3
    IE_SETINK:: 0x0497
    IE_SETINKINPUT:: 0x04bf
    IE_SETMODE:: 0x04a5
    IE_SETNOTIFY:: 0x04c1
    IE_SETPENTIP:: 0x0499
    IE_SETRECOG:: 0x04c3
    IE_SETSECURITY:: 0x04c5
    IE_SETSEL:: 0x04c7
    ILCF_MOVE:: 0x00000000
    ILCF_SWAP:: 0x00000001
    ILC_… 13
    ILC_COLOR:: 0x00000000
    ILC_COLOR16:: 0x00000010
    ILC_COLOR24:: 0x00000018
    ILC_COLOR32:: 0x00000020
    ILC_COLOR4:: 0x00000004
    ILC_COLOR8:: 0x00000008
    ILC_COLORDDB:: 0x000000FE
    ILC_HIGHQUALITYSCALE:: 0x00020000
    ILC_MASK:: 0x00000001
    ILC_MIRROR:: 0x00002000
    ILC_ORIGINALSIZE:: 0x00010000
    ILC_PALETTE:: 0x00000800
    ILC_PERITEMMIRROR:: 0x00008000
    ILD_… 15
    ILD_ASYNC:: 0x00008000
    ILD_BLEND:: ILD_BLEND50
    ILD_BLEND25:: 0x00000002
    ILD_BLEND50:: 0x00000004
    ILD_DPISCALE:: 0x00004000
    ILD_FOCUS:: ILD_BLEND25
    ILD_IMAGE:: 0x00000020
    ILD_MASK:: 0x00000010
    ILD_NORMAL:: 0x00000000
    ILD_OVERLAYMASK:: 0x00000F00
    ILD_PRESERVEALPHA:: 0x00001000
    ILD_ROP:: 0x00000040
    ILD_SCALE:: 0x00002000
    ILD_SELECTED:: ILD_BLEND50
    ILD_TRANSPARENT:: 0x00000001
    ILGT_ASYNC:: 0x00000001
    ILGT_NORMAL:: 0x00000000
    ILP_DOWNLEVEL:: 1
    ILP_NORMAL:: 0
    ILS_… 5
    ILS_ALPHA:: 0x00000008
    ILS_GLOW:: 0x00000001
    ILS_NORMAL:: 0x00000000
    ILS_SATURATE:: 0x00000004
    ILS_SHADOW:: 0x00000002
    IMAGE_… 5
    IMAGE_BITMAP:: 0
    IMAGE_CURSOR:: 2
    IMAGE_DEBUG_TYPE_CODEVIEW:: 2
    IMAGE_ENHMETAFILE:: 3
    IMAGE_ICON:: 1
    INADDR_LOOPBACK:: 0x7f000001
    INFINITE: u32 : ~DWORD(0)
    INHERIT_CALLER_PRIORITY:: 0x00020000
    Deprecated
    INHERIT_PARENT_AFFINITY:: 0x00010000
    INVALID_… 5
    INVALID_FILE_ATTRIBUTES: u32 : DWORD(0xffff_ffff)
    INVALID_HANDLE:: HANDLE(~uintptr(0))
    INVALID_HANDLE_VALUE: HANDLE : INVALID_HANDLE
    INVALID_SET_FILE_POINTER: u32 : ~DWORD(0)
    INVALID_SOCKET: SOCKET : ~SOCKET(0)
    IOC_… 5
    IOC_IN:: 0x80000000
    IOC_INOUT:: IOC_IN | IOC_OUT
    IOC_OUT:: 0x40000000
    IOC_VENDOR:: 0x18000000
    IOC_WS2:: 0x08000000
    IORING_SUBMIT_WAIT_ALL: u32 : max(u32)
    IO_REPARSE_TAG_MOUNT_POINT: u32 : 0xa0000003
    IPM_… 6
    IPM_CLEARADDRESS:: 0x0464
    IPM_GETADDRESS:: 0x0466
    IPM_ISBLANK:: 0x0469
    IPM_SETADDRESS:: 0x0465
    IPM_SETFOCUS:: 0x0468
    IPM_SETRANGE:: 0x0467
    IPN_FIRST: u32 : ~DWORD(860 - 1)
    IPN_LAST: u32 : ~DWORD(879 - 1)
    IPPROTO_… 8
    IPPROTO_ICMP: i32 : 1
    (AF_UNSPEC, AF_INET, AF_INET6) + SOCK_RAW | not specified
    IPPROTO_ICMPV6: i32 : 58
    (AF_UNSPEC, AF_INET, AF_INET6) + SOCK_RAW
    IPPROTO_IGMP: i32 : 2
    (AF_UNSPEC, AF_INET, AF_INET6) + SOCK_RAW | not specified
    IPPROTO_IP: i32 : 0
    Protocols
    IPPROTO_IPV6: i32 : 41
    Socket options for IPV6.
    IPPROTO_RM: i32 : 113
    AF_INET + SOCK_RDM [requires "Reliable Multicast Protocol" to be installed - see WSAEnumProtocols]
    IPPROTO_TCP: i32 : 6
    (AF_INET, AF_INET6) + SOCK_STREAM
    IPPROTO_UDP: i32 : 17
    (AF_INET, AF_INET6) + SOCK_DGRAM
    IPV6_… 4
    IPV6_ADD_MEMBERSHIP: i32 : 12
    IPV6_DROP_MEMBERSHIP: i32 : 13
    IPV6_MULTICAST_LOOP: i32 : 11
    IPV6_V6ONLY: i32 : 27
    IP_… 4
    IP_ADD_MEMBERSHIP: i32 : 12
    IP_MULTICAST_LOOP: i32 : 11
    IP_MULTICAST_TTL: i32 : 10
    IP_TTL: i32 : 4
    ISOLATIONAWARE_MANIFEST_RESOURCE_ID: ^u16 : LPWSTR(uintptr(0x00000002))
    ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID: ^u16 : LPWSTR(uintptr(0x00000003))
    ISOLATIONPOLICY_BROWSER_MANIFEST_RESOURCE_ID: ^u16 : LPWSTR(uintptr(0x00000005))
    ISOLATIONPOLICY_MANIFEST_RESOURCE_ID: ^u16 : LPWSTR(uintptr(0x00000004))
    IUnknown_UUID_STRING:: "00000000-0000-0000-C000-000000000046"
    I_… 7
    I_CHILDRENCALLBACK:: -1
    I_COLUMNSCALLBACK: u32 : ~UINT(0)
    I_GROUPIDCALLBACK:: -1
    I_GROUPIDNONE:: -2
    I_IMAGECALLBACK:: -1
    I_IMAGENONE:: -2
    I_INDENTCALLBACK:: -1
    JOHAB_CHARSET:: 130
    JOYERR_… 5
    JOYERR_BASE:: 160
    JOYERR_NOCANDO:: JOYERR_BASE + 6
    request not completed
    JOYERR_NOERROR:: 0
    joystick error return values
    JOYERR_PARMS:: JOYERR_BASE + 5
    bad parameters
    JOYERR_UNPLUGGED:: JOYERR_BASE + 7
    joystick is unplugged
    KB_… 118
    KB_0_RIGHTBRACKET:: 0x000B
    KB_1_BANG:: 0x0002
    KB_2_AT:: 0x0003
    KB_3_HASH:: 0x0004
    KB_4_DOLLAR:: 0x0005
    KB_5_PERCENT:: 0x0006
    KB_6_CARET:: 0x0007
    KB_7_AMPERSAND:: 0x0008
    KB_8_STAR:: 0x0009
    KB_9_LEFTBRACKET:: 0x000A
    KB_A:: 0x001E
    KB_APOSTR_DOUBLEQUOT:: 0x0028
    KB_APPLICATION:: 0xE05D
    KB_B:: 0x0030
    KB_C:: 0x002E
    KB_CAPSLOCK:: 0x003A
    KB_COMMA:: 0x0033
    KB_D:: 0x0020
    KB_DASH_UNDERSCORE:: 0x000C
    KB_DELETE:: 0x000E
    KB_DELETEFORWARD:: 0xE053
    KB_DOWNARROW:: 0xE050
    KB_E:: 0x0012
    KB_END:: 0xE04F
    KB_EQUALS:: 0x0059
    KB_EQUALS_PLUS:: 0x000D
    KB_ERR_ROLLOVER:: 0x00FF
    KB_ESCAPE:: 0x0001
    KB_F:: 0x0021
    KB_F1:: 0x003B
    KB_F10:: 0x0044
    KB_F11:: 0x0057
    KB_F12:: 0x0058
    KB_F13:: 0x0064
    KB_F14:: 0x0065
    KB_F15:: 0x0066
    KB_F16:: 0x0067
    KB_F17:: 0x0068
    KB_F18:: 0x0069
    KB_F19:: 0x006A
    KB_F2:: 0x003C
    KB_F20:: 0x006B
    KB_F21:: 0x006C
    KB_F22:: 0x006D
    KB_F23:: 0x006E
    KB_F24:: 0x0076
    KB_F3:: 0x003D
    KB_F4:: 0x003E
    KB_F5:: 0x003F
    KB_F6:: 0x0040
    KB_F7:: 0x0041
    KB_F8:: 0x0042
    KB_F9:: 0x0043
    KB_G:: 0x0022
    KB_GRAVEACC_TILDE:: 0x0029
    KB_H:: 0x0023
    KB_HOME:: 0xE047
    KB_I:: 0x0017
    KB_INSERT:: 0xE052
    KB_INTERNATIONAL1:: 0x0073
    KB_INTERNATIONAL2:: 0x0070
    KB_INTERNATIONAL3:: 0x007D
    KB_INTERNATIONAL4:: 0x0079
    KB_INTERNATIONAL5:: 0x007B
    KB_INTERNATIONAL6:: 0x005C
    KB_J:: 0x0024
    KB_K:: 0x0025
    KB_L:: 0x0026
    KB_LANG1:: 0x0072
    KB_LANG2:: 0x0071
    KB_LANG3:: 0x0078
    KB_LANG4:: 0x0077
    KB_LANG5:: 0x0076
    KB_LEFTALT:: 0x0038
    KB_LEFTARROW:: 0xE04B
    KB_LEFTBRACE:: 0x001A
    KB_LEFTCONTROL:: 0x001D
    KB_LEFTGUI:: 0xE05B
    KB_LEFTSHIFT:: 0x002A
    KB_M:: 0x0032
    KB_N:: 0x0031
    KB_NONUS:: 0x002B
    KB_NONUS_SLASHBAR:: 0x0056
    KB_O:: 0x0018
    KB_P:: 0x0019
    KB_PAGEDOWN:: 0xE051
    KB_PAGEUP:: 0xE049
    KB_PAUSE:: 0xE11D45
    KB_PERIOD:: 0x0034
    KB_PIPE_SLASH:: 0x002B
    KB_POWER:: 0xE05E
    KB_PRINTSCREEN:: 0xE037
    KB_Q:: 0x0010
    KB_QUESTIONMARK:: 0x0035
    KB_R:: 0x0013
    KB_RETURN_ENTER:: 0x001C
    KB_RIGHTALT:: 0xE038
    KB_RIGHTARROW:: 0xE04D
    KB_RIGHTBRACE:: 0x001B
    KB_RIGHTCONTROL:: 0xE01D
    KB_RIGHTGUI:: 0xE05C
    KB_RIGHTSHIFT:: 0x0036
    KB_S:: 0x001F
    KB_SCROLLLOCK:: 0x0046
    KB_SEMICOLON_COLON:: 0x0027
    KB_SPACEBAR:: 0x0039
    KB_SYS_POWERDOWN:: 0xE05E
    KB_SYS_SLEEP:: 0xE05F
    KB_SYS_WAKEUP:: 0xE063
    KB_T:: 0x0014
    KB_TAB:: 0x000F
    KB_U:: 0x0016
    KB_UPARROW:: 0xE048
    KB_V:: 0x002F
    KB_W:: 0x0011
    KB_X:: 0x002D
    KB_Y:: 0x0015
    KB_Z:: 0x002C
    KEY_… 13
    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_SUB_KEY:: 0x0004
    KEY_ENUMERATE_SUB_KEYS:: 0x0008
    KEY_EXECUTE: u32 : (KEY_READ) & (~SYNCHRONIZE)
    KEY_NOTIFY:: 0x0010
    KEY_QUERY_VALUE:: 0x0001
    Registry Specific Access Rights.
    KEY_READ: u32 : (STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY) & (~SYNCHRONIZE)
    KEY_SET_VALUE:: 0x0002
    KEY_WOW64_32KEY:: 0x0200
    KEY_WOW64_64KEY:: 0x0100
    KEY_WOW64_RES:: 0x0300
    KEY_WRITE: u32 : (STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) & (~SYNCHRONIZE)
    KF_… 6
    KF_ALTDOWN:: 0x2000
    KF_DLGMODE:: 0x0800
    KF_EXTENDED:: 0x0100
    KF_MENUMODE:: 0x1000
    KF_REPEAT:: 0x4000
    KF_UP:: 0x8000
    KP_… 18
    KP_0_INSERT:: 0x0052
    KP_1_END:: 0x004F
    KP_2_DOWNARROW:: 0x0050
    KP_3_PAGEDN:: 0x0051
    KP_4_LEFTARROW:: 0x004B
    KP_5:: 0x004C
    KP_6_RIGHTARROW:: 0x004D
    KP_7_HOME:: 0x0047
    KP_8_UPARROW:: 0x0048
    KP_9_PAGEUP:: 0x0049
    KP_COMMA:: 0x007E
    KP_DASH:: 0x004A
    KP_ENTER:: 0xE01C
    KP_FORWARDSLASH:: 0xE035
    KP_NUMLOCK_CLEAR:: 0x0045
    KP_PERIOD:: 0x0053
    KP_PLUS:: 0x004E
    KP_STAR:: 0x0037
    LABEL_SECURITY_INFORMATION:: 0x00000010
    LANG_INVARIANT:: 0x7f
    LANG_NEUTRAL:: 0x00
    LAYOUT_… 4
    LAYOUT_BTT:: 0x00000002
    Bottom to top
    LAYOUT_ORIENTATIONMASK:: LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH
    LAYOUT_RTL:: 0x00000001
    Layout Orientation Options
    LAYOUT_VBH:: 0x00000004
    Vertical before horizontal
    LF_FACESIZE:: 32
    LF_FULLFACESIZE:: 64
    LHND:: 0x0042
    LM20_… 3
    LM20_GNLEN:: LM20_UNLEN
    LM 2.0 Group name
    LM20_PWLEN:: 14
    LM 2.0 Maximum password length
    LM20_UNLEN:: 20
    LM 2.0 Maximum user name length
    LMEM_… 3
    LMEM_FIXED:: 0x0000
    LMEM_MOVEABLE:: 0x0002
    LMEM_ZEROINIT:: 0x0040
    LM_… 4
    LM_GETIDEALHEIGHT:: 0x0701
    LM_GETITEM:: 0x0703
    LM_HITTEST:: 0x0700
    LM_SETITEM:: 0x0702
    LOCALE_NAME_MAX_LENGTH:: 85
    LOCALE_NAME_USER_DEFAULT:: 0
    LOCKFILE_EXCLUSIVE_LOCK: u32 : DWORD(0x00000002)
    LOCKFILE_FAIL_IMMEDIATELY: u32 : DWORD(0x00000001)
    LPSTR_TEXTCALLBACKW: ^u16 : cast(LPWSTR)~uintptr(0)
    LPTR:: 0x0040
    LR_… 13
    LR_COLOR:: 0x00000002
    LR_COPYDELETEORG:: 0x00000008
    LR_COPYFROMRESOURCE:: 0x00004000
    LR_COPYRETURNORG:: 0x00000004
    LR_CREATEDIBSECTION:: 0x00002000
    LR_DEFAULTCOLOR:: 0x00000000
    LR_DEFAULTSIZE:: 0x00000040
    LR_LOADFROMFILE:: 0x00000010
    LR_LOADMAP3DCOLORS:: 0x00001000
    LR_LOADTRANSPARENT:: 0x00000020
    LR_MONOCHROME:: 0x00000001
    LR_SHARED:: 0x00008000
    LR_VGACOLOR:: 0x00000080
    LTGRAY_BRUSH:: 1
    LVA_… 4
    LVA_ALIGNLEFT:: 0x1
    LVA_ALIGNTOP:: 0x2
    LVA_DEFAULT:: 0x0
    LVA_SNAPTOGRID:: 0x5
    LVBKIF_… 9
    LVBKIF_FLAG_TILEOFFSET:: 0x100
    LVBKIF_SOURCE_HBITMAP:: 0x1
    LVBKIF_SOURCE_MASK:: 0x3
    LVBKIF_SOURCE_NONE:: 0x0
    LVBKIF_SOURCE_URL:: 0x2
    LVBKIF_STYLE_MASK:: 0x10
    LVBKIF_STYLE_NORMAL:: 0x00
    LVBKIF_STYLE_TILE:: 0x10
    LVBKIF_TYPE_WATERMARK:: 0x10000000
    LVCDI_GROUP:: 0x1
    LVCDI_ITEM:: 0x0
    LVCDRF_NOGROUPFRAME:: 0x20000
    LVCDRF_NOSELECT:: 0x10000
    LVCFMT_… 16
    LVCFMT_BITMAP_ON_RIGHT:: 0x0001000
    LVCFMT_CENTER:: 0x0000002
    LVCFMT_COL_HAS_IMAGES:: 0x0008000
    LVCFMT_FILL:: 0x0200000
    LVCFMT_FIXED_RATIO:: 0x0080000
    LVCFMT_FIXED_WIDTH:: 0x0000100
    LVCFMT_IMAGE:: 0x0000800
    LVCFMT_JUSTIFYMASK:: 0x3
    LVCFMT_LEFT:: 0x0000000
    LVCFMT_LINE_BREAK:: 0x0100000
    LVCFMT_NO_DPI_SCALE:: 0x0040000
    LVCFMT_NO_TITLE:: 0x0800000
    LVCFMT_RIGHT:: 0x0000001
    LVCFMT_SPLITBUTTON:: 0x1000000
    LVCFMT_TILE_PLACEMENTMASK:: LVCFMT_LINE_BREAK | LVCFMT_FILL
    LVCFMT_WRAP:: 0x0400000
    LVCF_… 9
    LVCF_DEFAULTWIDTH:: 0x080
    LVCF_FMT:: 0x001
    LVCF_IDEALWIDTH:: 0x100
    LVCF_IMAGE:: 0x010
    LVCF_MINWIDTH:: 0x040
    LVCF_ORDER:: 0x020
    LVCF_SUBITEM:: 0x008
    LVCF_TEXT:: 0x004
    LVCF_WIDTH:: 0x002
    LVFI_… 5
    LVFI_NEARESTXY:: 0x40
    LVFI_PARAM:: 0x01
    LVFI_PARTIAL:: 0x08
    LVFI_STRING:: 0x02
    LVFI_WRAP:: 0x20
    LVGA_… 6
    LVGA_HEADER_CENTER:: 0x2
    LVGA_HEADER_LEFT:: 0x1
    LVGA_HEADER_RIGHT:: 0x4
    LVGF_… 6
    LVGF_ALIGN:: 0x08
    LVGF_GROUPID:: 0x10
    LVGF_HEADER:: 0x01
    LVGF_NONE:: 0x00
    LVGF_STATE:: 0x04
    LVGIT_UNFOLDED:: 0x1
    LVGMF_… 4
    LVGMF_BORDERCOLOR:: 0x2
    LVGMF_BORDERSIZE:: 0x1
    LVGMF_NONE:: 0x0
    LVGMF_TEXTCOLOR:: 0x4
    LVGS_… 3
    LVGS_COLLAPSED:: 0x1
    LVGS_HIDDEN:: 0x2
    LVGS_NORMAL:: 0x0
    LVHT_… 9
    LVHT_ABOVE:: 0x08
    LVHT_BELOW:: 0x10
    LVHT_NOWHERE:: 0x1
    LVHT_ONITEM:: LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON
    LVHT_ONITEMICON:: 0x2
    LVHT_ONITEMLABEL:: 0x4
    LVHT_ONITEMSTATEICON:: 0x8
    LVHT_TOLEFT:: 0x40
    LVHT_TORIGHT:: 0x20
    LVIF_… 9
    LVIF_COLUMNS:: 0x200
    LVIF_DI_SETITEM:: 0x1000
    LVIF_GROUPID:: 0x100
    LVIF_IMAGE:: 0x002
    LVIF_INDENT:: 0x010
    LVIF_NORECOMPUTE:: 0x800
    LVIF_PARAM:: 0x004
    LVIF_STATE:: 0x008
    LVIF_TEXT:: 0x001
    LVIM_AFTER:: 0x1
    LVIR_… 4
    LVIR_BOUNDS:: 0
    LVIR_ICON:: 1
    LVIR_LABEL:: 2
    LVIR_SELECTBOUNDS:: 3
    LVIS_… 8
    LVIS_ACTIVATING:: 0x20
    LVIS_CUT:: 0x04
    LVIS_DROPHILITED:: 0x08
    LVIS_FOCUSED:: 0x01
    LVIS_GLOW:: 0x10
    LVIS_OVERLAYMASK:: 0x0F00
    LVIS_SELECTED:: 0x02
    LVIS_STATEIMAGEMASK:: 0xF000
    LVKF_… 3
    LVKF_ALT:: 0x1
    LVKF_CONTROL:: 0x2
    LVKF_SHIFT:: 0x4
    LVM_… 136
    LVM_APPROXIMATEVIEWRECT:: 0x1040
    LVM_ARRANGE:: 0x1016
    LVM_CANCELEDITLABEL:: 0x10b3
    LVM_CREATEDRAGIMAGE:: 0x1021
    LVM_DELETEALLITEMS:: 0x1009
    LVM_DELETECOLUMN:: 0x101c
    LVM_DELETEITEM:: 0x1008
    LVM_EDITLABELA:: 0x1017
    LVM_EDITLABELW:: 0x1076
    LVM_ENABLEGROUPVIEW:: 0x109d
    LVM_ENSUREVISIBLE:: 0x1013
    LVM_FINDITEMA:: 0x100d
    LVM_FINDITEMW:: 0x1053
    LVM_FIRST:: 0x1000
    LVM_GETBKCOLOR:: 0x1000
    LVM_GETBKIMAGEA:: 0x1045
    LVM_GETBKIMAGEW:: 0x108b
    LVM_GETCALLBACKMASK:: 0x100a
    LVM_GETCOLUMNA:: 0x1019
    LVM_GETCOLUMNORDERARRAY:: 0x103b
    LVM_GETCOLUMNW:: 0x105f
    LVM_GETCOLUMNWIDTH:: 0x101d
    LVM_GETCOUNTPERPAGE:: 0x1028
    LVM_GETEDITCONTROL:: 0x1018
    LVM_GETEMPTYTEXT:: 0x10cc
    LVM_GETEXTENDEDLISTVIEWSTYLE:: 0x1037
    LVM_GETFOOTERINFO:: 0x10ce
    LVM_GETFOOTERITEM:: 0x10d0
    LVM_GETFOOTERITEMRECT:: 0x10cf
    LVM_GETFOOTERRECT:: 0x10cd
    LVM_GETGROUPINFO:: 0x1095
    LVM_GETGROUPMETRICS:: 0x109c
    LVM_GETHEADER:: 0x101f
    LVM_GETHOTCURSOR:: 0x103f
    LVM_GETHOTITEM:: 0x103d
    LVM_GETHOVERTIME:: 0x1048
    LVM_GETIMAGELIST:: 0x1002
    LVM_GETINSERTMARK:: 0x10a7
    LVM_GETINSERTMARKCOLOR:: 0x10ab
    LVM_GETINSERTMARKRECT:: 0x10a9
    LVM_GETISEARCHSTRINGA:: 0x1034
    LVM_GETISEARCHSTRINGW:: 0x1075
    LVM_GETITEMA:: 0x1005
    LVM_GETITEMCOUNT:: 0x1004
    LVM_GETITEMINDEXRECT:: 0x10d1
    LVM_GETITEMPOSITION:: 0x1010
    LVM_GETITEMRECT:: 0x100e
    LVM_GETITEMSPACING:: 0x1033
    LVM_GETITEMSTATE:: 0x102c
    LVM_GETITEMTEXTA:: 0x102d
    LVM_GETITEMTEXTW:: 0x1073
    LVM_GETITEMW:: 0x104b
    LVM_GETNEXTITEM:: 0x100c
    LVM_GETNEXTITEMINDEX:: 0x10d3
    LVM_GETNUMBEROFWORKAREAS:: 0x1049
    LVM_GETORIGIN:: 0x1029
    LVM_GETOUTLINECOLOR:: 0x10b0
    LVM_GETSELECTEDCOLUMN:: 0x10ae
    LVM_GETSELECTEDCOUNT:: 0x1032
    LVM_GETSELECTIONMARK:: 0x1042
    LVM_GETSTRINGWIDTHA:: 0x1011
    LVM_GETSTRINGWIDTHW:: 0x1057
    LVM_GETSUBITEMRECT:: 0x1038
    LVM_GETTEXTBKCOLOR:: 0x1025
    LVM_GETTEXTCOLOR:: 0x1023
    LVM_GETTILEINFO:: 0x10a5
    LVM_GETTILEVIEWINFO:: 0x10a3
    LVM_GETTOOLTIPS:: 0x104e
    LVM_GETTOPINDEX:: 0x1027
    LVM_GETUNICODEFORMAT:: 0x2006
    LVM_GETVIEW:: 0x108f
    LVM_GETVIEWRECT:: 0x1022
    LVM_GETWORKAREAS:: 0x1046
    LVM_HASGROUP:: 0x10a1
    LVM_HITTEST:: 0x1012
    LVM_INSERTCOLUMNA:: 0x101b
    LVM_INSERTCOLUMNW:: 0x1061
    LVM_INSERTGROUP:: 0x1091
    LVM_INSERTGROUPSORTED:: 0x109f
    LVM_INSERTITEMA:: 0x1007
    LVM_INSERTITEMW:: 0x104d
    LVM_INSERTMARKHITTEST:: 0x10a8
    LVM_ISGROUPVIEWENABLED:: 0x10af
    LVM_ISITEMVISIBLE:: 0x10b6
    LVM_MAPIDTOINDEX:: 0x10b5
    LVM_MAPINDEXTOID:: 0x10b4
    LVM_MOVEGROUP:: 0x1097
    LVM_MOVEITEMTOGROUP:: 0x109a
    LVM_REDRAWITEMS:: 0x1015
    LVM_REMOVEALLGROUPS:: 0x10a0
    LVM_REMOVEGROUP:: 0x1096
    LVM_SCROLL:: 0x1014
    LVM_SETBKCOLOR:: 0x1001
    LVM_SETBKIMAGEA:: 0x1044
    LVM_SETCALLBACKMASK:: 0x100b
    LVM_SETCOLUMNA:: 0x101a
    LVM_SETCOLUMNORDERARRAY:: 0x103a
    LVM_SETCOLUMNW:: 0x1060
    LVM_SETCOLUMNWIDTH:: 0x101e
    LVM_SETEXTENDEDLISTVIEWSTYLE:: 0x1036
    LVM_SETGROUPINFO:: 0x1093
    LVM_SETGROUPMETRICS:: 0x109b
    LVM_SETHOTCURSOR:: 0x103e
    LVM_SETHOTITEM:: 0x103c
    LVM_SETHOVERTIME:: 0x1047
    LVM_SETICONSPACING:: 0x1035
    LVM_SETIMAGELIST:: 0x1003
    LVM_SETINFOTIP:: 0x10ad
    LVM_SETINSERTMARK:: 0x10a6
    LVM_SETINSERTMARKCOLOR:: 0x10aa
    LVM_SETITEMA:: 0x1006
    LVM_SETITEMCOUNT:: 0x102f
    LVM_SETITEMINDEXSTATE:: 0x10d2
    LVM_SETITEMPOSITION:: 0x100f
    LVM_SETITEMPOSITION32:: 0x1031
    LVM_SETITEMSTATE:: 0x102b
    LVM_SETITEMTEXTA:: 0x102e
    LVM_SETITEMTEXTW:: 0x1074
    LVM_SETITEMW:: 0x104c
    LVM_SETOUTLINECOLOR:: 0x10b1
    LVM_SETSELECTEDCOLUMN:: 0x108c
    LVM_SETSELECTIONMARK:: 0x1043
    LVM_SETTEXTBKCOLOR:: 0x1026
    LVM_SETTEXTCOLOR:: 0x1024
    LVM_SETTILEINFO:: 0x10a4
    LVM_SETTILEVIEWINFO:: 0x10a2
    LVM_SETTILEWIDTH:: 0x108d
    LVM_SETTOOLTIPS:: 0x104a
    LVM_SETUNICODEFORMAT:: 0x2005
    LVM_SETVIEW:: 0x108e
    LVM_SETWORKAREAS:: 0x1041
    LVM_SORTGROUPS:: 0x109e
    LVM_SORTITEMS:: 0x1030
    LVM_SORTITEMSEX:: 0x1051
    LVM_SUBITEMHITTEST:: 0x1039
    LVM_UPDATE:: 0x102a
    LVNI_… 9
    LVNI_ABOVE:: 0x100
    LVNI_ALL:: 0x000
    LVNI_BELOW:: 0x200
    LVNI_CUT:: 0x004
    LVNI_DROPHILITED:: 0x008
    LVNI_FOCUSED:: 0x001
    LVNI_SELECTED:: 0x002
    LVNI_TOLEFT:: 0x400
    LVNI_TORIGHT:: 0x800
    LVN_… 30
    LVN_BEGINDRAG: u32 : LVN_FIRST - 9
    LVN_BEGINLABELEDITA: u32 : LVN_FIRST - 5
    LVN_BEGINLABELEDITW: u32 : LVN_FIRST - 75
    LVN_BEGINRDRAG: u32 : LVN_FIRST - 11
    LVN_BEGINSCROLL: u32 : LVN_FIRST - 80
    LVN_COLUMNCLICK: u32 : LVN_FIRST - 8
    LVN_DELETEALLITEMS: u32 : LVN_FIRST - 4
    LVN_DELETEITEM: u32 : LVN_FIRST - 3
    LVN_ENDLABELEDITA: u32 : LVN_FIRST - 6
    LVN_ENDLABELEDITW: u32 : LVN_FIRST - 76
    LVN_ENDSCROLL: u32 : LVN_FIRST - 81
    LVN_FIRST: u32 : ~DWORD(100 - 1)
    LVN_GETDISPINFOA: u32 : LVN_FIRST - 50
    LVN_GETDISPINFOW: u32 : LVN_FIRST - 77
    LVN_GETINFOTIPA: u32 : LVN_FIRST - 57
    LVN_GETINFOTIPW: u32 : LVN_FIRST - 58
    LVN_HOTTRACK: u32 : LVN_FIRST - 21
    LVN_INSERTITEM: u32 : LVN_FIRST - 2
    LVN_ITEMACTIVATE: u32 : LVN_FIRST - 14
    LVN_ITEMCHANGED: u32 : LVN_FIRST - 1
    LVN_ITEMCHANGING: u32 : LVN_FIRST - 0
    LVN_KEYDOWN: u32 : LVN_FIRST - 55
    LVN_LAST: u32 : ~DWORD(199 - 1)
    LVN_MARQUEEBEGIN: u32 : LVN_FIRST - 56
    LVN_ODCACHEHINT: u32 : LVN_FIRST - 13
    LVN_ODFINDITEMA: u32 : LVN_FIRST - 52
    LVN_ODFINDITEMW: u32 : LVN_FIRST - 79
    LVN_ODSTATECHANGED: u32 : LVN_FIRST - 15
    LVN_SETDISPINFOA: u32 : LVN_FIRST - 51
    LVN_SETDISPINFOW: u32 : LVN_FIRST - 78
    LVSCW_AUTOSIZE:: -1
    LVSCW_AUTOSIZE_USEHEADER:: -2
    LVSICF_NOINVALIDATEALL:: 0x1
    LVSICF_NOSCROLL:: 0x2
    LVSIL_… 3
    LVSIL_NORMAL:: 0
    List View Control
    LVSIL_SMALL:: 1
    LVSIL_STATE:: 2
    LVS_… 52
    LVS_ALIGNLEFT:: 0x0800
    LVS_ALIGNMASK:: 0x0C00
    LVS_ALIGNTOP:: 0x0000
    LVS_AUTOARRANGE:: 0x0100
    LVS_EDITLABELS:: 0x0200
    LVS_EX_AUTOAUTOARRANGE:: 0x01000000
    LVS_EX_AUTOCHECKSELECT:: 0x08000000
    LVS_EX_AUTOSIZECOLUMNS:: 0x10000000
    LVS_EX_BORDERSELECT:: 0x00008000
    LVS_EX_CHECKBOXES:: 0x00000004
    LVS_EX_COLUMNOVERFLOW:: 0x80000000
    LVS_EX_COLUMNSNAPPOINTS:: 0x40000000
    LVS_EX_DOUBLEBUFFER:: 0x00010000
    LVS_EX_FLATSB:: 0x00000100
    LVS_EX_FULLROWSELECT:: 0x00000020
    LVS_EX_GRIDLINES:: 0x00000001
    LVS_EX_HEADERDRAGDROP:: 0x00000010
    LVS_EX_HEADERINALLVIEWS:: 0x02000000
    LVS_EX_HIDELABELS:: 0x00020000
    LVS_EX_INFOTIP:: 0x00000400
    LVS_EX_JUSTIFYCOLUMNS:: 0x00200000
    LVS_EX_LABELTIP:: 0x00004000
    LVS_EX_MULTIWORKAREAS:: 0x00002000
    LVS_EX_ONECLICKACTIVATE:: 0x00000040
    LVS_EX_REGIONAL:: 0x00000200
    LVS_EX_SIMPLESELECT:: 0x00100000
    LVS_EX_SINGLEROW:: 0x00040000
    LVS_EX_SNAPTOGRID:: 0x00080000
    LVS_EX_SUBITEMIMAGES:: 0x00000002
    LVS_EX_TRACKSELECT:: 0x00000008
    LVS_EX_TRANSPARENTBKGND:: 0x00400000
    LVS_EX_TRANSPARENTSHADOWTEXT:: 0x00800000
    LVS_EX_TWOCLICKACTIVATE:: 0x00000080
    LVS_EX_UNDERLINECOLD:: 0x00001000
    LVS_EX_UNDERLINEHOT:: 0x00000800
    LVS_ICON:: 0x0000
    List-View Control Styles
    LVS_LIST:: 0x0003
    LVS_NOCOLUMNHEADER:: 0x4000
    LVS_NOLABELWRAP:: 0x0080
    LVS_NOSCROLL:: 0x2000
    LVS_NOSORTHEADER:: 0x8000
    LVS_OWNERDATA:: 0x1000
    LVS_OWNERDRAWFIXED:: 0x0400
    LVS_REPORT:: 0x0001
    LVS_SHAREIMAGELISTS:: 0x0040
    LVS_SHOWSELALWAYS:: 0x0008
    LVS_SINGLESEL:: 0x0004
    LVS_SMALLICON:: 0x0002
    LVS_SORTASCENDING:: 0x0010
    LVS_SORTDESCENDING:: 0x0020
    LVS_TYPEMASK:: 0x0003
    LVS_TYPESTYLEMASK:: 0xFC00
    LVTVIF_… 4
    LVTVIF_AUTOSIZE:: 0x0
    LVTVIF_FIXEDHEIGHT:: 0x2
    LVTVIF_FIXEDSIZE:: 0x3
    LVTVIF_FIXEDWIDTH:: 0x1
    LVTVIM_… 3
    LVTVIM_COLUMNS:: 0x2
    LVTVIM_LABELMARGIN:: 0x4
    LVTVIM_TILESIZE:: 0x1
    LV_… 7
    LV_MAX_WORKAREAS:: 16
    LV_VIEW_DETAILS:: 0x1
    LV_VIEW_ICON:: 0x0
    LV_VIEW_LIST:: 0x3
    LV_VIEW_MAX:: 0x4
    LV_VIEW_SMALLICON:: 0x2
    LV_VIEW_TILE:: 0x4
    LWA_ALPHA:: 0x2
    LWA_COLORKEY:: 0x1
    L_MAX_URL_LENGTH:: 2048 + 32 + len("://")
    LowMemoryResourceNotification:: MEMORY_RESOURCE_NOTIFICATION_TYPE.LowMemoryResourceNotification
    MAC_CHARSET:: 77
    MAPVK_… 5
    MAPVK_VK_TO_CHAR:: 2
    MAPVK_VK_TO_VSC:: 0
    MAPVK_VK_TO_VSC_EX:: 4
    MAPVK_VSC_TO_VK:: 1
    MAPVK_VSC_TO_VK_EX:: 3
    MAXERRORLENGTH:: 256
    MAXIMUM_REPARSE_DATA_BUFFER_SIZE:: 16 * 1024
    MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID: ^u16 : LPWSTR(uintptr(0x00000010))
    MAXLONG:: 0x7fffffff
    MAXPNAMELEN:: 32
    MAXSTRETCHBLTMODE:: 4
    MAX_… 7
    MAX_DEFAULTCHAR:: 2
    single or double byte
    MAX_LEADBYTES:: 12
    String Length Maximums.

    String Length Maximums. 5 ranges, 2 bytes ea., 0 term.

    MAX_LINKID_TEXT:: 48
    MAX_MODULE_NAME32:: 255
    MAX_PATH:: 0x00000104
    MAX_PATH_WIDE:: 0x8000
    MAX_PROTOCOL_CHAIN: u32 : 7
    MB_… 38
    MB_ABORTRETRYIGNORE:: 0x00000002
    MB_APPLMODAL:: 0x00000000
    MB_CANCELTRYCONTINUE:: 0x00000006
    MB_DEFAULT_DESKTOP_ONLY:: 0x00020000
    MB_DEFBUTTON1:: 0x00000000
    MB_DEFBUTTON2:: 0x00000100
    MB_DEFBUTTON3:: 0x00000200
    MB_DEFBUTTON4:: 0x00000300
    MB_DEFMASK:: 0x00000F00
    MB_ERR_INVALID_CHARS:: 8
    MB_HELP:: 0x00004000
    Help Button
    MB_ICONASTERISK:: 0x00000040
    MB_ICONERROR:: MB_ICONHAND
    MB_ICONEXCLAMATION:: 0x00000030
    MB_ICONHAND:: 0x00000010
    MB_ICONINFORMATION:: MB_ICONASTERISK
    MB_ICONMASK:: 0x000000F0
    MB_ICONQUESTION:: 0x00000020
    MB_ICONSTOP:: MB_ICONHAND
    MB_ICONWARNING:: MB_ICONEXCLAMATION
    MB_MISCMASK:: 0x0000C000
    MB_MODEMASK:: 0x00003000
    MB_NOFOCUS:: 0x00008000
    MB_OK:: 0x00000000
    MessageBox() Flags
    MB_OKCANCEL:: 0x00000001
    MB_RETRYCANCEL:: 0x00000005
    MB_RIGHT:: 0x00080000
    MB_RTLREADING:: 0x00100000
    MB_SERVICE_NOTIFICATION:: 0x00200000
    MB_SERVICE_NOTIFICATION_NT3X:: 0x00040000
    MB_SETFOREGROUND:: 0x00010000
    MB_SYSTEMMODAL:: 0x00001000
    MB_TASKMODAL:: 0x00002000
    MB_TOPMOST:: 0x00040000
    MB_TYPEMASK:: 0x0000000F
    MB_USERICON:: 0x00000080
    MB_YESNO:: 0x00000004
    MB_YESNOCANCEL:: 0x00000003
    MCIERR_… 76
    MCIERR_BAD_CONSTANT:: MCIERR_BASE + 34
    MCIERR_BAD_INTEGER:: MCIERR_BASE + 14
    MCIERR_BAD_TIME_FORMAT:: MCIERR_BASE + 37
    MCIERR_BASE:: 256
    MCIERR_CANNOT_LOAD_DRIVER:: MCIERR_BASE + 10
    MCIERR_CANNOT_USE_ALL:: MCIERR_BASE + 23
    MCIERR_CREATEWINDOW:: MCIERR_BASE + 91
    MCIERR_DEVICE_LENGTH:: MCIERR_BASE + 54
    MCIERR_DEVICE_LOCKED:: MCIERR_BASE + 32
    MCIERR_DEVICE_NOT_INSTALLED:: MCIERR_BASE + 50
    MCIERR_DEVICE_NOT_READY:: MCIERR_BASE + 20
    MCIERR_DEVICE_OPEN:: MCIERR_BASE + 9
    MCIERR_DEVICE_ORD_LENGTH:: MCIERR_BASE + 55
    MCIERR_DEVICE_TYPE_REQUIRED:: MCIERR_BASE + 31
    MCIERR_DRIVER:: MCIERR_BASE + 22
    MCIERR_DRIVER_INTERNAL:: MCIERR_BASE + 16
    MCIERR_DUPLICATE_ALIAS:: MCIERR_BASE + 33
    MCIERR_DUPLICATE_FLAGS:: MCIERR_BASE + 39
    MCIERR_EXTENSION_NOT_FOUND:: MCIERR_BASE + 25
    MCIERR_EXTRA_CHARACTERS:: MCIERR_BASE + 49
    MCIERR_FILENAME_REQUIRED:: MCIERR_BASE + 48
    MCIERR_FILE_NOT_FOUND:: MCIERR_BASE + 19
    MCIERR_FILE_NOT_SAVED:: MCIERR_BASE + 30
    MCIERR_FILE_READ:: MCIERR_BASE + 92
    MCIERR_FILE_WRITE:: MCIERR_BASE + 93
    MCIERR_FLAGS_NOT_COMPATIBLE:: MCIERR_BASE + 28
    MCIERR_GET_CD:: MCIERR_BASE + 51
    MCIERR_HARDWARE:: MCIERR_BASE + 6
    MCIERR_ILLEGAL_FOR_AUTO_OPEN:: MCIERR_BASE + 47
    MCIERR_INTERNAL:: MCIERR_BASE + 21
    MCIERR_INVALID_DEVICE_ID:: MCIERR_BASE + 1
    MCI error return values
    MCIERR_INVALID_DEVICE_NAME:: MCIERR_BASE + 7
    MCIERR_INVALID_FILE:: MCIERR_BASE + 40
    MCIERR_MISSING_COMMAND_STRING:: MCIERR_BASE + 11
    MCIERR_MISSING_DEVICE_NAME:: MCIERR_BASE + 36
    MCIERR_MISSING_PARAMETER:: MCIERR_BASE + 17
    MCIERR_MISSING_STRING_ARGUMENT:: MCIERR_BASE + 13
    MCIERR_MULTIPLE:: MCIERR_BASE + 24
    MCIERR_MUST_USE_SHAREABLE:: MCIERR_BASE + 35
    MCIERR_NEW_REQUIRES_ALIAS:: MCIERR_BASE + 43
    MCIERR_NONAPPLICABLE_FUNCTION:: MCIERR_BASE + 46
    MCIERR_NOTIFY_ON_AUTO_OPEN:: MCIERR_BASE + 44
    MCIERR_NO_CLOSING_QUOTE:: MCIERR_BASE + 38
    MCIERR_NO_ELEMENT_ALLOWED:: MCIERR_BASE + 45
    MCIERR_NO_IDENTITY:: MCIERR_BASE + 94
    MCIERR_NO_INTEGER:: MCIERR_BASE + 56
    MCIERR_NO_WINDOW:: MCIERR_BASE + 90
    MCIERR_NULL_PARAMETER_BLOCK:: MCIERR_BASE + 41
    MCIERR_OUTOFRANGE:: MCIERR_BASE + 26
    MCIERR_OUT_OF_MEMORY:: MCIERR_BASE + 8
    MCIERR_PARAM_OVERFLOW:: MCIERR_BASE + 12
    MCIERR_PARSER_INTERNAL:: MCIERR_BASE + 15
    MCIERR_SEQ_DIV_INCOMPATIBLE:: MCIERR_BASE + 80
    MCIERR_SEQ_NOMIDIPRESENT:: MCIERR_BASE + 87
    MCIERR_SEQ_PORTUNSPECIFIED:: MCIERR_BASE + 86
    MCIERR_SEQ_PORT_INUSE:: MCIERR_BASE + 81
    MCIERR_SEQ_PORT_MAPNODEVICE:: MCIERR_BASE + 83
    MCIERR_SEQ_PORT_MISCERROR:: MCIERR_BASE + 84
    MCIERR_SEQ_PORT_NONEXISTENT:: MCIERR_BASE + 82
    MCIERR_SEQ_TIMER:: MCIERR_BASE + 85
    MCIERR_SET_CD:: MCIERR_BASE + 52
    MCIERR_SET_DRIVE:: MCIERR_BASE + 53
    MCIERR_UNNAMED_RESOURCE:: MCIERR_BASE + 42
    MCIERR_UNRECOGNIZED_COMMAND:: MCIERR_BASE + 5
    MCIERR_UNRECOGNIZED_KEYWORD:: MCIERR_BASE + 3
    MCIERR_UNSUPPORTED_FUNCTION:: MCIERR_BASE + 18
    MCIERR_WAVE_INPUTSINUSE:: MCIERR_BASE + 66
    MCIERR_WAVE_INPUTSUNSUITABLE:: MCIERR_BASE + 72
    MCIERR_WAVE_INPUTUNSPECIFIED:: MCIERR_BASE + 69
    MCIERR_WAVE_OUTPUTSINUSE:: MCIERR_BASE + 64
    MCIERR_WAVE_OUTPUTSUNSUITABLE:: MCIERR_BASE + 70
    MCIERR_WAVE_OUTPUTUNSPECIFIED:: MCIERR_BASE + 68
    MCIERR_WAVE_SETINPUTINUSE:: MCIERR_BASE + 67
    MCIERR_WAVE_SETINPUTUNSUITABLE:: MCIERR_BASE + 73
    MCIERR_WAVE_SETOUTPUTINUSE:: MCIERR_BASE + 65
    MCIERR_WAVE_SETOUTPUTUNSUITABLE:: MCIERR_BASE + 71
    MCIWNDM_… 32
    MCIWNDM_CAN_CONFIG:: 0x0495
    MCIWNDM_CAN_EJECT:: 0x0494
    MCIWNDM_CAN_PLAY:: 0x0490
    MCIWNDM_CAN_RECORD:: 0x0492
    MCIWNDM_CAN_SAVE:: 0x0493
    MCIWNDM_CAN_WINDOW:: 0x0491
    MCIWNDM_GETDEVICEA:: 0x047d
    MCIWNDM_GETDEVICEW:: 0x04e1
    MCIWNDM_GETERRORA:: 0x0480
    MCIWNDM_GETERRORW:: 0x04e4
    MCIWNDM_GETFILENAMEA:: 0x047c
    MCIWNDM_GETFILENAMEW:: 0x04e0
    MCIWNDM_GETINACTIVETIMER:: 0x0485
    MCIWNDM_GETPALETTE:: 0x047e
    MCIWNDM_GETTIMEFORMATA:: 0x0478
    MCIWNDM_GETTIMEFORMATW:: 0x04dc
    MCIWNDM_GETZOOM:: 0x046d
    MCIWNDM_GET_DEST:: 0x048e
    MCIWNDM_GET_SOURCE:: 0x048c
    MCIWNDM_NOTIFYERROR:: 0x04cd
    MCIWNDM_NOTIFYMEDIA:: 0x04cb
    MCIWNDM_NOTIFYMODE:: 0x04c8
    MCIWNDM_PALETTEKICK:: 0x0496
    MCIWNDM_PLAYTO:: 0x047b
    MCIWNDM_PUT_DEST:: 0x048f
    MCIWNDM_PUT_SOURCE:: 0x048d
    MCIWNDM_REALIZE:: 0x0476
    MCIWNDM_SETINACTIVETIMER:: 0x0483
    MCIWNDM_SETPALETTE:: 0x047f
    MCIWNDM_SETTIMEFORMATA:: 0x0477
    MCIWNDM_SETTIMEFORMATW:: 0x04db
    MCIWNDM_VALIDATEMEDIA:: 0x0479
    MCI_… 5
    MCI_CD_OFFSET:: 1088
    MCI_SEQ_OFFSET:: 1216
    MCI_STRING_OFFSET:: 512
    MCI_VD_OFFSET:: 1024
    MCI_WAVE_OFFSET:: 1152
    MCN_FIRST: u32 : ~DWORD(750 - 1)
    MCN_LAST: u32 : ~DWORD(759 - 1)
    MCS_… 5
    MCS_DAYSTATE:: 0x01
    Month-Calendar Control Styles
    MCS_MULTISELECT:: 0x02
    MCS_NOTODAY:: 0x10
    MCS_NOTODAYCIRCLE:: 0x08
    MCS_WEEKNUMBERS:: 0x04
    MEHC_PATROL_SCRUBBER_PRESENT: u32 : ULONG(0x1)
    MEM_… 22
    MEM_4MB_PAGES:: 0x80000000
    MEM_64K_PAGES:: 0x20400000
    MEM_COMMIT:: 0x1000
    MEM_DECOMMIT:: 0x4000
    MEM_EXTENDED_PARAMETER_EC_CODE:: 0x40
    MEM_EXTENDED_PARAMETER_NONPAGED:: 0x02
    MEM_EXTENDED_PARAMETER_NONPAGED_HUGE:: 0x10
    MEM_EXTENDED_PARAMETER_NONPAGED_LARGE:: 0x08
    MEM_EXTENDED_PARAMETER_TYPE_BITS:: 8
    MEM_FREE:: 0x10000
    MEM_LARGE_PAGES:: 0x20000000
    MEM_MAPPED:: 0x40000
    MEM_PHYSICAL:: 0x00400000
    MEM_PRESERVE_PLACEHOLDER:: 0x00000002
    MEM_PRIVATE:: 0x20000
    MEM_RELEASE:: 0x8000
    MEM_REPLACE_PLACEHOLDER:: 0x00004000
    MEM_RESERVE:: 0x2000
    MEM_RESERVE_PLACEHOLDER:: 0x00040000
    MEM_RESET:: 0x80000
    MEM_RESET_UNDO:: 0x1000000
    MEM_TOP_DOWN:: 0x100000
    MERGECOPY: u32 : 0x00C000CA
    dest = (source AND pattern
    MERGEPAINT: u32 : 0x00BB0226
    dest = (NOT source) OR dest
    MFS_… 8
    MFS_CHECKED:: MF_CHECKED
    MFS_DEFAULT:: MF_DEFAULT
    MFS_DISABLED:: MFS_GRAYED
    MFS_ENABLED:: MF_ENABLED
    MFS_GRAYED:: 0x00000003
    Menu flags for Add/Check/EnableMenuItem()
    MFS_HILITE:: MF_HILITE
    MFS_UNCHECKED:: MF_UNCHECKED
    MFS_UNHILITE:: MF_UNHILITE
    MF_… 28
    MF_APPEND:: 0x00000100
    MF_BITMAP:: 0x00000004
    MF_BYCOMMAND:: 0x00000000
    MF_BYPOSITION:: 0x00000400
    MF_CHANGE:: 0x00000080
    MF_CHECKED:: 0x00000008
    MF_DEFAULT:: 0x00001000
    MF_DELETE:: 0x00000200
    MF_DISABLED:: 0x00000002
    MF_ENABLED:: 0x00000000
    MF_END:: 0x00000080
    Obsolete -- only used by old RES files
    MF_GRAYED:: 0x00000001
    MF_HELP:: 0x00004000
    MF_HILITE:: 0x00000080
    MF_INSERT:: 0x00000000
    Menu flags for Add/Check/EnableMenuItem()
    MF_MENUBARBREAK:: 0x00000020
    MF_MENUBREAK:: 0x00000040
    MF_MOUSESELECT:: 0x00008000
    MF_OWNERDRAW:: 0x00000100
    MF_POPUP:: 0x00000010
    MF_REMOVE:: 0x00001000
    MF_RIGHTJUSTIFY:: 0x00004000
    MF_SEPARATOR:: 0x00000800
    MF_STRING:: 0x00000000
    MF_SYSMENU:: 0x00002000
    MF_UNCHECKED:: 0x00000000
    MF_UNHILITE:: 0x00000000
    MF_USECHECKBITMAPS:: 0x00000200
    MIDIERR_… 10
    MIDIERR_BADOPENMODE:: MIDIERR_BASE + 6
    operation unsupported w/ open mode
    MIDIERR_BASE:: 64
    MIDIERR_DONT_CONTINUE:: MIDIERR_BASE + 7
    thru device 'eating' a message
    MIDIERR_INVALIDSETUP:: MIDIERR_BASE + 5
    invalid MIF
    MIDIERR_LASTERROR:: MIDIERR_BASE + 7
    last error in range
    MIDIERR_NODEVICE:: MIDIERR_BASE + 4
    port no longer connected
    MIDIERR_NOMAP:: MIDIERR_BASE + 2
    no configured instruments
    MIDIERR_NOTREADY:: MIDIERR_BASE + 3
    hardware is still busy
    MIDIERR_STILLPLAYING:: MIDIERR_BASE + 1
    still something playing
    MIDIERR_UNPREPARED:: MIDIERR_BASE + 0
    MIDI error return values
    MIIM_… 9
    MIIM_BITMAP:: 0x00000080
    MIIM_CHECKMARKS:: 0x00000008
    MIIM_DATA:: 0x00000020
    MIIM_FTYPE:: 0x00000100
    MIIM_ID:: 0x00000002
    MIIM_STATE:: 0x00000001
    MIIM_STRING:: 0x00000040
    MIIM_SUBMENU:: 0x00000004
    MIIM_TYPE:: 0x00000010
    MINIMUM_RESERVED_MANIFEST_RESOURCE_ID: ^u16 : LPWSTR(uintptr(0x00000001))
    MINSYSCOMMAND:: SC_SIZE
    Menu Help
    MIXERR_… 5
    MIXERR_BASE:: 1024
    MIXERR_INVALCONTROL:: MIXERR_BASE + 1
    MIXERR_INVALLINE:: MIXERR_BASE + 0
    MMRESULT error return values specific to the mixer API
    MIXERR_INVALVALUE:: MIXERR_BASE + 2
    MIXERR_LASTERROR:: MIXERR_BASE + 2
    MK_… 7
    MK_CONTROL:: 0x0008
    MK_LBUTTON:: 0x0001
    Key State Masks for Mouse Messages
    MK_MBUTTON:: 0x0010
    MK_RBUTTON:: 0x0002
    MK_SHIFT:: 0x0004
    MK_XBUTTON1:: 0x0020
    MK_XBUTTON2:: 0x0040
    MMSYSERR_… 24
    MMSYSERR_ALLOCATED:: MMSYSERR_BASE + 4
    device already allocated
    MMSYSERR_BADDB:: MMSYSERR_BASE + 14
    bad registry database
    MMSYSERR_BADDEVICEID:: MMSYSERR_BASE + 2
    device ID out of range
    MMSYSERR_BADERRNUM:: MMSYSERR_BASE + 9
    error value out of range
    MMSYSERR_BASE:: 0
    String resource number bases (internal use)
    MMSYSERR_DELETEERROR:: MMSYSERR_BASE + 18
    registry delete error
    MMSYSERR_ERROR:: MMSYSERR_BASE + 1
    unspecified error
    MMSYSERR_HANDLEBUSY:: MMSYSERR_BASE + 12
    handle being used simultaneously on another thread (eg callback)
    MMSYSERR_INVALFLAG:: MMSYSERR_BASE + 10
    invalid flag passed
    MMSYSERR_INVALHANDLE:: MMSYSERR_BASE + 5
    device handle is invalid
    MMSYSERR_INVALIDALIAS:: MMSYSERR_BASE + 13
    specified alias not found
    MMSYSERR_INVALPARAM:: MMSYSERR_BASE + 11
    invalid parameter passed
    MMSYSERR_KEYNOTFOUND:: MMSYSERR_BASE + 15
    registry key not found
    MMSYSERR_LASTERROR:: MMSYSERR_BASE + 21
    last error in range
    MMSYSERR_MOREDATA:: MMSYSERR_BASE + 21
    more data to be returned
    MMSYSERR_NODRIVER:: MMSYSERR_BASE + 6
    no device driver present
    MMSYSERR_NODRIVERCB:: MMSYSERR_BASE + 20
    driver does not call DriverCallback
    MMSYSERR_NOERROR:: 0
    general error return values
    MMSYSERR_NOMEM:: MMSYSERR_BASE + 7
    memory allocation error
    MMSYSERR_NOTENABLED:: MMSYSERR_BASE + 3
    driver failed enable
    MMSYSERR_NOTSUPPORTED:: MMSYSERR_BASE + 8
    function isn't supported
    MMSYSERR_READERROR:: MMSYSERR_BASE + 16
    registry read error
    MMSYSERR_VALNOTFOUND:: MMSYSERR_BASE + 19
    registry value not found
    MMSYSERR_WRITEERROR:: MMSYSERR_BASE + 17
    registry write error
    MM_… 7
    MM_MAX_NUMAXES:: 16
    MM_WIM_CLOSE:: 0x3BF
    MM_WIM_DATA:: 0x3C0
    MM_WIM_OPEN:: 0x3BE
    waveform input
    MM_WOM_CLOSE:: 0x3BC
    MM_WOM_DONE:: 0x3BD
    MM_WOM_OPEN:: 0x3BB
    waveform output
    MONO_FONT:: 8
    MONTHCAL_CLASS:: "SysMonthCal32"
    MOUSEEVENTF_… 14
    MOUSEEVENTF_ABSOLUTE:: 0x8000
    MOUSEEVENTF_HWHEEL:: 0x1000
    MOUSEEVENTF_LEFTDOWN:: 0x0002
    MOUSEEVENTF_LEFTUP:: 0x0004
    MOUSEEVENTF_MIDDLEDOWN:: 0x0020
    MOUSEEVENTF_MIDDLEUP:: 0x0040
    MOUSEEVENTF_MOVE:: 0x0001
    MOUSEEVENTF_MOVE_NOCOALESCE:: 0x2000
    MOUSEEVENTF_RIGHTDOWN:: 0x0008
    MOUSEEVENTF_RIGHTUP:: 0x0010
    MOUSEEVENTF_VIRTUALDESK:: 0x4000
    MOUSEEVENTF_WHEEL:: 0x0800
    MOUSEEVENTF_XDOWN:: 0x0080
    MOUSEEVENTF_XUP:: 0x0100
    MOUSEWHEEL_… 3
    MOUSEWHEEL_ROUTING_FOCUS:: 0
    MOUSEWHEEL_ROUTING_HYBRID:: 1
    MOUSEWHEEL_ROUTING_MOUSE_POS:: 2
    MOUSE_… 5
    MOUSE_ATTRIBUTES_CHANGED:: 0x04
    MOUSE_MOVE_ABSOLUTE:: 0x01
    MOUSE_MOVE_NOCOALESCE:: 0x08
    MOUSE_MOVE_RELATIVE:: 0x00
    MOUSE_VIRTUAL_DESKTOP:: 0x02
    MOVEFILE_… 6
    MOVEFILE_COPY_ALLOWED: u32 : 0x2
    MOVEFILE_DELAY_UNTIL_REBOOT: u32 : 0x4
    MOVEFILE_FAIL_IF_NOT_TRACKABLE: u32 : 0x20
    MOVEFILE_REPLACE_EXISTING: u32 : 0x1
    MOVEFILE_WRITE_THROUGH: u32 : 0x8
    MSGF_… 4
    MSGF_COMMCTRL_BEGINDRAG:: 0x4200
    Common Control Constants
    MSGF_COMMCTRL_DRAGSELECT:: 0x4202
    MSGF_COMMCTRL_SIZEHEADER:: 0x4201
    MSGF_COMMCTRL_TOOLBARCUST:: 0x4203
    MSG_… 7
    MSG_FTS_JUMP_QWORD:: 0x0423
    MSG_FTS_JUMP_VA:: 0x0421
    MSG_FTS_WHERE_IS_IT:: 0x0425
    MSG_GET_DEFFONT:: 0x042d
    MSG_OOB: i32 : 1
    Send/Receive flags.
    MSG_PEEK: i32 : 2
    recv should not remove the data from the buffer.

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

    MSG_REINDEX_REQUEST:: 0x0424
    MemoryRegionInfo:: WIN32_MEMORY_INFORMATION_CLASS.MemoryRegionInfo
    MiniSecondaryValidFlags:: MINIDUMP_SECONDARY_FLAGS{.WithoutPowerInfo}
    MiniSecondaryWithoutPowerInfo:: MINIDUMP_SECONDARY_FLAGS{.WithoutPowerInfo}
    NFS_… 6
    NFS_ALL:: 0x10
    NFS_BUTTON:: 0x08
    NFS_EDIT:: 0x01
    Native Font Control Styles
    NFS_LISTCOMBO:: 0x04
    NFS_STATIC:: 0x02
    NFS_USEFONTASSOC:: 0x20
    NIF_… 8
    NIF_GUID:: 0x00000020
    NIF_ICON:: 0x00000002
    NIF_INFO:: 0x00000010
    NIF_MESSAGE:: 0x00000001
    NIF_REALTIME:: 0x00000040
    NIF_SHOWTIP:: 0x00000080
    NIF_STATE:: 0x00000008
    NIF_TIP:: 0x00000004
    NIM_… 5
    NIM_ADD:: 0x00000000
    NIM_DELETE:: 0x00000002
    NIM_MODIFY:: 0x00000001
    NIM_SETFOCUS:: 0x00000003
    NIM_SETVERSION:: 0x00000004
    NIN_SELECT:: 0x0400
    NM_… 24
    NM_CHAR: uintptr : NM_OUTOFMEMORY - 17
    uses NMCHAR struct
    NM_CLICK: uintptr : NM_OUTOFMEMORY - 1
    uses NMCLICK struct
    NM_CUSTOMDRAW: uintptr : NM_OUTOFMEMORY - 11
    NM_CUSTOMTEXT: uintptr : NM_OUTOFMEMORY - 23
    uses NMCUSTOMTEXT struct
    NM_DBLCLK: uintptr : NM_OUTOFMEMORY - 2
    NM_FIRST:: 0
    Common Control Notification Code Ranges
    NM_FONTCHANGED: uintptr : NM_OUTOFMEMORY - 22
    NM_HOVER: uintptr : NM_OUTOFMEMORY - 12
    NM_KEYDOWN: uintptr : NM_OUTOFMEMORY - 14
    uses NMKEY struct
    NM_KILLFOCUS: uintptr : NM_OUTOFMEMORY - 7
    NM_LAST: u32 : ~DWORD(99 - 1)
    NM_LDOWN: uintptr : NM_OUTOFMEMORY - 19
    NM_NCHITTEST: uintptr : NM_OUTOFMEMORY - 13
    uses NMMOUSE struct
    NM_OUTOFMEMORY: uintptr : ~uintptr(0)
    Generic WM_NOTIFY notification codes
    NM_RCLICK: uintptr : NM_OUTOFMEMORY - 4
    uses NMCLICK struct
    NM_RDBLCLK: uintptr : NM_OUTOFMEMORY - 5
    NM_RDOWN: uintptr : NM_OUTOFMEMORY - 20
    NM_RELEASEDCAPTURE: uintptr : NM_OUTOFMEMORY - 15
    NM_RETURN: uintptr : NM_OUTOFMEMORY - 3
    NM_SETCURSOR: uintptr : NM_OUTOFMEMORY - 16
    uses NMMOUSE struct
    NM_SETFOCUS: uintptr : NM_OUTOFMEMORY - 6
    NM_THEMECHANGED: uintptr : NM_OUTOFMEMORY - 21
    NM_TOOLTIPSCREATED: uintptr : NM_OUTOFMEMORY - 18
    notify of when the tooltips window is create
    NM_TVSTATEIMAGECHANGING: uintptr : NM_OUTOFMEMORY - 23
    uses NMTVSTATEIMAGECHANGING struct, defined after HTREEITEM
    NOMIRRORBITMAP: u32 : 0x80000000
    Do not Mirror the bitmap in this call
    NONANTIALIASED_QUALITY:: 3
    NONZEROLHND:: LMEM_MOVEABLE
    NONZEROLPTR:: LMEM_FIXED
    NORMAL_PRIORITY_CLASS:: 0x00000020
    NOTSRCCOPY: u32 : 0x00330008
    dest = (NOT source)
    NOTSRCERASE: u32 : 0x001100A6
    dest = (NOT src) AND (NOT dest)
    NO_ERROR:: 0
    NULLREGION:: 1
    NULL_BRUSH:: 5
    NULL_PEN:: 8
    NUMA_NO_PREFERRED_NODE:: 0xffffffff
    OCM_… 20
    OCM_CHARTOITEM:: 0x202f
    OCM_COMMAND:: 0x2111
    OCM_COMPAREITEM:: 0x2039
    OCM_CTLCOLOR:: 0x2019
    OCM_CTLCOLORBTN:: 0x2135
    OCM_CTLCOLORDLG:: 0x2136
    OCM_CTLCOLOREDIT:: 0x2133
    OCM_CTLCOLORLISTBOX:: 0x2134
    OCM_CTLCOLORMSGBOX:: 0x2132
    OCM_CTLCOLORSCROLLBAR:: 0x2137
    OCM_CTLCOLORSTATIC:: 0x2138
    OCM_DELETEITEM:: 0x202d
    OCM_DRAWITEM:: 0x202b
    OCM_HSCROLL:: 0x2114
    OCM_MEASUREITEM:: 0x202c
    OCM_NOTIFY:: 0x204e
    OCM_PARENTNOTIFY:: 0x2210
    OCM_VKEYTOITEM:: 0x202e
    OCM_VSCROLL:: 0x2115
    OCM__BASE:: 0x2000
    OEM_CHARSET:: 255
    OEM_FIXED_FONT:: 10
    OFN_… 26
    OFN_ALLOWMULTISELECT:: 0x00000200
    NOTE(Jeroen): Without OFN_EXPLORER it uses the Win3 dialog.
    OFN_CREATEPROMPT:: 0x00002000
    OFN_DONTADDTORECENT:: 0x02000000
    OFN_ENABLEHOOK:: 0x00000020
    OFN_ENABLEINCLUDENOTIFY:: 0x00400000
    OFN_ENABLESIZING:: 0x00800000
    OFN_ENABLETEMPLATE:: 0x00000040
    OFN_ENABLETEMPLATEHANDLE:: 0x00000080
    OFN_EXPLORER:: 0x00080000
    OFN_EXTENSIONDIFFERENT:: 0x00000400
    OFN_FILEMUSTEXIST:: 0x00001000
    OFN_FORCESHOWHIDDEN:: 0x10000000
    OFN_HIDEREADONLY:: 0x00000004
    OFN_LONGNAMES:: 0x00200000
    OFN_NOCHANGEDIR:: 0x00000008
    OFN_NOLONGNAMES:: 0x00040000
    OFN_NONETWORKBUTTON:: 0x00020000
    OFN_NOREADONLYRETURN:: 0x00008000
    OFN_NOTESTFILECREATE:: 0x00010000
    OFN_NOVALIDATE:: 0x00000100
    OFN_OVERWRITEPROMPT:: 0x00000002
    OFN_PATHMUSTEXIST:: 0x00000800
    OFN_READONLY:: 0x00000001
    OFN_SHAREAWARE:: 0x00004000
    OFN_SHOWHELP:: 0x00000010
    OPEN_… 5
    OPEN_ALWAYS: u32 : 4
    OPEN_EXISTING: u32 : 3
    OPEN_FLAGS:: u32(OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST)
    OPEN_FLAGS_MULTI: u32 : OPEN_FLAGS | OFN_ALLOWMULTISELECT | OFN_EXPLORER
    OPEN_TITLE:: "Select file to open"
    OUT_… 11
    OUT_CHARACTER_PRECIS:: 2
    OUT_DEFAULT_PRECIS:: 0
    Output Precisions
    OUT_DEVICE_PRECIS:: 5
    OUT_OUTLINE_PRECIS:: 8
    OUT_PS_ONLY_PRECIS:: 10
    OUT_RASTER_PRECIS:: 6
    OUT_SCREEN_OUTLINE_PRECIS:: 9
    OUT_STRING_PRECIS:: 1
    OUT_STROKE_PRECIS:: 3
    OUT_TT_ONLY_PRECIS:: 7
    OUT_TT_PRECIS:: 4
    OWNER_SECURITY_INFORMATION:: 0x00000001
    PAGE_… 11
    PAGE_EXECUTE:: 0x10
    PAGE_EXECUTE_READ:: 0x20
    PAGE_EXECUTE_READWRITE:: 0x40
    PAGE_EXECUTE_WRITECOPY:: 0x80
    PAGE_GUARD:: 0x100
    PAGE_NOACCESS:: 0x01
    PAGE_NOCACHE:: 0x200
    PAGE_READONLY:: 0x02
    PAGE_READWRITE:: 0x04
    PAGE_WRITECOMBINE:: 0x400
    PAGE_WRITECOPY:: 0x08
    PATCOPY: u32 : 0x00F00021
    dest = pattern
    PATINVERT: u32 : 0x005A0049
    dest = pattern XOR dest
    PATPAINT: u32 : 0x00FB0A09
    dest = DPSnoo
    PBM_… 12
    PBM_DELTAPOS:: 0x0403
    PBM_GETPOS:: 0x0408
    PBM_GETRANGE:: 0x0407
    PBM_GETSTATE:: 0x0411
    PBM_SETBARCOLOR:: 0x0409
    PBM_SETMARQUEE:: 0x040a
    PBM_SETPOS:: 0x0402
    PBM_SETRANGE:: 0x0401
    PBM_SETRANGE32:: 0x0406
    PBM_SETSTATE:: 0x0410
    PBM_SETSTEP:: 0x0404
    PBM_STEPIT:: 0x0405
    PBST_… 3
    PBST_ERROR:: 0x0002
    PBST_NORMAL:: 0x0001
    PBST_PAUSED:: 0x0003
    PBS_… 4
    PBS_MARQUEE:: 0x08
    PBS_SMOOTH:: 0x01
    PBS_SMOOTHREVERSE:: 0x10
    PBS_VERTICAL:: 0x04
    PD_… 31
    PD_ALLPAGES:: 0x00000000
    Flags for PRINTDLGW and PRINTDLGEXW
    PD_COLLATE:: 0x00000010
    PD_CURRENTPAGE:: 0x00400000
    PD_DISABLEPRINTTOFILE:: 0x00080000
    PD_ENABLEPRINTHOOK:: 0x00001000
    PD_ENABLEPRINTTEMPLATE:: 0x00004000
    PD_ENABLEPRINTTEMPLATEHANDLE:: 0x00010000
    PD_ENABLESETUPHOOK:: 0x00002000
    PD_ENABLESETUPTEMPLATE:: 0x00008000
    PD_ENABLESETUPTEMPLATEHANDLE:: 0x00020000
    PD_EXCLUSIONFLAGS:: 0x01000000
    PD_HIDEPRINTTOFILE:: 0x00100000
    PD_NOCURRENTPAGE:: 0x00800000
    PD_NONETWORKBUTTON:: 0x00200000
    PD_NOPAGENUMS:: 0x00000008
    PD_NOSELECTION:: 0x00000004
    PD_NOWARNING:: 0x00000080
    PD_PAGENUMS:: 0x00000002
    PD_PRINTSETUP:: 0x00000040
    PD_PRINTTOFILE:: 0x00000020
    PD_RESULT_APPLY:: 2
    PD_RESULT_CANCEL:: 0
    Result action ids for PrintDlgEx.
    PD_RESULT_PRINT:: 1
    PD_RETURNDC:: 0x00000100
    PD_RETURNDEFAULT:: 0x00000400
    PD_RETURNIC:: 0x00000200
    PD_SELECTION:: 0x00000001
    PD_SHOWHELP:: 0x00000800
    PD_USEDEVMODECOPIES:: 0x00040000
    PD_USEDEVMODECOPIESANDCOLLATE:: 0x00040000
    PD_USELARGETEMPLATE:: 0x10000000
    PERCEIVEDFLAG_… 7
    PERCEIVEDFLAG_GDIPLUS:: 0x0010
    PERCEIVEDFLAG_HARDCODED:: 0x0002
    PERCEIVEDFLAG_NATIVESUPPORT:: 0x0004
    PERCEIVEDFLAG_SOFTCODED:: 0x0001
    PERCEIVEDFLAG_UNDEFINED:: 0x0000
    PERCEIVEDFLAG_WMSDK:: 0x0020
    PERCEIVEDFLAG_ZIPFOLDER:: 0x0040
    PFD_… 24
    PFD_DEPTH_DONTCARE:: 0x20000000
    PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only
    PFD_DIRECT3D_ACCELERATED:: 0x00004000
    PFD_DOUBLEBUFFER:: 0x00000001
    PIXELFORMATDESCRIPTOR flags
    PFD_DOUBLEBUFFER_DONTCARE:: 0x40000000
    PFD_DRAW_TO_BITMAP:: 0x00000008
    PFD_DRAW_TO_WINDOW:: 0x00000004
    PFD_GENERIC_ACCELERATED:: 0x00001000
    PFD_GENERIC_FORMAT:: 0x00000040
    PFD_MAIN_PLANE:: 0
    layer types
    PFD_NEED_PALETTE:: 0x00000080
    PFD_NEED_SYSTEM_PALETTE:: 0x00000100
    PFD_OVERLAY_PLANE:: 1
    PFD_STEREO:: 0x00000002
    PFD_STEREO_DONTCARE:: 0x80000000
    PFD_SUPPORT_COMPOSITION:: 0x00008000
    PFD_SUPPORT_DIRECTDRAW:: 0x00002000
    PFD_SUPPORT_GDI:: 0x00000010
    PFD_SUPPORT_OPENGL:: 0x00000020
    PFD_SWAP_COPY:: 0x00000400
    PFD_SWAP_EXCHANGE:: 0x00000200
    PFD_SWAP_LAYER_BUFFERS:: 0x00000800
    PFD_TYPE_COLORINDEX:: 1
    PFD_TYPE_RGBA:: 0
    pixel types
    PFD_UNDERLAY_PLANE:: -1
    PGM_… 14
    PGM_FIRST:: 0x1400
    PGM_FORWARDMOUSE:: PGM_FIRST + 3
    PGM_GETBKCOLOR:: PGM_FIRST + 5
    PGM_GETBORDER:: PGM_FIRST + 7
    PGM_GETBUTTONSIZE:: PGM_FIRST + 11
    PGM_GETBUTTONSTATE:: PGM_FIRST + 12
    PGM_GETDROPTARGET:: CCM_GETDROPTARGET
    PGM_GETPOS:: PGM_FIRST + 9
    PGM_RECALCSIZE:: PGM_FIRST + 2
    PGM_SETBKCOLOR:: PGM_FIRST + 4
    PGM_SETBORDER:: PGM_FIRST + 6
    PGM_SETBUTTONSIZE:: PGM_FIRST + 10
    PGM_SETCHILD:: PGM_FIRST + 1
    PGM_SETPOS:: PGM_FIRST + 8
    PGN_FIRST: u32 : ~DWORD(900 - 1)
    PGN_LAST: u32 : ~DWORD(950 - 1)
    PGS_… 4
    PGS_AUTOSCROLL:: 0x2
    PGS_DRAGNDROP:: 0x4
    PGS_HORZ:: 0x1
    PGS_VERT:: 0x0
    Pager Control Styles
    PIPE_… 10
    PIPE_ACCEPT_REMOTE_CLIENTS: u32 : 0x00000000
    PIPE_ACCESS_DUPLEX: u32 : 0x00000003
    PIPE_ACCESS_INBOUND: u32 : 0x00000001
    PIPE_ACCESS_OUTBOUND: u32 : 0x00000002
    PIPE_READMODE_BYTE: u32 : 0x00000000
    PIPE_READMODE_MESSAGE: u32 : 0x00000002
    PIPE_REJECT_REMOTE_CLIENTS: u32 : 0x00000008
    PIPE_TYPE_BYTE: u32 : 0x00000000
    PIPE_TYPE_MESSAGE: u32 : 0x00000004
    PIPE_WAIT: u32 : 0x00000000
    PM_… 7
    PM_NOREMOVE: u32 : 0x0000
    PM_NOYIELD: u32 : 0x0002
    PM_QS_INPUT: u32 : QS_INPUT << 16
    PM_QS_PAINT: u32 : QS_PAINT << 16
    PM_QS_POSTMESSAGE: u32 : (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16
    PM_QS_SENDMESSAGE: u32 : QS_SENDMESSAGE << 16
    PM_REMOVE: u32 : 0x0001
    POLLERR:: 0x0001
    POLLHUP:: 0x0002
    POLLIN:: POLLRDNORM | POLLRDBAND
    POLLNVAL:: 0x0004
    POLLOUT:: POLLWRNORM
    POLLPRI:: 0x0400
    POLLRDBAND:: 0x0200
    POLLRDNORM:: 0x0100
    Event flag definitions for WSAPoll().
    POLLWRBAND:: 0x0020
    POLLWRNORM:: 0x0010
    POWER_… 3
    POWER_REQUEST_CONTEXT_DETAILED_STRING:: DIAGNOSTIC_REASON_DETAILED_STRING
    POWER_REQUEST_CONTEXT_SIMPLE_STRING:: DIAGNOSTIC_REASON_SIMPLE_STRING
    POWER_REQUEST_CONTEXT_VERSION:: DIAGNOSTIC_REASON_VERSION
    PROCESS_… 16
    PROCESS_ALL_ACCESS: u32 : 0x000F0000 | SYNCHRONIZE | 0xFFFF
    PROCESS_CREATE_PROCESS:: 0x0080
    PROCESS_CREATE_THREAD:: 0x0002
    PROCESS_DUP_HANDLE:: 0x0040
    PROCESS_MODE_BACKGROUND_BEGIN:: 0x00100000
    PROCESS_MODE_BACKGROUND_END:: 0x00200000
    PROCESS_QUERY_INFORMATION:: 0x0400
    PROCESS_QUERY_LIMITED_INFORMATION:: 0x1000
    PROCESS_SET_INFORMATION:: 0x0200
    PROCESS_SET_QUOTA:: 0x0100
    PROCESS_SUSPEND_RESUME:: 0x0800
    PROCESS_TERMINATE:: 0x0001
    PROCESS_TRUST_LABEL_SECURITY_INFORMATION:: 0x00000080
    PROCESS_VM_OPERATION:: 0x0008
    PROCESS_VM_READ:: 0x0010
    PROCESS_VM_WRITE:: 0x0020
    PROFILE_… 3
    PROFILE_KERNEL:: 0x20000000
    PROFILE_SERVER:: 0x40000000
    PROFILE_USER:: 0x10000000
    PROGRESS_CLASS:: "msctls_progress32"
    PROGRESS_CONTINUE: u32 : 0
    PROOF_QUALITY:: 2
    PROTECTED_DACL_SECURITY_INFORMATION:: 0x80000000
    PROTECTED_SACL_SECURITY_INFORMATION:: 0x40000000
    PSD_… 19
    PSD_DEFAULTMINMARGINS:: 0x00000000
    default (printer's)
    PSD_DISABLEMARGINS:: 0x00000010
    PSD_DISABLEORIENTATION:: 0x00000100
    PSD_DISABLEPAGEPAINTING:: 0x00080000
    PSD_DISABLEPAPER:: 0x00000200
    PSD_DISABLEPRINTER:: 0x00000020
    PSD_ENABLEPAGEPAINTHOOK:: 0x00040000
    PSD_ENABLEPAGESETUPHOOK:: 0x00002000
    must be same as PD_*
    PSD_ENABLEPAGESETUPTEMPLATE:: 0x00008000
    must be same as PD_*
    PSD_ENABLEPAGESETUPTEMPLATEHANDLE:: 0x00020000
    must be same as PD_*
    PSD_INHUNDREDTHSOFMILLIMETERS:: 0x00000008
    3rd of 4 possible
    PSD_INTHOUSANDTHSOFINCHES:: 0x00000004
    2nd of 4 possible
    PSD_INWININIINTLMEASURE:: 0x00000000
    1st of 4 possible
    PSD_MARGINS:: 0x00000002
    use caller's
    PSD_MINMARGINS:: 0x00000001
    use caller's
    PSD_NONETWORKBUTTON:: 0x00200000
    must be same as PD_*
    PSD_NOWARNING:: 0x00000080
    must be same as PD_*
    PSD_RETURNDEFAULT:: 0x00000400
    must be same as PD_*
    PSD_SHOWHELP:: 0x00000800
    must be same as PD_*
    PSM_… 33
    PSM_ADDPAGE:: 0x0467
    PSM_APPLY:: 0x046e
    PSM_CANCELTOCLOSE:: 0x046b
    PSM_CHANGED:: 0x0468
    PSM_GETCURRENTPAGEHWND:: 0x0476
    PSM_GETRESULT:: 0x0487
    PSM_GETTABCONTROL:: 0x0474
    PSM_HWNDTOINDEX:: 0x0481
    PSM_IDTOINDEX:: 0x0485
    PSM_INDEXTOHWND:: 0x0482
    PSM_INDEXTOID:: 0x0486
    PSM_INDEXTOPAGE:: 0x0484
    PSM_INSERTPAGE:: 0x0477
    PSM_ISDIALOGMESSAGE:: 0x0475
    PSM_PAGETOINDEX:: 0x0483
    PSM_PRESSBUTTON:: 0x0471
    PSM_QUERYSIBLINGS:: 0x046c
    PSM_REBOOTSYSTEM:: 0x046a
    PSM_RECALCPAGESIZES:: 0x0488
    PSM_REMOVEPAGE:: 0x0466
    PSM_RESTARTWINDOWS:: 0x0469
    PSM_SETCURSEL:: 0x0465
    PSM_SETCURSELID:: 0x0472
    PSM_SETFINISHTEXTA:: 0x0473
    PSM_SETFINISHTEXTW:: 0x0479
    PSM_SETHEADERSUBTITLEA:: 0x047f
    PSM_SETHEADERSUBTITLEW:: 0x0480
    PSM_SETHEADERTITLEA:: 0x047d
    PSM_SETHEADERTITLEW:: 0x047e
    PSM_SETTITLEA:: 0x046f
    PSM_SETTITLEW:: 0x0478
    PSM_SETWIZBUTTONS:: 0x0470
    PSM_UNCHANGED:: 0x046d
    PS_… 21
    PS_ALTERNATE:: 8
    PS_COSMETIC:: 0x00000000
    PS_DASH:: 1
    -------
    PS_DASHDOT:: 3
    _._._._
    PS_DASHDOTDOT:: 4
    _.._.._
    PS_DOT:: 2
    .......
    PS_ENDCAP_FLAT:: 0x00000200
    PS_ENDCAP_MASK:: 0x00000F00
    PS_ENDCAP_ROUND:: 0x00000000
    PS_ENDCAP_SQUARE:: 0x00000100
    PS_GEOMETRIC:: 0x00010000
    PS_INSIDEFRAME:: 6
    PS_JOIN_BEVEL:: 0x00001000
    PS_JOIN_MASK:: 0x0000F000
    PS_JOIN_MITER:: 0x00002000
    PS_JOIN_ROUND:: 0x00000000
    PS_NULL:: 5
    PS_SOLID:: 0
    Pen Styles
    PS_STYLE_MASK:: 0x0000000F
    PS_TYPE_MASK:: 0x000F0000
    PS_USERSTYLE:: 7
    PWLEN:: 256
    Maximum password length
    QS_… 14
    QS_ALLEVENTS: u32 : QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY
    QS_ALLINPUT: u32 : QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE
    QS_ALLPOSTMESSAGE: u32 : 0x0100
    QS_HOTKEY: u32 : 0x0080
    QS_INPUT: u32 : QS_MOUSE | QS_KEY | QS_RAWINPUT
    QS_KEY: u32 : 0x0001
    QS_MOUSE: u32 : QS_MOUSEMOVE | QS_MOUSEBUTTON
    QS_MOUSEBUTTON: u32 : 0x0004
    QS_MOUSEMOVE: u32 : 0x0002
    QS_PAINT: u32 : 0x0020
    QS_POSTMESSAGE: u32 : 0x0008
    QS_RAWINPUT: u32 : 0x0400
    QS_SENDMESSAGE: u32 : 0x0040
    QS_TIMER: u32 : 0x0010
    R2_… 17
    R2_BLACK:: 1
    Binary raster ops
    R2_COPYPEN:: 13
    P
    R2_LAST:: 16
    R2_MASKNOTPEN:: 3
    DPna
    R2_MASKPEN:: 9
    DPa
    R2_MASKPENNOT:: 5
    PDna
    R2_MERGENOTPEN:: 12
    DPno
    R2_MERGEPEN:: 15
    DPo
    R2_MERGEPENNOT:: 14
    PDno
    R2_NOP:: 11
    D
    R2_NOT:: 6
    Dn
    R2_NOTCOPYPEN:: 4
    PN
    R2_NOTMASKPEN:: 8
    DPan
    R2_NOTMERGEPEN:: 2
    DPon
    R2_NOTXORPEN:: 10
    DPxn
    R2_WHITE:: 16
    1
    R2_XORPEN:: 7
    DPx
    RBN_FIRST: u32 : ~DWORD(831 - 1)
    RBN_LAST: u32 : ~DWORD(859 - 1)
    RBS_… 8
    RBS_AUTOSIZE:: 0x2000
    RBS_BANDBORDERS:: 0x0400
    RBS_DBLCLKTOGGLE:: 0x8000
    RBS_FIXEDORDER:: 0x0800
    RBS_REGISTERDROP:: 0x1000
    RBS_TOOLTIPS:: 0x0100
    Rebar Control Styles
    RBS_VARHEIGHT:: 0x0200
    RBS_VERTICALGRIPPER:: 0x4000
    RB_… 35
    RB_BEGINDRAG:: 0x0418
    RB_DELETEBAND:: 0x0402
    RB_DRAGMOVE:: 0x041a
    RB_ENDDRAG:: 0x0419
    RB_GETBANDBORDERS:: 0x0422
    RB_GETBANDCOUNT:: 0x040c
    RB_GETBANDINFOA:: 0x041d
    RB_GETBANDINFOW:: 0x041c
    RB_GETBARHEIGHT:: 0x041b
    RB_GETBARINFO:: 0x0403
    RB_GETBKCOLOR:: 0x0414
    RB_GETPALETTE:: 0x0426
    RB_GETRECT:: 0x0409
    RB_GETROWCOUNT:: 0x040d
    RB_GETROWHEIGHT:: 0x040e
    RB_GETTEXTCOLOR:: 0x0416
    RB_GETTOOLTIPS:: 0x0411
    RB_HITTEST:: 0x0408
    RB_IDTOINDEX:: 0x0410
    RB_INSERTBANDA:: 0x0401
    RB_INSERTBANDW:: 0x040a
    RB_MAXIMIZEBAND:: 0x041f
    RB_MINIMIZEBAND:: 0x041e
    RB_MOVEBAND:: 0x0427
    RB_PUSHCHEVRON:: 0x042b
    RB_SETBANDINFOA:: 0x0406
    RB_SETBANDINFOW:: 0x040b
    RB_SETBARINFO:: 0x0404
    RB_SETBKCOLOR:: 0x0413
    RB_SETPALETTE:: 0x0425
    RB_SETPARENT:: 0x0407
    RB_SETTEXTCOLOR:: 0x0415
    RB_SETTOOLTIPS:: 0x0412
    RB_SHOWBAND:: 0x0423
    RB_SIZETORECT:: 0x0417
    READ_CONTROL: u32 : 0x00020000
    REALTIME_PRIORITY_CLASS:: 0x00000100
    REBARCLASSNAME:: "ReBarWindow32"
    REG_… 53
    REG_APP_HIVE:: 0x00000010
    REG_APP_HIVE_OPEN_READ_ONLY:: REG_OPEN_READ_ONLY
    REG_BINARY:: 3
    REG_BOOT_HIVE:: 0x00000400
    REG_CREATED_NEW_KEY:: 0x00000001
    Key creation/open disposition
    REG_DWORD:: 4
    REG_DWORD_BIG_ENDIAN:: 5
    REG_DWORD_LITTLE_ENDIAN:: 4
    REG_EXPAND_SZ:: 2
    REG_FLUSH_HIVE_FILE_GROWTH:: 0x00001000
    REG_FORCE_RESTORE:: 0x00000008
    REG_FORCE_UNLOAD:: 1
    Unload Flags
    REG_FULL_RESOURCE_DESCRIPTOR:: 9
    REG_HIVE_EXACT_FILE_GROWTH:: 0x00000080
    REG_HIVE_NO_RM:: 0x00000100
    REG_HIVE_SINGLE_LOG:: 0x00000200
    REG_IMMUTABLE:: 0x00004000
    REG_LATEST_FORMAT:: 2
    REG_LOAD_HIVE_OPEN_HANDLE:: 0x00000800
    REG_MULTI_SZ:: 7
    REG_NONE:: 0
    Predefined Value Types.
    REG_NOTIFY_CHANGE_ATTRIBUTES:: 0x00000002
    REG_NOTIFY_CHANGE_LAST_SET:: 0x00000004
    REG_NOTIFY_CHANGE_NAME:: 0x00000001
    Notify filter values
    REG_NOTIFY_CHANGE_SECURITY:: 0x00000008
    REG_NOTIFY_THREAD_AGNOSTIC:: 0x10000000
    REG_NO_COMPRESSION:: 4
    REG_NO_IMPERSONATION_FALLBACK:: 0x00008000
    REG_NO_LAZY_FLUSH:: 0x00000004
    REG_OPENED_EXISTING_KEY:: 0x00000002
    REG_OPEN_READ_ONLY:: 0x00002000
    REG_OPTION_BACKUP_RESTORE:: 0x00000004
    REG_OPTION_DONT_VIRTUALIZE:: 0x00000010
    REG_OPTION_NON_VOLATILE:: 0x00000000
    REG_OPTION_RESERVED:: 0x00000000
    Open/Create Options
    REG_OPTION_VOLATILE:: 0x00000001
    REG_PROCESS_PRIVATE:: 0x00000020
    REG_QWORD:: 11
    REG_QWORD_LITTLE_ENDIAN:: 11
    REG_REFRESH_HIVE:: 0x00000002
    REG_RESOURCE_LIST:: 8
    REG_RESOURCE_REQUIREMENTS_LIST:: 10
    REG_STANDARD_FORMAT:: 1
    hive format to be used by Reg(Nt)SaveKeyEx
    REG_START_JOURNAL:: 0x00000040
    REG_SZ:: 1
    REG_WHOLE_HIVE_VOLATILE:: 0x00000001
    Key restore & hive load flags
    RGN_… 6
    RGN_AND:: 1
    CombineRgn() Styles
    RGN_COPY:: 5
    RGN_DIFF:: 4
    RGN_ERROR:: ERROR
    RGN_OR:: 2
    RGN_XOR:: 3
    RIDEV_… 10
    RIDEV_APPKEYS:: 0x00000400
    RIDEV_CAPTUREMOUSE:: 0x00000200
    RIDEV_DEVNOTIFY:: 0x00002000
    RIDEV_EXCLUDE:: 0x00000010
    RIDEV_EXINPUTSINK:: 0x00001000
    RIDEV_INPUTSINK:: 0x00000100
    RIDEV_NOHOTKEYS:: 0x00000200
    RIDEV_NOLEGACY:: 0x00000030
    RIDEV_PAGEONLY:: 0x00000020
    RIDEV_REMOVE:: 0x00000001
    RIDI_… 3
    RIDI_DEVICEINFO:: 0x2000000b
    RIDI_DEVICENAME:: 0x20000007
    RIDI_PREPARSEDDATA:: 0x20000005
    RID_HEADER:: 0x10000005
    RID_INPUT:: 0x10000003
    RIM_… 3
    RIM_TYPEHID:: 2
    RIM_TYPEKEYBOARD:: 1
    RIM_TYPEMOUSE:: 0
    RI_… 24
    RI_KEY_BREAK:: 1
    RI_KEY_E0:: 2
    RI_KEY_E1:: 4
    RI_KEY_MAKE:: 0
    RI_KEY_TERMSRV_SET_LED:: 8
    RI_KEY_TERMSRV_SHADOW:: 0x10
    RI_MOUSE_BUTTON_1_DOWN:: 0x0001
    RI_MOUSE_BUTTON_1_UP:: 0x0002
    RI_MOUSE_BUTTON_2_DOWN:: 0x0004
    RI_MOUSE_BUTTON_2_UP:: 0x0008
    RI_MOUSE_BUTTON_3_DOWN:: 0x0010
    RI_MOUSE_BUTTON_3_UP:: 0x0020
    RI_MOUSE_BUTTON_4_DOWN:: 0x0040
    RI_MOUSE_BUTTON_4_UP:: 0x0080
    RI_MOUSE_BUTTON_5_DOWN:: 0x0100
    RI_MOUSE_BUTTON_5_UP:: 0x0200
    RI_MOUSE_HWHEEL:: 0x0800
    RI_MOUSE_LEFT_BUTTON_DOWN:: RI_MOUSE_BUTTON_1_DOWN
    RI_MOUSE_LEFT_BUTTON_UP:: RI_MOUSE_BUTTON_1_UP
    RI_MOUSE_MIDDLE_BUTTON_DOWN:: RI_MOUSE_BUTTON_3_DOWN
    RI_MOUSE_MIDDLE_BUTTON_UP:: RI_MOUSE_BUTTON_3_UP
    RI_MOUSE_RIGHT_BUTTON_DOWN:: RI_MOUSE_BUTTON_2_DOWN
    RI_MOUSE_RIGHT_BUTTON_UP:: RI_MOUSE_BUTTON_2_UP
    RI_MOUSE_WHEEL:: 0x0400
    RRF_… 12
    RRF_NOEXPAND:: 0x10000000
    RRF_RT_ANY:: 0x0000ffff
    RRF_RT_DWORD:: RRF_RT_REG_BINARY | RRF_RT_REG_DWORD
    RRF_RT_QWORD:: RRF_RT_REG_BINARY | RRF_RT_REG_QWORD
    RRF_RT_REG_BINARY:: 0x00000008
    RRF_RT_REG_DWORD:: 0x00000010
    RRF_RT_REG_EXPAND_SZ:: 0x00000004
    RRF_RT_REG_MULTI_SZ:: 0x00000020
    RRF_RT_REG_NONE:: 0x00000001
    RRF - Registry Routine Flags (for RegGetValue)
    RRF_RT_REG_QWORD:: 0x00000040
    RRF_RT_REG_SZ:: 0x00000002
    RRF_ZEROONFAILURE:: 0x20000000
    RT_… 20
    RT_ACCELERATOR: ^u16 : LPWSTR(uintptr(0x00000009))
    RT_ANICURSOR: ^u16 : LPWSTR(uintptr(0x00000015))
    RT_ANIICON: ^u16 : LPWSTR(uintptr(0x00000016))
    RT_BITMAP: ^u16 : LPWSTR(uintptr(0x00000002))
    RT_CURSOR: ^u16 : LPWSTR(uintptr(0x00000001))
    RT_DIALOG: ^u16 : LPWSTR(uintptr(0x00000005))
    RT_DLGINCLUDE: ^u16 : LPWSTR(uintptr(0x00000011))
    RT_FONT: ^u16 : LPWSTR(uintptr(0x00000008))
    RT_FONTDIR: ^u16 : LPWSTR(uintptr(0x00000007))
    RT_GROUP_CURSOR: ^u16 : LPWSTR(uintptr(0x0000000C))
    RT_GROUP_ICON: ^u16 : LPWSTR(uintptr(0x0000000E))
    RT_ICON: ^u16 : LPWSTR(uintptr(0x00000003))
    RT_MANIFEST: ^u16 : LPWSTR(uintptr(0x00000018))
    RT_MENU: ^u16 : LPWSTR(uintptr(0x00000004))
    RT_MESSAGETABLE: ^u16 : LPWSTR(uintptr(0x0000000B))
    RT_PLUGPLAY: ^u16 : LPWSTR(uintptr(0x00000013))
    RT_RCDATA: ^u16 : LPWSTR(uintptr(0x0000000A))
    RT_STRING: ^u16 : LPWSTR(uintptr(0x00000006))
    RT_VERSION: ^u16 : LPWSTR(uintptr(0x00000010))
    RT_VXD: ^u16 : LPWSTR(uintptr(0x00000014))
    RUSSIAN_CHARSET:: 204
    SACL_SECURITY_INFORMATION:: 0x00000008
    SAVE_… 3
    SAVE_EXT:: "txt"
    SAVE_FLAGS:: u32(OFN_OVERWRITEPROMPT | OFN_EXPLORER)
    SAVE_TITLE:: "Select file to save"
    SBARS_SIZEGRIP:: 0x100
    Statusbar Control Styles
    SBARS_TOOLTIPS:: 0x800
    SBM_… 9
    SBM_ENABLE_ARROWS:: 0x00e4
    SBM_GETPOS:: 0x00e1
    SBM_GETRANGE:: 0x00e3
    SBM_GETSCROLLBARINFO:: 0x00eb
    SBM_GETSCROLLINFO:: 0x00ea
    SBM_SETPOS:: 0x00e0
    SBM_SETRANGE:: 0x00e2
    SBM_SETRANGEREDRAW:: 0x00e6
    SBM_SETSCROLLINFO:: 0x00e9
    SBN_… 3
    SBN_FIRST: u32 : ~DWORD(880 - 1)
    SBN_LAST: u32 : ~DWORD(899 - 1)
    SBN_SIMPLEMODECHANGE: u32 : SBN_FIRST - 0
    SBT_… 6
    SBT_NOBORDERS:: 0x0100
    Status Bar Control
    SBT_NOTABPARSING:: 0x0800
    SBT_OWNERDRAW:: 0x1000
    SBT_POPOUT:: 0x0200
    SBT_RTLREADING:: 0x0400
    SBT_TOOLTIPS:: 0x800
    Statusbar Control Constants
    SB_… 42
    SB_BOTH:: 3
    SB_BOTTOM:: 7
    SB_CTL:: 2
    SB_ENDSCROLL:: 8
    SB_GETBORDERS:: 0x0407
    SB_GETICON:: 0x0414
    SB_GETPARTS:: 0x0406
    SB_GETRECT:: 0x040a
    SB_GETTEXTA:: 0x0402
    SB_GETTEXTLENGTHA:: 0x0403
    SB_GETTEXTLENGTHW:: 0x040c
    SB_GETTEXTW:: 0x040d
    SB_GETTIPTEXTA:: 0x0412
    SB_GETTIPTEXTW:: 0x0413
    SB_GETUNICODEFORMAT:: 0x2006
    SB_HORZ:: 0
    SB_ISSIMPLE:: 0x040e
    SB_LEFT:: 6
    SB_LINEDOWN:: 1
    SB_LINELEFT:: 0
    SB_LINERIGHT:: 1
    SB_LINEUP:: 0
    Scroll Bar Commands
    SB_MIN:: 0
    Scroll Bar Constants
    SB_PAGEDOWN:: 3
    SB_PAGELEFT:: 2
    SB_PAGERIGHT:: 3
    SB_PAGEUP:: 2
    SB_RIGHT:: 7
    SB_SETICON:: 0x040f
    SB_SETMINHEIGHT:: 0x0408
    SB_SETPARTS:: 0x0404
    SB_SETTEXTA:: 0x0401
    SB_SETTEXTW:: 0x040b
    SB_SETTIPTEXTA:: 0x0410
    SB_SETTIPTEXTW:: 0x0411
    SB_SETUNICODEFORMAT:: 0x2005
    SB_SIMPLE:: 0x0409
    SB_SIMPLEID:: 0xFF
    SB_THUMBPOSITION:: 4
    SB_THUMBTRACK:: 5
    SB_TOP:: 6
    SB_VERT:: 1
    SCF_ISSECURE:: 0x00000001
    SCOPE_SECURITY_INFORMATION:: 0x00000040
    SC_… 22
    SC_ARRANGE:: 0xF110
    SC_CLOSE:: 0xF060
    SC_CONTEXTHELP:: 0xF180
    SC_DEFAULT:: 0xF160
    SC_HOTKEY:: 0xF150
    SC_HSCROLL:: 0xF080
    SC_ICON:: SC_MINIMIZE
    SC_KEYMENU:: 0xF100
    SC_MAXIMIZE:: 0xF030
    SC_MINIMIZE:: 0xF020
    SC_MONITORPOWER:: 0xF170
    SC_MOUSEMENU:: 0xF090
    SC_MOVE:: 0xF010
    SC_NEXTWINDOW:: 0xF040
    SC_PREVWINDOW:: 0xF050
    SC_RESTORE:: 0xF120
    SC_SCREENSAVE:: 0xF140
    SC_SEPARATOR:: 0xF00F
    SC_SIZE:: 0xF000
    System Menu Command Values
    SC_TASKLIST:: 0xF130
    SC_VSCROLL:: 0xF070
    SC_ZOOM:: SC_MAXIMIZE
    SD_… 3
    SD_BOTH: i32 : 2
    SD_RECEIVE: i32 : 0
    Shutdown manners
    SD_SEND: i32 : 1
    SECTION_… 7
    SECTION_ALL_ACCESS: u32 : STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE
    SECTION_EXTEND_SIZE: u32 : DWORD(0x0010)
    SECTION_MAP_EXECUTE: u32 : DWORD(0x0008)
    SECTION_MAP_EXECUTE_EXPLICIT: u32 : DWORD(0x0020)
    SECTION_MAP_READ: u32 : DWORD(0x0004)
    SECTION_MAP_WRITE: u32 : DWORD(0x0002)
    SECTION_QUERY: u32 : DWORD(0x0001)
    SECURITY_MAX_SID_SIZE:: 68
    SECURITY_SQOS_PRESENT: u32 : 0x00100000
    SEC_… 6
    SEC_E_INCOMPLETE_MESSAGE:: 0x80090318
    SEC_E_OK: HRESULT : 0x00000000
    SEC_I_CONTEXT_EXPIRED:: 0x00090317
    SEC_I_CONTINUE_NEEDED:: 0x00090312
    SEC_I_INCOMPLETE_CREDENTIALS:: 0x00090320
    SEC_I_RENEGOTIATE:: 0x00090321
    SEE_… 22
    SEE_MASK_ASYNCOK:: 0x00100000
    SEE_MASK_CLASSKEY:: 0x00000003
    SHELLEXECUTEINFO.hkeyClass is valid
    SEE_MASK_CLASSNAME:: 0x00000001
    SHELLEXECUTEINFO.lpClass is valid
    SEE_MASK_CONNECTNETDRV:: 0x00000080
    enables re-connecting disconnected network drives
    SEE_MASK_DEFAULT:: 0x00000000
    Note CLASSKEY overrides CLASSNAME
    SEE_MASK_DOENVSUBST:: 0x00000200
    indicates that SHELLEXECUTEINFO.lpFile contains env vars that should be expanded
    SEE_MASK_FLAG_DDEWAIT:: 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:: 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.

    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:: 0x04000000
    SEE_MASK_FLAG_NO_UI:: 0x00000400
    disable UI including error messages
    SEE_MASK_HMONITOR:: 0x00200000
    SHELLEXECUTEINFO.hMonitor
    SEE_MASK_HOTKEY:: 0x00000020
    SHELLEXECUTEINFO.dwHotKey is valid
    SEE_MASK_ICON:: 0x00000010
    not used
    SEE_MASK_IDLIST:: 0x00000004
    Note SEE_MASK_INVOKEIDLIST(0xC) implies SEE_MASK_IDLIST(0x04)
    SEE_MASK_INVOKEIDLIST:: 0x0000000c
    enable IContextMenu based verbs
    SEE_MASK_NOASYNC:: 0x00000100
    block on the call until the invoke has completed, use for callers that exit after calling ShellExecuteEx()
    SEE_MASK_NOCLOSEPROCESS:: 0x00000040
    SHELLEXECUTEINFO.hProcess
    SEE_MASK_NOQUERYCLASSSTORE:: 0x01000000
    SEE_MASK_NOZONECHECKS:: 0x00800000
    SEE_MASK_NO_CONSOLE:: 0x00008000
    SEE_MASK_UNICODE:: 0x00004000
    SEE_MASK_WAITFORINPUTIDLE:: 0x02000000
    SHACF_… 13
    SHACF_AUTOAPPEND_FORCE_OFF:: 0x80000000
    Ignore the registry default and force the feature off.

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

    SHACF_AUTOAPPEND_FORCE_ON:: 0x40000000
    Ignore the registry default and force the feature on.

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

    SHACF_AUTOSUGGEST_FORCE_OFF:: 0x20000000
    Ignore the registry default and force the feature off.
    SHACF_AUTOSUGGEST_FORCE_ON:: 0x10000000
    Ignore the registry default and force the feature on.
    SHACF_DEFAULT:: 0x00000000
    Currently (SHACF_FILESYSTEM | SHACF_URLALL)
    SHACF_FILESYSTEM:: 0x00000001
    This includes the File System as well as the rest of the shell (Desktop\My Computer\Control Panel\)
    SHACF_FILESYS_DIRS:: 0x00000020
    Same as SHACF_FILESYS_ONLY except it only includes directories, UNC servers, and UNC server shares.
    SHACF_FILESYS_ONLY:: 0x00000010
    This includes the File System
    SHACF_URLALL:: SHACF_URLHISTORY | SHACF_URLMRU
    SHACF_URLHISTORY:: 0x00000002
    URLs in the User's History
    SHACF_URLMRU:: 0x00000004
    URLs in the User's Recently Used list.
    SHACF_USETAB:: 0x00000008
    Use the tab to move thru the autocomplete possibilities instead of to the next dialog/window control.
    SHACF_VIRTUAL_NAMESPACE:: 0x00000040
    Also include the virtual namespace
    SHCNEE_… 3
    SHCNEE_MSI_CHANGE:: 4
    SHCNEE_MSI_UNINSTALL:: 5
    SHCNEE_ORDERCHANGED:: 2
    SHCNE_… 25
    SHCNE_ALLEVENTS:: 0x7FFFFFFF
    SHCNE_ASSOCCHANGED:: 0x08000000
    SHCNE_ATTRIBUTES:: 0x00000800
    SHCNE_CREATE:: 0x00000002
    SHCNE_DELETE:: 0x00000004
    SHCNE_DISKEVENTS:: 0x0002381F
    SHCNE_DRIVEADD:: 0x00000100
    SHCNE_DRIVEADDGUI:: 0x00010000
    SHCNE_DRIVEREMOVED:: 0x00000080
    SHCNE_EXTENDED_EVENT:: 0x04000000
    SHCNE_FREESPACE:: 0x00040000
    SHCNE_GLOBALEVENTS:: 0x0C0581E0
    SHCNE_INTERRUPT:: 0x80000000
    SHCNE_MEDIAINSERTED:: 0x00000020
    SHCNE_MEDIAREMOVED:: 0x00000040
    SHCNE_MKDIR:: 0x00000008
    SHCNE_NETSHARE:: 0x00000200
    SHCNE_NETUNSHARE:: 0x00000400
    SHCNE_RENAMEFOLDER:: 0x00020000
    SHCNE_RENAMEITEM:: 0x00000001
    SHCNE_RMDIR:: 0x00000010
    SHCNE_SERVERDISCONNECT:: 0x00004000
    SHCNE_UPDATEDIR:: 0x00001000
    SHCNE_UPDATEIMAGE:: 0x00008000
    SHCNE_UPDATEITEM:: 0x00002000
    SHCNF_… 10
    SHCNF_DWORD:: 0x0003
    SHCNF_FLUSH:: 0x1000
    SHCNF_FLUSHNOWAIT:: 0x3000
    SHCNF_IDLIST:: 0x0000
    SHCNF_NOTIFYRECURSIVE:: 0x10000
    SHCNF_PATHA:: 0x0001
    SHCNF_PATHW:: 0x0005
    SHCNF_PRINTERA:: 0x0002
    SHCNF_PRINTERW:: 0x0006
    SHCNF_TYPE:: 0x00FF
    SHCNRF_… 4
    SHCNRF_InterruptLevel:: 0x0001
    SHCNRF_NewDelivery:: 0x8000
    SHCNRF_RecursiveInterrupt:: 0x1000
    SHCNRF_ShellLevel:: 0x0002
    SHCONTF_… 13
    SHCONTF_CHECKING_FOR_CHILDREN:: 0x10
    SHCONTF_ENABLE_ASYNC:: 0x8000
    SHCONTF_FASTITEMS:: 0x2000
    SHCONTF_FLATLIST:: 0x4000
    SHCONTF_FOLDERS:: 0x20
    SHCONTF_INCLUDEHIDDEN:: 0x80
    SHCONTF_INCLUDESUPERHIDDEN:: 0x10000
    SHCONTF_INIT_ON_FIRST_NEXT:: 0x100
    SHCONTF_NAVIGATION_ENUM:: 0x1000
    SHCONTF_NETPRINTERSRCH:: 0x200
    SHCONTF_NONFOLDERS:: 0x40
    SHCONTF_SHAREABLE:: 0x400
    SHCONTF_STORAGE:: 0x800
    SHIFTJIS_CHARSET:: 128
    SICHINT_… 4
    SICHINT_ALLFIELDS:: -2147483648
    0x80000000
    SICHINT_CANONICAL:: 0x10000000
    SICHINT_DISPLAY:: 0
    SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL:: 0x20000000
    SIF_… 6
    SIF_ALL:: SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS
    SIF_DISABLENOSCROLL:: 0x0008
    SIF_PAGE:: 0x0002
    SIF_POS:: 0x0004
    SIF_RANGE:: 0x0001
    Constants for SCROLLINFO.fMask
    SIF_TRACKPOS:: 0x0010
    SIMPLEREGION:: 2
    SIO_GET_EXTENSION_FUNCTION_POINTER:: IOC_INOUT | IOC_WS2 | 6
    SIO_UDP_CONNRESET:: IOC_IN | IOC_VENDOR | 12
    SIZE_… 5
    SIZE_MAXHIDE:: 4
    SIZE_MAXIMIZED:: 2
    SIZE_MAXSHOW:: 3
    SIZE_MINIMIZED:: 1
    SIZE_RESTORED:: 0
    SKF_… 23
    SKF_AUDIBLEFEEDBACK:: 0x40
    SKF_AVAILABLE:: 0x2
    SKF_CONFIRMHOTKEY:: 0x8
    SKF_HOTKEYACTIVE:: 0x4
    SKF_HOTKEYSOUND:: 0x10
    SKF_INDICATOR:: 0x20
    SKF_LALTLATCHED:: 0x10000000
    SKF_LALTLOCKED:: 0x100000
    SKF_LCTLLATCHED:: 0x4000000
    SKF_LCTLLOCKED:: 0x40000
    SKF_LSHIFTLATCHED:: 0x1000000
    SKF_LSHIFTLOCKED:: 0x10000
    SKF_LWINLOCKED:: 0x400000
    SKF_RALTLATCHED:: 0x20000000
    SKF_RALTLOCKED:: 0x200000
    SKF_RCTLLATCHED:: 0x8000000
    SKF_RCTLLOCKED:: 0x80000
    SKF_RSHIFTLATCHED:: 0x2000000
    SKF_RSHIFTLOCKED:: 0x20000
    SKF_RWINLOCKED:: 0x800000
    SKF_STICKYKEYSON:: 0x1
    SKF_TRISTATE:: 0x80
    SKF_TWOKEYSOFF:: 0x100
    SL_… 5
    SL_INDEX_SPECIFIED:: 0x00000004
    The scan should start at a specified indexed position in the directory.

    The scan should start at a specified indexed position in the directory. This flag can only be set if you generate your own IRP_MJ_DIRECTORY_CONTROL IRP; the index is specified in the IRP. How the position is specified varies from file system to file system.

    SL_NO_CURSOR_UPDATE_QUERY:: 0x00000010
    File systems maintain per-FileObject directory cursor information.

    File systems maintain per-FileObject directory cursor information. When multiple threads do queries using the same FileObject, access to the per-FileObject structure is single threaded to prevent corruption of the cursor state. This flag tells the file system to not update per-FileObject cursor state information thus allowing multiple threads to query in parallel using the same handle. It behaves as if SL_RESTART_SCAN is specified on each call. If a wild card pattern is given on the next call, the operation will not pick up where the last query ended. This allows for true asynchronous directory query support. If this flag is used inside a TxF transaction the operation will be failed. Not all file systems support this flag.

    SL_RESTART_SCAN:: 0x00000001
    The scan will start at the first entry in the directory.

    The scan will start at the first entry in the directory. If this flag is not set, the scan will resume from where the last query ended.

    SL_RETURN_ON_DISK_ENTRIES_ONLY:: 0x00000008
    Any file system filters that perform directory virtualization or just-in-time expansion should simply pass the request through to the file system and return…

    Any file system filters that perform directory virtualization or just-in-time expansion should simply pass the request through to the file system and return entries that are currently on disk. Not all file systems support this flag.

    SL_RETURN_SINGLE_ENTRY:: 0x00000002
    Normally the return buffer is packed with as many matching directory entries that fit.

    Normally the return buffer is packed with as many matching directory entries that fit. If this flag is set, the file system will return only one directory entry at a time. This does make the operation less efficient.

    SM_… 107
    SM_ARRANGE:: 56
    SM_CARETBLINKINGENABLED:: 0x2002
    SM_CLEANBOOT:: 67
    SM_CMETRICS:: 97
    SM_CMONITORS:: 80
    SM_CMOUSEBUTTONS:: 43
    SM_CONVERTIBLESLATEMODE:: 0x2003
    SM_CXBORDER:: 5
    SM_CXCURSOR:: 13
    SM_CXDLGFRAME:: 7
    SM_CXDOUBLECLK:: 36
    SM_CXDRAG:: 68
    SM_CXEDGE:: 45
    SM_CXFIXEDFRAME:: SM_CXDLGFRAME
    ;win40 name change
    SM_CXFOCUSBORDER:: 83
    SM_CXFRAME:: 32
    SM_CXFULLSCREEN:: 16
    SM_CXHSCROLL:: 21
    SM_CXHTHUMB:: 10
    SM_CXICON:: 11
    SM_CXICONSPACING:: 38
    SM_CXMAXIMIZED:: 61
    SM_CXMAXTRACK:: 59
    SM_CXMENUCHECK:: 71
    Use instead of GetMenuCheckMarkDimensions()!
    SM_CXMENUSIZE:: 54
    SM_CXMIN:: 28
    SM_CXMINIMIZED:: 57
    SM_CXMINSPACING:: 47
    SM_CXMINTRACK:: 34
    SM_CXPADDEDBORDER:: 92
    SM_CXSCREEN:: 0
    GetSystemMetrics() codes
    SM_CXSIZE:: 30
    SM_CXSIZEFRAME:: SM_CXFRAME
    ;win40 name change
    SM_CXSMICON:: 49
    SM_CXSMSIZE:: 52
    SM_CXVIRTUALSCREEN:: 78
    SM_CXVSCROLL:: 2
    SM_CYBORDER:: 6
    SM_CYCAPTION:: 4
    SM_CYCURSOR:: 14
    SM_CYDLGFRAME:: 8
    SM_CYDOUBLECLK:: 37
    SM_CYDRAG:: 69
    SM_CYEDGE:: 46
    SM_CYFIXEDFRAME:: SM_CYDLGFRAME
    ;win40 name change
    SM_CYFOCUSBORDER:: 84
    SM_CYFRAME:: 33
    SM_CYFULLSCREEN:: 17
    SM_CYHSCROLL:: 3
    SM_CYICON:: 12
    SM_CYICONSPACING:: 39
    SM_CYKANJIWINDOW:: 18
    SM_CYMAXIMIZED:: 62
    SM_CYMAXTRACK:: 60
    SM_CYMENU:: 15
    SM_CYMENUCHECK:: 72
    SM_CYMENUSIZE:: 55
    SM_CYMIN:: 29
    SM_CYMINIMIZED:: 58
    SM_CYMINSPACING:: 48
    SM_CYMINTRACK:: 35
    SM_CYSCREEN:: 1
    SM_CYSIZE:: 31
    SM_CYSIZEFRAME:: SM_CYFRAME
    ;win40 name change
    SM_CYSMCAPTION:: 51
    SM_CYSMICON:: 50
    SM_CYSMSIZE:: 53
    SM_CYVIRTUALSCREEN:: 79
    SM_CYVSCROLL:: 20
    SM_CYVTHUMB:: 9
    SM_DBCSENABLED:: 42
    SM_DEBUG:: 22
    SM_DIGITIZER:: 94
    SM_GETCURFOCUSA:: 0x07eb
    SM_GETCURFOCUSW:: 0x07ec
    SM_GETOPTIONS:: 0x07ed
    SM_GETSELCOUNT:: 0x07e8
    SM_GETSERVERSELA:: 0x07e9
    SM_GETSERVERSELW:: 0x07ea
    SM_IMMENABLED:: 82
    SM_MAXIMUMTOUCHES:: 95
    SM_MEDIACENTER:: 87
    SM_MENUDROPALIGNMENT:: 40
    SM_MIDEASTENABLED:: 74
    SM_MOUSEHORIZONTALWHEELPRESENT:: 91
    SM_MOUSEPRESENT:: 19
    SM_MOUSEWHEELPRESENT:: 75
    SM_NETWORK:: 63
    SM_PENWINDOWS:: 41
    SM_REMOTECONTROL:: 0x2001
    SM_REMOTESESSION:: 0x1000
    SM_RESERVED1:: 24
    SM_RESERVED2:: 25
    SM_RESERVED3:: 26
    SM_RESERVED4:: 27
    SM_SAMEDISPLAYFORMAT:: 81
    SM_SECURE:: 44
    SM_SERVERR2:: 89
    SM_SHOWSOUNDS:: 70
    SM_SHUTTINGDOWN:: 0x2000
    SM_SLOWMACHINE:: 73
    SM_STARTER:: 88
    SM_SWAPBUTTON:: 23
    SM_SYSTEMDOCKED:: 0x2004
    SM_TABLETPC:: 86
    SM_XVIRTUALSCREEN:: 76
    SM_YVIRTUALSCREEN:: 77
    SND_… 16
    SND_ALIAS:: 0x00010000
    name is a registry alias
    SND_ALIAS_ID:: 0x00110000
    alias is a predefined ID
    SND_APPLICATION:: 0x0080
    look for application specific association
    SND_ASYNC:: 0x0001
    play asynchronously
    SND_FILENAME:: 0x00020000
    name is file name
    SND_LOOP:: 0x0008
    loop the sound until next sndPlaySound
    SND_MEMORY:: 0x0004
    pszSound points to a memory file
    SND_NODEFAULT:: 0x0002
    silence (!default) if sound not found
    SND_NOSTOP:: 0x0010
    don't stop any currently playing sound
    SND_NOWAIT:: 0x00002000
    don't wait if the driver is busy
    SND_PURGE:: 0x0040
    purge non-static events for task
    SND_RESOURCE:: 0x00040004
    name is resource name or atom
    SND_RING:: 0x00100000
    Treat this as a "ring" from a communications app - don't duck me
    SND_SENTRY:: 0x00080000
    Generate a SoundSentry event with this sound
    SND_SYNC:: 0x0000
    flag values for PlaySound
    SND_SYSTEM:: 0x00200000
    Treat this as a system sound
    SOCKET_ERROR:: -1
    This is for the 'backlog' parameter to listen().
    SOCK_… 5
    SOCK_DGRAM: i32 : 2
    UDP
    SOCK_RAW: i32 : 3
    Requires options IP_HDRINCL for v4, IPV6_HDRINCL for v6, on the socket
    SOCK_RDM: i32 : 4
    Requires "Reliable Multicast Protocol" to be installed - see WSAEnumProtocols
    SOCK_SEQPACKET: i32 : 5
    Provides psuedo-stream packet based on DGRAMs.
    SOCK_STREAM: i32 : 1
    Socket types
    SOL_SOCKET: i32 : 0xffff
    Socket 'levels'
    SOMAXCONN:: 128
    The number of messages that can be queued in memory after being received; use 2-4 for Bluetooth.
    SO_… 16
    SO_ACCEPTCONN: i32 : 0x0002
    Options for any sockets
    SO_BROADCAST: i32 : 0x0020
    SO_CONDITIONAL_ACCEPT: i32 : 0x3002
    SO_DONTLINGER: i32 : ~SO_LINGER
    SO_ERROR: i32 : 0x1007
    SO_EXCLUSIVEADDRUSE: i32 : ~SO_REUSEADDR
    SO_KEEPALIVE: i32 : 0x0008
    SO_LINGER: i32 : 0x0080
    SO_OOBINLINE: i32 : 0x0100
    SO_RCVBUF: i32 : 0x1002
    SO_RCVTIMEO: i32 : 0x1006
    SO_REUSEADDR: i32 : 0x0004
    SO_SNDBUF: i32 : 0x1001
    SO_SNDTIMEO: i32 : 0x1005
    SO_UPDATE_ACCEPT_CONTEXT:: 28683
    SO_UPDATE_CONNECT_CONTEXT:: 0x7010
    SPECIFIC_RIGHTS_ALL: u32 : 0x0000FFFF
    SPIF_… 3
    SPIF_SENDCHANGE:: SPIF_SENDWININICHANGE
    SPIF_SENDWININICHANGE:: 0x0002
    SPIF_UPDATEINIFILE:: 0x0001
    Flags
    SPI_… 227
    SPI_GETACCESSTIMEOUT:: 0x003C
    SPI_GETACTIVEWINDOWTRACKING:: 0x1000
    SPI_GETACTIVEWNDTRKTIMEOUT:: 0x2002
    SPI_GETACTIVEWNDTRKZORDER:: 0x100C
    SPI_GETANIMATION:: 0x0048
    SPI_GETAUDIODESCRIPTION:: 0x0074
    SPI_GETBEEP:: 0x0001
    Parameter for SystemParametersInfo.
    SPI_GETBLOCKSENDINPUTRESETS:: 0x1026
    SPI_GETBORDER:: 0x0005
    SPI_GETCARETBROWSING:: 0x104C
    SPI_GETCARETWIDTH:: 0x2006
    SPI_GETCLEARTYPE:: 0x1048
    SPI_GETCLIENTAREAANIMATION:: 0x1042
    SPI_GETCOMBOBOXANIMATION:: 0x1004
    SPI_GETCONTACTVISUALIZATION:: 0x2018
    SPI_GETCURSORSHADOW:: 0x101A
    SPI_GETDEFAULTINPUTLANG:: 0x0059
    SPI_GETDESKWALLPAPER:: 0x0073
    SPI_GETDISABLEOVERLAPPEDCONTENT:: 0x1040
    SPI_GETDOCKMOVING:: 0x0090
    SPI_GETDRAGFROMMAXIMIZE:: 0x008C
    SPI_GETDRAGFULLWINDOWS:: 0x0026
    SPI_GETDROPSHADOW:: 0x1024
    SPI_GETFASTTASKSWITCH:: 0x0023
    SPI_GETFILTERKEYS:: 0x0032
    SPI_GETFLATMENU:: 0x1022
    SPI_GETFOCUSBORDERHEIGHT:: 0x2010
    SPI_GETFOCUSBORDERWIDTH:: 0x200E
    SPI_GETFONTSMOOTHING:: 0x004A
    SPI_GETFONTSMOOTHINGCONTRAST:: 0x200C
    SPI_GETFONTSMOOTHINGORIENTATION:: 0x2012
    SPI_GETFONTSMOOTHINGTYPE:: 0x200A
    SPI_GETFOREGROUNDFLASHCOUNT:: 0x2004
    SPI_GETFOREGROUNDLOCKTIMEOUT:: 0x2000
    SPI_GETGESTUREVISUALIZATION:: 0x201A
    SPI_GETGRADIENTCAPTIONS:: 0x1008
    SPI_GETGRIDGRANULARITY:: 0x0012
    SPI_GETHIGHCONTRAST:: 0x0042
    SPI_GETHOTTRACKING:: 0x100E
    SPI_GETHUNGAPPTIMEOUT:: 0x0078
    SPI_GETICONMETRICS:: 0x002D
    SPI_GETICONTITLELOGFONT:: 0x001F
    SPI_GETICONTITLEWRAP:: 0x0019
    SPI_GETKEYBOARDCUES:: 0x100A
    SPI_GETKEYBOARDDELAY:: 0x0016
    SPI_GETKEYBOARDPREF:: 0x0044
    SPI_GETKEYBOARDSPEED:: 0x000A
    SPI_GETLISTBOXSMOOTHSCROLLING:: 0x1006
    SPI_GETLOWPOWERACTIVE:: 0x0053
    SPI_GETLOWPOWERTIMEOUT:: 0x004F
    SPI_GETMENUANIMATION:: 0x1002
    SPI_GETMENUDROPALIGNMENT:: 0x001B
    SPI_GETMENUFADE:: 0x1012
    SPI_GETMENUSHOWDELAY:: 0x006A
    SPI_GETMENUUNDERLINES:: SPI_GETKEYBOARDCUES
    SPI_GETMESSAGEDURATION:: 0x2016
    SPI_GETMINIMIZEDMETRICS:: 0x002B
    SPI_GETMINIMUMHITRADIUS:: 0x2014
    SPI_GETMOUSE:: 0x0003
    SPI_GETMOUSECLICKLOCK:: 0x101E
    SPI_GETMOUSECLICKLOCKTIME:: 0x2008
    SPI_GETMOUSEDOCKTHRESHOLD:: 0x007E
    SPI_GETMOUSEDRAGOUTTHRESHOLD:: 0x0084
    SPI_GETMOUSEHOVERHEIGHT:: 0x0064
    SPI_GETMOUSEHOVERTIME:: 0x0066
    SPI_GETMOUSEHOVERWIDTH:: 0x0062
    SPI_GETMOUSEKEYS:: 0x0036
    SPI_GETMOUSESIDEMOVETHRESHOLD:: 0x0088
    SPI_GETMOUSESONAR:: 0x101C
    SPI_GETMOUSESPEED:: 0x0070
    SPI_GETMOUSETRAILS:: 0x005E
    SPI_GETMOUSEVANISH:: 0x1020
    SPI_GETMOUSEWHEELROUTING:: 0x201C
    SPI_GETNONCLIENTMETRICS:: 0x0029
    SPI_GETPENDOCKTHRESHOLD:: 0x0080
    SPI_GETPENDRAGOUTTHRESHOLD:: 0x0086
    SPI_GETPENSIDEMOVETHRESHOLD:: 0x008A
    SPI_GETPOWEROFFACTIVE:: 0x0054
    SPI_GETPOWEROFFTIMEOUT:: 0x0050
    SPI_GETSCREENREADER:: 0x0046
    SPI_GETSCREENSAVEACTIVE:: 0x0010
    SPI_GETSCREENSAVERRUNNING:: 0x0072
    SPI_GETSCREENSAVESECURE:: 0x0076
    SPI_GETSCREENSAVETIMEOUT:: 0x000E
    SPI_GETSELECTIONFADE:: 0x1014
    SPI_GETSERIALKEYS:: 0x003E
    SPI_GETSHOWIMEUI:: 0x006E
    SPI_GETSHOWSOUNDS:: 0x0038
    SPI_GETSNAPSIZING:: 0x008E
    SPI_GETSNAPTODEFBUTTON:: 0x005F
    SPI_GETSOUNDSENTRY:: 0x0040
    SPI_GETSPEECHRECOGNITION:: 0x104A
    SPI_GETSTICKYKEYS:: 0x003A
    SPI_GETSYSTEMLANGUAGEBAR:: 0x1050
    SPI_GETTHREADLOCALINPUTSETTINGS:: 0x104E
    SPI_GETTOGGLEKEYS:: 0x0034
    SPI_GETTOOLTIPANIMATION:: 0x1016
    SPI_GETTOOLTIPFADE:: 0x1018
    SPI_GETUIEFFECTS:: 0x103E
    SPI_GETWAITTOKILLSERVICETIMEOUT:: 0x007C
    SPI_GETWAITTOKILLTIMEOUT:: 0x007A
    SPI_GETWHEELSCROLLCHARS:: 0x006C
    SPI_GETWHEELSCROLLLINES:: 0x0068
    SPI_GETWINARRANGING:: 0x0082
    SPI_GETWINDOWSEXTENSION:: 0x005C
    SPI_GETWORKAREA:: 0x0030
    SPI_ICONHORIZONTALSPACING:: 0x000D
    SPI_ICONVERTICALSPACING:: 0x0018
    SPI_LANGDRIVER:: 0x000C
    SPI_SCREENSAVERRUNNING:: SPI_SETSCREENSAVERRUNNING
    SPI_SETACCESSTIMEOUT:: 0x003D
    SPI_SETACTIVEWINDOWTRACKING:: 0x1001
    SPI_SETACTIVEWNDTRKTIMEOUT:: 0x2003
    SPI_SETACTIVEWNDTRKZORDER:: 0x100D
    SPI_SETANIMATION:: 0x0049
    SPI_SETAUDIODESCRIPTION:: 0x0075
    SPI_SETBEEP:: 0x0002
    SPI_SETBLOCKSENDINPUTRESETS:: 0x1027
    SPI_SETBORDER:: 0x0006
    SPI_SETCARETBROWSING:: 0x104D
    SPI_SETCARETWIDTH:: 0x2007
    SPI_SETCLEARTYPE:: 0x1049
    SPI_SETCLIENTAREAANIMATION:: 0x1043
    SPI_SETCOMBOBOXANIMATION:: 0x1005
    SPI_SETCONTACTVISUALIZATION:: 0x2019
    SPI_SETCURSORS:: 0x0057
    SPI_SETCURSORSHADOW:: 0x101B
    SPI_SETDEFAULTINPUTLANG:: 0x005A
    SPI_SETDESKPATTERN:: 0x0015
    SPI_SETDESKWALLPAPER:: 0x0014
    SPI_SETDISABLEOVERLAPPEDCONTENT:: 0x1041
    SPI_SETDOCKMOVING:: 0x0091
    SPI_SETDOUBLECLICKTIME:: 0x0020
    SPI_SETDOUBLECLKHEIGHT:: 0x001E
    SPI_SETDOUBLECLKWIDTH:: 0x001D
    SPI_SETDRAGFROMMAXIMIZE:: 0x008D
    SPI_SETDRAGFULLWINDOWS:: 0x0025
    SPI_SETDRAGHEIGHT:: 0x004D
    SPI_SETDRAGWIDTH:: 0x004C
    SPI_SETDROPSHADOW:: 0x1025
    SPI_SETFASTTASKSWITCH:: 0x0024
    SPI_SETFILTERKEYS:: 0x0033
    SPI_SETFLATMENU:: 0x1023
    SPI_SETFOCUSBORDERHEIGHT:: 0x2011
    SPI_SETFOCUSBORDERWIDTH:: 0x200F
    SPI_SETFONTSMOOTHING:: 0x004B
    SPI_SETFONTSMOOTHINGCONTRAST:: 0x200D
    SPI_SETFONTSMOOTHINGORIENTATION:: 0x2013
    SPI_SETFONTSMOOTHINGTYPE:: 0x200B
    SPI_SETFOREGROUNDFLASHCOUNT:: 0x2005
    SPI_SETFOREGROUNDLOCKTIMEOUT:: 0x2001
    SPI_SETGESTUREVISUALIZATION:: 0x201B
    SPI_SETGRADIENTCAPTIONS:: 0x1009
    SPI_SETGRIDGRANULARITY:: 0x0013
    SPI_SETHANDHELD:: 0x004E
    SPI_SETHIGHCONTRAST:: 0x0043
    SPI_SETHOTTRACKING:: 0x100F
    SPI_SETHUNGAPPTIMEOUT:: 0x0079
    SPI_SETICONMETRICS:: 0x002E
    SPI_SETICONS:: 0x0058
    SPI_SETICONTITLELOGFONT:: 0x0022
    SPI_SETICONTITLEWRAP:: 0x001A
    SPI_SETKEYBOARDCUES:: 0x100B
    SPI_SETKEYBOARDDELAY:: 0x0017
    SPI_SETKEYBOARDPREF:: 0x0045
    SPI_SETKEYBOARDSPEED:: 0x000B
    SPI_SETLANGTOGGLE:: 0x005B
    SPI_SETLISTBOXSMOOTHSCROLLING:: 0x1007
    SPI_SETLOWPOWERACTIVE:: 0x0055
    SPI_SETLOWPOWERTIMEOUT:: 0x0051
    SPI_SETMENUANIMATION:: 0x1003
    SPI_SETMENUDROPALIGNMENT:: 0x001C
    SPI_SETMENUFADE:: 0x1013
    SPI_SETMENUSHOWDELAY:: 0x006B
    SPI_SETMENUUNDERLINES:: SPI_SETKEYBOARDCUES
    SPI_SETMESSAGEDURATION:: 0x2017
    SPI_SETMINIMIZEDMETRICS:: 0x002C
    SPI_SETMINIMUMHITRADIUS:: 0x2015
    SPI_SETMOUSE:: 0x0004
    SPI_SETMOUSEBUTTONSWAP:: 0x0021
    SPI_SETMOUSECLICKLOCK:: 0x101F
    SPI_SETMOUSECLICKLOCKTIME:: 0x2009
    SPI_SETMOUSEDOCKTHRESHOLD:: 0x007F
    SPI_SETMOUSEDRAGOUTTHRESHOLD:: 0x0085
    SPI_SETMOUSEHOVERHEIGHT:: 0x0065
    SPI_SETMOUSEHOVERTIME:: 0x0067
    SPI_SETMOUSEHOVERWIDTH:: 0x0063
    SPI_SETMOUSEKEYS:: 0x0037
    SPI_SETMOUSESIDEMOVETHRESHOLD:: 0x0089
    SPI_SETMOUSESONAR:: 0x101D
    SPI_SETMOUSESPEED:: 0x0071
    SPI_SETMOUSETRAILS:: 0x005D
    SPI_SETMOUSEVANISH:: 0x1021
    SPI_SETMOUSEWHEELROUTING:: 0x201D
    SPI_SETNONCLIENTMETRICS:: 0x002A
    SPI_SETPENDOCKTHRESHOLD:: 0x0081
    SPI_SETPENDRAGOUTTHRESHOLD:: 0x0087
    SPI_SETPENSIDEMOVETHRESHOLD:: 0x008B
    SPI_SETPENWINDOWS:: 0x0031
    SPI_SETPOWEROFFACTIVE:: 0x0056
    SPI_SETPOWEROFFTIMEOUT:: 0x0052
    SPI_SETSCREENREADER:: 0x0047
    SPI_SETSCREENSAVEACTIVE:: 0x0011
    SPI_SETSCREENSAVERRUNNING:: 0x0061
    SPI_SETSCREENSAVESECURE:: 0x0077
    SPI_SETSCREENSAVETIMEOUT:: 0x000F
    SPI_SETSELECTIONFADE:: 0x1015
    SPI_SETSERIALKEYS:: 0x003F
    SPI_SETSHOWIMEUI:: 0x006F
    SPI_SETSHOWSOUNDS:: 0x0039
    SPI_SETSNAPSIZING:: 0x008F
    SPI_SETSNAPTODEFBUTTON:: 0x0060
    SPI_SETSOUNDSENTRY:: 0x0041
    SPI_SETSPEECHRECOGNITION:: 0x104B
    SPI_SETSTICKYKEYS:: 0x003B
    SPI_SETSYSTEMLANGUAGEBAR:: 0x1051
    SPI_SETTHREADLOCALINPUTSETTINGS:: 0x104F
    SPI_SETTOGGLEKEYS:: 0x0035
    SPI_SETTOOLTIPANIMATION:: 0x1017
    SPI_SETTOOLTIPFADE:: 0x1019
    SPI_SETUIEFFECTS:: 0x103F
    SPI_SETWAITTOKILLSERVICETIMEOUT:: 0x007D
    SPI_SETWAITTOKILLTIMEOUT:: 0x007B
    SPI_SETWHEELSCROLLCHARS:: 0x006D
    SPI_SETWHEELSCROLLLINES:: 0x0069
    SPI_SETWINARRANGING:: 0x0083
    SPI_SETWORKAREA:: 0x002F
    SRCAND: u32 : 0x008800C6
    dest = source AND dest
    SRCCOPY: u32 : 0x00CC0020
    Ternary raster operations
    SRCERASE: u32 : 0x00440328
    dest = source AND (NOT dest)
    SRCINVERT: u32 : 0x00660046
    dest = source XOR dest
    SRCPAINT: u32 : 0x00EE0086
    dest = source OR dest
    SRWLOCK_INIT:: SRWLOCK{}
    SS_… 32
    SS_BITMAP:: 0x0000000E
    SS_BLACKFRAME:: 0x00000007
    SS_BLACKRECT:: 0x00000004
    SS_CENTER:: 0x00000001
    SS_CENTERIMAGE:: 0x00000200
    SS_EDITCONTROL:: 0x00002000
    SS_ELLIPSISMASK:: 0x0000C000
    SS_ENDELLIPSIS:: 0x00004000
    SS_ENHMETAFILE:: 0x0000000F
    SS_ETCHEDFRAME:: 0x00000012
    SS_ETCHEDHORZ:: 0x00000010
    SS_ETCHEDVERT:: 0x00000011
    SS_GRAYFRAME:: 0x00000008
    SS_GRAYRECT:: 0x00000005
    SS_ICON:: 0x00000003
    SS_LEFT:: 0x00000000
    Static Control Constants
    SS_LEFTNOWORDWRAP:: 0x0000000C
    SS_NOPREFIX:: 0x00000080
    SS_NOTIFY:: 0x00000100
    SS_OWNERDRAW:: 0x0000000D
    SS_PATHELLIPSIS:: 0x00008000
    SS_REALSIZECONTROL:: 0x00000040
    SS_REALSIZEIMAGE:: 0x00000800
    SS_RIGHT:: 0x00000002
    SS_RIGHTJUST:: 0x00000400
    SS_SIMPLE:: 0x0000000B
    SS_SUNKEN:: 0x00001000
    SS_TYPEMASK:: 0x0000001F
    SS_USERITEM:: 0x0000000A
    SS_WHITEFRAME:: 0x00000009
    SS_WHITERECT:: 0x00000006
    SS_WORDELLIPSIS:: 0x0000C000
    STACK_SIZE_PARAM_IS_A_RESERVATION: u32 : 0x00010000
    STANDARD_… 5
    STANDARD_RIGHTS_ALL: u32 : 0x001F0000
    STANDARD_RIGHTS_EXECUTE: u32 : READ_CONTROL
    STANDARD_RIGHTS_READ: u32 : READ_CONTROL
    STANDARD_RIGHTS_REQUIRED: u32 : 0x000F0000
    STANDARD_RIGHTS_WRITE: u32 : READ_CONTROL
    STARTF_… 14
    STARTF_FORCEOFFFEEDBACK: u32 : 0x00000080
    STARTF_FORCEONFEEDBACK: u32 : 0x00000040
    STARTF_PREVENTPINNING: u32 : 0x00002000
    STARTF_RUNFULLSCREEN: u32 : 0x00000020
    ignored for non-x86 platforms
    STARTF_TITLEISAPPID: u32 : 0x00001000
    STARTF_TITLEISLINKNAME: u32 : 0x00000800
    STARTF_UNTRUSTEDSOURCE: u32 : 0x00008000
    WINVER >= 0x600
    STARTF_USECOUNTCHARS: u32 : 0x00000008
    STARTF_USEFILLATTRIBUTE: u32 : 0x00000010
    STARTF_USEHOTKEY: u32 : 0x00000200
    WINVER >= 0x400
    STARTF_USEPOSITION: u32 : 0x00000004
    STARTF_USESHOWWINDOW: u32 : 0x00000001
    Flags in STARTUPINFOW.dwFlags.
    STARTF_USESIZE: u32 : 0x00000002
    STARTF_USESTDHANDLES: u32 : 0x00000100
    START_PAGE_GENERAL:: 0xffffffff
    Define the start page for the print dialog when using PrintDlgEx.
    STATUSCLASSNAME:: "msctls_statusbar32"
    STATUS_PRIVILEGED_INSTRUCTION:: 0xC0000096
    STD_… 18
    STD_COPY:: 1
    STD_CUT:: 0
    STD_DELETE:: 5
    STD_ERROR_HANDLE: u32 : ~DWORD(0) - 12 + 1
    STD_FILENEW:: 6
    STD_FILEOPEN:: 7
    STD_FILESAVE:: 8
    STD_FIND:: 12
    STD_HELP:: 11
    STD_INPUT_HANDLE: u32 : ~DWORD(0) - 10 + 1
    STD_OUTPUT_HANDLE: u32 : ~DWORD(0) - 11 + 1
    STD_PASTE:: 2
    STD_PRINT:: 14
    STD_PRINTPRE:: 9
    STD_PROPERTIES:: 10
    STD_REDOW:: 4
    STD_REPLACE:: 13
    STD_UNDO:: 3
    STOCK_LAST:: 19
    SUBLANG_DEFAULT:: 0x01
    user default
    SUBLANG_NEUTRAL:: 0x00
    language neutral
    SWP_… 15
    SWP_ASYNCWINDOWPOS:: 0x4000
    same as SWP_CREATESPB
    SWP_DEFERERASE:: 0x2000
    same as SWP_DEFERDRAWING
    SWP_DRAWFRAME:: SWP_FRAMECHANGED
    SWP_FRAMECHANGED:: 0x0020
    The frame changed: send WM_NCCALCSIZE
    SWP_HIDEWINDOW:: 0x0080
    SWP_NOACTIVATE:: 0x0010
    SWP_NOCOPYBITS:: 0x0100
    SWP_NOMOVE:: 0x0002
    SWP_NOOWNERZORDER:: 0x0200
    Don't do owner Z ordering
    SWP_NOREDRAW:: 0x0008
    SWP_NOREPOSITION:: SWP_NOOWNERZORDER
    SWP_NOSENDCHANGING:: 0x0400
    Don't send WM_WINDOWPOSCHANGING
    SWP_NOSIZE:: 0x0001
    SetWindowPos Flags
    SWP_NOZORDER:: 0x0004
    SWP_SHOWWINDOW:: 0x0040
    SW_… 14
    SW_FORCEMINIMIZE: i32 : 11
    SW_HIDE: i32 : 0
    SW_MAXIMIZE: i32 : 3
    SW_MINIMIZE: i32 : 6
    SW_NORMAL: i32 : 1
    SW_RESTORE: i32 : 9
    SW_SHOW: i32 : 5
    SW_SHOWDEFAULT: i32 : 10
    SW_SHOWMAXIMIZED: i32 : SW_MAXIMIZE
    SW_SHOWMINIMIZED: i32 : 2
    SW_SHOWMINNOACTIVE: i32 : 7
    SW_SHOWNA: i32 : 8
    SW_SHOWNOACTIVATE: i32 : 4
    SW_SHOWNORMAL: i32 : SW_NORMAL
    SYMBOL_CHARSET:: 2
    SYMOPT_DEFERRED_LOADS:: 0x00000004
    SYMOPT_LOAD_LINES:: 0x00000010
    SYNCHRONIZE: u32 : 0x00100000
    SYSTEM_FIXED_FONT:: 16
    SYSTEM_FONT:: 13
    S_FALSE:: 0x00000001
    S_OK:: 0x00000000
    TAPI_REPLY:: 0x0463
    TA_… 10
    TA_BASELINE:: 24
    TA_BOTTOM:: 8
    TA_CENTER:: 6
    TA_LEFT:: 0
    TA_MASK:: TA_BASELINE + TA_CENTER + TA_UPDATECP + TA_RTLREADING
    TA_NOUPDATECP:: 0
    Text Alignment Options
    TA_RIGHT:: 2
    TA_RTLREADING:: 256
    TA_TOP:: 0
    TA_UPDATECP:: 1
    TBBF_LARGE:: 0x1
    TBCDRF_… 7
    TBCDRF_BLENDICON:: 0x200000
    TBCDRF_HILITEHOTTRACK:: 0x020000
    TBCDRF_NOBACKGROUND:: 0x400000
    TBCDRF_NOEDGES:: 0x010000
    Toolbar Constants
    TBCDRF_NOETCHEDEFFECT:: 0x100000
    TBCDRF_NOMARK:: 0x080000
    TBCDRF_NOOFFSET:: 0x040000
    TBIF_… 8
    TBIF_BYINDEX:: 0x80000000
    TBIF_COMMAND:: 0x00000020
    TBIF_IMAGE:: 0x00000001
    TBIF_LPARAM:: 0x00000010
    TBIF_SIZE:: 0x00000040
    TBIF_STATE:: 0x00000004
    TBIF_STYLE:: 0x00000008
    TBIF_TEXT:: 0x00000002
    TBMF_… 3
    TBMF_BARPAD:: 0x2
    TBMF_BUTTONSPACING:: 0x4
    TBMF_PAD:: 0x1
    TBM_… 33
    TBM_CLEARSEL:: 0x0413
    TBM_CLEARTICS:: 0x0409
    TBM_GETBUDDY:: 0x0421
    TBM_GETCHANNELRECT:: 0x041a
    TBM_GETLINESIZE:: 0x0418
    TBM_GETNUMTICS:: 0x0410
    TBM_GETPAGESIZE:: 0x0416
    TBM_GETPOS:: 0x0400
    TBM_GETPTICS:: 0x040e
    TBM_GETRANGEMAX:: 0x0402
    TBM_GETRANGEMIN:: 0x0401
    TBM_GETSELEND:: 0x0412
    TBM_GETSELSTART:: 0x0411
    TBM_GETTHUMBLENGTH:: 0x041c
    TBM_GETTHUMBRECT:: 0x0419
    TBM_GETTIC:: 0x0403
    TBM_GETTICPOS:: 0x040f
    TBM_GETTOOLTIPS:: 0x041e
    TBM_SETBUDDY:: 0x0420
    TBM_SETLINESIZE:: 0x0417
    TBM_SETPAGESIZE:: 0x0415
    TBM_SETPOS:: 0x0405
    TBM_SETRANGE:: 0x0406
    TBM_SETRANGEMAX:: 0x0408
    TBM_SETRANGEMIN:: 0x0407
    TBM_SETSEL:: 0x040a
    TBM_SETSELEND:: 0x040c
    TBM_SETSELSTART:: 0x040b
    TBM_SETTHUMBLENGTH:: 0x041b
    TBM_SETTIC:: 0x0404
    TBM_SETTICFREQ:: 0x0414
    TBM_SETTIPSIDE:: 0x041f
    TBM_SETTOOLTIPS:: 0x041d
    TBN_FIRST: u32 : ~DWORD(700 - 1)
    TBN_LAST: u32 : ~DWORD(720 - 1)
    TBSTATE_… 8
    TBSTATE_CHECKED:: 0x01
    Toolbar Item State Codes
    TBSTATE_ELLIPSES:: 0x40
    TBSTATE_ENABLED:: 0x04
    TBSTATE_HIDDEN:: 0x08
    TBSTATE_INDETERMINATE:: 0x10
    TBSTATE_MARKED:: 0x80
    TBSTATE_PRESSED:: 0x02
    TBSTATE_WRAP:: 0x20
    TBSTYLE_… 20
    TBSTYLE_ALTDRAG:: 0x0400
    TBSTYLE_AUTOSIZE:: 0x0010
    TBSTYLE_BUTTON:: 0x0000
    Toolbar Button Styles
    TBSTYLE_CHECK:: 0x0002
    TBSTYLE_CHECKGROUP:: TBSTYLE_GROUP | TBSTYLE_CHECK
    TBSTYLE_CUSTOMERASE:: 0x2000
    TBSTYLE_DROPDOWN:: 0x0008
    TBSTYLE_EX_DOUBLEBUFFER:: 0x80
    TBSTYLE_EX_DRAWDDARROWS:: 0x01
    Toolbar Extended Styles
    TBSTYLE_EX_HIDECLIPPEDBUTTONS:: 0x10
    TBSTYLE_EX_MIXEDBUTTONS:: 0x08
    TBSTYLE_FLAT:: 0x0800
    TBSTYLE_GROUP:: 0x0004
    TBSTYLE_LIST:: 0x1000
    TBSTYLE_NOPREFIX:: 0x0020
    TBSTYLE_REGISTERDROP:: 0x4000
    TBSTYLE_SEP:: 0x0001
    TBSTYLE_TOOLTIPS:: 0x0100
    TBSTYLE_TRANSPARENT:: 0x8000
    TBSTYLE_WRAPABLE:: 0x0200
    TBS_… 15
    TBS_AUTOTICKS:: 0x001
    Toolbar Styles
    TBS_BOTH:: 0x008
    TBS_BOTTOM:: 0x000
    TBS_DOWNISLEFT:: 0x400
    TBS_ENABLESELRANGE:: 0x020
    TBS_FIXEDLENGTH:: 0x040
    TBS_HORZ:: 0x000
    TBS_LEFT:: 0x004
    TBS_NOTHUMB:: 0x080
    TBS_NOTICKS:: 0x010
    TBS_REVERSED:: 0x200
    TBS_RIGHT:: 0x000
    TBS_TOOLTIPS:: 0x100
    TBS_TOP:: 0x004
    TBS_VERT:: 0x002
    TB_… 96
    TB_ADDBITMAP:: 0x0413
    TB_ADDBUTTONSA:: 0x0414
    TB_ADDBUTTONSW:: 0x0444
    TB_ADDSTRINGA:: 0x041c
    TB_ADDSTRINGW:: 0x044d
    TB_AUTOSIZE:: 0x0421
    TB_BUTTONCOUNT:: 0x0418
    TB_BUTTONSTRUCTSIZE:: 0x041e
    TB_CHANGEBITMAP:: 0x042b
    TB_CHECKBUTTON:: 0x0402
    TB_COMMANDTOINDEX:: 0x0419
    TB_CUSTOMIZE:: 0x041b
    TB_DELETEBUTTON:: 0x0416
    TB_ENABLEBUTTON:: 0x0401
    TB_GETANCHORHIGHLIGHT:: 0x044a
    TB_GETBITMAP:: 0x042c
    TB_GETBITMAPFLAGS:: 0x0429
    TB_GETBUTTON:: 0x0417
    TB_GETBUTTONINFOA:: 0x0441
    TB_GETBUTTONINFOW:: 0x043f
    TB_GETBUTTONSIZE:: 0x043a
    TB_GETBUTTONTEXTA:: 0x042d
    TB_GETBUTTONTEXTW:: 0x044b
    TB_GETDISABLEDIMAGELIST:: 0x0437
    TB_GETEXTENDEDSTYLE:: 0x0455
    TB_GETHOTIMAGELIST:: 0x0435
    TB_GETHOTITEM:: 0x0447
    TB_GETIDEALSIZE:: 0x0463
    TB_GETIMAGELIST:: 0x0431
    TB_GETIMAGELISTCOUNT:: 0x0462
    TB_GETINSERTMARK:: 0x044f
    TB_GETINSERTMARKCOLOR:: 0x0459
    TB_GETITEMDROPDOWNRECT:: 0x0467
    TB_GETITEMRECT:: 0x041d
    TB_GETMAXSIZE:: 0x0453
    TB_GETMETRICS:: 0x0465
    TB_GETOBJECT:: 0x043e
    TB_GETPADDING:: 0x0456
    TB_GETPRESSEDIMAGELIST:: 0x0469
    TB_GETRECT:: 0x0433
    TB_GETROWS:: 0x0428
    TB_GETSTATE:: 0x0412
    TB_GETSTRINGA:: 0x045c
    TB_GETSTRINGW:: 0x045b
    TB_GETSTYLE:: 0x0439
    TB_GETTEXTROWS:: 0x043d
    TB_GETTOOLTIPS:: 0x0423
    TB_HIDEBUTTON:: 0x0404
    TB_HITTEST:: 0x0445
    TB_INDETERMINATE:: 0x0405
    TB_INSERTBUTTONA:: 0x0415
    TB_INSERTBUTTONW:: 0x0443
    TB_INSERTMARKHITTEST:: 0x0451
    TB_ISBUTTONCHECKED:: 0x040a
    TB_ISBUTTONENABLED:: 0x0409
    TB_ISBUTTONHIDDEN:: 0x040c
    TB_ISBUTTONHIGHLIGHTED:: 0x040e
    TB_ISBUTTONINDETERMINATE:: 0x040d
    TB_ISBUTTONPRESSED:: 0x040b
    TB_LOADIMAGES:: 0x0432
    TB_MAPACCELERATORA:: 0x044e
    TB_MAPACCELERATORW:: 0x045a
    TB_MARKBUTTON:: 0x0406
    TB_MOVEBUTTON:: 0x0452
    TB_PRESSBUTTON:: 0x0403
    TB_REPLACEBITMAP:: 0x042e
    TB_SAVERESTOREA:: 0x041a
    TB_SAVERESTOREW:: 0x044c
    TB_SETANCHORHIGHLIGHT:: 0x0449
    TB_SETBITMAPSIZE:: 0x0420
    TB_SETBUTTONINFOA:: 0x0442
    TB_SETBUTTONINFOW:: 0x0440
    TB_SETBUTTONSIZE:: 0x041f
    TB_SETBUTTONWIDTH:: 0x043b
    TB_SETCMDID:: 0x042a
    TB_SETDISABLEDIMAGELIST:: 0x0436
    TB_SETDRAWTEXTFLAGS:: 0x0446
    TB_SETEXTENDEDSTYLE:: 0x0454
    TB_SETHOTIMAGELIST:: 0x0434
    TB_SETHOTITEM:: 0x0448
    TB_SETHOTITEM2:: 0x045e
    TB_SETIMAGELIST:: 0x0430
    TB_SETINDENT:: 0x042f
    TB_SETINSERTMARK:: 0x0450
    TB_SETINSERTMARKCOLOR:: 0x0458
    TB_SETLISTGAP:: 0x0460
    TB_SETMAXTEXTROWS:: 0x043c
    TB_SETMETRICS:: 0x0466
    TB_SETPADDING:: 0x0457
    TB_SETPARENT:: 0x0425
    TB_SETPRESSEDIMAGELIST:: 0x0468
    TB_SETROWS:: 0x0427
    TB_SETSTATE:: 0x0411
    TB_SETSTYLE:: 0x0438
    TB_SETTOOLTIPS:: 0x0424
    TB_SETWINDOWTHEME:: 0x200b
    TCHT_… 4
    TCHT_NOWHERE:: 0x1
    TCHT_ONITEM:: TCHT_ONITEMICON | TCHT_ONITEMLABEL
    TCHT_ONITEMICON:: 0x2
    TCHT_ONITEMLABEL:: 0x4
    TCIF_… 5
    TCIF_IMAGE:: 0x02
    TCIF_PARAM:: 0x08
    TCIF_RTLREADING:: 0x04
    TCIF_STATE:: 0x10
    TCIF_TEXT:: 0x01
    Tab Control Constants
    TCIS_BUTTONPRESSED:: 0x1
    TCIS_HIGHLIGHTED:: 0x2
    TCM_… 33
    TCM_ADJUSTRECT:: TCM_FIRST + 40
    TCM_DELETEALLITEMS:: TCM_FIRST + 9
    TCM_DELETEITEM:: TCM_FIRST + 8
    TCM_DESELECTALL:: TCM_FIRST + 50
    TCM_FIRST:: 0x1300
    TCM_GETCURFOCUS:: TCM_FIRST + 47
    TCM_GETCURSEL:: TCM_FIRST + 11
    TCM_GETEXTENDEDSTYLE:: TCM_FIRST + 53
    TCM_GETIMAGELIST:: TCM_FIRST + 2
    TCM_GETITEMA:: TCM_FIRST + 5
    TCM_GETITEMCOUNT:: TCM_FIRST + 4
    TCM_GETITEMRECT:: TCM_FIRST + 10
    TCM_GETITEMW:: TCM_FIRST + 60
    TCM_GETROWCOUNT:: TCM_FIRST + 44
    TCM_GETTOOLTIPS:: TCM_FIRST + 45
    TCM_GETUNICODEFORMAT:: CCM_GETUNICODEFORMAT
    TCM_HIGHLIGHTITEM:: TCM_FIRST + 51
    TCM_HITTEST:: TCM_FIRST + 13
    TCM_INSERTITEMA:: TCM_FIRST + 7
    TCM_INSERTITEMW:: TCM_FIRST + 62
    TCM_REMOVEIMAGE:: TCM_FIRST + 42
    TCM_SETCURFOCUS:: TCM_FIRST + 48
    TCM_SETCURSEL:: TCM_FIRST + 12
    TCM_SETEXTENDEDSTYLE:: TCM_FIRST + 52
    TCM_SETIMAGELIST:: TCM_FIRST + 3
    TCM_SETITEMA:: TCM_FIRST + 6
    TCM_SETITEMEXTRA:: TCM_FIRST + 14
    TCM_SETITEMSIZE:: TCM_FIRST + 41
    TCM_SETITEMW:: TCM_FIRST + 61
    TCM_SETMINTABWIDTH:: TCM_FIRST + 49
    TCM_SETPADDING:: TCM_FIRST + 43
    TCM_SETTOOLTIPS:: TCM_FIRST + 46
    TCM_SETUNICODEFORMAT:: CCM_SETUNICODEFORMAT
    TCN_… 7
    TCN_FIRST: u32 : ~DWORD(550 - 1)
    TCN_FOCUSCHANGE: u32 : TCN_FIRST - 4
    TCN_GETOBJECT: u32 : TCN_FIRST - 3
    TCN_KEYDOWN: u32 : TCN_FIRST - 0
    TCN_LAST: u32 : ~DWORD(580 - 1)
    TCN_SELCHANGE: u32 : TCN_FIRST - 1
    TCN_SELCHANGING: u32 : TCN_FIRST - 2
    TCP_NODELAY: i32 : 0x0001
    TCS_… 22
    TCS_BOTTOM:: 0x0002
    TCS_BUTTONS:: 0x0100
    TCS_EX_FLATSEPARATORS:: 0x1
    Tab Control
    TCS_EX_REGISTERDROP:: 0x2
    TCS_FIXEDWIDTH:: 0x0400
    TCS_FLATBUTTONS:: 0x0008
    TCS_FOCUSNEVER:: 0x8000
    TCS_FOCUSONBUTTONDOWN:: 0x1000
    TCS_FORCEICONLEFT:: 0x0010
    TCS_FORCELABELLEFT:: 0x0020
    TCS_HOTTRACK:: 0x0040
    TCS_MULTILINE:: 0x0200
    TCS_MULTISELECT:: 0x0004
    TCS_OWNERDRAWFIXED:: 0x2000
    TCS_RAGGEDRIGHT:: 0x0800
    TCS_RIGHT:: 0x0002
    TCS_RIGHTJUSTIFY:: 0x0000
    TCS_SCROLLOPPOSITE:: 0x0001
    Tab Control Styles
    TCS_SINGLELINE:: 0x0000
    TCS_TABS:: 0x0000
    TCS_TOOLTIPS:: 0x4000
    TCS_VERTICAL:: 0x0080
    TH32CS_… 7
    TH32CS_INHERIT:: 0x80000000
    TH32CS_SNAPALL:: TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE
    TH32CS_SNAPHEAPLIST:: 0x00000001
    TH32CS_SNAPMODULE:: 0x00000008
    TH32CS_SNAPMODULE32:: 0x00000010
    TH32CS_SNAPPROCESS:: 0x00000002
    TH32CS_SNAPTHREAD:: 0x00000004
    THAI_CHARSET:: 222
    THREAD_… 26
    THREAD_ALL_ACCESS: u32 : THREAD_DIRECT_IMPERSONATION | THREAD_GET_CONTEXT | THREAD_IMPERSONATE | THREAD_QUERY_INFORMATION | THREAD_QUERY_LIMITED_INFORMATION | THREAD_SET_CONTEXT | THREAD_SET_INFORMATION | THREAD_SET_LIMITED_INFORMATION | THREAD_SET_THREAD_TOKEN | THREAD_SUSPEND_RESUME | THREAD_TERMINATE | SYNCHRONIZE
    THREAD_BASE_PRIORITY_IDLE:: -15
    value that gets a thread to idle
    THREAD_BASE_PRIORITY_LOWRT:: 15
    value that gets a thread to LowRealtime-1
    THREAD_BASE_PRIORITY_MAX:: 2
    maximum thread base priority boost
    THREAD_BASE_PRIORITY_MIN:: -2
    minimum thread base priority boost
    THREAD_DIRECT_IMPERSONATION:: 0x0200
    THREAD_GET_CONTEXT:: 0x0008
    THREAD_IMPERSONATE:: 0x0100
    THREAD_MODE_BACKGROUND_BEGIN:: 0x00010000
    THREAD_MODE_BACKGROUND_END:: 0x00020000
    THREAD_PRIORITY_ABOVE_NORMAL:: THREAD_PRIORITY_HIGHEST - 1
    THREAD_PRIORITY_BELOW_NORMAL:: THREAD_PRIORITY_LOWEST + 1
    THREAD_PRIORITY_ERROR_RETURN:: MAXLONG
    THREAD_PRIORITY_HIGHEST:: THREAD_BASE_PRIORITY_MAX
    THREAD_PRIORITY_IDLE:: THREAD_BASE_PRIORITY_IDLE
    THREAD_PRIORITY_LOWEST:: THREAD_BASE_PRIORITY_MIN
    THREAD_PRIORITY_NORMAL:: 0
    THREAD_PRIORITY_TIME_CRITICAL:: THREAD_BASE_PRIORITY_LOWRT
    THREAD_QUERY_INFORMATION:: 0x0040
    THREAD_QUERY_LIMITED_INFORMATION:: 0x0800
    THREAD_SET_CONTEXT:: 0x0010
    THREAD_SET_INFORMATION:: 0x0020
    THREAD_SET_LIMITED_INFORMATION:: 0x0400
    THREAD_SET_THREAD_TOKEN:: 0x0080
    THREAD_SUSPEND_RESUME:: 0x0002
    THREAD_TERMINATE:: 0x0001
    TIMERR_… 4
    TIMERR_BASE:: 96
    TIMERR_NOCANDO:: TIMERR_BASE + 1
    request not completed
    TIMERR_NOERROR:: 0
    timer error return values
    TIMERR_STRUCT:: TIMERR_BASE + 33
    time struct size
    TIMER_… 3
    TIMER_ALL_ACCESS: u32 : STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUERY_STATE | TIMER_MODIFY_STATE
    TIMER_MODIFY_STATE:: 0x0002
    TIMER_QUERY_STATE:: 0x0001
    TKF_… 6
    TKF_AVAILABLE:: 0x2
    TKF_CONFIRMHOTKEY:: 0x8
    TKF_HOTKEYACTIVE:: 0x4
    TKF_HOTKEYSOUND:: 0x10
    TKF_INDICATOR:: 0x20
    TKF_TOGGLEKEYSON:: 0x1
    TLS_OUT_OF_INDEXES: u32 : 0xFFFFFFFF
    TME_… 5
    TME_CANCEL:: 0x80000000
    TME_HOVER:: 0x00000001
    TME_LEAVE:: 0x00000002
    TME_NONCLIENT:: 0x00000010
    TME_QUERY:: 0x40000000
    TOKEN_… 18
    TOKEN_ACCESS_PSEUDO_HANDLE:: TOKEN_ACCESS_PSEUDO_HANDLE_WIN8
    TOKEN_ACCESS_PSEUDO_HANDLE_WIN8:: TOKEN_QUERY | TOKEN_QUERY_SOURCE
    TOKEN_ADJUST_DEFAULT:: 0x0080
    TOKEN_ADJUST_GROUPS:: 0x0040
    TOKEN_ADJUST_PRIVILEGES:: 0x0020
    TOKEN_ADJUST_SESSIONID:: 0x0100
    TOKEN_ALL_ACCESS: u32 : TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID
    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:: 0x0001
    Token Specific Access Rights.
    TOKEN_DUPLICATE:: 0x0002
    TOKEN_EXECUTE: u32 : STANDARD_RIGHTS_EXECUTE
    TOKEN_IMPERSONATE:: 0x0004
    TOKEN_QUERY:: 0x0008
    TOKEN_QUERY_SOURCE:: 0x0010
    TOKEN_READ: u32 : STANDARD_RIGHTS_READ | TOKEN_QUERY
    TOKEN_SOURCE_LENGTH:: 8
    TOKEN_TRUST_CONSTRAINT_MASK: u32 : STANDARD_RIGHTS_READ | TOKEN_QUERY | TOKEN_QUERY_SOURCE
    TOKEN_WRITE: u32 : STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT
    TOOLBARCLASSNAME:: "ToolbarWindow32"
    TOOLTIPS_CLASS:: "tooltips_class32"
    TPM_… 20
    TPM_BOTTOMALIGN:: 0x0020
    TPM_CENTERALIGN:: 0x0004
    TPM_HORIZONTAL:: 0x0000
    Horz alignment matters more
    TPM_HORNEGANIMATION:: 0x0800
    TPM_HORPOSANIMATION:: 0x0400
    TPM_LAYOUTRTL:: 0x8000
    TPM_LEFTALIGN:: 0x0000
    TPM_LEFTBUTTON:: 0x0000
    Flags for TrackPopupMenu
    TPM_NOANIMATION:: 0x4000
    TPM_NONOTIFY:: 0x0080
    Don't send any notification msgs
    TPM_RECURSE:: 0x0001
    TPM_RETURNCMD:: 0x0100
    TPM_RIGHTALIGN:: 0x0008
    TPM_RIGHTBUTTON:: 0x0002
    TPM_TOPALIGN:: 0x0000
    TPM_VCENTERALIGN:: 0x0010
    TPM_VERNEGANIMATION:: 0x2000
    TPM_VERPOSANIMATION:: 0x1000
    TPM_VERTICAL:: 0x0040
    Vert alignment matters more
    TPM_WORKAREA:: 0x10000
    TRACKBAR_CLASS:: "msctls_trackbar32"
    TRUE:: BOOL(true)
    TRUNCATE_EXISTING: u32 : 5
    TTM_… 42
    TTM_ACTIVATE:: 0x0401
    TTM_ADDTOOLA:: 0x0404
    TTM_ADDTOOLW:: 0x0432
    TTM_ADJUSTRECT:: 0x041f
    TTM_DELTOOLA:: 0x0405
    TTM_DELTOOLW:: 0x0433
    TTM_ENUMTOOLSA:: 0x040e
    TTM_ENUMTOOLSW:: 0x043a
    TTM_GETBUBBLESIZE:: 0x041e
    TTM_GETCURRENTTOOLA:: 0x040f
    TTM_GETCURRENTTOOLW:: 0x043b
    TTM_GETDELAYTIME:: 0x0415
    TTM_GETMARGIN:: 0x041b
    TTM_GETMAXTIPWIDTH:: 0x0419
    TTM_GETTEXTA:: 0x040b
    TTM_GETTEXTW:: 0x0438
    TTM_GETTIPBKCOLOR:: 0x0416
    TTM_GETTIPTEXTCOLOR:: 0x0417
    TTM_GETTOOLCOUNT:: 0x040d
    TTM_GETTOOLINFOA:: 0x0408
    TTM_GETTOOLINFOW:: 0x0435
    TTM_HITTESTA:: 0x040a
    TTM_HITTESTW:: 0x0437
    TTM_NEWTOOLRECTA:: 0x0406
    TTM_NEWTOOLRECTW:: 0x0434
    TTM_POP:: 0x041c
    TTM_RELAYEVENT:: 0x0407
    TTM_SETDELAYTIME:: 0x0403
    TTM_SETMARGIN:: 0x041a
    TTM_SETMAXTIPWIDTH:: 0x0418
    TTM_SETTIPBKCOLOR:: 0x0413
    TTM_SETTIPTEXTCOLOR:: 0x0414
    TTM_SETTITLEA:: 0x0420
    TTM_SETTITLEW:: 0x0421
    TTM_SETTOOLINFOA:: 0x0409
    TTM_SETTOOLINFOW:: 0x0436
    TTM_TRACKACTIVATE:: 0x0411
    TTM_TRACKPOSITION:: 0x0412
    TTM_UPDATE:: 0x041d
    TTM_UPDATETIPTEXTA:: 0x040c
    TTM_UPDATETIPTEXTW:: 0x0439
    TTM_WINDOWFROMPOINT:: 0x0410
    TTN_FIRST: u32 : ~DWORD(520 - 1)
    TTN_LAST: u32 : ~DWORD(549 - 1)
    TTS_… 6
    TTS_ALWAYSTIP:: 0x01
    Tooltip Control Styles
    TTS_BALLOON:: 0x40
    TTS_CLOSE:: 0x80
    TTS_NOANIMATE:: 0x10
    TTS_NOFADE:: 0x20
    TTS_NOPREFIX:: 0x02
    TURKISH_CHARSET:: 162
    TVCDRF_NOIMAGES:: 0x10000
    TVC_… 3
    TVC_BYKEYBOARD:: 0x2
    TVC_BYMOUSE:: 0x1
    TVC_UNKNOWN:: 0x0
    TVE_… 5
    TVE_COLLAPSE:: 0x0001
    Tree-View Control Constants
    TVE_COLLAPSERESET:: 0x8000
    TVE_EXPAND:: 0x0002
    TVE_EXPANDPARTIAL:: 0x4000
    TVE_TOGGLE:: 0x0003
    TVGN_… 11
    TVGN_CARET:: 0x9
    TVGN_CHILD:: 0x4
    TVGN_DROPHILITE:: 0x8
    TVGN_FIRSTVISIBLE:: 0x5
    TVGN_LASTVISIBLE:: 0xA
    TVGN_NEXT:: 0x1
    TVGN_NEXTVISIBLE:: 0x6
    TVGN_PARENT:: 0x3
    TVGN_PREVIOUS:: 0x2
    TVGN_PREVIOUSVISIBLE:: 0x7
    TVGN_ROOT:: 0x0
    TVHT_… 12
    TVHT_ABOVE:: 0x100
    TVHT_BELOW:: 0x200
    TVHT_NOWHERE:: 0x001
    TVHT_ONITEM:: TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON
    TVHT_ONITEMBUTTON:: 0x010
    TVHT_ONITEMICON:: 0x002
    TVHT_ONITEMINDENT:: 0x008
    TVHT_ONITEMLABEL:: 0x004
    TVHT_ONITEMRIGHT:: 0x020
    TVHT_ONITEMSTATEICON:: 0x040
    TVHT_TOLEFT:: 0x800
    TVHT_TORIGHT:: 0x400
    TVIF_… 9
    TVIF_CHILDREN:: 0x40
    TVIF_DI_SETITEM:: 0x1000
    TVIF_HANDLE:: 0x10
    TVIF_IMAGE:: 0x02
    TVIF_INTEGRAL:: 0x80
    TVIF_PARAM:: 0x04
    TVIF_SELECTEDIMAGE:: 0x20
    TVIF_STATE:: 0x08
    TVIF_TEXT:: 0x01
    TVIS_… 10
    TVIS_BOLD:: 0x10
    TVIS_CUT:: 0x04
    TVIS_DROPHILITED:: 0x08
    TVIS_EXPANDED:: 0x20
    TVIS_EXPANDEDONCE:: 0x40
    TVIS_EXPANDPARTIAL:: 0x80
    TVIS_OVERLAYMASK:: 0x0F00
    TVIS_SELECTED:: 0x02
    TVIS_STATEIMAGEMASK:: 0xF000
    TVIS_USERMASK:: 0xF000
    TVI_… 4
    TVI_FIRST: HTREEITEM : cast(HTREEITEM)~uintptr(0x0FFFF - 1)
    TVI_LAST: HTREEITEM : cast(HTREEITEM)~uintptr(0x0FFFE - 1)
    TVI_ROOT: HTREEITEM : cast(HTREEITEM)~uintptr(0x10000 - 1)
    TVI_SORT: HTREEITEM : cast(HTREEITEM)~uintptr(0x0FFFD - 1)
    TVM_… 48
    TVM_CREATEDRAGIMAGE:: TV_FIRST + 18
    TVM_DELETEITEM:: TV_FIRST + 1
    TVM_EDITLABELA:: TV_FIRST + 14
    TVM_EDITLABELW:: TV_FIRST + 65
    TVM_ENDEDITLABELNOW:: TV_FIRST + 22
    TVM_ENSUREVISIBLE:: TV_FIRST + 20
    TVM_EXPAND:: TV_FIRST + 2
    TVM_GETBKCOLOR:: TV_FIRST + 31
    TVM_GETCOUNT:: TV_FIRST + 5
    TVM_GETEDITCONTROL:: TV_FIRST + 15
    TVM_GETIMAGELIST:: TV_FIRST + 8
    TVM_GETINDENT:: TV_FIRST + 6
    TVM_GETINSERTMARKCOLOR:: TV_FIRST + 38
    TVM_GETISEARCHSTRINGA:: TV_FIRST + 23
    TVM_GETISEARCHSTRINGW:: TV_FIRST + 64
    TVM_GETITEMA:: TV_FIRST + 12
    TVM_GETITEMHEIGHT:: TV_FIRST + 28
    TVM_GETITEMRECT:: TV_FIRST + 4
    TVM_GETITEMSTATE:: TV_FIRST + 39
    TVM_GETITEMW:: TV_FIRST + 62
    TVM_GETLINECOLOR:: TV_FIRST + 41
    TVM_GETNEXTITEM:: TV_FIRST + 10
    TVM_GETSCROLLTIME:: TV_FIRST + 34
    TVM_GETTEXTCOLOR:: TV_FIRST + 32
    TVM_GETTOOLTIPS:: TV_FIRST + 25
    TVM_GETUNICODEFORMAT:: CCM_GETUNICODEFORMAT
    TVM_GETVISIBLECOUNT:: TV_FIRST + 16
    TVM_HITTEST:: TV_FIRST + 17
    TVM_INSERTITEMA:: TV_FIRST + 0
    TVM_INSERTITEMW:: TV_FIRST + 50
    TVM_MAPACCIDTOHTREEITEM:: TV_FIRST + 42
    TVM_MAPHTREEITEMTOACCID:: TV_FIRST + 43
    TVM_SELECTITEM:: TV_FIRST + 11
    TVM_SETBKCOLOR:: TV_FIRST + 29
    TVM_SETIMAGELIST:: TV_FIRST + 9
    TVM_SETINDENT:: TV_FIRST + 7
    TVM_SETINSERTMARK:: TV_FIRST + 26
    TVM_SETINSERTMARKCOLOR:: TV_FIRST + 37
    TVM_SETITEMA:: TV_FIRST + 13
    TVM_SETITEMHEIGHT:: TV_FIRST + 27
    TVM_SETITEMW:: TV_FIRST + 63
    TVM_SETLINECOLOR:: TV_FIRST + 40
    TVM_SETSCROLLTIME:: TV_FIRST + 33
    TVM_SETTEXTCOLOR:: TV_FIRST + 30
    TVM_SETTOOLTIPS:: TV_FIRST + 24
    TVM_SETUNICODEFORMAT:: CCM_SETUNICODEFORMAT
    TVM_SORTCHILDREN:: TV_FIRST + 19
    TVM_SORTCHILDRENCB:: TV_FIRST + 21
    TVNRET_… 3
    TVNRET_DEFAULT:: 0
    TVNRET_SKIPNEW:: 2
    TVNRET_SKIPOLD:: 1
    TVN_… 28
    TVN_BEGINDRAGA: u32 : TVN_FIRST - 7
    TVN_BEGINDRAGW: u32 : TVN_FIRST - 56
    TVN_BEGINLABELEDITA: u32 : TVN_FIRST - 10
    TVN_BEGINLABELEDITW: u32 : TVN_FIRST - 59
    TVN_BEGINRDRAGA: u32 : TVN_FIRST - 8
    TVN_BEGINRDRAGW: u32 : TVN_FIRST - 57
    TVN_DELETEITEMA: u32 : TVN_FIRST - 9
    TVN_DELETEITEMW: u32 : TVN_FIRST - 58
    TVN_ENDLABELEDITA: u32 : TVN_FIRST - 11
    TVN_ENDLABELEDITW: u32 : TVN_FIRST - 60
    TVN_FIRST: u32 : ~DWORD(400 - 1)
    TVN_GETDISPINFOA: u32 : TVN_FIRST - 3
    TVN_GETDISPINFOW: u32 : TVN_FIRST - 52
    TVN_GETINFOTIPA: u32 : TVN_FIRST - 13
    TVN_GETINFOTIPW: u32 : TVN_FIRST - 14
    TVN_ITEMEXPANDEDA: u32 : TVN_FIRST - 6
    TVN_ITEMEXPANDEDW: u32 : TVN_FIRST - 55
    TVN_ITEMEXPANDINGA: u32 : TVN_FIRST - 5
    TVN_ITEMEXPANDINGW: u32 : TVN_FIRST - 54
    TVN_KEYDOWN: u32 : TVN_FIRST - 12
    TVN_LAST: u32 : ~DWORD(499 - 1)
    TVN_SELCHANGEDA: u32 : TVN_FIRST - 2
    TVN_SELCHANGEDW: u32 : TVN_FIRST - 51
    TVN_SELCHANGINGA: u32 : TVN_FIRST - 1
    TVN_SELCHANGINGW: u32 : TVN_FIRST - 50
    TVN_SETDISPINFOA: u32 : TVN_FIRST - 4
    TVN_SETDISPINFOW: u32 : TVN_FIRST - 53
    TVN_SINGLEEXPAND: u32 : TVN_FIRST - 15
    TVSIL_NORMAL:: 0
    TVSIL_STATE:: 2
    TVSI_NOSINGLEEXPAND:: 0x8000
    TVS_… 16
    TVS_CHECKBOXES:: 0x0100
    TVS_DISABLEDRAGDROP:: 0x0010
    TVS_EDITLABELS:: 0x0008
    TVS_FULLROWSELECT:: 0x1000
    TVS_HASBUTTONS:: 0x0001
    Tree-View Control Styles
    TVS_HASLINES:: 0x0002
    TVS_INFOTIP:: 0x0800
    TVS_LINESATROOT:: 0x0004
    TVS_NOHSCROLL:: 0x8000
    TVS_NONEVENHEIGHT:: 0x4000
    TVS_NOSCROLL:: 0x2000
    TVS_NOTOOLTIPS:: 0x0080
    TVS_RTLREADING:: 0x0040
    TVS_SHOWSELALWAYS:: 0x0020
    TVS_SINGLEEXPAND:: 0x0400
    TVS_TRACKSELECT:: 0x0200
    TV_FIRST:: 0x1100
    UDM_… 14
    UDM_GETACCEL:: 0x046c
    UDM_GETBASE:: 0x046e
    UDM_GETBUDDY:: 0x046a
    UDM_GETPOS:: 0x0468
    UDM_GETPOS32:: 0x0472
    UDM_GETRANGE:: 0x0466
    UDM_GETRANGE32:: 0x0470
    UDM_SETACCEL:: 0x046b
    UDM_SETBASE:: 0x046d
    UDM_SETBUDDY:: 0x0469
    UDM_SETPOS:: 0x0467
    UDM_SETPOS32:: 0x0471
    UDM_SETRANGE:: 0x0465
    UDM_SETRANGE32:: 0x046f
    UDN_FIRST: u32 : ~DWORD(721 - 1)
    UDN_LAST: u32 : ~DWORD(740 - 1)
    UDS_… 9
    UDS_ALIGNLEFT:: 0x008
    UDS_ALIGNRIGHT:: 0x004
    UDS_ARROWKEYS:: 0x020
    UDS_AUTOBUDDY:: 0x010
    UDS_HORZ:: 0x040
    UDS_HOTTRACK:: 0x100
    UDS_NOTHOUSANDS:: 0x080
    UDS_SETBUDDYINT:: 0x002
    UDS_WRAP:: 0x001
    Up-Down Control Styles
    UM_… 9
    UM_GETCURFOCUSA:: 0x07ed
    UM_GETCURFOCUSW:: 0x07ee
    UM_GETGROUPSELA:: 0x07eb
    UM_GETGROUPSELW:: 0x07ec
    UM_GETOPTIONS:: 0x07ef
    UM_GETOPTIONS2:: 0x07f0
    UM_GETSELCOUNT:: 0x07e8
    UM_GETUSERSELA:: 0x07e9
    UM_GETUSERSELW:: 0x07ea
    UNICODE_NOCHAR:: 0xFFFF
    UNLEN:: 256
    Maximum user name length
    UNPROTECTED_DACL_SECURITY_INFORMATION:: 0x20000000
    UNPROTECTED_SACL_SECURITY_INFORMATION:: 0x10000000
    UPDOWN_CLASS:: "msctls_updown32"
    USER_… 3
    USER_DEFAULT_SCREEN_DPI:: 96
    USER_TIMER_MAXIMUM:: 0x7FFFFFFF
    USER_TIMER_MINIMUM:: 0x0000000A
    VARIABLE_PITCH:: 2
    VIETNAMESE_CHARSET:: 163
    VIEW_… 13
    VIEW_DETAILS:: 3
    VIEW_LARGEICONS:: 0
    VIEW_LIST:: 2
    VIEW_NETCONNECT:: 9
    VIEW_NETDISCONNECT:: 10
    VIEW_NEWFOLDER:: 11
    VIEW_PARENTFOLDER:: 8
    VIEW_SMALLICONS:: 1
    VIEW_SORTDATE:: 6
    VIEW_SORTNAME:: 4
    VIEW_SORTSIZE:: 5
    VIEW_SORTTYPE:: 7
    VIEW_VIEWMENU:: 12
    VK_… 198
    VK_0:: '0'
    VK_1:: '1'
    VK_2:: '2'
    VK_3:: '3'
    VK_4:: '4'
    VK_5:: '5'
    VK_6:: '6'
    VK_7:: '7'
    VK_8:: '8'
    VK_9:: '9'
    VK_A:: 'A'
    VK_ACCEPT:: 0x1E
    VK_ADD:: 0x6B
    VK_APPS:: 0x5D
    VK_ATTN:: 0xF6
    VK_B:: 'B'
    VK_BACK:: 0x08
    VK_BROWSER_BACK:: 0xA6
    VK_BROWSER_FAVORITES:: 0xAB
    VK_BROWSER_FORWARD:: 0xA7
    VK_BROWSER_HOME:: 0xAC
    VK_BROWSER_REFRESH:: 0xA8
    VK_BROWSER_STOP:: 0xA9
    VK_C:: 'C'
    VK_CANCEL:: 0x03
    VK_CAPITAL:: 0x14
    VK_CLEAR:: 0x0C
    VK_CONTROL:: 0x11
    VK_CONVERT:: 0x1C
    VK_CRSEL:: 0xF7
    VK_D:: 'D'
    VK_DECIMAL:: 0x6E
    VK_DELETE:: 0x2E
    VK_DIVIDE:: 0x6F
    VK_DOWN:: 0x28
    VK_E:: 'E'
    VK_END:: 0x23
    VK_EREOF:: 0xF9
    VK_ESCAPE:: 0x1B
    VK_EXECUTE:: 0x2B
    VK_EXSEL:: 0xF8
    VK_F:: 'F'
    VK_F1:: 0x70
    VK_F10:: 0x79
    VK_F11:: 0x7A
    VK_F12:: 0x7B
    VK_F13:: 0x7C
    VK_F14:: 0x7D
    VK_F15:: 0x7E
    VK_F16:: 0x7F
    VK_F17:: 0x80
    VK_F18:: 0x81
    VK_F19:: 0x82
    VK_F2:: 0x71
    VK_F20:: 0x83
    VK_F21:: 0x84
    VK_F22:: 0x85
    VK_F23:: 0x86
    VK_F24:: 0x87
    VK_F3:: 0x72
    VK_F4:: 0x73
    VK_F5:: 0x74
    VK_F6:: 0x75
    VK_F7:: 0x76
    VK_F8:: 0x77
    VK_F9:: 0x78
    VK_FINAL:: 0x18
    VK_G:: 'G'
    VK_H:: 'H'
    VK_HANGEUL:: 0x15
    old name - should be here for compatibility
    VK_HANGUL:: 0x15
    VK_HANJA:: 0x19
    VK_HELP:: 0x2F
    VK_HOME:: 0x24
    VK_I:: 'I'
    VK_ICO_00:: 0xE4
    00 key on ICO
    VK_ICO_CLEAR:: 0xE6
    VK_ICO_HELP:: 0xE3
    Help key on ICO
    VK_IME_OFF:: 0x1A
    VK_IME_ON:: 0x16
    VK_INSERT:: 0x2D
    VK_J:: 'J'
    VK_JUNJA:: 0x17
    VK_K:: 'K'
    VK_KANA:: 0x15
    VK_KANJI:: 0x19
    VK_L:: 'L'
    VK_LAUNCH_APP1:: 0xB6
    VK_LAUNCH_APP2:: 0xB7
    VK_LAUNCH_MAIL:: 0xB4
    VK_LAUNCH_MEDIA_SELECT:: 0xB5
    VK_LBUTTON:: 0x01
    VK_LCONTROL:: 0xA2
    VK_LEFT:: 0x25
    VK_LMENU:: 0xA4
    VK_LSHIFT:: 0xA0
    VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.

    VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys. Used only as parameters to GetAsyncKeyState() and GetKeyState(). No other API or message will distinguish left and right keys in this way.

    VK_LWIN:: 0x5B
    VK_M:: 'M'
    VK_MBUTTON:: 0x04
    NOT contiguous with L & RBUTTON
    VK_MEDIA_NEXT_TRACK:: 0xB0
    VK_MEDIA_PLAY_PAUSE:: 0xB3
    VK_MEDIA_PREV_TRACK:: 0xB1
    VK_MEDIA_STOP:: 0xB2
    VK_MENU:: 0x12
    VK_MODECHANGE:: 0x1F
    VK_MULTIPLY:: 0x6A
    VK_N:: 'N'
    VK_NEXT:: 0x22
    VK_NONAME:: 0xFC
    VK_NONCONVERT:: 0x1D
    VK_NUMLOCK:: 0x90
    VK_NUMPAD0:: 0x60
    VK_NUMPAD1:: 0x61
    VK_NUMPAD2:: 0x62
    VK_NUMPAD3:: 0x63
    VK_NUMPAD4:: 0x64
    VK_NUMPAD5:: 0x65
    VK_NUMPAD6:: 0x66
    VK_NUMPAD7:: 0x67
    VK_NUMPAD8:: 0x68
    VK_NUMPAD9:: 0x69
    VK_O:: 'O'
    VK_OEM_1:: 0xBA
    ';:' for US
    VK_OEM_102:: 0xE2
    "<>" or "\|" on RT 102-key kbd.
    VK_OEM_2:: 0xBF
    '/?' for US
    VK_OEM_3:: 0xC0
    '`~' for US
    VK_OEM_4:: 0xDB
    '[{' for US
    VK_OEM_5:: 0xDC
    '\|' for US
    VK_OEM_6:: 0xDD
    ']}' for US
    VK_OEM_7:: 0xDE
    ''"' for US
    VK_OEM_8:: 0xDF
    VK_OEM_ATTN:: 0xF0
    VK_OEM_AUTO:: 0xF3
    VK_OEM_AX:: 0xE1
    Various extended or enhanced keyboards
    VK_OEM_BACKTAB:: 0xF5
    VK_OEM_CLEAR:: 0xFE
    VK_OEM_COMMA:: 0xBC
    ',' any country
    VK_OEM_COPY:: 0xF2
    VK_OEM_CUSEL:: 0xEF
    VK_OEM_ENLW:: 0xF4
    VK_OEM_FINISH:: 0xF1
    VK_OEM_FJ_JISHO:: 0x92
    Fujitsu/OASYS kbd definitions
    VK_OEM_FJ_LOYA:: 0x95
    'Left OYAYUBI' key
    VK_OEM_FJ_MASSHOU:: 0x93
    'Unregister word' key
    VK_OEM_FJ_ROYA:: 0x96
    'Right OYAYUBI' key
    VK_OEM_FJ_TOUROKU:: 0x94
    'Register word' key
    VK_OEM_JUMP:: 0xEA
    VK_OEM_MINUS:: 0xBD
    '-' any country
    VK_OEM_NEC_EQUAL:: 0x92
    NEC PC-9800 kbd definitions
    VK_OEM_PA1:: 0xEB
    VK_OEM_PA2:: 0xEC
    VK_OEM_PA3:: 0xED
    VK_OEM_PERIOD:: 0xBE
    '.' any country
    VK_OEM_PLUS:: 0xBB
    '+' any country
    VK_OEM_RESET:: 0xE9
    Nokia/Ericsson definitions
    VK_OEM_WSCTRL:: 0xEE
    VK_P:: 'P'
    VK_PA1:: 0xFD
    VK_PACKET:: 0xE7
    VK_PAUSE:: 0x13
    VK_PLAY:: 0xFA
    VK_PRINT:: 0x2A
    VK_PRIOR:: 0x21
    VK_PROCESSKEY:: 0xE5
    VK_Q:: 'Q'
    VK_R:: 'R'
    VK_RBUTTON:: 0x02
    VK_RCONTROL:: 0xA3
    VK_RETURN:: 0x0D
    VK_RIGHT:: 0x27
    VK_RMENU:: 0xA5
    VK_RSHIFT:: 0xA1
    VK_RWIN:: 0x5C
    VK_S:: 'S'
    VK_SCROLL:: 0x91
    VK_SELECT:: 0x29
    VK_SEPARATOR:: 0x6C
    VK_SHIFT:: 0x10
    VK_SLEEP:: 0x5F
    VK_SNAPSHOT:: 0x2C
    VK_SPACE:: 0x20
    VK_SUBTRACT:: 0x6D
    VK_T:: 'T'
    VK_TAB:: 0x09
    VK_U:: 'U'
    VK_UP:: 0x26
    VK_V:: 'V'
    VK_VOLUME_DOWN:: 0xAE
    VK_VOLUME_MUTE:: 0xAD
    VK_VOLUME_UP:: 0xAF
    VK_W:: 'W'
    VK_X:: 'X'
    VK_XBUTTON1:: 0x05
    NOT contiguous with L & RBUTTON
    VK_XBUTTON2:: 0x06
    NOT contiguous with L & RBUTTON
    VK_Y:: 'Y'
    VK_Z:: 'Z'
    VK_ZOOM:: 0xFB
    VOLUME_NAME_DOS: u32 : 0x0
    VS_… 6
    VS_FFI_FILEFLAGSMASK:: 0x0000003F
    VS_FFI_SIGNATURE: u32 : 0xFEEF04BD
    VS_FFI_STRUCVERSION:: 0x00010000
    VS_FILE_INFO: ^u16 : RT_VERSION
    ----- Symbols -----
    VS_USER_DEFINED:: 100
    VS_VERSION_INFO:: 1
    VmOfferPriorityBelowNormal:: OFFER_PRIORITY.VmOfferPriorityBelowNormal
    VmOfferPriorityLow:: OFFER_PRIORITY.VmOfferPriorityLow
    VmOfferPriorityNormal:: OFFER_PRIORITY.VmOfferPriorityNormal
    VmOfferPriorityVeryLow:: OFFER_PRIORITY.VmOfferPriorityVeryLow
    WAIT_… 4
    WAIT_FAILED: u32 : 0xFFFFFFFF
    WAIT_IO_COMPLETION: u32 : 0x000000C0
    WAIT_OBJECT_0: u32 : 0x00000000
    WAIT_TIMEOUT: u32 : 258
    WAVECAPS_… 6
    WAVECAPS_LRVOLUME:: 0x0008
    separate left-right volume control
    WAVECAPS_PITCH:: 0x0001
    supports pitch control
    WAVECAPS_PLAYBACKRATE:: 0x0002
    supports playback rate control
    WAVECAPS_SAMPLEACCURATE:: 0x0020
    WAVECAPS_SYNC:: 0x0010
    WAVECAPS_VOLUME:: 0x0004
    supports volume control
    WAVERR_… 6
    WAVERR_BADFORMAT:: WAVERR_BASE + 0
    waveform audio error return values
    WAVERR_BASE:: 32
    WAVERR_LASTERROR:: WAVERR_BASE + 3
    last error in range
    WAVERR_STILLPLAYING:: WAVERR_BASE + 1
    still something playing
    WAVERR_SYNC:: WAVERR_BASE + 3
    device is synchronous
    WAVERR_UNPREPARED:: WAVERR_BASE + 2
    header not prepared
    WAVE_… 300
    WAVE_ALLOWSYNC:: 0x0002
    WAVE_FORMAT_1M08:: 0x00000001
    11.025 kHz, Mono, 8-bit
    WAVE_FORMAT_1M16:: 0x00000004
    11.025 kHz, Mono, 16-bit
    WAVE_FORMAT_1S08:: 0x00000002
    11.025 kHz, Stereo, 8-bit
    WAVE_FORMAT_1S16:: 0x00000008
    11.025 kHz, Stereo, 16-bit
    WAVE_FORMAT_2M08:: 0x00000010
    22.05 kHz, Mono, 8-bit
    WAVE_FORMAT_2M16:: 0x00000040
    22.05 kHz, Mono, 16-bit
    WAVE_FORMAT_2S08:: 0x00000020
    22.05 kHz, Stereo, 8-bit
    WAVE_FORMAT_2S16:: 0x00000080
    22.05 kHz, Stereo, 16-bit
    WAVE_FORMAT_3COM_NBX:: 0x7000
    3COM Corp.
    WAVE_FORMAT_44M08:: 0x00000100
    44.1 kHz, Mono, 8-bit
    WAVE_FORMAT_44M16:: 0x00000400
    44.1 kHz, Mono, 16-bit
    WAVE_FORMAT_44S08:: 0x00000200
    44.1 kHz, Stereo, 8-bit
    WAVE_FORMAT_44S16:: 0x00000800
    44.1 kHz, Stereo, 16-bit
    WAVE_FORMAT_48M08:: 0x00001000
    48 kHz, Mono, 8-bit
    WAVE_FORMAT_48M16:: 0x00004000
    48 kHz, Mono, 16-bit
    WAVE_FORMAT_48S08:: 0x00002000
    48 kHz, Stereo, 8-bit
    WAVE_FORMAT_48S16:: 0x00008000
    48 kHz, Stereo, 16-bit
    WAVE_FORMAT_4M08:: 0x00000100
    44.1 kHz, Mono, 8-bit
    WAVE_FORMAT_4M16:: 0x00000400
    44.1 kHz, Mono, 16-bit
    WAVE_FORMAT_4S08:: 0x00000200
    44.1 kHz, Stereo, 8-bit
    WAVE_FORMAT_4S16:: 0x00000800
    44.1 kHz, Stereo, 16-bit
    WAVE_FORMAT_96M08:: 0x00010000
    96 kHz, Mono, 8-bit
    WAVE_FORMAT_96M16:: 0x00040000
    96 kHz, Mono, 16-bit
    WAVE_FORMAT_96S08:: 0x00020000
    96 kHz, Stereo, 8-bit
    WAVE_FORMAT_96S16:: 0x00080000
    96 kHz, Stereo, 16-bit
    WAVE_FORMAT_ADPCM:: 0x0002
    Microsoft Corporation
    WAVE_FORMAT_ALAC:: 0x6C61
    Apple Lossless
    WAVE_FORMAT_ALAW:: 0x0006
    Microsoft Corporation
    WAVE_FORMAT_AMR_NB:: 0x7361
    AMR Narrowband
    WAVE_FORMAT_AMR_WB:: 0x7362
    AMR Wideband
    WAVE_FORMAT_AMR_WP:: 0x7363
    AMR Wideband Plus
    WAVE_FORMAT_ANTEX_ADPCME:: 0x0033
    Antex Electronics Corporation
    WAVE_FORMAT_APTX:: 0x0025
    Audio Processing Technology
    WAVE_FORMAT_AUDIOFILE_AF10:: 0x0026
    Virtual Music, Inc.
    WAVE_FORMAT_AUDIOFILE_AF36:: 0x0024
    Virtual Music, Inc.
    WAVE_FORMAT_BTV_DIGITAL:: 0x0400
    Brooktree Corporation
    WAVE_FORMAT_CANOPUS_ATRAC:: 0x0063
    Canopus, co., Ltd.
    WAVE_FORMAT_CIRRUS:: 0x0060
    Cirrus Logic
    WAVE_FORMAT_CODIAN:: 0xA124
    CODIAN
    WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC:: 0xA101
    Comverse Infosys
    WAVE_FORMAT_COMVERSE_INFOSYS_G723_1:: 0xA100
    Comverse Infosys
    WAVE_FORMAT_COMVERSE_INFOSYS_SBC:: 0xA102
    Comverse Infosys
    WAVE_FORMAT_CONGRUENCY:: 0x008D
    Congruency Inc.
    WAVE_FORMAT_CONTROL_RES_CR10:: 0x0037
    Control Resources Limited
    WAVE_FORMAT_CONTROL_RES_VQLPC:: 0x0034
    Control Resources Limited
    WAVE_FORMAT_CONVEDIA_G729:: 0x008C
    Convedia Corp.
    WAVE_FORMAT_CREATIVE_ADPCM:: 0x0200
    Creative Labs, Inc
    WAVE_FORMAT_CREATIVE_FASTSPEECH10:: 0x0203
    Creative Labs, Inc
    WAVE_FORMAT_CREATIVE_FASTSPEECH8:: 0x0202
    Creative Labs, Inc
    WAVE_FORMAT_CS2:: 0x0260
    Consistent Software
    WAVE_FORMAT_CS_IMAADPCM:: 0x0039
    Crystal Semiconductor IMA ADPCM
    WAVE_FORMAT_CUSEEME:: 0x1F03
    CUSeeMe
    WAVE_FORMAT_CU_CODEC:: 0x0019
    Hewlett-Packard Company
    WAVE_FORMAT_DF_G726:: 0x0085
    DataFusion Systems (Pty) (Ltd)
    WAVE_FORMAT_DF_GSM610:: 0x0086
    DataFusion Systems (Pty) (Ltd)
    WAVE_FORMAT_DIALOGIC_OKI_ADPCM:: 0x0017
    Dialogic Corporation
    WAVE_FORMAT_DICTAPHONE_CELP54:: 0x0142
    Dictaphone Corporation
    WAVE_FORMAT_DICTAPHONE_CELP68:: 0x0141
    Dictaphone Corporation
    WAVE_FORMAT_DIGIADPCM:: 0x0036
    DSP Solutions, Inc.
    WAVE_FORMAT_DIGIFIX:: 0x0016
    DSP Solutions, Inc.
    WAVE_FORMAT_DIGIREAL:: 0x0035
    DSP Solutions, Inc.
    WAVE_FORMAT_DIGISTD:: 0x0015
    DSP Solutions, Inc.
    WAVE_FORMAT_DIGITAL_G723:: 0x0123
    Digital Equipment Corporation
    WAVE_FORMAT_DIRECT:: 0x0008
    WAVE_FORMAT_DIRECT_QUERY:: WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT
    WAVE_FORMAT_DIVIO_G726:: 0x4243
    Divio, Inc.
    WAVE_FORMAT_DIVIO_MPEG4_AAC:: 0x4143
    Divio, Inc.
    WAVE_FORMAT_DOLBY_AC2:: 0x0030
    Dolby Laboratories
    WAVE_FORMAT_DOLBY_AC3_SPDIF:: 0x0092
    Sonic Foundry
    WAVE_FORMAT_DOLBY_AC4:: 0xAC40
    Dolby AC-4
    WAVE_FORMAT_DRM:: 0x0009
    Microsoft Corporation
    WAVE_FORMAT_DSAT:: 0x0066
    Microsoft Corporation
    WAVE_FORMAT_DSAT_DISPLAY:: 0x0067
    Microsoft Corporation
    WAVE_FORMAT_DSPGROUP_TRUESPEECH:: 0x0022
    DSP Group, Inc
    WAVE_FORMAT_DTS:: 0x0008
    Microsoft Corporation
    WAVE_FORMAT_DTS2:: 0x2001
    WAVE_FORMAT_DTS_DS:: 0x0190
    Digital Theatre Systems, Inc.
    WAVE_FORMAT_DVI_ADPCM:: 0x0011
    Intel Corporation
    WAVE_FORMAT_DVM:: 0x2000
    FAST Multimedia AG
    WAVE_FORMAT_ECHOSC1:: 0x0023
    Echo Speech Corporation
    WAVE_FORMAT_ECHOSC3:: 0x003A
    Echo Speech Corporation
    WAVE_FORMAT_ENCORE_G726:: 0xA107
    Encore Software
    WAVE_FORMAT_ESPCM:: 0x0061
    ESS Technology
    WAVE_FORMAT_ESST_AC3:: 0x0241
    ESS Technology, Inc.
    WAVE_FORMAT_EXTENSIBLE:: 0xFFFE
    Microsoft
    WAVE_FORMAT_FAAD_AAC:: 0x706D
    WAVE_FORMAT_FLAC:: 0xF1AC
    flac.sourceforge.net
    WAVE_FORMAT_FM_TOWNS_SND:: 0x0300
    Fujitsu Corp.
    WAVE_FORMAT_FRACE_TELECOM_G729:: 0xA123
    France Telecom
    WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC:: 0x0180
    Fraunhofer IIS
    WAVE_FORMAT_G721_ADPCM:: 0x0040
    Antex Electronics Corporation
    WAVE_FORMAT_G722_ADPCM:: 0x0065
    APICOM
    WAVE_FORMAT_G723_ADPCM:: 0x0014
    Antex Electronics Corporation
    WAVE_FORMAT_G726ADPCM:: 0x0140
    Dictaphone Corporation
    WAVE_FORMAT_G726_ADPCM:: 0x0064
    APICOM
    WAVE_FORMAT_G728_CELP:: 0x0041
    Antex Electronics Corporation
    WAVE_FORMAT_G729A:: 0x0083
    AT&T Labs, Inc.
    WAVE_FORMAT_GENERIC_PASSTHRU:: 0x0249
    WAVE_FORMAT_GLOBAL_IP_ILBC:: 0xA116
    Global IP
    WAVE_FORMAT_GSM610:: 0x0031
    Microsoft Corporation
    WAVE_FORMAT_GSM_610:: 0xA10D
    WAVE_FORMAT_GSM_620:: 0xA10E
    WAVE_FORMAT_GSM_660:: 0xA10F
    WAVE_FORMAT_GSM_690:: 0xA110
    WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB:: 0xA111
    WAVE_FORMAT_GSM_AMR_CBR:: 0x7A21
    GSMA/3GPP
    WAVE_FORMAT_GSM_AMR_VBR_SID:: 0x7A22
    GSMA/3GPP
    WAVE_FORMAT_HP_DYN_VOICE:: 0x001A
    Hewlett-Packard Company
    WAVE_FORMAT_IBM_CVSD:: 0x0005
    IBM Corporation
    WAVE_FORMAT_IEEE_FLOAT:: 0x0003
    Microsoft Corporation
    WAVE_FORMAT_IMA_ADPCM:: WAVE_FORMAT_DVI_ADPCM
    Intel Corporation
    WAVE_FORMAT_INDEO_AUDIO:: 0x0402
    Ligos
    WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM:: 0x008B
    Infocom
    WAVE_FORMAT_INGENIENT_G726:: 0xA105
    Ingenient Technologies, Inc.
    WAVE_FORMAT_INNINGS_TELECOM_ADPCM:: 0x1979
    Innings Telecom Inc.
    WAVE_FORMAT_INTEL_G723_1:: 0x0043
    Intel Corp.
    WAVE_FORMAT_INTEL_G729:: 0x0044
    Intel Corp.
    WAVE_FORMAT_INTEL_MUSIC_CODER:: 0x0401
    Intel Corp.
    WAVE_FORMAT_IPI_HSX:: 0x0250
    Interactive Products, Inc.
    WAVE_FORMAT_IPI_RPELP:: 0x0251
    Interactive Products, Inc.
    WAVE_FORMAT_IRAT:: 0x0101
    BeCubed Software Inc.
    WAVE_FORMAT_ISIAUDIO:: 0x0088
    Iterated Systems, Inc.
    WAVE_FORMAT_ISIAUDIO_2:: 0x1401
    ISIAudio
    WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM:: 0x0178
    Knowledge Adventure, Inc.
    WAVE_FORMAT_LEAD_SPEECH:: 0x434C
    LEAD Technologies
    WAVE_FORMAT_LEAD_VORBIS:: 0x564C
    LEAD Technologies
    WAVE_FORMAT_LH_CODEC:: 0x1100
    Lernout & Hauspie
    WAVE_FORMAT_LH_CODEC_CELP:: 0x1101
    Lernout & Hauspie
    WAVE_FORMAT_LH_CODEC_SBC12:: 0x1103
    Lernout & Hauspie
    WAVE_FORMAT_LH_CODEC_SBC16:: 0x1104
    Lernout & Hauspie
    WAVE_FORMAT_LH_CODEC_SBC8:: 0x1102
    Lernout & Hauspie
    WAVE_FORMAT_LIGHTWAVE_LOSSLESS:: 0x08AE
    Clearjump
    WAVE_FORMAT_LRC:: 0x0028
    Merging Technologies S.A.
    WAVE_FORMAT_LUCENT_G723:: 0x0059
    Lucent Technologies
    WAVE_FORMAT_LUCENT_SX5363S:: 0x1C0C
    Lucent Technologies
    WAVE_FORMAT_LUCENT_SX8300P:: 0x1C07
    Lucent Technologies
    WAVE_FORMAT_MAKEAVIS:: 0x3313
    WAVE_FORMAT_MALDEN_PHONYTALK:: 0x00A0
    Malden Electronics Ltd.
    WAVE_FORMAT_MEDIASONIC_G723:: 0x0093
    MediaSonic
    WAVE_FORMAT_MEDIASPACE_ADPCM:: 0x0012
    Videologic
    WAVE_FORMAT_MEDIAVISION_ADPCM:: 0x0018
    Media Vision, Inc.
    WAVE_FORMAT_MICRONAS:: 0x0350
    Micronas Semiconductors, Inc.
    WAVE_FORMAT_MICRONAS_CELP833:: 0x0351
    Micronas Semiconductors, Inc.
    WAVE_FORMAT_MPEG:: 0x0050
    Microsoft Corporation
    WAVE_FORMAT_MPEG4_AAC:: 0xA106
    ISO/MPEG-4
    WAVE_FORMAT_MPEGLAYER3:: 0x0055
    ISO/MPEG Layer3 Format Tag
    WAVE_FORMAT_MPEG_ADTS_AAC:: 0x1600
    Microsoft Corporation
    WAVE_FORMAT_MPEG_HEAAC:: 0x1610
    Microsoft Corporation (MPEG-2 AAC or MPEG-4 HE-AAC v1/v2 streams with any payload (ADTS, ADIF, LOAS/LATM, RAW).

    Microsoft Corporation (MPEG-2 AAC or MPEG-4 HE-AAC v1/v2 streams with any payload (ADTS, ADIF, LOAS/LATM, RAW). Format block includes MP4 AudioSpecificConfig() -- see HEAACWAVEFORMAT below

    WAVE_FORMAT_MPEG_LOAS:: 0x1602
    Microsoft Corporation (MPEG-4 Audio Transport Streams (LOAS/LATM)
    WAVE_FORMAT_MPEG_RAW_AAC:: 0x1601
    Microsoft Corporation
    WAVE_FORMAT_MSAUDIO1:: 0x0160
    Microsoft Corporation
    WAVE_FORMAT_MSG723:: 0x0042
    Microsoft Corporation
    WAVE_FORMAT_MSNAUDIO:: 0x0032
    Microsoft Corporation
    WAVE_FORMAT_MSRT24:: 0x0082
    Microsoft Corporation
    WAVE_FORMAT_MULAW:: 0x0007
    Microsoft Corporation
    WAVE_FORMAT_MULTITUDE_FT_SX20:: 0x008A
    Multitude Inc.
    WAVE_FORMAT_MVI_MVI2:: 0x0084
    Motion Pixels
    WAVE_FORMAT_NEC_AAC:: 0x00B0
    NEC Corp.
    WAVE_FORMAT_NICE_ACA:: 0xA118
    Nice Systems
    WAVE_FORMAT_NICE_ADPCM:: 0xA119
    Nice Systems
    WAVE_FORMAT_NICE_G728:: 0xA122
    Nice Systems
    WAVE_FORMAT_NMS_VBXADPCM:: 0x0038
    Natural MicroSystems
    WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE:: 0x4201
    Nokia
    WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC:: 0x1608
    Microsoft Corporation
    WAVE_FORMAT_NOKIA_MPEG_RAW_AAC:: 0x1609
    Microsoft Corporation
    WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM:: 0x0285
    Norcom Electronics Corp.
    WAVE_FORMAT_NORRIS:: 0x1400
    Norris Communications, Inc.
    WAVE_FORMAT_NTCSOFT_ALF2CM_ACM:: 0x1FC4
    NTCSoft
    WAVE_FORMAT_OGG_VORBIS_MODE_1:: 0x674F
    Ogg Vorbis
    WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS:: 0x676F
    Ogg Vorbis
    WAVE_FORMAT_OGG_VORBIS_MODE_2:: 0x6750
    Ogg Vorbis
    WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS:: 0x6770
    Ogg Vorbis
    WAVE_FORMAT_OGG_VORBIS_MODE_3:: 0x6751
    Ogg Vorbis
    WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS:: 0x6771
    Ogg Vorbis
    WAVE_FORMAT_OKI_ADPCM:: 0x0010
    OKI
    WAVE_FORMAT_OLIADPCM:: 0x1001
    Ing C.

    Ing C. Olivetti & C., S.p.A.

    WAVE_FORMAT_OLICELP:: 0x1002
    Ing C.

    Ing C. Olivetti & C., S.p.A.

    WAVE_FORMAT_OLIGSM:: 0x1000
    Ing C.

    Ing C. Olivetti & C., S.p.A.

    WAVE_FORMAT_OLIOPR:: 0x1004
    Ing C.

    Ing C. Olivetti & C., S.p.A.

    WAVE_FORMAT_OLISBC:: 0x1003
    Ing C.

    Ing C. Olivetti & C., S.p.A.

    WAVE_FORMAT_ON2_VP6_AUDIO:: 0x0501
    On2 Technologies
    WAVE_FORMAT_ON2_VP7_AUDIO:: 0x0500
    On2 Technologies
    WAVE_FORMAT_ONLIVE:: 0x0089
    OnLive! Technologies, Inc.
    WAVE_FORMAT_OPUS:: 0x704F
    Opus
    WAVE_FORMAT_PAC:: 0x0053
    InSoft, Inc.
    WAVE_FORMAT_PACKED:: 0x0099
    Studer Professional Audio AG
    WAVE_FORMAT_PCM:: 1
    flags for wFormatTag field of WAVEFORMAT
    WAVE_FORMAT_PHILIPS_CELP:: 0x0120
    Philips Speech Processing
    WAVE_FORMAT_PHILIPS_GRUNDIG:: 0x0121
    Philips Speech Processing
    WAVE_FORMAT_PHILIPS_LPCBB:: 0x0098
    Philips Speech Processing
    WAVE_FORMAT_POLYCOM_G722:: 0xA112
    Polycom
    WAVE_FORMAT_POLYCOM_G728:: 0xA113
    Polycom
    WAVE_FORMAT_POLYCOM_G729_A:: 0xA114
    Polycom
    WAVE_FORMAT_POLYCOM_SIREN:: 0xA115
    Polycom
    WAVE_FORMAT_PROSODY_1612:: 0x0027
    Aculab plc
    WAVE_FORMAT_PROSODY_8KBPS:: 0x0094
    Aculab plc
    WAVE_FORMAT_QDESIGN_MUSIC:: 0x0450
    QDesign Corporation
    WAVE_FORMAT_QUALCOMM_HALFRATE:: 0x0151
    Qualcomm, Inc.
    WAVE_FORMAT_QUALCOMM_PUREVOICE:: 0x0150
    Qualcomm, Inc.
    WAVE_FORMAT_QUARTERDECK:: 0x0220
    Quarterdeck Corporation
    WAVE_FORMAT_QUERY:: 0x0001
    WAVE_FORMAT_RACAL_RECORDER_G720_A:: 0x00A2
    Racal recorders
    WAVE_FORMAT_RACAL_RECORDER_G723_1:: 0x00A3
    Racal recorders
    WAVE_FORMAT_RACAL_RECORDER_GSM:: 0x00A1
    Racal recorders
    WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP:: 0x00A4
    Racal recorders
    WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO:: 0xA117
    RadioTime
    WAVE_FORMAT_RAW_AAC1:: 0x00FF
    For Raw AAC, with format block AudioSpecificConfig() (as defined by MPEG-4), that follows WAVEFORMATEX
    WAVE_FORMAT_RAW_SPORT:: 0x0240
    Aureal Semiconductor
    WAVE_FORMAT_RHETOREX_ADPCM:: 0x0100
    Rhetorex Inc.
    WAVE_FORMAT_ROCKWELL_ADPCM:: 0x003B
    Rockwell International
    WAVE_FORMAT_ROCKWELL_DIGITALK:: 0x003C
    Rockwell International
    WAVE_FORMAT_RT24:: 0x0052
    InSoft, Inc.
    WAVE_FORMAT_SANYO_LD_ADPCM:: 0x0125
    Sanyo Electric Co., Ltd.
    WAVE_FORMAT_SBC24:: 0x0091
    Siemens Business Communications Sys
    WAVE_FORMAT_SHARP_G726:: 0x0045
    Sharp
    WAVE_FORMAT_SIERRA_ADPCM:: 0x0013
    Sierra Semiconductor Corp
    WAVE_FORMAT_SIPROLAB_ACELP4800:: 0x0131
    Sipro Lab Telecom Inc.
    WAVE_FORMAT_SIPROLAB_ACELP8V3:: 0x0132
    Sipro Lab Telecom Inc.
    WAVE_FORMAT_SIPROLAB_ACEPLNET:: 0x0130
    Sipro Lab Telecom Inc.
    WAVE_FORMAT_SIPROLAB_G729:: 0x0133
    Sipro Lab Telecom Inc.
    WAVE_FORMAT_SIPROLAB_G729A:: 0x0134
    Sipro Lab Telecom Inc.
    WAVE_FORMAT_SIPROLAB_KELVIN:: 0x0135
    Sipro Lab Telecom Inc.
    WAVE_FORMAT_SOFTSOUND:: 0x0080
    Softsound, Ltd.
    WAVE_FORMAT_SONARC:: 0x0021
    Speech Compression
    WAVE_FORMAT_SONICFOUNDRY_LOSSLESS:: 0x1971
    Sonic Foundry
    WAVE_FORMAT_SONY_ATRAC3:: 0x0272
    Sony Corp.
    WAVE_FORMAT_SONY_SCX:: 0x0270
    Sony Corp.
    WAVE_FORMAT_SONY_SCY:: 0x0271
    Sony Corp.
    WAVE_FORMAT_SONY_SPC:: 0x0273
    Sony Corp.
    WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS:: 0x1500
    AT&T Labs, Inc.
    WAVE_FORMAT_SPEEX_VOICE:: 0xA109
    xiph.org
    WAVE_FORMAT_SYCOM_ACM_SYC008:: 0x0174
    SyCom Technologies
    WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54:: 0x0176
    SyCom Technologies
    WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68:: 0x0177
    SyCom Technologies
    WAVE_FORMAT_SYCOM_ACM_SYC701_G726L:: 0x0175
    SyCom Technologies
    WAVE_FORMAT_SYMBOL_G729_A:: 0xA103
    Symbol Technologies
    WAVE_FORMAT_TELUM_AUDIO:: 0x0280
    Telum Inc.
    WAVE_FORMAT_TELUM_IA_AUDIO:: 0x0281
    Telum Inc.
    WAVE_FORMAT_TPC:: 0x0681
    AT&T Labs, Inc.
    WAVE_FORMAT_TUBGSM:: 0x0155
    Ring Zero Systems, Inc.
    WAVE_FORMAT_UHER_ADPCM:: 0x0210
    UHER informatic GmbH
    WAVE_FORMAT_ULEAD_DV_AUDIO:: 0x0215
    Ulead Systems, Inc.
    WAVE_FORMAT_ULEAD_DV_AUDIO_1:: 0x0216
    Ulead Systems, Inc.
    WAVE_FORMAT_UNISYS_NAP_16K:: 0x0173
    Unisys Corp.
    WAVE_FORMAT_UNISYS_NAP_ADPCM:: 0x0170
    Unisys Corp.
    WAVE_FORMAT_UNISYS_NAP_ALAW:: 0x0172
    Unisys Corp.
    WAVE_FORMAT_UNISYS_NAP_ULAW:: 0x0171
    Unisys Corp.
    WAVE_FORMAT_UNKNOWN:: 0x0000
    Microsoft Corporation
    WAVE_FORMAT_VIANIX_MASC:: 0xA10A
    Vianix LLC
    WAVE_FORMAT_VIVO_G723:: 0x0111
    Vivo Software
    WAVE_FORMAT_VIVO_SIREN:: 0x0112
    Vivo Software
    WAVE_FORMAT_VME_VMPCM:: 0x0680
    AT&T Labs, Inc.
    WAVE_FORMAT_VOCORD_G721:: 0xA11A
    Vocord Telecom
    WAVE_FORMAT_VOCORD_G722_1:: 0xA11C
    Vocord Telecom
    WAVE_FORMAT_VOCORD_G723_1:: 0xA120
    Vocord Telecom
    WAVE_FORMAT_VOCORD_G726:: 0xA11B
    Vocord Telecom
    WAVE_FORMAT_VOCORD_G728:: 0xA11D
    Vocord Telecom
    WAVE_FORMAT_VOCORD_G729:: 0xA11E
    Vocord Telecom
    WAVE_FORMAT_VOCORD_G729_A:: 0xA11F
    Vocord Telecom
    WAVE_FORMAT_VOCORD_LBC:: 0xA121
    Vocord Telecom
    WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC:: 0x160A
    Microsoft Corporation
    WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC:: 0x160B
    Microsoft Corporation
    WAVE_FORMAT_VOICEAGE_AMR:: 0x0136
    VoiceAge Corp.
    WAVE_FORMAT_VOICEAGE_AMR_WB:: 0xA104
    VoiceAge Corp.
    WAVE_FORMAT_VOXWARE:: 0x0062
    Voxware Inc
    WAVE_FORMAT_VOXWARE_AC10:: 0x0071
    Voxware Inc
    WAVE_FORMAT_VOXWARE_AC16:: 0x0072
    Voxware Inc
    WAVE_FORMAT_VOXWARE_AC20:: 0x0073
    Voxware Inc
    WAVE_FORMAT_VOXWARE_AC8:: 0x0070
    Voxware Inc
    WAVE_FORMAT_VOXWARE_BYTE_ALIGNED:: 0x0069
    Voxware Inc
    WAVE_FORMAT_VOXWARE_RT24:: 0x0074
    Voxware Inc
    WAVE_FORMAT_VOXWARE_RT24_SPEECH:: 0x181C
    Voxware Inc.
    WAVE_FORMAT_VOXWARE_RT29:: 0x0075
    Voxware Inc
    WAVE_FORMAT_VOXWARE_RT29HW:: 0x0076
    Voxware Inc
    WAVE_FORMAT_VOXWARE_SC3:: 0x007A
    Voxware Inc
    WAVE_FORMAT_VOXWARE_SC3_1:: 0x007B
    Voxware Inc
    WAVE_FORMAT_VOXWARE_TQ40:: 0x0079
    Voxware Inc
    WAVE_FORMAT_VOXWARE_TQ60:: 0x0081
    Voxware Inc
    WAVE_FORMAT_VOXWARE_VR12:: 0x0077
    Voxware Inc
    WAVE_FORMAT_VOXWARE_VR18:: 0x0078
    Voxware Inc
    WAVE_FORMAT_VSELP:: 0x0004
    Compaq Computer Corp.
    WAVE_FORMAT_WAVPACK_AUDIO:: 0x5756
    xiph.org
    WAVE_FORMAT_WM9_SPECTRUM_ANALYZER:: 0xA10B
    Microsoft
    WAVE_FORMAT_WMASPDIF:: 0x0164
    Microsoft Corporation
    WAVE_FORMAT_WMAUDIO2:: 0x0161
    Microsoft Corporation
    WAVE_FORMAT_WMAUDIO3:: 0x0162
    Microsoft Corporation
    WAVE_FORMAT_WMAUDIO_LOSSLESS:: 0x0163
    Microsoft Corporation
    WAVE_FORMAT_WMAVOICE10:: 0x000B
    Microsoft Corporation
    WAVE_FORMAT_WMAVOICE9:: 0x000A
    Microsoft Corporation
    WAVE_FORMAT_WMF_SPECTRUM_ANAYZER:: 0xA10C
    Microsoft
    WAVE_FORMAT_XEBEC:: 0x003D
    Xebec Multimedia Solutions Limited
    WAVE_FORMAT_YAMAHA_ADPCM:: 0x0020
    Yamaha Corporation of America
    WAVE_FORMAT_ZOLL_ASAO:: 0xA108
    ZOLL Medical Corp.
    WAVE_FORMAT_ZYXEL_ADPCM:: 0x0097
    ZyXEL Communications, Inc.
    WAVE_INVALIDFORMAT:: 0x00000000
    invalid format
    WAVE_MAPPED:: 0x0004
    WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE:: 0x0010
    WAVE_MAPPER: u32 : 0xFFFFFFFF
    -1
    WA_… 3
    WA_ACTIVE:: 1
    WA_CLICKACTIVE:: 2
    WA_INACTIVE:: 0
    WM_ACTIVATE state values
    WC_… 16
    WC_BUTTON:: "Button"
    WC_COMBOBOX:: "ComboBox"
    WC_COMBOBOXEX:: "ComboBoxEx32"
    WC_EDIT:: "Edit"
    WC_ERR_INVALID_CHARS:: 128
    WC_HEADER:: "SysHeader32"
    Common Control Class Names
    WC_IPADDRESS:: "SysIPAddress32"
    WC_LISTBOX:: "ListBox"
    WC_LISTVIEW:: "SysListView32"
    WC_NATIVEFONTCTL:: "NativeFontCtl"
    WC_PAGESCROLLER:: "SysPager"
    WC_SCROLLBAR:: "ScrollBar"
    WC_STATIC:: "Static"
    WC_TABCONTROL:: "SysTabControl32"
    WC_TREEVIEW:: "SysTreeView32"
    WGL_… 82
    WGL_ACCELERATION_ARB:: 0x2003
    WGL_ACCUM_ALPHA_BITS_ARB:: 0x2021
    WGL_ACCUM_BITS_ARB:: 0x201D
    WGL_ACCUM_BLUE_BITS_ARB:: 0x2020
    WGL_ACCUM_GREEN_BITS_ARB:: 0x201F
    WGL_ACCUM_RED_BITS_ARB:: 0x201E
    WGL_ALPHA_BITS_ARB:: 0x201B
    WGL_ALPHA_SHIFT_ARB:: 0x201C
    WGL_AUX_BUFFERS_ARB:: 0x2024
    WGL_BACK_COLOR_BUFFER_BIT_ARB:: 0x00000002
    WGL_BLUE_BITS_ARB:: 0x2019
    WGL_BLUE_SHIFT_ARB:: 0x201A
    WGL_COLOR_BITS_ARB:: 0x2014
    WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB:: 0x0002
    WGL_CONTEXT_CORE_PROFILE_BIT_ARB:: 0x0001
    WGL_CONTEXT_DEBUG_BIT_ARB:: 0x0001
    WGL_ARB_create_context
    WGL_CONTEXT_FLAGS_ARB:: 0x2094
    WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB:: 0x0002
    WGL_CONTEXT_LAYER_PLANE_ARB:: 0x2093
    WGL_CONTEXT_MAJOR_VERSION_ARB:: 0x2091
    WGL_CONTEXT_MINOR_VERSION_ARB:: 0x2092
    WGL_CONTEXT_OPENGL_NO_ERROR_ARB:: 0x31B3
    WGL_ARB_create_context_no_error
    WGL_CONTEXT_PROFILE_MASK_ARB:: 0x9126
    WGL_ARB_create_context_profile
    WGL_CONTEXT_RELEASE_BEHAVIOR_ARB:: 0x2097
    WGL_ARB_context_flush_control
    WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB:: 0x2098
    WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB:: 0
    WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB:: 0x8256
    WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB:: 0x00000004
    WGL_ARB_create_context_robustness
    WGL_DEPTH_BITS_ARB:: 0x2022
    WGL_DEPTH_BUFFER_BIT_ARB:: 0x00000004
    WGL_DOUBLE_BUFFER_ARB:: 0x2011
    WGL_DRAW_TO_BITMAP_ARB:: 0x2002
    WGL_DRAW_TO_PBUFFER_ARB:: 0x202D
    WGL_DRAW_TO_WINDOW_ARB:: 0x2001
    WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB:: 0x20A9
    WGL_ARB_framebuffer_sRGB
    WGL_FRONT_COLOR_BUFFER_BIT_ARB:: 0x00000001
    WGL_ARB_buffer_region
    WGL_FULL_ACCELERATION_ARB:: 0x2027
    WGL_GENERIC_ACCELERATION_ARB:: 0x2026
    WGL_GREEN_BITS_ARB:: 0x2017
    WGL_GREEN_SHIFT_ARB:: 0x2018
    WGL_LOSE_CONTEXT_ON_RESET_ARB:: 0x8252
    WGL_MAX_PBUFFER_HEIGHT_ARB:: 0x2030
    WGL_MAX_PBUFFER_PIXELS_ARB:: 0x202E
    WGL_MAX_PBUFFER_WIDTH_ARB:: 0x202F
    WGL_NEED_PALETTE_ARB:: 0x2004
    WGL_NEED_SYSTEM_PALETTE_ARB:: 0x2005
    WGL_NO_ACCELERATION_ARB:: 0x2025
    WGL_NO_RESET_NOTIFICATION_ARB:: 0x8261
    WGL_NUMBER_OVERLAYS_ARB:: 0x2008
    WGL_NUMBER_PIXEL_FORMATS_ARB:: 0x2000
    WGL_ARB_pixel_format
    WGL_NUMBER_UNDERLAYS_ARB:: 0x2009
    WGL_PBUFFER_HEIGHT_ARB:: 0x2035
    WGL_PBUFFER_LARGEST_ARB:: 0x2033
    WGL_PBUFFER_LOST_ARB:: 0x2036
    WGL_PBUFFER_WIDTH_ARB:: 0x2034
    WGL_PIXEL_TYPE_ARB:: 0x2013
    WGL_RED_BITS_ARB:: 0x2015
    WGL_RED_SHIFT_ARB:: 0x2016
    WGL_SAMPLES_ARB:: 0x2042
    WGL_SAMPLE_BUFFERS_ARB:: 0x2041
    WGL_ARB_multisample
    WGL_SHARE_ACCUM_ARB:: 0x200E
    WGL_SHARE_DEPTH_ARB:: 0x200C
    WGL_SHARE_STENCIL_ARB:: 0x200D
    WGL_STENCIL_BITS_ARB:: 0x2023
    WGL_STENCIL_BUFFER_BIT_ARB:: 0x00000008
    WGL_STEREO_ARB:: 0x2012
    WGL_SUPPORT_GDI_ARB:: 0x200F
    WGL_SUPPORT_OPENGL_ARB:: 0x2010
    WGL_SWAP_COPY_ARB:: 0x2029
    WGL_SWAP_EXCHANGE_ARB:: 0x2028
    WGL_SWAP_LAYER_BUFFERS_ARB:: 0x2006
    WGL_SWAP_METHOD_ARB:: 0x2007
    WGL_SWAP_UNDEFINED_ARB:: 0x202A
    WGL_TRANSPARENT_ALPHA_VALUE_ARB:: 0x203A
    WGL_TRANSPARENT_ARB:: 0x200A
    WGL_TRANSPARENT_BLUE_VALUE_ARB:: 0x2039
    WGL_TRANSPARENT_GREEN_VALUE_ARB:: 0x2038
    WGL_TRANSPARENT_INDEX_VALUE_ARB:: 0x203B
    WGL_TRANSPARENT_RED_VALUE_ARB:: 0x2037
    WGL_TYPE_COLORINDEX_ARB:: 0x202C
    WGL_TYPE_RGBA_ARB:: 0x202B
    WGL_TYPE_RGBA_FLOAT_ARB:: 0x21A0
    WGL_ARB_pixel_format_float
    WHDR_… 5
    WHDR_BEGINLOOP:: 0x00000004
    loop start block
    WHDR_DONE:: 0x00000001
    done bit
    WHDR_ENDLOOP:: 0x00000008
    loop end block
    WHDR_INQUEUE:: 0x00000010
    reserved for driver
    WHDR_PREPARED:: 0x00000002
    set if this header has been prepared
    WHEEL_DELTA:: 120
    Value for rolling one detent
    WHEEL_PAGESCROLL: u32 : max(UINT)
    Setting to scroll one page for SPI_GET/SETWHEELSCROLLLINES
    WHITENESS: u32 : 0x00FF0062
    dest = WHITE
    WHITEONBLACK:: 2
    WHITE_BRUSH:: 0
    Stock Logical Objects
    WHITE_PEN:: 6
    WH_… 20
    WH_CALLWNDPROC:: 4
    WH_CALLWNDPROCRET:: 12
    WH_CBT:: 5
    WH_DEBUG:: 9
    WH_FOREGROUNDIDLE:: 11
    WH_GETMESSAGE:: 3
    WH_HARDWARE:: 8
    WH_JOURNALPLAYBACK:: 1
    WH_JOURNALRECORD:: 0
    WH_KEYBOARD:: 2
    WH_KEYBOARD_LL:: 13
    WH_MAX:: 14
    WH_MAXHOOK:: WH_MAX
    WH_MIN:: -1
    SetWindowsHook() codes
    WH_MINHOOK:: WH_MIN
    WH_MOUSE:: 7
    WH_MOUSE_LL:: 14
    WH_MSGFILTER:: -1
    WH_SHELL:: 10
    WH_SYSMSGFILTER:: 6
    WIM_… 3
    WIM_CLOSE:: MM_WIM_CLOSE
    WIM_DATA:: MM_WIM_DATA
    WIM_OPEN:: MM_WIM_OPEN
    WINDING:: 2
    WIZ_… 3
    WIZ_NEXT:: 0x040b
    WIZ_PREV:: 0x040c
    WIZ_QUERYNUMPAGES:: 0x040a
    WLX_WM_SAS:: 0x0659
    WMN_FIRST: u32 : ~DWORD(1000 - 1)
    WMN_LAST: u32 : ~DWORD(1200 - 1)
    WMSZ_… 8
    WMSZ_BOTTOM:: 6
    WMSZ_BOTTOMLEFT:: 7
    WMSZ_BOTTOMRIGHT:: 8
    WMSZ_LEFT:: 1
    WMSZ_RIGHT:: 2
    WMSZ_TOP:: 3
    WMSZ_TOPLEFT:: 4
    WMSZ_TOPRIGHT:: 5
    WM_… 301
    WM_ACTIVATE:: 0x0006
    WM_ACTIVATEAPP:: 0x001c
    WM_AFXFIRST:: 0x0360
    WM_AFXLAST:: 0x037f
    WM_APP:: 0x8000
    WM_APPCOMMAND:: 0x0319
    WM_ASKCBFORMATNAME:: 0x030c
    WM_CANCELJOURNAL:: 0x004b
    WM_CANCELMODE:: 0x001f
    WM_CAPTURECHANGED:: 0x0215
    WM_CAP_DRIVER_GET_NAMEW:: 0x0470
    WM_CAP_DRIVER_GET_VERSIONW:: 0x0471
    WM_CAP_FILE_GET_CAPTURE_FILEW:: 0x0479
    WM_CAP_FILE_SAVEASW:: 0x047b
    WM_CAP_FILE_SAVEDIBW:: 0x047d
    WM_CAP_FILE_SET_CAPTURE_FILEW:: 0x0478
    WM_CAP_GET_MCI_DEVICEW:: 0x04a7
    WM_CAP_PAL_OPENW:: 0x04b4
    WM_CAP_PAL_SAVEW:: 0x04b5
    WM_CAP_SET_CALLBACK_ERRORW:: 0x0466
    WM_CAP_SET_CALLBACK_STATUSW:: 0x0467
    WM_CAP_SET_MCI_DEVICEW:: 0x04a6
    WM_CAP_UNICODE_START:: 0x0464
    WM_CHANGECBCHAIN:: 0x030d
    WM_CHANGEUISTATE:: 0x0127
    WM_CHAR:: 0x0102
    WM_CHARTOITEM:: 0x002f
    WM_CHILDACTIVATE:: 0x0022
    WM_CHOOSEFONT_GETLOGFONT:: 0x0401
    WM_CHOOSEFONT_SETFLAGS:: 0x0466
    WM_CHOOSEFONT_SETLOGFONT:: 0x0465
    WM_CLEAR:: 0x0303
    WM_CLIPBOARDUPDATE:: 0x031D
    WM_CLOSE:: 0x0010
    WM_COMMAND:: 0x0111
    WM_COMMNOTIFY:: 0x0044
    WM_COMPACTING:: 0x0041
    WM_COMPAREITEM:: 0x0039
    WM_CONTEXTMENU:: 0x007b
    WM_CONVERTREQUEST:: 0x010a
    WM_CONVERTRESULT:: 0x010b
    WM_COPY:: 0x0301
    WM_COPYDATA:: 0x004a
    WM_COPYGLOBALDATA:: 0x0049
    WM_CPL_LAUNCH:: 0x07e8
    WM_CPL_LAUNCHED:: 0x07e9
    WM_CREATE:: 0x0001
    WM_CTLCOLOR:: 0x0019
    WM_CTLCOLORBTN:: 0x0135
    WM_CTLCOLORDLG:: 0x0136
    WM_CTLCOLOREDIT:: 0x0133
    WM_CTLCOLORLISTBOX:: 0x0134
    WM_CTLCOLORMSGBOX:: 0x0132
    WM_CTLCOLORSCROLLBAR:: 0x0137
    WM_CTLCOLORSTATIC:: 0x0138
    WM_CTLINIT:: 0x0387
    WM_CUT:: 0x0300
    WM_DEADCHAR:: 0x0103
    WM_DELETEITEM:: 0x002d
    WM_DESTROY:: 0x0002
    WM_DESTROYCLIPBOARD:: 0x0307
    WM_DEVICECHANGE:: 0x0219
    WM_DEVMODECHANGE:: 0x001b
    WM_DISPLAYCHANGE:: 0x007e
    WM_DPICHANGED:: 0x02e0
    WM_DPICHANGED_AFTERPARENT:: 0x02e3
    WM_DPICHANGED_BEFOREPARENT:: 0x02e2
    WM_DRAWCLIPBOARD:: 0x0308
    WM_DRAWITEM:: 0x002b
    WM_DROPFILES:: 0x0233
    WM_DWMCOLORIZATIONCOLORCHANGED:: 0x0320
    WM_DWMCOMPOSITIONCHANGED:: 0x031E
    WM_DWMNCRENDERINGCHANGED:: 0x031F
    WM_DWMSENDICONICLIVEPREVIEWBITMAP:: 0x0326
    WM_DWMSENDICONICTHUMBNAIL:: 0x0323
    WM_DWMWINDOWMAXIMIZEDCHANGE:: 0x0321
    WM_ENABLE:: 0x000a
    WM_ENDSESSION:: 0x0016
    WM_ENTERIDLE:: 0x0121
    WM_ENTERMENULOOP:: 0x0211
    WM_ENTERSIZEMOVE:: 0x0231
    WM_ERASEBKGND:: 0x0014
    WM_EXITMENULOOP:: 0x0212
    WM_EXITSIZEMOVE:: 0x0232
    WM_FONTCHANGE:: 0x001d
    WM_GETDLGCODE:: 0x0087
    WM_GETDPISCALEDSIZE:: 0x02e4
    WM_GETFONT:: 0x0031
    WM_GETHOTKEY:: 0x0033
    WM_GETICON:: 0x007f
    WM_GETMINMAXINFO:: 0x0024
    WM_GETOBJECT:: 0x003d
    WM_GETTEXT:: 0x000d
    WM_GETTEXTLENGTH:: 0x000e
    WM_GETTITLEBARINFOEX:: 0x033F
    WM_GLOBALRCCHANGE:: 0x0383
    WM_HANDHELDFIRST:: 0x0358
    WM_HANDHELDLAST:: 0x035f
    WM_HEDITCTL:: 0x0385
    WM_HELP:: 0x0053
    WM_HOOKRCRESULT:: 0x0382
    WM_HOTKEY:: 0x0312
    WM_HSCROLL:: 0x0114
    WM_HSCROLLCLIPBOARD:: 0x030e
    WM_ICONERASEBKGND:: 0x0027
    WM_IMEKEYDOWN:: 0x0290
    WM_IMEKEYUP:: 0x0291
    WM_IME_CHAR:: 0x0286
    WM_IME_COMPOSITION:: 0x010f
    WM_IME_COMPOSITIONFULL:: 0x0284
    WM_IME_CONTROL:: 0x0283
    WM_IME_ENDCOMPOSITION:: 0x010e
    WM_IME_KEYDOWN:: 0x0290
    WM_IME_KEYLAST:: 0x010f
    WM_IME_KEYUP:: 0x0291
    WM_IME_NOTIFY:: 0x0282
    WM_IME_REPORT:: 0x0280
    WM_IME_REQUEST:: 0x0288
    WM_IME_SELECT:: 0x0285
    WM_IME_SETCONTEXT:: 0x0281
    WM_IME_STARTCOMPOSITION:: 0x010d
    WM_INITDIALOG:: 0x0110
    WM_INITMENU:: 0x0116
    WM_INITMENUPOPUP:: 0x0117
    WM_INPUT:: 0x00ff
    WM_INPUTLANGCHANGE:: 0x0051
    WM_INPUTLANGCHANGEREQUEST:: 0x0050
    WM_INPUT_DEVICE_CHANGE:: 0x00fe
    WM_INTERIM:: 0x010c
    WM_KEYDOWN:: 0x0100
    WM_KEYFIRST:: 0x0100
    WM_KEYLAST:: 0x0109
    WM_KEYUP:: 0x0101
    WM_KILLFOCUS:: 0x0008
    WM_LBTRACKPOINT:: 0x0131
    WM_LBUTTONDBLCLK:: 0x0203
    WM_LBUTTONDOWN:: 0x0201
    WM_LBUTTONUP:: 0x0202
    WM_MBUTTONDBLCLK:: 0x0209
    WM_MBUTTONDOWN:: 0x0207
    WM_MBUTTONUP:: 0x0208
    WM_MDIACTIVATE:: 0x0222
    WM_MDICASCADE:: 0x0227
    WM_MDICREATE:: 0x0220
    WM_MDIDESTROY:: 0x0221
    WM_MDIGETACTIVE:: 0x0229
    WM_MDIICONARRANGE:: 0x0228
    WM_MDIMAXIMIZE:: 0x0225
    WM_MDINEXT:: 0x0224
    WM_MDIREFRESHMENU:: 0x0234
    WM_MDIRESTORE:: 0x0223
    WM_MDISETMENU:: 0x0230
    WM_MDITILE:: 0x0226
    WM_MEASUREITEM:: 0x002c
    WM_MENUCHAR:: 0x0120
    WM_MENUCOMMAND:: 0x0126
    WM_MENUDRAG:: 0x0123
    WM_MENUGETOBJECT:: 0x0124
    WM_MENURBUTTONUP:: 0x0122
    WM_MENUSELECT:: 0x011f
    WM_MOUSEACTIVATE:: 0x0021
    WM_MOUSEFIRST:: 0x0200
    WM_MOUSEHOVER:: 0x02a1
    WM_MOUSEHWHEEL:: 0x020e
    WM_MOUSELAST:: 0x0209
    WM_MOUSELEAVE:: 0x02a3
    WM_MOUSEMOVE:: 0x0200
    WM_MOUSEWHEEL:: 0x020a
    WM_MOVE:: 0x0003
    WM_MOVING:: 0x0216
    WM_NCACTIVATE:: 0x0086
    WM_NCCALCSIZE:: 0x0083
    WM_NCCREATE:: 0x0081
    WM_NCDESTROY:: 0x0082
    WM_NCHITTEST:: 0x0084
    WM_NCLBUTTONDBLCLK:: 0x00a3
    WM_NCLBUTTONDOWN:: 0x00a1
    WM_NCLBUTTONUP:: 0x00a2
    WM_NCMBUTTONDBLCLK:: 0x00a9
    WM_NCMBUTTONDOWN:: 0x00a7
    WM_NCMBUTTONUP:: 0x00a8
    WM_NCMOUSEHOVER:: 0x02a0
    WM_NCMOUSELEAVE:: 0x02a2
    WM_NCMOUSEMOVE:: 0x00a0
    WM_NCPAINT:: 0x0085
    WM_NCPOINTERDOWN:: 0x0242
    WM_NCPOINTERUP:: 0x0243
    WM_NCPOINTERUPDATE:: 0x0241
    WM_NCRBUTTONDBLCLK:: 0x00a6
    WM_NCRBUTTONDOWN:: 0x00a4
    WM_NCRBUTTONUP:: 0x00a5
    WM_NCXBUTTONDBLCLK:: 0x00ad
    WM_NCXBUTTONDOWN:: 0x00ab
    WM_NCXBUTTONUP:: 0x00ac
    WM_NEXTDLGCTL:: 0x0028
    WM_NEXTMENU:: 0x0213
    WM_NOTIFY:: 0x004e
    WM_NOTIFYFORMAT:: 0x0055
    WM_NULL:: 0x0000
    WM_PAINT:: 0x000f
    WM_PAINTCLIPBOARD:: 0x0309
    WM_PAINTICON:: 0x0026
    WM_PALETTECHANGED:: 0x0311
    WM_PALETTEISCHANGING:: 0x0310
    WM_PARENTNOTIFY:: 0x0210
    WM_PASTE:: 0x0302
    WM_PENCTL:: 0x0385
    WM_PENEVENT:: 0x0388
    WM_PENMISC:: 0x0386
    WM_PENMISCINFO:: 0x0383
    WM_PENWINFIRST:: 0x0380
    WM_PENWINLAST:: 0x038f
    WM_POINTERACTIVATE:: 0x024b
    WM_POINTERCAPTURECHANGED:: 0x024c
    WM_POINTERDEVICECHANGE:: 0x0238
    WM_POINTERDEVICEINRANGE:: 0x0239
    WM_POINTERDEVICEOUTOFRANGE:: 0x023a
    WM_POINTERDOWN:: 0x0246
    WM_POINTERENTER:: 0x0249
    WM_POINTERHWHEEL:: 0x024f
    WM_POINTERLEAVE:: 0x024a
    WM_POINTERROUTEDAWAY:: 0x0252
    WM_POINTERROUTEDRELEASED:: 0x0253
    WM_POINTERROUTEDTO:: 0x0251
    WM_POINTERUP:: 0x0247
    WM_POINTERUPDATE:: 0x0245
    WM_POINTERWHEEL:: 0x024e
    WM_POWER:: 0x0048
    WM_POWERBROADCAST:: 0x0218
    WM_PRINT:: 0x0317
    WM_PRINTCLIENT:: 0x0318
    WM_PSD_ENVSTAMPRECT:: WM_USER + 5
    WM_PSD_FULLPAGERECT:: WM_USER + 1
    WM_PSD_GREEKTEXTRECT:: WM_USER + 4
    WM_PSD_MARGINRECT:: WM_USER + 3
    WM_PSD_MINMARGINRECT:: WM_USER + 2
    WM_PSD_PAGESETUPDLG:: WM_USER
    Window Message IDs for the LPPAGEPAINTHOOK
    WM_PSD_YAFULLPAGERECT:: WM_USER + 6
    WM_QUERYDRAGICON:: 0x0037
    WM_QUERYENDSESSION:: 0x0011
    WM_QUERYNEWPALETTE:: 0x030f
    WM_QUERYOPEN:: 0x0013
    WM_QUERYUISTATE:: 0x0129
    WM_QUEUESYNC:: 0x0023
    WM_QUIT:: 0x0012
    WM_RASDIALEVENT:: 0xcccd
    WM_RBUTTONDBLCLK:: 0x0206
    WM_RBUTTONDOWN:: 0x0204
    WM_RBUTTONUP:: 0x0205
    WM_RCRESULT:: 0x0381
    WM_RENDERALLFORMATS:: 0x0306
    WM_RENDERFORMAT:: 0x0305
    WM_SETCURSOR:: 0x0020
    WM_SETFOCUS:: 0x0007
    WM_SETFONT:: 0x0030
    WM_SETHOTKEY:: 0x0032
    WM_SETICON:: 0x0080
    WM_SETREDRAW:: 0x000b
    WM_SETTEXT:: 0x000c
    WM_SETTINGCHANGE:: WM_WININICHANGE
    WM_SHOWWINDOW:: 0x0018
    WM_SIZE:: 0x0005
    WM_SIZECLIPBOARD:: 0x030b
    WM_SIZING:: 0x0214
    WM_SKB:: 0x0384
    WM_SPOOLERSTATUS:: 0x002a
    WM_STYLECHANGED:: 0x007d
    WM_STYLECHANGING:: 0x007c
    WM_SYNCPAINT:: 0x0088
    WM_SYSCHAR:: 0x0106
    WM_SYSCOLORCHANGE:: 0x0015
    WM_SYSCOMMAND:: 0x0112
    WM_SYSDEADCHAR:: 0x0107
    WM_SYSKEYDOWN:: 0x0104
    WM_SYSKEYUP:: 0x0105
    WM_SYSTIMER:: 0x0118
    WM_TABLET_FIRST:: 0x02c0
    WM_TABLET_LAST:: 0x02df
    WM_TCARD:: 0x0052
    WM_THEMECHANGED:: 0x031A
    WM_TIMECHANGE:: 0x001e
    WM_TIMER:: 0x0113
    WM_TOUCH:: 0x0240
    WM_TOUCHHITTESTING:: 0x024d
    WM_UNDO:: 0x0304
    WM_UNICHAR:: 0x0109
    WM_UNINITMENUPOPUP:: 0x0125
    WM_UPDATEUISTATE:: 0x0128
    WM_USER:: 0x0400
    WM_USERCHANGED:: 0x0054
    WM_VKEYTOITEM:: 0x002e
    WM_VSCROLL:: 0x0115
    WM_VSCROLLCLIPBOARD:: 0x030a
    WM_WINDOWPOSCHANGED:: 0x0047
    WM_WINDOWPOSCHANGING:: 0x0046
    WM_WININICHANGE:: 0x001a
    WM_WNT_CONVERTREQUESTEX:: 0x0109
    WM_WTSSESSION_CHANGE:: 0x02b1
    WM_XBUTTONDBLCLK:: 0x020d
    WM_XBUTTONDOWN:: 0x020b
    WM_XBUTTONUP:: 0x020c
    WOM_… 3
    WOM_CLOSE:: MM_WOM_CLOSE
    WOM_DONE:: MM_WOM_DONE
    WOM_OPEN:: MM_WOM_OPEN
    WOW64_… 11
    WOW64_CONTEXT_ALL:: WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS | WOW64_CONTEXT_FLOATING_POINT | WOW64_CONTEXT_DEBUG_REGISTERS | WOW64_CONTEXT_EXTENDED_REGISTERS
    WOW64_CONTEXT_CONTROL:: WOW64_CONTEXT_i386 | 0x00000001
    WOW64_CONTEXT_DEBUG_REGISTERS:: WOW64_CONTEXT_i386 | 0x00000010
    WOW64_CONTEXT_EXTENDED_REGISTERS:: WOW64_CONTEXT_i386 | 0x00000020
    WOW64_CONTEXT_FLOATING_POINT:: WOW64_CONTEXT_i386 | 0x00000008
    WOW64_CONTEXT_FULL:: WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS
    WOW64_CONTEXT_INTEGER:: WOW64_CONTEXT_i386 | 0x00000002
    WOW64_CONTEXT_SEGMENTS:: WOW64_CONTEXT_i386 | 0x00000004
    WOW64_CONTEXT_i386:: 0x00010000
    WOW64_MAXIMUM_SUPPORTED_EXTENSION:: 512
    WOW64_SIZE_OF_80387_REGISTERS:: 80
    WRITE_DAC: u32 : 0x00040000
    WRITE_OWNER: u32 : 0x00080000
    WSADESCRIPTION_LEN:: 256
    WSAEACCES:: 10013
    If you try to bind a Udp socket to the broadcast address without the socket option set.
    WSAEADDRINUSE:: 10048
    Endpoint being bound is in use by another socket.
    WSAEADDRNOTAVAIL:: 10049
    Not a valid local IP address on this computer.
    WSAEAFNOSUPPORT:: 10047
    Address family not supported
    WSAEALREADY:: 10037
    Already connecting in parallel.
    WSAECONNABORTED:: 10053
    Connection has been aborted by software in the host machine.
    WSAECONNREFUSED:: 10061
    The remote machine is not listening on that endpoint.
    WSAECONNRESET:: 10054
    The connection was reset while trying to accept, read or write.
    WSAEFAULT:: 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:: 10064
    Destination host was down.
    WSAEHOSTUNREACH:: 10065
    The remote machine is not connected to the network.
    WSAEINPROGRESS:: 10036
    WS1.1 call is in progress or callback function is still being processed
    WSAEINTR:: 10004
    Call interrupted.

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

    WSAEINVAL:: 10022
    Invalid argument supplied
    WSAEINVALIDPROCTABLE:: 10104
    Invalid or incomplete procedure table was returned
    WSAEINVALIDPROVIDER:: 10105
    Service provider version is not 2.2
    WSAEISCONN:: 10056
    The socket is already connected.
    WSAEMFILE:: 10024
    SOCKET handles exhausted
    WSAEMSGSIZE:: 10040
    Message was truncated because it exceeded max datagram size.
    WSAENETDOWN:: 10050
    Network subsystem failure on the local machine.
    WSAENETRESET:: 10052
    Keepalive failure detected, or TTL exceeded when receiving UDP packets.
    WSAENETUNREACH:: 10051
    The local machine is not connected to the network.
    WSAENOBUFS:: 10055
    No buffer space is available.

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

    WSAENOPROTOOPT:: 10042
    TODO
    WSAENOTCONN:: 10057
    The socket is not connected yet, or no address was supplied to sendto.
    WSAENOTINITIALISED:: 10093
    Needs WSAStartup call
    WSAENOTSOCK:: 10038
    Not a socket.
    WSAEOPNOTSUPP:: 10045
    Attempt to accept on non-stream socket, etc.
    WSAEPROTONOSUPPORT:: 10043
    Protocol not supported
    WSAEPROTOTYPE:: 10041
    Wrong protocol for the provided socket
    WSAEPROVIDERFAILEDINIT:: 10106
    Service provider failed to initialize
    WSAESHUTDOWN:: 10058
    The socket has been shutdown in the direction required.
    WSAESOCKTNOSUPPORT:: 10044
    Socket type not supported in the given address family
    WSAETIMEDOUT:: 10060
    The timeout duration was reached before any data was received / before all data was sent.
    WSAEWOULDBLOCK:: 10035
    No data is ready yet
    WSAID_… 3
    WSAID_ACCEPTEX:: GUID{0xb5367df1, 0xcbac, 0x11cf, {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}}
    WSAID_CONNECTEX:: GUID{0x25a207b9, 0xddf3, 0x4660, {0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e}}
    WSAID_GETACCEPTEXSOCKADDRS:: GUID{0xb5367df2, 0xcbac, 0x11cf, {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}}
    WSAPROTOCOL_LEN:: 255
    WSASYS_STATUS_LEN:: 128
    WSA_… 13
    WSA_FLAG_ACCESS_SYSTEM_SECURITY:: 32
    WSA_FLAG_MULTIPOINT_C_LEAF:: 4
    WSA_FLAG_MULTIPOINT_C_ROOT:: 2
    WSA_FLAG_MULTIPOINT_D_LEAF:: 16
    WSA_FLAG_MULTIPOINT_D_ROOT:: 8
    WSA_FLAG_NO_HANDLE_INHERIT:: 128
    WSA_FLAG_OVERLAPPED:: 1
    Networking
    WSA_INVALID_HANDLE:: 6
    Networking errors
    WSA_INVALID_PARAMETER:: 87
    One or more parameters are invalid.
    WSA_IO_INCOMPLETE:: 996
    Overlapped I/O event object not in signaled state.
    WSA_IO_PENDING:: 997
    Overlapped operations will complete later.
    WSA_NOT_ENOUGH_MEMORY:: 8
    Insufficient memory available.
    WSA_OPERATION_ABORTED:: 995
    Overlapped operation aborted.
    WS_… 55
    WS_BORDER: u32 : 0x0080_0000
    WS_CAPTION: u32 : 0x00C0_0000
    WS_CHILD: u32 : 0x4000_0000
    WS_CHILDWINDOW: u32 : WS_CHILD
    WS_CLIPCHILDREN: u32 : 0x0200_0000
    WS_CLIPSIBLINGS: u32 : 0x0400_0000
    WS_DISABLED: u32 : 0x0800_0000
    WS_DLGFRAME: u32 : 0x0040_0000
    WS_EX_ACCEPTFILES: u32 : 0x0000_0010
    WS_EX_APPWINDOW: u32 : 0x0004_0000
    WS_EX_CLIENTEDGE: u32 : 0x0000_0200
    WS_EX_COMPOSITED: u32 : 0x0200_0000
    WS_EX_CONTEXTHELP: u32 : 0x0000_0400
    WS_EX_CONTROLPARENT: u32 : 0x0001_0000
    WS_EX_DLGMODALFRAME: u32 : 0x0000_0001
    WS_EX_DRAGDETECT: u32 : 0x0000_0002
    undocumented
    WS_EX_LAYERED: u32 : 0x0008_0000
    WS_EX_LAYOUTRTL: u32 : 0x0040_0000
    WS_EX_LEFT: u32 : 0x0000_0000
    WS_EX_LEFTSCROLLBAR: u32 : 0x0000_4000
    WS_EX_LTRREADING: u32 : 0x0000_0000
    WS_EX_MDICHILD: u32 : 0x0000_0040
    WS_EX_NOACTIVATE: u32 : 0x0800_0000
    WS_EX_NOINHERITLAYOUT: u32 : 0x0010_0000
    WS_EX_NOPARENTNOTIFY: u32 : 0x0000_0004
    WS_EX_NOREDIRECTIONBITMAP: u32 : 0x0020_0000
    WS_EX_OVERLAPPEDWINDOW: u32 : WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE
    WS_EX_PALETTEWINDOW: u32 : WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST
    WS_EX_RIGHT: u32 : 0x0000_1000
    WS_EX_RIGHTSCROLLBAR: u32 : 0x0000_0000
    WS_EX_RTLREADING: u32 : 0x0000_2000
    WS_EX_STATICEDGE: u32 : 0x0002_0000
    WS_EX_TOOLWINDOW: u32 : 0x0000_0080
    WS_EX_TOPMOST: u32 : 0x0000_0008
    WS_EX_TRANSPARENT: u32 : 0x0000_0020
    WS_EX_WINDOWEDGE: u32 : 0x0000_0100
    WS_GROUP: u32 : 0x0002_0000
    WS_HSCROLL: u32 : 0x0010_0000
    WS_ICONIC: u32 : 0x2000_0000
    WS_MAXIMIZE: u32 : 0x0100_0000
    WS_MAXIMIZEBOX: u32 : 0x0001_0000
    WS_MINIMIZE: u32 : 0x2000_0000
    WS_MINIMIZEBOX: u32 : 0x0002_0000
    WS_OVERLAPPED: u32 : 0x0000_0000
    WS_OVERLAPPEDWINDOW: u32 : WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX
    WS_POPUP: u32 : 0x8000_0000
    WS_POPUPWINDOW: u32 : WS_POPUP | WS_BORDER | WS_SYSMENU
    WS_SIZEBOX: u32 : 0x0004_0000
    WS_SYSMENU: u32 : 0x0008_0000
    WS_TABSTOP: u32 : 0x0001_0000
    WS_THICKFRAME: u32 : 0x0004_0000
    WS_TILED: u32 : 0x0000_0000
    WS_TILEDWINDOW: u32 : WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZE | WS_MAXIMIZE
    WS_VISIBLE: u32 : 0x1000_0000
    WS_VSCROLL: u32 : 0x0020_0000
    WT_… 7
    WT_EXECUTEDEFAULT:: 0x00000000
    WT_EXECUTEINIOTHREAD:: 0x00000001
    WT_EXECUTEINPERSISTENTTHREAD:: 0x00000080
    WT_EXECUTEINWAITTHREAD:: 0x00000004
    WT_EXECUTELONGFUNCTION:: 0x00000010
    WT_EXECUTEONLYONCE:: 0x00000008
    WT_TRANSFER_IMPERSONATION:: 0x00000100
    XBUTTON1:: 0x0001
    XButton values are WORD flags
    XBUTTON2:: 0x0002
    XINPUT_… 3
    XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE: i16 : 7849
    Gamepad thresholds
    XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE: i16 : 8689
    XINPUT_GAMEPAD_TRIGGER_THRESHOLD: i16 : 30
    XUSER_MAX_COUNT:: 4

    Variables

    IDC_ARROW ¶

    IDC_ARROW: cstring = …
    External examples win32/embedded_manifest · win32/open_window

    Procedures

    One row per procedure, under the procedure groups they belong to; each is a proc "stdcall" unless it says otherwise.

    AcceptExproc "c" (sListenSocket: SOCKET, sAcceptSocket: SOCKET, lpOutputBuffer: rawptr, dwReceiveDataLength: u32, dwLocalAddressLength: u32, dwRemoteAddressLength: u32, lpdwBytesReceived: ^u32, lpOverlapped: ^OVERLAPPED) -> BOOL
    AccessCheck(pSecurityDescriptor: rawptr, ClientToken: HANDLE, DesiredAccess: u32, GenericMapping: ^GENERIC_MAPPING, PrivilegeSet: ^PRIVILEGE_SET, PrivilegeSetLength: ^u32, GrantedAccess: ^u32, AccessStatus: ^BOOL) -> BOOL
    AcquireSRWLockExclusive(SRWLock: ^SRWLOCK)
    AcquireSRWLockShared(SRWLock: ^SRWLOCK)
    ActivateActCtx(hActCtx: HANDLE, lpCookie: ^uint) -> BOOL
    AddClipboardFormatListener(hwnd: HWND) -> BOOL
    AddDllDirectory(NewDirectory: cstring16) -> rawptr
    AddFontMemResourceEx(pFileView: rawptr, cjSize: u32, pvResrved: rawptr, pNumFonts: ^u32) -> HANDLE
    AddFontResourceExW(name: cstring16, fl: u32, res: rawptr) -> i32
    AddFontResourceW(unnamedParam1: cstring16) -> i32
    AddVectoredContinueHandler(FirstHandler: u32, VectoredHandler: PVECTORED_EXCEPTION_HANDLER) -> rawptr
    AddVectoredExceptionHandler(FirstHandler: u32, VectoredHandler: PVECTORED_EXCEPTION_HANDLER) -> rawptr
    AdjustWindowRect(lpRect: ^RECT, dwStyle: u32, bMenu: BOOL) -> BOOL
    AdjustWindowRectEx(lpRect: ^RECT, dwStyle: u32, bMenu: BOOL, dwExStyle: u32) -> BOOL
    AdjustWindowRectExForDpi(lpRect: ^RECT, dwStyle: u32, bMenu: BOOL, dwExStyle: u32, dpi: u32) -> BOOL
    AllocConsole() -> BOOL
    AllocateUserPhysicalPages(hProcess: HANDLE, NumberOfPages: ^uint, PageArray: ^uint) -> BOOL
    AllocateUserPhysicalPagesNuma(hProcess: HANDLE, NumberOfPages: ^uint, PageArray: ^uint, nndPreferred: u32) -> BOOL
    AlphaBlend(hdcDest: HDC, xoriginDest, yoriginDest, wDest, hDest: i32, hdcSrc: HDC, xoriginSrc, yoriginSrc, wSrc, hSrc: i32, ftn: BLENDFUNCTION) -> BOOL
    AppendMenuW(hMenu: HMENU, uFlags: u32, uIDNewItem: uintptr, lpNewItem: cstring16) -> BOOL
    AssocCreate(clsid: GUID, riid: ^GUID, ppv: ^rawptr) -> HRESULT
    AssocCreateForClasses(rgClasses: [^]ASSOCIATIONELEMENT, cClasses: u32, riid: ^GUID, ppv: ^rawptr) -> HRESULT
    AssocGetPerceivedType(pszExt: cstring16, ptype: ^PERCEIVED, pflag: ^u32, ppszType: ^cstring16) -> HRESULT
    AssocIsDangerous(pszAssoc: cstring16) -> HRESULT
    AssocQueryKeyW(flags: bit_set[ASSOCF_Bits; i32], key: ASSOCKEY, pszAssoc: cstring16, pszExtra: cstring16, phkeyOut: ^HKEY) -> HRESULT
    AssocQueryStringByKeyW(flags: bit_set[ASSOCF_Bits; i32], str: ASSOCSTR, hkAssoc: HKEY, pszExtra: cstring16, pszOut: ^u16, pcchOut: ^u32) -> HRESULT
    AssocQueryStringW(flags: bit_set[ASSOCF_Bits; i32], str: ASSOCSTR, pszAssoc: cstring16, pszExtra: cstring16, pszOut: ^u16, pcchOut: ^u32) -> HRESULT
    AttachConsole(dwProcessId: u32) -> BOOL
    BCryptGenRandom(hAlgorithm: rawptr, pBuffer: [^]u8, cbBuffer: u32, dwFlags: u32) -> i32
    BeginBufferedAnimation(hwnd: HWND, hdcTarget: HDC, prcTarget: ^RECT, dwFormat: BP_BUFFERFORMAT, pPaintParams: ^BP_PAINTPARAMS, pAnimationParams: ^BP_ANIMATIONPARAMS, phdcFrom: ^HDC, phdcTo: ^HDC) -> HANIMATIONBUFFER
    BeginBufferedPaint(hdcTarget: HDC, prcTarget: ^RECT, dwFormat: BP_BUFFERFORMAT, pPaintParams: ^BP_PAINTPARAMS, phdc: ^HDC) -> HPAINTBUFFER
    BeginPaint(hWnd: HWND, lpPaint: ^PAINTSTRUCT) -> HDC
    BitBlt(hdc: HDC, x, y, cx, cy: i32, hdcSrc: HDC, x1, y1: i32, rop: u32) -> BOOL
    BluetoothDisplayDeviceProperties(hwnd_parent: HWND, device_info: ^BLUETOOTH_DEVICE_INFO) -> BOOL
    BluetoothFindDeviceClose(handle: HBLUETOOTH_DEVICE_FIND) -> BOOL
    BluetoothFindFirstDevice(search_params: ^BLUETOOTH_DEVICE_SEARCH_PARAMS, device_info: ^BLUETOOTH_DEVICE_INFO) -> HBLUETOOTH_DEVICE_FIND
    Device enumeration

    Device enumeration

    BluetoothFindFirstRadio(find_radio_params: ^BLUETOOTH_FIND_RADIO_PARAMS, radio: ^HANDLE) -> HBLUETOOTH_RADIO_FIND
    Radio enumeration

    Radio enumeration

    BluetoothFindNextDevice(handle: HBLUETOOTH_DEVICE_FIND, device_info: ^BLUETOOTH_DEVICE_INFO) -> BOOL
    BluetoothFindNextRadio(handle: HBLUETOOTH_RADIO_FIND, radio: ^HANDLE) -> BOOL
    BluetoothFindRadioClose(handle: HBLUETOOTH_RADIO_FIND) -> BOOL
    BluetoothGetDeviceInfo(radio: HANDLE, device_info: ^BLUETOOTH_DEVICE_INFO) -> u32
    BluetoothGetRadioInfo(radio: HANDLE, radio_info: ^BLUETOOTH_RADIO_INFO) -> u32
    BluetoothIsVersionAvailable(major: u8, minor: u8) -> BOOL
    Version

    Version

    BringWindowToTop(hWnd: HWND) -> BOOL
    BroadcastSystemMessageExW(flags: u32, lpInfo: ^u32, Msg: u32, wParam: uintptr, lParam: int, pbsmInfo: ^BSMINFO) -> i32
    BroadcastSystemMessageW(flags: u32, lpInfo: ^u32, Msg: u32, wParam: uintptr, lParam: int) -> i32
    BufferedPaintClear(hBufferedPaint: HPAINTBUFFER, prc: ^RECT) -> HRESULT
    BufferedPaintInit() -> HRESULT
    Buffered painting and buffered animation
    BufferedPaintRenderAnimation(hwnd: HWND, hdcTarget: HDC) -> BOOL
    BufferedPaintSetAlpha(hBufferedPaint: HPAINTBUFFER, prc: ^RECT, alpha: BYTE) -> HRESULT
    BufferedPaintStopAllAnimations(hwnd: HWND) -> HRESULT
    BufferedPaintUnInit() -> HRESULT
    BuildIoRingCancelRequest(ioRing: HIORING, file: IORING_HANDLE_REF, opToCancel: uintptr, userData: uintptr) -> HRESULT
    BuildIoRingFlushFile(ioRing: HIORING, fileRef: IORING_HANDLE_REF, flushMode: FILE_FLUSH_MODE, userData: uintptr, sqeFlags: bit_set[IORING_SQE_FLAG; u32]) -> HRESULT
    BuildIoRingReadFile(ioRing: HIORING, fileRef: IORING_HANDLE_REF, dataRef: IORING_BUFFER_REF, numberOfBytesToRead: u32, fileOffset: u64, userData: uintptr, sqeFlags: bit_set[IORING_SQE_FLAG; u32]) -> HRESULT
    BuildIoRingReadFileScatter(ioRing: HIORING, fileRef: IORING_HANDLE_REF, segmentCount: u32, segmentArray: [^]FILE_SEGMENT_ELEMENT, numberOfBytesToRead: u32, fileOffset: u64, userData: uintptr, sqeFlags: bit_set[IORING_SQE_FLAG; u32]) -> HRESULT
    BuildIoRingRegisterBuffers(ioRing: HIORING, count: u32, buffers: [^]IORING_BUFFER_INFO, userData: uintptr) -> HRESULT
    BuildIoRingRegisterFileHandles(ioRing: HIORING, count: u32, handles: [^]HANDLE, userData: uintptr) -> HRESULT
    BuildIoRingWriteFile(ioRing: HIORING, fileRef: IORING_HANDLE_REF, bufferRef: IORING_BUFFER_REF, numberOfBytesToWrite: u32, fileOffset: u64, writeFlags: bit_set[FILE_WRITE_FLAG; u32], userData: uintptr, sqeFlags: bit_set[IORING_SQE_FLAG; u32]) -> HRESULT
    BuildIoRingWriteFileGather(ioRing: HIORING, fileRef: IORING_HANDLE_REF, segmentCount: u32, segmentArray: [^]FILE_SEGMENT_ELEMENT, numberOfBytesToWrite: u32, fileOffset: u64, writeFlags: bit_set[FILE_WRITE_FLAG; u32], userData: uintptr, sqeFlags: bit_set[IORING_SQE_FLAG; u32]) -> HRESULT
    Button_GetIdealSize(hwnd: HWND, psize: ^SIZE) -> BOOL
    Button_GetImageList(hwnd: HWND, pbuttonImagelist: ^BUTTON_IMAGELIST) -> BOOL
    Button_GetNote(hwnd: HWND, psz: cstring16, pcc: ^i32) -> BOOL
    Button_GetNoteLength(hwnd: HWND) -> int
    Button_GetSplitInfo(hwnd: HWND, psi: ^BUTTON_SPLITINFO) -> BOOL
    Button_GetTextMargin(hwnd: HWND, pmargin: ^RECT) -> BOOL
    Button_SetDropDownState(hwnd: HWND, fDropDown: BOOL) -> BOOL
    Button_SetElevationRequiredState(hwnd: HWND, fRequired: BOOL) -> int
    Button_SetImageList(hwnd: HWND, pbuttonImagelist: ^BUTTON_IMAGELIST) -> BOOL
    Button_SetNote(hwnd: HWND, psz: cstring16) -> BOOL
    Button_SetSplitInfo(hwnd: HWND, psi: ^BUTTON_SPLITINFO) -> BOOL
    Button_SetTextMargin(hwnd: HWND, pmargin: ^RECT) -> BOOL
    CLSIDFromProgID(lpszProgID: cstring, lpclsid: ^GUID) -> HRESULT
    CLSIDFromProgIDEx(lpszProgID: cstring, lpclsid: ^GUID) -> HRESULT
    CLSIDFromString(lpsz: cstring16, pclsid: ^GUID) -> HRESULT
    CallNextHookEx(hhk: HHOOK, nCode: i32, wParam: uintptr, lParam: int) -> int
    CallWindowProcW(lpPrevWndFunc: WNDPROC, hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> int
    CancelDC(hdc: HDC) -> BOOL
    CancelIo(handle: HANDLE) -> BOOL
    CancelIoEx(hFile: HANDLE, lpOverlapped: ^OVERLAPPED) -> BOOL
    CertCloseStore(hCertStore: HCERTSTORE, dwFlags: u32) -> BOOL
    CertEnumCertificatesInStore(hCertStore: HCERTSTORE, pPrevCertContext: ^CERT_CONTEXT) -> ^CERT_CONTEXT
    CertFreeCertificateContext(pCertContext: ^CERT_CONTEXT) -> BOOL
    CertOpenSystemStoreW(hProv: rawptr, szSubsystemProtocol: cstring16) -> HCERTSTORE
    ChangeClipboardChain(hWndRemove: HWND, hWndNewNext: HWND) -> BOOL
    ChooseColorW(lpcc: ^CHOOSECOLORW) -> BOOL
    ChooseFontW(lpcc: ^CHOOSEFONTW) -> BOOL
    ChoosePixelFormat(hdc: HDC, ppfd: ^PIXELFORMATDESCRIPTOR) -> i32
    Chord(hdc: HDC, x1, y1, x2, y2, x3, y3, x4, y4: i32) -> BOOL
    ClearCommError(hFile: HANDLE, lpErrors: ^Com_Error, lpStat: ^COMSTAT) -> BOOL
    ClientToScreen(hWnd: HWND, lpPoint: ^POINT) -> BOOL
    ClipCursor(lpRect: ^RECT) -> BOOL
    CloseClipboard() -> BOOL
    CloseHandle(hObject: HANDLE) -> BOOL
    CloseIoRing(ioRing: HIORING) -> HRESULT
    CoCreateInstance(rclsid: ^GUID, pUnkOuter: ^IUnknown, dwClsContext: u32, riid: ^GUID, ppv: ^rawptr) -> HRESULT
    CoInitialize(reserved: rawptr = nil) -> HRESULT
    CoInitializeEx(reserved: rawptr = nil, co_init: COINIT = .APARTMENTTHREADED) -> HRESULT
    CoTaskMemAlloc(cb: uint) -> rawptr
    CoTaskMemFree(pv: rawptr)
    CoTaskMemRealloc(pv: rawptr, cb: uint) -> rawptr
    CoUninitialize()
    CommDlgExtendedError() -> u32
    CommandLineToArgvW(cmd_list: cstring16, num_args: ^i32) -> [^]cstring16
    CompareFileTime(lpFileTime1: ^FILETIME, lpFileTime2: ^FILETIME) -> i32
    ConnectNamedPipe(hNamedPipe: HANDLE, lpOverlapped: ^OVERLAPPED) -> BOOL
    ConvertSidToStringSidW(Sid: ^SID, StringSid: ^cstring16) -> BOOL
    https://docs.microsoft.com/en-us/windows/win32/api/sddl/nf-sddl-convertsidtostringsida To turn a SID into a string SID to use with CreateProfile &…

    https://docs.microsoft.com/en-us/windows/win32/api/sddl/nf-sddl-convertsidtostringsida To turn a SID into a string SID to use with CreateProfile & DeleteProfileW.

    ConvertThreadToFiber(lpParameter: rawptr) -> rawptr
    CopyAcceleratorTableW(hAccelSrc: HACCEL, lpAccelDst: ^ACCEL, cAccelEntries: i32) -> i32
    CopyFileExW(lpExistingFileName: cstring16, lpNewFileName: cstring16, lpProgressRoutine: LPPROGRESS_ROUTINE, lpData: rawptr, pbCancel: ^BOOL, dwCopyFlags: u32) -> BOOL
    CopyFileW(lpExistingFileName: cstring16, lpNewFileName: cstring16, bFailIfExists: BOOL) -> BOOL
    CopyRect(lprcDst, lprcSrc: ^RECT) -> BOOL
    CountClipboardFormats() -> i32
    CreateAcceleratorTableW(paccel: ^ACCEL, cAccel: i32) -> HACCEL
    CreateActCtxW(pActCtx: ^ACTCTXW) -> HANDLE
    CreateBitmap(nWidth: i32, nHeight: i32, nPlanes: u32, nBitCount: u32, lpBits: rawptr) -> HBITMAP
    CreateCompatibleBitmap(hdc: HDC, cx, cy: i32) -> HBITMAP
    CreateCompatibleDC(hdc: HDC) -> HDC
    CreateCursor(hInst: HANDLE, xHotSpot, yHotSpot, nWidth, nHeight: i32, pvANDPlane: rawptr, pvXORPlane: rawptr) -> HCURSOR
    CreateDIBPatternBrush(h: HGLOBAL, iUsage: u32) -> HBRUSH
    CreateDIBSection(hdc: HDC, pbmi: ^BITMAPINFO, usage: u32, ppvBits: ^rawptr, hSection: HANDLE, offset: u32) -> HBITMAP
    CreateDIBitmap(hdc: HDC, pbmih: ^BITMAPINFOHEADER, flInit: u32, pjBits: rawptr, pbmi: ^BITMAPINFO, iUsage: u32) -> HBITMAP
    CreateDirectoryW(lpPathName: cstring16, lpSecurityAttributes: ^SECURITY_ATTRIBUTES) -> BOOL
    CreateEventExW(lpEventAttributes: ^SECURITY_ATTRIBUTES, lpName: cstring16, dwFlags: u32, dwDesiredAccess: u32) -> HANDLE
    CreateEventW(lpEventAttributes: ^SECURITY_ATTRIBUTES, bManualReset: BOOL, bInitialState: BOOL, lpName: cstring16) -> HANDLE
    CreateFiber(dwStackSize: uint, lpStartAddress: LPFIBER_START_ROUTINE, lpParameter: rawptr) -> rawptr
    CreateFileMappingFromApp(hFile: HANDLE, SecurityAttributes: ^SECURITY_ATTRIBUTES, PageProtection: u32, MaximumSize: u64, Name: cstring16) -> HANDLE
    CreateFileMappingNumaW(hFile: HANDLE, lpFileMappingAttributes: ^SECURITY_ATTRIBUTES, flProtect: u32, dwMaximumSizeHigh: u32, dwMaximumSizeLow: u32, lpName: cstring16, nndPreferred: u32) -> HANDLE
    CreateFileMappingW(hFile: HANDLE, lpFileMappingAttributes: ^SECURITY_ATTRIBUTES, flProtect: u32, dwMaximumSizeHigh: u32, dwMaximumSizeLow: u32, lpName: cstring16) -> HANDLE
    CreateFileW(lpFileName: cstring16, dwDesiredAccess: u32, dwShareMode: u32, lpSecurityAttributes: ^SECURITY_ATTRIBUTES, dwCreationDisposition: u32, dwFlagsAndAttributes: u32, hTemplateFile: HANDLE) -> HANDLE
    CreateFontIndirectExW(unnamedParam1: ^ENUMLOGFONTEXDVW) -> HFONT
    CreateFontIndirectW(lplf: ^LOGFONTW) -> HFONT
    CreateFontW(cHeight, cWidth, cEscapement, cOrientation, cWeight: i32, bItalic, bUnderline, bStrikeOut, iCharSet, iOutPrecision: u32, iClipPrecision, iQuality, iPitchAndFamily: u32, pszFaceName: cstring16) -> HFONT
    CreateHardLinkW(lpSymlinkFileName: cstring16, lpTargetFileName: cstring16, lpSecurityAttributes: ^SECURITY_ATTRIBUTES) -> BOOL
    CreateIcon(hInstance: HANDLE, nWidth, nHeight: i32, cPlanes: BYTE, cBitsPixel: BYTE, lpbANDbits: ^BYTE, lpbXORbits: ^BYTE) -> HICON
    CreateIconFromResource(presbits: ^BYTE, dwResSize: u32, fIcon: BOOL, dwVer: u32) -> HICON
    CreateIconFromResourceEx(presbits: ^BYTE, dwResSize: u32, fIcon: BOOL, dwVer: u32, cxDesired: i32, cyDesired: i32, Flags: u32) -> HICON
    CreateIconIndirect(piconinfo: ^ICONINFO) -> HICON
    CreateIoCompletionPort(FileHandle: HANDLE, ExistingCompletionPort: HANDLE, CompletionKey: uint, NumberOfConcurrentThreads: u32) -> HANDLE
    CreateIoRing(ioringVersion: IORING_VERSION, flags: IORING_CREATE_FLAGS, submissionQueueSize: u32, completionQueueSize: u32, h: ^HIORING) -> HRESULT
    CreateMappedBitmap(hInstance: HANDLE, idBitmap: int, wFlags: u32, lpColorMap: ^COLORMAP, iNumMaps: i32) -> HBITMAP
    CreateMemoryResourceNotification(NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE) -> HANDLE
    CreateMenu() -> HMENU
    CreateNamedPipeW(lpName: cstring16, dwOpenMode: u32, dwPipeMode: u32, nMaxInstances: u32, nOutBufferSize: u32, nInBufferSize: u32, nDefaultTimeOut: u32, lpSecurityAttributes: ^SECURITY_ATTRIBUTES) -> HANDLE
    CreatePalette(plpal: ^LOGPALETTE) -> HPALETTE
    CreatePen(iStyle, cWidth: i32, color: u32) -> HPEN
    CreatePipe(hReadPipe, hWritePipe: ^HANDLE, lpPipeAttributes: ^SECURITY_ATTRIBUTES, nSize: u32) -> BOOL
    CreatePopupMenu() -> HMENU
    CreateProcessAsUserW(hToken: HANDLE, lpApplicationName: cstring16, lpCommandLine: cstring16, lpProcessAttributes: ^SECURITY_ATTRIBUTES, lpThreadAttributes: ^SECURITY_ATTRIBUTES, bInheritHandles: BOOL, dwCreationFlags: u32, lpEnvironment: rawptr, lpCurrentDirectory: cstring16, lpStartupInfo: ^STARTUPINFOW, lpProcessInformation: ^PROCESS_INFORMATION) -> BOOL
    CreateProcessW(lpApplicationName: cstring16, lpCommandLine: cstring16, lpProcessAttributes: ^SECURITY_ATTRIBUTES, lpThreadAttributes: ^SECURITY_ATTRIBUTES, bInheritHandles: BOOL, dwCreationFlags: u32, lpEnvironment: rawptr, lpCurrentDirectory: cstring16, lpStartupInfo: ^STARTUPINFOW, lpProcessInformation: ^PROCESS_INFORMATION) -> BOOL
    CreateProcessWithLogonW(lpUsername: cstring16, lpDomain: cstring16, lpPassword: cstring16, dwLogonFlags: u32, lpApplicationName: cstring16, lpCommandLine: cstring16, dwCreationFlags: u32, lpEnvironment: rawptr, lpCurrentDirectory: cstring16, lpStartupInfo: ^STARTUPINFOW, lpProcessInformation: ^PROCESS_INFORMATION) -> BOOL
    CreateProfile(pszUserSid: cstring16, pszUserName: cstring16, pszProfilePath: cstring16, cchProfilePath: u32) -> u32
    https://docs.microsoft.com/en-us/windows/win32/api/userenv/nf-userenv-createprofile The caller must have administrator privileges to call this function.
    CreateRectRgnIndirect(lprect: ^RECT) -> HRGN
    CreateRemoteThread(hProcess: HANDLE, lpThreadAttributes: ^SECURITY_ATTRIBUTES, dwStackSize: uint, lpStartAddress: proc "stdcall" (rawptr) -> u32, lpParameter: rawptr, dwCreationFlags: u32, lpThreadId: ^u32) -> HANDLE
    CreateSemaphoreW(attributes: ^SECURITY_ATTRIBUTES, initial_count, maximum_count: i32, name: cstring16) -> HANDLE
    CreateSolidBrush(color: u32) -> HBRUSH
    CreateStatusWindowW(style: i32, lpszText: cstring16, hwndParent: HWND, wID: u32) -> HWND
    CreateSymbolicLinkW(lpSymlinkFileName: cstring16, lpTargetFileName: cstring16, dwFlags: u32) -> BOOLEAN
    CreateThread(lpThreadAttributes: ^SECURITY_ATTRIBUTES, dwStackSize: uint, lpStartAddress: proc "stdcall" (rawptr) -> u32, lpParameter: rawptr, dwCreationFlags: u32, lpThreadId: ^u32) -> HANDLE
    CreateToolbarEx(hwnd: HWND, ws: u32, wID: u32, nBitmaps: i32, hBMInst: HANDLE, wBMID: uintptr, lpButtons: ^TBBUTTON, iNumButtons: i32, dxButton, dyButton: i32, dxBitmap, dyBitmap: i32, uStructSize: u32) -> HWND
    CreateToolhelp32Snapshot(dwFlags: u32, th32ProcessID: u32) -> HANDLE
    CreateUpDownControl(dwStyle: u32, x, y: i32, cx, cy: i32, hParent: HWND, nID: i32, hInst: HANDLE, hBuddy: HWND, nUpper, nLower, nPos: i32) -> HWND
    CreateWaitableTimerExW(lpTimerAttributes: ^SECURITY_ATTRIBUTES, lpTimerName: cstring16, dwFlags: u32, dwDesiredAccess: u32) -> HANDLE
    CreateWaitableTimerW(lpTimerAttributes: ^SECURITY_ATTRIBUTES, bManualReset: BOOL, lpTimerName: cstring16) -> HANDLE
    CreateWindowExW(dwExStyle: u32, lpClassName: cstring16, lpWindowName: cstring16, dwStyle: u32, X, Y, nWidth, nHeight: i32, hWndParent: HWND, hMenu: HMENU, hInstance: HANDLE, lpParam: rawptr) -> HWND
    CreateWindowW(lpClassName: cstring16, lpWindowName: cstring16, dwStyle: u32, X: i32, Y: i32, nWidth: i32, nHeight: i32, hWndParent: HWND, hMenu: HMENU, hInstance: HANDLE, lpParam: rawptr) -> HWND
    CryptAcquireContextW(hProv: ^HCRYPTPROV, szContainer, szProvider: cstring16, dwProvType, dwFlags: u32) -> u32
    CryptGenRandom(hProv: HCRYPTPROV, dwLen: u32, buf: rawptr) -> u32
    CryptReleaseContext(hProv: HCRYPTPROV, dwFlags: u32) -> u32
    DECODE_HRESULTproc "contextless" (#any_int hr: int) -> (SEVERITY, FACILITY, int)
    DefRawInputProc(paRawInput: ^^RAWINPUT, nInput: i32, cbSizeHeader: u32) -> int
    DefSubclassProc(hwnd: HWND, msg: u32, wparam: uintptr, lparam: int) -> int
    DefWindowProcA(hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> int
    DefWindowProcW(hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> int
    DeleteCriticalSection(CriticalSection: ^CRITICAL_SECTION)
    DeleteDC(hdc: HDC) -> BOOL
    DeleteFiber(lpFiber: rawptr)
    DeleteFileW(lpPathName: cstring16) -> BOOL
    DeleteMenu(hMenu: HMENU, uPosition: u32, uFlags: u32) -> BOOL
    DeleteObject(ho: HGDIOBJ) -> BOOL
    DeleteProfileW(lpSidString: cstring16, lpProfilePath: cstring16, lpComputerName: cstring16) -> BOOL
    https://docs.microsoft.com/en-us/windows/win32/api/userenv/nf-userenv-deleteprofilew The caller must have administrative privileges to delete a user's profile.
    DeleteSynchronizationBarrier(lpBarrier: ^SYNCHRONIZATION_BARRIER) -> BOOL
    DescribePixelFormat(hdc: HDC, iPixelFormat: i32, nBytes: u32, ppfd: ^PIXELFORMATDESCRIPTOR) -> i32
    DestroyAcceleratorTable(hAccel: HACCEL) -> BOOL
    DestroyCursor(hCursor: HCURSOR) -> BOOL
    DestroyIcon(hIcon: HICON) -> BOOL
    DestroyMenu(hMenu: HMENU) -> BOOL
    DestroyWindow(hWnd: HWND) -> BOOL
    DeviceIoControl(hDevice: HANDLE, dwIoControlCode: u32, lpInBuffer: rawptr, nInBufferSize: u32, lpOutBuffer: rawptr, nOutBufferSize: u32, lpBytesReturned: ^u32, lpOverlapped: ^OVERLAPPED) -> BOOL
    DiscardVirtualMemory(VirtualAddress: rawptr, Size: uint) -> u32
    DisconnectNamedPipe(hNamedPipe: HANDLE) -> BOOL
    DispatchMessageW(lpMsg: ^MSG) -> int
    DnsQuery_UTF8(name: cstring, type: u16, options: bit_set[DNS_QUERY_OPTION; u32], extra: rawptr, results: ^^DNS_RECORD, reserved: rawptr) -> DNS_STATUS
    DnsRecordListFree(list: ^DNS_RECORD, options: u32)
    DragAcceptFiles(hWnd: HWND, fAccept: BOOL)
    DragFinish(hDrop: HANDLE)
    @New
    DragQueryFileW(hDrop: HANDLE, iFile: u32, lpszFile: ^u16, cch: u32) -> u32
    DragQueryPoint(hDrop: HANDLE, ppt: ^POINT) -> BOOL
    DrawIcon(hDC: HDC, X, Y: i32, hIcon: HICON) -> BOOL
    DrawInsert(handParent: HWND, hLB: HWND, nItem: i32)
    DrawStatusTextW(hDC: HDC, lprc: ^RECT, pszText: cstring16, uFlags: u32)
    DrawTextExW(hdc: HDC, lpchText: cstring16, cchText: i32, lprc: ^RECT, format: DrawTextFormat, lpdtp: ^DRAWTEXTPARAMS) -> i32
    DrawTextW(hdc: HDC, lpchText: cstring16, cchText: i32, lprc: ^RECT, format: DrawTextFormat) -> i32
    DuplicateHandle(hSourceProcessHandle: HANDLE, hSourceHandle: HANDLE, hTargetProcessHandle: HANDLE, lpTargetHandle: ^HANDLE, dwDesiredAccess: u32, bInheritHandle: BOOL, dwOptions: u32) -> BOOL
    DuplicateToken(ExistingTokenHandle: HANDLE, ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, DuplicateTokenHandle: ^HANDLE) -> BOOL
    DwmExtendFrameIntoClientArea(hWnd: HWND, pMarInset: ^MARGINS) -> HRESULT
    DwmFlush() -> HRESULT
    DwmGetWindowAttribute(hWnd: HWND, dwAttribute: u32, pvAttribute: rawptr, cbAttribute: u32) -> HRESULT
    DwmIsCompositionEnabled(pfEnabled: ^BOOL) -> HRESULT
    DwmSetWindowAttribute(hWnd: HWND, dwAttribute: u32, pvAttribute: rawptr, cbAttribute: u32) -> HRESULT
    Edit_GetCueBannerText(hwnd: HWND, lpwText: ^u16, cchText: i32) -> BOOL
    Edit_GetHilite(hwndCtl: HWND) -> u32
    Edit_HideBalloonTip(hwnd: HWND) -> BOOL
    Edit_NoSetFocus(hwndCtl: HWND)
    Edit_SetCueBannerText(hwnd: HWND, lpcwText: cstring16) -> BOOL
    Edit_SetCueBannerTextFocused(hwnd: HWND, lpcwText: cstring16, fDrawFocused: BOOL) -> BOOL
    Edit_SetHilite(hwndCtl: HWND, ichStart: i32, ichEnd: i32)
    Edit_ShowBalloonTip(hwnd: HWND, peditballoontip: ^EDITBALLOONTIP) -> BOOL
    Edit_TakeFocus(hwndCtl: HWND)
    Ellipse(hdc: HDC, left, top, right, bottom: i32) -> BOOL
    EmptyClipboard() -> BOOL
    EnableMenuItem(hMenu: HMENU, uIDEnableItem: u32, uEnable: u32) -> BOOL
    EnableMouseInPointer(fEnable: BOOL)
    EnableScrollBar(hwnd: HWND, wSBflags: u32, wArrows: u32) -> BOOL
    EnableWindow(hWnd: HWND, bEnable: BOOL) -> BOOL
    EndBufferedPaint(hBufferedPaint: HPAINTBUFFER, fUpdateTarget: BOOL) -> HRESULT
    EndPaint(hWnd: HWND, lpPaint: ^PAINTSTRUCT) -> BOOL
    EnterCriticalSection(CriticalSection: ^CRITICAL_SECTION)
    EnterSynchronizationBarrier(lpBarrier: ^SYNCHRONIZATION_BARRIER, dwFlags: SYNCHRONIZATION_BARRIER_FLAGS) -> BOOL
    EnumChildWindows(hWndParent: HWND, lpEnumFunc: Window_Enum_Proc, lParam: int) -> BOOL
    EnumClipboardFormats(format: u32) -> u32
    EnumDisplayDevicesW(lpDevice: cstring16, iDevNum: u32, lpDisplayDevice: ^DISPLAY_DEVICEW, dwFlags: u32) -> BOOL
    EnumDisplayMonitors(hdc: HDC, lprcClip: ^RECT, lpfnEnum: Monitor_Enum_Proc, dwData: int) -> BOOL
    EnumDisplaySettingsW(lpszDeviceName: cstring16, iModeNum: u32, lpDevMode: ^DEVMODEW) -> BOOL
    EnumFontFamiliesExW(hdc: HDC, lpLogfont: ^LOGFONTW, lpProc: FONTENUMPROCW, lParam: int, dwFlags: u32) -> i32
    EnumFontFamiliesW(hdc: HDC, lpLogfont: cstring16, lpProc: FONTENUMPROCW, lParam: int) -> i32
    EnumFontsW(hdc: HDC, lpLogfont: cstring16, lpProc: FONTENUMPROCW, lParam: int) -> i32
    EnumProcessModules(hProcess: HANDLE, lphModule: ^HMODULE, cb: u32, lpcbNeeded: ^u32) -> BOOL
    EnumPropsExW(hWnd: HWND, lpEnumFunc: PROPENUMPROCW, lParam: int) -> i32
    EnumPropsW(hWnd: HWND, lpEnumFunc: PROPENUMPROCW) -> i32
    EnumResourceLanguagesExW(hModule: HMODULE, lpType: cstring16, lpName: cstring16, lpEnumFunc: ENUMRESLANGPROCW, lParam: int, dwFlags: u32, LangId: u16) -> BOOL
    EnumResourceNamesExW(hModule: HMODULE, lpType: cstring16, lpEnumFunc: ENUMRESNAMEPROCW, lParam: int, dwFlags: u32, LangId: u16) -> BOOL
    EnumResourceNamesW(hModule: HMODULE, lpType: cstring16, lpEnumFunc: ENUMRESNAMEPROCW, lParam: int) -> BOOL
    EnumResourceTypesExW(hModule: HMODULE, lpEnumFunc: ENUMRESTYPEPROCW, lParam: int, dwFlags: u32, LangId: u16) -> BOOL
    EnumWindows(lpEnumFunc: Window_Enum_Proc, lParam: int) -> BOOL
    EqualRect(lprc1, lprc2: ^RECT) -> BOOL
    ExitProcess(uExitCode: u32) -> !
    ExpandEnvironmentStringsW(lpSrc: cstring16, lpDst: ^u16, nSize: u32) -> u32
    ExtCreatePen(iPenStyle, cWidth: u32, plbrush: ^LOGBRUSH, cStyle: u32, pstyle: ^u32) -> HPEN
    ExtractIconExW(pszFile: cstring16, nIconIndex: i32, phiconLarge: ^HICON, phiconSmall: ^HICON, nIcons: u32) -> u32
    FAILEDproc "contextless" (#any_int result: int) -> bool
    and the inverse
    FILETIME_as_unix_nanosecondsproc "contextless" (ft: FILETIME) -> i64
    FileTimeToSystemTime(lpFileTime: ^FILETIME, lpSystemTime: ^SYSTEMTIME) -> BOOL
    FillRect(hDC: HDC, lprc: ^RECT, hbr: HBRUSH) -> i32
    FindClose(findFile: HANDLE) -> BOOL
    FindCloseChangeNotification(hChangeHandle: HANDLE) -> BOOL
    FindFirstChangeNotificationW(lpPathName: ^u16, bWatchSubtree: BOOL, dwNotifyFilter: u32) -> HANDLE
    FindFirstFileW(fileName: cstring16, findFileData: ^WIN32_FIND_DATAW) -> HANDLE
    FindNextChangeNotification(hChangeHandle: HANDLE) -> BOOL
    FindNextFileW(findFile: HANDLE, findFileData: ^WIN32_FIND_DATAW) -> BOOL
    FindResourceExW(hModule: HMODULE, lpType: cstring16, lpName: cstring16, wLanguage: u16) -> HRSRC
    FindResourceW(hModule: HMODULE, lpName: cstring16, lpType: cstring16) -> HRSRC
    FindTextW(lpcc: ^FINDREPLACEW) -> HWND
    FindWindowA(lpClassName: cstring, lpWindowName: cstring) -> HWND
    FindWindowExA(hWndParent: HWND, hWndChildAfter: HWND, lpszClass: cstring, lpszWindow: cstring) -> HWND
    FindWindowExW(hWndParent: HWND, hWndChildAfter: HWND, lpszClass: cstring16, lpszWindow: cstring16) -> HWND
    FindWindowW(lpClassName: cstring16, lpWindowName: cstring16) -> HWND
    FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL
    FlushFileBuffers(hFile: HANDLE) -> BOOL
    FlushViewOfFile(lpBaseAddress: rawptr, dwNumberOfBytesToFlush: uint) -> BOOL
    FormatMessageW(flags: u32, lpSrc: rawptr, msgId: u32, langId: u32, buf: ^u16, nsize: u32, args: rawptr) -> u32
    FrameRect(hDC: HDC, lprc: ^RECT, hbr: HBRUSH) -> i32
    FreeAddrInfoExW(pAddrInfoEx: ^ADDRINFOEXW)
    FreeConsole() -> BOOL
    FreeEnvironmentStringsW(env_ptr: ^u16) -> BOOL
    FreeLibrary(h: HMODULE) -> BOOL
    FreeLibraryAndExitThread(hLibModule: HMODULE, dwExitCode: u32)
    FreePropVariantArray(cVariants: u32, rgvars: ^PROPVARIANT) -> HRESULT
    FreeResource(hResData: HGLOBAL) -> BOOL
    FreeUserPhysicalPages(hProcess: HANDLE, NumberOfPages: ^uint, PageArray: ^uint) -> BOOL
    GET_KEYSTATE_WPARAMproc "contextless" (wParam: uintptr) -> u16
    GET_NCHITTEST_WPARAMproc "contextless" (wParam: uintptr) -> i16
    GET_RAWINPUT_CODE_WPARAMproc "contextless" (wParam: uintptr) -> RAWINPUT_CODE
    Retrieves the input code from wParam in WM_INPUT message.
    GET_SC_WPARAMproc "contextless" (wParam: uintptr) -> i32
    GET_WHEEL_DELTA_WPARAMproc "contextless" (wParam: uintptr) -> i16
    GET_XBUTTON_WPARAMproc "contextless" (wParam: uintptr) -> u16
    GET_X_LPARAMproc "contextless" (lp: int) -> i32
    GET_Y_LPARAMproc "contextless" (lp: int) -> i32
    GdiAlphaBlend(hdcDest: HDC, xoriginDest, yoriginDest, wDest, hDest: i32, hdcSrc: HDC, xoriginSrc, yoriginSrc, wSrc, hSrc: i32, ftn: BLENDFUNCTION) -> BOOL
    GdiGradientFill(hdc: HDC, pVertex: ^TRIVERTEX, nVertex: u32, pMesh: rawptr, nCount: u32, ulMode: u32) -> BOOL
    GdiTransparentBlt(hdcDest: HDC, xoriginDest, yoriginDest, wDest, hDest: i32, hdcSrc: HDC, xoriginSrc, yoriginSrc, wSrc, hSrc: i32, crTransparent: u32) -> BOOL
    GenerateConsoleCtrlEvent(dwCtrlEvent: u32, dwProcessGroupId: u32) -> BOOL
    GetACP() -> CODEPAGE
    GetAcceptExSockaddrsproc "c" (lpOutputBuffer: rawptr, dwReceiveDataLength: u32, dwLocalAddressLength: u32, dwRemoteAddressLength: u32, LocalSockaddr: ^^sockaddr, LocalSockaddrLength: ^i32, RemoteSockaddr: ^^sockaddr, RemoteSockaddrLength: ^i32)
    GetActiveWindow() -> HWND
    GetAdaptersAddresses(family: Address_Family, flags: bit_set[GAA_Flag; u32], _reserved: rawptr, adapter_addresses: [^]IP_Adapter_Addresses, size: ^u32) -> u32
    The GetAdaptersAddresses function retrieves the addresses associated with the adapters on the local computer.

    The GetAdaptersAddresses function retrieves the addresses associated with the adapters on the local computer. See: https://docs.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getadaptersaddresses

    GetAddrInfoExW(pName: cstring16, pServiceName: cstring16, dwNameSpace: u32, lpNspId: ^GUID, hints: ^ADDRINFOEXW, ppResult: ^^ADDRINFOEXW, timeout: ^timeval, lpOverlapped: ^OVERLAPPED, lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, lpHandle: ^HANDLE) -> i32
    GetAsyncKeyState(vKey: i32) -> i16
    GetBufferedPaintBits(hBufferedPaint, ppbBuffer: ^[^]RGBQUAD, pcxRow: ^i32) -> HRESULT
    GetBufferedPaintDC(hBufferedPaint: HPAINTBUFFER) -> HDC
    GetBufferedPaintTargetDC(hBufferedPaint: HPAINTBUFFER) -> HDC
    GetBufferedPaintTargetRect(hBufferedPaint: HPAINTBUFFER, prc: ^RECT) -> HRESULT
    GetCPInfoExW(CodePage: CODEPAGE, dwFlags: u32, lpCPInfoEx: ^CPINFOEXW) -> BOOL
    GetCapture() -> HWND
    GetClassInfoExW(hInstance: HANDLE, lpszClass: cstring16, lpwcx: ^WNDCLASSEXW) -> BOOL
    GetClassInfoW(hInstance: HANDLE, lpClassName: cstring16, lpWndClass: ^WNDCLASSW) -> BOOL
    GetClassLongPtrW(hWnd: HWND, nIndex: i32) -> uint
    GetClassLongW(hWnd: HWND, nIndex: i32) -> u32
    GetClassNameW(hWnd: HWND, lpClassName: ^u16, nMaxCount: i32) -> i32
    GetClientRect(hWnd: HWND, lpRect: ^RECT) -> BOOL
    GetClipboardData(uFormat: u32) -> HANDLE
    GetClipboardFormatNameW(format: u32, lpszFormatName: ^u16, cchMaxCount: i32) -> i32
    GetClipboardOwner() -> HWND
    GetClipboardSequenceNumber() -> u32
    GetClipboardViewer() -> HWND
    GetCommMask(handle: HANDLE, lpEvtMask: ^u32) -> BOOL
    GetCommPorts(lpPortNumbers: ^u32, uPortNumbersCount: u32, puPortNumbersFound: ^u32) -> u32
    GetCommState(handle: HANDLE, dcb: ^DCB) -> BOOL
    GetCommTimeouts(handle: HANDLE, timeouts: ^COMMTIMEOUTS) -> BOOL
    GetCommandLineW() -> cstring16
    GetConsoleCP() -> CODEPAGE
    GetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: ^CONSOLE_CURSOR_INFO) -> BOOL
    GetConsoleMode(hConsoleHandle: HANDLE, lpMode: ^u32) -> BOOL
    GetConsoleOutputCP() -> CODEPAGE
    GetConsoleScreenBufferInfo(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: ^CONSOLE_SCREEN_BUFFER_INFO) -> BOOL
    GetConsoleScreenBufferInfoEx(hConsoleOutput: HANDLE, lpConsoleScreenBufferInfoEx: ^CONSOLE_SCREEN_BUFFER_INFOEX) -> BOOL
    GetConsoleWindow() -> HWND
    GetCurrentDirectoryW(nBufferLength: u32, lpBuffer: ^u16) -> u32
    GetCurrentProcess() -> HANDLE
    GetCurrentProcessId() -> u32
    GetCurrentThread() -> HANDLE
    GetCurrentThreadId() -> u32
    GetCursor() -> HCURSOR
    GetCursorInfo(pci: ^CURSORINFO) -> BOOL
    GetCursorPos(lpPoint: ^POINT) -> BOOL
    GetDC(hWnd: HWND) -> HDC
    GetDCBrushColor(hdc: HDC) -> u32
    GetDCEx(hWnd: HWND, hrgnClip: HRGN, flags: u32) -> HDC
    GetDCPenColor(hdc: HDC) -> u32
    GetDIBColorTable(hdc: HDC, iStart: u32, cEntries: u32, prgbq: ^RGBQUAD) -> u32
    GetDIBits(hdc: HDC, hbm: HBITMAP, start, cLines: u32, lpvBits: rawptr, lpbmi: ^BITMAPINFO, usage: u32) -> i32
    GetDesktopWindow() -> HWND
    GetDeviceCaps(hdc: HDC, index: i32) -> i32
    GetDiskFreeSpaceExW(lpDirectoryName: cstring16, lpFreeBytesAvailableToCaller: ^ULARGE_INTEGER, lpTotalNumberOfBytes: ^ULARGE_INTEGER, lpTotalNumberOfFreeBytes: ^ULARGE_INTEGER) -> BOOL
    GetDlgCtrlID(hWnd: HWND) -> i32
    GetDlgItem(hDlg: HWND, nIDDlgItem: i32) -> HWND
    GetDpiForMonitor(hmonitor: HMONITOR, dpiType: MONITOR_DPI_TYPE, dpiX: ^u32, dpiY: ^u32) -> HRESULT
    GetDpiForSystem() -> u32
    GetDpiForWindow(hwnd: HWND) -> u32
    GetDpiFromDpiAwarenessContext(value: DPI_AWARENESS_CONTEXT) -> u32
    GetEffectiveClientRect(hWnd: HWND, lprc: ^RECT, lpInfo: ^i32)
    GetEnvironmentStringsW() -> ^u16
    GetEnvironmentVariableW(n: cstring16, v: ^u16, nsize: u32) -> u32
    GetExitCodeProcess(hProcess: HANDLE, lpExitCode: ^u32) -> BOOL
    GetExitCodeThread(thread: HANDLE, exit_code: ^u32) -> BOOL
    GetFileAttributesExW(lpFileName: cstring16, fInfoLevelId: GET_FILEEX_INFO_LEVELS, lpFileInformation: rawptr) -> BOOL
    GetFileAttributesW(lpFileName: cstring16) -> u32
    GetFileInformationByHandle(hFile: HANDLE, lpFileInformation: ^BY_HANDLE_FILE_INFORMATION) -> BOOL
    GetFileInformationByHandleEx(hFile: HANDLE, fileInfoClass: FILE_INFO_BY_HANDLE_CLASS, lpFileInformation: rawptr, dwBufferSize: u32) -> BOOL
    GetFileSecurityW(lpFileName: cstring16, RequestedInformation: u32, pSecurityDescriptor: rawptr, nLength: u32, lpnLengthNeeded: ^u32) -> BOOL
    GetFileSizeEx(file_handle: HANDLE, file_size: ^LARGE_INTEGER) -> BOOL
    GetFileTime(hFile: HANDLE, lpCreationTime: ^FILETIME, lpLastAccessTime: ^FILETIME, lpLastWriteTime: ^FILETIME) -> BOOL
    GetFileTitleW(s: cstring16, Buf: ^u16, cchSize: u16) -> i16
    GetFileType(file_handle: HANDLE) -> u32
    GetFileVersionInfoExW(dwFlags: bit_set[FILE_VER_GET; u32], lpwstrFilename: cstring16, dwHandle, dwLen: u32, lpData: rawptr) -> BOOL
    GetFileVersionInfoSizeExW(dwFlags: bit_set[FILE_VER_GET; u32], lpwstrFilename: cstring16, lpdwHandle: ^u32) -> u32
    GetFileVersionInfoSizeW(lpwstrFilename: cstring16, lpdwHandle: ^u32) -> u32
    GetFileVersionInfoW(lptstrFilename: cstring16, dwHandle: u32, dwLen: u32, lpData: rawptr) -> BOOL
    GetFinalPathNameByHandleW(hFile: HANDLE, lpszFilePath: cstring16, cchFilePath: u32, dwFlags: u32) -> u32
    GetFocus() -> HWND
    GetForegroundWindow() -> HWND
    GetFullPathNameW(filename: cstring16, buffer_length: u32, buffer: cstring16, file_part: ^cstring16) -> u32
    GetHandleInformation(hObject: HANDLE, lpdwFlags: ^u32) -> BOOL
    GetIconInfoExW(hIcon: HICON, piconinfo: ^ICONINFOEXW) -> BOOL
    GetIoRingInfo(ioRing: HIORING, info: ^IORING_INFO) -> HRESULT
    GetKeyState(nVirtKey: i32) -> i16
    GetKeyboardState(lpKeyState: ^BYTE) -> BOOL
    GetLargePageMinimum() -> uint
    GetLastError() -> u32
    GetLocaleInfoEx(lpLocaleName: cstring16, LCType: LCTYPE, lpLCData: ^u16, cchData: i32) -> i32
    GetLogicalProcessorInformation(buffer: ^SYSTEM_LOGICAL_PROCESSOR_INFORMATION, returnedLength: ^u32) -> BOOL
    GetLongPathNameW(short, long: cstring16, len: u32) -> u32
    GetMemoryErrorHandlingCapabilities(Capabilities: ^u32) -> BOOL
    GetMenu(hWnd: HWND) -> HMENU
    GetMenuDefaultItem(hMenu: HMENU, fByPos: u32, gmdiFlags: u32) -> u32
    GetMenuItemInfoW(hmenu: HMENU, item: u32, fByPosition: BOOL, lpmii: ^MENUITEMINFOW) -> BOOL
    GetMenuItemRect(hWnd: HWND, hMenu: HMENU, uItem: u32, lprcItem: ^RECT) -> i32
    GetMessageExtraInfo() -> int
    GetMessageW(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: u32, wMsgFilterMax: u32) -> i32
    GetModuleFileNameW(hModule: HMODULE, lpFilename: ^u16, nSize: u32) -> u32
    GetModuleHandleA(lpModuleName: cstring) -> HMODULE
    GetModuleHandleW(lpModuleName: cstring16) -> HMODULE
    GetMonitorInfoW(hMonitor: HMONITOR, lpmi: ^MONITORINFO) -> BOOL
    GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpcNumberOfEvents: ^u32) -> BOOL
    GetObjectW(h: HANDLE, c: i32, pv: rawptr) -> i32
    GetOpenClipboardWindow() -> HWND
    GetOpenFileNameW(arg1: ^OPENFILENAMEW) -> BOOL
    GetOverlappedResult(hFile: HANDLE, lpOverlapped: ^OVERLAPPED, lpNumberOfBytesTransferred: ^u32, bWait: BOOL) -> BOOL
    GetParent(hWnd: HWND) -> HWND
    GetPerformanceInfo(pPerformanceInformation: ^PERFORMANCE_INFORMATION, cb: u32) -> BOOL
    GetPointerInfo(pointerId: u32, pointerInfo: ^POINTER_INFO) -> BOOL
    GetPointerPenInfo(pointerId: u32, penInfo: ^POINTER_PEN_INFO) -> BOOL
    GetPriorityClipboardFormat(paFormatPriorityList: ^u32, cFormats: i32) -> i32
    GetProcAddress(h: HMODULE, c_str: cstring) -> rawptr
    GetProcessAffinityMask(hProcess: HANDLE, lpProcessAffinityMask: ^uint, lpSystemAffinityMask: ^uint) -> BOOL
    GetProcessDpiAwareness(hprocess: HANDLE, value: ^PROCESS_DPI_AWARENESS) -> HRESULT
    GetProcessHeap() -> HANDLE
    GetProcessId(handle: HANDLE) -> u32
    GetProcessMemoryInfo(hProcess: HANDLE, ppsmemCounters: ^PROCESS_MEMORY_COUNTERS, cb: u32) -> BOOL
    GetProcessTimes(hProcess: HANDLE, lpCreationTime: ^FILETIME, lpExitTime: ^FILETIME, lpKernelTime: ^FILETIME, lpUserTime: ^FILETIME) -> BOOL
    GetProcessWindowStation() -> HWINSTA
    GetProcessWorkingSetSizeEx(hProcess: HANDLE, lpMinimumWorkingSetSize: ^uint, lpMaximumWorkingSetSize: ^uint, Flags: ^u32) -> BOOL
    GetProductInfo(OSMajorVersion: u32, OSMinorVersion: u32, SpMajorVersion: u32, SpMinorVersion: u32, product_type: ^Windows_Product_Type) -> BOOL
    GetPropW(hWnd: HWND, lpString: cstring16) -> HANDLE
    GetQueueStatus(flags: u32) -> u32
    GetQueuedCompletionStatus(CompletionPort: HANDLE, lpNumberOfBytesTransferred: ^u32, lpCompletionKey: ^uint, lpOverlapped: ^^OVERLAPPED, dwMilliseconds: u32) -> BOOL
    GetQueuedCompletionStatusEx(CompletionPort: HANDLE, lpCompletionPortEntries: ^OVERLAPPED_ENTRY, ulCount: u32, ulNumEntriesRemoved: ^u32, dwMilliseconds: u32, fAlertable: BOOL) -> BOOL
    GetRawInputBuffer(pRawInput: ^RAWINPUT, pcbSize: ^u32, cbSizeHeader: u32) -> u32
    GetRawInputData(hRawInput: HRAWINPUT, uiCommand: u32, pData: rawptr, pcbSize: ^u32, cbSizeHeader: u32) -> u32
    GetRawInputDeviceInfoW(hDevice: HANDLE, uiCommand: u32, pData: rawptr, pcbSize: ^u32) -> u32
    GetRawInputDeviceList(pRawInputDeviceList: ^RAWINPUTDEVICELIST, puiNumDevices: ^u32, cbSize: u32) -> u32
    GetRegisteredRawInputDevices(pRawInputDevices: ^RAWINPUTDEVICE, puiNumDevices: ^u32, cbSize: u32) -> u32
    GetSaveFileNameW(arg1: ^OPENFILENAMEW) -> BOOL
    GetScrollInfo(hwnd: HWND, nBar: i32, lpsi: ^SCROLLINFO) -> BOOL
    GetShortPathNameW(long, short: cstring16, len: u32) -> u32
    GetStartupInfoW(lpStartupInfo: ^STARTUPINFOW)
    GetStdHandle(which: u32) -> HANDLE
    GetStockObject(i: i32) -> HGDIOBJ
    GetSysColor(nIndex: i32) -> u32
    GetSysColorBrush(nIndex: i32) -> HBRUSH
    GetSystemDefaultLCID() -> u32
    GetSystemDefaultLangID() -> u16
    GetSystemDefaultLocaleName(lpLocaleName: ^u16, cchLocaleName: i32) -> i32
    GetSystemDirectoryW(lpBuffer: ^u16, uSize: u32) -> u32
    GetSystemFileCacheSize(lpMinimumFileCacheSize: ^uint, lpMaximumFileCacheSize: ^uint, lpFlags: ^u32) -> BOOL
    GetSystemInfo(system_info: ^SYSTEM_INFO)
    GetSystemMenu(hWnd: HWND, bRevert: BOOL) -> HMENU
    GetSystemMetrics(nIndex: i32) -> i32
    GetSystemMetricsForDpi(nIndex: i32, dpi: u32) -> i32
    GetSystemPowerStatus(lpSystemPowerStatus: ^SYSTEM_POWER_STATUS) -> BOOL
    GetSystemTimeAsFileTime(lpSystemTimeAsFileTime: ^FILETIME)
    GetSystemTimePreciseAsFileTime(lpSystemTimeAsFileTime: ^FILETIME)
    GetSystemWow64Directory2W(lpBuffer: ^u16, uSize: u32, ImageFileMachineTyp: u16) -> u32
    GetSystemWow64DirectoryW(lpBuffer: ^u16, uSize: u32) -> u32
    GetTempFileNameW(lpPathName: cstring16, lpPrefixString: cstring16, uUnique: i32, lpTempFileName: ^u16) -> u32
    GetTempPathW(nBufferLength: u32, lpBuffer: cstring16) -> u32
    GetTextExtentPoint32W(hdc: HDC, lpString: cstring16, c: i32, psizl: ^SIZE) -> BOOL
    GetTextMetricsW(hdc: HDC, lptm: ^TEXTMETRICW) -> BOOL
    GetThreadContext(hThread: HANDLE, lpContext: ^CONTEXT) -> BOOL
    GetThreadDescription(hThread: HANDLE, ppszThreadDescription: ^cstring16) -> HRESULT
    GetThreadDpiAwarenessContext() -> DPI_AWARENESS_CONTEXT
    GetThreadPriority(thread: HANDLE) -> i32
    GetTokenInformation(TokenHandle: HANDLE, TokenInformationClass: TOKEN_INFORMATION_CLASS, TokenInformation: rawptr, TokenInformationLength: u32, ReturnLength: ^u32) -> BOOL
    GetTopWindow(hWnd: HWND) -> HWND
    GetUpdateRect(hWnd: HWND, lpRect: ^RECT, bErase: BOOL) -> BOOL
    GetUpdatedClipboardFormats(lpuiFormats: ^u32, cFormats: u32, pcFormatsOut: ^u32) -> BOOL
    GetUserObjectInformationW(hObj: HANDLE, nIndex: GetUserObjectInformationFlags, pvInfo: rawptr, nLength: u32, lpnLengthNeeded: ^u32) -> BOOL
    GetUserProfileDirectoryW(hToken: HANDLE, lpProfileDir: ^u16, lpcchSize: ^u32) -> BOOL
    GetVersionExW(osvi: ^OSVERSIONINFOEXW)
    GetWindow(hwnd: HWND, uCmd: u32) -> HWND
    GetWindowDC(hWnd: HWND) -> HDC
    GetWindowDpiAwarenessContext(hwnd: HWND) -> DPI_AWARENESS_CONTEXT
    GetWindowInfo(hwnd: HWND, pwi: ^WINDOWINFO) -> BOOL
    GetWindowLongPtrW(hWnd: HWND, nIndex: i32) -> int
    GetWindowLongW(hWnd: HWND, nIndex: i32) -> i32
    GetWindowPlacement(hWnd: HWND, lpwndpl: ^WINDOWPLACEMENT) -> BOOL
    GetWindowRect(hWnd: HWND, lpRect: ^RECT) -> BOOL
    GetWindowTextLengthW(hWnd: HWND) -> i32
    GetWindowTextW(hWnd: HWND, lpString: ^u16, nMaxCount: i32) -> i32
    GetWindowTheme(hwnd: HWND) -> HTHEME
    GetWindowThreadProcessId(hwnd: HWND, lpdwProcessId: ^u32) -> u32
    GetWindowsDirectoryW(lpBuffer: ^u16, uSize: u32) -> u32
    GetWriteWatch(dwFlags: u32, lpBaseAddress: rawptr, dwRegionSize: uint, lpAddresses: ^rawptr, lpdwCount: ^uint, lpdwGranularity: ^u32) -> u32
    GlobalAlloc(flags: u32, bytes: uint) -> rawptr
    GlobalFree(mem: rawptr) -> rawptr
    GlobalLock(hMem: HGLOBAL) -> rawptr
    GlobalMemoryStatusEx(lpBuffer: ^MEMORYSTATUSEX) -> BOOL
    GlobalReAlloc(mem: rawptr, bytes: uint, flags: u32) -> rawptr
    GlobalSize(Mem: rawptr) -> uint
    GlobalUnlock(hMem: HGLOBAL) -> BOOL
    GradientFill(hdc: HDC, pVertex: ^TRIVERTEX, nVertex: u32, pMesh: rawptr, nCount: u32, ulMode: u32) -> BOOL
    HIBYTEproc "contextless" (w: u16) -> BYTE
    HIMAGELIST_QueryInterface(himl: ^IUnknown, riid: ^GUID, ppv: rawptr) -> HRESULT
    HIWORDproc "contextless" (x: int) -> u16
    HRESULT_CODEproc "contextless" (#any_int hr: int) -> int
    Return the code
    HRESULT_FACILITYproc "contextless" (#any_int hr: int) -> FACILITY
    Return the facility
    HRESULT_FROM_WIN32proc "contextless" (code: int) -> HRESULT
    HRESULT_SEVERITYproc "contextless" (#any_int hr: int) -> SEVERITY
    Return the severity
    Header_ClearAllFilters(hwnd: HWND) -> BOOL
    Header_ClearFilter(hwnd: HWND, i: i32) -> BOOL
    Header_CreateDragImage(hwnd: HWND, i: i32) -> ^IUnknown
    Header_DeleteItem(hwndHD: HWND, i: i32) -> BOOL
    Header_EditFilter(hwnd: HWND, i: i32, fDiscardChanges: BOOL) -> BOOL
    Header_GetBitmapMargin(hwnd: HWND) -> i32
    Header_GetImageList(hwnd: HWND) -> ^IUnknown
    Header_GetItem(hwndHD: HWND, i: i32, phdi: ^HDITEMW) -> BOOL
    Header_GetItemCount(hwndHD: HWND) -> i32
    Header_GetItemRect(hwnd: HWND, iItem: i32, lprc: ^RECT) -> BOOL
    Header_GetOrderArray(hwnd: HWND, iCount: i32, lpi: ^i32) -> BOOL
    Header_GetUnicodeFormat(hwnd: HWND) -> BOOL
    Header_InsertItem(hwndHD: HWND, i: i32, phdi: ^HDITEMW) -> i32
    Header_Layout(hwndHD: HWND, playout: ^HDLAYOUT) -> BOOL
    Header_OrderToIndex(hwnd: HWND, i: i32) -> i32
    Header_SetBitmapMargin(hwnd: HWND, iWidth: i32) -> i32
    Header_SetFilterChangeTimeout(hwnd: HWND, i: i32) -> i32
    Header_SetHotDivider(hwnd: HWND, fPos: BOOL, dw: u32) -> i32
    Header_SetImageList(hwnd: HWND, himl: ^IUnknown) -> ^IUnknown
    Header_SetItem(hwndHD: HWND, i: i32, phdi: ^HDITEMW) -> BOOL
    Header_SetOrderArray(hwnd: HWND, iCount: i32, lpi: ^i32) -> BOOL
    Header_SetUnicodeFormat(hwnd: HWND, fUnicode: BOOL) -> BOOL
    Heap32First(lphe: ^HEAPENTRY32, th32ProcessID: u32, th32HeapID: uint) -> BOOL
    Heap32ListFirst(hSnapshot: HANDLE, lphl: ^HEAPLIST32) -> BOOL
    Heap32ListNext(hSnapshot: HANDLE, lphl: ^HEAPLIST32) -> BOOL
    Heap32Next(lphe: ^HEAPENTRY32) -> BOOL
    HeapAlloc(hHeap: HANDLE, dwFlags: u32, dwBytes: uint) -> rawptr
    HeapFree(hHeap: HANDLE, dwFlags: u32, lpMem: rawptr) -> BOOL
    HeapReAlloc(hHeap: HANDLE, dwFlags: u32, lpMem: rawptr, dwBytes: uint) -> rawptr
    HidD_FlushQueue(HidDeviceObject: HANDLE) -> BOOLEAN
    HidD_FreePreparsedData(PreparsedData: ^rawptr) -> BOOLEAN
    HidD_GetAttributes(HidDeviceObject: HANDLE, Attributes: ^HIDD_ATTRIBUTES) -> BOOLEAN
    HidD_GetConfiguration(HidDeviceObject: HANDLE, Configuration: ^HIDD_CONFIGURATION, ConfigurationLength: u32) -> BOOLEAN
    HidD_GetFeature(HidDeviceObject: HANDLE, ReportBuffer: rawptr, ReportBufferLength: u32) -> BOOLEAN
    HidD_GetHidGuid(HidGuid: ^GUID)
    HidD_GetIndexedString(HidDeviceObject: HANDLE, StringIndex: u32, Buffer: rawptr, BufferLength: u32) -> BOOLEAN
    HidD_GetInputReport(HidDeviceObject: HANDLE, ReportBuffer: rawptr, ReportBufferLength: u32) -> BOOLEAN
    HidD_GetManufacturerString(HidDeviceObject: HANDLE, Buffer: rawptr, BufferLength: u32) -> BOOLEAN
    HidD_GetMsGenreDescriptor(HidDeviceObject: HANDLE, Buffer: rawptr, BufferLength: u32) -> BOOLEAN
    HidD_GetNumInputBuffers(HidDeviceObject: HANDLE, NumberBuffers: ^u32) -> BOOLEAN
    HidD_GetPhysicalDescriptor(HidDeviceObject: HANDLE, Buffer: rawptr, BufferLength: u32) -> BOOLEAN
    HidD_GetPreparsedData(HidDeviceObject: HANDLE, PreparsedData: ^^rawptr) -> BOOLEAN
    HidD_GetProductString(HidDeviceObject: HANDLE, Buffer: rawptr, BufferLength: u32) -> BOOLEAN
    HidD_GetSerialNumberString(HidDeviceObject: HANDLE, Buffer: rawptr, BufferLength: u32) -> BOOLEAN
    HidD_SetConfiguration(HidDeviceObject: HANDLE, Configuration: ^HIDD_CONFIGURATION, ConfigurationLength: u32) -> BOOLEAN
    HidD_SetFeature(HidDeviceObject: HANDLE, ReportBuffer: rawptr, ReportBufferLength: u32) -> BOOLEAN
    HidD_SetNumInputBuffers(HidDeviceObject: HANDLE, NumberBuffers: u32) -> BOOLEAN
    HidD_SetOutputReport(HidDeviceObject: HANDLE, ReportBuffer: rawptr, ReportBufferLength: u32) -> BOOLEAN
    HidP_GetButtonCaps(ReportType: HIDP_REPORT_TYPE, ButtonCaps: ^HIDP_BUTTON_CAPS, ButtonCapsLength: ^u16, PreparsedData: ^rawptr) -> i32
    HidP_GetCaps(PreparsedData: ^rawptr, Capabilities: ^HIDP_CAPS) -> i32
    HidP_GetData(ReportType: HIDP_REPORT_TYPE, DataList: ^HIDP_DATA, DataLength: ^u32, PreparsedData: ^rawptr, Report: ^u8, ReportLength: u32) -> i32
    HidP_GetLinkCollectionNodes(LinkCollectionNodes: ^HIDP_LINK_COLLECTION_NODE, LinkCollectionNodesLength: ^u32, PreparsedData: ^rawptr) -> i32
    HidP_GetUsageValue(ReportType: HIDP_REPORT_TYPE, UsagePage: USAGE, LinkCollection: u16, Usage: USAGE, UsageValue: ^u32, PreparsedData: ^rawptr, Report: ^u8, ReportLength: u32) -> i32
    HidP_GetUsages(ReportType: HIDP_REPORT_TYPE, UsagePage: USAGE, LinkCollection: u16, UsageList: ^USAGE, UsageLength: ^u32, PreparsedData: ^rawptr, Report: ^u8, ReportLength: u32) -> i32
    HidP_GetValueCaps(ReportType: HIDP_REPORT_TYPE, ValueCaps: ^HIDP_VALUE_CAPS, ValueCapsLength: ^u16, PreparsedData: ^rawptr) -> i32
    IIDFromString(lpsz: cstring16, lpiid: ^GUID) -> HRESULT
    INDEXTOSTATEIMAGEMASK(i: u32) -> u32
    IS_ERRORproc "contextless" (#any_int status: int) -> bool
    Generic test for error on any status value.
    ImageList_Add(himl: ^IUnknown, hbmImage, hbmMask: HBITMAP) -> i32
    ImageList_AddIcon(himl: ^IUnknown, hicon: HICON) -> i32
    ImageList_AddMasked(himl: ^IUnknown, hbmImage: HBITMAP, crMask: u32) -> i32
    ImageList_BeginDrag(himlTrack: ^IUnknown, iTrack, dxHotspot, dyHotspot: i32) -> BOOL
    ImageList_Copy(himlDst: ^IUnknown, iDst: i32, himlSrc: ^IUnknown, iSrc: i32, uFlags: u32) -> BOOL
    ImageList_Create(cx, cy: i32, flags: u32, cInitial, cGrow: i32) -> ^IUnknown
    ImageList_Destroy(himl: ^IUnknown) -> BOOL
    ImageList_DragEnter(hwndLock: HWND, x, y: i32) -> BOOL
    ImageList_DragLeave(hwndLock: HWND) -> BOOL
    ImageList_DragMove(x, y: i32) -> BOOL
    ImageList_DragShowNolock(fShow: BOOL) -> BOOL
    ImageList_Draw(himl: ^IUnknown, i: i32, hdcDst: HDC, x, y: i32, fStyle: u32) -> BOOL
    ImageList_DrawEx(himl: ^IUnknown, i: i32, hdcDst: HDC, x, y, dx, dy: i32, rgbBk, rgbFg: u32, fStyle: u32) -> BOOL
    ImageList_DrawIndirect(pimldp: ^IMAGELISTDRAWPARAMS) -> BOOL
    ImageList_Duplicate(himl: ^IUnknown) -> ^IUnknown
    ImageList_EndDrag()
    ImageList_ExtractIcon(hi: HANDLE, himl: ^IUnknown, i: i32) -> HICON
    ImageList_GetBkColor(himl: ^IUnknown) -> u32
    ImageList_GetDragImage(ppt, pptHotspot: ^POINT) -> ^IUnknown
    ImageList_GetIcon(himl: ^IUnknown, i: i32, flags: u32) -> HICON
    ImageList_GetIconSize(himl: ^IUnknown, cx, cy: ^i32) -> BOOL
    ImageList_GetImageCount(himl: ^IUnknown) -> i32
    ImageList_GetImageInfo(himl: ^IUnknown, i: i32, pImageInfo: ^IMAGEINFO) -> BOOL
    ImageList_LoadBitmap(hi: HANDLE, lpbmp: cstring16, cx, cGrow: i32, crMask: u32) -> ^IUnknown
    ImageList_LoadImageW(hi: HANDLE, lpbmp: cstring16, cx, cgrow: i32, crMask: u32, uType, uFlags: u32) -> ^IUnknown
    ImageList_Merge(himl1: ^IUnknown, i1: i32, himl2: ^IUnknown, i2: i32, dx, dy: i32) -> ^IUnknown
    ImageList_Read(pstm: ^IStream) -> ^IUnknown
    ImageList_ReadEx(dwFlags: u32, pstm: ^IStream, riid: ^GUID, ppv: rawptr) -> HRESULT
    ImageList_Remove(himl: ^IUnknown, i: i32) -> BOOL
    ImageList_RemoveAll(himl: ^IUnknown) -> BOOL
    ImageList_Replace(himl: ^IUnknown, i: i32, hbmImage, hbmMask: HBITMAP) -> BOOL
    ImageList_ReplaceIcon(himl: ^IUnknown, i: i32, hicon: HICON) -> i32
    ImageList_SetBkColor(himl: ^IUnknown, clrBk: u32) -> u32
    ImageList_SetDragCursorImage(himlDrag: ^IUnknown, iDrag, dxHotspot, dyHotspot: i32) -> BOOL
    ImageList_SetIconSize(himl: ^IUnknown, cx, cy: i32) -> BOOL
    ImageList_SetImageCount(himl: ^IUnknown, uNewCount: u32) -> BOOL
    ImageList_SetOverlayImage(himl: ^IUnknown, iImage: i32, iOverlay: i32) -> BOOL
    ImageList_Write(himl: ^IUnknown, pstm: ^IStream) -> BOOL
    ImageList_WriteEx(himl: ^IUnknown, dwFlags: u32, pstm: ^IStream) -> HRESULT
    InflateRect(lprc1: ^RECT, dx, dy: i32) -> BOOL
    InitCommonControlsEx(picce: ^INITCOMMONCONTROLSEX) -> BOOL
    InitializeConditionVariable(ConditionVariable: ^CONDITION_VARIABLE)
    InitializeCriticalSection(CriticalSection: ^CRITICAL_SECTION)
    InitializeCriticalSectionAndSpinCount(CriticalSection: ^CRITICAL_SECTION, dwSpinCount: u32) -> BOOL
    InitializeSRWLock(SRWLock: ^SRWLOCK)
    InitializeSynchronizationBarrier(lpBarrier: ^SYNCHRONIZATION_BARRIER, lTotalThreads: i32, lSpinCount: i32) -> BOOL
    InsertMenuItemW(hmenu: HMENU, item: u32, fByPosition: BOOL, lpmi: ^MENUITEMINFOW) -> BOOL
    InsertMenuW(hMenu: HMENU, uPosition: u32, uFlags: u32, uIDNewItem: uintptr, lpNewItem: cstring16) -> BOOL
    IntersectRect(lprcDst, lprcSrc1, lprcSrc2: ^RECT) -> BOOL
    InvalidateRect(hWnd: HWND, lpRect: ^RECT, bErase: BOOL) -> BOOL
    InvertRect(hDC: HDC, lprc: ^RECT) -> BOOL
    IsChild(hWndParent, hWnd: HWND) -> BOOL
    IsClipboardFormatAvailable(format: u32) -> BOOL
    IsDialogMessageW(hDlg: HWND, lpMsg: ^MSG) -> BOOL
    IsIconic(hwnd: HWND) -> BOOL
    IsIoRingOpSupported(ioRing: HIORING, op: IORING_OP_CODE) -> BOOL
    IsProcessDPIAware() -> BOOL
    IsRectEmpty(lprc: ^RECT) -> BOOL
    IsThemeActive() -> BOOL
    IsValidCodePage(CodePage: u32) -> BOOL
    IsValidLocaleName(lpLocaleName: cstring16) -> BOOL
    IsWindow(hWnd: HWND) -> BOOL
    IsWindowEnabled(hwnd: HWND) -> BOOL
    IsWindowVisible(hwnd: HWND) -> BOOL
    IsWow64GuestMachineSupported(WowGuestMachine: u16, MachineIsSupported: ^BOOL) -> HRESULT
    IsWow64Process(hProcess: HANDLE, Wow64Process: ^BOOL) -> BOOL
    IsWow64Process2(hProcess: HANDLE, pProcessMachine: ^u16, pNativeMachine: ^u16) -> BOOL
    IsZoomed(hwnd: HWND) -> BOOL
    KillTimer(hWnd: HWND, uIDEvent: uintptr) -> BOOL
    Linvalid type
    LANGIDFROMLCIDproc "contextless" (lcid: u32) -> u16
    LBItemFromPt(hLB: HWND, pt: POINT, bAutoScroll: BOOL) -> i32
    LCIDToLocaleName(Locale: u32, lpName: ^u16, cchName: i32, dwFlags: u32) -> i32
    LOBYTEproc "contextless" (w: u16) -> BYTE
    LOWORDproc "contextless" (x: int) -> u16
    LeaveCriticalSection(CriticalSection: ^CRITICAL_SECTION)
    LineTo(hdc: HDC, x: i32, y: i32) -> BOOL
    ListView_ApproximateViewRect(hwnd: HWND, iWidth, iHeight: i32, iCount: i32) -> u32
    ListView_Arrange(hwndLV: HWND, code: u32) -> BOOL
    ListView_CancelEditLabel(hwnd: HWND)
    ListView_CreateDragImage(hwnd: HWND, i: i32, lpptUpLeft: ^POINT) -> ^IUnknown
    ListView_DeleteAllItems(hwnd: HWND) -> BOOL
    ListView_DeleteColumn(hwnd: HWND, iCol: i32) -> BOOL
    ListView_DeleteItem(hwnd: HWND, i: i32) -> BOOL
    ListView_EditLabel(hwndLV: HWND, i: i32) -> HWND
    ListView_EnableGroupView(hwnd: HWND, fEnable: BOOL) -> i32
    ListView_EnsureVisible(hwndLV: HWND, i: i32, fPartialOK: BOOL) -> BOOL
    ListView_FindItem(hwnd: HWND, iStart: i32, plvfi: ^LVFINDINFOW) -> i32
    ListView_GetCallbackMask(hwnd: HWND) -> u32
    ListView_GetCheckState(hwndLV: HWND, i: i32) -> u32
    ListView_GetColumn(hwnd: HWND, iCol: i32, pcol: ^LVCOLUMNW) -> BOOL
    ListView_GetColumnOrderArray(hwnd: HWND, iCount: i32, pi: ^i32) -> BOOL
    ListView_GetColumnWidth(hwnd: HWND, iCol: i32) -> i32
    ListView_GetCountPerPage(hwndLV: HWND) -> i32
    ListView_GetEditControl(hwndLV: HWND) -> HWND
    ListView_GetGroupInfo(hwnd: HWND, iGroupId: i32, pgrp: ^LVGROUP) -> i32
    ListView_GetGroupMetrics(hwnd: HWND, pGroupMetrics: ^LVGROUPMETRICS)
    ListView_GetHeader(hwnd: HWND) -> HWND
    ListView_GetHotCursor(hwnd: HWND) -> HCURSOR
    ListView_GetHotItem(hwnd: HWND) -> i32
    ListView_GetHoverTime(hwndLV: HWND) -> u32
    ListView_GetISearchString(hwndLV: HWND, lpsz: ^u16) -> BOOL
    ListView_GetInsertMark(hwnd: HWND, lvim: ^LVINSERTMARK) -> BOOL
    ListView_GetInsertMarkColor(hwnd: HWND) -> u32
    ListView_GetInsertMarkRect(hwnd: HWND, rc: ^RECT) -> i32
    ListView_GetItem(hwnd: HWND, pitem: ^LVITEMW) -> BOOL
    ListView_GetItemPosition(hwnd: HWND, i: i32, ppt: ^POINT) -> BOOL
    ListView_GetItemRect(hwnd: HWND, i: i32, prc: ^RECT, code: i32) -> BOOL
    ListView_GetItemSpacing(hwndLV: HWND, fSmall: BOOL) -> u32
    ListView_GetItemState(hwndLV: HWND, i: i32, mask: u32) -> u32
    ListView_GetItemText(hwndLV: HWND, i: i32, iSubItem: i32, pszText: ^u16, cchTextMax: i32)
    ListView_GetNextItem(hwnd: HWND, i: i32, flags: u32) -> i32
    ListView_GetNumberOfWorkAreas(hwnd: HWND, pnWorkAreas: ^u32) -> BOOL
    ListView_GetOrigin(hwndLV: HWND, ppt: ^POINT) -> BOOL
    ListView_GetOutlineColor(hwnd: HWND) -> u32
    ListView_GetSelectedColumn(hwnd: HWND) -> u32
    ListView_GetSelectedCount(hwndLV: HWND) -> u32
    ListView_GetSelectionMark(hwnd: HWND) -> i32
    ListView_GetStringWidth(hwndLV: HWND, psz: cstring16) -> i32
    ListView_GetSubItemRect(hwnd: HWND, iItem: i32, iSubItem: i32, code: i32, prc: ^RECT) -> BOOL
    ListView_GetTextBkColor(hwnd: HWND) -> u32
    ListView_GetTextColor(hwnd: HWND) -> u32
    ListView_GetTileInfo(hwnd: HWND, pti: ^LVTILEINFO)
    ListView_GetTileViewInfo(hwnd: HWND, ptvi: ^LVTILEVIEWINFO)
    ListView_GetToolTips(hwndLV: HWND) -> HWND
    ListView_GetTopIndex(hwndLV: HWND) -> i32
    ListView_GetView(hwnd: HWND) -> u32
    ListView_GetViewRect(hwnd: HWND, prc: ^RECT) -> BOOL
    ListView_GetWorkAreas(hwnd: HWND, nWorkAreas: u32, prc: ^RECT) -> BOOL
    ListView_HasGroup(hwnd: HWND, dwGroupId: i32) -> BOOL
    ListView_HitTest(hwndLV: HWND, pinfo: ^LVHITTESTINFO) -> i32
    ListView_InsertColumn(hwnd: HWND, iCol: i32, pcol: ^LVCOLUMNW) -> i32
    ListView_InsertGroup(hwnd: HWND, index: i32, pgrp: ^LVGROUP) -> i32
    ListView_InsertGroupSorted(hwnd: HWND, structInsert: ^LVINSERTGROUPSORTED)
    ListView_InsertItem(hwnd: HWND, pitem: ^LVITEMW) -> i32
    ListView_InsertMarkHitTest(hwnd: HWND, point: ^POINT, lvim: ^LVINSERTMARK) -> i32
    ListView_IsGroupViewEnabled(hwnd: HWND) -> BOOL
    ListView_IsItemVisible(hwnd: HWND, index: u32) -> BOOL
    ListView_MapIDToIndex(hwnd: HWND, id: u32) -> u32
    ListView_MapIndexToID(hwnd: HWND, index: u32) -> u32
    ListView_MoveGroup(hwnd: HWND, iGroupId: i32, toIndex: i32)
    ListView_MoveItemToGroup(hwnd: HWND, idItemFrom: i32, idGroupTo: i32)
    ListView_RedrawItems(hwndLV: HWND, iFirst, iLast: i32) -> BOOL
    ListView_RemoveAllGroups(hwnd: HWND)
    ListView_RemoveGroup(hwnd: HWND, iGroupId: i32) -> i32
    ListView_Scroll(hwndLV: HWND, dx, dy: i32) -> BOOL
    ListView_SetCallbackMask(hwnd: HWND, mask: u32) -> BOOL
    ListView_SetCheckState(hwndLV: HWND, i: i32, fCheck: BOOL)
    ListView_SetColumn(hwnd: HWND, iCol: i32, pcol: ^LVCOLUMNW) -> BOOL
    ListView_SetColumnOrderArray(hwnd: HWND, iCount: i32, pi: ^i32) -> BOOL
    ListView_SetColumnWidth(hwnd: HWND, iCol: i32, cx: i32) -> BOOL
    ListView_SetExtendedListViewStyle(hwndLV: HWND, dw: u32) -> u32
    ListView_SetExtendedListViewStyleEx(hwndLV: HWND, dwMask: u32, dw: u32) -> u32
    ListView_SetGroupInfo(hwnd: HWND, iGroupId: i32, pgrp: ^LVGROUP) -> i32
    ListView_SetGroupMetrics(hwnd: HWND, pGroupMetrics: ^LVGROUPMETRICS)
    ListView_SetHotCursor(hwnd: HWND, hcur: HCURSOR) -> HCURSOR
    ListView_SetHotItem(hwnd: HWND, i: i32) -> i32
    ListView_SetHoverTime(hwndLV: HWND, dwHoverTimeMs: u32) -> u32
    ListView_SetIconSpacing(hwndLV: HWND, cx, cy: i32) -> u32
    ListView_SetInfoTip(hwndLV: HWND, plvInfoTip: ^LVSETINFOTIP) -> BOOL
    ListView_SetInsertMark(hwnd: HWND, lvim: ^LVINSERTMARK) -> BOOL
    ListView_SetInsertMarkColor(hwnd: HWND, color: u32) -> u32
    ListView_SetItem(hwnd: HWND, pitem: ^LVITEMW) -> BOOL
    ListView_SetItemCount(hwndLV: HWND, cItems: i32)
    ListView_SetItemCountEx(hwndLV: HWND, cItems: i32, dwFlags: u32)
    ListView_SetItemPosition(hwnd: HWND, i: i32, x, y: i32) -> BOOL
    ListView_SetItemPosition32(hwndLV: HWND, i: i32, x0, y0: i32)
    ListView_SetItemState(hwndLV: HWND, i: i32, data: u32, mask: u32)
    ListView_SetItemText(hwndLV: HWND, i: i32, iSubItem: i32, pszText: ^u16)
    ListView_SetOutlineColor(hwnd: HWND, color: u32) -> u32
    ListView_SetSelectedColumn(hwnd: HWND, iCol: i32)
    ListView_SetSelectionMark(hwnd: HWND, i: i32) -> i32
    ListView_SetTextBkColor(hwnd: HWND, clrTextBk: u32) -> BOOL
    ListView_SetTextColor(hwnd: HWND, clrText: u32) -> BOOL
    ListView_SetTileInfo(hwnd: HWND, pti: ^LVTILEINFO) -> BOOL
    ListView_SetTileViewInfo(hwnd: HWND, ptvi: ^LVTILEVIEWINFO) -> BOOL
    ListView_SetToolTips(hwndLV: HWND, hwndNewHwnd: HWND) -> HWND
    ListView_SetView(hwnd: HWND, iView: u32) -> i32
    ListView_SetWorkAreas(hwnd: HWND, nWorkAreas: u32, prc: ^RECT) -> BOOL
    ListView_SortGroups(hwnd: HWND, pfnGroupCompare: PFNLVGROUPCOMPARE, pUser: rawptr) -> i32
    ListView_SortItems(hwndLV: HWND, pfnCompare: PFNLVCOMPARE, lpUser: int) -> BOOL
    ListView_SortItemsEx(hwndLV: HWND, pfnCompare: PFNLVCOMPARE, lpUser: int) -> BOOL
    ListView_SubItemHitTest(hwnd: HWND, plvhti: ^LVHITTESTINFO) -> i32
    ListView_Update(hwndLV: HWND, i: i32) -> BOOL
    LoadAcceleratorsW(hInstance: HANDLE, lpTableName: cstring16) -> HACCEL
    LoadCursorA(hInstance: HANDLE, lpCursorName: cstring) -> HCURSOR
    LoadCursorW(hInstance: HANDLE, lpCursorName: cstring16) -> HCURSOR
    LoadIconA(hInstance: HANDLE, lpIconName: cstring) -> HICON
    LoadIconW(hInstance: HANDLE, lpIconName: cstring16) -> HICON
    LoadIconWithScaleDown(hinst: HANDLE, pszName: cstring16, cx: i32, cy: i32, phico: ^HICON) -> HRESULT
    LoadImageW(hInst: HANDLE, name: cstring16, type: u32, cx, cy: i32, fuLoad: u32) -> HANDLE
    LoadLibraryExW(c_str: cstring16, hFile: HANDLE, dwFlags: LoadLibraryEx_Flags) -> HMODULE
    LoadLibraryW(c_str: cstring16) -> HMODULE
    LoadResource(hModule: HMODULE, hResInfo: HRSRC) -> HGLOBAL
    LoadUserProfileW(hToken: HANDLE, lpProfileInfo: ^PROFILEINFOW) -> BOOL
    LocalAlloc(flags: u32, bytes: uint) -> rawptr
    LocalFree(mem: rawptr) -> rawptr
    LocalReAlloc(mem: rawptr, bytes: uint, flags: u32) -> rawptr
    LocaleNameToLCID(lpName: cstring16, dwFlags: u32) -> u32
    LockFileEx(hFile: HANDLE, dwFLags: u32, dwReserved: u32, nNumberOfBytesToLockLow: u32, nNumberOfBytesToLockHigh: u32, lpOverlapped: ^OVERLAPPED) -> BOOL
    LockResource(hResData: HGLOBAL) -> rawptr
    LogonUserW(lpszUsername: cstring16, lpszDomain: cstring16, lpszPassword: cstring16, dwLogonType: Logon32_Type, dwLogonProvider: Logon32_Provider, phToken: ^HANDLE) -> BOOL
    LookupAccountNameW(lpSystemName: cstring16, lpAccountName: cstring16, Sid: ^SID, cbSid: ^u32, ReferencedDomainName: cstring16, cchReferencedDomainName: ^u32, peUse: ^SID_NAME_USE) -> BOOL
    LookupAccountSidW(lpSystemName: cstring16, Sid: rawptr, Name: ^u16, cchName: ^u32, ReferencedDomainName: ^u16, cchReferencedDomainName: ^u32, peUse: ^SID_NAME_USE) -> BOOL
    LookupIconIdFromDirectory(presbits: ^BYTE, fIcon: BOOL) -> i32
    LookupIconIdFromDirectoryEx(presbits: ^BYTE, fIcon: BOOL, cxDesired: i32, cyDesired: i32, Flags: u32) -> i32
    MAKEFOURCCproc "contextless" (s: [4]u8) -> u32
    Input is four characters string Output is little-endian u32 representation
    MAKEINTRESOURCEWproc "contextless" (#any_int i: int) -> ^u16
    MAKELANGIDproc "contextless" (p, s: u16) -> u32
    MAKELCIDproc "contextless" (lgid, srtid: u16) -> u32
    MAKELONGproc "contextless" (#any_int a, #any_int b: int) -> i32
    MAKELPARAMproc "contextless" (#any_int l, #any_int h: int) -> int
    MAKELRESULTproc "contextless" (#any_int l, #any_int h: int) -> int
    MAKEWORDproc "contextless" (#any_int a, #any_int b: int) -> u16
    MAKEWPARAMproc "contextless" (#any_int l, #any_int h: int) -> uintptr
    MAKE_HRESULTproc "contextless" (#any_int sev: int, #any_int fac: int, #any_int code: int) -> HRESULT
    Create an HRESULT value from component pieces
    MakeDragList(hLB: HWND) -> BOOL
    MapGenericMask(AccessMask: ^u32, GenericMapping: ^GENERIC_MAPPING)
    MapUserPhysicalPages(VirtualAddress: rawptr, NumberOfPages: uint, PageArray: ^uint) -> BOOL
    MapViewOfFile(hFileMappingObject: HANDLE, dwDesiredAccess: u32, dwFileOffsetHigh: u32, dwFileOffsetLow: u32, dwNumberOfBytesToMap: uint) -> rawptr
    MapViewOfFile2(FileMappingHandle: HANDLE, ProcessHandle: HANDLE, Offset: u64, BaseAddress: rawptr, ViewSize: uint, AllocationType: u32, PageProtection: u32) -> rawptr
    MapViewOfFile3(FileMappingHandle: HANDLE, ProcessHandle: HANDLE, BaseAddress: rawptr, Offset: u64, ViewSize: uint, AllocationType: u32, PageProtection: u32, ExtendedParameters: ^MEM_EXTENDED_PARAMETER, ParameterCount: u32) -> rawptr
    MapViewOfFileEx(hFileMappingObject: HANDLE, dwDesiredAccess: u32, dwFileOffsetHigh: u32, dwFileOffsetLow: u32, dwNumberOfBytesToMap: uint, lpBaseAddress: rawptr) -> rawptr
    MapViewOfFileFromApp(hFileMappingObject: HANDLE, DesiredAccess: u32, FileOffset: u64, NumberOfBytesToMap: uint) -> rawptr
    MapViewOfFileNuma2(FileMappingHandle: HANDLE, ProcessHandle: HANDLE, Offset: u64, BaseAddress: rawptr, ViewSize: uint, AllocationType: u32, PageProtection: u32, PreferredNode: u32) -> rawptr
    MapVirtualKeyW(uCode: u32, uMapType: u32) -> u32
    MessageBeep(uType: u32) -> BOOL
    MessageBoxExW(hWnd: HWND, lpText: cstring16, lpCaption: cstring16, uType: u32, wLanguageId: u16) -> i32
    MessageBoxExA :: proc(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT, wLanguageId: WORD) -> INT ---
    MessageBoxW(hWnd: HWND, lpText: cstring16, lpCaption: cstring16, uType: u32) -> i32
    MessageBoxA :: proc(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT) -> INT ---
    MiniDumpReadDumpStream(BaseOfDump: rawptr, StreamNumber: u32, Dir: ^^MINIDUMP_DIRECTORY, StreamPointer: ^rawptr, StreamSize: ^u32) -> BOOL
    MiniDumpWriteDump(hProcess: HANDLE, ProcessId: u32, hFile: HANDLE, DumpType: MINIDUMP_TYPE, ExceptionParam: ^MINIDUMP_EXCEPTION_INFORMATION, UserStreamParam: ^MINIDUMP_USER_STREAM_INFORMATION, CallbackPara: ^MINIDUMP_CALLBACK_INFORMATION) -> BOOL
    Module32FirstW(hSnapshot: HANDLE, lpme: ^MODULEENTRY32W) -> BOOL
    Module32NextW(hSnapshot: HANDLE, lpme: ^MODULEENTRY32W) -> BOOL
    MonitorFromPoint(pt: POINT, dwFlags: Monitor_From_Flags) -> HMONITOR
    MonitorFromRect(lprc: ^RECT, dwFlags: Monitor_From_Flags) -> HMONITOR
    MonitorFromWindow(hwnd: HWND, dwFlags: Monitor_From_Flags) -> HMONITOR
    MoveFileExW(lpExistingFileName: cstring16, lpNewFileName: cstring16, dwFlags: u32) -> BOOL
    MoveToEx(hdc: HDC, x: i32, y: i32, lppt: ^POINT) -> BOOL
    Line Drawing Functions
    MoveWindow(hWnd: HWND, X, Y, hWidth, hHeight: i32, bRepaint: BOOL) -> BOOL
    MsgWaitForMultipleObjects(nCount: u32, pHandles: [^]HANDLE, fWaitAll: BOOL, dwMilliseconds: u32, dwWakeMask: u32) -> u32
    MultiByteToWideChar(CodePage: u32, dwFlags: u32, lpMultiByteStr: ^u8, cbMultiByte: i32, lpWideCharStr: ^u16, cchWideChar: i32) -> i32
    NEXTRAWINPUTBLOCKproc "contextless" (ptr: ^RAWINPUT) -> ^RAWINPUT
    NetLocalGroupAddMembers(servername: cstring16, groupname: cstring16, level: u32, group_members_info: ^LOCALGROUP_MEMBERS_INFO_0, totalentries: u32) -> NET_API_STATUS
    NetLocalGroupDelMembers(servername: cstring16, groupname: cstring16, level: u32, group_members_info: ^LOCALGROUP_MEMBERS_INFO_0, totalentries: u32) -> NET_API_STATUS
    NetUserAdd(servername: cstring16, level: u32, user_info: ^USER_INFO_1, parm_err: ^u32) -> NET_API_STATUS
    NetUserDel(servername: cstring16, username: cstring16) -> NET_API_STATUS
    NetUserGetInfo(servername: cstring16, username: cstring16, level: u32, user_info: ^USER_INFO_1) -> NET_API_STATUS
    NtAssociateWaitCompletionPacket(WaitCompletionPacketHandle: HANDLE, IoCompletionHandle: HANDLE, TargetObjectHandle: HANDLE, KeyContext: rawptr, ApcContext: rawptr, IoStatus: i32, IoStatusInformation: uint, AlreadySignaled: ^BOOLEAN) -> i32
    NtCreateFile(FileHandle: ^HANDLE, DesiredAccess: u32, ObjectAttributes: ^OBJECT_ATTRIBUTES, IoStatusBlock: ^IO_STATUS_BLOCK, AllocationSize: ^LARGE_INTEGER, FileAttributes: u32, ShareAccess: u32, CreateDisposition: u32, CreateOptions: u32, EaBuffer: rawptr, EaLength: u32) -> i32
    NtDelayExecution(Alertable: BOOL, DelayInterval: ^LARGE_INTEGER) -> i32
    NtDeviceIoControlFile(FileHandle: HANDLE, Event: HANDLE, ApcRoutine: PIO_APC_ROUTINE, ApcContext: rawptr, IoStatusBlock: ^IO_STATUS_BLOCK, IoControlCode: u32, InputBuffer: rawptr, InputBufferLength: u32, OutputBuffer: rawptr, OutputBufferLength: u32) -> i32
    NtQueryDirectoryFileEx(FileHandle: HANDLE, Event: HANDLE, ApcRoutine: PIO_APC_ROUTINE, ApcContext: rawptr, IoStatusBlock: ^IO_STATUS_BLOCK, FileInformation: rawptr, Length: u32, FileInformationClass: FILE_INFORMATION_CLASS, QueryFlags: u32, FileName: ^UNICODE_STRING) -> i32
    NtQueryInformationFile(FileHandle: HANDLE, IoStatusBlock: ^IO_STATUS_BLOCK, FileInformation: rawptr, Length: u32, FileInformationClass: FILE_INFORMATION_CLASS) -> i32
    NtQueryInformationProcess(ProcessHandle: HANDLE, ProcessInformationClass: PROCESS_INFO_CLASS, ProcessInformation: rawptr, ProcessInformationLength: u32, ReturnLength: ^u32) -> u32
    OfferVirtualMemory(VirtualAddress: rawptr, Size: uint, Priority: OFFER_PRIORITY) -> u32
    OffsetRect(lprc1: ^RECT, dx, dy: i32) -> BOOL
    OpenClipboard(hWndNewOwner: HWND) -> BOOL
    OpenFileMappingFromApp(DesiredAccess: u32, InheritHandle: BOOL, Name: cstring16) -> HANDLE
    OpenFileMappingW(dwDesiredAccess: u32, bInheritHandle: BOOL, lpName: cstring16) -> HANDLE
    OpenProcess(dwDesiredAccess: u32, bInheritHandle: BOOL, dwProcessId: u32) -> HANDLE
    OpenProcessToken(ProcessHandle: HANDLE, DesiredAccess: u32, TokenHandle: ^HANDLE) -> BOOL
    OpenThread(dwDesiredAccess: u32, bInheritHandle: BOOL, dwThreadId: u32) -> HANDLE
    OpenThreadToken(ThreadHandle: HANDLE, DesiredAccess: u32, OpenAsSelf: BOOL, TokenHandle: ^HANDLE) -> BOOL
    OutputDebugStringA(lpOutputString: cstring)
    The only A thing that is allowed
    OutputDebugStringW(lpOutputString: cstring16)
    PALETTEINDEXproc "contextless" (#any_int i: int) -> u32
    PALETTERGBproc "contextless" (#any_int r, #any_int g, #any_int b: int) -> u32
    PageSetupDlgW(lpcc: ^PAGESETUPDLGW) -> BOOL
    PatBlt(hdc: HDC, x, y, w, h: i32, rop: u32) -> BOOL
    PathFileExistsW(pszPath: cstring16) -> BOOL
    PathFindExtensionW(pszPath: cstring16) -> cstring16
    PathFindFileNameW(pszPath: cstring16) -> cstring16
    PeekConsoleInputW(hConsoleInput: HANDLE, lpBuffer: ^INPUT_RECORD, nLength: u32, lpNumberOfEventsRead: ^u32) -> BOOL
    PeekMessageA(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: u32, wMsgFilterMax: u32, wRemoveMsg: u32) -> BOOL
    PeekMessageW(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: u32, wMsgFilterMax: u32, wRemoveMsg: u32) -> BOOL
    PeekNamedPipe(hNamedPipe: HANDLE, lpBuffer: rawptr, nBufferSize: u32, lpBytesRead: ^u32, lpTotalBytesAvail: ^u32, lpBytesLeftThisMessage: ^u32) -> BOOL
    Pie(hdc: HDC, left, right, top, bottom, xr1, yr1, xr2, yr2: i32) -> BOOL
    PlaySoundW(pszSound: cstring16, hmod: HMODULE, fdwSound: u32) -> BOOL
    PolyPolygon(hdc: HDC, apt: [^]POINT, asz: [^]i32, csz: i32) -> BOOL
    Polygon(hdc: HDC, apt: [^]POINT, cpt: i32) -> BOOL
    PolylineTo(hdc: HDC, apt: [^]POINT, cpt: u32) -> BOOL
    PopIoRingCompletion(ioRing: HIORING, cqe: ^IORING_CQE) -> HRESULT
    PostMessageA(hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> BOOL
    PostMessageW(hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> BOOL
    PostQueuedCompletionStatus(CompletionPort: HANDLE, dwNumberOfBytesTransferred: u32, dwCompletionKey: uint, lpOverlapped: ^OVERLAPPED) -> BOOL
    PostQuitMessage(nExitCode: i32)
    PostThreadMessageA(idThread: u32, Msg: u32, wParam: uintptr, lParam: int) -> BOOL
    PostThreadMessageW(idThread: u32, Msg: u32, wParam: uintptr, lParam: int) -> BOOL
    PrefetchVirtualMemory(hProcess: HANDLE, NumberOfEntries: uint, VirtualAddresses: ^WIN32_MEMORY_RANGE_ENTRY, Flags: u32) -> BOOL
    PrintDlgExW(lpcc: ^PRINTDLGEXW) -> HRESULT
    PrintDlgW(lpcc: ^PRINTDLGW) -> BOOL
    Process32FirstW(hSnapshot: HANDLE, lppe: ^PROCESSENTRY32W) -> BOOL
    Process32NextW(hSnapshot: HANDLE, lppe: ^PROCESSENTRY32W) -> BOOL
    ProgIDFromCLSID(clsid: ^GUID, lplpszProgID: ^cstring16) -> HRESULT
    PropVariantClear(pvar: ^PROPVARIANT) -> HRESULT
    PropVariantCopy(pvarDest: ^PROPVARIANT, pvarSrc: ^PROPVARIANT) -> HRESULT
    QueryIoRingCapabilities(capabilities: ^IORING_CAPABILITIES) -> HRESULT
    QueryMemoryResourceNotification(ResourceNotificationHandle: HANDLE, ResourceState: ^BOOL) -> BOOL
    QueryPerformanceCounter(lpPerformanceCount: ^LARGE_INTEGER) -> BOOL
    QueryPerformanceFrequency(lpFrequency: ^LARGE_INTEGER) -> BOOL
    QueryVirtualMemoryInformation(Process: HANDLE, VirtualAddress: rawptr, MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS, MemoryInformation: rawptr, MemoryInformationSize: uint, ReturnSize: ^uint) -> BOOL
    QueueUserAPC(pfnAPC: PAPCFUNC, hThread: HANDLE, dwData: uint) -> u32
    RAWINPUT_ALIGNproc "contextless" (x: uintptr) -> uintptr
    RGBproc "contextless" (#any_int r, #any_int g, #any_int b: int) -> u32
    RaiseException(dwExceptionCode, dwExceptionFlags, nNumberOfArguments: u32, lpArguments: ^uint) -> !
    ReadConsoleInputW(hConsoleInput: HANDLE, lpBuffer: ^INPUT_RECORD, nLength: u32, lpNumberOfEventsRead: ^u32) -> BOOL
    ReadConsoleW(hConsoleInput: HANDLE, lpBuffer: rawptr, nNumberOfCharsToRead: u32, lpNumberOfCharsRead: ^u32, pInputControl: ^CONSOLE_READCONSOLE_CONTROL) -> BOOL
    ReadDirectoryChangesExW(hDirectory: HANDLE, lpBuffer: rawptr, nBufferLength: u32, bWatchSubtree: BOOL, dwNotifyFilter: u32, lpBytesReturned: ^u32, lpOverlapped: ^OVERLAPPED, lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, ReadDirectoryNotifyInformationClass: READ_DIRECTORY_NOTIFY_INFORMATION_CLASS) -> BOOL
    ReadDirectoryChangesW(hDirectory: HANDLE, lpBuffer: rawptr, nBufferLength: u32, bWatchSubtree: BOOL, dwNotifyFilter: u32, lpBytesReturned: ^u32, lpOverlapped: ^OVERLAPPED, lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE) -> BOOL
    ReadFile(hFile: HANDLE, lpBuffer: rawptr, nNumberOfBytesToRead: u32, lpNumberOfBytesRead: ^u32, lpOverlapped: ^OVERLAPPED) -> BOOL
    ReadProcessMemory(hProcess: HANDLE, lpBaseAddress: rawptr, lpBuffer: rawptr, nSize: uint, lpNumberOfBytesRead: ^uint) -> BOOL
    RealizePalette(hdc: HDC) -> u32
    ReclaimVirtualMemory(VirtualAddress: rawptr, Size: uint) -> u32
    Rectangle(hdc: HDC, left, top, right, bottom: i32) -> BOOL
    Filled Shape Functions
    RedrawWindow(hwnd: HWND, lprcUpdate: ^RECT, hrgnUpdate: HRGN, flags: RedrawWindowFlags) -> BOOL
    RegCloseKey(hKey: HKEY) -> i32
    RegCreateKeyExW(hKey: HKEY, lpSubKey: cstring16, Reserved: u32, lpClass: ^u16, dwOptions: u32, samDesired: u32, lpSecurityAttributes: ^SECURITY_ATTRIBUTES, phkResult: ^HKEY, lpdwDisposition: ^u32) -> i32
    RegEnumKeyExW(hKey: HKEY, dwIndex: u32, lpName: ^u16, lpcchName: ^u32, lpReserved: ^u32, lpClass: ^u16, lpcchClass: ^u32, lpftLastWriteTime: ^FILETIME) -> i32
    RegEnumKeyW(hKey: HKEY, dwIndex: u32, lpName: ^u16, cchName: u32) -> i32
    RegEnumValueW(hKey: HKEY, dwIndex: u32, lpValueName: ^u16, lpcchValueName: ^u32, lpReserved: ^u32, lpType: ^u32, lpData: ^BYTE, lpcbData: ^u32) -> i32
    RegGetValueW(hkey: HKEY, lpSubKey: cstring16, lpValue: cstring16, dwFlags: u32, pdwType: ^u32, pvData: rawptr, pcbData: ^u32) -> i32
    RegOpenKeyExW(hKey: HKEY, lpSubKey: cstring16, ulOptions: u32, samDesired: u32, phkResult: ^HKEY) -> i32
    RegOpenKeyW(hKey: HKEY, lpSubKey: cstring16, phkResult: ^HKEY) -> i32
    RegQueryInfoKeyW(hKey: HKEY, lpClass: ^u16, lpcchClass: ^u32, lpReserved: ^u32, lpcSubKeys: ^u32, lpcbMaxSubKeyLen: ^u32, lpcbMaxClassLen: ^u32, lpcValues: ^u32, lpcbMaxValueNameLen: ^u32, lpcbMaxValueLen: ^u32, lpcbSecurityDescriptor: ^u32, lpftLastWriteTime: ^FILETIME) -> i32
    RegSetKeyValueW(hKey: HKEY, lpSubKey: cstring16, lpValueName: cstring16, dwType: u32, lpData: rawptr, cbData: u32) -> i32
    RegSetValueExW(hKey: HKEY, lpValueName: cstring16, Reserved: u32, dwType: u32, lpData: ^BYTE, cbData: u32) -> i32
    RegisterBadMemoryNotification(Callback: PBAD_MEMORY_CALLBACK_ROUTINE) -> rawptr
    RegisterClassExW(^WNDCLASSEXW) -> ATOM
    RegisterClassW(lpWndClass: ^WNDCLASSW) -> ATOM
    RegisterClipboardFormatW(lpszFormat: cstring16) -> u32
    RegisterHotKey(hnwd: HWND, id: i32, fsModifiers: u32, vk: u32) -> BOOL
    RegisterRawInputDevices(pRawInputDevices: ^RAWINPUTDEVICE, uiNumDevices: u32, cbSize: u32) -> BOOL
    RegisterWaitForSingleObject(phNewWaitObject: ^HANDLE, hObject: HANDLE, Callback: WAITORTIMERCALLBACK, Context: rawptr, dwMilliseconds: u32, dwFlags: u32) -> BOOL
    RegisterWindowMessageW(lpString: cstring16) -> u32
    ReleaseCapture() -> BOOL
    ReleaseDC(hWnd: HWND, hDC: HDC) -> i32
    ReleaseSRWLockExclusive(SRWLock: ^SRWLOCK)
    ReleaseSRWLockShared(SRWLock: ^SRWLOCK)
    ReleaseSemaphore(semaphore: HANDLE, release_count: i32, previous_count: ^i32) -> BOOL
    RemoveClipboardFormatListener(hwnd: HWND) -> BOOL
    RemoveDirectoryW(lpPathName: cstring16) -> BOOL
    RemoveDllDirectory(Cookie: rawptr) -> BOOL
    RemovePropW(hWnd: HWND, lpString: cstring16) -> HANDLE
    RemoveVectoredContinueHandler(Handle: rawptr) -> u32
    RemoveVectoredExceptionHandler(Handle: rawptr) -> u32
    ReplaceTextW(lpcc: ^FINDREPLACEW) -> HWND
    ResetEvent(hEvent: HANDLE) -> BOOL
    ResetWriteWatch(lpBaseAddress: rawptr, dwRegionSize: uint) -> u32
    ResolveLocaleName(lpNameToResolve: cstring16, lpLocaleName: ^u16, cchLocaleName: i32) -> i32
    RestoreDC(hdc: HDC, nSavedDC: i32) -> BOOL
    ResumeThread(thread: HANDLE) -> u32
    RoundRect(hdc: HDC, left, top, right, bottom, width, height: i32) -> BOOL
    RtlCaptureStackBackTrace(FramesToSkip: u32, FramesToCapture: u32, BackTrace: [^]rawptr, BackTraceHash: ^u32) -> u16
    RtlGenRandom(RandomBuffer: ^u8, RandomBufferLength: u32) -> BOOLEAN
    RtlGetVersion(lpVersionInformation: ^OSVERSIONINFOEXW) -> i32
    RtlNtStatusToDosError(status: i32) -> u32
    SHAppBarMessage(dwMessage: u32, pData: ^APPBARDATA) -> uintptr
    SHAutoComplete(hwndEdit: HWND, dwFlags: u32) -> HRESULT
    SHChangeNotify(wEventId: i32, uFlags: u32, dwItem1: rawptr, dwItem2: rawptr)
    SHCreateDirectoryExW(hwnd: HWND, pszPath: cstring16, psa: ^SECURITY_ATTRIBUTES) -> i32
    SHCreateItemFromParsingName(pszPath: cstring16, pbc: ^IBindCtx, riid: ^GUID, ppv: ^rawptr) -> HRESULT
    SHFileOperationW(lpFileOp: ^SHFILEOPSTRUCTW) -> i32
    SHGetAssocKeys(pqa: ^IQueryAssociations, rgKeys: [^]HKEY, cKeys: u32) -> HRESULT
    SHGetFolderPathW(hwnd: HWND, csidl: i32, hToken: HANDLE, dwFlags: u32, pszPath: ^u16) -> HRESULT
    SHGetKnownFolderIDList(rfid: ^GUID, dwFlags: u32, hToken: HANDLE, ppidl: rawptr) -> HRESULT
    SHGetKnownFolderPath(rfid: ^GUID, dwFlags: u32, hToken: HANDLE, ppszPath: ^^u16) -> HRESULT
    SHSetKnownFolderPath(rfid: ^GUID, dwFlags: u32, hToken: HANDLE, pszPath: cstring16) -> HRESULT
    SUCCEEDEDproc "contextless" (#any_int result: int) -> bool
    Generic test for success on any status value (non-negative numbers indicate success).
    SaveDC(hdc: HDC) -> i32
    ScreenToClient(hWnd: HWND, lpPoint: ^POINT) -> BOOL
    SelectObject(hdc: HDC, h: HGDIOBJ) -> HGDIOBJ
    SelectPalette(hdc: HDC, hPal: HPALETTE, bForceBkgd: BOOL) -> HPALETTE
    SendInput(cInputs: u32, pInputs: [^]INPUT, cbSize: i32) -> u32
    SendMessageA(hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> int
    SendMessageTimeoutW(hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int, fuFlags: u32, uTimeout: u32, lpdwResult: ^uint) -> int
    SendMessageW(hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> int
    SetActiveWindow(hWnd: HWND) -> HWND
    SetBkColor(hdc: HDC, color: u32) -> u32
    SetBkMode(hdc: HDC, mode: BKMODE) -> i32
    SetCapture(hWnd: HWND) -> HWND
    SetClassLongPtrW(hWnd: HWND, nIndex: i32, dwNewLong: int) -> uint
    SetClassLongW(hWnd: HWND, nIndex: i32, dwNewLong: i32) -> u32
    SetClipboardData(uFormat: u32, hMem: HANDLE) -> HANDLE
    SetClipboardViewer(hWndNewViewer: HWND) -> HWND
    SetCommMask(handle: HANDLE, dwEvtMap: u32) -> BOOL
    SetCommState(handle: HANDLE, dcb: ^DCB) -> BOOL
    SetCommTimeouts(handle: HANDLE, timeouts: ^COMMTIMEOUTS) -> BOOL
    SetConsoleCP(wCodePageID: CODEPAGE) -> BOOL
    SetConsoleCtrlHandler(HandlerRoutine: HandlerRoutine, Add: BOOL) -> BOOL
    SetConsoleCursorInfo(hConsoleOutput: HANDLE, lpConsoleCursorInfo: ^CONSOLE_CURSOR_INFO) -> BOOL
    SetConsoleCursorPosition(hConsoleHandle: HANDLE, dwCursorPosition: COORD) -> BOOL
    SetConsoleMode(hConsoleHandle: HANDLE, dwMode: u32) -> BOOL
    SetConsoleOutputCP(wCodePageID: CODEPAGE) -> BOOL
    SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL
    SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: u16) -> BOOL
    SetConsoleWindowInfo(hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: ^SMALL_RECT) -> BOOL
    SetCurrentDirectoryW(lpPathName: cstring16) -> BOOL
    SetCursor(hCursor: HCURSOR) -> HCURSOR
    SetCursorPos(X, Y: i32) -> BOOL
    SetDCBrushColor(hdc: HDC, color: u32) -> u32
    SetDCPenColor(hdc: HDC, color: u32) -> u32
    SetDIBColorTable(hdc: HDC, iStart: u32, cEntries: u32, prgbq: ^RGBQUAD) -> u32
    SetDIBits(hdc: HDC, hbm: HBITMAP, start: u32, cLines: u32, lpBits: rawptr, lpbmi: ^BITMAPINFO, ColorUse: u32) -> i32
    SetDllDirectoryW(lpPathName: cstring16) -> BOOL
    SetEndOfFile(hFile: HANDLE) -> BOOL
    SetEnvironmentVariableW(n: cstring16, v: cstring16) -> BOOL
    SetEvent(hEvent: HANDLE) -> BOOL
    SetFileAttributesW(lpFileName: cstring16, dwFileAttributes: u32) -> BOOL
    SetFileCompletionNotificationModes(FileHandle: HANDLE, Flags: u8) -> BOOL
    SetFileInformationByHandle(hFile: HANDLE, FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, lpFileInformation: rawptr, dwBufferSize: u32) -> BOOL
    SetFilePointer(file_handle: HANDLE, distance_to_move: i32, distance_to_move_high: ^i32, move_method: u32) -> u32
    SetFilePointerEx(hFile: HANDLE, liDistanceToMove: LARGE_INTEGER, lpNewFilePointer: ^LARGE_INTEGER, dwMoveMethod: u32) -> BOOL
    SetFocus(hWnd: HWND) -> HWND
    SetForegroundWindow(hWnd: HWND) -> BOOL
    SetHandleInformation(hObject: HANDLE, dwMask: u32, dwFlags: u32) -> BOOL
    SetIoRingCompletionEvent(ioRing: HIORING, hEvent: HANDLE) -> HRESULT
    SetLastError(dwErrCode: u32)
    SetLayeredWindowAttributes(hWnd: HWND, crKey: u32, bAlpha: BYTE, dwFlags: u32) -> BOOL
    SetMenu(hWnd: HWND, hMenu: HMENU) -> BOOL
    SetMenuDefaultItem(hMenu: HMENU, uItem: u32, fByPos: u32) -> BOOL
    SetMenuItemInfoW(hmenu: HMENU, item: u32, fByPositon: BOOL, lpmii: ^MENUITEMINFOW) -> BOOL
    SetParent(hWndChild: HWND, hWndNewParent: HWND) -> HWND
    SetPixel(hdc: HDC, x: i32, y: i32, color: u32) -> u32
    SetPixelFormat(hdc: HDC, format: i32, ppfd: ^PIXELFORMATDESCRIPTOR) -> BOOL
    SetProcessAffinityMask(hProcess: HANDLE, dwProcessAffinityMask: uint) -> BOOL
    SetProcessDPIAware() -> BOOL
    SetProcessDpiAwareness(value: PROCESS_DPI_AWARENESS) -> HRESULT
    SetProcessDpiAwarenessContext(value: DPI_AWARENESS_CONTEXT) -> BOOL
    SetProcessWorkingSetSizeEx(hProcess: HANDLE, dwMinimumWorkingSetSize: uint, dwMaximumWorkingSetSize: uint, Flags: u32) -> BOOL
    SetPropW(hWnd: HWND, lpString: cstring16, hData: HANDLE) -> BOOL
    SetRectEmpty(lprc: ^RECT) -> BOOL
    SetScrollInfo(hwnd: HWND, nBar: i32, lpsi: ^SCROLLINFO, redraw: BOOL) -> i32
    SetSysColors(cElements: i32, lpaElements: [^]i32, lpaRgbValues: ^u32) -> BOOL
    SetSystemFileCacheSize(MinimumFileCacheSize: uint, MaximumFileCacheSize: uint, Flags: u32) -> BOOL
    SetTextColor(hdc: HDC, color: u32) -> u32
    SetThreadAffinityMask(hThread: HANDLE, dwThreadAffinityMask: uint) -> uint
    SetThreadContext(hThread: HANDLE, lpContext: ^CONTEXT) -> BOOL
    SetThreadDescription(hThread: HANDLE, lpThreadDescription: cstring16) -> HRESULT
    SetThreadDpiAwarenessContext(dpiContext: DPI_AWARENESS_CONTEXT) -> DPI_AWARENESS_CONTEXT
    SetThreadPriority(thread: HANDLE, priority: i32) -> BOOL
    SetTimer(hWnd: HWND, nIDEvent: uintptr, uElapse: u32, lpTimerFunc: TIMERPROC) -> uintptr
    SetUnhandledExceptionFilter(lpTopLevelExceptionFilter: PVECTORED_EXCEPTION_HANDLER) -> PVECTORED_EXCEPTION_HANDLER
    SetWaitableTimerEx(hTimer: HANDLE, lpDueTime: ^LARGE_INTEGER, lPeriod: i32, pfnCompletionRoutine: PTIMERAPCROUTINE, lpArgToCompletionRoutine: rawptr, WakeContext: ^REASON_CONTEXT, TolerableDelay: u32) -> BOOL
    SetWinEventHook(eventMin, eventMax: u32, hmodWinEventProc: HMODULE, pfnWinEvenProc: WINEVENTPROC, idProcess, idThread: u32, dwFlags: WinEventFlags) -> HWINEVENTHOOK
    SetWindowLongPtrW(hWnd: HWND, nIndex: i32, dwNewLong: int) -> int
    SetWindowLongW(hWnd: HWND, nIndex: i32, dwNewLong: i32) -> i32
    SetWindowPlacement(hwnd: HWND, lpwndpl: ^WINDOWPLACEMENT) -> BOOL
    SetWindowPos(hWnd: HWND, hWndInsertAfter: HWND, X, Y, cx, cy: i32, uFlags: u32) -> BOOL
    SetWindowRgn(hWnd: HWND, hRgn: HRGN, bRedraw: BOOL) -> i32
    SetWindowSubclass(hwnd: HWND, pfnSubclass: SUBCLASSPROC, uIdSubclass: uintptr, dwRefData: uint)
    SetWindowTextW(hWnd: HWND, lpString: cstring16) -> BOOL
    SetWindowTheme(hWnd: HWND, pszSubAppName, pszSubIdList: cstring16) -> HRESULT
    SetWindowsHookExW(idHook: i32, lpfn: HOOKPROC, hmod: HANDLE, dwThreadId: u32) -> HHOOK
    ShellExecuteExW(pExecInfo: ^SHELLEXECUTEINFOW) -> BOOL
    ShellExecuteW(hwnd: HWND, lpOperation: cstring16, lpFile: cstring16, lpParameters: cstring16, lpDirectory: cstring16, nShowCmd: i32) -> HANDLE
    Shell_NotifyIconW(dwMessage: u32, lpData: ^NOTIFYICONDATAW) -> BOOL
    ShowCursor(bShow: BOOL) -> i32
    ShowHideMenuCtl(hWnd: HWND, uFlags: uintptr, lpInfo: ^i32) -> BOOL
    ShowScrollBar(hwnd: HWND, nBar: i32, bShow: BOOL) -> BOOL
    ShowWindow(hWnd: HWND, nCmdShow: i32) -> BOOL
    SizeofResource(hModule: HMODULE, hResInfo: HRSRC) -> u32
    Sleep(dwMilliseconds: u32)
    SleepConditionVariableCS(ConditionVariable: ^CONDITION_VARIABLE, CriticalSection: ^CRITICAL_SECTION, dwMilliseconds: u32) -> BOOL
    SleepConditionVariableSRW(ConditionVariable: ^CONDITION_VARIABLE, SRWLock: ^SRWLOCK, dwMilliseconds: u32, Flags: i32) -> BOOL
    StretchBlt(hdcDest: HDC, xDest, yDest, wDest, hDest: i32, hdcSrc: HDC, xSrc, ySrc, wSrc, hSrc: i32, rop: u32) -> BOOL
    StretchDIBits(hdc: HDC, xDest, yDest, DestWidth, DestHeight, xSrc, ySrc, SrcWidth, SrcHeight: i32, lpBits: rawptr, lpbmi: ^BITMAPINFO, iUsage: u32, rop: u32) -> i32
    StringFromCLSID(rclsid: ^GUID, lplpsz: ^cstring16) -> HRESULT
    StringFromGUID2(rclsid: ^GUID, lplpsz: cstring16, cchMax: i32) -> i32
    StringFromIID(rclsid: ^GUID, lplpsz: ^cstring16) -> HRESULT
    SubmitIoRing(ioRing: HIORING, waitOperations: u32, milliseconds: u32, submittedEntries: ^u32) -> HRESULT
    SubtractRect(lprcDst, lprcSrc1, lprcSrc2: ^RECT) -> BOOL
    SuspendThread(hThread: HANDLE) -> u32
    SwapBuffers(hdc: HDC) -> BOOL
    SwitchToFiber(lpFiber: rawptr)
    SwitchToThread() -> BOOL
    SymCleanup(hProcess: HANDLE) -> BOOL
    SymFromAddrW(hProcess: HANDLE, Address: u64, Displacement: ^u64, Symbol: ^SYMBOL_INFOW) -> BOOL
    SymGetLineFromAddrW64(hProcess: HANDLE, dwAddr: u64, pdwDisplacement: ^u32, Line: ^IMAGEHLP_LINE64) -> BOOL
    SymInitialize(hProcess: HANDLE, UserSearchPath: cstring, fInvadeProcess: BOOL) -> BOOL
    SymSetOptions(SymOptions: u32) -> u32
    SystemParametersInfoW(uiAction, uiParam: u32, pvParam: rawptr, fWinIni: u32) -> BOOL
    SystemTimeToFileTime(lpSystemTime: ^SYSTEMTIME, lpFileTime: ^FILETIME) -> BOOL
    SystemTimeToTzSpecificLocalTime(lpTimeZoneInformation: ^TIME_ZONE_INFORMATION, lpUniversalTime: ^SYSTEMTIME, lpLocalTime: ^SYSTEMTIME) -> BOOL
    TabCtrl_AdjustRect(hwnd: HWND, bLarger: BOOL, prc: ^RECT) -> i32
    TabCtrl_DeleteAllItems(hwnd: HWND) -> BOOL
    TabCtrl_DeleteItem(hwnd: HWND, i: i32) -> BOOL
    TabCtrl_DeselectAll(hwnd: HWND, fExcludeFocus: BOOL)
    TabCtrl_GetCurFocus(hwnd: HWND) -> i32
    TabCtrl_GetCurSel(hwnd: HWND) -> i32
    TabCtrl_GetExtendedStyle(hwnd: HWND) -> u32
    TabCtrl_GetImageList(hwnd: HWND) -> ^IUnknown
    TabCtrl_GetItem(hwnd: HWND, iItem: i32, pitem: ^TCITEMW) -> BOOL
    TabCtrl_GetItemCount(hwnd: HWND) -> i32
    TabCtrl_GetItemRect(hwnd: HWND, i: i32, prc: ^RECT) -> BOOL
    TabCtrl_GetRowCount(hwnd: HWND) -> i32
    TabCtrl_GetToolTips(hwnd: HWND) -> HWND
    TabCtrl_GetUnicodeFormat(hwnd: HWND) -> BOOL
    TabCtrl_HighlightItem(hwnd: HWND, i: i32, fHighlight: BOOL) -> BOOL
    TabCtrl_HitTest(hwndTC: HWND, pinfo: ^TCHITTESTINFO) -> i32
    TabCtrl_InsertItem(hwnd: HWND, iItem: i32, pitem: ^TCITEMW) -> i32
    TabCtrl_RemoveImage(hwnd: HWND, i: i32)
    TabCtrl_SetCurFocus(hwnd: HWND, i: i32)
    TabCtrl_SetCurSel(hwnd: HWND, i: i32) -> i32
    TabCtrl_SetExtendedStyle(hwnd: HWND, dw: u32) -> u32
    TabCtrl_SetImageList(hwnd: HWND, himl: ^IUnknown) -> ^IUnknown
    TabCtrl_SetItem(hwnd: HWND, iItem: i32, pitem: ^TCITEMW) -> BOOL
    TabCtrl_SetItemExtra(hwndTC: HWND, cb: i32) -> BOOL
    TabCtrl_SetItemSize(hwnd: HWND, x, y: i32) -> u32
    TabCtrl_SetMinTabWidth(hwnd: HWND, x: i32) -> i32
    TabCtrl_SetPadding(hwnd: HWND, cx, cy: i32)
    TabCtrl_SetToolTips(hwnd: HWND, hwndTT: HWND)
    TabCtrl_SetUnicodeFormat(hwnd: HWND, fUnicode: BOOL) -> BOOL
    TerminateProcess(hProcess: HANDLE, uExitCode: u32) -> BOOL
    TerminateThread(thread: HANDLE, exit_code: u32) -> BOOL
    TextOutW(hdc: HDC, x, y: i32, lpString: cstring16, c: i32) -> BOOL
    Thread32First(hSnapshot: HANDLE, lpte: ^THREADENTRY32) -> BOOL
    Thread32Next(hSnapshot: HANDLE, lpte: ^THREADENTRY32) -> BOOL
    TlsAlloc() -> u32
    TlsFree(dwTlsIndex: u32) -> BOOL
    TlsGetValue(dwTlsIndex: u32) -> rawptr
    TlsSetValue(dwTlsIndex: u32, lpTlsvalue: rawptr) -> BOOL
    ToUnicode(nVirtKey: u32, wScanCode: u32, lpKeyState: ^BYTE, pwszBuff: ^u16, cchBuff: i32, wFlags: u32) -> i32
    Toolhelp32ReadProcessMemory(th32ProcessID: u32, lpBaseAddress: rawptr, lpBuffer: rawptr, cbRead: uint, lpNumberOfBytesRead: ^uint) -> BOOL
    TrackMouseEvent(lpEventTrack: ^TRACKMOUSEEVENT) -> BOOL
    TrackPopupMenu(hMenu: HMENU, uFlags: u32, x, y: i32, nReserved: i32, hWnd: HWND, prcRect: ^RECT) -> i32
    TranslateAcceleratorW(hWnd: HWND, hAccTable: HACCEL, lpMsg: ^MSG) -> i32
    TranslateMessage(lpMsg: ^MSG) -> BOOL
    TransmitFileproc "c" (hSocket: SOCKET, hFile: HANDLE, nNumberOfBytesToWrite: u32, nNumberOfBytesPerSend: u32, lpOverlapped: ^OVERLAPPED, lpTransmitBuffers: rawptr, dwReserved: u32) -> BOOL
    TransparentBlt(hdcDest: HDC, xoriginDest, yoriginDest, wDest, hDest: i32, hdcSrc: HDC, xoriginSrc, yoriginSrc, wSrc, hSrc: i32, crTransparent: u32) -> BOOL
    TreeView_CreateDragImage(hwnd: HWND, hitem: HTREEITEM) -> ^IUnknown
    TreeView_DeleteAllItems(hwnd: HWND) -> BOOL
    TreeView_DeleteItem(hwnd: HWND, hitem: HTREEITEM) -> BOOL
    TreeView_EditLabel(hwnd: HWND, hitem: HTREEITEM) -> HWND
    TreeView_EndEditLabelNow(hwnd: HWND, fCancel: BOOL) -> BOOL
    TreeView_EnsureVisible(hwnd: HWND, hitem: HTREEITEM) -> BOOL
    TreeView_Expand(hwnd: HWND, hitem: HTREEITEM, code: u32) -> BOOL
    TreeView_GetBkColor(hwnd: HWND) -> u32
    TreeView_GetCheckState(hwndTV: HWND, hti: HTREEITEM) -> u32
    TreeView_GetChild(hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM
    TreeView_GetCount(hwnd: HWND) -> u32
    TreeView_GetDropHilight(hwnd: HWND) -> HTREEITEM
    TreeView_GetEditControl(hwnd: HWND) -> HWND
    TreeView_GetFirstVisible(hwnd: HWND) -> HTREEITEM
    TreeView_GetISearchString(hwnd: HWND, lpsz: ^u16) -> BOOL
    TreeView_GetImageList(hwnd: HWND, iImage: i32) -> ^IUnknown
    TreeView_GetIndent(hwnd: HWND) -> u32
    TreeView_GetInsertMarkColor(hwnd: HWND) -> u32
    TreeView_GetItem(hwnd: HWND, pitem: ^TVITEMW) -> BOOL
    TreeView_GetItemHeight(hwnd: HWND) -> i32
    TreeView_GetItemRect(hwnd: HWND, hitem: HTREEITEM, prc: ^RECT, code: u32) -> BOOL
    TreeView_GetItemState(hwndTV: HWND, hti: HTREEITEM, mask: u32) -> u32
    TreeView_GetLastVisible(hwnd: HWND) -> HTREEITEM
    TreeView_GetLineColor(hwnd: HWND) -> u32
    TreeView_GetNextItem(hwnd: HWND, hitem: HTREEITEM, code: u32) -> HTREEITEM
    TreeView_GetNextSibling(hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM
    TreeView_GetNextVisible(hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM
    TreeView_GetParent(hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM
    TreeView_GetPrevSibling(hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM
    TreeView_GetPrevVisible(hwnd: HWND, hitem: HTREEITEM) -> HTREEITEM
    TreeView_GetRoot(hwnd: HWND) -> HTREEITEM
    TreeView_GetScrollTime(hwnd: HWND) -> u32
    TreeView_GetSelection(hwnd: HWND) -> HTREEITEM
    TreeView_GetTextColor(hwnd: HWND) -> u32
    TreeView_GetToolTips(hwnd: HWND) -> HWND
    TreeView_GetUnicodeFormat(hwnd: HWND) -> BOOL
    TreeView_GetVisibleCount(hwnd: HWND) -> u32
    TreeView_HitTest(hwnd: HWND, lpht: ^TVHITTESTINFO) -> HTREEITEM
    TreeView_InsertItem(hwnd: HWND, lpis: ^TVINSERTSTRUCTW) -> HTREEITEM
    TreeView_MapAccIDToHTREEITEM(hwnd: HWND, id: u32) -> HTREEITEM
    TreeView_MapHTREEITEMToAccID(hwnd: HWND, htreeitem: HTREEITEM) -> u32
    TreeView_Select(hwnd: HWND, hitem: HTREEITEM, code: u32) -> BOOL
    TreeView_SelectDropTarget(hwnd: HWND, hitem: HTREEITEM) -> BOOL
    TreeView_SelectItem(hwnd: HWND, hitem: HTREEITEM) -> BOOL
    TreeView_SelectSetFirstVisible(hwnd: HWND, hitem: HTREEITEM) -> BOOL
    TreeView_SetBkColor(hwnd: HWND, clr: u32) -> u32
    TreeView_SetCheckState(hwndTV: HWND, hti: HTREEITEM, fCheck: BOOL)
    TreeView_SetImageList(hwnd: HWND, himl: ^IUnknown, iImage: i32) -> ^IUnknown
    TreeView_SetIndent(hwnd: HWND, indent: u32) -> BOOL
    TreeView_SetInsertMark(hwnd: HWND, hItem: HTREEITEM, fAfter: BOOL) -> BOOL
    TreeView_SetInsertMarkColor(hwnd: HWND, clr: u32) -> u32
    TreeView_SetItem(hwnd: HWND, pitem: ^TVITEMW) -> BOOL
    TreeView_SetItemHeight(hwnd: HWND, iHeight: i32) -> i32
    TreeView_SetItemState(hwndTV: HWND, hti: HTREEITEM, data: u32, mask: u32)
    TreeView_SetLineColor(hwnd: HWND, clr: u32) -> u32
    TreeView_SetScrollTime(hwnd: HWND, uTime: u32) -> u32
    TreeView_SetTextColor(hwnd: HWND, clr: u32) -> u32
    TreeView_SetToolTips(hwnd: HWND, hwndTT: HWND) -> HWND
    TreeView_SetUnicodeFormat(hwnd: HWND, fUnicode: BOOL) -> BOOL
    TreeView_SortChildren(hwnd: HWND, hitem: HTREEITEM, recurse: BOOL) -> BOOL
    TreeView_SortChildrenCB(hwnd: HWND, psort: ^TVSORTCB, recurse: BOOL) -> BOOL
    TryAcquireSRWLockExclusive(SRWLock: ^SRWLOCK) -> BOOLEAN
    TryAcquireSRWLockShared(SRWLock: ^SRWLOCK) -> BOOLEAN
    TryEnterCriticalSection(CriticalSection: ^CRITICAL_SECTION) -> BOOLEAN
    UnhookWinEvent(winEventHook: HWINEVENTHOOK) -> BOOL
    UnhookWindowsHookEx(hhk: HHOOK) -> BOOL
    UnionRect(lprcDst, lprcSrc1, lprcSrc2: ^RECT) -> BOOL
    UnlockFileEx(hFile: HANDLE, dwReserved: u32, nNumberOfBytesToUnlockLow: u32, nNumberOfBytesToLockHigh: u32, lpOverlapped: ^OVERLAPPED) -> BOOL
    UnmapViewOfFile(lpBaseAddress: rawptr) -> BOOL
    UnmapViewOfFile2(ProcessHandle: HANDLE, BaseAddress: rawptr, UnmapFlags: u32) -> BOOL
    UnmapViewOfFileEx(BaseAddress: rawptr, UnmapFlags: u32) -> BOOL
    UnregisterBadMemoryNotification(RegistrationHandle: rawptr) -> BOOL
    UnregisterClassW(lpClassName: cstring16, hInstance: HANDLE) -> BOOL
    UnregisterHotKey(hnwd: HWND, id: i32) -> BOOL
    UnregisterWaitEx(WaitHandle: HANDLE, CompletionEvent: HANDLE) -> BOOL
    UpdateWindow(hWnd: HWND) -> BOOL
    ValidateRect(hWnd: HWND, lpRect: ^RECT) -> BOOL
    VerLanguageNameW(wLang: u32, szLang: ^u16, cchLang: u32) -> u32
    VerQueryValueW(pBlock: rawptr, lpSubBlock: cstring16, lplpBuffer: ^rawptr, puLen: ^u32) -> BOOL
    VirtualAlloc(lpAddress: rawptr, dwSize: uint, flAllocationType: u32, flProtect: u32) -> rawptr
    VirtualAlloc2(Process: HANDLE, BaseAddress: rawptr, Size: uint, AllocationType: u32, PageProtection: u32, ExtendedParameters: ^MEM_EXTENDED_PARAMETER, ParameterCount: u32) -> rawptr
    VirtualAllocEx(hProcess: HANDLE, lpAddress: rawptr, dwSize: uint, flAllocationType: u32, flProtect: u32) -> rawptr
    VirtualAllocExNuma(hProcess: HANDLE, lpAddress: rawptr, dwSize: uint, flAllocationType: u32, flProtect: u32, nndPreferred: u32) -> rawptr
    VirtualAllocFromApp(BaseAddress: rawptr, Size: uint, AllocationType: u32, Protection: u32) -> rawptr
    VirtualFree(lpAddress: rawptr, dwSize: uint, dwFreeType: u32) -> BOOL
    VirtualFreeEx(hProcess: HANDLE, lpAddress: rawptr, dwSize: uint, dwFreeType: u32) -> BOOL
    VirtualLock(lpAddress: rawptr, dwSize: uint) -> BOOL
    VirtualProtect(lpAddress: rawptr, dwSize: uint, flNewProtect: u32, lpflOldProtect: ^u32) -> BOOL
    VirtualProtectEx(hProcess: HANDLE, lpAddress: rawptr, dwSize: uint, flNewProtect: u32, lpflOldProtect: ^u32) -> BOOL
    VirtualProtectFromApp(Address: rawptr, Size: uint, NewProtection: u32, OldProtection: ^u32) -> BOOL
    VirtualQuery(lpAddress: rawptr, lpBuffer: ^MEMORY_BASIC_INFORMATION, dwLength: uint) -> uint
    VirtualQueryEx(hProcess: HANDLE, lpAddress: rawptr, lpBuffer: ^MEMORY_BASIC_INFORMATION, dwLength: uint) -> uint
    VirtualUnlock(lpAddress: rawptr, dwSize: uint) -> BOOL
    WSACleanup() -> i32
    WSACloseEvent(hEvent: HANDLE) -> bool
    WSACreateEvent() -> HANDLE
    WSADuplicateSocketW(s: SOCKET, dwProcessId: u32, lpProtocolInfo: ^WSAPROTOCOL_INFO) -> i32
    WSAEnumNetworkEvents(s: SOCKET, hEventObject: HANDLE, lpNetworkEvents: ^WSANETWORKEVENTS) -> i32
    WSAEventSelect(s: SOCKET, hEventObject: HANDLE, lNetworkEvents: i32) -> i32
    WSAGetLastError() -> i32
    WSAGetOverlappedResult(s: SOCKET, lpOverlapped: ^OVERLAPPED, lpcbTransfer: ^u32, fWait: BOOL, lpdwFlags: ^u32) -> BOOL
    WSAIoctl(s: SOCKET, dwIoControlCode: u32, lpvInBuffer: rawptr, cbInBuffer: u32, lpvOutBuffer: rawptr, cbOutBuffer: u32, lpcbBytesReturned: ^u32, lpOverlapped: ^OVERLAPPED, lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE) -> i32
    WSAPoll(fdArray: ^WSA_POLLFD, fds: u32, timeout: i32) -> i32
    WSARecv(s: SOCKET, lpBuffers: ^WSABUF, dwBufferCount: u32, lpNumberOfBytesRecvd: ^u32, lpFlags: ^u32, lpOverlapped: ^WSAOVERLAPPED, lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE) -> i32
    WSARecvFrom(s: SOCKET, lpBuffers: ^WSABUF, dwBufferCount: u32, lpNumberOfBytesRecvd: ^u32, lpFlags: ^u32, lpFrom: ^sockaddr, lpFromlen: ^i32, lpOverlapped: ^WSAOVERLAPPED, lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE) -> i32
    WSASend(s: SOCKET, lpBuffers: ^WSABUF, dwBufferCount: u32, lpNumberOfBytesSent: ^u32, dwFlags: u32, lpOverlapped: ^WSAOVERLAPPED, lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE) -> i32
    WSASendTo(s: SOCKET, lpBuffers: ^WSABUF, dwBufferCount: u32, lpNumberOfBytesSent: ^u32, dwFlags: u32, lpTo: ^sockaddr, iToLen: i32, lpOverlapped: ^WSAOVERLAPPED, lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE) -> i32
    WSASetLastError(err: i32)
    WSASocketW(af: i32, kind: i32, protocol: i32, lpProtocolInfo: ^WSAPROTOCOL_INFO, g: GROUP, dwFlags: u32) -> SOCKET
    WSAStartup(wVersionRequested: u16, lpWSAData: ^WSADATA) -> i32
    WSAWaitForMultipleEvents(cEvents: u32, lphEvents: ^HANDLE, fWaitAll: BOOL, dwTimeout: u32, fAlertable: BOOL) -> u32
    WaitCommEvent(handle: HANDLE, lpEvtMask: ^u32, lpOverlapped: ^OVERLAPPED) -> BOOL
    WaitForMultipleObjects(nCount: u32, lpHandles: ^HANDLE, bWaitAll: BOOL, dwMilliseconds: u32) -> u32
    WaitForMultipleObjectsEx(nCount: u32, lpHandles: ^HANDLE, bWaitAll: BOOL, dwMilliseconds: u32, bAlterable: BOOL) -> u32
    WaitForSingleObject(hHandle: HANDLE, dwMilliseconds: u32) -> u32
    WaitForSingleObjectEx(hHandle: HANDLE, dwMilliseconds: u32, bAlterable: BOOL) -> u32
    WaitMessage() -> BOOL
    WaitNamedPipeW(lpNamedPipeName: cstring16, nTimeOut: u32) -> BOOL
    WaitOnAddress(Address: rawptr, CompareAddress: rawptr, AddressSize: uint, dwMilliseconds: u32) -> BOOL
    WakeAllConditionVariable(ConditionVariable: ^CONDITION_VARIABLE)
    WakeByAddressAll(Address: rawptr)
    WakeByAddressSingle(Address: rawptr)
    WakeConditionVariable(ConditionVariable: ^CONDITION_VARIABLE)
    WideCharToMultiByte(CodePage: u32, dwFlags: u32, lpWideCharStr: cstring16, cchWideChar: i32, lpMultiByteStr: ^u8, cbMultiByte: i32, lpDefaultChar: cstring, lpUsedDefaultChar: ^BOOL) -> i32
    WindowFromPoint(pt: POINT) -> HWND
    Wow64DisableWow64FsRedirection(OldValue: ^rawptr) -> BOOL
    Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection: BOOLEAN) -> BOOLEAN
    Wow64GetThreadContext(hThread: HANDLE, lpContext: ^WOW64_CONTEXT) -> BOOL
    Wow64RevertWow64FsRedirection(OlValue: rawptr) -> BOOL
    Wow64SetThreadContext(hThread: HANDLE, lpContext: ^WOW64_CONTEXT) -> BOOL
    Wow64SetThreadDefaultGuestMachine(Machine: u16) -> u16
    Wow64SuspendThread(hThread: HANDLE) -> u32
    WriteConsoleW(hConsoleOutput: HANDLE, lpBuffer: rawptr, nNumberOfCharsToWrite: u32, lpNumberOfCharsWritten: ^u32, lpReserved: rawptr) -> BOOL
    WriteFile(hFile: HANDLE, lpBuffer: rawptr, nNumberOfBytesToWrite: u32, lpNumberOfBytesWritten: ^u32, lpOverlapped: ^OVERLAPPED) -> BOOL
    WriteProcessMemory(hProcess: HANDLE, lpBaseAddress: rawptr, lpBuffer: rawptr, nSize: uint, lpNumberOfBytesWritten: ^uint) -> BOOL
    XInputEnable(enable: BOOL)
    XInputGetAudioDeviceIds(user: XUSER, pRenderDeviceId: ^u16, pRenderCount: ^u32, pCaptureDeviceId: ^u16, pCaptureCount: ^u32) -> System_Error
    XInputGetBatteryInformation(user: XUSER, devType: BATTERY_DEVTYPE, pBatteryInformation: ^XINPUT_BATTERY_INFORMATION) -> System_Error
    XInputGetCapabilities(user: XUSER, dwFlags: XINPUT_FLAG, pCapabilities: ^XINPUT_CAPABILITIES) -> System_Error
    XInputGetDSoundAudioDeviceGuids(user: XUSER, pDSoundRenderGuid: ^GUID, pDSoundCaptureGuid: ^GUID) -> System_Error
    XInputGetKeystroke(user: XUSER, dwReserved: u32, pKeystroke: ^XINPUT_KEYSTROKE) -> System_Error
    XInputGetState(user: XUSER, pState: ^XINPUT_STATE) -> System_Error
    XInputSetState(user: XUSER, pVibration: ^XINPUT_VIBRATION) -> System_Error
    ZwSetTimerResolution(RequestedResolution: u32, Set: BOOLEAN, ActualResolution: ^u32) -> i32
    accept(socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: ^i32) -> SOCKET
    add_del_from_groupproc(sid: ^SID, group: string) -> (ok: NET_API_STATUS)
    add_userproc(servername: string, username: string, password: string) -> (ok: bool)
    add_user_profileproc(username: string) -> (ok: bool, profile_path: string)
    add_user_to_groupproc(sid: ^SID, group: string) -> (ok: NET_API_STATUS)
    allowed_usernameproc "contextless" (username: string) -> bool
    bind(socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: i32) -> i32
    closesocket(socket: SOCKET) -> i32
    connect(socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, len: i32) -> i32
    delete_userproc(servername: string, username: string) -> (ok: bool)
    delete_user_profileproc(username: string) -> (ok: bool)
    ensure_winsock_initializedproc "contextless" ()
    freeaddrinfo(res: ^ADDRINFOA)
    get_adapters_addresses(family: Address_Family, flags: bit_set[GAA_Flag; u32], _reserved: rawptr, adapter_addresses: [^]IP_Adapter_Addresses, size: ^u32) -> u32
    The GetAdaptersAddresses function retrieves the addresses associated with the adapters on the local computer.

    The GetAdaptersAddresses function retrieves the addresses associated with the adapters on the local computer. See: https://docs.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getadaptersaddresses

    get_computer_name_and_account_sidproc(username: string) -> (computer_name: string, sid: SID = SID{}, ok: bool)
    get_sidproc(username: string, sid: ^SID) -> (ok: bool)
    getaddrinfo(node: cstring, service: cstring, hints: ^ADDRINFOA, res: ^^ADDRINFOA) -> i32
    gethostname(name: [^]u8, namelen: i32) -> i32
    getpeername(socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: ^i32) -> i32
    getsockname(socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: ^i32) -> i32
    getsockopt(s: SOCKET, level: i32, optname: i32, optval: [^]u8, optlen: ^i32) -> i32
    gl_set_proc_addressproc(p: rawptr, name: cstring)
    htonl(hostlong: u32) -> u32
    MS-Docs Prefer using endian-specific integers instead, https://odin-lang.org/docs/overview/#basic-types
    htons(hostshort: u16) -> u16
    MS-Docs Prefer using endian-specific integers instead, https://odin-lang.org/docs/overview/#basic-types
    ioctlsocket(s: SOCKET, cmd: i32, argp: ^u32) -> i32
    listen(socket: SOCKET, backlog: i32) -> i32
    ntohl(netlong: u32) -> u32
    ntohs(netshort: u16) -> u16
    recv(socket: SOCKET, buf: rawptr, len: i32, flags: i32) -> i32
    recvfrom(socket: SOCKET, buf: rawptr, len: i32, flags: i32, addr: ^SOCKADDR_STORAGE_LH, addrlen: ^i32) -> i32
    run_as_userproc(username, password, application, commandline: string, pi: ^PROCESS_INFORMATION, wait: bool = true) -> (ok: bool)
    select(nfds: i32, readfds: [^]fd_set, writefds: [^]fd_set, exceptfds: [^]fd_set, timeout: ^timeval) -> i32
    send(socket: SOCKET, buf: rawptr, len: i32, flags: i32) -> i32
    sendto(socket: SOCKET, buf: rawptr, len: i32, flags: i32, addr: ^SOCKADDR_STORAGE_LH, addrlen: i32) -> i32
    setsockopt(s: SOCKET, level: i32, optname: i32, optval: rawptr, optlen: i32) -> i32
    shutdown(socket: SOCKET, how: i32) -> i32
    socket(af: i32, type: i32, protocol: i32) -> SOCKET
    timeBeginPeriod(uPeriod: u32) -> u32
    timeEndPeriod(uPeriod: u32) -> u32
    timeGetDevCaps(ptc: ^TIMECAPS, cbtc: u32) -> u32
    timeGetTime() -> u32
    ucal_getDefaultTimeZone(result: cstring16, cap: i32, status: ^UError) -> i32
    ucal_getWindowsTimeZoneID(id: cstring16, len: i32, winid: cstring16, winidCapacity: i32, status: ^UError) -> i32
    utf16_to_utf8 2 forms
    utf16_to_utf8_allocproc(s: []u16, allocator := context.temp_allocator) -> (res: string, err: runtime.Allocator_Error)
    Converts a UTF-16 string into a regular UTF-8 string and allocates the result.

    Converts a UTF-16 string into a regular UTF-8 string and allocates the result. If the input is null-terminated, only the part of the input string leading up to it will be converted.

    Allocates Using Provided Allocator

    Inputs:

    • s The string to be converted
    • allocator (default: context.temp_allocator)

    Returns:

    • res A cloned and converted string
    • err An optional allocator error if one occured, nil otherwise
    utf16_to_utf8_bufproc(buf: []u8, s: []u16) -> (res: string)
    Converts a UTF-16 string into a regular UTF-8 string, using buf as its backing.

    Converts a UTF-16 string into a regular UTF-8 string, using buf as its backing. If the input is null-terminated, only the part of the input string leading up to it will be converted.

    Uses buf for backing

    Inputs:

    • s The string to be converted
    • buf Backing buffer for result string

    Returns:

    • res A converted string, backed byu buf
    utf8_to_utf16 2 forms
    Converts a regular UTF-8 string to UTF-16.

    Converts a regular UTF-8 string to UTF-16.

    The conversion includes any null characters present in the input string.

    Returns nil on conversion failure.

    Conversion may fail due to an invalid byte sequence in the input string, or an insufficient buffer size (utf8_to_utf16_buf only), or allocation failure (utf8_to_utf16_alloc only).

    The result of converting an empty string is indistinguishable from conversion failure.

    utf8_to_utf16_allocproc(s: string, allocator := context.temp_allocator) -> []u16
    utf8_to_utf16_bufproc(buf: []u16, s: string) -> []u16
    utf8_to_wstring 2 forms
    Converts a regular UTF-8 string to UTF-16, and returns the result as a null-terminated wstring, or nil on conversion failure.

    Converts a regular UTF-8 string to UTF-16, and returns the result as a null-terminated wstring, or nil on conversion failure.

    Conversion may fail due to an invalid byte sequence in the input string, or an insufficient buffer size (utf8_to_wstring_buf only), or allocation failure (utf8_to_wstring_alloc only).

    An empty string is valid, and results in a value distinct from nil.

    utf8_to_wstring_allocproc(s: string, allocator := context.temp_allocator) -> cstring16
    utf8_to_wstring_bufproc(buf: []u16, s: string) -> cstring16
    waveInGetDevCapsW(uDeviceID: uintptr, pwic: ^WAVEINCAPSW, cbwic: u32) -> u32
    waveInGetNumDevs() -> u32
    waveOutBreakLoop(hwo: HWAVEOUT) -> u32
    waveOutClose(hwo: HWAVEOUT) -> u32
    waveOutGetDevCapsW(uDeviceID: uintptr, pwoc: ^WAVEOUTCAPSW, cbwoc: u32) -> u32
    waveOutGetErrorTextW(mmrError: u32, pszText: ^u16, cchText: u32) -> u32
    waveOutGetID(hwo: HWAVEOUT, puDeviceID: ^u32) -> u32
    waveOutGetNumDevs() -> u32
    waveOutGetPitch(hwo: HWAVEOUT, pdwPitch: ^u32) -> u32
    waveOutGetPlaybackRate(hwo: HWAVEOUT, pdwRate: ^u32) -> u32
    waveOutGetPosition(hwo: HWAVEOUT, pmmt: ^MMTIME, cbmmt: u32) -> u32
    waveOutGetVolume(hwo: HWAVEOUT, pdwVolume: ^u32) -> u32
    waveOutOpen(phwo: ^HWAVEOUT, uDeviceID: u32, pwfx: ^WAVEFORMATEX, dwCallback: uint, dwInstance: uint, fdwOpen: u32) -> u32
    waveOutPause(hwo: HWAVEOUT) -> u32
    waveOutPrepareHeader(hwo: HWAVEOUT, pwh: ^WAVEHDR, cbwh: u32) -> u32
    waveOutReset(hwo: HWAVEOUT) -> u32
    waveOutRestart(hwo: HWAVEOUT) -> u32
    waveOutSetPitch(hwo: HWAVEOUT, pdwPitch: u32) -> u32
    waveOutSetPlaybackRate(hwo: HWAVEOUT, pdwRate: u32) -> u32
    waveOutSetVolume(hwo: HWAVEOUT, dwVolume: u32) -> u32
    waveOutUnprepareHeader(hwo: HWAVEOUT, pwh: ^WAVEHDR, cbwh: u32) -> u32
    waveOutWrite(hwo: HWAVEOUT, pwh: ^WAVEHDR, cbwh: u32) -> u32
    wglCopyContext(src, dst: HGLRC, mask: u32) -> BOOL
    wglCreateContext(hdc: HDC) -> HGLRC
    wglCreateLayerContext(hdc: HDC, layer_plane: i32) -> HGLRC
    wglDeleteContext(HGLRC: HGLRC) -> BOOL
    wglDescribeLayerPlane(hdc: HDC, pixel_format, layer_plane: i32, bytes: u32, pd: ^LAYERPLANEDESCRIPTOR) -> BOOL
    wglGetCurrentContext() -> HGLRC
    wglGetCurrentDC() -> HDC
    wglGetLayerPaletteEntries(hdc: HDC, layer_plane, start, entries: i32, cr: ^u32) -> i32
    wglGetProcAddress(c_str: cstring) -> rawptr
    wglMakeCurrent(hdc: HDC, HGLRC: HGLRC) -> BOOL
    wglRealizeLayerPalette(hdc: HDC, layer_plane: i32, realize: BOOL) -> BOOL
    wglSetLayerPaletteEntries(hdc: HDC, layer_plane, start, entries: i32, cr: ^u32) -> i32
    wglShareLists(HGLRC1, HGLRC2: HGLRC) -> BOOL
    wglSwapLayerBuffers(hdc: HDC, planes: u32) -> BOOL
    wglUseFontBitmapsA(hdc: HDC, first, count, list_base: u32) -> BOOL
    wglUseFontBitmapsW(hdc: HDC, first, count, list_base: u32) -> BOOL
    wglUseFontOutlines(hdc: HDC, first, count, list_base: u32, deviation, extrusion: f32, format: i32, gmf: ^GLYPHMETRICSFLOAT) -> BOOL
    wstring_to_utf8 2 forms
    wstring_to_utf8_allocproc(s: cstring16, N: int = -1, allocator := context.temp_allocator) -> (res: string, err: runtime.Allocator_Error)
    Converts a UTF-16 wstring into a regular UTF-8 string and allocates the result.

    Converts a UTF-16 wstring into a regular UTF-8 string and allocates the result. The procedure can either assume a null-terminated input string, or convert a fixed number of characters.

    Allocates Using Provided Allocator

    Inputs:

    • s The string to be converted
    • N The number of characters in s that should be converted. A value of -1 indicates that the procedure should keep going until it finds a terminating null character in s.
    • allocator (default: context.temp_allocator)

    Returns:

    • res A cloned and converted string
    • err An optional allocator error if one occured, nil otherwise
    wstring_to_utf8_bufproc(buf: []u8, s: cstring16, N: int = -1) -> (res: string)
    Converts a UTF-16 wstring into a regular UTF-8 string, using buf as its backing buffer.

    Converts a UTF-16 wstring into a regular UTF-8 string, using buf as its backing buffer. The procedure can either assume a null-terminated input string, or convert a fixed number of characters.

    Uses buf for backing

    Inputs:

    • buf Backing buffer for result string
    • s The string to be converted
    • N The number of characters in s that should be converted. A value of -1 indicates that the procedure should keep going until it finds a terminating null character in s.

    Returns:

    • res A cloned and converted string

    Procedure Groups

    Listed with their procedures under Procedures.

    Source Files

    Generation Information

    Generated with odin version dev-2026-10 (vendor "odin") Windows_amd64 @ 2026-10-12 23:46:18.383355400 +0000 UTC