package core:sys/windows

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

⌘K
Ctrl+K
or
/

    Index

    Types (564)
    Constants (3798)
    Procedures (613)
    Procedure Groups (0)

    This section is empty.

    Types

    ACCESS_MASK ¶

    ACCESS_MASK :: u32

    ADDRESS_FAMILY ¶

    ADDRESS_FAMILY :: u16

    ADDRESS_MODE ¶

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

    ADDRINFOA ¶

    ADDRINFOA :: struct {
    	ai_flags:     i32,
    	ai_family:    i32,
    	ai_socktype:  i32,
    	ai_protocol:  i32,
    	ai_addrlen:   uint,
    	ai_canonname: ^u8,
    	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: [^]u16,
    	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,
    }
    Related Procedures With Parameters

    ATOM ¶

    ATOM :: distinct u16
    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.
    }
    Related Procedures With Parameters

    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,
    }
    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,
    }
    Related Procedures With Parameters

    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

    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,
    }
    Related Procedures With Parameters

    BLUETOOTH_FIND_RADIO_PARAMS ¶

    BLUETOOTH_FIND_RADIO_PARAMS :: struct {
    	dw_size: u32,
    }
    Related Procedures With Parameters

    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,
    }
    Related Procedures With Parameters

    BOOL ¶

    BOOL :: distinct b32
    Related Procedures With Parameters
    Related Procedures With Returns
    Related Constants

    BSMINFO ¶

    BSMINFO :: struct {
    	cbSize: u32,
    	hdesk:  HDESK,
    	hwnd:   HWND,
    	luid:   LUID,
    }
    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,
    }
    Related Procedures With Parameters

    CACHE_DESCRIPTOR ¶

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

    CHAR ¶

    CHAR :: u8

    CIEXYZ ¶

    CIEXYZ :: struct {
    	ciexyzX: FXPT2DOT30,
    	ciexyzY: FXPT2DOT30,
    	ciexyzZ: FXPT2DOT30,
    }

    CIEXYZTRIPLE ¶

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

    CLSID ¶

    CLSID :: GUID
    Related Constants

    COINIT ¶

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

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

    typedef enum tagCOINIT { COINIT_APARTMENTTHREADED = 0x2, // Apartment model

    #if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM // These constants are only valid on Windows NT 4.0 COINIT_MULTITHREADED = COINITBASE_MULTITHREADED, COINIT_DISABLE_OLE1DDE = 0x4, // Don't use DDE for Ole1 support. COINIT_SPEED_OVER_MEMORY = 0x8, // Trade memory for speed. #endif // DCOM } COINIT; Where COINITBASE_MULTITHREADED == 0x00

    Related Procedures With Parameters

    COLORREF ¶

    COLORREF :: u32

    COMDLG_FILTERSPEC ¶

    COMDLG_FILTERSPEC :: struct {
    	pszName: [^]u16,
    	pszSpec: [^]u16,
    }

    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,
    }
    Related Procedures With Parameters

    CONSOLE_SCREEN_BUFFER_INFO ¶

    CONSOLE_SCREEN_BUFFER_INFO :: struct {
    	dwSize:              COORD,
    	dwCursorPosition:    COORD,
    	wAttributes:         u16,
    	srWindow:            SMALL_RECT,
    	dwMaximumWindowSize: COORD,
    }
    Related Procedures With Parameters

    CONTEXT ¶

    CONTEXT :: struct {}
     

    TODO(bill)

    COORD ¶

    COORD :: struct {
    	X: i16,
    	Y: i16,
    }
    Related Procedures With Parameters

    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:       [^]u16,
    	lpszClass:      [^]u16,
    	dwExStyle:      u32,
    }

    CRITICAL_SECTION ¶

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

    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

    CreateContextAttribsARBType ¶

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

    DCB ¶

    DCB :: struct {
    	DCBlength:  u32,
    	// NOTE(tetra): Must be set to size_of(DCB).
    	BaudRate:   u32,
    	settings:   u32,
    	// NOTE(tetra): These are bitfields in the C struct.
    	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,
    }
     

    NOTE(tetra): See get_dcb_config() and init_dcb_with_config() for help with initializing this.

    Related Procedures With Parameters

    DCB_Config ¶

    DCB_Config :: struct {
    	fParity:           bool,
    	fOutxCtsFlow:      bool,
    	fOutxDsrFlow:      bool,
    	fDtrControl:       DTR_Control,
    	fDsrSensitivity:   bool,
    	fTXContinueOnXoff: bool,
    	fOutX:             bool,
    	fInX:              bool,
    	fErrorChar:        bool,
    	fNull:             bool,
    	fRtsControl:       RTS_Control,
    	fAbortOnError:     bool,
    	BaudRate:          u32,
    	ByteSize:          BYTE,
    	Parity:            Parity,
    	StopBits:          Stop_Bits,
    	XonChar:           u8,
    	XoffChar:          u8,
    	ErrorChar:         u8,
    	EvtChar:           u8,
    }
    Related Procedures With Parameters
    Related Procedures With Returns

    DECIMAL ¶

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

    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,
    }
    Related Procedures With Parameters

    DNS_MX_DATAA ¶

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

    DNS_PTR_DATAA ¶

    DNS_PTR_DATAA :: cstring

    DNS_RECORD ¶

    DNS_RECORD :: struct {
    	pNext:       ^DNS_RECORD,
    	pName:       cstring,
    	wType:       u16,
    	wDataLength: u16,
    	Flags:       u32,
    	dwTtl:       u32,
    	_:           u32,
    	Data:        struct #raw_union {
    		CNAME: cstring,
    		A:     u32be,
    		// Ipv4 Address
    		AAAA:  u128be,
    		// Ipv6 Address
    		TXT:   DNS_TXT_DATAA,
    		NS:    cstring,
    		MX:    DNS_MX_DATAA,
    		SRV:   DNS_SRV_DATAA,
    	},
    }
    Related Procedures With Parameters

    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

    Related Procedures With Returns

    DNS_TXT_DATAA ¶

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

    DRAWTEXTPARAMS ¶

    DRAWTEXTPARAMS :: struct {
    	cbSize:        u32,
    	iTabLength:    int,
    	iLeftMargin:   int,
    	iRightMargin:  int,
    	uiLengthDrawn: u32,
    }
    Related Procedures With Parameters

    DTR_Control ¶

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

    DUMMYUNIONNAME_u ¶

    DUMMYUNIONNAME_u :: struct #raw_union {
    	Core:     ProcessorCore,
    	Node:     NumaNode,
    	Cache:    CACHE_DESCRIPTOR,
    	Reserved: [2]u64,
    }

    DWMNCRENDERINGPOLICY ¶

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

    DWMWINDOWATTRIBUTE ¶

    DWMWINDOWATTRIBUTE :: enum int {
    	DWMWA_NCRENDERING_ENABLED, 
    	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, 
    }

    DWORD ¶

    DWORD :: u32

    DWORDLONG ¶

    DWORDLONG :: u64

    DWORD_PTR ¶

    DWORD_PTR :: uint

    DrawTextFormat ¶

    DrawTextFormat :: enum u32 {
    	DT_TOP                  = 0, 
    	DT_LEFT                 = 0, 
    	DT_CENTER               = 1, 
    	DT_RIGHT                = 2, 
    	DT_VCENTER              = 4, 
    	DT_BOTTOM               = 8, 
    	DT_WORDBREAK            = 16, 
    	DT_SINGLELINE           = 32, 
    	DT_EXPANDTABS           = 64, 
    	DT_TABSTOP              = 128, 
    	DT_NOCLIP               = 256, 
    	DT_EXTERNALLEADING      = 512, 
    	DT_CALCRECT             = 1024, 
    	DT_NOPREFIX             = 2048, 
    	DT_INTERNAL             = 4096, 
    	DT_EDITCONTROL          = 8192, 
    	DT_PATH_ELLIPSIS        = 16384, 
    	DT_END_ELLIPSIS         = 32768, 
    	DT_MODIFYSTRING         = 65536, 
    	DT_RTLREADING           = 131072, 
    	DT_WORD_ELLIPSIS        = 262144, 
    	DT_NOFULLWIDTHCHARBREAK = 524288, 
    	DT_HIDEPREFIX           = 1048576, 
    	DT_PREFIXONLY           = 2097152, 
    }
    Related Procedures With Parameters

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

    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

    FILEOP_FLAGS ¶

    FILEOP_FLAGS :: u16

    FILE_ATTRIBUTE_TAG_INFO ¶

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

    FILE_BASIC_INFO ¶

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

    FILE_END_OF_FILE_INFO ¶

    FILE_END_OF_FILE_INFO :: struct {
    	EndOfFile: LARGE_INTEGER,
    }

    FILE_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 {
    	next_entry_offset: u32,
    	action:            u32,
    	file_name_length:  u32,
    	file_name:         [1]u16,
    }

    FILE_STANDARD_INFO ¶

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

    FXPT2DOT30 ¶

    FXPT2DOT30 :: struct($Backing: i32, $Fraction_Width: uint = 30) where intrinsics.type_is_integer(Backing), 0 <= Fraction_Width, Fraction_Width <= 8 * size_of(Backing) {
    	i: i32,
    }

    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   = 1, 
    	READWRITE               = 2, 
    	TEMPORARY               = 4, 
    	FASTPROPERTIESONLY      = 8, 
    	OPENSLOWITEM            = 16, 
    	DELAYCREATION           = 32, 
    	BESTEFFORT              = 64, 
    	NO_OPLOCK               = 128, 
    	PREFERQUERYPROPERTIES   = 256, 
    	EXTRINSICPROPERTIES     = 512, 
    	EXTRINSICPROPERTIESONLY = 1024, 
    	VOLATILEPROPERTIES      = 2048, 
    	VOLATILEPROPERTIESONLY  = 4096, 
    	MASK_VALID              = 8191, 
    }

    GET_FILEEX_INFO_LEVELS ¶

    GET_FILEEX_INFO_LEVELS :: distinct i32
    Related Procedures With Parameters
    Related Constants

    GLYPHMETRICSFLOAT ¶

    GLYPHMETRICSFLOAT :: struct {
    	gmfBlackBoxX:     f32,
    	gmfBlackBoxY:     f32,
    	gmfptGlyphOrigin: POINTFLOAT,
    	gmfCellIncX:      f32,
    	gmfCellIncY:      f32,
    }
    Related Procedures With Parameters

    GROUP ¶

    GROUP :: distinct u32
    Related Procedures With Parameters

    GUID ¶

    GUID :: struct {
    	Data1: u32,
    	Data2: u16,
    	Data3: u16,
    	Data4: [8]BYTE,
    }
    Related Procedures With Parameters
    Related Constants

    GetExtensionsStringARBType ¶

    GetExtensionsStringARBType :: proc "c" (_: HDC) -> cstring

    HANDLE ¶

    HANDLE :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns
    Related Constants

    HARDWAREINPUT ¶

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

    HBITMAP ¶

    HBITMAP :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HBLUETOOTH_DEVICE_FIND ¶

    HBLUETOOTH_DEVICE_FIND :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HBLUETOOTH_RADIO_FIND ¶

    HBLUETOOTH_RADIO_FIND :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HBRUSH ¶

    HBRUSH :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HCRYPTPROV ¶

    HCRYPTPROV :: distinct rawptr
    Related Procedures With Parameters

    HCURSOR ¶

    HCURSOR :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HDESK ¶

    HDESK :: distinct rawptr

    HFONT ¶

    HFONT :: distinct rawptr
    Related Procedures With Returns

    HGDIOBJ ¶

    HGDIOBJ :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HGLOBAL ¶

    HGLOBAL :: distinct rawptr
    Related Procedures With Parameters

    HGLRC ¶

    HGLRC :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HHOOK ¶

    HHOOK :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HICON ¶

    HICON :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    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,
    		},
    		NotRange: struct {
    			Usage:           USAGE,
    			Reserved1:       USAGE,
    			StringIndex:     u16,
    			Reserved2:       u16,
    			DesignatorIndex: u16,
    			Reserved3:       u16,
    			DataIndex:       u16,
    			Reserved4:       u16,
    		},
    	},
    }
    Related Procedures With Parameters

    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,
    }
    Related Procedures With Parameters

    HIDP_REPORT_TYPE ¶

    HIDP_REPORT_TYPE :: enum i32 {
    	Input, 
    	Output, 
    	Feature, 
    }
    Related Procedures With Parameters

    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,
    		},
    		NotRange: struct {
    			Usage:           USAGE,
    			Reserved1:       USAGE,
    			StringIndex:     u16,
    			Reserved2:       u16,
    			DesignatorIndex: u16,
    			Reserved3:       u16,
    			DataIndex:       u16,
    			Reserved4:       u16,
    		},
    	},
    }
    Related Procedures With Parameters

    HMENU ¶

    HMENU :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HMODULE ¶

    HMODULE :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HMONITOR ¶

    HMONITOR :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HOOKPROC ¶

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

    HPBUFFERARB ¶

    HPBUFFERARB :: distinct rawptr
     

    WGL_ARB_pbuffer

    HRAWINPUT ¶

    HRAWINPUT :: distinct int
    Related Procedures With Parameters

    HRGN ¶

    HRGN :: distinct rawptr
    Related Procedures With Parameters
    Related Procedures With Returns

    HWAVE ¶

    HWAVE :: distinct rawptr

    HWAVEIN ¶

    HWAVEIN :: distinct rawptr

    HandlerRoutine ¶

    HandlerRoutine :: proc "stdcall" (dwCtrlType: u32) -> BOOL
    Related Procedures With Parameters

    IBindCtx ¶

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

    IBindCtxVtbl ¶

    IBindCtxVtbl :: struct {
    	using IUnknownVtbl:    IUnknownVtbl,
    	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: ^u16, punk: ^IUnknown) -> HRESULT,
    	GetObjectParam:        proc "stdcall" (this: ^IBindCtx, pszKey: ^u16, ppunk: ^^IUnknown) -> HRESULT,
    	EnumObjectParam:       proc "stdcall" (this: ^IBindCtx, ppenum: ^^IEnumString) -> HRESULT,
    	RevokeObjectParam:     proc "stdcall" (this: ^IBindCtx, pszKey: ^u16) -> HRESULT,
    }

    IEnumMoniker ¶

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

    IEnumMonikerVtbl ¶

    IEnumMonikerVtbl :: struct {
    	using IUnknownVtbl: IUnknownVtbl,
    	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,
    }

    IEnumShellItems ¶

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

    IEnumShellItemsVtbl ¶

    IEnumShellItemsVtbl :: struct {
    	using IUnknownVtbl: IUnknownVtbl,
    	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,
    }

    IEnumString ¶

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

    IEnumStringVtbl ¶

    IEnumStringVtbl :: struct {
    	using IUnknownVtbl: IUnknownVtbl,
    	Next:         proc "stdcall" (this: ^IEnumString, celt: u32, rgelt: ^^u16, 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,
    }

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

    IFileDialogEvents ¶

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

    IFileDialogEventsVtbl ¶

    IFileDialogEventsVtbl :: struct {
    	using IUnknownVtbl: IUnknownVtbl,
    	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,
    }

    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: [^]u16) -> HRESULT,
    	GetFileName:         proc "stdcall" (this: ^IFileDialog, pszName: ^[^]u16) -> HRESULT,
    	SetTitle:            proc "stdcall" (this: ^IFileDialog, pszTitle: [^]u16) -> HRESULT,
    	SetOkButtonLabel:    proc "stdcall" (this: ^IFileDialog, pszText: [^]u16) -> HRESULT,
    	SetFileNameLabel:    proc "stdcall" (this: ^IFileDialog, pszLabel: [^]u16) -> 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: [^]u16) -> 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,
    }

    IFileOpenDialog ¶

    IFileOpenDialog :: struct #raw_union {
    	IFileDialog: IFileDialog,
    	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,
    }

    IFileOperationProgressSink ¶

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

    IFileOperationProgressSinkVtbl ¶

    IFileOperationProgressSinkVtbl :: struct {
    	using IUnknownVtbl: IUnknownVtbl,
    	StartOperations:  proc "stdcall" (this: ^IFileOperationProgressSink) -> HRESULT,
    	FinishOperations: proc "stdcall" (this: ^IFileOperationProgressSink, hrResult: HRESULT) -> HRESULT,
    	PreRenameItem:    proc "stdcall" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, pszNewName: [^]u16) -> HRESULT,
    	PostRenameItem:   proc "stdcall" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, pszNewName: [^]u16, hrRename: HRESULT, psiNewlyCreated: ^IShellItem) -> HRESULT,
    	PreMoveItem:      proc "stdcall" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, psiDestinationFolder: ^IShellItem, pszNewName: [^]u16) -> HRESULT,
    	PostMoveItem:     proc "stdcall" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, psiDestinationFolder: ^IShellItem, pszNewName: [^]u16, hrMove: HRESULT, psiNewlyCreated: ^IShellItem) -> HRESULT,
    	PreCopyItem:      proc "stdcall" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, psiDestinationFolder: ^IShellItem, pszNewName: [^]u16) -> HRESULT,
    	PostCopyItem:     proc "stdcall" (this: ^IFileOperationProgressSink, dwFlags: u32, psiItem: ^IShellItem, psiDestinationFolder: ^IShellItem, pszNewName: [^]u16, 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: [^]u16) -> HRESULT,
    	PostNewItem:      proc "stdcall" (this: ^IFileOperationProgressSink, dwFlags: u32, psiDestinationFolder: ^IShellItem, pszNewName: [^]u16, pszTemplateName: [^]u16, 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,
    }

    IFileSaveDialog ¶

    IFileSaveDialog :: struct #raw_union {
    	IFileDialog: IFileDialog,
    	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,
    }

    IID ¶

    IID :: GUID
    Related Constants

    IMAGE_DATA_DIRECTORY ¶

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

    IMAGE_EXPORT_DIRECTORY ¶

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

    IMAGE_FILE_HEADER ¶

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

    IMAGE_NT_HEADERS64 ¶

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

    IMAGE_OPTIONAL_HEADER64 ¶

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

    IModalWindow ¶

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

    IModalWindowVtbl ¶

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

    IMoniker ¶

    IMoniker :: struct #raw_union {
    	IPersistStream: IPersistStream,
    	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: ^^u16) -> HRESULT,
    	ParseDisplayName:    proc "stdcall" (this: ^IMoniker, pbc: ^IBindCtx, pmkToLeft: ^IMoniker, pszDisplayName: ^u16, pchEaten: ^u32, ppmkOut: ^^IMoniker) -> HRESULT,
    	IsSystemMoniker:     proc "stdcall" (this: ^IMoniker, pdwMksys: ^u32) -> HRESULT,
    }

    INPUT ¶

    INPUT :: struct {
    	type: INPUT_TYPE,
    	using _: struct #raw_union {
    		mi: MOUSEINPUT,
    		ki: KEYBDINPUT,
    		hi: HARDWAREINPUT,
    	},
    }

    INPUT_TYPE ¶

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

    INT16 ¶

    INT16 :: i16

    INT32 ¶

    INT32 :: i32

    INT64 ¶

    INT64 :: i64

    INT8 ¶

    INT8 :: i8

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

    IPersistStream ¶

    IPersistStream :: struct #raw_union {
    	IPersist: IPersist,
    	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,
    }

    IPersistVtbl ¶

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

    IPropertyDescriptionList ¶

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

    IPropertyDescriptionListVtbl ¶

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

    IPropertyStore ¶

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

    IPropertyStoreVtbl ¶

    IPropertyStoreVtbl :: struct {
    	using IUnknownVtbl: IUnknownVtbl,
    	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,
    }

    IRunningObjectTable ¶

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

    IRunningObjectTableVtbl ¶

    IRunningObjectTableVtbl :: struct {
    	using IUnknownVtbl:  IUnknownVtbl,
    	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,
    }

    ISequentialStream ¶

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

    ISequentialStreamVtbl ¶

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

    IShellItem ¶

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

    IShellItemArray ¶

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

    IShellItemArrayVtbl ¶

    IShellItemArrayVtbl :: struct {
    	using IUnknownVtbl:         IUnknownVtbl,
    	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,
    }

    IShellItemFilter ¶

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

    IShellItemFilterVtbl ¶

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

    IShellItemVtbl ¶

    IShellItemVtbl :: struct {
    	using IUnknownVtbl: IUnknownVtbl,
    	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,
    }

    IStream ¶

    IStream :: struct #raw_union {
    	ISequentialStream: ISequentialStream,
    	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,
    }

    ITaskbarList ¶

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

    ITaskbarList2 ¶

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

    ITaskbarList2Vtbl ¶

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

    ITaskbarList3 ¶

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

    ITaskbarList3Vtbl ¶

    ITaskbarList3Vtbl :: struct {
    	using ITaskbarList2Vtbl: ITaskbarList2Vtbl,
    	SetProgressValue:      proc "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: [^]u16) -> HRESULT,
    	SetThumbnailTooltip:   proc "stdcall" (this: ^ITaskbarList3, hwnd: HWND, pszTip: [^]u16) -> HRESULT,
    	SetThumbnailClip:      proc "stdcall" (this: ^ITaskbarList3, hwnd: HWND, prcClip: ^RECT) -> HRESULT,
    }

    ITaskbarListVtbl ¶

    ITaskbarListVtbl :: struct {
    	using IUnknownVtbl: IUnknownVtbl,
    	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,
    }

    IUnknown ¶

    IUnknown :: struct {
    	using Vtbl: ^IUnknownVtbl,
    }
    Related Procedures With Parameters

    IUnknownVtbl ¶

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

    KNOWNFOLDERID ¶

    KNOWNFOLDERID :: GUID
    Related Constants

    KNOWN_FOLDER_FLAG ¶

    KNOWN_FOLDER_FLAG :: enum u32 {
    	DEFAULT                          = 0, 
    	// if NTDDI_VERSION >= NTDDI_WIN10_RS3
    	FORCE_APP_DATA_REDIRECTION       = 524288, 
    	// if NTDDI_VERSION >= NTDDI_WIN10_RS2
    	RETURN_FILTER_REDIRECTION_TARGET = 262144, 
    	FORCE_PACKAGE_REDIRECTION        = 131072, 
    	NO_PACKAGE_REDIRECTION           = 65536, 
    	FORCE_APPCONTAINER_REDIRECTION   = 131072, 
    	// if NTDDI_VERSION >= NTDDI_WIN7
    	NO_APPCONTAINER_REDIRECTION      = 65536, 
    	CREATE                           = 32768, 
    	DONT_VERIFY                      = 16384, 
    	DONT_UNEXPAND                    = 8192, 
    	NO_ALIAS                         = 4096, 
    	INIT                             = 2048, 
    	DEFAULT_PATH                     = 1024, 
    	NOT_PARENT_RELATIVE              = 512, 
    	SIMPLE_IDLIST                    = 256, 
    	ALIAS_ONLY                       = 2147483648, 
    }

    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,
    }
    Related Procedures With Parameters

    LINGER ¶

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

    Used with the SO_LINGER socket option to setsockopt().

    LITEM ¶

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

    LOCALGROUP_MEMBERS_INFO_0 ¶

    LOCALGROUP_MEMBERS_INFO_0 :: struct #packed {
    	sid: ^SID,
    }
    Related Procedures With Parameters

    LOGICAL_PROCESSOR_RELATIONSHIP ¶

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

    LONG32 ¶

    LONG32 :: i32

    LONG64 ¶

    LONG64 :: i64

    LONG_PTR ¶

    LONG_PTR :: int

    LPARAM ¶

    LPARAM :: int

    LPBOOL ¶

    LPBOOL :: ^BOOL

    LPBYTE ¶

    LPBYTE :: ^BYTE

    LPCGUID ¶

    LPCGUID :: ^GUID

    LPCOLORREF ¶

    LPCOLORREF :: ^u32

    LPCTSTR ¶

    LPCTSTR :: [^]u16

    LPCWSTR ¶

    LPCWSTR :: [^]u16

    LPDWORD ¶

    LPDWORD :: ^u32

    LPFIBER_START_ROUTINE ¶

    LPFIBER_START_ROUTINE :: proc "stdcall" (lpFiberParameter: rawptr)
    Related Procedures With Parameters

    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

    LPGUID ¶

    LPGUID :: ^GUID

    LPHANDLE ¶

    LPHANDLE :: ^HANDLE

    LPINT ¶

    LPINT :: ^i32

    LPLOOKUPSERVICE_COMPLETION_ROUTINE ¶

    LPLOOKUPSERVICE_COMPLETION_ROUTINE :: proc "stdcall" (dwErrorCode: u32, dwNumberOfBytesTransfered: u32, lpOverlapped: ^OVERLAPPED)
    Related Procedures With Parameters

    LPMMTIME ¶

    LPMMTIME :: ^MMTIME

    LPMSG ¶

    LPMSG :: ^MSG

    LPOFNHOOKPROC ¶

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

    LPOLESTR ¶

    LPOLESTR :: ^u16

    LPOVERLAPPED_COMPLETION_ROUTINE ¶

    LPOVERLAPPED_COMPLETION_ROUTINE :: proc "stdcall" (dwErrorCode: u32, dwNumberOfBytesTransfered: u32, lpOverlapped: ^OVERLAPPED)
    Related Procedures With Parameters

    LPPOINT ¶

    LPPOINT :: ^POINT

    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
    Related Procedures With Parameters

    LPRECT ¶

    LPRECT :: ^RECT

    LPSIZE ¶

    LPSIZE :: ^SIZE

    LPSTR ¶

    LPSTR :: ^u8

    LPUINT ¶

    LPUINT :: ^u32

    LPULONG_PTR ¶

    LPULONG_PTR :: ^uint

    LPWCH ¶

    LPWCH :: ^u16

    LPWORD ¶

    LPWORD :: ^u16

    LPWSABUF ¶

    LPWSABUF :: ^WSABUF

    LPWSAOVERLAPPED ¶

    LPWSAOVERLAPPED :: distinct rawptr
    Related Procedures With Parameters

    LPWSAOVERLAPPED_COMPLETION_ROUTINE ¶

    LPWSAOVERLAPPED_COMPLETION_ROUTINE :: distinct rawptr
    Related Procedures With Parameters

    LPWSTR ¶

    LPWSTR :: ^u16

    LRESULT ¶

    LRESULT :: int

    LSTATUS ¶

    LSTATUS :: i32

    LUID ¶

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

    LUID_AND_ATTRIBUTES ¶

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

    LWSTDAPI ¶

    LWSTDAPI :: HRESULT
    Related Constants

    Logon32_Provider ¶

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

    Logon32_Type ¶

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

    MARGINS ¶

    MARGINS :: distinct [4]int
    Related Procedures With Parameters

    MEMORYSTATUSEX ¶

    MEMORYSTATUSEX :: struct {
    	dwLength:                u32,
    	dwMemoryLoad:            u32,
    	ullTotalPhys:            u64,
    	ullAvailPhys:            u64,
    	ullTotalPageFil:         u64,
    	ullAvailPageFil:         u64,
    	ullTotalVirtual:         u64,
    	ullAvailVirtual:         u64,
    	ullAvailExtendedVirtual: u64,
    }
    Related Procedures With Parameters

    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 Procedures With Parameters
    Related Constants

    MINIDUMP_CALLBACK_INFORMATION ¶

    MINIDUMP_CALLBACK_INFORMATION :: struct {
    	CallbackRoutine: MINIDUMP_CALLBACK_ROUTINE,
    	CallbackParam:   rawptr,
    }
    Related Procedures With Parameters

    MINIDUMP_CALLBACK_INPUT ¶

    MINIDUMP_CALLBACK_INPUT :: struct {
    	ProcessId:     u32,
    	ProcessHandle: HANDLE,
    	CallbackType:  u32,
    	using _:       struct #raw_union {
    		Status:            HRESULT,
    		Thread:            MINIDUMP_THREAD_CALLBACK,
    		ThreadEx:          MINIDUMP_THREAD_EX_CALLBACK,
    		Module:            MINIDUMP_MODULE_CALLBACK,
    		IncludeThread:     MINIDUMP_INCLUDE_THREAD_CALLBACK,
    		IncludeModule:     MINIDUMP_INCLUDE_MODULE_CALLBACK,
    		Io:                MINIDUMP_IO_CALLBACK,
    		ReadMemoryFailure: MINIDUMP_READ_MEMORY_FAILURE_CALLBACK,
    		SecondaryFlags:    u32,
    		VmQuery:           MINIDUMP_VM_QUERY_CALLBACK,
    		VmPreRead:         MINIDUMP_VM_PRE_READ_CALLBACK,
    		VmPostRead:        MINIDUMP_VM_POST_READ_CALLBACK,
    	},
    }

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

    MINIDUMP_DIRECTORY :: struct {
    	StreamType: u32,
    	Location:   MINIDUMP_LOCATION_DESCRIPTOR,
    }

    MINIDUMP_EXCEPTION_INFORMATION ¶

    MINIDUMP_EXCEPTION_INFORMATION :: struct {
    	ThreadId:          u32,
    	ExceptionPointers: ^EXCEPTION_POINTERS,
    	ClientPointers:    BOOL,
    }
    Related Procedures With Parameters

    MINIDUMP_INCLUDE_MODULE_CALLBACK ¶

    MINIDUMP_INCLUDE_MODULE_CALLBACK :: struct {
    	BaseOfImage: u64,
    }

    MINIDUMP_INCLUDE_THREAD_CALLBACK ¶

    MINIDUMP_INCLUDE_THREAD_CALLBACK :: struct {
    	ThreadId: u32,
    }

    MINIDUMP_IO_CALLBACK ¶

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

    MINIDUMP_LOCATION_DESCRIPTOR ¶

    MINIDUMP_LOCATION_DESCRIPTOR :: struct {
    	DataSize: u32,
    	Rva:      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_READ_MEMORY_FAILURE_CALLBACK ¶

    MINIDUMP_READ_MEMORY_FAILURE_CALLBACK :: struct {
    	Offset:        u64,
    	Bytes:         u32,
    	FailureStatus: HRESULT,
    }

    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                         = 0, 
    	WithDataSegs                   = 1, 
    	WithFullMemory                 = 2, 
    	WithHandleData                 = 4, 
    	FilterMemory                   = 8, 
    	ScanMemory                     = 16, 
    	WithUnloadedModules            = 32, 
    	WithIndirectlyReferencedMemory = 64, 
    	FilterModulePaths              = 128, 
    	WithProcessThreadData          = 256, 
    	WithPrivateReadWriteMemory     = 512, 
    	WithoutOptionalData            = 1024, 
    	WithFullMemoryInfo             = 2048, 
    	WithThreadInfo                 = 4096, 
    	WithCodeSegs                   = 8192, 
    	WithoutAuxiliaryState          = 16384, 
    	WithFullAuxiliaryState         = 32768, 
    	WithPrivateWriteCopyMemory     = 65536, 
    	IgnoreInaccessibleMemory       = 131072, 
    	WithTokenInformation           = 262144, 
    	WithModuleHeaders              = 524288, 
    	FilterTriage                   = 1048576, 
    	WithAvxXStateContext           = 2097152, 
    	WithIptTrace                   = 4194304, 
    	ScanInaccessiblePartialPages   = 8388608, 
    	FilterWriteCombinedMemory      = 16777216, 
    	ValidTypeFlags                 = 33554431, 
    }
    Related Procedures With Parameters

    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,
    }
    Related Procedures With Parameters

    MINIDUMP_VM_POST_READ_CALLBACK ¶

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

    MINIDUMP_VM_PRE_READ_CALLBACK ¶

    MINIDUMP_VM_PRE_READ_CALLBACK :: struct {
    	Offset: u64,
    	Buffer: rawptr,
    	Size:   u32,
    }

    MINIDUMP_VM_QUERY_CALLBACK ¶

    MINIDUMP_VM_QUERY_CALLBACK :: struct {
    	Offset: u64,
    }

    MINMAXINFO ¶

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

    Struct pointed to by WM_GETMINMAXINFO lParam

    MMRESULT ¶

    MMRESULT :: u32

    MMTIME ¶

    MMTIME :: struct {
    	wType: u32,
    	u:     struct #raw_union {
    		ms:     u32,
    		sample: u32,
    		cb:     u32,
    		ticks:  u32,
    		smpte:  struct {
    			hour:  BYTE,
    			min:   BYTE,
    			sec:   BYTE,
    			frame: BYTE,
    			fps:   BYTE,
    			dummy: BYTE,
    			pad:   [2]BYTE,
    		},
    		midi:   struct {
    			songptrpos: u32,
    		},
    	},
    }
     

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

    Related Procedures With Parameters

    MMVERSION ¶

    MMVERSION :: u32

    MONITORINFO ¶

    MONITORINFO :: struct {
    	cbSize:    u32,
    	rcMonitor: RECT,
    	rcWork:    RECT,
    	dwFlags:   u32,
    }
    Related Procedures With Parameters

    MONITORINFOEXW ¶

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

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

    MSG ¶

    MSG :: struct {
    	hwnd:    HWND,
    	message: u32,
    	wParam:  uintptr,
    	lParam:  int,
    	time:    u32,
    	pt:      POINT,
    }
    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
    Related Procedures With Parameters

    Monitor_From_Flags ¶

    Monitor_From_Flags :: enum u32 {
    	MONITOR_DEFAULTTONULL    = 0, // Returns NULL
    	MONITOR_DEFAULTTOPRIMARY = 1, // Returns a handle to the primary display monitor
    	MONITOR_DEFAULTTONEAREST = 2, // 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,
    	},
    }

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

    NMHDR ¶

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

    NOTIFYICONDATAW ¶

    NOTIFYICONDATAW :: struct {
    	cbSize:           u32,
    	hWnd:             HWND,
    	uID:              u32,
    	uFlags:           u32,
    	uCallbackMessage: u32,
    	hIcon:            HICON,
    	szTip:            [128]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,
    }
    Related Procedures With Parameters

    NTSTATUS ¶

    NTSTATUS :: i32

    NumaNode ¶

    NumaNode :: struct {
    	NodeNumber: u32,
    }

    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 Procedures With Parameters
    Related Constants

    OLECHAR ¶

    OLECHAR :: u16

    OPENFILENAMEW ¶

    OPENFILENAMEW :: struct {
    	lStructSize:       u32,
    	hwndOwner:         HWND,
    	hInstance:         HANDLE,
    	lpstrFilter:       [^]u16,
    	lpstrCustomFilter: [^]u16,
    	nMaxCustFilter:    u32,
    	nFilterIndex:      u32,
    	lpstrFile:         [^]u16,
    	nMaxFile:          u32,
    	lpstrFileTitle:    [^]u16,
    	nMaxFileTitle:     u32,
    	lpstrInitialDir:   [^]u16,
    	lpstrTitle:        [^]u16,
    	Flags:             u32,
    	nFileOffset:       u16,
    	nFileExtension:    u16,
    	lpstrDefExt:       [^]u16,
    	lCustData:         int,
    	lpfnHook:          LPOFNHOOKPROC,
    	lpTemplateName:    [^]u16,
    	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 ¶

    OVERLAPPED :: struct {
    	Internal:     ^u32,
    	InternalHigh: ^u32,
    	Offset:       u32,
    	OffsetHigh:   u32,
    	hEvent:       HANDLE,
    }
    Related Procedures With Parameters

    OVERLAPPED_ENTRY ¶

    OVERLAPPED_ENTRY :: struct {
    	lpCompletionKey:            uint,
    	lpOverlapped:               ^OVERLAPPED,
    	Internal:                   uint,
    	dwNumberOfBytesTransferred: u32,
    }
    Related Procedures With Parameters

    PACCESS_MASK ¶

    PACCESS_MASK :: ^u32

    PACCESS_TOKEN ¶

    PACCESS_TOKEN :: rawptr

    PAINTSTRUCT ¶

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

    PBAD_MEMORY_CALLBACK_ROUTINE ¶

    PBAD_MEMORY_CALLBACK_ROUTINE :: proc "stdcall" ()
    Related Procedures With Parameters

    PBOOL ¶

    PBOOL :: ^BOOL

    PBYTE ¶

    PBYTE :: ^BYTE

    PCGUID ¶

    PCGUID :: ^GUID

    PCHAR ¶

    PCHAR :: ^u8

    PCLAIMS_BLOB ¶

    PCLAIMS_BLOB :: rawptr

    PCWSTR ¶

    PCWSTR :: [^]u16

    PCZZWSTR ¶

    PCZZWSTR :: ^u16

    PDWORD ¶

    PDWORD :: ^u32

    PDWORD_PTR ¶

    PDWORD_PTR :: ^uint

    PGUID ¶

    PGUID :: ^GUID

    PHIDP_PREPARSED_DATA ¶

    PHIDP_PREPARSED_DATA :: rawptr

    PHKEY ¶

    PHKEY :: ^HKEY

    PINT ¶

    PINT :: ^i32

    PIXELFORMATDESCRIPTOR ¶

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

    PLUID ¶

    PLUID :: ^LUID

    POINT ¶

    POINT :: struct {
    	x: i32,
    	y: i32,
    }
    Related Procedures With Parameters

    POINTFLOAT ¶

    POINTFLOAT :: struct {
    	x: f32,
    	y: f32,
    }

    PQUOTA_LIMITS ¶

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

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

    PRIVILEGE_SET ¶

    PRIVILEGE_SET :: struct {
    	PrivilegeCount: u32,
    	Control:        u32,
    	Privilege:      [1]LUID_AND_ATTRIBUTES,
    }
    Related Procedures With Parameters

    PROCESSOR_CACHE_TYPE ¶

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

    PROCESS_INFORMATION ¶

    PROCESS_INFORMATION :: struct {
    	hProcess:    HANDLE,
    	hThread:     HANDLE,
    	dwProcessId: u32,
    	dwThreadId:  u32,
    }
    Related Procedures With Parameters

    PROFILEINFOW ¶

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

    PROPERTYKEY ¶

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

    PROPVARIANT ¶

    PROPVARIANT :: struct {
    	decVal: DECIMAL,
    }
     

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

    PSECURITY_DESCRIPTOR ¶

    PSECURITY_DESCRIPTOR :: rawptr

    PSIZE ¶

    PSIZE :: ^SIZE

    PSIZE_T ¶

    PSIZE_T :: ^uint

    PTIMERAPCROUTINE ¶

    PTIMERAPCROUTINE :: proc "stdcall" (lpArgToCompletionRoutine: rawptr, dwTimerLowValue, dwTimerHighValue: u32)
    Related Procedures With Parameters

    PUINT ¶

    PUINT :: ^u32

    PULONG ¶

    PULONG :: ^u32

    PULONG_PTR ¶

    PULONG_PTR :: ^uint

    PUSAGE ¶

    PUSAGE :: ^USAGE

    PUSHORT ¶

    PUSHORT :: ^u16

    PVECTORED_EXCEPTION_HANDLER ¶

    PVECTORED_EXCEPTION_HANDLER :: proc "stdcall" (ExceptionInfo: ^EXCEPTION_POINTERS) -> i32
    Related Procedures With Parameters

    Parity ¶

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

    ProcessorCore ¶

    ProcessorCore :: struct {
    	Flags: BYTE,
    }

    QWORD ¶

    QWORD :: u64

    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,
    }
    Related Procedures With Parameters

    RAWINPUTHEADER ¶

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

    RAWKEYBOARD ¶

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

    RAWMOUSE ¶

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

    REASON_CONTEXT ¶

    REASON_CONTEXT :: struct {
    	Version: u32,
    	Flags:   u32,
    	Reason:  struct #raw_union {
    		Detailed:           struct {
    			LocalizedReasonModule: HMODULE,
    			LocalizedReasonId:     u32,
    			ReasonStringCount:     u32,
    			ReasonStrings:         ^^u16,
    		},
    		SimpleReasonString: ^u16,
    	},
    }
    Related Procedures With Parameters

    REFCLSID ¶

    REFCLSID :: ^GUID

    REFGUID ¶

    REFGUID :: GUID
    Related Constants

    REFIID ¶

    REFIID :: ^GUID

    REFKNOWNFOLDERID ¶

    REFKNOWNFOLDERID :: ^GUID

    REGSAM ¶

    REGSAM :: u32

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

    RID_DEVICE_INFO ¶

    RID_DEVICE_INFO :: struct {
    	cbSize:         u32,
    	dwType:         u32,
    	DUMMYUNIONNAME: struct #raw_union {
    		mouse:    RID_DEVICE_INFO_MOUSE,
    		keyboard: RID_DEVICE_INFO_KEYBOARD,
    		hid:      RID_DEVICE_INFO_HID,
    	},
    }

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

    RTS_Control ¶

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

    RedrawWindowFlags ¶

    RedrawWindowFlags :: enum u32 {
    	RDW_INVALIDATE      = 1, 
    	RDW_INTERNALPAINT   = 2, 
    	RDW_ERASE           = 4, 
    	RDW_VALIDATE        = 8, 
    	RDW_NOINTERNALPAINT = 16, 
    	RDW_NOERASE         = 32, 
    	RDW_NOCHILDREN      = 64, 
    	RDW_ALLCHILDREN     = 128, 
    	RDW_UPDATENOW       = 256, 
    	RDW_ERASENOW        = 512, 
    	RDW_FRAME           = 1024, 
    	RDW_NOFRAME         = 2048, 
    }
    Related Procedures With Parameters

    SECURITY_IMPERSONATION_LEVEL ¶

    SECURITY_IMPERSONATION_LEVEL :: enum int {
    	SecurityAnonymous, 
    	SecurityIdentification, 
    	SecurityImpersonation, 
    	SecurityDelegation, 
    }
    Related Procedures With Parameters

    SECURITY_INFORMATION ¶

    SECURITY_INFORMATION :: u32

    SFGAOF ¶

    SFGAOF :: u32

    SHCONTF ¶

    SHCONTF :: u32

    SHELLEXECUTEINFOW ¶

    SHELLEXECUTEINFOW :: struct {
    	cbSize:         u32,
    	// in, required, sizeof of this structure
    	fMask:          u32,
    	// in, SEE_MASK_XXX values
    	hwnd:           HWND,
    	// in, optional
    	lpVerb:         [^]u16,
    	// in, optional when unspecified the default verb is choosen
    	lpFile:         [^]u16,
    	// in, either this value or lpIDList must be specified
    	lpParameters:   [^]u16,
    	// in, optional
    	lpDirectory:    [^]u16,
    	// 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:        [^]u16,
    	// 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
    	DUMMYUNIONNAME: struct #raw_union {
    		hIcon:    HANDLE,
    		// not used
    		hMonitor: HANDLE,
    	},
    	hProcess:       HANDLE,
    }
    Related Procedures With Parameters

    SHFILEOPSTRUCTW ¶

    SHFILEOPSTRUCTW :: struct {
    	hwnd:                  HWND,
    	wFunc:                 u32,
    	pFrom:                 ^u16,
    	pTo:                   ^u16,
    	fFlags:                u16,
    	fAnyOperationsAborted: BOOL,
    	hNameMappings:         rawptr,
    	lpszProgressTitle:     [^]u16,
    }
    Related Procedures With Parameters

    SHORT ¶

    SHORT :: i16

    SIATTRIBFLAGS ¶

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

    SICHINTF ¶

    SICHINTF :: u32

    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
    Related Procedures With Returns

    SID_IDENTIFIER_AUTHORITY ¶

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

    SID_NAME_USE ¶

    SID_NAME_USE :: distinct u32
     

    Used in LookupAccountNameW

    SID_TYPE ¶

    SID_TYPE :: enum SID_NAME_USE {
    	User           = 1, 
    	Group, 
    	Domain, 
    	Alias, 
    	WellKnownGroup, 
    	DeletedAccount, 
    	Invalid, 
    	Unknown, 
    	Computer, 
    	Label, 
    	LogonSession, 
    }
    Related Procedures With Parameters

    SIGDN ¶

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

    SIZE ¶

    SIZE :: struct {
    	cx: i32,
    	cy: i32,
    }
    Related Procedures With Parameters

    SMALL_RECT ¶

    SMALL_RECT :: struct {
    	Left:   i16,
    	Top:    i16,
    	Right:  i16,
    	Bottom: i16,
    }
    Related Procedures With Parameters

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

    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,
    }
    Related Procedures With Parameters

    STATSTG ¶

    STATSTG :: struct {
    	pwcsName:          ^u16,
    	type:              u32,
    	cbSize:            ULARGE_INTEGER,
    	mtime:             FILETIME,
    	ctime:             FILETIME,
    	atime:             FILETIME,
    	grfMode:           u32,
    	grfLocksSupported: u32,
    	clsid:             GUID,
    	grfStateBits:      u32,
    	reserved:          u32,
    }
    SYMBOLIC_LINK_REPARSE_BUFFER :: struct {
    	SubstituteNameOffset: u16,
    	SubstituteNameLength: u16,
    	PrintNameOffset:      u16,
    	PrintNameLength:      u16,
    	Flags:                u32,
    	PathBuffer:           u16,
    }

    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

    Related Procedures With Parameters

    SYSTEM_LOGICAL_PROCESSOR_INFORMATION ¶

    SYSTEM_LOGICAL_PROCESSOR_INFORMATION :: struct {
    	ProcessorMask: uint,
    	Relationship:  LOGICAL_PROCESSOR_RELATIONSHIP,
    	DummyUnion:    DUMMYUNIONNAME_u,
    }
    Related Procedures With Parameters

    Stop_Bits ¶

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

    SwapIntervalEXTType ¶

    SwapIntervalEXTType :: proc "c" (interval: i32) -> bool

    System_Error ¶

    System_Error :: enum u32 {
    	// The operation completed successfully.
    	SUCCESS                                                            = 0, 
    	// Incorrect function.
    	INVALID_FUNCTION                                                   = 1, 
    	// The system cannot find the file specified.
    	FILE_NOT_FOUND                                                     = 2, 
    	// The system cannot find the path specified.
    	PATH_NOT_FOUND                                                     = 3, 
    	// The system cannot open the file.
    	TOO_MANY_OPEN_FILES                                                = 4, 
    	// Access is denied.
    	ACCESS_DENIED                                                      = 5, 
    	// The handle is invalid.
    	INVALID_HANDLE                                                     = 6, 
    	// The storage control blocks were destroyed.
    	ARENA_TRASHED                                                      = 7, 
    	// Not enough memory resources are available to process this command.
    	NOT_ENOUGH_MEMORY                                                  = 8, 
    	// The storage control block address is invalid.
    	INVALID_BLOCK                                                      = 9, 
    	// The environment is incorrect.
    	BAD_ENVIRONMENT                                                    = 10, 
    	// An attempt was made to load a program with an incorrect format.
    	BAD_FORMAT                                                         = 11, 
    	// The access code is invalid.
    	INVALID_ACCESS                                                     = 12, 
    	// The data is invalid.
    	INVALID_DATA                                                       = 13, 
    	// Not enough storage is available to complete this operation.
    	OUTOFMEMORY                                                        = 14, 
    	// The system cannot find the drive specified.
    	INVALID_DRIVE                                                      = 15, 
    	// The directory cannot be removed.
    	CURRENT_DIRECTORY                                                  = 16, 
    	// The system cannot move the file to a different disk drive.
    	NOT_SAME_DEVICE                                                    = 17, 
    	// There are no more files.
    	NO_MORE_FILES                                                      = 18, 
    	// The media is write protected.
    	WRITE_PROTECT                                                      = 19, 
    	// The system cannot find the device specified.
    	BAD_UNIT                                                           = 20, 
    	// The device is not ready.
    	NOT_READY                                                          = 21, 
    	// The device does not recognize the command.
    	BAD_COMMAND                                                        = 22, 
    	// Data error cyclic redundancy check.
    	CRC                                                                = 23, 
    	// The program issued a command but the command length is incorrect.
    	BAD_LENGTH                                                         = 24, 
    	// The drive cannot locate a specific area or track on the disk.
    	SEEK                                                               = 25, 
    	// The specified disk or diskette cannot be accessed.
    	NOT_DOS_DISK                                                       = 26, 
    	// The drive cannot find the sector requested.
    	SECTOR_NOT_FOUND                                                   = 27, 
    	// The printer is out of paper.
    	OUT_OF_PAPER                                                       = 28, 
    	// The system cannot write to the specified device.
    	WRITE_FAULT                                                        = 29, 
    	// The system cannot read from the specified device.
    	READ_FAULT                                                         = 30, 
    	// A device attached to the system is not functioning.
    	GEN_FAILURE                                                        = 31, 
    	// The process cannot access the file because it is being used by another process.
    	SHARING_VIOLATION                                                  = 32, 
    	// The process cannot access the file because another process has locked a portion of the file.
    	LOCK_VIOLATION                                                     = 33, 
    	// The wrong diskette is in the drive. Insert %2 Volume Serial Number: %3 into drive %1.
    	WRONG_DISK                                                         = 34, 
    	// Too many files opened for sharing.
    	SHARING_BUFFER_EXCEEDED                                            = 36, 
    	// Reached the end of the file.
    	HANDLE_EOF                                                         = 38, 
    	// The disk is full.
    	HANDLE_DISK_FULL                                                   = 39, 
    	// The request is not supported.
    	NOT_SUPPORTED                                                      = 50, 
    	// 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                                                       = 51, 
    	// 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                                                           = 52, 
    	// The network path was not found.
    	BAD_NETPATH                                                        = 53, 
    	// The network is busy.
    	NETWORK_BUSY                                                       = 54, 
    	// The specified network resource or device is no longer available.
    	DEV_NOT_EXIST                                                      = 55, 
    	// The network BIOS command limit has been reached.
    	TOO_MANY_CMDS                                                      = 56, 
    	// A network adapter hardware error occurred.
    	ADAP_HDW_ERR                                                       = 57, 
    	// The specified server cannot perform the requested operation.
    	BAD_NET_RESP                                                       = 58, 
    	// An unexpected network error occurred.
    	UNEXP_NET_ERR                                                      = 59, 
    	// The remote adapter is not compatible.
    	BAD_REM_ADAP                                                       = 60, 
    	// The printer queue is full.
    	PRINTQ_FULL                                                        = 61, 
    	// Space to store the file waiting to be printed is not available on the server.
    	NO_SPOOL_SPACE                                                     = 62, 
    	// Your file waiting to be printed was deleted.
    	PRINT_CANCELLED                                                    = 63, 
    	// The specified network name is no longer available.
    	NETNAME_DELETED                                                    = 64, 
    	// Network access is denied.
    	NETWORK_ACCESS_DENIED                                              = 65, 
    	// The network resource type is not correct.
    	BAD_DEV_TYPE                                                       = 66, 
    	// The network name cannot be found.
    	BAD_NET_NAME                                                       = 67, 
    	// The name limit for the local computer network adapter card was exceeded.
    	TOO_MANY_NAMES                                                     = 68, 
    	// The network BIOS session limit was exceeded.
    	TOO_MANY_SESS                                                      = 69, 
    	// The remote server has been paused or is in the process of being started.
    	SHARING_PAUSED                                                     = 70, 
    	// 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                                                      = 71, 
    	// The specified printer or disk device has been paused.
    	REDIR_PAUSED                                                       = 72, 
    	// The file exists.
    	FILE_EXISTS                                                        = 80, 
    	// The directory or file cannot be created.
    	CANNOT_MAKE                                                        = 82, 
    	// Fail on INT 24.
    	FAIL_I24                                                           = 83, 
    	// Storage to process this request is not available.
    	OUT_OF_STRUCTURES                                                  = 84, 
    	// The local device name is already in use.
    	ALREADY_ASSIGNED                                                   = 85, 
    	// The specified network password is not correct.
    	INVALID_PASSWORD                                                   = 86, 
    	// The parameter is incorrect.
    	INVALID_PARAMETER                                                  = 87, 
    	// A write fault occurred on the network.
    	NET_WRITE_FAULT                                                    = 88, 
    	// The system cannot start another process at this time.
    	NO_PROC_SLOTS                                                      = 89, 
    	// Cannot create another system semaphore.
    	TOO_MANY_SEMAPHORES                                                = 100, 
    	// The exclusive semaphore is owned by another process.
    	EXCL_SEM_ALREADY_OWNED                                             = 101, 
    	// The semaphore is set and cannot be closed.
    	SEM_IS_SET                                                         = 102, 
    	// The semaphore cannot be set again.
    	TOO_MANY_SEM_REQUESTS                                              = 103, 
    	// Cannot request exclusive semaphores at interrupt time.
    	INVALID_AT_INTERRUPT_TIME                                          = 104, 
    	// The previous ownership of this semaphore has ended.
    	SEM_OWNER_DIED                                                     = 105, 
    	// Insert the diskette for drive %1.
    	SEM_USER_LIMIT                                                     = 106, 
    	// The program stopped because an alternate diskette was not inserted.
    	DISK_CHANGE                                                        = 107, 
    	// The disk is in use or locked by another process.
    	DRIVE_LOCKED                                                       = 108, 
    	// The pipe has been ended.
    	BROKEN_PIPE                                                        = 109, 
    	// The system cannot open the device or file specified.
    	OPEN_FAILED                                                        = 110, 
    	// The file name is too long.
    	BUFFER_OVERFLOW                                                    = 111, 
    	// There is not enough space on the disk.
    	DISK_FULL                                                          = 112, 
    	// No more internal file identifiers available.
    	NO_MORE_SEARCH_HANDLES                                             = 113, 
    	// The target internal file identifier is incorrect.
    	INVALID_TARGET_HANDLE                                              = 114, 
    	// The IOCTL call made by the application program is not correct.
    	INVALID_CATEGORY                                                   = 117, 
    	// The verify-on-write switch parameter value is not correct.
    	INVALID_VERIFY_SWITCH                                              = 118, 
    	// The system does not support the command requested.
    	BAD_DRIVER_LEVEL                                                   = 119, 
    	// This function is not supported on this system.
    	CALL_NOT_IMPLEMENTED                                               = 120, 
    	// The semaphore timeout period has expired.
    	SEM_TIMEOUT                                                        = 121, 
    	// The data area passed to a system call is too small.
    	INSUFFICIENT_BUFFER                                                = 122, 
    	// The filename, directory name, or volume label syntax is incorrect.
    	INVALID_NAME                                                       = 123, 
    	// The system call level is not correct.
    	INVALID_LEVEL                                                      = 124, 
    	// The disk has no volume label.
    	NO_VOLUME_LABEL                                                    = 125, 
    	// The specified module could not be found.
    	MOD_NOT_FOUND                                                      = 126, 
    	// The specified procedure could not be found.
    	PROC_NOT_FOUND                                                     = 127, 
    	// There are no child processes to wait for.
    	WAIT_NO_CHILDREN                                                   = 128, 
    	// The %1 application cannot be run in Win32 mode.
    	CHILD_NOT_COMPLETE                                                 = 129, 
    	// Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O.
    	DIRECT_ACCESS_HANDLE                                               = 130, 
    	// An attempt was made to move the file pointer before the beginning of the file.
    	NEGATIVE_SEEK                                                      = 131, 
    	// The file pointer cannot be set on the specified device or file.
    	SEEK_ON_DEVICE                                                     = 132, 
    	// A JOIN or SUBST command cannot be used for a drive that contains previously joined drives.
    	IS_JOIN_TARGET                                                     = 133, 
    	// An attempt was made to use a JOIN or SUBST command on a drive that has already been joined.
    	IS_JOINED                                                          = 134, 
    	// An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted.
    	IS_SUBSTED                                                         = 135, 
    	// The system tried to delete the JOIN of a drive that is not joined.
    	NOT_JOINED                                                         = 136, 
    	// The system tried to delete the substitution of a drive that is not substituted.
    	NOT_SUBSTED                                                        = 137, 
    	// The system tried to join a drive to a directory on a joined drive.
    	JOIN_TO_JOIN                                                       = 138, 
    	// The system tried to substitute a drive to a directory on a substituted drive.
    	SUBST_TO_SUBST                                                     = 139, 
    	// The system tried to join a drive to a directory on a substituted drive.
    	JOIN_TO_SUBST                                                      = 140, 
    	// The system tried to SUBST a drive to a directory on a joined drive.
    	SUBST_TO_JOIN                                                      = 141, 
    	// The system cannot perform a JOIN or SUBST at this time.
    	BUSY_DRIVE                                                         = 142, 
    	// The system cannot join or substitute a drive to or for a directory on the same drive.
    	SAME_DRIVE                                                         = 143, 
    	// The directory is not a subdirectory of the root directory.
    	DIR_NOT_ROOT                                                       = 144, 
    	// The directory is not empty.
    	DIR_NOT_EMPTY                                                      = 145, 
    	// The path specified is being used in a substitute.
    	IS_SUBST_PATH                                                      = 146, 
    	// Not enough resources are available to process this command.
    	IS_JOIN_PATH                                                       = 147, 
    	// The path specified cannot be used at this time.
    	PATH_BUSY                                                          = 148, 
    	// 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                                                    = 149, 
    	// System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed.
    	SYSTEM_TRACE                                                       = 150, 
    	// The number of specified semaphore events for DosMuxSemWait is not correct.
    	INVALID_EVENT_COUNT                                                = 151, 
    	// DosMuxSemWait did not execute; too many semaphores are already set.
    	TOO_MANY_MUXWAITERS                                                = 152, 
    	// The DosMuxSemWait list is not correct.
    	INVALID_LIST_FORMAT                                                = 153, 
    	// The volume label you entered exceeds the label character limit of the target file system.
    	LABEL_TOO_LONG                                                     = 154, 
    	// Cannot create another thread.
    	TOO_MANY_TCBS                                                      = 155, 
    	// The recipient process has refused the signal.
    	SIGNAL_REFUSED                                                     = 156, 
    	// The segment is already discarded and cannot be locked.
    	DISCARDED                                                          = 157, 
    	// The segment is already unlocked.
    	NOT_LOCKED                                                         = 158, 
    	// The address for the thread ID is not correct.
    	BAD_THREADID_ADDR                                                  = 159, 
    	// One or more arguments are not correct.
    	BAD_ARGUMENTS                                                      = 160, 
    	// The specified path is invalid.
    	BAD_PATHNAME                                                       = 161, 
    	// A signal is already pending.
    	SIGNAL_PENDING                                                     = 162, 
    	// No more threads can be created in the system.
    	MAX_THRDS_REACHED                                                  = 164, 
    	// Unable to lock a region of a file.
    	LOCK_FAILED                                                        = 167, 
    	// The requested resource is in use.
    	BUSY                                                               = 170, 
    	// Device's command support detection is in progress.
    	DEVICE_SUPPORT_IN_PROGRESS                                         = 171, 
    	// A lock request was not outstanding for the supplied cancel region.
    	CANCEL_VIOLATION                                                   = 173, 
    	// The file system does not support atomic changes to the lock type.
    	ATOMIC_LOCKS_NOT_SUPPORTED                                         = 174, 
    	// The system detected a segment number that was not correct.
    	INVALID_SEGMENT_NUMBER                                             = 180, 
    	// The operating system cannot run %1.
    	INVALID_ORDINAL                                                    = 182, 
    	// Cannot create a file when that file already exists.
    	ALREADY_EXISTS                                                     = 183, 
    	// The flag passed is not correct.
    	INVALID_FLAG_NUMBER                                                = 186, 
    	// The specified system semaphore name was not found.
    	SEM_NOT_FOUND                                                      = 187, 
    	// The operating system cannot run %1.
    	INVALID_STARTING_CODESEG                                           = 188, 
    	// The operating system cannot run %1.
    	INVALID_STACKSEG                                                   = 189, 
    	// The operating system cannot run %1.
    	INVALID_MODULETYPE                                                 = 190, 
    	// Cannot run %1 in Win32 mode.
    	INVALID_EXE_SIGNATURE                                              = 191, 
    	// The operating system cannot run %1.
    	EXE_MARKED_INVALID                                                 = 192, 
    	// %1 is not a valid Win32 application.
    	BAD_EXE_FORMAT                                                     = 193, 
    	// The operating system cannot run %1.
    	ITERATED_DATA_EXCEEDS_64k                                          = 194, 
    	// The operating system cannot run %1.
    	INVALID_MINALLOCSIZE                                               = 195, 
    	// The operating system cannot run this application program.
    	DYNLINK_FROM_INVALID_RING                                          = 196, 
    	// The operating system is not presently configured to run this application.
    	IOPL_NOT_ENABLED                                                   = 197, 
    	// The operating system cannot run %1.
    	INVALID_SEGDPL                                                     = 198, 
    	// The operating system cannot run this application program.
    	AUTODATASEG_EXCEEDS_64k                                            = 199, 
    	// The code segment cannot be greater than or equal to 64K.
    	RING2SEG_MUST_BE_MOVABLE                                           = 200, 
    	// The operating system cannot run %1.
    	RELOC_CHAIN_XEEDS_SEGLIM                                           = 201, 
    	// The operating system cannot run %1.
    	INFLOOP_IN_RELOC_CHAIN                                             = 202, 
    	// The system could not find the environment option that was entered.
    	ENVVAR_NOT_FOUND                                                   = 203, 
    	// No process in the command subtree has a signal handler.
    	NO_SIGNAL_SENT                                                     = 205, 
    	// The filename or extension is too long.
    	FILENAME_EXCED_RANGE                                               = 206, 
    	// The ring 2 stack is in use.
    	RING2_STACK_IN_USE                                                 = 207, 
    	// The global filename characters, * or ?, are entered incorrectly or too many global filename characters are specified.
    	META_EXPANSION_TOO_LONG                                            = 208, 
    	// The signal being posted is not correct.
    	INVALID_SIGNAL_NUMBER                                              = 209, 
    	// The signal handler cannot be set.
    	THREAD_1_INACTIVE                                                  = 210, 
    	// The segment is locked and cannot be reallocated.
    	LOCKED                                                             = 212, 
    	// Too many dynamic-link modules are attached to this program or dynamic-link module.
    	TOO_MANY_MODULES                                                   = 214, 
    	// Cannot nest calls to LoadModule.
    	NESTING_NOT_ALLOWED                                                = 215, 
    	// 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                                          = 216, 
    	// The image file %1 is signed, unable to modify.
    	EXE_CANNOT_MODIFY_SIGNED_BINARY                                    = 217, 
    	// The image file %1 is strong signed, unable to modify.
    	EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY                             = 218, 
    	// This file is checked out or locked for editing by another user.
    	FILE_CHECKED_OUT                                                   = 220, 
    	// The file must be checked out before saving changes.
    	CHECKOUT_REQUIRED                                                  = 221, 
    	// The file type being saved or retrieved has been blocked.
    	BAD_FILE_TYPE                                                      = 222, 
    	// The file size exceeds the limit allowed and cannot be saved.
    	FILE_TOO_LARGE                                                     = 223, 
    	// 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                                                = 224, 
    	// Operation did not complete successfully because the file contains a virus or potentially unwanted software.
    	VIRUS_INFECTED                                                     = 225, 
    	// 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                                                      = 226, 
    	// The pipe is local.
    	PIPE_LOCAL                                                         = 229, 
    	// The pipe state is invalid.
    	BAD_PIPE                                                           = 230, 
    	// All pipe instances are busy.
    	PIPE_BUSY                                                          = 231, 
    	// The pipe is being closed.
    	NO_DATA                                                            = 232, 
    	// No process is on the other end of the pipe.
    	PIPE_NOT_CONNECTED                                                 = 233, 
    	// More data is available.
    	MORE_DATA                                                          = 234, 
    	// The session was canceled.
    	VC_DISCONNECTED                                                    = 240, 
    	// The specified extended attribute name was invalid.
    	INVALID_EA_NAME                                                    = 254, 
    	// The extended attributes are inconsistent.
    	EA_LIST_INCONSISTENT                                               = 255, 
    	// The wait operation timed out.
    	WAIT_TIMEOUT                                                       = 258, 
    	// No more data is available.
    	NO_MORE_ITEMS                                                      = 259, 
    	// The copy functions cannot be used.
    	CANNOT_COPY                                                        = 266, 
    	// The directory name is invalid.
    	DIRECTORY                                                          = 267, 
    	// The extended attributes did not fit in the buffer.
    	EAS_DIDNT_FIT                                                      = 275, 
    	// The extended attribute file on the mounted file system is corrupt.
    	EA_FILE_CORRUPT                                                    = 276, 
    	// The extended attribute table file is full.
    	EA_TABLE_FULL                                                      = 277, 
    	// The specified extended attribute handle is invalid.
    	INVALID_EA_HANDLE                                                  = 278, 
    	// The mounted file system does not support extended attributes.
    	EAS_NOT_SUPPORTED                                                  = 282, 
    	// Attempt to release mutex not owned by caller.
    	NOT_OWNER                                                          = 288, 
    	// Too many posts were made to a semaphore.
    	TOO_MANY_POSTS                                                     = 298, 
    	// Only part of a ReadProcessMemory or WriteProcessMemory request was completed.
    	PARTIAL_COPY                                                       = 299, 
    	// The oplock request is denied.
    	OPLOCK_NOT_GRANTED                                                 = 300, 
    	// An invalid oplock acknowledgment was received by the system.
    	INVALID_OPLOCK_PROTOCOL                                            = 301, 
    	// The volume is too fragmented to complete this operation.
    	DISK_TOO_FRAGMENTED                                                = 302, 
    	// The file cannot be opened because it is in the process of being deleted.
    	DELETE_PENDING                                                     = 303, 
    	// Short name settings may not be changed on this volume due to the global registry setting.
    	INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING               = 304, 
    	// Short names are not enabled on this volume.
    	SHORT_NAMES_NOT_ENABLED_ON_VOLUME                                  = 305, 
    	// The security stream for the given volume is in an inconsistent state. Please run CHKDSK on the volume.
    	SECURITY_STREAM_IS_INCONSISTENT                                    = 306, 
    	// A requested file lock operation cannot be processed due to an invalid byte range.
    	INVALID_LOCK_RANGE                                                 = 307, 
    	// The subsystem needed to support the image type is not present.
    	IMAGE_SUBSYSTEM_NOT_PRESENT                                        = 308, 
    	// The specified file already has a notification GUID associated with it.
    	NOTIFICATION_GUID_ALREADY_DEFINED                                  = 309, 
    	// An invalid exception handler routine has been detected.
    	INVALID_EXCEPTION_HANDLER                                          = 310, 
    	// Duplicate privileges were specified for the token.
    	DUPLICATE_PRIVILEGES                                               = 311, 
    	// No ranges for the specified operation were able to be processed.
    	NO_RANGES_PROCESSED                                                = 312, 
    	// Operation is not allowed on a file system internal file.
    	NOT_ALLOWED_ON_SYSTEM_FILE                                         = 313, 
    	// The physical resources of this disk have been exhausted.
    	DISK_RESOURCES_EXHAUSTED                                           = 314, 
    	// The token representing the data is invalid.
    	INVALID_TOKEN                                                      = 315, 
    	// The device does not support the command feature.
    	DEVICE_FEATURE_NOT_SUPPORTED                                       = 316, 
    	// The system cannot find message text for message number 0x%1 in the message file for %2.
    	MR_MID_NOT_FOUND                                                   = 317, 
    	// The scope specified was not found.
    	SCOPE_NOT_FOUND                                                    = 318, 
    	// The Central Access Policy specified is not defined on the target machine.
    	UNDEFINED_SCOPE                                                    = 319, 
    	// The Central Access Policy obtained from Active Directory is invalid.
    	INVALID_CAP                                                        = 320, 
    	// The device is unreachable.
    	DEVICE_UNREACHABLE                                                 = 321, 
    	// The target device has insufficient resources to complete the operation.
    	DEVICE_NO_RESOURCES                                                = 322, 
    	// A data integrity checksum error occurred. Data in the file stream is corrupt.
    	DATA_CHECKSUM_ERROR                                                = 323, 
    	// An attempt was made to modify both a KERNEL and normal Extended Attribute EA in the same operation.
    	INTERMIXED_KERNEL_EA_OPERATION                                     = 324, 
    	// Device does not support file-level TRIM.
    	FILE_LEVEL_TRIM_NOT_SUPPORTED                                      = 326, 
    	// The command specified a data offset that does not align to the device's granularity/alignment.
    	OFFSET_ALIGNMENT_VIOLATION                                         = 327, 
    	// The command specified an invalid field in its parameter list.
    	INVALID_FIELD_IN_PARAMETER_LIST                                    = 328, 
    	// An operation is currently in progress with the device.
    	OPERATION_IN_PROGRESS                                              = 329, 
    	// An attempt was made to send down the command via an invalid path to the target device.
    	BAD_DEVICE_PATH                                                    = 330, 
    	// The command specified a number of descriptors that exceeded the maximum supported by the device.
    	TOO_MANY_DESCRIPTORS                                               = 331, 
    	// Scrub is disabled on the specified file.
    	SCRUB_DATA_DISABLED                                                = 332, 
    	// The storage device does not provide redundancy.
    	NOT_REDUNDANT_STORAGE                                              = 333, 
    	// An operation is not supported on a resident file.
    	RESIDENT_FILE_NOT_SUPPORTED                                        = 334, 
    	// An operation is not supported on a compressed file.
    	COMPRESSED_FILE_NOT_SUPPORTED                                      = 335, 
    	// An operation is not supported on a directory.
    	DIRECTORY_NOT_SUPPORTED                                            = 336, 
    	// The specified copy of the requested data could not be read.
    	NOT_READ_FROM_COPY                                                 = 337, 
    	// No action was taken as a system reboot is required.
    	FAIL_NOACTION_REBOOT                                               = 350, 
    	// The shutdown operation failed.
    	FAIL_SHUTDOWN                                                      = 351, 
    	// The restart operation failed.
    	FAIL_RESTART                                                       = 352, 
    	// The maximum number of sessions has been reached.
    	MAX_SESSIONS_REACHED                                               = 353, 
    	// The thread is already in background processing mode.
    	THREAD_MODE_ALREADY_BACKGROUND                                     = 400, 
    	// The thread is not in background processing mode.
    	THREAD_MODE_NOT_BACKGROUND                                         = 401, 
    	// The process is already in background processing mode.
    	PROCESS_MODE_ALREADY_BACKGROUND                                    = 402, 
    	// The process is not in background processing mode.
    	PROCESS_MODE_NOT_BACKGROUND                                        = 403, 
    	// Attempt to access invalid address.
    	INVALID_ADDRESS                                                    = 487, 
    	// User profile cannot be loaded.
    	USER_PROFILE_LOAD                                                  = 500, 
    	// Arithmetic result exceeded 32 bits.
    	ARITHMETIC_OVERFLOW                                                = 534, 
    	// There is a process on other end of the pipe.
    	PIPE_CONNECTED                                                     = 535, 
    	// Waiting for a process to open the other end of the pipe.
    	PIPE_LISTENING                                                     = 536, 
    	// Application verifier has found an error in the current process.
    	VERIFIER_STOP                                                      = 537, 
    	// An error occurred in the ABIOS subsystem.
    	ABIOS_ERROR                                                        = 538, 
    	// A warning occurred in the WX86 subsystem.
    	WX86_WARNING                                                       = 539, 
    	// An error occurred in the WX86 subsystem.
    	WX86_ERROR                                                         = 540, 
    	// 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                                                 = 541, 
    	// Unwind exception code.
    	UNWIND                                                             = 542, 
    	// An invalid or unaligned stack was encountered during an unwind operation.
    	BAD_STACK                                                          = 543, 
    	// An invalid unwind target was encountered during an unwind operation.
    	INVALID_UNWIND_TARGET                                              = 544, 
    	// Invalid Object Attributes specified to NtCreatePort or invalid Port Attributes specified to NtConnectPort
    	INVALID_PORT_ATTRIBUTES                                            = 545, 
    	// Length of message passed to NtRequestPort or NtRequestWaitReplyPort was longer than the maximum message allowed by the port.
    	PORT_MESSAGE_TOO_LONG                                              = 546, 
    	// An attempt was made to lower a quota limit below the current usage.
    	INVALID_QUOTA_LOWER                                                = 547, 
    	// An attempt was made to attach to a device that was already attached to another device.
    	DEVICE_ALREADY_ATTACHED                                            = 548, 
    	// An attempt was made to execute an instruction at an unaligned address and the host system does not support unaligned instruction references.
    	INSTRUCTION_MISALIGNMENT                                           = 549, 
    	// Profiling not started.
    	PROFILING_NOT_STARTED                                              = 550, 
    	// Profiling not stopped.
    	PROFILING_NOT_STOPPED                                              = 551, 
    	// The passed ACL did not contain the minimum required information.
    	COULD_NOT_INTERPRET                                                = 552, 
    	// The number of active profiling objects is at the maximum and no more may be started.
    	PROFILING_AT_LIMIT                                                 = 553, 
    	// Used to indicate that an operation cannot continue without blocking for I/O.
    	CANT_WAIT                                                          = 554, 
    	// 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                                                = 555, 
    	// 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                                           = 556, 
    	// 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                                            = 557, 
    	// 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                                           = 558, 
    	// A malformed function table was encountered during an unwind operation.
    	BAD_FUNCTION_TABLE                                                 = 559, 
    	// 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                                                = 560, 
    	// 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                                                   = 561, 
    	// Indicates that the starting value for the LDT information was not an integral multiple of the selector size.
    	INVALID_LDT_OFFSET                                                 = 563, 
    	// Indicates that the user supplied an invalid descriptor when trying to set up Ldt descriptors.
    	INVALID_LDT_DESCRIPTOR                                             = 564, 
    	// 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                                                   = 565, 
    	// 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                                              = 566, 
    	// Page file quota was exceeded.
    	PAGEFILE_QUOTA_EXCEEDED                                            = 567, 
    	// The Netlogon service cannot start because another Netlogon service running in the domain conflicts with the specified role.
    	LOGON_SERVER_CONFLICT                                              = 568, 
    	// 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                                           = 569, 
    	// 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                                                    = 570, 
    	// {Privilege Failed} The I/O permissions for the process could not be changed.
    	IO_PRIVILEGE_FAILED                                                = 571, 
    	// {Application Exit by CTRL+C} The application terminated as a result of a CTRL+C.
    	CONTROL_C_EXIT                                                     = 572, 
    	// {Missing System File} The required system file %hs is bad or missing.
    	MISSING_SYSTEMFILE                                                 = 573, 
    	// {Application Error} The exception %s (0x%08lx) occurred in the application at location 0x%08lx.
    	UNHANDLED_EXCEPTION                                                = 574, 
    	// {Application Error} The application was unable to start correctly (0x%lx). Click OK to close the application.
    	APP_INIT_FAILURE                                                   = 575, 
    	// {Unable to Create Paging File} The creation of the paging file %hs failed (%lx). The requested size was %ld.
    	PAGEFILE_CREATE_FAILED                                             = 576, 
    	// 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                                                 = 577, 
    	// {No Paging File Specified} No paging file was specified in the system configuration.
    	NO_PAGEFILE                                                        = 578, 
    	// {EXCEPTION} A real-mode application issued a floating-point instruction and floating-point hardware is not present.
    	ILLEGAL_FLOAT_CONTEXT                                              = 579, 
    	// 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                                                      = 580, 
    	// A Windows Server has an incorrect configuration.
    	DOMAIN_CTRLR_CONFIG_ERROR                                          = 581, 
    	// 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                                                  = 582, 
    	// The Unicode character is not defined in the Unicode character set installed on the system.
    	UNDEFINED_CHARACTER                                                = 583, 
    	// The paging file cannot be created on a floppy diskette.
    	FLOPPY_VOLUME                                                      = 584, 
    	// 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                                   = 585, 
    	// This operation is only allowed for the Primary Domain Controller of the domain.
    	BACKUP_CONTROLLER                                                  = 586, 
    	// An attempt was made to acquire a mutant such that its maximum count would have been exceeded.
    	MUTANT_LIMIT_EXCEEDED                                              = 587, 
    	// A volume has been accessed for which a file system driver is required that has not yet been loaded.
    	FS_DRIVER_REQUIRED                                                 = 588, 
    	// {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                                          = 589, 
    	// {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                                                = 590, 
    	// {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                                          = 591, 
    	// {Data Not Accepted} The TDI client could not handle the data received during an indication.
    	DATA_NOT_ACCEPTED                                                  = 592, 
    	// NTVDM encountered a hard error.
    	VDM_HARD_ERROR                                                     = 593, 
    	// {Cancel Timeout} The driver %hs failed to complete a cancelled I/O request in the allotted time.
    	DRIVER_CANCEL_TIMEOUT                                              = 594, 
    	// {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                                             = 595, 
    	// {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                                              = 596, 
    	// 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                                   = 597, 
    	// The stream is not a tiny stream.
    	NOT_TINY_STREAM                                                    = 598, 
    	// The request must be handled by the stack overflow code.
    	STACK_OVERFLOW_READ                                                = 599, 
    	// 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                                                   = 600, 
    	// 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                                                 = 601, 
    	// The bucket array must be grown. Retry transaction after doing so.
    	ALLOCATE_BUCKET                                                    = 602, 
    	// The user/kernel marshalling buffer has overflowed.
    	MARSHALL_OVERFLOW                                                  = 603, 
    	// The supplied variant structure contains invalid data.
    	INVALID_VARIANT                                                    = 604, 
    	// The specified buffer contains ill-formed data.
    	BAD_COMPRESSION_BUFFER                                             = 605, 
    	// {Audit Failed} An attempt to generate a security audit failed.
    	AUDIT_FAILED                                                       = 606, 
    	// The timer resolution was not previously set by the current process.
    	TIMER_RESOLUTION_NOT_SET                                           = 607, 
    	// There is insufficient account information to log you on.
    	INSUFFICIENT_LOGON_INFO                                            = 608, 
    	// {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                                                 = 609, 
    	// {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                                             = 610, 
    	// There is an IP address conflict with another system on the network.
    	IP_ADDRESS_CONFLICT1                                               = 611, 
    	// There is an IP address conflict with another system on the network.
    	IP_ADDRESS_CONFLICT2                                               = 612, 
    	// {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                                               = 613, 
    	// A callback return system service cannot be executed when no callback is active.
    	NO_CALLBACK_ACTIVE                                                 = 614, 
    	// The password provided is too short to meet the policy of your user account. Please choose a longer password.
    	PWD_TOO_SHORT                                                      = 615, 
    	// 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                                                     = 616, 
    	// 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                                               = 617, 
    	// The specified compression format is unsupported.
    	UNSUPPORTED_COMPRESSION                                            = 618, 
    	// The specified hardware profile configuration is invalid.
    	INVALID_HW_PROFILE                                                 = 619, 
    	// The specified Plug and Play registry device path is invalid.
    	INVALID_PLUGPLAY_DEVICE_PATH                                       = 620, 
    	// The specified quota list is internally inconsistent with its descriptor.
    	QUOTA_LIST_INCONSISTENT                                            = 621, 
    	// {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                                              = 622, 
    	// {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                                             = 623, 
    	// {DLL Initialization Failed} The application failed to initialize because the window station is shutting down.
    	DLL_INIT_FAILED_LOGOFF                                             = 624, 
    	// The validation process needs to continue on to the next step.
    	VALIDATE_CONTINUE                                                  = 625, 
    	// There are no more matches for the current index enumeration.
    	NO_MORE_MATCHES                                                    = 626, 
    	// The range could not be added to the range list because of a conflict.
    	RANGE_LIST_CONFLICT                                                = 627, 
    	// The server process is running under a SID different than that required by client.
    	SERVER_SID_MISMATCH                                                = 628, 
    	// A group marked use for deny only cannot be enabled.
    	CANT_ENABLE_DENY_ONLY                                              = 629, 
    	// {EXCEPTION} Multiple floating point faults.
    	FLOAT_MULTIPLE_FAULTS                                              = 630, 
    	// {EXCEPTION} Multiple floating point traps.
    	FLOAT_MULTIPLE_TRAPS                                               = 631, 
    	// The requested interface is not supported.
    	NOINTERFACE                                                        = 632, 
    	// {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                                                = 633, 
    	// The system file %1 has become corrupt and has been replaced.
    	CORRUPT_SYSTEM_FILE                                                = 634, 
    	// {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                                                 = 635, 
    	// A device was removed so enumeration must be restarted.
    	PNP_RESTART_ENUMERATION                                            = 636, 
    	// {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                                         = 637, 
    	// Device will not start without a reboot.
    	PNP_REBOOT_REQUIRED                                                = 638, 
    	// There is not enough power to complete the requested operation.
    	INSUFFICIENT_POWER                                                 = 639, 
    	// MULTIPLE_FAULT_VIOLATION = , = 0x281,
    	MULTIPLE_FAULT_VIOLATION                                           = 640,   // 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                                                       = 642, 
    	// This version of Windows is not compatible with the behavior version of directory forest, domain or domain controller.
    	DS_VERSION_CHECK_FAILURE                                           = 643, 
    	// The specified range could not be found in the range list.
    	RANGE_NOT_FOUND                                                    = 644, 
    	// The driver was not loaded because the system is booting into safe mode.
    	NOT_SAFE_MODE_DRIVER                                               = 646, 
    	// The driver was not loaded because it failed its initialization call.
    	FAILED_DRIVER_ENTRY                                                = 647, 
    	// 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                                           = 648, 
    	// 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                                           = 649, 
    	// 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                                    = 650, 
    	// A Machine Check Error has occurred. Please check the system eventlog for additional information.
    	MCA_OCCURED                                                        = 651, 
    	// There was error [%2] processing the driver database.
    	DRIVER_DATABASE_ERROR                                              = 652, 
    	// System hive size has exceeded its limit.
    	SYSTEM_HIVE_TOO_LARGE                                              = 653, 
    	// The driver could not be loaded because a previous version of the driver is still in memory.
    	DRIVER_FAILED_PRIOR_UNLOAD                                         = 654, 
    	// {Volume Shadow Copy Service} Please wait while the Volume Shadow Copy Service prepares volume %hs for hibernation.
    	VOLSNAP_PREPARE_HIBERNATE                                          = 655, 
    	// The system has failed to hibernate (The error code is %hs). Hibernation will be disabled until the system is restarted.
    	HIBERNATION_FAILURE                                                = 656, 
    	// The password provided is too long to meet the policy of your user account. Please choose a shorter password.
    	PWD_TOO_LONG                                                       = 657, 
    	// The requested operation could not be completed due to a file system limitation.
    	FILE_SYSTEM_LIMITATION                                             = 665, 
    	// An assertion failure has occurred.
    	ASSERTION_FAILURE                                                  = 668, 
    	// An error occurred in the ACPI subsystem.
    	ACPI_ERROR                                                         = 669, 
    	// WOW Assertion Error.
    	WOW_ASSERTION                                                      = 670, 
    	// 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                                                  = 671, 
    	// A translator failed to translate resources.
    	PNP_TRANSLATION_FAILED                                             = 672, 
    	// A IRQ translator failed to translate resources.
    	PNP_IRQ_TRANSLATION_FAILED                                         = 673, 
    	// Driver %2 returned invalid ID for a child device (%3).
    	PNP_INVALID_ID                                                     = 674, 
    	// {Kernel Debugger Awakened} the system debugger was awakened by an interrupt.
    	WAKE_SYSTEM_DEBUGGER                                               = 675, 
    	// {Handles Closed} Handles to objects have been automatically closed as a result of the requested operation.
    	HANDLES_CLOSED                                                     = 676, 
    	// {Too Much Information} The specified access control list (ACL) contained more information than was expected.
    	EXTRANEOUS_INFORMATION                                             = 677, 
    	// 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                                             = 678, 
    	// {Media Changed} The media may have changed.
    	MEDIA_CHECK                                                        = 679, 
    	// {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                                             = 680, 
    	// The create operation stopped after reaching a symbolic link.
    	STOPPED_ON_SYMLINK                                                 = 681, 
    	// A long jump has been executed.
    	LONGJUMP                                                           = 682, 
    	// The Plug and Play query operation was not successful.
    	PLUGPLAY_QUERY_VETOED                                              = 683, 
    	// A frame consolidation has been executed.
    	UNWIND_CONSOLIDATE                                                 = 684, 
    	// {Registry Hive Recovered} Registry hive (file): %hs was corrupted and it has been recovered. Some data might have been lost.
    	REGISTRY_HIVE_RECOVERED                                            = 685, 
    	// 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                                              = 686, 
    	// 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                                          = 687, 
    	// Debugger did not handle the exception.
    	DBG_EXCEPTION_NOT_HANDLED                                          = 688, 
    	// Debugger will reply later.
    	DBG_REPLY_LATER                                                    = 689, 
    	// Debugger cannot provide handle.
    	DBG_UNABLE_TO_PROVIDE_HANDLE                                       = 690, 
    	// Debugger terminated thread.
    	DBG_TERMINATE_THREAD                                               = 691, 
    	// Debugger terminated process.
    	DBG_TERMINATE_PROCESS                                              = 692, 
    	// Debugger got control C.
    	DBG_CONTROL_C                                                      = 693, 
    	// Debugger printed exception on control C.
    	DBG_PRINTEXCEPTION_C                                               = 694, 
    	// Debugger received RIP exception.
    	DBG_RIPEXCEPTION                                                   = 695, 
    	// Debugger received control break.
    	DBG_CONTROL_BREAK                                                  = 696, 
    	// Debugger command communication exception.
    	DBG_COMMAND_EXCEPTION                                              = 697, 
    	// {Object Exists} An attempt was made to create an object and the object name already existed.
    	OBJECT_NAME_EXISTS                                                 = 698, 
    	// {Thread Suspended} A thread termination occurred while the thread was suspended. The thread was resumed, and termination proceeded.
    	THREAD_WAS_SUSPENDED                                               = 699, 
    	// {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                                                  = 700, 
    	// 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                                                = 701, 
    	// {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                                               = 702, 
    	// {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                                              = 703, 
    	// {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                                       = 704, 
    	// {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                                                  = 705, 
    	// {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                                        = 706, 
    	// {Partial Data Received} The network transport returned partial data to its client. The remaining data will be sent later.
    	RECEIVE_PARTIAL                                                    = 707, 
    	// {Expedited Data Received} The network transport returned data to its client that was marked as expedited by the remote system.
    	RECEIVE_EXPEDITED                                                  = 708, 
    	// {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                                          = 709, 
    	// {TDI Event Done} The TDI indication has completed successfully.
    	EVENT_DONE                                                         = 710, 
    	// {TDI Event Pending} The TDI indication has entered the pending state.
    	EVENT_PENDING                                                      = 711, 
    	// Checking file system on %wZ.
    	CHECKING_FILE_SYSTEM                                               = 712, 
    	// {Fatal Application Exit} %hs.
    	FATAL_APP_EXIT                                                     = 713, 
    	// The specified registry key is referenced by a predefined handle.
    	PREDEFINED_HANDLE                                                  = 714, 
    	// {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                                                       = 715, 
    	// %hs
    	SERVICE_NOTIFICATION                                               = 716, 
    	// {Page Locked} One of the pages to lock was already locked.
    	WAS_LOCKED                                                         = 717, 
    	// Application popup: %1 : %2
    	LOG_HARD_ERROR                                                     = 718, 
    	// ALREADY_WIN32 = , = 0x2D0,
    	ALREADY_WIN32                                                      = 719,   // {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                                                 = 721, 
    	// The resumable flag to a timer API was ignored.
    	TIMER_RESUME_IGNORED                                               = 722, 
    	// The arbiter has deferred arbitration of these resources to its parent.
    	ARBITRATION_UNHANDLED                                              = 723, 
    	// The inserted CardBus device cannot be started because of a configuration error on "%hs".
    	CARDBUS_NOT_SUPPORTED                                              = 724, 
    	// 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                                              = 725, 
    	// The system was put into hibernation.
    	HIBERNATED                                                         = 726, 
    	// The system was resumed from hibernation.
    	RESUME_HIBERNATION                                                 = 727, 
    	// Windows has detected that the system firmware (BIOS) was updated [previous firmware date = %2, current firmware date %3].
    	FIRMWARE_UPDATED                                                   = 728, 
    	// 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                                       = 729, 
    	// The system has awoken.
    	WAKE_SYSTEM                                                        = 730, 
    	// WAIT_1 = , = 0x2DC,
    	WAIT_1                                                             = 731,   // 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                                                            = 741, 
    	// An open/create operation completed while an oplock break is underway.
    	OPLOCK_BREAK_IN_PROGRESS                                           = 742, 
    	// A new volume has been mounted by a file system.
    	VOLUME_MOUNTED                                                     = 743, 
    	// 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                                                    = 744, 
    	// This indicates that a notify change request has been completed due to closing the handle which made the notify change request.
    	NOTIFY_CLEANUP                                                     = 745, 
    	// {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                                   = 746, 
    	// Page fault was a transition fault.
    	PAGE_FAULT_TRANSITION                                              = 747, 
    	// Page fault was a demand zero fault.
    	PAGE_FAULT_DEMAND_ZERO                                             = 748, 
    	// Page fault was a demand zero fault.
    	PAGE_FAULT_COPY_ON_WRITE                                           = 749, 
    	// Page fault was a demand zero fault.
    	PAGE_FAULT_GUARD_PAGE                                              = 750, 
    	// Page fault was satisfied by reading from a secondary storage device.
    	PAGE_FAULT_PAGING_FILE                                             = 751, 
    	// Cached page was locked during operation.
    	CACHE_PAGE_LOCKED                                                  = 752, 
    	// Crash dump exists in paging file.
    	CRASH_DUMP                                                         = 753, 
    	// Specified buffer contains all zeros.
    	BUFFER_ALL_ZEROS                                                   = 754, 
    	// A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link.
    	REPARSE_OBJECT                                                     = 755, 
    	// The device has succeeded a query-stop and its resource requirements have changed.
    	RESOURCE_REQUIREMENTS_CHANGED                                      = 756, 
    	// The translator has translated these resources into the global space and no further translations should be performed.
    	TRANSLATION_COMPLETE                                               = 757, 
    	// A process being terminated has no threads to terminate.
    	NOTHING_TO_TERMINATE                                               = 758, 
    	// The specified process is not part of a job.
    	PROCESS_NOT_IN_JOB                                                 = 759, 
    	// The specified process is part of a job.
    	PROCESS_IN_JOB                                                     = 760, 
    	// {Volume Shadow Copy Service} The system is now ready for hibernation.
    	VOLSNAP_HIBERNATE_READY                                            = 761, 
    	// A file system or file system filter driver has successfully completed an FsFilter operation.
    	FSFILTER_OP_COMPLETED_SUCCESSFULLY                                 = 762, 
    	// The specified interrupt vector was already connected.
    	INTERRUPT_VECTOR_ALREADY_CONNECTED                                 = 763, 
    	// The specified interrupt vector is still connected.
    	INTERRUPT_STILL_CONNECTED                                          = 764, 
    	// An operation is blocked waiting for an oplock.
    	WAIT_FOR_OPLOCK                                                    = 765, 
    	// Debugger handled exception.
    	DBG_EXCEPTION_HANDLED                                              = 766, 
    	// Debugger continued.
    	DBG_CONTINUE                                                       = 767, 
    	// An exception occurred in a user mode callback and the kernel callback frame should be removed.
    	CALLBACK_POP_STACK                                                 = 768, 
    	// Compression is disabled for this volume.
    	COMPRESSION_DISABLED                                               = 769, 
    	// The data provider cannot fetch backwards through a result set.
    	CANTFETCHBACKWARDS                                                 = 770, 
    	// The data provider cannot scroll backwards through a result set.
    	CANTSCROLLBACKWARDS                                                = 771, 
    	// The data provider requires that previously fetched data is released before asking for more data.
    	ROWSNOTRELEASED                                                    = 772, 
    	// The data provider was not able to interpret the flags set for a column binding in an accessor.
    	BAD_ACCESSOR_FLAGS                                                 = 773, 
    	// One or more errors occurred while processing the request.
    	ERRORS_ENCOUNTERED                                                 = 774, 
    	// The implementation is not capable of performing the request.
    	NOT_CAPABLE                                                        = 775, 
    	// The client of a component requested an operation which is not valid given the state of the component instance.
    	REQUEST_OUT_OF_SEQUENCE                                            = 776, 
    	// A version number could not be parsed.
    	VERSION_PARSE_ERROR                                                = 777, 
    	// The iterator's start position is invalid.
    	BADSTARTPOSITION                                                   = 778, 
    	// The hardware has reported an uncorrectable memory error.
    	MEMORY_HARDWARE                                                    = 779, 
    	// The attempted operation required self healing to be enabled.
    	DISK_REPAIR_DISABLED                                               = 780, 
    	// 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            = 781, 
    	// The system power state is transitioning from %2 to %3.
    	SYSTEM_POWERSTATE_TRANSITION                                       = 782, 
    	// The system power state is transitioning from %2 to %3 but could enter %4.
    	SYSTEM_POWERSTATE_COMPLEX_TRANSITION                               = 783, 
    	// A thread is getting dispatched with MCA EXCEPTION because of MCA.
    	MCA_EXCEPTION                                                      = 784, 
    	// Access to %1 is monitored by policy rule %2.
    	ACCESS_AUDIT_BY_POLICY                                             = 785, 
    	// Access to %1 has been restricted by your Administrator by policy rule %2.
    	ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY                              = 786, 
    	// A valid hibernation file has been invalidated and should be abandoned.
    	ABANDON_HIBERFILE                                                  = 787, 
    	// {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                         = 788, 
    	// {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                         = 789, 
    	// {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                             = 790, 
    	// The resources required for this device conflict with the MCFG table.
    	BAD_MCFG_TABLE                                                     = 791, 
    	// 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                                             = 792, 
    	// The volume repair was not successful.
    	DISK_REPAIR_UNSUCCESSFUL                                           = 793, 
    	// One of the volume corruption logs is full. Further corruptions that may be detected won't be logged.
    	CORRUPT_LOG_OVERFULL                                               = 794, 
    	// 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                                              = 795, 
    	// One of the volume corruption logs is unavailable for being operated on.
    	CORRUPT_LOG_UNAVAILABLE                                            = 796, 
    	// 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                                           = 797, 
    	// One of the volume corruption logs was cleared by chkdsk and no longer contains real corruptions.
    	CORRUPT_LOG_CLEARED                                                = 798, 
    	// 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                                              = 799, 
    	// The oplock that was associated with this handle is now associated with a different handle.
    	OPLOCK_SWITCHED_TO_NEW_HANDLE                                      = 800, 
    	// An oplock of the requested level cannot be granted. An oplock of a lower level may be available.
    	CANNOT_GRANT_REQUESTED_OPLOCK                                      = 801, 
    	// 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                                                = 802, 
    	// The handle with which this oplock was associated has been closed. The oplock is now broken.
    	OPLOCK_HANDLE_CLOSED                                               = 803, 
    	// The specified access control entry (ACE) does not contain a condition.
    	NO_ACE_CONDITION                                                   = 804, 
    	// The specified access control entry (ACE) contains an invalid condition.
    	INVALID_ACE_CONDITION                                              = 805, 
    	// Access to the specified file handle has been revoked.
    	FILE_HANDLE_REVOKED                                                = 806, 
    	// 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                                            = 807, 
    	// Access to the extended attribute was denied.
    	EA_ACCESS_DENIED                                                   = 994, 
    	// The I/O operation has been aborted because of either a thread exit or an application request.
    	OPERATION_ABORTED                                                  = 995, 
    	// Overlapped I/O event is not in a signaled state.
    	IO_INCOMPLETE                                                      = 996, 
    	// Overlapped I/O operation is in progress.
    	IO_PENDING                                                         = 997, 
    	// Invalid access to memory location.
    	NOACCESS                                                           = 998, 
    	// Error performing inpage operation.
    	SWAPERROR                                                          = 999, 
    	// Recursion too deep; the stack overflowed.
    	STACK_OVERFLOW                                                     = 1001, 
    	// The window cannot act on the sent message.
    	INVALID_MESSAGE                                                    = 1002, 
    	// Cannot complete this function.
    	CAN_NOT_COMPLETE                                                   = 1003, 
    	// Invalid flags.
    	INVALID_FLAGS                                                      = 1004, 
    	// 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                                                = 1005, 
    	// The volume for a file has been externally altered so that the opened file is no longer valid.
    	FILE_INVALID                                                       = 1006, 
    	// The requested operation cannot be performed in full-screen mode.
    	FULLSCREEN_MODE                                                    = 1007, 
    	// An attempt was made to reference a token that does not exist.
    	NO_TOKEN                                                           = 1008, 
    	// The configuration registry database is corrupt.
    	BADDB                                                              = 1009, 
    	// The configuration registry key is invalid.
    	BADKEY                                                             = 1010, 
    	// The configuration registry key could not be opened.
    	CANTOPEN                                                           = 1011, 
    	// The configuration registry key could not be read.
    	CANTREAD                                                           = 1012, 
    	// The configuration registry key could not be written.
    	CANTWRITE                                                          = 1013, 
    	// 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                                                 = 1014, 
    	// 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                                                   = 1015, 
    	// 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                                                 = 1016, 
    	// 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                                                  = 1017, 
    	// Illegal operation attempted on a registry key that has been marked for deletion.
    	KEY_DELETED                                                        = 1018, 
    	// System could not allocate the required space in a registry log.
    	NO_LOG_SPACE                                                       = 1019, 
    	// Cannot create a symbolic link in a registry key that already has subkeys or values.
    	KEY_HAS_CHILDREN                                                   = 1020, 
    	// Cannot create a stable subkey under a volatile parent key.
    	CHILD_MUST_BE_VOLATILE                                             = 1021, 
    	// 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                                                    = 1022, 
    	// A stop control has been sent to a service that other running services are dependent on.
    	DEPENDENT_SERVICES_RUNNING                                         = 1051, 
    	// The requested control is not valid for this service.
    	INVALID_SERVICE_CONTROL                                            = 1052, 
    	// The service did not respond to the start or control request in a timely fashion.
    	SERVICE_REQUEST_TIMEOUT                                            = 1053, 
    	// A thread could not be created for the service.
    	SERVICE_NO_THREAD                                                  = 1054, 
    	// The service database is locked.
    	SERVICE_DATABASE_LOCKED                                            = 1055, 
    	// An instance of the service is already running.
    	SERVICE_ALREADY_RUNNING                                            = 1056, 
    	// The account name is invalid or does not exist, or the password is invalid for the account name specified.
    	INVALID_SERVICE_ACCOUNT                                            = 1057, 
    	// The service cannot be started, either because it is disabled or because it has no enabled devices associated with it.
    	SERVICE_DISABLED                                                   = 1058, 
    	// Circular service dependency was specified.
    	CIRCULAR_DEPENDENCY                                                = 1059, 
    	// The specified service does not exist as an installed service.
    	SERVICE_DOES_NOT_EXIST                                             = 1060, 
    	// The service cannot accept control messages at this time.
    	SERVICE_CANNOT_ACCEPT_CTRL                                         = 1061, 
    	// The service has not been started.
    	SERVICE_NOT_ACTIVE                                                 = 1062, 
    	// The service process could not connect to the service controller.
    	FAILED_SERVICE_CONTROLLER_CONNECT                                  = 1063, 
    	// An exception occurred in the service when handling the control request.
    	EXCEPTION_IN_SERVICE                                               = 1064, 
    	// The database specified does not exist.
    	DATABASE_DOES_NOT_EXIST                                            = 1065, 
    	// The service has returned a service-specific error code.
    	SERVICE_SPECIFIC_ERROR                                             = 1066, 
    	// The process terminated unexpectedly.
    	PROCESS_ABORTED                                                    = 1067, 
    	// The dependency service or group failed to start.
    	SERVICE_DEPENDENCY_FAIL                                            = 1068, 
    	// The service did not start due to a logon failure.
    	SERVICE_LOGON_FAILED                                               = 1069, 
    	// After starting, the service hung in a start-pending state.
    	SERVICE_START_HANG                                                 = 1070, 
    	// The specified service database lock is invalid.
    	INVALID_SERVICE_LOCK                                               = 1071, 
    	// The specified service has been marked for deletion.
    	SERVICE_MARKED_FOR_DELETE                                          = 1072, 
    	// The specified service already exists.
    	SERVICE_EXISTS                                                     = 1073, 
    	// The system is currently running with the last-known-good configuration.
    	ALREADY_RUNNING_LKG                                                = 1074, 
    	// The dependency service does not exist or has been marked for deletion.
    	SERVICE_DEPENDENCY_DELETED                                         = 1075, 
    	// The current boot has already been accepted for use as the last-known-good control set.
    	BOOT_ALREADY_ACCEPTED                                              = 1076, 
    	// No attempts to start the service have been made since the last boot.
    	SERVICE_NEVER_STARTED                                              = 1077, 
    	// The name is already in use as either a service name or a service display name.
    	DUPLICATE_SERVICE_NAME                                             = 1078, 
    	// The account specified for this service is different from the account specified for other services running in the same process.
    	DIFFERENT_SERVICE_ACCOUNT                                          = 1079, 
    	// Failure actions can only be set for Win32 services, not for drivers.
    	CANNOT_DETECT_DRIVER_FAILURE                                       = 1080, 
    	// 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                                        = 1081, 
    	// No recovery program has been configured for this service.
    	NO_RECOVERY_PROGRAM                                                = 1082, 
    	// The executable program that this service is configured to run in does not implement the service.
    	SERVICE_NOT_IN_EXE                                                 = 1083, 
    	// This service cannot be started in Safe Mode.
    	NOT_SAFEBOOT_SERVICE                                               = 1084, 
    	// The physical end of the tape has been reached.
    	END_OF_MEDIA                                                       = 1100, 
    	// A tape access reached a filemark.
    	FILEMARK_DETECTED                                                  = 1101, 
    	// The beginning of the tape or a partition was encountered.
    	BEGINNING_OF_MEDIA                                                 = 1102, 
    	// A tape access reached the end of a set of files.
    	SETMARK_DETECTED                                                   = 1103, 
    	// No more data is on the tape.
    	NO_DATA_DETECTED                                                   = 1104, 
    	// Tape could not be partitioned.
    	PARTITION_FAILURE                                                  = 1105, 
    	// When accessing a new tape of a multivolume partition, the current block size is incorrect.
    	INVALID_BLOCK_LENGTH                                               = 1106, 
    	// Tape partition information could not be found when loading a tape.
    	DEVICE_NOT_PARTITIONED                                             = 1107, 
    	// Unable to lock the media eject mechanism.
    	UNABLE_TO_LOCK_MEDIA                                               = 1108, 
    	// Unable to unload the media.
    	UNABLE_TO_UNLOAD_MEDIA                                             = 1109, 
    	// The media in the drive may have changed.
    	MEDIA_CHANGED                                                      = 1110, 
    	// The I/O bus was reset.
    	BUS_RESET                                                          = 1111, 
    	// No media in drive.
    	NO_MEDIA_IN_DRIVE                                                  = 1112, 
    	// No mapping for the Unicode character exists in the target multi-byte code page.
    	NO_UNICODE_TRANSLATION                                             = 1113, 
    	// A dynamic link library (DLL) initialization routine failed.
    	DLL_INIT_FAILED                                                    = 1114, 
    	// A system shutdown is in progress.
    	SHUTDOWN_IN_PROGRESS                                               = 1115, 
    	// Unable to abort the system shutdown because no shutdown was in progress.
    	NO_SHUTDOWN_IN_PROGRESS                                            = 1116, 
    	// The request could not be performed because of an I/O device error.
    	IO_DEVICE                                                          = 1117, 
    	// No serial device was successfully initialized. The serial driver will unload.
    	SERIAL_NO_DEVICE                                                   = 1118, 
    	// 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                                                           = 1119, 
    	// A serial I/O operation was completed by another write to the serial port. The IOCTL_SERIAL_XOFF_COUNTER reached zero.)
    	MORE_WRITES                                                        = 1120, 
    	// A serial I/O operation completed because the timeout period expired. The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.)
    	COUNTER_TIMEOUT                                                    = 1121, 
    	// No ID address mark was found on the floppy disk.
    	FLOPPY_ID_MARK_NOT_FOUND                                           = 1122, 
    	// Mismatch between the floppy disk sector ID field and the floppy disk controller track address.
    	FLOPPY_WRONG_CYLINDER                                              = 1123, 
    	// The floppy disk controller reported an error that is not recognized by the floppy disk driver.
    	FLOPPY_UNKNOWN_ERROR                                               = 1124, 
    	// The floppy disk controller returned inconsistent results in its registers.
    	FLOPPY_BAD_REGISTERS                                               = 1125, 
    	// While accessing the hard disk, a recalibrate operation failed, even after retries.
    	DISK_RECALIBRATE_FAILED                                            = 1126, 
    	// While accessing the hard disk, a disk operation failed even after retries.
    	DISK_OPERATION_FAILED                                              = 1127, 
    	// While accessing the hard disk, a disk controller reset was needed, but even that failed.
    	DISK_RESET_FAILED                                                  = 1128, 
    	// Physical end of tape encountered.
    	EOM_OVERFLOW                                                       = 1129, 
    	// Not enough server storage is available to process this command.
    	NOT_ENOUGH_SERVER_MEMORY                                           = 1130, 
    	// A potential deadlock condition has been detected.
    	POSSIBLE_DEADLOCK                                                  = 1131, 
    	// The base address or the file offset specified does not have the proper alignment.
    	MAPPED_ALIGNMENT                                                   = 1132, 
    	// An attempt to change the system power state was vetoed by another application or driver.
    	SET_POWER_STATE_VETOED                                             = 1140, 
    	// The system BIOS failed an attempt to change the system power state.
    	SET_POWER_STATE_FAILED                                             = 1141, 
    	// An attempt was made to create more links on a file than the file system supports.
    	TOO_MANY_LINKS                                                     = 1142, 
    	// The specified program requires a newer version of Windows.
    	OLD_WIN_VERSION                                                    = 1150, 
    	// The specified program is not a Windows or MS-DOS program.
    	APP_WRONG_OS                                                       = 1151, 
    	// Cannot start more than one instance of the specified program.
    	SINGLE_INSTANCE_APP                                                = 1152, 
    	// The specified program was written for an earlier version of Windows.
    	RMODE_APP                                                          = 1153, 
    	// One of the library files needed to run this application is damaged.
    	INVALID_DLL                                                        = 1154, 
    	// No application is associated with the specified file for this operation.
    	NO_ASSOCIATION                                                     = 1155, 
    	// An error occurred in sending the command to the application.
    	DDE_FAIL                                                           = 1156, 
    	// One of the library files needed to run this application cannot be found.
    	DLL_NOT_FOUND                                                      = 1157, 
    	// The current process has used all of its system allowance of handles for Window Manager objects.
    	NO_MORE_USER_HANDLES                                               = 1158, 
    	// The message can be used only with synchronous operations.
    	MESSAGE_SYNC_ONLY                                                  = 1159, 
    	// The indicated source element has no media.
    	SOURCE_ELEMENT_EMPTY                                               = 1160, 
    	// The indicated destination element already contains media.
    	DESTINATION_ELEMENT_FULL                                           = 1161, 
    	// The indicated element does not exist.
    	ILLEGAL_ELEMENT_ADDRESS                                            = 1162, 
    	// The indicated element is part of a magazine that is not present.
    	MAGAZINE_NOT_PRESENT                                               = 1163, 
    	// The indicated device requires reinitialization due to hardware errors.
    	DEVICE_REINITIALIZATION_NEEDED                                     = 1164, 
    	// The device has indicated that cleaning is required before further operations are attempted.
    	DEVICE_REQUIRES_CLEANING                                           = 1165, 
    	// The device has indicated that its door is open.
    	DEVICE_DOOR_OPEN                                                   = 1166, 
    	// The device is not connected.
    	DEVICE_NOT_CONNECTED                                               = 1167, 
    	// Element not found.
    	NOT_FOUND                                                          = 1168, 
    	// There was no match for the specified key in the index.
    	NO_MATCH                                                           = 1169, 
    	// The property set specified does not exist on the object.
    	SET_NOT_FOUND                                                      = 1170, 
    	// The point passed to GetMouseMovePoints is not in the buffer.
    	POINT_NOT_FOUND                                                    = 1171, 
    	// The tracking (workstation) service is not running.
    	NO_TRACKING_SERVICE                                                = 1172, 
    	// The Volume ID could not be found.
    	NO_VOLUME_ID                                                       = 1173, 
    	// Unable to remove the file to be replaced.
    	UNABLE_TO_REMOVE_REPLACED                                          = 1175, 
    	// 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                                         = 1176, 
    	// 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                                       = 1177, 
    	// The volume change journal is being deleted.
    	JOURNAL_DELETE_IN_PROGRESS                                         = 1178, 
    	// The volume change journal is not active.
    	JOURNAL_NOT_ACTIVE                                                 = 1179, 
    	// A file was found, but it may not be the correct file.
    	POTENTIAL_FILE_FOUND                                               = 1180, 
    	// The journal entry has been deleted from the journal.
    	JOURNAL_ENTRY_DELETED                                              = 1181, 
    	// A system shutdown has already been scheduled.
    	SHUTDOWN_IS_SCHEDULED                                              = 1190, 
    	// The system shutdown cannot be initiated because there are other users logged on to the computer.
    	SHUTDOWN_USERS_LOGGED_ON                                           = 1191, 
    	// The specified device name is invalid.
    	BAD_DEVICE                                                         = 1200, 
    	// The device is not currently connected but it is a remembered connection.
    	CONNECTION_UNAVAIL                                                 = 1201, 
    	// The local device name has a remembered connection to another network resource.
    	DEVICE_ALREADY_REMEMBERED                                          = 1202, 
    	// 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                                                 = 1203, 
    	// The specified network provider name is invalid.
    	BAD_PROVIDER                                                       = 1204, 
    	// Unable to open the network connection profile.
    	CANNOT_OPEN_PROFILE                                                = 1205, 
    	// The network connection profile is corrupted.
    	BAD_PROFILE                                                        = 1206, 
    	// Cannot enumerate a noncontainer.
    	NOT_CONTAINER                                                      = 1207, 
    	// An extended error has occurred.
    	EXTENDED_ERROR                                                     = 1208, 
    	// The format of the specified group name is invalid.
    	INVALID_GROUPNAME                                                  = 1209, 
    	// The format of the specified computer name is invalid.
    	INVALID_COMPUTERNAME                                               = 1210, 
    	// The format of the specified event name is invalid.
    	INVALID_EVENTNAME                                                  = 1211, 
    	// The format of the specified domain name is invalid.
    	INVALID_DOMAINNAME                                                 = 1212, 
    	// The format of the specified service name is invalid.
    	INVALID_SERVICENAME                                                = 1213, 
    	// The format of the specified network name is invalid.
    	INVALID_NETNAME                                                    = 1214, 
    	// The format of the specified share name is invalid.
    	INVALID_SHARENAME                                                  = 1215, 
    	// The format of the specified password is invalid.
    	INVALID_PASSWORDNAME                                               = 1216, 
    	// The format of the specified message name is invalid.
    	INVALID_MESSAGENAME                                                = 1217, 
    	// The format of the specified message destination is invalid.
    	INVALID_MESSAGEDEST                                                = 1218, 
    	// 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                                        = 1219, 
    	// 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                                      = 1220, 
    	// The workgroup or domain name is already in use by another computer on the network.
    	DUP_DOMAINNAME                                                     = 1221, 
    	// The network is not present or not started.
    	NO_NETWORK                                                         = 1222, 
    	// The operation was canceled by the user.
    	CANCELLED                                                          = 1223, 
    	// The requested operation cannot be performed on a file with a user-mapped section open.
    	USER_MAPPED_FILE                                                   = 1224, 
    	// The remote computer refused the network connection.
    	CONNECTION_REFUSED                                                 = 1225, 
    	// The network connection was gracefully closed.
    	GRACEFUL_DISCONNECT                                                = 1226, 
    	// The network transport endpoint already has an address associated with it.
    	ADDRESS_ALREADY_ASSOCIATED                                         = 1227, 
    	// An address has not yet been associated with the network endpoint.
    	ADDRESS_NOT_ASSOCIATED                                             = 1228, 
    	// An operation was attempted on a nonexistent network connection.
    	CONNECTION_INVALID                                                 = 1229, 
    	// An invalid operation was attempted on an active network connection.
    	CONNECTION_ACTIVE                                                  = 1230, 
    	// The network location cannot be reached. For information about network troubleshooting, see Windows Help.
    	NETWORK_UNREACHABLE                                                = 1231, 
    	// The network location cannot be reached. For information about network troubleshooting, see Windows Help.
    	HOST_UNREACHABLE                                                   = 1232, 
    	// The network location cannot be reached. For information about network troubleshooting, see Windows Help.
    	PROTOCOL_UNREACHABLE                                               = 1233, 
    	// No service is operating at the destination network endpoint on the remote system.
    	PORT_UNREACHABLE                                                   = 1234, 
    	// The request was aborted.
    	REQUEST_ABORTED                                                    = 1235, 
    	// The network connection was aborted by the local system.
    	CONNECTION_ABORTED                                                 = 1236, 
    	// The operation could not be completed. A retry should be performed.
    	RETRY                                                              = 1237, 
    	// 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                                             = 1238, 
    	// Attempting to log in during an unauthorized time of day for this account.
    	LOGIN_TIME_RESTRICTION                                             = 1239, 
    	// The account is not authorized to log in from this station.
    	LOGIN_WKSTA_RESTRICTION                                            = 1240, 
    	// The network address could not be used for the operation requested.
    	INCORRECT_ADDRESS                                                  = 1241, 
    	// The service is already registered.
    	ALREADY_REGISTERED                                                 = 1242, 
    	// The specified service does not exist.
    	SERVICE_NOT_FOUND                                                  = 1243, 
    	// The operation being requested was not performed because the user has not been authenticated.
    	NOT_AUTHENTICATED                                                  = 1244, 
    	// 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                                                      = 1245, 
    	// Continue with work in progress.
    	CONTINUE                                                           = 1246, 
    	// An attempt was made to perform an initialization operation when initialization has already been completed.
    	ALREADY_INITIALIZED                                                = 1247, 
    	// No more local devices.
    	NO_MORE_DEVICES                                                    = 1248, 
    	// The specified site does not exist.
    	NO_SUCH_SITE                                                       = 1249, 
    	// A domain controller with the specified name already exists.
    	DOMAIN_CONTROLLER_EXISTS                                           = 1250, 
    	// This operation is supported only when you are connected to the server.
    	ONLY_IF_CONNECTED                                                  = 1251, 
    	// The group policy framework should call the extension even if there are no changes.
    	OVERRIDE_NOCHANGES                                                 = 1252, 
    	// The specified user does not have a valid profile.
    	BAD_USER_PROFILE                                                   = 1253, 
    	// This operation is not supported on a computer running Windows Server 2003 for Small Business Server.
    	NOT_SUPPORTED_ON_SBS                                               = 1254, 
    	// The server machine is shutting down.
    	SERVER_SHUTDOWN_IN_PROGRESS                                        = 1255, 
    	// The remote system is not available. For information about network troubleshooting, see Windows Help.
    	HOST_DOWN                                                          = 1256, 
    	// The security identifier provided is not from an account domain.
    	NON_ACCOUNT_SID                                                    = 1257, 
    	// The security identifier provided does not have a domain component.
    	NON_DOMAIN_SID                                                     = 1258, 
    	// AppHelp dialog canceled thus preventing the application from starting.
    	APPHELP_BLOCK                                                      = 1259, 
    	// This program is blocked by group policy. For more information, contact your system administrator.
    	ACCESS_DISABLED_BY_POLICY                                          = 1260, 
    	// A program attempt to use an invalid register value. Normally caused by an uninitialized register. This error is Itanium specific.
    	REG_NAT_CONSUMPTION                                                = 1261, 
    	// The share is currently offline or does not exist.
    	CSCSHARE_OFFLINE                                                   = 1262, 
    	// 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                                                     = 1263, 
    	// The Kerberos protocol encountered an error while attempting to utilize the smartcard subsystem.
    	SMARTCARD_SUBSYSTEM_FAILURE                                        = 1264, 
    	// The system cannot contact a domain controller to service the authentication request. Please try again later.
    	DOWNGRADE_DETECTED                                                 = 1265, 
    	// The machine is locked and cannot be shut down without the force option.
    	MACHINE_LOCKED                                                     = 1271, 
    	// An application-defined callback gave invalid data when called.
    	CALLBACK_SUPPLIED_INVALID_DATA                                     = 1273, 
    	// The group policy framework should call the extension in the synchronous foreground policy refresh.
    	SYNC_FOREGROUND_REFRESH_REQUIRED                                   = 1274, 
    	// This driver has been blocked from loading.
    	DRIVER_BLOCKED                                                     = 1275, 
    	// A dynamic link library (DLL) referenced a module that was neither a DLL nor the process's executable image.
    	INVALID_IMPORT_OF_NON_DLL                                          = 1276, 
    	// Windows cannot open this program since it has been disabled.
    	ACCESS_DISABLED_WEBBLADE                                           = 1277, 
    	// Windows cannot open this program because the license enforcement system has been tampered with or become corrupted.
    	ACCESS_DISABLED_WEBBLADE_TAMPER                                    = 1278, 
    	// A transaction recover failed.
    	RECOVERY_FAILURE                                                   = 1279, 
    	// The current thread has already been converted to a fiber.
    	ALREADY_FIBER                                                      = 1280, 
    	// The current thread has already been converted from a fiber.
    	ALREADY_THREAD                                                     = 1281, 
    	// 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                                               = 1282, 
    	// Data present in one of the parameters is more than the function can operate on.
    	PARAMETER_QUOTA_EXCEEDED                                           = 1283, 
    	// An attempt to do an operation on a debug object failed because the object is in the process of being deleted.
    	DEBUGGER_INACTIVE                                                  = 1284, 
    	// An attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed.
    	DELAY_LOAD_FAILED                                                  = 1285, 
    	// %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                                                     = 1286, 
    	// Insufficient information exists to identify the cause of failure.
    	UNIDENTIFIED_ERROR                                                 = 1287, 
    	// The parameter passed to a C runtime function is incorrect.
    	INVALID_CRUNTIME_PARAMETER                                         = 1288, 
    	// The operation occurred beyond the valid data length of the file.
    	BEYOND_VDL                                                         = 1289, 
    	// 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                                      = 1290, 
    	// The process hosting the driver for this device has been terminated.
    	DRIVER_PROCESS_TERMINATED                                          = 1291, 
    	// An operation attempted to exceed an implementation-defined limit.
    	IMPLEMENTATION_LIMIT                                               = 1292, 
    	// Either the target process, or the target thread's containing process, is a protected process.
    	PROCESS_IS_PROTECTED                                               = 1293, 
    	// The service notification client is lagging too far behind the current state of services in the machine.
    	SERVICE_NOTIFY_CLIENT_LAGGING                                      = 1294, 
    	// 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                                                = 1295, 
    	// The requested file operation failed because the storage policy blocks that type of file. For more information, contact your system administrator.
    	CONTENT_BLOCKED                                                    = 1296, 
    	// 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                                     = 1297, 
    	// A thread involved in this operation appears to be unresponsive.
    	APP_HANG                                                           = 1298, 
    	// Indicates a particular Security ID may not be assigned as the label of an object.
    	INVALID_LABEL                                                      = 1299, 
    	// Not all privileges or groups referenced are assigned to the caller.
    	NOT_ALL_ASSIGNED                                                   = 1300, 
    	// Some mapping between account names and security IDs was not done.
    	SOME_NOT_MAPPED                                                    = 1301, 
    	// No system quota limits are specifically set for this account.
    	NO_QUOTAS_FOR_ACCOUNT                                              = 1302, 
    	// No encryption key is available. A well-known encryption key was returned.
    	LOCAL_USER_SESSION_KEY                                             = 1303, 
    	// 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                                                   = 1304, 
    	// The revision level is unknown.
    	UNKNOWN_REVISION                                                   = 1305, 
    	// Indicates two revision levels are incompatible.
    	REVISION_MISMATCH                                                  = 1306, 
    	// This security ID may not be assigned as the owner of this object.
    	INVALID_OWNER                                                      = 1307, 
    	// This security ID may not be assigned as the primary group of an object.
    	INVALID_PRIMARY_GROUP                                              = 1308, 
    	// An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client.
    	NO_IMPERSONATION_TOKEN                                             = 1309, 
    	// The group may not be disabled.
    	CANT_DISABLE_MANDATORY                                             = 1310, 
    	// There are currently no logon servers available to service the logon request.
    	NO_LOGON_SERVERS                                                   = 1311, 
    	// A specified logon session does not exist. It may already have been terminated.
    	NO_SUCH_LOGON_SESSION                                              = 1312, 
    	// A specified privilege does not exist.
    	NO_SUCH_PRIVILEGE                                                  = 1313, 
    	// A required privilege is not held by the client.
    	PRIVILEGE_NOT_HELD                                                 = 1314, 
    	// The name provided is not a properly formed account name.
    	INVALID_ACCOUNT_NAME                                               = 1315, 
    	// The specified account already exists.
    	USER_EXISTS                                                        = 1316, 
    	// The specified account does not exist.
    	NO_SUCH_USER                                                       = 1317, 
    	// The specified group already exists.
    	GROUP_EXISTS                                                       = 1318, 
    	// The specified group does not exist.
    	NO_SUCH_GROUP                                                      = 1319, 
    	// 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                                                    = 1320, 
    	// The specified user account is not a member of the specified group account.
    	MEMBER_NOT_IN_GROUP                                                = 1321, 
    	// This operation is disallowed as it could result in an administration account being disabled, deleted or unable to log on.
    	LAST_ADMIN                                                         = 1322, 
    	// Unable to update the password. The value provided as the current password is incorrect.
    	WRONG_PASSWORD                                                     = 1323, 
    	// Unable to update the password. The value provided for the new password contains values that are not allowed in passwords.
    	ILL_FORMED_PASSWORD                                                = 1324, 
    	// 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                                               = 1325, 
    	// The user name or password is incorrect.
    	LOGON_FAILURE                                                      = 1326, 
    	// 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                                                = 1327, 
    	// Your account has time restrictions that keep you from signing in right now.
    	INVALID_LOGON_HOURS                                                = 1328, 
    	// This user isn't allowed to sign in to this computer.
    	INVALID_WORKSTATION                                                = 1329, 
    	// The password for this account has expired.
    	PASSWORD_EXPIRED                                                   = 1330, 
    	// This user can't sign in because this account is currently disabled.
    	ACCOUNT_DISABLED                                                   = 1331, 
    	// No mapping between account names and security IDs was done.
    	NONE_MAPPED                                                        = 1332, 
    	// Too many local user identifiers (LUIDs) were requested at one time.
    	TOO_MANY_LUIDS_REQUESTED                                           = 1333, 
    	// No more local user identifiers (LUIDs) are available.
    	LUIDS_EXHAUSTED                                                    = 1334, 
    	// The subauthority part of a security ID is invalid for this particular use.
    	INVALID_SUB_AUTHORITY                                              = 1335, 
    	// The access control list (ACL) structure is invalid.
    	INVALID_ACL                                                        = 1336, 
    	// The security ID structure is invalid.
    	INVALID_SID                                                        = 1337, 
    	// The security descriptor structure is invalid.
    	INVALID_SECURITY_DESCR                                             = 1338, 
    	// The inherited access control list (ACL) or access control entry (ACE) could not be built.
    	BAD_INHERITANCE_ACL                                                = 1340, 
    	// The server is currently disabled.
    	SERVER_DISABLED                                                    = 1341, 
    	// The server is currently enabled.
    	SERVER_NOT_DISABLED                                                = 1342, 
    	// The value provided was an invalid value for an identifier authority.
    	INVALID_ID_AUTHORITY                                               = 1343, 
    	// No more memory is available for security information updates.
    	ALLOTTED_SPACE_EXCEEDED                                            = 1344, 
    	// The specified attributes are invalid, or incompatible with the attributes for the group as a whole.
    	INVALID_GROUP_ATTRIBUTES                                           = 1345, 
    	// Either a required impersonation level was not provided, or the provided impersonation level is invalid.
    	BAD_IMPERSONATION_LEVEL                                            = 1346, 
    	// Cannot open an anonymous level security token.
    	CANT_OPEN_ANONYMOUS                                                = 1347, 
    	// The validation information class requested was invalid.
    	BAD_VALIDATION_CLASS                                               = 1348, 
    	// The type of the token is inappropriate for its attempted use.
    	BAD_TOKEN_TYPE                                                     = 1349, 
    	// Unable to perform a security operation on an object that has no associated security.
    	NO_SECURITY_ON_OBJECT                                              = 1350, 
    	// 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                                            = 1351, 
    	// The security account manager (SAM) or local security authority (LSA) server was in the wrong state to perform the security operation.
    	INVALID_SERVER_STATE                                               = 1352, 
    	// The domain was in the wrong state to perform the security operation.
    	INVALID_DOMAIN_STATE                                               = 1353, 
    	// This operation is only allowed for the Primary Domain Controller of the domain.
    	INVALID_DOMAIN_ROLE                                                = 1354, 
    	// The specified domain either does not exist or could not be contacted.
    	NO_SUCH_DOMAIN                                                     = 1355, 
    	// The specified domain already exists.
    	DOMAIN_EXISTS                                                      = 1356, 
    	// An attempt was made to exceed the limit on the number of domains per server.
    	DOMAIN_LIMIT_EXCEEDED                                              = 1357, 
    	// Unable to complete the requested operation because of either a catastrophic media failure or a data structure corruption on the disk.
    	INTERNAL_DB_CORRUPTION                                             = 1358, 
    	// An internal error occurred.
    	INTERNAL_ERROR                                                     = 1359, 
    	// Generic access types were contained in an access mask which should already be mapped to nongeneric types.
    	GENERIC_NOT_MAPPED                                                 = 1360, 
    	// A security descriptor is not in the right format (absolute or self-relative).
    	BAD_DESCRIPTOR_FORMAT                                              = 1361, 
    	// The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process.
    	NOT_LOGON_PROCESS                                                  = 1362, 
    	// Cannot start a new logon session with an ID that is already in use.
    	LOGON_SESSION_EXISTS                                               = 1363, 
    	// A specified authentication package is unknown.
    	NO_SUCH_PACKAGE                                                    = 1364, 
    	// The logon session is not in a state that is consistent with the requested operation.
    	BAD_LOGON_SESSION_STATE                                            = 1365, 
    	// The logon session ID is already in use.
    	LOGON_SESSION_COLLISION                                            = 1366, 
    	// A logon request contained an invalid logon type value.
    	INVALID_LOGON_TYPE                                                 = 1367, 
    	// Unable to impersonate using a named pipe until data has been read from that pipe.
    	CANNOT_IMPERSONATE                                                 = 1368, 
    	// The transaction state of a registry subtree is incompatible with the requested operation.
    	RXACT_INVALID_STATE                                                = 1369, 
    	// An internal security database corruption has been encountered.
    	RXACT_COMMIT_FAILURE                                               = 1370, 
    	// Cannot perform this operation on built-in accounts.
    	SPECIAL_ACCOUNT                                                    = 1371, 
    	// Cannot perform this operation on this built-in special group.
    	SPECIAL_GROUP                                                      = 1372, 
    	// Cannot perform this operation on this built-in special user.
    	SPECIAL_USER                                                       = 1373, 
    	// The user cannot be removed from a group because the group is currently the user's primary group.
    	MEMBERS_PRIMARY_GROUP                                              = 1374, 
    	// The token is already in use as a primary token.
    	TOKEN_ALREADY_IN_USE                                               = 1375, 
    	// The specified local group does not exist.
    	NO_SUCH_ALIAS                                                      = 1376, 
    	// The specified account name is not a member of the group.
    	MEMBER_NOT_IN_ALIAS                                                = 1377, 
    	// The specified account name is already a member of the group.
    	MEMBER_IN_ALIAS                                                    = 1378, 
    	// The specified local group already exists.
    	ALIAS_EXISTS                                                       = 1379, 
    	// Logon failure: the user has not been granted the requested logon type at this computer.
    	LOGON_NOT_GRANTED                                                  = 1380, 
    	// The maximum number of secrets that may be stored in a single system has been exceeded.
    	TOO_MANY_SECRETS                                                   = 1381, 
    	// The length of a secret exceeds the maximum length allowed.
    	SECRET_TOO_LONG                                                    = 1382, 
    	// The local security authority database contains an internal inconsistency.
    	INTERNAL_DB_ERROR                                                  = 1383, 
    	// During a logon attempt, the user's security context accumulated too many security IDs.
    	TOO_MANY_CONTEXT_IDS                                               = 1384, 
    	// Logon failure: the user has not been granted the requested logon type at this computer.
    	LOGON_TYPE_NOT_GRANTED                                             = 1385, 
    	// A cross-encrypted password is necessary to change a user password.
    	NT_CROSS_ENCRYPTION_REQUIRED                                       = 1386, 
    	// A member could not be added to or removed from the local group because the member does not exist.
    	NO_SUCH_MEMBER                                                     = 1387, 
    	// A new member could not be added to a local group because the member has the wrong account type.
    	INVALID_MEMBER                                                     = 1388, 
    	// Too many security IDs have been specified.
    	TOO_MANY_SIDS                                                      = 1389, 
    	// A cross-encrypted password is necessary to change this user password.
    	LM_CROSS_ENCRYPTION_REQUIRED                                       = 1390, 
    	// Indicates an ACL contains no inheritable components.
    	NO_INHERITANCE                                                     = 1391, 
    	// The file or directory is corrupted and unreadable.
    	FILE_CORRUPT                                                       = 1392, 
    	// The disk structure is corrupted and unreadable.
    	DISK_CORRUPT                                                       = 1393, 
    	// There is no user session key for the specified logon session.
    	NO_USER_SESSION_KEY                                                = 1394, 
    	// 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                                             = 1395, 
    	// The target account name is incorrect.
    	WRONG_TARGET_NAME                                                  = 1396, 
    	// Mutual Authentication failed. The server's password is out of date at the domain controller.
    	MUTUAL_AUTH_FAILED                                                 = 1397, 
    	// There is a time and/or date difference between the client and server.
    	TIME_SKEW                                                          = 1398, 
    	// This operation cannot be performed on the current domain.
    	CURRENT_DOMAIN_NOT_ALLOWED                                         = 1399, 
    	// Invalid window handle.
    	INVALID_WINDOW_HANDLE                                              = 1400, 
    	// Invalid menu handle.
    	INVALID_MENU_HANDLE                                                = 1401, 
    	// Invalid cursor handle.
    	INVALID_CURSOR_HANDLE                                              = 1402, 
    	// Invalid accelerator table handle.
    	INVALID_ACCEL_HANDLE                                               = 1403, 
    	// Invalid hook handle.
    	INVALID_HOOK_HANDLE                                                = 1404, 
    	// Invalid handle to a multiple-window position structure.
    	INVALID_DWP_HANDLE                                                 = 1405, 
    	// Cannot create a top-level child window.
    	TLW_WITH_WSCHILD                                                   = 1406, 
    	// Cannot find window class.
    	CANNOT_FIND_WND_CLASS                                              = 1407, 
    	// Invalid window; it belongs to other thread.
    	WINDOW_OF_OTHER_THREAD                                             = 1408, 
    	// Hot key is already registered.
    	HOTKEY_ALREADY_REGISTERED                                          = 1409, 
    	// Class already exists.
    	CLASS_ALREADY_EXISTS                                               = 1410, 
    	// Class does not exist.
    	CLASS_DOES_NOT_EXIST                                               = 1411, 
    	// Class still has open windows.
    	CLASS_HAS_WINDOWS                                                  = 1412, 
    	// Invalid index.
    	INVALID_INDEX                                                      = 1413, 
    	// Invalid icon handle.
    	INVALID_ICON_HANDLE                                                = 1414, 
    	// Using private DIALOG window words.
    	PRIVATE_DIALOG_INDEX                                               = 1415, 
    	// The list box identifier was not found.
    	LISTBOX_ID_NOT_FOUND                                               = 1416, 
    	// No wildcards were found.
    	NO_WILDCARD_CHARACTERS                                             = 1417, 
    	// Thread does not have a clipboard open.
    	CLIPBOARD_NOT_OPEN                                                 = 1418, 
    	// Hot key is not registered.
    	HOTKEY_NOT_REGISTERED                                              = 1419, 
    	// The window is not a valid dialog window.
    	WINDOW_NOT_DIALOG                                                  = 1420, 
    	// Control ID not found.
    	CONTROL_ID_NOT_FOUND                                               = 1421, 
    	// Invalid message for a combo box because it does not have an edit control.
    	INVALID_COMBOBOX_MESSAGE                                           = 1422, 
    	// The window is not a combo box.
    	WINDOW_NOT_COMBOBOX                                                = 1423, 
    	// Height must be less than 256.
    	INVALID_EDIT_HEIGHT                                                = 1424, 
    	// Invalid device context (DC) handle.
    	DC_NOT_FOUND                                                       = 1425, 
    	// Invalid hook procedure type.
    	INVALID_HOOK_FILTER                                                = 1426, 
    	// Invalid hook procedure.
    	INVALID_FILTER_PROC                                                = 1427, 
    	// Cannot set nonlocal hook without a module handle.
    	HOOK_NEEDS_HMOD                                                    = 1428, 
    	// This hook procedure can only be set globally.
    	GLOBAL_ONLY_HOOK                                                   = 1429, 
    	// The journal hook procedure is already installed.
    	JOURNAL_HOOK_SET                                                   = 1430, 
    	// The hook procedure is not installed.
    	HOOK_NOT_INSTALLED                                                 = 1431, 
    	// Invalid message for single-selection list box.
    	INVALID_LB_MESSAGE                                                 = 1432, 
    	// LB_SETCOUNT sent to non-lazy list box.
    	SETCOUNT_ON_BAD_LB                                                 = 1433, 
    	// This list box does not support tab stops.
    	LB_WITHOUT_TABSTOPS                                                = 1434, 
    	// Cannot destroy object created by another thread.
    	DESTROY_OBJECT_OF_OTHER_THREAD                                     = 1435, 
    	// Child windows cannot have menus.
    	CHILD_WINDOW_MENU                                                  = 1436, 
    	// The window does not have a system menu.
    	NO_SYSTEM_MENU                                                     = 1437, 
    	// Invalid message box style.
    	INVALID_MSGBOX_STYLE                                               = 1438, 
    	// Invalid system-wide (SPI_*) parameter.
    	INVALID_SPI_VALUE                                                  = 1439, 
    	// Screen already locked.
    	SCREEN_ALREADY_LOCKED                                              = 1440, 
    	// All handles to windows in a multiple-window position structure must have the same parent.
    	HWNDS_HAVE_DIFF_PARENT                                             = 1441, 
    	// The window is not a child window.
    	NOT_CHILD_WINDOW                                                   = 1442, 
    	// Invalid GW_* command.
    	INVALID_GW_COMMAND                                                 = 1443, 
    	// Invalid thread identifier.
    	INVALID_THREAD_ID                                                  = 1444, 
    	// Cannot process a message from a window that is not a multiple document interface (MDI) window.
    	NON_MDICHILD_WINDOW                                                = 1445, 
    	// Popup menu already active.
    	POPUP_ALREADY_ACTIVE                                               = 1446, 
    	// The window does not have scroll bars.
    	NO_SCROLLBARS                                                      = 1447, 
    	// Scroll bar range cannot be greater than MAXLONG.
    	INVALID_SCROLLBAR_RANGE                                            = 1448, 
    	// Cannot show or remove the window in the way specified.
    	INVALID_SHOWWIN_COMMAND                                            = 1449, 
    	// Insufficient system resources exist to complete the requested service.
    	NO_SYSTEM_RESOURCES                                                = 1450, 
    	// Insufficient system resources exist to complete the requested service.
    	NONPAGED_SYSTEM_RESOURCES                                          = 1451, 
    	// Insufficient system resources exist to complete the requested service.
    	PAGED_SYSTEM_RESOURCES                                             = 1452, 
    	// Insufficient quota to complete the requested service.
    	WORKING_SET_QUOTA                                                  = 1453, 
    	// Insufficient quota to complete the requested service.
    	PAGEFILE_QUOTA                                                     = 1454, 
    	// The paging file is too small for this operation to complete.
    	COMMITMENT_LIMIT                                                   = 1455, 
    	// A menu item was not found.
    	MENU_ITEM_NOT_FOUND                                                = 1456, 
    	// Invalid keyboard layout handle.
    	INVALID_KEYBOARD_HANDLE                                            = 1457, 
    	// Hook type not allowed.
    	HOOK_TYPE_NOT_ALLOWED                                              = 1458, 
    	// This operation requires an interactive window station.
    	REQUIRES_INTERACTIVE_WINDOWSTATION                                 = 1459, 
    	// This operation returned because the timeout period expired.
    	TIMEOUT                                                            = 1460, 
    	// Invalid monitor handle.
    	INVALID_MONITOR_HANDLE                                             = 1461, 
    	// Incorrect size argument.
    	INCORRECT_SIZE                                                     = 1462, 
    	// The symbolic link cannot be followed because its type is disabled.
    	SYMLINK_CLASS_DISABLED                                             = 1463, 
    	// This application does not support the current operation on symbolic links.
    	SYMLINK_NOT_SUPPORTED                                              = 1464, 
    	// Windows was unable to parse the requested XML data.
    	XML_PARSE_ERROR                                                    = 1465, 
    	// An error was encountered while processing an XML digital signature.
    	XMLDSIG_ERROR                                                      = 1466, 
    	// This application must be restarted.
    	RESTART_APPLICATION                                                = 1467, 
    	// The caller made the connection request in the wrong routing compartment.
    	WRONG_COMPARTMENT                                                  = 1468, 
    	// There was an AuthIP failure when attempting to connect to the remote host.
    	AUTHIP_FAILURE                                                     = 1469, 
    	// Insufficient NVRAM resources exist to complete the requested service. A reboot might be required.
    	NO_NVRAM_RESOURCES                                                 = 1470, 
    	// Unable to finish the requested operation because the specified process is not a GUI process.
    	NOT_GUI_PROCESS                                                    = 1471, 
    	// The event log file is corrupted.
    	EVENTLOG_FILE_CORRUPT                                              = 1500, 
    	// No event log file could be opened, so the event logging service did not start.
    	EVENTLOG_CANT_START                                                = 1501, 
    	// The event log file is full.
    	LOG_FILE_FULL                                                      = 1502, 
    	// The event log file has changed between read operations.
    	EVENTLOG_FILE_CHANGED                                              = 1503, 
    	// The specified task name is invalid.
    	INVALID_TASK_NAME                                                  = 1550, 
    	// The specified task index is invalid.
    	INVALID_TASK_INDEX                                                 = 1551, 
    	// The specified thread is already joining a task.
    	THREAD_ALREADY_IN_TASK                                             = 1552, 
    	// 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                                            = 1601, 
    	// User cancelled installation.
    	INSTALL_USEREXIT                                                   = 1602, 
    	// Fatal error during installation.
    	INSTALL_FAILURE                                                    = 1603, 
    	// Installation suspended, incomplete.
    	INSTALL_SUSPEND                                                    = 1604, 
    	// This action is only valid for products that are currently installed.
    	UNKNOWN_PRODUCT                                                    = 1605, 
    	// Feature ID not registered.
    	UNKNOWN_FEATURE                                                    = 1606, 
    	// Component ID not registered.
    	UNKNOWN_COMPONENT                                                  = 1607, 
    	// Unknown property.
    	UNKNOWN_PROPERTY                                                   = 1608, 
    	// Handle is in an invalid state.
    	INVALID_HANDLE_STATE                                               = 1609, 
    	// The configuration data for this product is corrupt. Contact your support personnel.
    	BAD_CONFIGURATION                                                  = 1610, 
    	// Component qualifier not present.
    	INDEX_ABSENT                                                       = 1611, 
    	// The installation source for this product is not available. Verify that the source exists and that you can access it.
    	INSTALL_SOURCE_ABSENT                                              = 1612, 
    	// 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                                            = 1613, 
    	// Product is uninstalled.
    	PRODUCT_UNINSTALLED                                                = 1614, 
    	// SQL query syntax invalid or unsupported.
    	BAD_QUERY_SYNTAX                                                   = 1615, 
    	// Record field does not exist.
    	INVALID_FIELD                                                      = 1616, 
    	// The device has been removed.
    	DEVICE_REMOVED                                                     = 1617, 
    	// Another installation is already in progress. Complete that installation before proceeding with this install.
    	INSTALL_ALREADY_RUNNING                                            = 1618, 
    	// 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                                        = 1619, 
    	// This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package.
    	INSTALL_PACKAGE_INVALID                                            = 1620, 
    	// There was an error starting the Windows Installer service user interface. Contact your support personnel.
    	INSTALL_UI_FAILURE                                                 = 1621, 
    	// Error opening installation log file. Verify that the specified log file location exists and that you can write to it.
    	INSTALL_LOG_FAILURE                                                = 1622, 
    	// The language of this installation package is not supported by your system.
    	INSTALL_LANGUAGE_UNSUPPORTED                                       = 1623, 
    	// Error applying transforms. Verify that the specified transform paths are valid.
    	INSTALL_TRANSFORM_FAILURE                                          = 1624, 
    	// This installation is forbidden by system policy. Contact your system administrator.
    	INSTALL_PACKAGE_REJECTED                                           = 1625, 
    	// Function could not be executed.
    	FUNCTION_NOT_CALLED                                                = 1626, 
    	// Function failed during execution.
    	FUNCTION_FAILED                                                    = 1627, 
    	// Invalid or unknown table specified.
    	INVALID_TABLE                                                      = 1628, 
    	// Data supplied is of wrong type.
    	DATATYPE_MISMATCH                                                  = 1629, 
    	// Data of this type is not supported.
    	UNSUPPORTED_TYPE                                                   = 1630, 
    	// The Windows Installer service failed to start. Contact your support personnel.
    	CREATE_FAILED                                                      = 1631, 
    	// 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                                            = 1632, 
    	// This installation package is not supported by this processor type. Contact your product vendor.
    	INSTALL_PLATFORM_UNSUPPORTED                                       = 1633, 
    	// Component not used on this computer.
    	INSTALL_NOTUSED                                                    = 1634, 
    	// 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                                          = 1635, 
    	// 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                                              = 1636, 
    	// 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                                          = 1637, 
    	// 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                                                    = 1638, 
    	// Invalid command line argument. Consult the Windows Installer SDK for detailed command line help.
    	INVALID_COMMAND_LINE                                               = 1639, 
    	// 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                                          = 1640, 
    	// The requested operation completed successfully. The system will be restarted so the changes can take effect.
    	SUCCESS_REBOOT_INITIATED                                           = 1641, 
    	// 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                                             = 1642, 
    	// The update package is not permitted by software restriction policy.
    	PATCH_PACKAGE_REJECTED                                             = 1643, 
    	// One or more customizations are not permitted by software restriction policy.
    	INSTALL_TRANSFORM_REJECTED                                         = 1644, 
    	// The Windows Installer does not permit installation from a Remote Desktop Connection.
    	INSTALL_REMOTE_PROHIBITED                                          = 1645, 
    	// Uninstallation of the update package is not supported.
    	PATCH_REMOVAL_UNSUPPORTED                                          = 1646, 
    	// The update is not applied to this product.
    	UNKNOWN_PATCH                                                      = 1647, 
    	// No valid sequence could be found for the set of updates.
    	PATCH_NO_SEQUENCE                                                  = 1648, 
    	// Update removal was disallowed by policy.
    	PATCH_REMOVAL_DISALLOWED                                           = 1649, 
    	// The XML update data is invalid.
    	INVALID_PATCH_XML                                                  = 1650, 
    	// 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                                   = 1651, 
    	// 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                                           = 1652, 
    	// A fail fast exception occurred. Exception handlers will not be invoked and the process will be terminated immediately.
    	FAIL_FAST_EXCEPTION                                                = 1653, 
    	// The app that you are trying to run is not supported on this version of Windows.
    	INSTALL_REJECTED                                                   = 1654, 
    	// The string binding is invalid.
    	RPC_S_INVALID_STRING_BINDING                                       = 1700, 
    	// The binding handle is not the correct type.
    	RPC_S_WRONG_KIND_OF_BINDING                                        = 1701, 
    	// The binding handle is invalid.
    	RPC_S_INVALID_BINDING                                              = 1702, 
    	// The RPC protocol sequence is not supported.
    	RPC_S_PROTSEQ_NOT_SUPPORTED                                        = 1703, 
    	// The RPC protocol sequence is invalid.
    	RPC_S_INVALID_RPC_PROTSEQ                                          = 1704, 
    	// The string universal unique identifier (UUID) is invalid.
    	RPC_S_INVALID_STRING_UUID                                          = 1705, 
    	// The endpoint format is invalid.
    	RPC_S_INVALID_ENDPOINT_FORMAT                                      = 1706, 
    	// The network address is invalid.
    	RPC_S_INVALID_NET_ADDR                                             = 1707, 
    	// No endpoint was found.
    	RPC_S_NO_ENDPOINT_FOUND                                            = 1708, 
    	// The timeout value is invalid.
    	RPC_S_INVALID_TIMEOUT                                              = 1709, 
    	// The object universal unique identifier (UUID) was not found.
    	RPC_S_OBJECT_NOT_FOUND                                             = 1710, 
    	// The object universal unique identifier (UUID) has already been registered.
    	RPC_S_ALREADY_REGISTERED                                           = 1711, 
    	// The type universal unique identifier (UUID) has already been registered.
    	RPC_S_TYPE_ALREADY_REGISTERED                                      = 1712, 
    	// The RPC server is already listening.
    	RPC_S_ALREADY_LISTENING                                            = 1713, 
    	// No protocol sequences have been registered.
    	RPC_S_NO_PROTSEQS_REGISTERED                                       = 1714, 
    	// The RPC server is not listening.
    	RPC_S_NOT_LISTENING                                                = 1715, 
    	// The manager type is unknown.
    	RPC_S_UNKNOWN_MGR_TYPE                                             = 1716, 
    	// The interface is unknown.
    	RPC_S_UNKNOWN_IF                                                   = 1717, 
    	// There are no bindings.
    	RPC_S_NO_BINDINGS                                                  = 1718, 
    	// There are no protocol sequences.
    	RPC_S_NO_PROTSEQS                                                  = 1719, 
    	// The endpoint cannot be created.
    	RPC_S_CANT_CREATE_ENDPOINT                                         = 1720, 
    	// Not enough resources are available to complete this operation.
    	RPC_S_OUT_OF_RESOURCES                                             = 1721, 
    	// The RPC server is unavailable.
    	RPC_S_SERVER_UNAVAILABLE                                           = 1722, 
    	// The RPC server is too busy to complete this operation.
    	RPC_S_SERVER_TOO_BUSY                                              = 1723, 
    	// The network options are invalid.
    	RPC_S_INVALID_NETWORK_OPTIONS                                      = 1724, 
    	// There are no remote procedure calls active on this thread.
    	RPC_S_NO_CALL_ACTIVE                                               = 1725, 
    	// The remote procedure call failed.
    	RPC_S_CALL_FAILED                                                  = 1726, 
    	// The remote procedure call failed and did not execute.
    	RPC_S_CALL_FAILED_DNE                                              = 1727, 
    	// A remote procedure call (RPC) protocol error occurred.
    	RPC_S_PROTOCOL_ERROR                                               = 1728, 
    	// Access to the HTTP proxy is denied.
    	RPC_S_PROXY_ACCESS_DENIED                                          = 1729, 
    	// The transfer syntax is not supported by the RPC server.
    	RPC_S_UNSUPPORTED_TRANS_SYN                                        = 1730, 
    	// The universal unique identifier (UUID) type is not supported.
    	RPC_S_UNSUPPORTED_TYPE                                             = 1732, 
    	// The tag is invalid.
    	RPC_S_INVALID_TAG                                                  = 1733, 
    	// The array bounds are invalid.
    	RPC_S_INVALID_BOUND                                                = 1734, 
    	// The binding does not contain an entry name.
    	RPC_S_NO_ENTRY_NAME                                                = 1735, 
    	// The name syntax is invalid.
    	RPC_S_INVALID_NAME_SYNTAX                                          = 1736, 
    	// The name syntax is not supported.
    	RPC_S_UNSUPPORTED_NAME_SYNTAX                                      = 1737, 
    	// No network address is available to use to construct a universal unique identifier (UUID).
    	RPC_S_UUID_NO_ADDRESS                                              = 1739, 
    	// The endpoint is a duplicate.
    	RPC_S_DUPLICATE_ENDPOINT                                           = 1740, 
    	// The authentication type is unknown.
    	RPC_S_UNKNOWN_AUTHN_TYPE                                           = 1741, 
    	// The maximum number of calls is too small.
    	RPC_S_MAX_CALLS_TOO_SMALL                                          = 1742, 
    	// The string is too long.
    	RPC_S_STRING_TOO_LONG                                              = 1743, 
    	// The RPC protocol sequence was not found.
    	RPC_S_PROTSEQ_NOT_FOUND                                            = 1744, 
    	// The procedure number is out of range.
    	RPC_S_PROCNUM_OUT_OF_RANGE                                         = 1745, 
    	// The binding does not contain any authentication information.
    	RPC_S_BINDING_HAS_NO_AUTH                                          = 1746, 
    	// The authentication service is unknown.
    	RPC_S_UNKNOWN_AUTHN_SERVICE                                        = 1747, 
    	// The authentication level is unknown.
    	RPC_S_UNKNOWN_AUTHN_LEVEL                                          = 1748, 
    	// The security context is invalid.
    	RPC_S_INVALID_AUTH_IDENTITY                                        = 1749, 
    	// The authorization service is unknown.
    	RPC_S_UNKNOWN_AUTHZ_SERVICE                                        = 1750, 
    	// The entry is invalid.
    	EPT_S_INVALID_ENTRY                                                = 1751, 
    	// The server endpoint cannot perform the operation.
    	EPT_S_CANT_PERFORM_OP                                              = 1752, 
    	// There are no more endpoints available from the endpoint mapper.
    	EPT_S_NOT_REGISTERED                                               = 1753, 
    	// No interfaces have been exported.
    	RPC_S_NOTHING_TO_EXPORT                                            = 1754, 
    	// The entry name is incomplete.
    	RPC_S_INCOMPLETE_NAME                                              = 1755, 
    	// The version option is invalid.
    	RPC_S_INVALID_VERS_OPTION                                          = 1756, 
    	// There are no more members.
    	RPC_S_NO_MORE_MEMBERS                                              = 1757, 
    	// There is nothing to unexport.
    	RPC_S_NOT_ALL_OBJS_UNEXPORTED                                      = 1758, 
    	// The interface was not found.
    	RPC_S_INTERFACE_NOT_FOUND                                          = 1759, 
    	// The entry already exists.
    	RPC_S_ENTRY_ALREADY_EXISTS                                         = 1760, 
    	// The entry is not found.
    	RPC_S_ENTRY_NOT_FOUND                                              = 1761, 
    	// The name service is unavailable.
    	RPC_S_NAME_SERVICE_UNAVAILABLE                                     = 1762, 
    	// The network address family is invalid.
    	RPC_S_INVALID_NAF_ID                                               = 1763, 
    	// The requested operation is not supported.
    	RPC_S_CANNOT_SUPPORT                                               = 1764, 
    	// No security context is available to allow impersonation.
    	RPC_S_NO_CONTEXT_AVAILABLE                                         = 1765, 
    	// An internal error occurred in a remote procedure call (RPC).
    	RPC_S_INTERNAL_ERROR                                               = 1766, 
    	// The RPC server attempted an integer division by zero.
    	RPC_S_ZERO_DIVIDE                                                  = 1767, 
    	// An addressing error occurred in the RPC server.
    	RPC_S_ADDRESS_ERROR                                                = 1768, 
    	// A floating-point operation at the RPC server caused a division by zero.
    	RPC_S_FP_DIV_ZERO                                                  = 1769, 
    	// A floating-point underflow occurred at the RPC server.
    	RPC_S_FP_UNDERFLOW                                                 = 1770, 
    	// A floating-point overflow occurred at the RPC server.
    	RPC_S_FP_OVERFLOW                                                  = 1771, 
    	// The list of RPC servers available for the binding of auto handles has been exhausted.
    	RPC_X_NO_MORE_ENTRIES                                              = 1772, 
    	// Unable to open the character translation table file.
    	RPC_X_SS_CHAR_TRANS_OPEN_FAIL                                      = 1773, 
    	// The file containing the character translation table has fewer than 512 bytes.
    	RPC_X_SS_CHAR_TRANS_SHORT_FILE                                     = 1774, 
    	// A null context handle was passed from the client to the host during a remote procedure call.
    	RPC_X_SS_IN_NULL_CONTEXT                                           = 1775, 
    	// The context handle changed during a remote procedure call.
    	RPC_X_SS_CONTEXT_DAMAGED                                           = 1777, 
    	// The binding handles passed to a remote procedure call do not match.
    	RPC_X_SS_HANDLES_MISMATCH                                          = 1778, 
    	// The stub is unable to get the remote procedure call handle.
    	RPC_X_SS_CANNOT_GET_CALL_HANDLE                                    = 1779, 
    	// A null reference pointer was passed to the stub.
    	RPC_X_NULL_REF_POINTER                                             = 1780, 
    	// The enumeration value is out of range.
    	RPC_X_ENUM_VALUE_OUT_OF_RANGE                                      = 1781, 
    	// The byte count is too small.
    	RPC_X_BYTE_COUNT_TOO_SMALL                                         = 1782, 
    	// The stub received bad data.
    	RPC_X_BAD_STUB_DATA                                                = 1783, 
    	// The supplied user buffer is not valid for the requested operation.
    	INVALID_USER_BUFFER                                                = 1784, 
    	// The disk media is not recognized. It may not be formatted.
    	UNRECOGNIZED_MEDIA                                                 = 1785, 
    	// The workstation does not have a trust secret.
    	NO_TRUST_LSA_SECRET                                                = 1786, 
    	// The security database on the server does not have a computer account for this workstation trust relationship.
    	NO_TRUST_SAM_ACCOUNT                                               = 1787, 
    	// The trust relationship between the primary domain and the trusted domain failed.
    	TRUSTED_DOMAIN_FAILURE                                             = 1788, 
    	// The trust relationship between this workstation and the primary domain failed.
    	TRUSTED_RELATIONSHIP_FAILURE                                       = 1789, 
    	// The network logon failed.
    	TRUST_FAILURE                                                      = 1790, 
    	// A remote procedure call is already in progress for this thread.
    	RPC_S_CALL_IN_PROGRESS                                             = 1791, 
    	// An attempt was made to logon, but the network logon service was not started.
    	NETLOGON_NOT_STARTED                                               = 1792, 
    	// The user's account has expired.
    	ACCOUNT_EXPIRED                                                    = 1793, 
    	// The redirector is in use and cannot be unloaded.
    	REDIRECTOR_HAS_OPEN_HANDLES                                        = 1794, 
    	// The specified printer driver is already installed.
    	PRINTER_DRIVER_ALREADY_INSTALLED                                   = 1795, 
    	// The specified port is unknown.
    	UNKNOWN_PORT                                                       = 1796, 
    	// The printer driver is unknown.
    	UNKNOWN_PRINTER_DRIVER                                             = 1797, 
    	// The print processor is unknown.
    	UNKNOWN_PRINTPROCESSOR                                             = 1798, 
    	// The specified separator file is invalid.
    	INVALID_SEPARATOR_FILE                                             = 1799, 
    	// The specified priority is invalid.
    	INVALID_PRIORITY                                                   = 1800, 
    	// The printer name is invalid.
    	INVALID_PRINTER_NAME                                               = 1801, 
    	// The printer already exists.
    	PRINTER_ALREADY_EXISTS                                             = 1802, 
    	// The printer command is invalid.
    	INVALID_PRINTER_COMMAND                                            = 1803, 
    	// The specified datatype is invalid.
    	INVALID_DATATYPE                                                   = 1804, 
    	// The environment specified is invalid.
    	INVALID_ENVIRONMENT                                                = 1805, 
    	// There are no more bindings.
    	RPC_S_NO_MORE_BINDINGS                                             = 1806, 
    	// 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                                  = 1807, 
    	// The account used is a computer account. Use your global user account or local user account to access this server.
    	NOLOGON_WORKSTATION_TRUST_ACCOUNT                                  = 1808, 
    	// 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                                       = 1809, 
    	// The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain.
    	DOMAIN_TRUST_INCONSISTENT                                          = 1810, 
    	// The server is in use and cannot be unloaded.
    	SERVER_HAS_OPEN_HANDLES                                            = 1811, 
    	// The specified image file did not contain a resource section.
    	RESOURCE_DATA_NOT_FOUND                                            = 1812, 
    	// The specified resource type cannot be found in the image file.
    	RESOURCE_TYPE_NOT_FOUND                                            = 1813, 
    	// The specified resource name cannot be found in the image file.
    	RESOURCE_NAME_NOT_FOUND                                            = 1814, 
    	// The specified resource language ID cannot be found in the image file.
    	RESOURCE_LANG_NOT_FOUND                                            = 1815, 
    	// Not enough quota is available to process this command.
    	NOT_ENOUGH_QUOTA                                                   = 1816, 
    	// No interfaces have been registered.
    	RPC_S_NO_INTERFACES                                                = 1817, 
    	// The remote procedure call was cancelled.
    	RPC_S_CALL_CANCELLED                                               = 1818, 
    	// The binding handle does not contain all required information.
    	RPC_S_BINDING_INCOMPLETE                                           = 1819, 
    	// A communications failure occurred during a remote procedure call.
    	RPC_S_COMM_FAILURE                                                 = 1820, 
    	// The requested authentication level is not supported.
    	RPC_S_UNSUPPORTED_AUTHN_LEVEL                                      = 1821, 
    	// No principal name registered.
    	RPC_S_NO_PRINC_NAME                                                = 1822, 
    	// The error specified is not a valid Windows RPC error code.
    	RPC_S_NOT_RPC_ERROR                                                = 1823, 
    	// A UUID that is valid only on this computer has been allocated.
    	RPC_S_UUID_LOCAL_ONLY                                              = 1824, 
    	// A security package specific error occurred.
    	RPC_S_SEC_PKG_ERROR                                                = 1825, 
    	// Thread is not canceled.
    	RPC_S_NOT_CANCELLED                                                = 1826, 
    	// Invalid operation on the encoding/decoding handle.
    	RPC_X_INVALID_ES_ACTION                                            = 1827, 
    	// Incompatible version of the serializing package.
    	RPC_X_WRONG_ES_VERSION                                             = 1828, 
    	// Incompatible version of the RPC stub.
    	RPC_X_WRONG_STUB_VERSION                                           = 1829, 
    	// The RPC pipe object is invalid or corrupted.
    	RPC_X_INVALID_PIPE_OBJECT                                          = 1830, 
    	// An invalid operation was attempted on an RPC pipe object.
    	RPC_X_WRONG_PIPE_ORDER                                             = 1831, 
    	// Unsupported RPC pipe version.
    	RPC_X_WRONG_PIPE_VERSION                                           = 1832, 
    	// HTTP proxy server rejected the connection because the cookie authentication failed.
    	RPC_S_COOKIE_AUTH_FAILED                                           = 1833, 
    	// The group member was not found.
    	RPC_S_GROUP_MEMBER_NOT_FOUND                                       = 1898, 
    	// The endpoint mapper database entry could not be created.
    	EPT_S_CANT_CREATE                                                  = 1899, 
    	// The object universal unique identifier (UUID) is the nil UUID.
    	RPC_S_INVALID_OBJECT                                               = 1900, 
    	// The specified time is invalid.
    	INVALID_TIME                                                       = 1901, 
    	// The specified form name is invalid.
    	INVALID_FORM_NAME                                                  = 1902, 
    	// The specified form size is invalid.
    	INVALID_FORM_SIZE                                                  = 1903, 
    	// The specified printer handle is already being waited on.
    	ALREADY_WAITING                                                    = 1904, 
    	// The specified printer has been deleted.
    	PRINTER_DELETED                                                    = 1905, 
    	// The state of the printer is invalid.
    	INVALID_PRINTER_STATE                                              = 1906, 
    	// The user's password must be changed before signing in.
    	PASSWORD_MUST_CHANGE                                               = 1907, 
    	// Could not find the domain controller for this domain.
    	DOMAIN_CONTROLLER_NOT_FOUND                                        = 1908, 
    	// The referenced account is currently locked out and may not be logged on to.
    	ACCOUNT_LOCKED_OUT                                                 = 1909, 
    	// The object exporter specified was not found.
    	OR_INVALID_OXID                                                    = 1910, 
    	// The object specified was not found.
    	OR_INVALID_OID                                                     = 1911, 
    	// The object resolver set specified was not found.
    	OR_INVALID_SET                                                     = 1912, 
    	// Some data remains to be sent in the request buffer.
    	RPC_S_SEND_INCOMPLETE                                              = 1913, 
    	// Invalid asynchronous remote procedure call handle.
    	RPC_S_INVALID_ASYNC_HANDLE                                         = 1914, 
    	// Invalid asynchronous RPC call handle for this operation.
    	RPC_S_INVALID_ASYNC_CALL                                           = 1915, 
    	// The RPC pipe object has already been closed.
    	RPC_X_PIPE_CLOSED                                                  = 1916, 
    	// The RPC call completed before all pipes were processed.
    	RPC_X_PIPE_DISCIPLINE_ERROR                                        = 1917, 
    	// No more data is available from the RPC pipe.
    	RPC_X_PIPE_EMPTY                                                   = 1918, 
    	// No site name is available for this machine.
    	NO_SITENAME                                                        = 1919, 
    	// The file cannot be accessed by the system.
    	CANT_ACCESS_FILE                                                   = 1920, 
    	// The name of the file cannot be resolved by the system.
    	CANT_RESOLVE_FILENAME                                              = 1921, 
    	// The entry is not of the expected type.
    	RPC_S_ENTRY_TYPE_MISMATCH                                          = 1922, 
    	// Not all object UUIDs could be exported to the specified entry.
    	RPC_S_NOT_ALL_OBJS_EXPORTED                                        = 1923, 
    	// Interface could not be exported to the specified entry.
    	RPC_S_INTERFACE_NOT_EXPORTED                                       = 1924, 
    	// The specified profile entry could not be added.
    	RPC_S_PROFILE_NOT_ADDED                                            = 1925, 
    	// The specified profile element could not be added.
    	RPC_S_PRF_ELT_NOT_ADDED                                            = 1926, 
    	// The specified profile element could not be removed.
    	RPC_S_PRF_ELT_NOT_REMOVED                                          = 1927, 
    	// The group element could not be added.
    	RPC_S_GRP_ELT_NOT_ADDED                                            = 1928, 
    	// The group element could not be removed.
    	RPC_S_GRP_ELT_NOT_REMOVED                                          = 1929, 
    	// The printer driver is not compatible with a policy enabled on your computer that blocks NT 4.0 drivers.
    	KM_DRIVER_BLOCKED                                                  = 1930, 
    	// The context has expired and can no longer be used.
    	CONTEXT_EXPIRED                                                    = 1931, 
    	// The current user's delegated trust creation quota has been exceeded.
    	PER_USER_TRUST_QUOTA_EXCEEDED                                      = 1932, 
    	// The total delegated trust creation quota has been exceeded.
    	ALL_USER_TRUST_QUOTA_EXCEEDED                                      = 1933, 
    	// The current user's delegated trust deletion quota has been exceeded.
    	USER_DELETE_TRUST_QUOTA_EXCEEDED                                   = 1934, 
    	// 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                                     = 1935, 
    	// Remote connections to the Print Spooler are blocked by a policy set on your machine.
    	REMOTE_PRINT_CONNECTIONS_BLOCKED                                   = 1936, 
    	// Authentication failed because NTLM authentication has been disabled.
    	NTLM_BLOCKED                                                       = 1937, 
    	// Logon Failure: EAS policy requires that the user change their password before this operation can be performed.
    	PASSWORD_CHANGE_REQUIRED                                           = 1938, 
    	// The pixel format is invalid.
    	INVALID_PIXEL_FORMAT                                               = 2000, 
    	// The specified driver is invalid.
    	BAD_DRIVER                                                         = 2001, 
    	// The window style or class attribute is invalid for this operation.
    	INVALID_WINDOW_STYLE                                               = 2002, 
    	// The requested metafile operation is not supported.
    	METAFILE_NOT_SUPPORTED                                             = 2003, 
    	// The requested transformation operation is not supported.
    	TRANSFORM_NOT_SUPPORTED                                            = 2004, 
    	// The requested clipping operation is not supported.
    	CLIPPING_NOT_SUPPORTED                                             = 2005, 
    	// The specified color management module is invalid.
    	INVALID_CMM                                                        = 2010, 
    	// The specified color profile is invalid.
    	INVALID_PROFILE                                                    = 2011, 
    	// The specified tag was not found.
    	TAG_NOT_FOUND                                                      = 2012, 
    	// A required tag is not present.
    	TAG_NOT_PRESENT                                                    = 2013, 
    	// The specified tag is already present.
    	DUPLICATE_TAG                                                      = 2014, 
    	// The specified color profile is not associated with the specified device.
    	PROFILE_NOT_ASSOCIATED_WITH_DEVICE                                 = 2015, 
    	// The specified color profile was not found.
    	PROFILE_NOT_FOUND                                                  = 2016, 
    	// The specified color space is invalid.
    	INVALID_COLORSPACE                                                 = 2017, 
    	// Image Color Management is not enabled.
    	ICM_NOT_ENABLED                                                    = 2018, 
    	// There was an error while deleting the color transform.
    	DELETING_ICM_XFORM                                                 = 2019, 
    	// The specified color transform is invalid.
    	INVALID_TRANSFORM                                                  = 2020, 
    	// The specified transform does not match the bitmap's color space.
    	COLORSPACE_MISMATCH                                                = 2021, 
    	// The specified named color index is not present in the profile.
    	INVALID_COLORINDEX                                                 = 2022, 
    	// The specified profile is intended for a device of a different type than the specified device.
    	PROFILE_DOES_NOT_MATCH_DEVICE                                      = 2023, 
    	// 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                                           = 2108, 
    	// The network connection was made successfully using default credentials.
    	CONNECTED_OTHER_PASSWORD_DEFAULT                                   = 2109, 
    	// The specified username is invalid.
    	BAD_USERNAME                                                       = 2202, 
    	// This network connection does not exist.
    	NOT_CONNECTED                                                      = 2250, 
    	// This network connection has files open or requests pending.
    	OPEN_FILES                                                         = 2401, 
    	// Active connections still exist.
    	ACTIVE_CONNECTIONS                                                 = 2402, 
    	// The device is in use by an active process and cannot be disconnected.
    	DEVICE_IN_USE                                                      = 2404, 
    	// The specified print monitor is unknown.
    	UNKNOWN_PRINT_MONITOR                                              = 3000, 
    	// The specified printer driver is currently in use.
    	PRINTER_DRIVER_IN_USE                                              = 3001, 
    	// The spool file was not found.
    	SPOOL_FILE_NOT_FOUND                                               = 3002, 
    	// A StartDocPrinter call was not issued.
    	SPL_NO_STARTDOC                                                    = 3003, 
    	// An AddJob call was not issued.
    	SPL_NO_ADDJOB                                                      = 3004, 
    	// The specified print processor has already been installed.
    	PRINT_PROCESSOR_ALREADY_INSTALLED                                  = 3005, 
    	// The specified print monitor has already been installed.
    	PRINT_MONITOR_ALREADY_INSTALLED                                    = 3006, 
    	// The specified print monitor does not have the required functions.
    	INVALID_PRINT_MONITOR                                              = 3007, 
    	// The specified print monitor is currently in use.
    	PRINT_MONITOR_IN_USE                                               = 3008, 
    	// The requested operation is not allowed when there are jobs queued to the printer.
    	PRINTER_HAS_JOBS_QUEUED                                            = 3009, 
    	// The requested operation is successful. Changes will not be effective until the system is rebooted.
    	SUCCESS_REBOOT_REQUIRED                                            = 3010, 
    	// The requested operation is successful. Changes will not be effective until the service is restarted.
    	SUCCESS_RESTART_REQUIRED                                           = 3011, 
    	// No printers were found.
    	PRINTER_NOT_FOUND                                                  = 3012, 
    	// The printer driver is known to be unreliable.
    	PRINTER_DRIVER_WARNED                                              = 3013, 
    	// The printer driver is known to harm the system.
    	PRINTER_DRIVER_BLOCKED                                             = 3014, 
    	// The specified printer driver package is currently in use.
    	PRINTER_DRIVER_PACKAGE_IN_USE                                      = 3015, 
    	// Unable to find a core driver package that is required by the printer driver package.
    	CORE_DRIVER_PACKAGE_NOT_FOUND                                      = 3016, 
    	// The requested operation failed. A system reboot is required to roll back changes made.
    	FAIL_REBOOT_REQUIRED                                               = 3017, 
    	// The requested operation failed. A system reboot has been initiated to roll back changes made.
    	FAIL_REBOOT_INITIATED                                              = 3018, 
    	// The specified printer driver was not found on the system and needs to be downloaded.
    	PRINTER_DRIVER_DOWNLOAD_NEEDED                                     = 3019, 
    	// The requested print job has failed to print. A print system update requires the job to be resubmitted.
    	PRINT_JOB_RESTART_REQUIRED                                         = 3020, 
    	// The printer driver does not contain a valid manifest, or contains too many manifests.
    	INVALID_PRINTER_DRIVER_MANIFEST                                    = 3021, 
    	// The specified printer cannot be shared.
    	PRINTER_NOT_SHAREABLE                                              = 3022, 
    	// The operation was paused.
    	REQUEST_PAUSED                                                     = 3050, 
    	// Reissue the given operation as a cached IO operation.
    	IO_REISSUE_AS_CACHED                                               = 3950, 
    	// WINS encountered an error while processing the command.
    	WINS_INTERNAL                                                      = 4000, 
    	// The local WINS cannot be deleted.
    	CAN_NOT_DEL_LOCAL_WINS                                             = 4001, 
    	// The importation from the file failed.
    	STATIC_INIT                                                        = 4002, 
    	// The backup failed. Was a full backup done before?
    	INC_BACKUP                                                         = 4003, 
    	// The backup failed. Check the directory to which you are backing the database.
    	FULL_BACKUP                                                        = 4004, 
    	// The name does not exist in the WINS database.
    	REC_NON_EXISTENT                                                   = 4005, 
    	// Replication with a nonconfigured partner is not allowed.
    	RPL_NOT_ALLOWED                                                    = 4006, 
    	// The version of the supplied content information is not supported.
    	PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED                     = 4050, 
    	// The supplied content information is malformed.
    	PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO                            = 4051, 
    	// The requested data cannot be found in local or peer caches.
    	PEERDIST_ERROR_MISSING_DATA                                        = 4052, 
    	// No more data is available or required.
    	PEERDIST_ERROR_NO_MORE                                             = 4053, 
    	// The supplied object has not been initialized.
    	PEERDIST_ERROR_NOT_INITIALIZED                                     = 4054, 
    	// The supplied object has already been initialized.
    	PEERDIST_ERROR_ALREADY_INITIALIZED                                 = 4055, 
    	// A shutdown operation is already in progress.
    	PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS                                = 4056, 
    	// The supplied object has already been invalidated.
    	PEERDIST_ERROR_INVALIDATED                                         = 4057, 
    	// An element already exists and was not replaced.
    	PEERDIST_ERROR_ALREADY_EXISTS                                      = 4058, 
    	// Cannot cancel the requested operation as it has already been completed.
    	PEERDIST_ERROR_OPERATION_NOTFOUND                                  = 4059, 
    	// Can not perform the reqested operation because it has already been carried out.
    	PEERDIST_ERROR_ALREADY_COMPLETED                                   = 4060, 
    	// An operation accessed data beyond the bounds of valid data.
    	PEERDIST_ERROR_OUT_OF_BOUNDS                                       = 4061, 
    	// The requested version is not supported.
    	PEERDIST_ERROR_VERSION_UNSUPPORTED                                 = 4062, 
    	// A configuration value is invalid.
    	PEERDIST_ERROR_INVALID_CONFIGURATION                               = 4063, 
    	// The SKU is not licensed.
    	PEERDIST_ERROR_NOT_LICENSED                                        = 4064, 
    	// PeerDist Service is still initializing and will be available shortly.
    	PEERDIST_ERROR_SERVICE_UNAVAILABLE                                 = 4065, 
    	// Communication with one or more computers will be temporarily blocked due to recent errors.
    	PEERDIST_ERROR_TRUST_FAILURE                                       = 4066, 
    	// 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                                              = 4100, 
    	// The GUID passed was not recognized as valid by a WMI data provider.
    	WMI_GUID_NOT_FOUND                                                 = 4200, 
    	// The instance name passed was not recognized as valid by a WMI data provider.
    	WMI_INSTANCE_NOT_FOUND                                             = 4201, 
    	// The data item ID passed was not recognized as valid by a WMI data provider.
    	WMI_ITEMID_NOT_FOUND                                               = 4202, 
    	// The WMI request could not be completed and should be retried.
    	WMI_TRY_AGAIN                                                      = 4203, 
    	// The WMI data provider could not be located.
    	WMI_DP_NOT_FOUND                                                   = 4204, 
    	// The WMI data provider references an instance set that has not been registered.
    	WMI_UNRESOLVED_INSTANCE_REF                                        = 4205, 
    	// The WMI data block or event notification has already been enabled.
    	WMI_ALREADY_ENABLED                                                = 4206, 
    	// The WMI data block is no longer available.
    	WMI_GUID_DISCONNECTED                                              = 4207, 
    	// The WMI data service is not available.
    	WMI_SERVER_UNAVAILABLE                                             = 4208, 
    	// The WMI data provider failed to carry out the request.
    	WMI_DP_FAILED                                                      = 4209, 
    	// The WMI MOF information is not valid.
    	WMI_INVALID_MOF                                                    = 4210, 
    	// The WMI registration information is not valid.
    	WMI_INVALID_REGINFO                                                = 4211, 
    	// The WMI data block or event notification has already been disabled.
    	WMI_ALREADY_DISABLED                                               = 4212, 
    	// The WMI data item or data block is read only.
    	WMI_READ_ONLY                                                      = 4213, 
    	// The WMI data item or data block could not be changed.
    	WMI_SET_FAILURE                                                    = 4214, 
    	// This operation is only valid in the context of an app container.
    	NOT_APPCONTAINER                                                   = 4250, 
    	// This application can only run in the context of an app container.
    	APPCONTAINER_REQUIRED                                              = 4251, 
    	// This functionality is not supported in the context of an app container.
    	NOT_SUPPORTED_IN_APPCONTAINER                                      = 4252, 
    	// The length of the SID supplied is not a valid length for app container SIDs.
    	INVALID_PACKAGE_SID_LENGTH                                         = 4253, 
    	// The media identifier does not represent a valid medium.
    	INVALID_MEDIA                                                      = 4300, 
    	// The library identifier does not represent a valid library.
    	INVALID_LIBRARY                                                    = 4301, 
    	// The media pool identifier does not represent a valid media pool.
    	INVALID_MEDIA_POOL                                                 = 4302, 
    	// The drive and medium are not compatible or exist in different libraries.
    	DRIVE_MEDIA_MISMATCH                                               = 4303, 
    	// The medium currently exists in an offline library and must be online to perform this operation.
    	MEDIA_OFFLINE                                                      = 4304, 
    	// The operation cannot be performed on an offline library.
    	LIBRARY_OFFLINE                                                    = 4305, 
    	// The library, drive, or media pool is empty.
    	EMPTY                                                              = 4306, 
    	// The library, drive, or media pool must be empty to perform this operation.
    	NOT_EMPTY                                                          = 4307, 
    	// No media is currently available in this media pool or library.
    	MEDIA_UNAVAILABLE                                                  = 4308, 
    	// A resource required for this operation is disabled.
    	RESOURCE_DISABLED                                                  = 4309, 
    	// The media identifier does not represent a valid cleaner.
    	INVALID_CLEANER                                                    = 4310, 
    	// The drive cannot be cleaned or does not support cleaning.
    	UNABLE_TO_CLEAN                                                    = 4311, 
    	// The object identifier does not represent a valid object.
    	OBJECT_NOT_FOUND                                                   = 4312, 
    	// Unable to read from or write to the database.
    	DATABASE_FAILURE                                                   = 4313, 
    	// The database is full.
    	DATABASE_FULL                                                      = 4314, 
    	// The medium is not compatible with the device or media pool.
    	MEDIA_INCOMPATIBLE                                                 = 4315, 
    	// The resource required for this operation does not exist.
    	RESOURCE_NOT_PRESENT                                               = 4316, 
    	// The operation identifier is not valid.
    	INVALID_OPERATION                                                  = 4317, 
    	// The media is not mounted or ready for use.
    	MEDIA_NOT_AVAILABLE                                                = 4318, 
    	// The device is not ready for use.
    	DEVICE_NOT_AVAILABLE                                               = 4319, 
    	// The operator or administrator has refused the request.
    	REQUEST_REFUSED                                                    = 4320, 
    	// The drive identifier does not represent a valid drive.
    	INVALID_DRIVE_OBJECT                                               = 4321, 
    	// Library is full. No slot is available for use.
    	LIBRARY_FULL                                                       = 4322, 
    	// The transport cannot access the medium.
    	MEDIUM_NOT_ACCESSIBLE                                              = 4323, 
    	// Unable to load the medium into the drive.
    	UNABLE_TO_LOAD_MEDIUM                                              = 4324, 
    	// Unable to retrieve the drive status.
    	UNABLE_TO_INVENTORY_DRIVE                                          = 4325, 
    	// Unable to retrieve the slot status.
    	UNABLE_TO_INVENTORY_SLOT                                           = 4326, 
    	// Unable to retrieve status about the transport.
    	UNABLE_TO_INVENTORY_TRANSPORT                                      = 4327, 
    	// Cannot use the transport because it is already in use.
    	TRANSPORT_FULL                                                     = 4328, 
    	// Unable to open or close the inject/eject port.
    	CONTROLLING_IEPORT                                                 = 4329, 
    	// Unable to eject the medium because it is in a drive.
    	UNABLE_TO_EJECT_MOUNTED_MEDIA                                      = 4330, 
    	// A cleaner slot is already reserved.
    	CLEANER_SLOT_SET                                                   = 4331, 
    	// A cleaner slot is not reserved.
    	CLEANER_SLOT_NOT_SET                                               = 4332, 
    	// The cleaner cartridge has performed the maximum number of drive cleanings.
    	CLEANER_CARTRIDGE_SPENT                                            = 4333, 
    	// Unexpected on-medium identifier.
    	UNEXPECTED_OMID                                                    = 4334, 
    	// The last remaining item in this group or resource cannot be deleted.
    	CANT_DELETE_LAST_ITEM                                              = 4335, 
    	// The message provided exceeds the maximum size allowed for this parameter.
    	MESSAGE_EXCEEDS_MAX_SIZE                                           = 4336, 
    	// The volume contains system or paging files.
    	VOLUME_CONTAINS_SYS_FILES                                          = 4337, 
    	// 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                                                    = 4338, 
    	// This offline media cannot be mounted on this system since no enabled drives are present which can be used.
    	NO_SUPPORTING_DRIVES                                               = 4339, 
    	// A cleaner cartridge is present in the tape library.
    	CLEANER_CARTRIDGE_INSTALLED                                        = 4340, 
    	// Cannot use the inject/eject port because it is not empty.
    	IEPORT_FULL                                                        = 4341, 
    	// This file is currently not available for use on this computer.
    	FILE_OFFLINE                                                       = 4350, 
    	// The remote storage service is not operational at this time.
    	REMOTE_STORAGE_NOT_ACTIVE                                          = 4351, 
    	// The remote storage service encountered a media error.
    	REMOTE_STORAGE_MEDIA_ERROR                                         = 4352, 
    	// The file or directory is not a reparse point.
    	NOT_A_REPARSE_POINT                                                = 4390, 
    	// The reparse point attribute cannot be set because it conflicts with an existing attribute.
    	REPARSE_ATTRIBUTE_CONFLICT                                         = 4391, 
    	// The data present in the reparse point buffer is invalid.
    	INVALID_REPARSE_DATA                                               = 4392, 
    	// The tag present in the reparse point buffer is invalid.
    	REPARSE_TAG_INVALID                                                = 4393, 
    	// There is a mismatch between the tag specified in the request and the tag present in the reparse point.
    	REPARSE_TAG_MISMATCH                                               = 4394, 
    	// Fast Cache data not found.
    	APP_DATA_NOT_FOUND                                                 = 4400, 
    	// Fast Cache data expired.
    	APP_DATA_EXPIRED                                                   = 4401, 
    	// Fast Cache data corrupt.
    	APP_DATA_CORRUPT                                                   = 4402, 
    	// Fast Cache data has exceeded its max size and cannot be updated.
    	APP_DATA_LIMIT_EXCEEDED                                            = 4403, 
    	// Fast Cache has been ReArmed and requires a reboot until it can be updated.
    	APP_DATA_REBOOT_REQUIRED                                           = 4404, 
    	// Secure Boot detected that rollback of protected data has been attempted.
    	SECUREBOOT_ROLLBACK_DETECTED                                       = 4420, 
    	// The value is protected by Secure Boot policy and cannot be modified or deleted.
    	SECUREBOOT_POLICY_VIOLATION                                        = 4421, 
    	// The Secure Boot policy is invalid.
    	SECUREBOOT_INVALID_POLICY                                          = 4422, 
    	// A new Secure Boot policy did not contain the current publisher on its update list.
    	SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND                              = 4423, 
    	// The Secure Boot policy is either not signed or is signed by a non-trusted signer.
    	SECUREBOOT_POLICY_NOT_SIGNED                                       = 4424, 
    	// Secure Boot is not enabled on this machine.
    	SECUREBOOT_NOT_ENABLED                                             = 4425, 
    	// Secure Boot requires that certain files and drivers are not replaced by other files or drivers.
    	SECUREBOOT_FILE_REPLACED                                           = 4426, 
    	// The copy offload read operation is not supported by a filter.
    	OFFLOAD_READ_FLT_NOT_SUPPORTED                                     = 4440, 
    	// The copy offload write operation is not supported by a filter.
    	OFFLOAD_WRITE_FLT_NOT_SUPPORTED                                    = 4441, 
    	// The copy offload read operation is not supported for the file.
    	OFFLOAD_READ_FILE_NOT_SUPPORTED                                    = 4442, 
    	// The copy offload write operation is not supported for the file.
    	OFFLOAD_WRITE_FILE_NOT_SUPPORTED                                   = 4443, 
    	// Single Instance Storage is not available on this volume.
    	VOLUME_NOT_SIS_ENABLED                                             = 4500, 
    	// The operation cannot be completed because other resources are dependent on this resource.
    	DEPENDENT_RESOURCE_EXISTS                                          = 5001, 
    	// The cluster resource dependency cannot be found.
    	DEPENDENCY_NOT_FOUND                                               = 5002, 
    	// The cluster resource cannot be made dependent on the specified resource because it is already dependent.
    	DEPENDENCY_ALREADY_EXISTS                                          = 5003, 
    	// The cluster resource is not online.
    	RESOURCE_NOT_ONLINE                                                = 5004, 
    	// A cluster node is not available for this operation.
    	HOST_NODE_NOT_AVAILABLE                                            = 5005, 
    	// The cluster resource is not available.
    	RESOURCE_NOT_AVAILABLE                                             = 5006, 
    	// The cluster resource could not be found.
    	RESOURCE_NOT_FOUND                                                 = 5007, 
    	// The cluster is being shut down.
    	SHUTDOWN_CLUSTER                                                   = 5008, 
    	// A cluster node cannot be evicted from the cluster unless the node is down or it is the last node.
    	CANT_EVICT_ACTIVE_NODE                                             = 5009, 
    	// The object already exists.
    	OBJECT_ALREADY_EXISTS                                              = 5010, 
    	// The object is already in the list.
    	OBJECT_IN_LIST                                                     = 5011, 
    	// The cluster group is not available for any new requests.
    	GROUP_NOT_AVAILABLE                                                = 5012, 
    	// The cluster group could not be found.
    	GROUP_NOT_FOUND                                                    = 5013, 
    	// The operation could not be completed because the cluster group is not online.
    	GROUP_NOT_ONLINE                                                   = 5014, 
    	// 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                                       = 5015, 
    	// 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                                          = 5016, 
    	// The cluster resource could not be created in the specified resource monitor.
    	RESMON_CREATE_FAILED                                               = 5017, 
    	// The cluster resource could not be brought online by the resource monitor.
    	RESMON_ONLINE_FAILED                                               = 5018, 
    	// The operation could not be completed because the cluster resource is online.
    	RESOURCE_ONLINE                                                    = 5019, 
    	// The cluster resource could not be deleted or brought offline because it is the quorum resource.
    	QUORUM_RESOURCE                                                    = 5020, 
    	// The cluster could not make the specified resource a quorum resource because it is not capable of being a quorum resource.
    	NOT_QUORUM_CAPABLE                                                 = 5021, 
    	// The cluster software is shutting down.
    	CLUSTER_SHUTTING_DOWN                                              = 5022, 
    	// The group or resource is not in the correct state to perform the requested operation.
    	INVALID_STATE                                                      = 5023, 
    	// The properties were stored but not all changes will take effect until the next time the resource is brought online.
    	RESOURCE_PROPERTIES_STORED                                         = 5024, 
    	// The cluster could not make the specified resource a quorum resource because it does not belong to a shared storage class.
    	NOT_QUORUM_CLASS                                                   = 5025, 
    	// The cluster resource could not be deleted since it is a core resource.
    	CORE_RESOURCE                                                      = 5026, 
    	// The quorum resource failed to come online.
    	QUORUM_RESOURCE_ONLINE_FAILED                                      = 5027, 
    	// The quorum log could not be created or mounted successfully.
    	QUORUMLOG_OPEN_FAILED                                              = 5028, 
    	// The cluster log is corrupt.
    	CLUSTERLOG_CORRUPT                                                 = 5029, 
    	// The record could not be written to the cluster log since it exceeds the maximum size.
    	CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE                                  = 5030, 
    	// The cluster log exceeds its maximum size.
    	CLUSTERLOG_EXCEEDS_MAXSIZE                                         = 5031, 
    	// No checkpoint record was found in the cluster log.
    	CLUSTERLOG_CHKPOINT_NOT_FOUND                                      = 5032, 
    	// The minimum required disk space needed for logging is not available.
    	CLUSTERLOG_NOT_ENOUGH_SPACE                                        = 5033, 
    	// The cluster node failed to take control of the quorum resource because the resource is owned by another active node.
    	QUORUM_OWNER_ALIVE                                                 = 5034, 
    	// A cluster network is not available for this operation.
    	NETWORK_NOT_AVAILABLE                                              = 5035, 
    	// A cluster node is not available for this operation.
    	NODE_NOT_AVAILABLE                                                 = 5036, 
    	// All cluster nodes must be running to perform this operation.
    	ALL_NODES_NOT_AVAILABLE                                            = 5037, 
    	// A cluster resource failed.
    	RESOURCE_FAILED                                                    = 5038, 
    	// The cluster node is not valid.
    	CLUSTER_INVALID_NODE                                               = 5039, 
    	// The cluster node already exists.
    	CLUSTER_NODE_EXISTS                                                = 5040, 
    	// A node is in the process of joining the cluster.
    	CLUSTER_JOIN_IN_PROGRESS                                           = 5041, 
    	// The cluster node was not found.
    	CLUSTER_NODE_NOT_FOUND                                             = 5042, 
    	// The cluster local node information was not found.
    	CLUSTER_LOCAL_NODE_NOT_FOUND                                       = 5043, 
    	// The cluster network already exists.
    	CLUSTER_NETWORK_EXISTS                                             = 5044, 
    	// The cluster network was not found.
    	CLUSTER_NETWORK_NOT_FOUND                                          = 5045, 
    	// The cluster network interface already exists.
    	CLUSTER_NETINTERFACE_EXISTS                                        = 5046, 
    	// The cluster network interface was not found.
    	CLUSTER_NETINTERFACE_NOT_FOUND                                     = 5047, 
    	// The cluster request is not valid for this object.
    	CLUSTER_INVALID_REQUEST                                            = 5048, 
    	// The cluster network provider is not valid.
    	CLUSTER_INVALID_NETWORK_PROVIDER                                   = 5049, 
    	// The cluster node is down.
    	CLUSTER_NODE_DOWN                                                  = 5050, 
    	// The cluster node is not reachable.
    	CLUSTER_NODE_UNREACHABLE                                           = 5051, 
    	// The cluster node is not a member of the cluster.
    	CLUSTER_NODE_NOT_MEMBER                                            = 5052, 
    	// A cluster join operation is not in progress.
    	CLUSTER_JOIN_NOT_IN_PROGRESS                                       = 5053, 
    	// The cluster network is not valid.
    	CLUSTER_INVALID_NETWORK                                            = 5054, 
    	// The cluster node is up.
    	CLUSTER_NODE_UP                                                    = 5056, 
    	// The cluster IP address is already in use.
    	CLUSTER_IPADDR_IN_USE                                              = 5057, 
    	// The cluster node is not paused.
    	CLUSTER_NODE_NOT_PAUSED                                            = 5058, 
    	// No cluster security context is available.
    	CLUSTER_NO_SECURITY_CONTEXT                                        = 5059, 
    	// The cluster network is not configured for internal cluster communication.
    	CLUSTER_NETWORK_NOT_INTERNAL                                       = 5060, 
    	// The cluster node is already up.
    	CLUSTER_NODE_ALREADY_UP                                            = 5061, 
    	// The cluster node is already down.
    	CLUSTER_NODE_ALREADY_DOWN                                          = 5062, 
    	// The cluster network is already online.
    	CLUSTER_NETWORK_ALREADY_ONLINE                                     = 5063, 
    	// The cluster network is already offline.
    	CLUSTER_NETWORK_ALREADY_OFFLINE                                    = 5064, 
    	// The cluster node is already a member of the cluster.
    	CLUSTER_NODE_ALREADY_MEMBER                                        = 5065, 
    	// 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                                      = 5066, 
    	// 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                                     = 5067, 
    	// 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                                        = 5068, 
    	// The cluster quorum resource is not allowed to have any dependencies.
    	DEPENDENCY_NOT_ALLOWED                                             = 5069, 
    	// The cluster node is paused.
    	CLUSTER_NODE_PAUSED                                                = 5070, 
    	// The cluster resource cannot be brought online. The owner node cannot run this resource.
    	NODE_CANT_HOST_RESOURCE                                            = 5071, 
    	// The cluster node is not ready to perform the requested operation.
    	CLUSTER_NODE_NOT_READY                                             = 5072, 
    	// The cluster node is shutting down.
    	CLUSTER_NODE_SHUTTING_DOWN                                         = 5073, 
    	// The cluster join operation was aborted.
    	CLUSTER_JOIN_ABORTED                                               = 5074, 
    	// The cluster join operation failed due to incompatible software versions between the joining node and its sponsor.
    	CLUSTER_INCOMPATIBLE_VERSIONS                                      = 5075, 
    	// 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                               = 5076, 
    	// The system configuration changed during the cluster join or form operation. The join or form operation was aborted.
    	CLUSTER_SYSTEM_CONFIG_CHANGED                                      = 5077, 
    	// The specified resource type was not found.
    	CLUSTER_RESOURCE_TYPE_NOT_FOUND                                    = 5078, 
    	// 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                                      = 5079, 
    	// 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                                          = 5080, 
    	// No authentication package could be registered with the RPC server.
    	CLUSTER_NO_RPC_PACKAGES_REGISTERED                                 = 5081, 
    	// 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                                      = 5082, 
    	// 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                                       = 5083, 
    	// 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                                               = 5084, 
    	// A non locker code got a request to reserve the lock for making global updates.
    	CLUSTER_GUM_NOT_LOCKER                                             = 5085, 
    	// The quorum disk could not be located by the cluster service.
    	QUORUM_DISK_NOT_FOUND                                              = 5086, 
    	// The backed up cluster database is possibly corrupt.
    	DATABASE_BACKUP_CORRUPT                                            = 5087, 
    	// A DFS root already exists in this cluster node.
    	CLUSTER_NODE_ALREADY_HAS_DFS_ROOT                                  = 5088, 
    	// An attempt to modify a resource property failed because it conflicts with another existing property.
    	RESOURCE_PROPERTY_UNCHANGEABLE                                     = 5089, 
    	// An operation was attempted that is incompatible with the current membership state of the node.
    	CLUSTER_MEMBERSHIP_INVALID_STATE                                   = 5890, 
    	// The quorum resource does not contain the quorum log.
    	CLUSTER_QUORUMLOG_NOT_FOUND                                        = 5891, 
    	// The membership engine requested shutdown of the cluster service on this node.
    	CLUSTER_MEMBERSHIP_HALT                                            = 5892, 
    	// 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                                       = 5893, 
    	// A matching cluster network for the specified IP address could not be found.
    	CLUSTER_NETWORK_NOT_FOUND_FOR_IP                                   = 5894, 
    	// The actual data type of the property did not match the expected data type of the property.
    	CLUSTER_PROPERTY_DATA_TYPE_MISMATCH                                = 5895, 
    	// 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                                      = 5896, 
    	// Two or more parameter values specified for a resource's properties are in conflict.
    	CLUSTER_PARAMETER_MISMATCH                                         = 5897, 
    	// This computer cannot be made a member of a cluster.
    	NODE_CANNOT_BE_CLUSTERED                                           = 5898, 
    	// 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                                           = 5899, 
    	// 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                               = 5900, 
    	// The cluster configuration action has already been committed.
    	CLUSCFG_ALREADY_COMMITTED                                          = 5901, 
    	// The cluster configuration action could not be rolled back.
    	CLUSCFG_ROLLBACK_FAILED                                            = 5902, 
    	// 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                          = 5903, 
    	// One or more nodes in the cluster are running a version of Windows that does not support this operation.
    	CLUSTER_OLD_VERSION                                                = 5904, 
    	// The name of the corresponding computer account doesn't match the Network Name for this resource.
    	CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME                              = 5905, 
    	// No network adapters are available.
    	CLUSTER_NO_NET_ADAPTERS                                            = 5906, 
    	// The cluster node has been poisoned.
    	CLUSTER_POISONED                                                   = 5907, 
    	// The group is unable to accept the request since it is moving to another node.
    	CLUSTER_GROUP_MOVING                                               = 5908, 
    	// The resource type cannot accept the request since is too busy performing another operation.
    	CLUSTER_RESOURCE_TYPE_BUSY                                         = 5909, 
    	// The call to the cluster resource DLL timed out.
    	RESOURCE_CALL_TIMED_OUT                                            = 5910, 
    	// 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                                       = 5911, 
    	// An internal cluster error occurred. A call to an invalid function was attempted.
    	CLUSTER_INTERNAL_INVALID_FUNCTION                                  = 5912, 
    	// A parameter value is out of acceptable range.
    	CLUSTER_PARAMETER_OUT_OF_BOUNDS                                    = 5913, 
    	// 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                                               = 5914, 
    	// An invalid cluster registry operation was attempted.
    	CLUSTER_REGISTRY_INVALID_FUNCTION                                  = 5915, 
    	// An input string of characters is not properly terminated.
    	CLUSTER_INVALID_STRING_TERMINATION                                 = 5916, 
    	// An input string of characters is not in a valid format for the data it represents.
    	CLUSTER_INVALID_STRING_FORMAT                                      = 5917, 
    	// An internal cluster error occurred. A cluster database transaction was attempted while a transaction was already in progress.
    	CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS                           = 5918, 
    	// 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                       = 5919, 
    	// An internal cluster error occurred. Data was not properly initialized.
    	CLUSTER_NULL_DATA                                                  = 5920, 
    	// An error occurred while reading from a stream of data. An unexpected number of bytes was returned.
    	CLUSTER_PARTIAL_READ                                               = 5921, 
    	// An error occurred while writing to a stream of data. The required number of bytes could not be written.
    	CLUSTER_PARTIAL_WRITE                                              = 5922, 
    	// An error occurred while deserializing a stream of cluster data.
    	CLUSTER_CANT_DESERIALIZE_DATA                                      = 5923, 
    	// 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                               = 5924, 
    	// A quorum of cluster nodes was not present to form a cluster.
    	CLUSTER_NO_QUORUM                                                  = 5925, 
    	// The cluster network is not valid for an IPv6 Address resource, or it does not match the configured address.
    	CLUSTER_INVALID_IPV6_NETWORK                                       = 5926, 
    	// 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                                = 5927, 
    	// Quorum resource cannot reside in the Available Storage group.
    	QUORUM_NOT_ALLOWED_IN_THIS_GROUP                                   = 5928, 
    	// The dependencies for this resource are nested too deeply.
    	DEPENDENCY_TREE_TOO_COMPLEX                                        = 5929, 
    	// The call into the resource DLL raised an unhandled exception.
    	EXCEPTION_IN_RESOURCE_CALL                                         = 5930, 
    	// The RHS process failed to initialize.
    	CLUSTER_RHS_FAILED_INITIALIZATION                                  = 5931, 
    	// The Failover Clustering feature is not installed on this node.
    	CLUSTER_NOT_INSTALLED                                              = 5932, 
    	// The resources must be online on the same node for this operation.
    	CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE                  = 5933, 
    	// A new node can not be added since this cluster is already at its maximum number of nodes.
    	CLUSTER_MAX_NODES_IN_CLUSTER                                       = 5934, 
    	// This cluster can not be created since the specified number of nodes exceeds the maximum allowed limit.
    	CLUSTER_TOO_MANY_NODES                                             = 5935, 
    	// 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                                        = 5936, 
    	// This cluster cannot be destroyed. It has non-core application groups which must be deleted before the cluster can be destroyed.
    	NONCORE_GROUPS_FOUND                                               = 5937, 
    	// File share associated with file share witness resource cannot be hosted by this cluster or any of its nodes.
    	FILE_SHARE_RESOURCE_CONFLICT                                       = 5938, 
    	// 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                                      = 5939, 
    	// Only one instance of this resource type is allowed in the cluster.
    	CLUSTER_SINGLETON_RESOURCE                                         = 5940, 
    	// Only one instance of this resource type is allowed per resource group.
    	CLUSTER_GROUP_SINGLETON_RESOURCE                                   = 5941, 
    	// The resource failed to come online due to the failure of one or more provider resources.
    	CLUSTER_RESOURCE_PROVIDER_FAILED                                   = 5942, 
    	// The resource has indicated that it cannot come online on any node.
    	CLUSTER_RESOURCE_CONFIGURATION_ERROR                               = 5943, 
    	// The current operation cannot be performed on this group at this time.
    	CLUSTER_GROUP_BUSY                                                 = 5944, 
    	// The directory or file is not located on a cluster shared volume.
    	CLUSTER_NOT_SHARED_VOLUME                                          = 5945, 
    	// The Security Descriptor does not meet the requirements for a cluster.
    	CLUSTER_INVALID_SECURITY_DESCRIPTOR                                = 5946, 
    	// 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                                      = 5947, 
    	// This group or resource cannot be directly manipulated. Use shared volume APIs to perform desired operation.
    	CLUSTER_USE_SHARED_VOLUMES_API                                     = 5948, 
    	// Back up is in progress. Please wait for backup completion before trying this operation again.
    	CLUSTER_BACKUP_IN_PROGRESS                                         = 5949, 
    	// The path does not belong to a cluster shared volume.
    	NON_CSV_PATH                                                       = 5950, 
    	// The cluster shared volume is not locally mounted on this node.
    	CSV_VOLUME_NOT_LOCAL                                               = 5951, 
    	// The cluster watchdog is terminating.
    	CLUSTER_WATCHDOG_TERMINATING                                       = 5952, 
    	// A resource vetoed a move between two nodes because they are incompatible.
    	CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES                    = 5953, 
    	// 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                                        = 5954, 
    	// The resource vetoed the call.
    	CLUSTER_RESOURCE_VETOED_CALL                                       = 5955, 
    	// Resource could not start or run because it could not reserve sufficient system resources.
    	RESMON_SYSTEM_RESOURCES_LACKING                                    = 5956, 
    	// 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   = 5957, 
    	// 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        = 5958, 
    	// The requested operation can not be completed because the group is queued for an operation.
    	CLUSTER_GROUP_QUEUED                                               = 5959, 
    	// The requested operation can not be completed because a resource has locked status.
    	CLUSTER_RESOURCE_LOCKED_STATUS                                     = 5960, 
    	// The resource cannot move to another node because a cluster shared volume vetoed the operation.
    	CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED                         = 5961, 
    	// A node drain is already in progress.
    	// This value was also named ERROR_CLUSTER_NODE_EVACUATION_IN_PROGRESS
    	CLUSTER_NODE_DRAIN_IN_PROGRESS                                     = 5962, 
    	// Clustered storage is not connected to the node.
    	CLUSTER_DISK_NOT_CONNECTED                                         = 5963, 
    	// 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                                               = 5964, 
    	// The resource must be part of the Available Storage group to complete this action.
    	RESOURCE_NOT_IN_AVAILABLE_STORAGE                                  = 5965, 
    	// CSVFS failed operation as volume is in redirected mode.
    	CLUSTER_SHARED_VOLUME_REDIRECTED                                   = 5966, 
    	// CSVFS failed operation as volume is not in redirected mode.
    	CLUSTER_SHARED_VOLUME_NOT_REDIRECTED                               = 5967, 
    	// Cluster properties cannot be returned at this time.
    	CLUSTER_CANNOT_RETURN_PROPERTIES                                   = 5968, 
    	// 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 = 5969, 
    	// The operation cannot be completed because the resource is in maintenance mode.
    	CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE                            = 5970, 
    	// The operation cannot be completed because of cluster affinity conflicts.
    	CLUSTER_AFFINITY_CONFLICT                                          = 5971, 
    	// The operation cannot be completed because the resource is a replica virtual machine.
    	CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE                        = 5972, 
    	// The specified file could not be encrypted.
    	ENCRYPTION_FAILED                                                  = 6000, 
    	// The specified file could not be decrypted.
    	DECRYPTION_FAILED                                                  = 6001, 
    	// The specified file is encrypted and the user does not have the ability to decrypt it.
    	FILE_ENCRYPTED                                                     = 6002, 
    	// There is no valid encryption recovery policy configured for this system.
    	NO_RECOVERY_POLICY                                                 = 6003, 
    	// The required encryption driver is not loaded for this system.
    	NO_EFS                                                             = 6004, 
    	// The file was encrypted with a different encryption driver than is currently loaded.
    	WRONG_EFS                                                          = 6005, 
    	// There are no EFS keys defined for the user.
    	NO_USER_KEYS                                                       = 6006, 
    	// The specified file is not encrypted.
    	FILE_NOT_ENCRYPTED                                                 = 6007, 
    	// The specified file is not in the defined EFS export format.
    	NOT_EXPORT_FORMAT                                                  = 6008, 
    	// The specified file is read only.
    	FILE_READ_ONLY                                                     = 6009, 
    	// The directory has been disabled for encryption.
    	DIR_EFS_DISALLOWED                                                 = 6010, 
    	// The server is not trusted for remote encryption operation.
    	EFS_SERVER_NOT_TRUSTED                                             = 6011, 
    	// Recovery policy configured for this system contains invalid recovery certificate.
    	BAD_RECOVERY_POLICY                                                = 6012, 
    	// 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                                               = 6013, 
    	// The disk partition does not support file encryption.
    	VOLUME_NOT_SUPPORT_EFS                                             = 6014, 
    	// This machine is disabled for file encryption.
    	EFS_DISABLED                                                       = 6015, 
    	// A newer system is required to decrypt this encrypted file.
    	EFS_VERSION_NOT_SUPPORT                                            = 6016, 
    	// The remote server sent an invalid response for a file being opened with Client Side Encryption.
    	CS_ENCRYPTION_INVALID_SERVER_RESPONSE                              = 6017, 
    	// Client Side Encryption is not supported by the remote server even though it claims to support it.
    	CS_ENCRYPTION_UNSUPPORTED_SERVER                                   = 6018, 
    	// File is encrypted and should be opened in Client Side Encryption mode.
    	CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE                              = 6019, 
    	// A new encrypted file is being created and a $EFS needs to be provided.
    	CS_ENCRYPTION_NEW_ENCRYPTED_FILE                                   = 6020, 
    	// The SMB client requested a CSE FSCTL on a non-CSE file.
    	CS_ENCRYPTION_FILE_NOT_CSE                                         = 6021, 
    	// The requested operation was blocked by policy. For more information, contact your system administrator.
    	ENCRYPTION_POLICY_DENIES_OPERATION                                 = 6022, 
    	// The list of servers for this workgroup is not currently available.
    	NO_BROWSER_SERVERS_FOUND                                           = 6118, 
    	// 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                                    = 6200, 
    	// Log service encountered an invalid log sector.
    	LOG_SECTOR_INVALID                                                 = 6600, 
    	// Log service encountered a log sector with invalid block parity.
    	LOG_SECTOR_PARITY_INVALID                                          = 6601, 
    	// Log service encountered a remapped log sector.
    	LOG_SECTOR_REMAPPED                                                = 6602, 
    	// Log service encountered a partial or incomplete log block.
    	LOG_BLOCK_INCOMPLETE                                               = 6603, 
    	// Log service encountered an attempt access data outside the active log range.
    	LOG_INVALID_RANGE                                                  = 6604, 
    	// Log service user marshalling buffers are exhausted.
    	LOG_BLOCKS_EXHAUSTED                                               = 6605, 
    	// Log service encountered an attempt read from a marshalling area with an invalid read context.
    	LOG_READ_CONTEXT_INVALID                                           = 6606, 
    	// Log service encountered an invalid log restart area.
    	LOG_RESTART_INVALID                                                = 6607, 
    	// Log service encountered an invalid log block version.
    	LOG_BLOCK_VERSION                                                  = 6608, 
    	// Log service encountered an invalid log block.
    	LOG_BLOCK_INVALID                                                  = 6609, 
    	// Log service encountered an attempt to read the log with an invalid read mode.
    	LOG_READ_MODE_INVALID                                              = 6610, 
    	// Log service encountered a log stream with no restart area.
    	LOG_NO_RESTART                                                     = 6611, 
    	// Log service encountered a corrupted metadata file.
    	LOG_METADATA_CORRUPT                                               = 6612, 
    	// Log service encountered a metadata file that could not be created by the log file system.
    	LOG_METADATA_INVALID                                               = 6613, 
    	// Log service encountered a metadata file with inconsistent data.
    	LOG_METADATA_INCONSISTENT                                          = 6614, 
    	// Log service encountered an attempt to erroneous allocate or dispose reservation space.
    	LOG_RESERVATION_INVALID                                            = 6615, 
    	// Log service cannot delete log file or file system container.
    	LOG_CANT_DELETE                                                    = 6616, 
    	// Log service has reached the maximum allowable containers allocated to a log file.
    	LOG_CONTAINER_LIMIT_EXCEEDED                                       = 6617, 
    	// Log service has attempted to read or write backward past the start of the log.
    	LOG_START_OF_LOG                                                   = 6618, 
    	// Log policy could not be installed because a policy of the same type is already present.
    	LOG_POLICY_ALREADY_INSTALLED                                       = 6619, 
    	// Log policy in question was not installed at the time of the request.
    	LOG_POLICY_NOT_INSTALLED                                           = 6620, 
    	// The installed set of policies on the log is invalid.
    	LOG_POLICY_INVALID                                                 = 6621, 
    	// A policy on the log in question prevented the operation from completing.
    	LOG_POLICY_CONFLICT                                                = 6622, 
    	// Log space cannot be reclaimed because the log is pinned by the archive tail.
    	LOG_PINNED_ARCHIVE_TAIL                                            = 6623, 
    	// Log record is not a record in the log file.
    	LOG_RECORD_NONEXISTENT                                             = 6624, 
    	// Number of reserved log records or the adjustment of the number of reserved log records is invalid.
    	LOG_RECORDS_RESERVED_INVALID                                       = 6625, 
    	// Reserved log space or the adjustment of the log space is invalid.
    	LOG_SPACE_RESERVED_INVALID                                         = 6626, 
    	// An new or existing archive tail or base of the active log is invalid.
    	LOG_TAIL_INVALID                                                   = 6627, 
    	// Log space is exhausted.
    	LOG_FULL                                                           = 6628, 
    	// The log could not be set to the requested size.
    	COULD_NOT_RESIZE_LOG                                               = 6629, 
    	// Log is multiplexed, no direct writes to the physical log is allowed.
    	LOG_MULTIPLEXED                                                    = 6630, 
    	// The operation failed because the log is a dedicated log.
    	LOG_DEDICATED                                                      = 6631, 
    	// The operation requires an archive context.
    	LOG_ARCHIVE_NOT_IN_PROGRESS                                        = 6632, 
    	// Log archival is in progress.
    	LOG_ARCHIVE_IN_PROGRESS                                            = 6633, 
    	// The operation requires a non-ephemeral log, but the log is ephemeral.
    	LOG_EPHEMERAL                                                      = 6634, 
    	// The log must have at least two containers before it can be read from or written to.
    	LOG_NOT_ENOUGH_CONTAINERS                                          = 6635, 
    	// A log client has already registered on the stream.
    	LOG_CLIENT_ALREADY_REGISTERED                                      = 6636, 
    	// A log client has not been registered on the stream.
    	LOG_CLIENT_NOT_REGISTERED                                          = 6637, 
    	// A request has already been made to handle the log full condition.
    	LOG_FULL_HANDLER_IN_PROGRESS                                       = 6638, 
    	// Log service encountered an error when attempting to read from a log container.
    	LOG_CONTAINER_READ_FAILED                                          = 6639, 
    	// Log service encountered an error when attempting to write to a log container.
    	LOG_CONTAINER_WRITE_FAILED                                         = 6640, 
    	// Log service encountered an error when attempting open a log container.
    	LOG_CONTAINER_OPEN_FAILED                                          = 6641, 
    	// Log service encountered an invalid container state when attempting a requested action.
    	LOG_CONTAINER_STATE_INVALID                                        = 6642, 
    	// Log service is not in the correct state to perform a requested action.
    	LOG_STATE_INVALID                                                  = 6643, 
    	// Log space cannot be reclaimed because the log is pinned.
    	LOG_PINNED                                                         = 6644, 
    	// Log metadata flush failed.
    	LOG_METADATA_FLUSH_FAILED                                          = 6645, 
    	// Security on the log and its containers is inconsistent.
    	LOG_INCONSISTENT_SECURITY                                          = 6646, 
    	// Records were appended to the log or reservation changes were made, but the log could not be flushed.
    	LOG_APPENDED_FLUSH_FAILED                                          = 6647, 
    	// The log is pinned due to reservation consuming most of the log space. Free some reserved records to make space available.
    	LOG_PINNED_RESERVATION                                             = 6648, 
    	// The transaction handle associated with this operation is not valid.
    	INVALID_TRANSACTION                                                = 6700, 
    	// The requested operation was made in the context of a transaction that is no longer active.
    	TRANSACTION_NOT_ACTIVE                                             = 6701, 
    	// The requested operation is not valid on the Transaction object in its current state.
    	TRANSACTION_REQUEST_NOT_VALID                                      = 6702, 
    	// 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                                          = 6703, 
    	// It is too late to perform the requested operation, since the Transaction has already been aborted.
    	TRANSACTION_ALREADY_ABORTED                                        = 6704, 
    	// It is too late to perform the requested operation, since the Transaction has already been committed.
    	TRANSACTION_ALREADY_COMMITTED                                      = 6705, 
    	// The Transaction Manager was unable to be successfully initialized. Transacted operations are not supported.
    	TM_INITIALIZATION_FAILED                                           = 6706, 
    	// The specified ResourceManager made no changes or updates to the resource under this transaction.
    	RESOURCEMANAGER_READ_ONLY                                          = 6707, 
    	// The resource manager has attempted to prepare a transaction that it has not successfully joined.
    	TRANSACTION_NOT_JOINED                                             = 6708, 
    	// 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                                        = 6709, 
    	// The RM tried to register a protocol that already exists.
    	CRM_PROTOCOL_ALREADY_EXISTS                                        = 6710, 
    	// The attempt to propagate the Transaction failed.
    	TRANSACTION_PROPAGATION_FAILED                                     = 6711, 
    	// The requested propagation protocol was not registered as a CRM.
    	CRM_PROTOCOL_NOT_FOUND                                             = 6712, 
    	// The buffer passed in to PushTransaction or PullTransaction is not in a valid format.
    	TRANSACTION_INVALID_MARSHALL_BUFFER                                = 6713, 
    	// The current transaction context associated with the thread is not a valid handle to a transaction object.
    	CURRENT_TRANSACTION_NOT_VALID                                      = 6714, 
    	// The specified Transaction object could not be opened, because it was not found.
    	TRANSACTION_NOT_FOUND                                              = 6715, 
    	// The specified ResourceManager object could not be opened, because it was not found.
    	RESOURCEMANAGER_NOT_FOUND                                          = 6716, 
    	// The specified Enlistment object could not be opened, because it was not found.
    	ENLISTMENT_NOT_FOUND                                               = 6717, 
    	// The specified TransactionManager object could not be opened, because it was not found.
    	TRANSACTIONMANAGER_NOT_FOUND                                       = 6718, 
    	// 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                                      = 6719, 
    	// 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                         = 6720, 
    	// 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                                               = 6721, 
    	// Because the associated transaction manager or resource manager has been closed, the handle is no longer valid.
    	TRANSACTION_OBJECT_EXPIRED                                         = 6722, 
    	// 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                                  = 6723, 
    	// 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                                        = 6724, 
    	// Implicit transaction are not supported.
    	IMPLICIT_TRANSACTION_NOT_SUPPORTED                                 = 6725, 
    	// The kernel transaction manager had to abort or forget the transaction because it blocked forward progress.
    	TRANSACTION_INTEGRITY_VIOLATED                                     = 6726, 
    	// The TransactionManager identity that was supplied did not match the one recorded in the TransactionManager's log file.
    	TRANSACTIONMANAGER_IDENTITY_MISMATCH                               = 6727, 
    	// 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                                   = 6728, 
    	// 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                                      = 6729, 
    	// The transaction does not have a superior enlistment.
    	TRANSACTION_NO_SUPERIOR                                            = 6730, 
    	// 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                                          = 6731, 
    	// The function attempted to use a name that is reserved for use by another transaction.
    	TRANSACTIONAL_CONFLICT                                             = 6800, 
    	// Transaction support within the specified resource manager is not started or was shut down due to an error.
    	RM_NOT_ACTIVE                                                      = 6801, 
    	// The metadata of the RM has been corrupted. The RM will not function.
    	RM_METADATA_CORRUPT                                                = 6802, 
    	// The specified directory does not contain a resource manager.
    	DIRECTORY_NOT_RM                                                   = 6803, 
    	// The remote server or share does not support transacted file operations.
    	TRANSACTIONS_UNSUPPORTED_REMOTE                                    = 6805, 
    	// The requested log size is invalid.
    	LOG_RESIZE_INVALID_SIZE                                            = 6806, 
    	// The object (file, stream, link) corresponding to the handle has been deleted by a Transaction Savepoint Rollback.
    	OBJECT_NO_LONGER_EXISTS                                            = 6807, 
    	// The specified file miniversion was not found for this transacted file open.
    	STREAM_MINIVERSION_NOT_FOUND                                       = 6808, 
    	// The specified file miniversion was found but has been invalidated. Most likely cause is a transaction savepoint rollback.
    	STREAM_MINIVERSION_NOT_VALID                                       = 6809, 
    	// A miniversion may only be opened in the context of the transaction that created it.
    	MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION                = 6810, 
    	// It is not possible to open a miniversion with modify access.
    	CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT                           = 6811, 
    	// It is not possible to create any more miniversions for this stream.
    	CANT_CREATE_MORE_STREAM_MINIVERSIONS                               = 6812, 
    	// The remote server sent mismatching version number or Fid for a file opened with transactions.
    	REMOTE_FILE_VERSION_MISMATCH                                       = 6814, 
    	// 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                                             = 6815, 
    	// There is no transaction metadata on the file.
    	NO_TXF_METADATA                                                    = 6816, 
    	// The log data is corrupt.
    	LOG_CORRUPTION_DETECTED                                            = 6817, 
    	// The file can't be recovered because there is a handle still open on it.
    	CANT_RECOVER_WITH_HANDLE_OPEN                                      = 6818, 
    	// The transaction outcome is unavailable because the resource manager responsible for it has disconnected.
    	RM_DISCONNECTED                                                    = 6819, 
    	// The request was rejected because the enlistment in question is not a superior enlistment.
    	ENLISTMENT_NOT_SUPERIOR                                            = 6820, 
    	// The transactional resource manager is already consistent. Recovery is not needed.
    	RECOVERY_NOT_NEEDED                                                = 6821, 
    	// The transactional resource manager has already been started.
    	RM_ALREADY_STARTED                                                 = 6822, 
    	// The file cannot be opened transactionally, because its identity depends on the outcome of an unresolved transaction.
    	FILE_IDENTITY_NOT_PERSISTENT                                       = 6823, 
    	// The operation cannot be performed because another transaction is depending on the fact that this property will not change.
    	CANT_BREAK_TRANSACTIONAL_DEPENDENCY                                = 6824, 
    	// The operation would involve a single file with two transactional resource managers and is therefore not allowed.
    	CANT_CROSS_RM_BOUNDARY                                             = 6825, 
    	// The $Txf directory must be empty for this operation to succeed.
    	TXF_DIR_NOT_EMPTY                                                  = 6826, 
    	// The operation would leave a transactional resource manager in an inconsistent state and is therefore not allowed.
    	INDOUBT_TRANSACTIONS_EXIST                                         = 6827, 
    	// The operation could not be completed because the transaction manager does not have a log.
    	TM_VOLATILE                                                        = 6828, 
    	// A rollback could not be scheduled because a previously scheduled rollback has already executed or been queued for execution.
    	ROLLBACK_TIMER_EXPIRED                                             = 6829, 
    	// The transactional metadata attribute on the file or directory is corrupt and unreadable.
    	TXF_ATTRIBUTE_CORRUPT                                              = 6830, 
    	// The encryption operation could not be completed because a transaction is active.
    	EFS_NOT_ALLOWED_IN_TRANSACTION                                     = 6831, 
    	// This object is not allowed to be opened in a transaction.
    	TRANSACTIONAL_OPEN_NOT_ALLOWED                                     = 6832, 
    	// 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                                                  = 6833, 
    	// Memory mapping (creating a mapped section) a remote file under a transaction is not supported.
    	TRANSACTED_MAPPING_UNSUPPORTED_REMOTE                              = 6834, 
    	// Transaction metadata is already present on this file and cannot be superseded.
    	TXF_METADATA_ALREADY_PRESENT                                       = 6835, 
    	// A transaction scope could not be entered because the scope handler has not been initialized.
    	TRANSACTION_SCOPE_CALLBACKS_NOT_SET                                = 6836, 
    	// Promotion was required in order to allow the resource manager to enlist, but the transaction was set to disallow it.
    	TRANSACTION_REQUIRED_PROMOTION                                     = 6837, 
    	// 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                                 = 6838, 
    	// The request to thaw frozen transactions was ignored because transactions had not previously been frozen.
    	TRANSACTIONS_NOT_FROZEN                                            = 6839, 
    	// Transactions cannot be frozen because a freeze is already in progress.
    	TRANSACTION_FREEZE_IN_PROGRESS                                     = 6840, 
    	// The target volume is not a snapshot volume. This operation is only valid on a volume mounted as a snapshot.
    	NOT_SNAPSHOT_VOLUME                                                = 6841, 
    	// The savepoint operation failed because files are open on the transaction. This is not permitted.
    	NO_SAVEPOINT_WITH_OPEN_FILES                                       = 6842, 
    	// Windows has discovered corruption in a file, and that file has since been repaired. Data loss may have occurred.
    	DATA_LOST_REPAIR                                                   = 6843, 
    	// The sparse operation could not be completed because a transaction is active on the file.
    	SPARSE_NOT_ALLOWED_IN_TRANSACTION                                  = 6844, 
    	// 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                                               = 6845, 
    	// 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                                                    = 6846, 
    	// The transactional resource manager cannot currently accept transacted work due to a transient condition such as low resources.
    	CANNOT_ACCEPT_TRANSACTED_WORK                                      = 6847, 
    	// 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                                          = 6848, 
    	// The operation could not be completed due to bad clusters on disk.
    	BAD_CLUSTERS                                                       = 6849, 
    	// The compression operation could not be completed because a transaction is active on the file.
    	COMPRESSION_NOT_ALLOWED_IN_TRANSACTION                             = 6850, 
    	// The operation could not be completed because the volume is dirty. Please run chkdsk and try again.
    	VOLUME_DIRTY                                                       = 6851, 
    	// The link tracking operation could not be completed because a transaction is active.
    	NO_LINK_TRACKING_IN_TRANSACTION                                    = 6852, 
    	// This operation cannot be performed in a transaction.
    	OPERATION_NOT_SUPPORTED_IN_TRANSACTION                             = 6853, 
    	// 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                                                     = 6854, 
    	// The specified operation could not be performed because the resource manager is not enlisted in the transaction.
    	TRANSACTION_NOT_ENLISTED                                           = 6855, 
    	// The specified session name is invalid.
    	CTX_WINSTATION_NAME_INVALID                                        = 7001, 
    	// The specified protocol driver is invalid.
    	CTX_INVALID_PD                                                     = 7002, 
    	// The specified protocol driver was not found in the system path.
    	CTX_PD_NOT_FOUND                                                   = 7003, 
    	// The specified terminal connection driver was not found in the system path.
    	CTX_WD_NOT_FOUND                                                   = 7004, 
    	// A registry key for event logging could not be created for this session.
    	CTX_CANNOT_MAKE_EVENTLOG_ENTRY                                     = 7005, 
    	// A service with the same name already exists on the system.
    	CTX_SERVICE_NAME_COLLISION                                         = 7006, 
    	// A close operation is pending on the session.
    	CTX_CLOSE_PENDING                                                  = 7007, 
    	// There are no free output buffers available.
    	CTX_NO_OUTBUF                                                      = 7008, 
    	// The MODEM.INF file was not found.
    	CTX_MODEM_INF_NOT_FOUND                                            = 7009, 
    	// The modem name was not found in MODEM.INF.
    	CTX_INVALID_MODEMNAME                                              = 7010, 
    	// The modem did not accept the command sent to it. Verify that the configured modem name matches the attached modem.
    	CTX_MODEM_RESPONSE_ERROR                                           = 7011, 
    	// 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                                         = 7012, 
    	// Carrier detect has failed or carrier has been dropped due to disconnect.
    	CTX_MODEM_RESPONSE_NO_CARRIER                                      = 7013, 
    	// Dial tone not detected within the required time. Verify that the phone cable is properly attached and functional.
    	CTX_MODEM_RESPONSE_NO_DIALTONE                                     = 7014, 
    	// Busy signal detected at remote site on callback.
    	CTX_MODEM_RESPONSE_BUSY                                            = 7015, 
    	// Voice detected at remote site on callback.
    	CTX_MODEM_RESPONSE_VOICE                                           = 7016, 
    	// Transport driver error.
    	CTX_TD_ERROR                                                       = 7017, 
    	// The specified session cannot be found.
    	CTX_WINSTATION_NOT_FOUND                                           = 7022, 
    	// The specified session name is already in use.
    	CTX_WINSTATION_ALREADY_EXISTS                                      = 7023, 
    	// 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                                                = 7024, 
    	// An attempt has been made to connect to a session whose video mode is not supported by the current client.
    	CTX_BAD_VIDEO_MODE                                                 = 7025, 
    	// The application attempted to enable DOS graphics mode. DOS graphics mode is not supported.
    	CTX_GRAPHICS_INVALID                                               = 7035, 
    	// Your interactive logon privilege has been disabled. Please contact your administrator.
    	CTX_LOGON_DISABLED                                                 = 7037, 
    	// 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                                                    = 7038, 
    	// The client failed to respond to the server connect message.
    	CTX_CLIENT_QUERY_TIMEOUT                                           = 7040, 
    	// Disconnecting the console session is not supported.
    	CTX_CONSOLE_DISCONNECT                                             = 7041, 
    	// Reconnecting a disconnected session to the console is not supported.
    	CTX_CONSOLE_CONNECT                                                = 7042, 
    	// The request to control another session remotely was denied.
    	CTX_SHADOW_DENIED                                                  = 7044, 
    	// The requested session access is denied.
    	CTX_WINSTATION_ACCESS_DENIED                                       = 7045, 
    	// The specified terminal connection driver is invalid.
    	CTX_INVALID_WD                                                     = 7049, 
    	// 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                                                 = 7050, 
    	// The requested session is not configured to allow remote control.
    	CTX_SHADOW_DISABLED                                                = 7051, 
    	// 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                                          = 7052, 
    	// 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                                         = 7053, 
    	// 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                                          = 7054, 
    	// The client you are using is not licensed to use this system. Your logon request is denied.
    	CTX_LICENSE_CLIENT_INVALID                                         = 7055, 
    	// The system license has expired. Your logon request is denied.
    	CTX_LICENSE_EXPIRED                                                = 7056, 
    	// Remote control could not be terminated because the specified session is not currently being remotely controlled.
    	CTX_SHADOW_NOT_RUNNING                                             = 7057, 
    	// 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                                    = 7058, 
    	// Activation has already been reset the maximum number of times for this installation. Your activation timer will not be cleared.
    	ACTIVATION_COUNT_EXCEEDED                                          = 7059, 
    	// Remote logins are currently disabled.
    	CTX_WINSTATIONS_DISABLED                                           = 7060, 
    	// You do not have the proper encryption level to access this Session.
    	CTX_ENCRYPTION_LEVEL_REQUIRED                                      = 7061, 
    	// 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                                                 = 7062, 
    	// 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                                                = 7063, 
    	// Unable to log you on because of an account restriction.
    	CTX_ACCOUNT_RESTRICTION                                            = 7064, 
    	// The RDP protocol component %2 detected an error in the protocol stream and has disconnected the client.
    	RDP_PROTOCOL_ERROR                                                 = 7065, 
    	// The Client Drive Mapping Service Has Connected on Terminal Connection.
    	CTX_CDM_CONNECT                                                    = 7066, 
    	// The Client Drive Mapping Service Has Disconnected on Terminal Connection.
    	CTX_CDM_DISCONNECT                                                 = 7067, 
    	// The Terminal Server security layer detected an error in the protocol stream and has disconnected the client.
    	CTX_SECURITY_LAYER_ERROR                                           = 7068, 
    	// The target session is incompatible with the current session.
    	TS_INCOMPATIBLE_SESSIONS                                           = 7069, 
    	// 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                                           = 7070, 
    	// The file replication service API was called incorrectly.
    	FRS_ERR_INVALID_API_SEQUENCE                                       = 8001, 
    	// The file replication service cannot be started.
    	FRS_ERR_STARTING_SERVICE                                           = 8002, 
    	// The file replication service cannot be stopped.
    	FRS_ERR_STOPPING_SERVICE                                           = 8003, 
    	// The file replication service API terminated the request. The event log may have more information.
    	FRS_ERR_INTERNAL_API                                               = 8004, 
    	// The file replication service terminated the request. The event log may have more information.
    	FRS_ERR_INTERNAL                                                   = 8005, 
    	// The file replication service cannot be contacted. The event log may have more information.
    	FRS_ERR_SERVICE_COMM                                               = 8006, 
    	// 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                                          = 8007, 
    	// The file replication service cannot satisfy the request because authenticated RPC is not available. The event log may have more information.
    	FRS_ERR_AUTHENTICATION                                             = 8008, 
    	// 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                                   = 8009, 
    	// 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                                      = 8010, 
    	// 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                                       = 8011, 
    	// 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                                       = 8012, 
    	// 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                                            = 8013, 
    	// 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                                    = 8014, 
    	// The file replication service cannot process the request. The system volume is busy with a previous request.
    	FRS_ERR_SYSVOL_IS_BUSY                                             = 8015, 
    	// 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                                              = 8016, 
    	// The file replication service detected an invalid parameter.
    	FRS_ERR_INVALID_SERVICE_PARAMETER                                  = 8017, 
    	// An error occurred while installing the directory service. For more information, see the event log.
    	DS_NOT_INSTALLED                                                   = 8200, 
    	// The directory service evaluated group memberships locally.
    	DS_MEMBERSHIP_EVALUATED_LOCALLY                                    = 8201, 
    	// The specified directory service attribute or value does not exist.
    	DS_NO_ATTRIBUTE_OR_VALUE                                           = 8202, 
    	// The attribute syntax specified to the directory service is invalid.
    	DS_INVALID_ATTRIBUTE_SYNTAX                                        = 8203, 
    	// The attribute type specified to the directory service is not defined.
    	DS_ATTRIBUTE_TYPE_UNDEFINED                                        = 8204, 
    	// The specified directory service attribute or value already exists.
    	DS_ATTRIBUTE_OR_VALUE_EXISTS                                       = 8205, 
    	// The directory service is busy.
    	DS_BUSY                                                            = 8206, 
    	// The directory service is unavailable.
    	DS_UNAVAILABLE                                                     = 8207, 
    	// The directory service was unable to allocate a relative identifier.
    	DS_NO_RIDS_ALLOCATED                                               = 8208, 
    	// The directory service has exhausted the pool of relative identifiers.
    	DS_NO_MORE_RIDS                                                    = 8209, 
    	// The requested operation could not be performed because the directory service is not the master for that type of operation.
    	DS_INCORRECT_ROLE_OWNER                                            = 8210, 
    	// The directory service was unable to initialize the subsystem that allocates relative identifiers.
    	DS_RIDMGR_INIT_ERROR                                               = 8211, 
    	// The requested operation did not satisfy one or more constraints associated with the class of the object.
    	DS_OBJ_CLASS_VIOLATION                                             = 8212, 
    	// The directory service can perform the requested operation only on a leaf object.
    	DS_CANT_ON_NON_LEAF                                                = 8213, 
    	// The directory service cannot perform the requested operation on the RDN attribute of an object.
    	DS_CANT_ON_RDN                                                     = 8214, 
    	// The directory service detected an attempt to modify the object class of an object.
    	DS_CANT_MOD_OBJ_CLASS                                              = 8215, 
    	// The requested cross-domain move operation could not be performed.
    	DS_CROSS_DOM_MOVE_ERROR                                            = 8216, 
    	// Unable to contact the global catalog server.
    	DS_GC_NOT_AVAILABLE                                                = 8217, 
    	// The policy object is shared and can only be modified at the root.
    	SHARED_POLICY                                                      = 8218, 
    	// The policy object does not exist.
    	POLICY_OBJECT_NOT_FOUND                                            = 8219, 
    	// The requested policy information is only in the directory service.
    	POLICY_ONLY_IN_DS                                                  = 8220, 
    	// A domain controller promotion is currently active.
    	PROMOTION_ACTIVE                                                   = 8221, 
    	// A domain controller promotion is not currently active.
    	NO_PROMOTION_ACTIVE                                                = 8222, 
    	// An operations error occurred.
    	DS_OPERATIONS_ERROR                                                = 8224, 
    	// A protocol error occurred.
    	DS_PROTOCOL_ERROR                                                  = 8225, 
    	// The time limit for this request was exceeded.
    	DS_TIMELIMIT_EXCEEDED                                              = 8226, 
    	// The size limit for this request was exceeded.
    	DS_SIZELIMIT_EXCEEDED                                              = 8227, 
    	// The administrative limit for this request was exceeded.
    	DS_ADMIN_LIMIT_EXCEEDED                                            = 8228, 
    	// The compare response was false.
    	DS_COMPARE_FALSE                                                   = 8229, 
    	// The compare response was true.
    	DS_COMPARE_TRUE                                                    = 8230, 
    	// The requested authentication method is not supported by the server.
    	DS_AUTH_METHOD_NOT_SUPPORTED                                       = 8231, 
    	// A more secure authentication method is required for this server.
    	DS_STRONG_AUTH_REQUIRED                                            = 8232, 
    	// Inappropriate authentication.
    	DS_INAPPROPRIATE_AUTH                                              = 8233, 
    	// The authentication mechanism is unknown.
    	DS_AUTH_UNKNOWN                                                    = 8234, 
    	// A referral was returned from the server.
    	DS_REFERRAL                                                        = 8235, 
    	// The server does not support the requested critical extension.
    	DS_UNAVAILABLE_CRIT_EXTENSION                                      = 8236, 
    	// This request requires a secure connection.
    	DS_CONFIDENTIALITY_REQUIRED                                        = 8237, 
    	// Inappropriate matching.
    	DS_INAPPROPRIATE_MATCHING                                          = 8238, 
    	// A constraint violation occurred.
    	DS_CONSTRAINT_VIOLATION                                            = 8239, 
    	// There is no such object on the server.
    	DS_NO_SUCH_OBJECT                                                  = 8240, 
    	// There is an alias problem.
    	DS_ALIAS_PROBLEM                                                   = 8241, 
    	// An invalid dn syntax has been specified.
    	DS_INVALID_DN_SYNTAX                                               = 8242, 
    	// The object is a leaf object.
    	DS_IS_LEAF                                                         = 8243, 
    	// There is an alias dereferencing problem.
    	DS_ALIAS_DEREF_PROBLEM                                             = 8244, 
    	// The server is unwilling to process the request.
    	DS_UNWILLING_TO_PERFORM                                            = 8245, 
    	// A loop has been detected.
    	DS_LOOP_DETECT                                                     = 8246, 
    	// There is a naming violation.
    	DS_NAMING_VIOLATION                                                = 8247, 
    	// The result set is too large.
    	DS_OBJECT_RESULTS_TOO_LARGE                                        = 8248, 
    	// The operation affects multiple DSAs.
    	DS_AFFECTS_MULTIPLE_DSAS                                           = 8249, 
    	// The server is not operational.
    	DS_SERVER_DOWN                                                     = 8250, 
    	// A local error has occurred.
    	DS_LOCAL_ERROR                                                     = 8251, 
    	// An encoding error has occurred.
    	DS_ENCODING_ERROR                                                  = 8252, 
    	// A decoding error has occurred.
    	DS_DECODING_ERROR                                                  = 8253, 
    	// The search filter cannot be recognized.
    	DS_FILTER_UNKNOWN                                                  = 8254, 
    	// One or more parameters are illegal.
    	DS_PARAM_ERROR                                                     = 8255, 
    	// The specified method is not supported.
    	DS_NOT_SUPPORTED                                                   = 8256, 
    	// No results were returned.
    	DS_NO_RESULTS_RETURNED                                             = 8257, 
    	// The specified control is not supported by the server.
    	DS_CONTROL_NOT_FOUND                                               = 8258, 
    	// A referral loop was detected by the client.
    	DS_CLIENT_LOOP                                                     = 8259, 
    	// The preset referral limit was exceeded.
    	DS_REFERRAL_LIMIT_EXCEEDED                                         = 8260, 
    	// The search requires a SORT control.
    	DS_SORT_CONTROL_MISSING                                            = 8261, 
    	// The search results exceed the offset range specified.
    	DS_OFFSET_RANGE_ERROR                                              = 8262, 
    	// 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                                                 = 8263, 
    	// The root object must be the head of a naming context. The root object cannot have an instantiated parent.
    	DS_ROOT_MUST_BE_NC                                                 = 8301, 
    	// The add replica operation cannot be performed. The naming context must be writeable in order to create the replica.
    	DS_ADD_REPLICA_INHIBITED                                           = 8302, 
    	// A reference to an attribute that is not defined in the schema occurred.
    	DS_ATT_NOT_DEF_IN_SCHEMA                                           = 8303, 
    	// The maximum size of an object has been exceeded.
    	DS_MAX_OBJ_SIZE_EXCEEDED                                           = 8304, 
    	// An attempt was made to add an object to the directory with a name that is already in use.
    	DS_OBJ_STRING_NAME_EXISTS                                          = 8305, 
    	// 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                                        = 8306, 
    	// 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                                         = 8307, 
    	// None of the requested attributes were found on the objects.
    	DS_NO_REQUESTED_ATTS_FOUND                                         = 8308, 
    	// The user buffer is too small.
    	DS_USER_BUFFER_TO_SMALL                                            = 8309, 
    	// The attribute specified in the operation is not present on the object.
    	DS_ATT_IS_NOT_ON_OBJ                                               = 8310, 
    	// Illegal modify operation. Some aspect of the modification is not permitted.
    	DS_ILLEGAL_MOD_OPERATION                                           = 8311, 
    	// The specified object is too large.
    	DS_OBJ_TOO_LARGE                                                   = 8312, 
    	// The specified instance type is not valid.
    	DS_BAD_INSTANCE_TYPE                                               = 8313, 
    	// The operation must be performed at a master DSA.
    	DS_MASTERDSA_REQUIRED                                              = 8314, 
    	// The object class attribute must be specified.
    	DS_OBJECT_CLASS_REQUIRED                                           = 8315, 
    	// A required attribute is missing.
    	DS_MISSING_REQUIRED_ATT                                            = 8316, 
    	// 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                                           = 8317, 
    	// The specified attribute is already present on the object.
    	DS_ATT_ALREADY_EXISTS                                              = 8318, 
    	// The specified attribute is not present, or has no values.
    	DS_CANT_ADD_ATT_VALUES                                             = 8320, 
    	// Multiple values were specified for an attribute that can have only one value.
    	DS_SINGLE_VALUE_CONSTRAINT                                         = 8321, 
    	// A value for the attribute was not in the acceptable range of values.
    	DS_RANGE_CONSTRAINT                                                = 8322, 
    	// The specified value already exists.
    	DS_ATT_VAL_ALREADY_EXISTS                                          = 8323, 
    	// The attribute cannot be removed because it is not present on the object.
    	DS_CANT_REM_MISSING_ATT                                            = 8324, 
    	// The attribute value cannot be removed because it is not present on the object.
    	DS_CANT_REM_MISSING_ATT_VAL                                        = 8325, 
    	// The specified root object cannot be a subref.
    	DS_ROOT_CANT_BE_SUBREF                                             = 8326, 
    	// Chaining is not permitted.
    	DS_NO_CHAINING                                                     = 8327, 
    	// Chained evaluation is not permitted.
    	DS_NO_CHAINED_EVAL                                                 = 8328, 
    	// The operation could not be performed because the object's parent is either uninstantiated or deleted.
    	DS_NO_PARENT_OBJECT                                                = 8329, 
    	// Having a parent that is an alias is not permitted. Aliases are leaf objects.
    	DS_PARENT_IS_AN_ALIAS                                              = 8330, 
    	// The object and parent must be of the same type, either both masters or both replicas.
    	DS_CANT_MIX_MASTER_AND_REPS                                        = 8331, 
    	// The operation cannot be performed because child objects exist. This operation can only be performed on a leaf object.
    	DS_CHILDREN_EXIST                                                  = 8332, 
    	// Directory object not found.
    	DS_OBJ_NOT_FOUND                                                   = 8333, 
    	// The aliased object is missing.
    	DS_ALIASED_OBJ_MISSING                                             = 8334, 
    	// The object name has bad syntax.
    	DS_BAD_NAME_SYNTAX                                                 = 8335, 
    	// It is not permitted for an alias to refer to another alias.
    	DS_ALIAS_POINTS_TO_ALIAS                                           = 8336, 
    	// The alias cannot be dereferenced.
    	DS_CANT_DEREF_ALIAS                                                = 8337, 
    	// The operation is out of scope.
    	DS_OUT_OF_SCOPE                                                    = 8338, 
    	// The operation cannot continue because the object is in the process of being removed.
    	DS_OBJECT_BEING_REMOVED                                            = 8339, 
    	// The DSA object cannot be deleted.
    	DS_CANT_DELETE_DSA_OBJ                                             = 8340, 
    	// A directory service error has occurred.
    	DS_GENERIC_ERROR                                                   = 8341, 
    	// The operation can only be performed on an internal master DSA object.
    	DS_DSA_MUST_BE_INT_MASTER                                          = 8342, 
    	// The object must be of class DSA.
    	DS_CLASS_NOT_DSA                                                   = 8343, 
    	// Insufficient access rights to perform the operation.
    	DS_INSUFF_ACCESS_RIGHTS                                            = 8344, 
    	// The object cannot be added because the parent is not on the list of possible superiors.
    	DS_ILLEGAL_SUPERIOR                                                = 8345, 
    	// Access to the attribute is not permitted because the attribute is owned by the Security Accounts Manager (SAM).
    	DS_ATTRIBUTE_OWNED_BY_SAM                                          = 8346, 
    	// The name has too many parts.
    	DS_NAME_TOO_MANY_PARTS                                             = 8347, 
    	// The name is too long.
    	DS_NAME_TOO_LONG                                                   = 8348, 
    	// The name value is too long.
    	DS_NAME_VALUE_TOO_LONG                                             = 8349, 
    	// The directory service encountered an error parsing a name.
    	DS_NAME_UNPARSEABLE                                                = 8350, 
    	// The directory service cannot get the attribute type for a name.
    	DS_NAME_TYPE_UNKNOWN                                               = 8351, 
    	// The name does not identify an object; the name identifies a phantom.
    	DS_NOT_AN_OBJECT                                                   = 8352, 
    	// The security descriptor is too short.
    	DS_SEC_DESC_TOO_SHORT                                              = 8353, 
    	// The security descriptor is invalid.
    	DS_SEC_DESC_INVALID                                                = 8354, 
    	// Failed to create name for deleted object.
    	DS_NO_DELETED_NAME                                                 = 8355, 
    	// The parent of a new subref must exist.
    	DS_SUBREF_MUST_HAVE_PARENT                                         = 8356, 
    	// The object must be a naming context.
    	DS_NCNAME_MUST_BE_NC                                               = 8357, 
    	// It is not permitted to add an attribute which is owned by the system.
    	DS_CANT_ADD_SYSTEM_ONLY                                            = 8358, 
    	// The class of the object must be structural; you cannot instantiate an abstract class.
    	DS_CLASS_MUST_BE_CONCRETE                                          = 8359, 
    	// The schema object could not be found.
    	DS_INVALID_DMD                                                     = 8360, 
    	// A local object with this GUID (dead or alive) already exists.
    	DS_OBJ_GUID_EXISTS                                                 = 8361, 
    	// The operation cannot be performed on a back link.
    	DS_NOT_ON_BACKLINK                                                 = 8362, 
    	// The cross reference for the specified naming context could not be found.
    	DS_NO_CROSSREF_FOR_NC                                              = 8363, 
    	// The operation could not be performed because the directory service is shutting down.
    	DS_SHUTTING_DOWN                                                   = 8364, 
    	// The directory service request is invalid.
    	DS_UNKNOWN_OPERATION                                               = 8365, 
    	// The role owner attribute could not be read.
    	DS_INVALID_ROLE_OWNER                                              = 8366, 
    	// The requested FSMO operation failed. The current FSMO holder could not be contacted.
    	DS_COULDNT_CONTACT_FSMO                                            = 8367, 
    	// Modification of a DN across a naming context is not permitted.
    	DS_CROSS_NC_DN_RENAME                                              = 8368, 
    	// The attribute cannot be modified because it is owned by the system.
    	DS_CANT_MOD_SYSTEM_ONLY                                            = 8369, 
    	// Only the replicator can perform this function.
    	DS_REPLICATOR_ONLY                                                 = 8370, 
    	// The specified class is not defined.
    	DS_OBJ_CLASS_NOT_DEFINED                                           = 8371, 
    	// The specified class is not a subclass.
    	DS_OBJ_CLASS_NOT_SUBCLASS                                          = 8372, 
    	// The name reference is invalid.
    	DS_NAME_REFERENCE_INVALID                                          = 8373, 
    	// A cross reference already exists.
    	DS_CROSS_REF_EXISTS                                                = 8374, 
    	// It is not permitted to delete a master cross reference.
    	DS_CANT_DEL_MASTER_CROSSREF                                        = 8375, 
    	// Subtree notifications are only supported on NC heads.
    	DS_SUBTREE_NOTIFY_NOT_NC_HEAD                                      = 8376, 
    	// Notification filter is too complex.
    	DS_NOTIFY_FILTER_TOO_COMPLEX                                       = 8377, 
    	// Schema update failed: duplicate RDN.
    	DS_DUP_RDN                                                         = 8378, 
    	// Schema update failed: duplicate OID.
    	DS_DUP_OID                                                         = 8379, 
    	// Schema update failed: duplicate MAPI identifier.
    	DS_DUP_MAPI_ID                                                     = 8380, 
    	// Schema update failed: duplicate schema-id GUID.
    	DS_DUP_SCHEMA_ID_GUID                                              = 8381, 
    	// Schema update failed: duplicate LDAP display name.
    	DS_DUP_LDAP_DISPLAY_NAME                                           = 8382, 
    	// Schema update failed: range-lower less than range upper.
    	DS_SEMANTIC_ATT_TEST                                               = 8383, 
    	// Schema update failed: syntax mismatch.
    	DS_SYNTAX_MISMATCH                                                 = 8384, 
    	// Schema deletion failed: attribute is used in must-contain.
    	DS_EXISTS_IN_MUST_HAVE                                             = 8385, 
    	// Schema deletion failed: attribute is used in may-contain.
    	DS_EXISTS_IN_MAY_HAVE                                              = 8386, 
    	// Schema update failed: attribute in may-contain does not exist.
    	DS_NONEXISTENT_MAY_HAVE                                            = 8387, 
    	// Schema update failed: attribute in must-contain does not exist.
    	DS_NONEXISTENT_MUST_HAVE                                           = 8388, 
    	// Schema update failed: class in aux-class list does not exist or is not an auxiliary class.
    	DS_AUX_CLS_TEST_FAIL                                               = 8389, 
    	// Schema update failed: class in poss-superiors does not exist.
    	DS_NONEXISTENT_POSS_SUP                                            = 8390, 
    	// Schema update failed: class in subclassof list does not exist or does not satisfy hierarchy rules.
    	DS_SUB_CLS_TEST_FAIL                                               = 8391, 
    	// Schema update failed: Rdn-Att-Id has wrong syntax.
    	DS_BAD_RDN_ATT_ID_SYNTAX                                           = 8392, 
    	// Schema deletion failed: class is used as auxiliary class.
    	DS_EXISTS_IN_AUX_CLS                                               = 8393, 
    	// Schema deletion failed: class is used as sub class.
    	DS_EXISTS_IN_SUB_CLS                                               = 8394, 
    	// Schema deletion failed: class is used as poss superior.
    	DS_EXISTS_IN_POSS_SUP                                              = 8395, 
    	// Schema update failed in recalculating validation cache.
    	DS_RECALCSCHEMA_FAILED                                             = 8396, 
    	// The tree deletion is not finished. The request must be made again to continue deleting the tree.
    	DS_TREE_DELETE_NOT_FINISHED                                        = 8397, 
    	// The requested delete operation could not be performed.
    	DS_CANT_DELETE                                                     = 8398, 
    	// Cannot read the governs class identifier for the schema record.
    	DS_ATT_SCHEMA_REQ_ID                                               = 8399, 
    	// The attribute schema has bad syntax.
    	DS_BAD_ATT_SCHEMA_SYNTAX                                           = 8400, 
    	// The attribute could not be cached.
    	DS_CANT_CACHE_ATT                                                  = 8401, 
    	// The class could not be cached.
    	DS_CANT_CACHE_CLASS                                                = 8402, 
    	// The attribute could not be removed from the cache.
    	DS_CANT_REMOVE_ATT_CACHE                                           = 8403, 
    	// The class could not be removed from the cache.
    	DS_CANT_REMOVE_CLASS_CACHE                                         = 8404, 
    	// The distinguished name attribute could not be read.
    	DS_CANT_RETRIEVE_DN                                                = 8405, 
    	// 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                                                  = 8406, 
    	// The instance type attribute could not be retrieved.
    	DS_CANT_RETRIEVE_INSTANCE                                          = 8407, 
    	// An internal error has occurred.
    	DS_CODE_INCONSISTENCY                                              = 8408, 
    	// A database error has occurred.
    	DS_DATABASE_ERROR                                                  = 8409, 
    	// The attribute GOVERNSID is missing.
    	DS_GOVERNSID_MISSING                                               = 8410, 
    	// An expected attribute is missing.
    	DS_MISSING_EXPECTED_ATT                                            = 8411, 
    	// The specified naming context is missing a cross reference.
    	DS_NCNAME_MISSING_CR_REF                                           = 8412, 
    	// A security checking error has occurred.
    	DS_SECURITY_CHECKING_ERROR                                         = 8413, 
    	// The schema is not loaded.
    	DS_SCHEMA_NOT_LOADED                                               = 8414, 
    	// Schema allocation failed. Please check if the machine is running low on memory.
    	DS_SCHEMA_ALLOC_FAILED                                             = 8415, 
    	// Failed to obtain the required syntax for the attribute schema.
    	DS_ATT_SCHEMA_REQ_SYNTAX                                           = 8416, 
    	// 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                                                  = 8417, 
    	// The replication operation failed because of a schema mismatch between the servers involved.
    	DS_DRA_SCHEMA_MISMATCH                                             = 8418, 
    	// The DSA object could not be found.
    	DS_CANT_FIND_DSA_OBJ                                               = 8419, 
    	// The naming context could not be found.
    	DS_CANT_FIND_EXPECTED_NC                                           = 8420, 
    	// The naming context could not be found in the cache.
    	DS_CANT_FIND_NC_IN_CACHE                                           = 8421, 
    	// The child object could not be retrieved.
    	DS_CANT_RETRIEVE_CHILD                                             = 8422, 
    	// The modification was not permitted for security reasons.
    	DS_SECURITY_ILLEGAL_MODIFY                                         = 8423, 
    	// The operation cannot replace the hidden record.
    	DS_CANT_REPLACE_HIDDEN_REC                                         = 8424, 
    	// The hierarchy file is invalid.
    	DS_BAD_HIERARCHY_FILE                                              = 8425, 
    	// The attempt to build the hierarchy table failed.
    	DS_BUILD_HIERARCHY_TABLE_FAILED                                    = 8426, 
    	// The directory configuration parameter is missing from the registry.
    	DS_CONFIG_PARAM_MISSING                                            = 8427, 
    	// The attempt to count the address book indices failed.
    	DS_COUNTING_AB_INDICES_FAILED                                      = 8428, 
    	// The allocation of the hierarchy table failed.
    	DS_HIERARCHY_TABLE_MALLOC_FAILED                                   = 8429, 
    	// The directory service encountered an internal failure.
    	DS_INTERNAL_FAILURE                                                = 8430, 
    	// The directory service encountered an unknown failure.
    	DS_UNKNOWN_ERROR                                                   = 8431, 
    	// A root object requires a class of 'top'.
    	DS_ROOT_REQUIRES_CLASS_TOP                                         = 8432, 
    	// This directory server is shutting down, and cannot take ownership of new floating single-master operation roles.
    	DS_REFUSING_FSMO_ROLES                                             = 8433, 
    	// 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                                           = 8434, 
    	// 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                                       = 8435, 
    	// The replication operation failed.
    	DS_DRA_GENERIC                                                     = 8436, 
    	// An invalid parameter was specified for this replication operation.
    	DS_DRA_INVALID_PARAMETER                                           = 8437, 
    	// The directory service is too busy to complete the replication operation at this time.
    	DS_DRA_BUSY                                                        = 8438, 
    	// The distinguished name specified for this replication operation is invalid.
    	DS_DRA_BAD_DN                                                      = 8439, 
    	// The naming context specified for this replication operation is invalid.
    	DS_DRA_BAD_NC                                                      = 8440, 
    	// The distinguished name specified for this replication operation already exists.
    	DS_DRA_DN_EXISTS                                                   = 8441, 
    	// The replication system encountered an internal error.
    	DS_DRA_INTERNAL_ERROR                                              = 8442, 
    	// The replication operation encountered a database inconsistency.
    	DS_DRA_INCONSISTENT_DIT                                            = 8443, 
    	// The server specified for this replication operation could not be contacted.
    	DS_DRA_CONNECTION_FAILED                                           = 8444, 
    	// The replication operation encountered an object with an invalid instance type.
    	DS_DRA_BAD_INSTANCE_TYPE                                           = 8445, 
    	// The replication operation failed to allocate memory.
    	DS_DRA_OUT_OF_MEM                                                  = 8446, 
    	// The replication operation encountered an error with the mail system.
    	DS_DRA_MAIL_PROBLEM                                                = 8447, 
    	// The replication reference information for the target server already exists.
    	DS_DRA_REF_ALREADY_EXISTS                                          = 8448, 
    	// The replication reference information for the target server does not exist.
    	DS_DRA_REF_NOT_FOUND                                               = 8449, 
    	// The naming context cannot be removed because it is replicated to another server.
    	DS_DRA_OBJ_IS_REP_SOURCE                                           = 8450, 
    	// The replication operation encountered a database error.
    	DS_DRA_DB_ERROR                                                    = 8451, 
    	// The naming context is in the process of being removed or is not replicated from the specified server.
    	DS_DRA_NO_REPLICA                                                  = 8452, 
    	// Replication access was denied.
    	DS_DRA_ACCESS_DENIED                                               = 8453, 
    	// The requested operation is not supported by this version of the directory service.
    	DS_DRA_NOT_SUPPORTED                                               = 8454, 
    	// The replication remote procedure call was cancelled.
    	DS_DRA_RPC_CANCELLED                                               = 8455, 
    	// The source server is currently rejecting replication requests.
    	DS_DRA_SOURCE_DISABLED                                             = 8456, 
    	// The destination server is currently rejecting replication requests.
    	DS_DRA_SINK_DISABLED                                               = 8457, 
    	// The replication operation failed due to a collision of object names.
    	DS_DRA_NAME_COLLISION                                              = 8458, 
    	// The replication source has been reinstalled.
    	DS_DRA_SOURCE_REINSTALLED                                          = 8459, 
    	// The replication operation failed because a required parent object is missing.
    	DS_DRA_MISSING_PARENT                                              = 8460, 
    	// The replication operation was preempted.
    	DS_DRA_PREEMPTED                                                   = 8461, 
    	// The replication synchronization attempt was abandoned because of a lack of updates.
    	DS_DRA_ABANDON_SYNC                                                = 8462, 
    	// The replication operation was terminated because the system is shutting down.
    	DS_DRA_SHUTDOWN                                                    = 8463, 
    	// 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                                    = 8464, 
    	// The replication synchronization attempt failed because a master replica attempted to sync from a partial replica.
    	DS_DRA_SOURCE_IS_PARTIAL_REPLICA                                   = 8465, 
    	// 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                                      = 8466, 
    	// 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                                         = 8467, 
    	// Schema update failed: An attribute with the same link identifier already exists.
    	DS_DUP_LINK_ID                                                     = 8468, 
    	// Name translation: Generic processing error.
    	DS_NAME_ERROR_RESOLVING                                            = 8469, 
    	// Name translation: Could not find the name or insufficient right to see name.
    	DS_NAME_ERROR_NOT_FOUND                                            = 8470, 
    	// Name translation: Input name mapped to more than one output name.
    	DS_NAME_ERROR_NOT_UNIQUE                                           = 8471, 
    	// Name translation: Input name found, but not the associated output format.
    	DS_NAME_ERROR_NO_MAPPING                                           = 8472, 
    	// Name translation: Unable to resolve completely, only the domain was found.
    	DS_NAME_ERROR_DOMAIN_ONLY                                          = 8473, 
    	// Name translation: Unable to perform purely syntactical mapping at the client without going out to the wire.
    	DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING                               = 8474, 
    	// Modification of a constructed attribute is not allowed.
    	DS_CONSTRUCTED_ATT_MOD                                             = 8475, 
    	// The OM-Object-Class specified is incorrect for an attribute with the specified syntax.
    	DS_WRONG_OM_OBJ_CLASS                                              = 8476, 
    	// The replication request has been posted; waiting for reply.
    	DS_DRA_REPL_PENDING                                                = 8477, 
    	// The requested operation requires a directory service, and none was available.
    	DS_DS_REQUIRED                                                     = 8478, 
    	// The LDAP display name of the class or attribute contains non-ASCII characters.
    	DS_INVALID_LDAP_DISPLAY_NAME                                       = 8479, 
    	// The requested search operation is only supported for base searches.
    	DS_NON_BASE_SEARCH                                                 = 8480, 
    	// The search failed to retrieve attributes from the database.
    	DS_CANT_RETRIEVE_ATTS                                              = 8481, 
    	// The schema update operation tried to add a backward link attribute that has no corresponding forward link.
    	DS_BACKLINK_WITHOUT_LINK                                           = 8482, 
    	// 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                                                  = 8483, 
    	// 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                                               = 8484, 
    	// 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                                        = 8485, 
    	// 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                                                 = 8486, 
    	// Destination of a cross-domain move is not authoritative for the destination naming context.
    	DS_NOT_AUTHORITIVE_FOR_DST_NC                                      = 8487, 
    	// 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                                               = 8488, 
    	// 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                                        = 8489, 
    	// Another operation which requires exclusive access to the PDC FSMO is already in progress.
    	DS_PDC_OPERATION_IN_PROGRESS                                       = 8490, 
    	// 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                                       = 8491, 
    	// 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                                     = 8492, 
    	// 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                                 = 8493, 
    	// 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                                          = 8494, 
    	// 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                                       = 8495, 
    	// Destination domain must be in native mode.
    	DS_DST_DOMAIN_NOT_NATIVE                                           = 8496, 
    	// The operation cannot be performed because the server does not have an infrastructure container in the domain of interest.
    	DS_MISSING_INFRASTRUCTURE_CONTAINER                                = 8497, 
    	// Cross-domain move of non-empty account groups is not allowed.
    	DS_CANT_MOVE_ACCOUNT_GROUP                                         = 8498, 
    	// Cross-domain move of non-empty resource groups is not allowed.
    	DS_CANT_MOVE_RESOURCE_GROUP                                        = 8499, 
    	// 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                                             = 8500, 
    	// Tree deletions starting at an object which has an NC head as a descendant are not allowed.
    	DS_NO_TREE_DELETE_ABOVE_NC                                         = 8501, 
    	// 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                                    = 8502, 
    	// The directory service failed to identify the list of objects to delete while attempting a tree deletion.
    	DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE                        = 8503, 
    	// 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                                                = 8504, 
    	// Only an administrator can modify the membership list of an administrative group.
    	DS_SENSITIVE_GROUP_VIOLATION                                       = 8505, 
    	// Cannot change the primary group ID of a domain controller account.
    	DS_CANT_MOD_PRIMARYGROUPID                                         = 8506, 
    	// An attempt is made to modify the base schema.
    	DS_ILLEGAL_BASE_SCHEMA_MOD                                         = 8507, 
    	// 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                                           = 8508, 
    	// Schema update is not allowed on this DC because the DC is not the schema FSMO Role Owner.
    	DS_SCHEMA_UPDATE_DISALLOWED                                        = 8509, 
    	// 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                                        = 8510, 
    	// 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                                      = 8511, 
    	// 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                               = 8512, 
    	// The specified group type is invalid.
    	DS_INVALID_GROUP_TYPE                                              = 8513, 
    	// You cannot nest global groups in a mixed domain if the group is security-enabled.
    	DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN                              = 8514, 
    	// You cannot nest local groups in a mixed domain if the group is security-enabled.
    	DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN                               = 8515, 
    	// A global group cannot have a local group as a member.
    	DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER                                   = 8516, 
    	// A global group cannot have a universal group as a member.
    	DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER                               = 8517, 
    	// A universal group cannot have a local group as a member.
    	DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER                                = 8518, 
    	// A global group cannot have a cross-domain member.
    	DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER                             = 8519, 
    	// A local group cannot have another cross domain local group as a member.
    	DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER                        = 8520, 
    	// A group with primary members cannot change to a security-disabled group.
    	DS_HAVE_PRIMARY_MEMBERS                                            = 8521, 
    	// The schema cache load failed to convert the string default SD on a class-schema object.
    	DS_STRING_SD_CONVERSION_FAILED                                     = 8522, 
    	// 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                                                = 8523, 
    	// The DSA operation is unable to proceed because of a DNS lookup failure.
    	DS_DNS_LOOKUP_FAILURE                                              = 8524, 
    	// 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                                             = 8525, 
    	// The Security Descriptor attribute could not be read.
    	DS_CANT_RETRIEVE_SD                                                = 8526, 
    	// The object requested was not found, but an object with that key was found.
    	DS_KEY_NOT_UNIQUE                                                  = 8527, 
    	// 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                                         = 8528, 
    	// Security Account Manager needs to get the boot password.
    	DS_SAM_NEED_BOOTKEY_PASSWORD                                       = 8529, 
    	// Security Account Manager needs to get the boot key from floppy disk.
    	DS_SAM_NEED_BOOTKEY_FLOPPY                                         = 8530, 
    	// Directory Service cannot start.
    	DS_CANT_START                                                      = 8531, 
    	// Directory Services could not start.
    	DS_INIT_FAILURE                                                    = 8532, 
    	// The connection between client and server requires packet privacy or better.
    	DS_NO_PKT_PRIVACY_ON_CONNECTION                                    = 8533, 
    	// The source domain may not be in the same forest as destination.
    	DS_SOURCE_DOMAIN_IN_FOREST                                         = 8534, 
    	// The destination domain must be in the forest.
    	DS_DESTINATION_DOMAIN_NOT_IN_FOREST                                = 8535, 
    	// The operation requires that destination domain auditing be enabled.
    	DS_DESTINATION_AUDITING_NOT_ENABLED                                = 8536, 
    	// The operation couldn't locate a DC for the source domain.
    	DS_CANT_FIND_DC_FOR_SRC_DOMAIN                                     = 8537, 
    	// The source object must be a group or user.
    	DS_SRC_OBJ_NOT_GROUP_OR_USER                                       = 8538, 
    	// The source object's SID already exists in destination forest.
    	DS_SRC_SID_EXISTS_IN_FOREST                                        = 8539, 
    	// The source and destination object must be of the same type.
    	DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH                               = 8540, 
    	// 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                                                   = 8541, 
    	// Schema information could not be included in the replication request.
    	DS_DRA_SCHEMA_INFO_SHIP                                            = 8542, 
    	// The replication operation could not be completed due to a schema incompatibility.
    	DS_DRA_SCHEMA_CONFLICT                                             = 8543, 
    	// The replication operation could not be completed due to a previous schema incompatibility.
    	DS_DRA_EARLIER_SCHEMA_CONFLICT                                     = 8544, 
    	// 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                                             = 8545, 
    	// The requested domain could not be deleted because there exist domain controllers that still host this domain.
    	DS_NC_STILL_HAS_DSAS                                               = 8546, 
    	// The requested operation can be performed only on a global catalog server.
    	DS_GC_REQUIRED                                                     = 8547, 
    	// A local group can only be a member of other local groups in the same domain.
    	DS_LOCAL_MEMBER_OF_LOCAL_ONLY                                      = 8548, 
    	// Foreign security principals cannot be members of universal groups.
    	DS_NO_FPO_IN_UNIVERSAL_GROUPS                                      = 8549, 
    	// The attribute is not allowed to be replicated to the GC because of security reasons.
    	DS_CANT_ADD_TO_GC                                                  = 8550, 
    	// The checkpoint with the PDC could not be taken because there too many modifications being processed currently.
    	DS_NO_CHECKPOINT_WITH_PDC                                          = 8551, 
    	// The operation requires that source domain auditing be enabled.
    	DS_SOURCE_AUDITING_NOT_ENABLED                                     = 8552, 
    	// Security principal objects can only be created inside domain naming contexts.
    	DS_CANT_CREATE_IN_NONDOMAIN_NC                                     = 8553, 
    	// A Service Principal Name (SPN) could not be constructed because the provided hostname is not in the necessary format.
    	DS_INVALID_NAME_FOR_SPN                                            = 8554, 
    	// A Filter was passed that uses constructed attributes.
    	DS_FILTER_USES_CONTRUCTED_ATTRS                                    = 8555, 
    	// The unicodePwd attribute value must be enclosed in double quotes.
    	DS_UNICODEPWD_NOT_IN_QUOTES                                        = 8556, 
    	// 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                                  = 8557, 
    	// For security reasons, the operation must be run on the destination DC.
    	DS_MUST_BE_RUN_ON_DST_DC                                           = 8558, 
    	// For security reasons, the source DC must be NT4SP4 or greater.
    	DS_SRC_DC_MUST_BE_SP4_OR_GREATER                                   = 8559, 
    	// 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                                   = 8560, 
    	// 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                                            = 8561, 
    	// 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                                        = 8562, 
    	// 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                                         = 8563, 
    	// 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                                         = 8564, 
    	// 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                                          = 8565, 
    	// 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                                          = 8566, 
    	// The version of the operating system installed on this server is incompatible with the functional level of the domain or forest.
    	DS_INCOMPATIBLE_VERSION                                            = 8567, 
    	// 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                                                 = 8568, 
    	// 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                              = 8569, 
    	// The sort order requested is not supported.
    	DS_NOT_SUPPORTED_SORT_ORDER                                        = 8570, 
    	// The requested name already exists as a unique identifier.
    	DS_NAME_NOT_UNIQUE                                                 = 8571, 
    	// The machine account was created pre-NT4. The account needs to be recreated.
    	DS_MACHINE_ACCOUNT_CREATED_PRENT4                                  = 8572, 
    	// The database is out of version store.
    	DS_OUT_OF_VERSION_STORE                                            = 8573, 
    	// Unable to continue operation because multiple conflicting controls were used.
    	DS_INCOMPATIBLE_CONTROLS_USED                                      = 8574, 
    	// Unable to find a valid security descriptor reference domain for this partition.
    	DS_NO_REF_DOMAIN                                                   = 8575, 
    	// Schema update failed: The link identifier is reserved.
    	DS_RESERVED_LINK_ID                                                = 8576, 
    	// Schema update failed: There are no link identifiers available.
    	DS_LINK_ID_NOT_AVAILABLE                                           = 8577, 
    	// An account group cannot have a universal group as a member.
    	DS_AG_CANT_HAVE_UNIVERSAL_MEMBER                                   = 8578, 
    	// Rename or move operations on naming context heads or read-only objects are not allowed.
    	DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE                            = 8579, 
    	// Move operations on objects in the schema naming context are not allowed.
    	DS_NO_OBJECT_MOVE_IN_SCHEMA_NC                                     = 8580, 
    	// 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                                     = 8581, 
    	// 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                                      = 8582, 
    	// Unable to resolve completely, a referral to another forest is generated.
    	DS_NAME_ERROR_TRUST_REFERRAL                                       = 8583, 
    	// The requested action is not supported on standard server.
    	NOT_SUPPORTED_ON_STANDARD_SERVER                                   = 8584, 
    	// 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                                   = 8585, 
    	// 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                                    = 8586, 
    	// The thread limit for this request was exceeded.
    	DS_THREAD_LIMIT_EXCEEDED                                           = 8587, 
    	// The Global catalog server is not in the closest site.
    	DS_NOT_CLOSEST                                                     = 8588, 
    	// 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                              = 8589, 
    	// The Directory Service failed to enter single user mode.
    	DS_SINGLE_USER_MODE_FAILED                                         = 8590, 
    	// The Directory Service cannot parse the script because of a syntax error.
    	DS_NTDSCRIPT_SYNTAX_ERROR                                          = 8591, 
    	// The Directory Service cannot process the script because of an error.
    	DS_NTDSCRIPT_PROCESS_ERROR                                         = 8592, 
    	// 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                                           = 8593, 
    	// The directory service binding must be renegotiated due to a change in the server extensions information.
    	DS_DRS_EXTENSIONS_CHANGED                                          = 8594, 
    	// Operation not allowed on a disabled cross ref.
    	DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR                   = 8595, 
    	// Schema update failed: No values for msDS-IntId are available.
    	DS_NO_MSDS_INTID                                                   = 8596, 
    	// Schema update failed: Duplicate msDS-INtId. Retry the operation.
    	DS_DUP_MSDS_INTID                                                  = 8597, 
    	// Schema deletion failed: attribute is used in rDNAttID.
    	DS_EXISTS_IN_RDNATTID                                              = 8598, 
    	// The directory service failed to authorize the request.
    	DS_AUTHORIZATION_FAILED                                            = 8599, 
    	// The Directory Service cannot process the script because it is invalid.
    	DS_INVALID_SCRIPT                                                  = 8600, 
    	// 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                                       = 8601, 
    	// A cross reference is in use locally with the same name.
    	DS_CROSS_REF_BUSY                                                  = 8602, 
    	// 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                              = 8603, 
    	// Writeable NCs prevent this DC from demoting.
    	DS_CANT_DEMOTE_WITH_WRITEABLE_NC                                   = 8604, 
    	// The requested object has a non-unique identifier and cannot be retrieved.
    	DS_DUPLICATE_ID_FOUND                                              = 8605, 
    	// 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                              = 8606, 
    	// The group cannot be converted due to attribute restrictions on the requested group type.
    	DS_GROUP_CONVERSION_ERROR                                          = 8607, 
    	// Cross-domain move of non-empty basic application groups is not allowed.
    	DS_CANT_MOVE_APP_BASIC_GROUP                                       = 8608, 
    	// Cross-domain move of non-empty query based application groups is not allowed.
    	DS_CANT_MOVE_APP_QUERY_GROUP                                       = 8609, 
    	// 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                                               = 8610, 
    	// The target container for a redirection of a well known object container cannot already be a special container.
    	DS_WKO_CONTAINER_CANNOT_BE_SPECIAL                                 = 8611, 
    	// The Directory Service cannot perform the requested operation because a domain rename operation is in progress.
    	DS_DOMAIN_RENAME_IN_PROGRESS                                       = 8612, 
    	// 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                                            = 8613, 
    	// 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                                          = 8614, 
    	// The requested operation is not allowed on an object under the system container.
    	DS_DISALLOWED_IN_SYSTEM_CONTAINER                                  = 8615, 
    	// 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                                            = 8616, 
    	// 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                                         = 8617, 
    	// 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                                                = 8618, 
    	// The site settings object for the specified site does not exist.
    	NO_SITE_SETTINGS_OBJECT                                            = 8619, 
    	// The local account store does not contain secret material for the specified account.
    	NO_SECRETS                                                         = 8620, 
    	// Could not find a writable domain controller in the domain.
    	NO_WRITABLE_DC_FOUND                                               = 8621, 
    	// The server object for the domain controller does not exist.
    	DS_NO_SERVER_OBJECT                                                = 8622, 
    	// The NTDS Settings object for the domain controller does not exist.
    	DS_NO_NTDSA_OBJECT                                                 = 8623, 
    	// The requested search operation is not supported for ASQ searches.
    	DS_NON_ASQ_SEARCH                                                  = 8624, 
    	// A required audit event could not be generated for the operation.
    	DS_AUDIT_FAILURE                                                   = 8625, 
    	// The search flags for the attribute are invalid. The subtree index bit is valid only on single valued attributes.
    	DS_INVALID_SEARCH_FLAG_SUBTREE                                     = 8626, 
    	// 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                                       = 8627, 
    	// The address books are nested too deeply. Failed to build the hierarchy table.
    	DS_HIERARCHY_TABLE_TOO_DEEP                                        = 8628, 
    	// The specified up-to-date-ness vector is corrupt.
    	DS_DRA_CORRUPT_UTD_VECTOR                                          = 8629, 
    	// The request to replicate secrets is denied.
    	DS_DRA_SECRETS_DENIED                                              = 8630, 
    	// Schema update failed: The MAPI identifier is reserved.
    	DS_RESERVED_MAPI_ID                                                = 8631, 
    	// Schema update failed: There are no MAPI identifiers available.
    	DS_MAPI_ID_NOT_AVAILABLE                                           = 8632, 
    	// The replication operation failed because the required attributes of the local krbtgt object are missing.
    	DS_DRA_MISSING_KRBTGT_SECRET                                       = 8633, 
    	// The domain name of the trusted domain already exists in the forest.
    	DS_DOMAIN_NAME_EXISTS_IN_FOREST                                    = 8634, 
    	// The flat name of the trusted domain already exists in the forest.
    	DS_FLAT_NAME_EXISTS_IN_FOREST                                      = 8635, 
    	// The User Principal Name (UPN) is invalid.
    	INVALID_USER_PRINCIPAL_NAME                                        = 8636, 
    	// OID mapped groups cannot have members.
    	DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS                              = 8637, 
    	// The specified OID cannot be found.
    	DS_OID_NOT_FOUND                                                   = 8638, 
    	// The replication operation failed because the target object referred by a link value is recycled.
    	DS_DRA_RECYCLED_TARGET                                             = 8639, 
    	// 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                                          = 8640, 
    	// The functional level of the AD LDS configuration set cannot be lowered to the requested value.
    	DS_HIGH_ADLDS_FFL                                                  = 8641, 
    	// The functional level of the domain (or forest) cannot be lowered to the requested value.
    	DS_HIGH_DSA_VERSION                                                = 8642, 
    	// 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                                                   = 8643, 
    	// 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                               = 8644, 
    	// 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                                  = 8645, 
    	// 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                                             = 8646, 
    	// DNS server unable to interpret format.
    	DNS_ERROR_RCODE_FORMAT_ERROR                                       = 9001, 
    	// DNS server failure.
    	DNS_ERROR_RCODE_SERVER_FAILURE                                     = 9002, 
    	// DNS name does not exist.
    	DNS_ERROR_RCODE_NAME_ERROR                                         = 9003, 
    	// DNS request not supported by name server.
    	DNS_ERROR_RCODE_NOT_IMPLEMENTED                                    = 9004, 
    	// DNS operation refused.
    	DNS_ERROR_RCODE_REFUSED                                            = 9005, 
    	// DNS name that ought not exist, does exist.
    	DNS_ERROR_RCODE_YXDOMAIN                                           = 9006, 
    	// DNS RR set that ought not exist, does exist.
    	DNS_ERROR_RCODE_YXRRSET                                            = 9007, 
    	// DNS RR set that ought to exist, does not exist.
    	DNS_ERROR_RCODE_NXRRSET                                            = 9008, 
    	// DNS server not authoritative for zone.
    	DNS_ERROR_RCODE_NOTAUTH                                            = 9009, 
    	// DNS name in update or prereq is not in zone.
    	DNS_ERROR_RCODE_NOTZONE                                            = 9010, 
    	// DNS signature failed to verify.
    	DNS_ERROR_RCODE_BADSIG                                             = 9016, 
    	// DNS bad key.
    	DNS_ERROR_RCODE_BADKEY                                             = 9017, 
    	// DNS signature validity expired.
    	DNS_ERROR_RCODE_BADTIME                                            = 9018, 
    	// Only the DNS server acting as the key master for the zone may perform this operation.
    	DNS_ERROR_KEYMASTER_REQUIRED                                       = 9101, 
    	// This operation is not allowed on a zone that is signed or has signing keys.
    	DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE                               = 9102, 
    	// 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                         = 9103, 
    	// 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                       = 9104, 
    	// The specified algorithm is not supported.
    	DNS_ERROR_UNSUPPORTED_ALGORITHM                                    = 9105, 
    	// The specified key size is not supported.
    	DNS_ERROR_INVALID_KEY_SIZE                                         = 9106, 
    	// 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                               = 9107, 
    	// 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                          = 9108, 
    	// An unexpected DPAPI++ error was encountered. Zone signing will not be operational until this error is resolved.
    	DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR                         = 9109, 
    	// An unexpected crypto error was encountered. Zone signing may not be operational until this error is resolved.
    	DNS_ERROR_UNEXPECTED_CNG_ERROR                                     = 9110, 
    	// 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                        = 9111, 
    	// The specified key service provider cannot be opened by the DNS server.
    	DNS_ERROR_KSP_NOT_ACCESSIBLE                                       = 9112, 
    	// 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                                            = 9113, 
    	// The specified rollover period is invalid.
    	DNS_ERROR_INVALID_ROLLOVER_PERIOD                                  = 9114, 
    	// The specified initial rollover offset is invalid.
    	DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET                          = 9115, 
    	// The specified signing key is already in process of rolling over keys.
    	DNS_ERROR_ROLLOVER_IN_PROGRESS                                     = 9116, 
    	// The specified signing key does not have a standby key to revoke.
    	DNS_ERROR_STANDBY_KEY_NOT_PRESENT                                  = 9117, 
    	// This operation is not allowed on a zone signing key (ZSK).
    	DNS_ERROR_NOT_ALLOWED_ON_ZSK                                       = 9118, 
    	// This operation is not allowed on an active signing key.
    	DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD                                = 9119, 
    	// The specified signing key is already queued for rollover.
    	DNS_ERROR_ROLLOVER_ALREADY_QUEUED                                  = 9120, 
    	// This operation is not allowed on an unsigned zone.
    	DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE                             = 9121, 
    	// 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                                            = 9122, 
    	// The specified signature validity period is invalid.
    	DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD                        = 9123, 
    	// The specified NSEC3 iteration count is higher than allowed by the minimum key length used in the zone.
    	DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT                            = 9124, 
    	// 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                                       = 9125, 
    	// This operation could not be completed because the XML stream received is empty or syntactically invalid.
    	DNS_ERROR_INVALID_XML                                              = 9126, 
    	// 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                                   = 9127, 
    	// The specified signing key is not waiting for parental DS update.
    	DNS_ERROR_ROLLOVER_NOT_POKEABLE                                    = 9128, 
    	// 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                                     = 9129, 
    	// 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                    = 9130, 
    	// No records found for given DNS query.
    	DNS_INFO_NO_RECORDS                                                = 9501, 
    	// Bad DNS packet.
    	DNS_ERROR_BAD_PACKET                                               = 9502, 
    	// No DNS packet.
    	DNS_ERROR_NO_PACKET                                                = 9503, 
    	// DNS error, check rcode.
    	DNS_ERROR_RCODE                                                    = 9504, 
    	// Unsecured DNS packet.
    	DNS_ERROR_UNSECURE_PACKET                                          = 9505, 
    	// DNS query request is pending.
    	DNS_REQUEST_PENDING                                                = 9506, 
    	// Invalid DNS type.
    	DNS_ERROR_INVALID_TYPE                                             = 9551, 
    	// Invalid IP address.
    	DNS_ERROR_INVALID_IP_ADDRESS                                       = 9552, 
    	// Invalid property.
    	DNS_ERROR_INVALID_PROPERTY                                         = 9553, 
    	// Try DNS operation again later.
    	DNS_ERROR_TRY_AGAIN_LATER                                          = 9554, 
    	// Record for given name and type is not unique.
    	DNS_ERROR_NOT_UNIQUE                                               = 9555, 
    	// DNS name does not comply with RFC specifications.
    	DNS_ERROR_NON_RFC_NAME                                             = 9556, 
    	// DNS name is a fully-qualified DNS name.
    	DNS_STATUS_FQDN                                                    = 9557, 
    	// DNS name is dotted (multi-label).
    	DNS_STATUS_DOTTED_NAME                                             = 9558, 
    	// DNS name is a single-part name.
    	DNS_STATUS_SINGLE_PART_NAME                                        = 9559, 
    	// DNS name contains an invalid character.
    	DNS_ERROR_INVALID_NAME_CHAR                                        = 9560, 
    	// DNS name is entirely numeric.
    	DNS_ERROR_NUMERIC_NAME                                             = 9561, 
    	// The operation requested is not permitted on a DNS root server.
    	DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER                               = 9562, 
    	// 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                             = 9563, 
    	// The DNS server could not find a set of root hints.
    	DNS_ERROR_CANNOT_FIND_ROOT_HINTS                                   = 9564, 
    	// The DNS server found root hints but they were not consistent across all adapters.
    	DNS_ERROR_INCONSISTENT_ROOT_HINTS                                  = 9565, 
    	// The specified value is too small for this parameter.
    	DNS_ERROR_DWORD_VALUE_TOO_SMALL                                    = 9566, 
    	// The specified value is too large for this parameter.
    	DNS_ERROR_DWORD_VALUE_TOO_LARGE                                    = 9567, 
    	// This operation is not allowed while the DNS server is loading zones in the background. Please try again later.
    	DNS_ERROR_BACKGROUND_LOADING                                       = 9568, 
    	// The operation requested is not permitted on against a DNS server running on a read-only DC.
    	DNS_ERROR_NOT_ALLOWED_ON_RODC                                      = 9569, 
    	// No data is allowed to exist underneath a DNAME record.
    	DNS_ERROR_NOT_ALLOWED_UNDER_DNAME                                  = 9570, 
    	// This operation requires credentials delegation.
    	DNS_ERROR_DELEGATION_REQUIRED                                      = 9571, 
    	// Name resolution policy table has been corrupted. DNS resolution will fail until it is fixed. Contact your network administrator.
    	DNS_ERROR_INVALID_POLICY_TABLE                                     = 9572, 
    	// DNS zone does not exist.
    	DNS_ERROR_ZONE_DOES_NOT_EXIST                                      = 9601, 
    	// DNS zone information not available.
    	DNS_ERROR_NO_ZONE_INFO                                             = 9602, 
    	// Invalid operation for DNS zone.
    	DNS_ERROR_INVALID_ZONE_OPERATION                                   = 9603, 
    	// Invalid DNS zone configuration.
    	DNS_ERROR_ZONE_CONFIGURATION_ERROR                                 = 9604, 
    	// DNS zone has no start of authority (SOA) record.
    	DNS_ERROR_ZONE_HAS_NO_SOA_RECORD                                   = 9605, 
    	// DNS zone has no Name Server (NS) record.
    	DNS_ERROR_ZONE_HAS_NO_NS_RECORDS                                   = 9606, 
    	// DNS zone is locked.
    	DNS_ERROR_ZONE_LOCKED                                              = 9607, 
    	// DNS zone creation failed.
    	DNS_ERROR_ZONE_CREATION_FAILED                                     = 9608, 
    	// DNS zone already exists.
    	DNS_ERROR_ZONE_ALREADY_EXISTS                                      = 9609, 
    	// DNS automatic zone already exists.
    	DNS_ERROR_AUTOZONE_ALREADY_EXISTS                                  = 9610, 
    	// Invalid DNS zone type.
    	DNS_ERROR_INVALID_ZONE_TYPE                                        = 9611, 
    	// Secondary DNS zone requires master IP address.
    	DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP                             = 9612, 
    	// DNS zone not secondary.
    	DNS_ERROR_ZONE_NOT_SECONDARY                                       = 9613, 
    	// Need secondary IP address.
    	DNS_ERROR_NEED_SECONDARY_ADDRESSES                                 = 9614, 
    	// WINS initialization failed.
    	DNS_ERROR_WINS_INIT_FAILED                                         = 9615, 
    	// Need WINS servers.
    	DNS_ERROR_NEED_WINS_SERVERS                                        = 9616, 
    	// NBTSTAT initialization call failed.
    	DNS_ERROR_NBSTAT_INIT_FAILED                                       = 9617, 
    	// Invalid delete of start of authority (SOA).
    	DNS_ERROR_SOA_DELETE_INVALID                                       = 9618, 
    	// A conditional forwarding zone already exists for that name.
    	DNS_ERROR_FORWARDER_ALREADY_EXISTS                                 = 9619, 
    	// This zone must be configured with one or more master DNS server IP addresses.
    	DNS_ERROR_ZONE_REQUIRES_MASTER_IP                                  = 9620, 
    	// The operation cannot be performed because this zone is shut down.
    	DNS_ERROR_ZONE_IS_SHUTDOWN                                         = 9621, 
    	// This operation cannot be performed because the zone is currently being signed. Please try again later.
    	DNS_ERROR_ZONE_LOCKED_FOR_SIGNING                                  = 9622, 
    	// Primary DNS zone requires datafile.
    	DNS_ERROR_PRIMARY_REQUIRES_DATAFILE                                = 9651, 
    	// Invalid datafile name for DNS zone.
    	DNS_ERROR_INVALID_DATAFILE_NAME                                    = 9652, 
    	// Failed to open datafile for DNS zone.
    	DNS_ERROR_DATAFILE_OPEN_FAILURE                                    = 9653, 
    	// Failed to write datafile for DNS zone.
    	DNS_ERROR_FILE_WRITEBACK_FAILED                                    = 9654, 
    	// Failure while reading datafile for DNS zone.
    	DNS_ERROR_DATAFILE_PARSING                                         = 9655, 
    	// DNS record does not exist.
    	DNS_ERROR_RECORD_DOES_NOT_EXIST                                    = 9701, 
    	// DNS record format error.
    	DNS_ERROR_RECORD_FORMAT                                            = 9702, 
    	// Node creation failure in DNS.
    	DNS_ERROR_NODE_CREATION_FAILED                                     = 9703, 
    	// Unknown DNS record type.
    	DNS_ERROR_UNKNOWN_RECORD_TYPE                                      = 9704, 
    	// DNS record timed out.
    	DNS_ERROR_RECORD_TIMED_OUT                                         = 9705, 
    	// Name not in DNS zone.
    	DNS_ERROR_NAME_NOT_IN_ZONE                                         = 9706, 
    	// CNAME loop detected.
    	DNS_ERROR_CNAME_LOOP                                               = 9707, 
    	// Node is a CNAME DNS record.
    	DNS_ERROR_NODE_IS_CNAME                                            = 9708, 
    	// A CNAME record already exists for given name.
    	DNS_ERROR_CNAME_COLLISION                                          = 9709, 
    	// Record only at DNS zone root.
    	DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT                                 = 9710, 
    	// DNS record already exists.
    	DNS_ERROR_RECORD_ALREADY_EXISTS                                    = 9711, 
    	// Secondary DNS zone data error.
    	DNS_ERROR_SECONDARY_DATA                                           = 9712, 
    	// Could not create DNS cache data.
    	DNS_ERROR_NO_CREATE_CACHE_DATA                                     = 9713, 
    	// DNS name does not exist.
    	DNS_ERROR_NAME_DOES_NOT_EXIST                                      = 9714, 
    	// Could not create pointer (PTR) record.
    	DNS_WARNING_PTR_CREATE_FAILED                                      = 9715, 
    	// DNS domain was undeleted.
    	DNS_WARNING_DOMAIN_UNDELETED                                       = 9716, 
    	// The directory service is unavailable.
    	DNS_ERROR_DS_UNAVAILABLE                                           = 9717, 
    	// DNS zone already exists in the directory service.
    	DNS_ERROR_DS_ZONE_ALREADY_EXISTS                                   = 9718, 
    	// DNS server not creating or reading the boot file for the directory service integrated DNS zone.
    	DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE                                   = 9719, 
    	// Node is a DNAME DNS record.
    	DNS_ERROR_NODE_IS_DNAME                                            = 9720, 
    	// A DNAME record already exists for given name.
    	DNS_ERROR_DNAME_COLLISION                                          = 9721, 
    	// An alias loop has been detected with either CNAME or DNAME records.
    	DNS_ERROR_ALIAS_LOOP                                               = 9722, 
    	// DNS AXFR (zone transfer) complete.
    	DNS_INFO_AXFR_COMPLETE                                             = 9751, 
    	// DNS zone transfer failed.
    	DNS_ERROR_AXFR                                                     = 9752, 
    	// Added local WINS server.
    	DNS_INFO_ADDED_LOCAL_WINS                                          = 9753, 
    	// Secure update call needs to continue update request.
    	DNS_STATUS_CONTINUE_NEEDED                                         = 9801, 
    	// TCP/IP network protocol not installed.
    	DNS_ERROR_NO_TCPIP                                                 = 9851, 
    	// No DNS servers configured for local system.
    	DNS_ERROR_NO_DNS_SERVERS                                           = 9852, 
    	// The specified directory partition does not exist.
    	DNS_ERROR_DP_DOES_NOT_EXIST                                        = 9901, 
    	// The specified directory partition already exists.
    	DNS_ERROR_DP_ALREADY_EXISTS                                        = 9902, 
    	// This DNS server is not enlisted in the specified directory partition.
    	DNS_ERROR_DP_NOT_ENLISTED                                          = 9903, 
    	// This DNS server is already enlisted in the specified directory partition.
    	DNS_ERROR_DP_ALREADY_ENLISTED                                      = 9904, 
    	// The directory partition is not available at this time. Please wait a few minutes and try again.
    	DNS_ERROR_DP_NOT_AVAILABLE                                         = 9905, 
    	// 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                                            = 9906, 
    	// A blocking operation was interrupted by a call to WSACancelBlockingCall.
    	WSAEINTR                                                           = 10004, 
    	// The file handle supplied is not valid.
    	WSAEBADF                                                           = 10009, 
    	// An attempt was made to access a socket in a way forbidden by its access permissions.
    	WSAEACCES                                                          = 10013, 
    	// The system detected an invalid pointer address in attempting to use a pointer argument in a call.
    	WSAEFAULT                                                          = 10014, 
    	// An invalid argument was supplied.
    	WSAEINVAL                                                          = 10022, 
    	// Too many open sockets.
    	WSAEMFILE                                                          = 10024, 
    	// A non-blocking socket operation could not be completed immediately.
    	WSAEWOULDBLOCK                                                     = 10035, 
    	// A blocking operation is currently executing.
    	WSAEINPROGRESS                                                     = 10036, 
    	// An operation was attempted on a non-blocking socket that already had an operation in progress.
    	WSAEALREADY                                                        = 10037, 
    	// An operation was attempted on something that is not a socket.
    	WSAENOTSOCK                                                        = 10038, 
    	// A required address was omitted from an operation on a socket.
    	WSAEDESTADDRREQ                                                    = 10039, 
    	// 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                                                        = 10040, 
    	// A protocol was specified in the socket function call that does not support the semantics of the socket type requested.
    	WSAEPROTOTYPE                                                      = 10041, 
    	// An unknown, invalid, or unsupported option or level was specified in a getsockopt or setsockopt call.
    	WSAENOPROTOOPT                                                     = 10042, 
    	// The requested protocol has not been configured into the system, or no implementation for it exists.
    	WSAEPROTONOSUPPORT                                                 = 10043, 
    	// The support for the specified socket type does not exist in this address family.
    	WSAESOCKTNOSUPPORT                                                 = 10044, 
    	// The attempted operation is not supported for the type of object referenced.
    	WSAEOPNOTSUPP                                                      = 10045, 
    	// The protocol family has not been configured into the system or no implementation for it exists.
    	WSAEPFNOSUPPORT                                                    = 10046, 
    	// An address incompatible with the requested protocol was used.
    	WSAEAFNOSUPPORT                                                    = 10047, 
    	// Only one usage of each socket address (protocol/network address/port) is normally permitted.
    	WSAEADDRINUSE                                                      = 10048, 
    	// The requested address is not valid in its context.
    	WSAEADDRNOTAVAIL                                                   = 10049, 
    	// A socket operation encountered a dead network.
    	WSAENETDOWN                                                        = 10050, 
    	// A socket operation was attempted to an unreachable network.
    	WSAENETUNREACH                                                     = 10051, 
    	// The connection has been broken due to keep-alive activity detecting a failure while the operation was in progress.
    	WSAENETRESET                                                       = 10052, 
    	// An established connection was aborted by the software in your host machine.
    	WSAECONNABORTED                                                    = 10053, 
    	// An existing connection was forcibly closed by the remote host.
    	WSAECONNRESET                                                      = 10054, 
    	// An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
    	WSAENOBUFS                                                         = 10055, 
    	// A connect request was made on an already connected socket.
    	WSAEISCONN                                                         = 10056, 
    	// 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                                                        = 10057, 
    	// 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                                                       = 10058, 
    	// Too many references to some kernel object.
    	WSAETOOMANYREFS                                                    = 10059, 
    	// 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                                                       = 10060, 
    	// No connection could be made because the target machine actively refused it.
    	WSAECONNREFUSED                                                    = 10061, 
    	// Cannot translate name.
    	WSAELOOP                                                           = 10062, 
    	// Name component or name was too long.
    	WSAENAMETOOLONG                                                    = 10063, 
    	// A socket operation failed because the destination host was down.
    	WSAEHOSTDOWN                                                       = 10064, 
    	// A socket operation was attempted to an unreachable host.
    	WSAEHOSTUNREACH                                                    = 10065, 
    	// Cannot remove a directory that is not empty.
    	WSAENOTEMPTY                                                       = 10066, 
    	// A Windows Sockets implementation may have a limit on the number of applications that may use it simultaneously.
    	WSAEPROCLIM                                                        = 10067, 
    	// Ran out of quota.
    	WSAEUSERS                                                          = 10068, 
    	// Ran out of disk quota.
    	WSAEDQUOT                                                          = 10069, 
    	// File handle reference is no longer available.
    	WSAESTALE                                                          = 10070, 
    	// Item is not available locally.
    	WSAEREMOTE                                                         = 10071, 
    	// WSAStartup cannot function at this time because the underlying system it uses to provide network services is currently unavailable. = = 0x276C,
    	WSASYSNOTREADY                                                     = 10091, // The Windows Sockets version requested is not supported.
    	// Either the application has not called WSAStartup, or WSAStartup failed.
    	WSANOTINITIALISED                                                  = 10093, 
    	// Returned by WSARecv or WSARecvFrom to indicate the remote party has initiated a graceful shutdown sequence.
    	WSAEDISCON                                                         = 10101, 
    	// No more results can be returned by WSALookupServiceNext.
    	WSAENOMORE                                                         = 10102, 
    	// A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled.
    	WSAECANCELLED                                                      = 10103, 
    	// The procedure call table is invalid.
    	WSAEINVALIDPROCTABLE                                               = 10104, 
    	// The requested service provider is invalid.
    	WSAEINVALIDPROVIDER                                                = 10105, 
    	// The requested service provider could not be loaded or initialized.
    	WSAEPROVIDERFAILEDINIT                                             = 10106, 
    	// A system call has failed.
    	WSASYSCALLFAILURE                                                  = 10107, 
    	// No such service is known. The service cannot be found in the specified name space.
    	WSASERVICE_NOT_FOUND                                               = 10108, 
    	// The specified class was not found.
    	WSATYPE_NOT_FOUND                                                  = 10109, 
    	// No more results can be returned by WSALookupServiceNext.
    	WSA_E_NO_MORE                                                      = 10110, 
    	// A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled.
    	WSA_E_CANCELLED                                                    = 10111, 
    	// A database query failed because it was actively refused.
    	WSAEREFUSED                                                        = 10112, 
    	// No such host is known.
    	WSAHOST_NOT_FOUND                                                  = 11001, 
    	// 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                                                       = 11002, 
    	// A non-recoverable error occurred during a database lookup.
    	WSANO_RECOVERY                                                     = 11003, 
    	// The requested name is valid, but no data of the requested type was found.
    	WSANO_DATA                                                         = 11004, 
    	// At least one reserve has arrived.
    	WSA_QOS_RECEIVERS                                                  = 11005, 
    	// At least one path has arrived.
    	WSA_QOS_SENDERS                                                    = 11006, 
    	// There are no senders.
    	WSA_QOS_NO_SENDERS                                                 = 11007, 
    	// There are no receivers.
    	WSA_QOS_NO_RECEIVERS                                               = 11008, 
    	// Reserve has been confirmed.
    	WSA_QOS_REQUEST_CONFIRMED                                          = 11009, 
    	// Error due to lack of resources.
    	WSA_QOS_ADMISSION_FAILURE                                          = 11010, 
    	// Rejected for administrative reasons - bad credentials.
    	WSA_QOS_POLICY_FAILURE                                             = 11011, 
    	// Unknown or conflicting style.
    	WSA_QOS_BAD_STYLE                                                  = 11012, 
    	// Problem with some part of the filterspec or providerspecific buffer in general.
    	WSA_QOS_BAD_OBJECT                                                 = 11013, 
    	// Problem with some part of the flowspec.
    	WSA_QOS_TRAFFIC_CTRL_ERROR                                         = 11014, 
    	// General QOS error.
    	WSA_QOS_GENERIC_ERROR                                              = 11015, 
    	// An invalid or unrecognized service type was found in the flowspec.
    	WSA_QOS_ESERVICETYPE                                               = 11016, 
    	// An invalid or inconsistent flowspec was found in the QOS structure.
    	WSA_QOS_EFLOWSPEC                                                  = 11017, 
    	// Invalid QOS provider-specific buffer.
    	WSA_QOS_EPROVSPECBUF                                               = 11018, 
    	// An invalid QOS filter style was used.
    	WSA_QOS_EFILTERSTYLE                                               = 11019, 
    	// An invalid QOS filter type was used.
    	WSA_QOS_EFILTERTYPE                                                = 11020, 
    	// An incorrect number of QOS FILTERSPECs were specified in the FLOWDESCRIPTOR.
    	WSA_QOS_EFILTERCOUNT                                               = 11021, 
    	// An object with an invalid ObjectLength field was specified in the QOS provider-specific buffer.
    	WSA_QOS_EOBJLENGTH                                                 = 11022, 
    	// An incorrect number of flow descriptors was specified in the QOS structure.
    	WSA_QOS_EFLOWCOUNT                                                 = 11023, 
    	// An unrecognized object was found in the QOS provider-specific buffer.
    	WSA_QOS_EUNKOWNPSOBJ                                               = 11024, 
    	// An invalid policy object was found in the QOS provider-specific buffer.
    	WSA_QOS_EPOLICYOBJ                                                 = 11025, 
    	// An invalid QOS flow descriptor was found in the flow descriptor list.
    	WSA_QOS_EFLOWDESC                                                  = 11026, 
    	// An invalid or inconsistent flowspec was found in the QOS provider specific buffer.
    	WSA_QOS_EPSFLOWSPEC                                                = 11027, 
    	// An invalid FILTERSPEC was found in the QOS provider-specific buffer.
    	WSA_QOS_EPSFILTERSPEC                                              = 11028, 
    	// An invalid shape discard mode object was found in the QOS provider specific buffer.
    	WSA_QOS_ESDMODEOBJ                                                 = 11029, 
    	// An invalid shaping rate object was found in the QOS provider-specific buffer.
    	WSA_QOS_ESHAPERATEOBJ                                              = 11030, 
    	// A reserved policy element was found in the QOS provider-specific buffer.
    	WSA_QOS_RESERVED_PETYPE                                            = 11031, 
    	// No such host is known securely.
    	WSA_SECURE_HOST_NOT_FOUND                                          = 11032, 
    	// Name based IPSEC policy could not be added.
    	WSA_IPSEC_NAME_POLICY_ERROR                                        = 11033, 
    	// See Internet Error Codes and WinInet.h.
    	INTERNET_                                                          = 12000, 
    	// See WinHTTP Error Codes and Winhttp.h.
    	WINHTTP_                                                           = 12001, 
    	// The specified quick mode policy already exists.
    	IPSEC_QM_POLICY_EXISTS                                             = 13000, 
    	// The specified quick mode policy was not found.
    	IPSEC_QM_POLICY_NOT_FOUND                                          = 13001, 
    	// The specified quick mode policy is being used.
    	IPSEC_QM_POLICY_IN_USE                                             = 13002, 
    	// The specified main mode policy already exists.
    	IPSEC_MM_POLICY_EXISTS                                             = 13003, 
    	// The specified main mode policy was not found.
    	IPSEC_MM_POLICY_NOT_FOUND                                          = 13004, 
    	// The specified main mode policy is being used.
    	IPSEC_MM_POLICY_IN_USE                                             = 13005, 
    	// The specified main mode filter already exists.
    	IPSEC_MM_FILTER_EXISTS                                             = 13006, 
    	// The specified main mode filter was not found.
    	IPSEC_MM_FILTER_NOT_FOUND                                          = 13007, 
    	// The specified transport mode filter already exists.
    	IPSEC_TRANSPORT_FILTER_EXISTS                                      = 13008, 
    	// The specified transport mode filter does not exist.
    	IPSEC_TRANSPORT_FILTER_NOT_FOUND                                   = 13009, 
    	// The specified main mode authentication list exists.
    	IPSEC_MM_AUTH_EXISTS                                               = 13010, 
    	// The specified main mode authentication list was not found.
    	IPSEC_MM_AUTH_NOT_FOUND                                            = 13011, 
    	// The specified main mode authentication list is being used.
    	IPSEC_MM_AUTH_IN_USE                                               = 13012, 
    	// The specified default main mode policy was not found.
    	IPSEC_DEFAULT_MM_POLICY_NOT_FOUND                                  = 13013, 
    	// The specified default main mode authentication list was not found.
    	IPSEC_DEFAULT_MM_AUTH_NOT_FOUND                                    = 13014, 
    	// The specified default quick mode policy was not found.
    	IPSEC_DEFAULT_QM_POLICY_NOT_FOUND                                  = 13015, 
    	// The specified tunnel mode filter exists.
    	IPSEC_TUNNEL_FILTER_EXISTS                                         = 13016, 
    	// The specified tunnel mode filter was not found.
    	IPSEC_TUNNEL_FILTER_NOT_FOUND                                      = 13017, 
    	// The Main Mode filter is pending deletion.
    	IPSEC_MM_FILTER_PENDING_DELETION                                   = 13018, 
    	// The transport filter is pending deletion.
    	IPSEC_TRANSPORT_FILTER_PENDING_DELETION                            = 13019, 
    	// The tunnel filter is pending deletion.
    	IPSEC_TUNNEL_FILTER_PENDING_DELETION                               = 13020, 
    	// The Main Mode policy is pending deletion.
    	IPSEC_MM_POLICY_PENDING_DELETION                                   = 13021, 
    	// The Main Mode authentication bundle is pending deletion.
    	IPSEC_MM_AUTH_PENDING_DELETION                                     = 13022, 
    	// The Quick Mode policy is pending deletion.
    	IPSEC_QM_POLICY_PENDING_DELETION                                   = 13023, 
    	// The Main Mode policy was successfully added, but some of the requested offers are not supported.
    	WARNING_IPSEC_MM_POLICY_PRUNED                                     = 13024, 
    	// The Quick Mode policy was successfully added, but some of the requested offers are not supported.
    	WARNING_IPSEC_QM_POLICY_PRUNED                                     = 13025, 
    	// IPSEC_IKE_NEG_STATUS_BEGIN = = 0x35E9,
    	IPSEC_IKE_NEG_STATUS_BEGIN                                         = 13800, // IKE authentication credentials are unacceptable.
    	// IKE security attributes are unacceptable.
    	IPSEC_IKE_ATTRIB_FAIL                                              = 13802, 
    	// IKE Negotiation in progress.
    	IPSEC_IKE_NEGOTIATION_PENDING                                      = 13803, 
    	// General processing error.
    	IPSEC_IKE_GENERAL_PROCESSING_ERROR                                 = 13804, 
    	// Negotiation timed out.
    	IPSEC_IKE_TIMED_OUT                                                = 13805, 
    	// 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                                                  = 13806, 
    	// IKE SA deleted by peer before establishment completed.
    	IPSEC_IKE_SA_DELETED                                               = 13807, 
    	// IKE SA deleted before establishment completed.
    	IPSEC_IKE_SA_REAPED                                                = 13808, 
    	// Negotiation request sat in Queue too long.
    	IPSEC_IKE_MM_ACQUIRE_DROP                                          = 13809, 
    	// Negotiation request sat in Queue too long.
    	IPSEC_IKE_QM_ACQUIRE_DROP                                          = 13810, 
    	// Negotiation request sat in Queue too long.
    	IPSEC_IKE_QUEUE_DROP_MM                                            = 13811, 
    	// Negotiation request sat in Queue too long.
    	IPSEC_IKE_QUEUE_DROP_NO_MM                                         = 13812, 
    	// No response from peer.
    	IPSEC_IKE_DROP_NO_RESPONSE                                         = 13813, 
    	// Negotiation took too long.
    	IPSEC_IKE_MM_DELAY_DROP                                            = 13814, 
    	// Negotiation took too long.
    	IPSEC_IKE_QM_DELAY_DROP                                            = 13815, 
    	// Unknown error occurred.
    	IPSEC_IKE_ERROR                                                    = 13816, 
    	// Certificate Revocation Check failed.
    	IPSEC_IKE_CRL_FAILED                                               = 13817, 
    	// Invalid certificate key usage.
    	IPSEC_IKE_INVALID_KEY_USAGE                                        = 13818, 
    	// Invalid certificate type.
    	IPSEC_IKE_INVALID_CERT_TYPE                                        = 13819, 
    	// 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                                           = 13820, 
    	// Simultaneous rekeys were detected.
    	IPSEC_IKE_SIMULTANEOUS_REKEY                                       = 13821, 
    	// Failure in Diffie-Hellman computation.
    	IPSEC_IKE_DH_FAIL                                                  = 13822, 
    	// Don't know how to process critical payload.
    	IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED                          = 13823, 
    	// Invalid header.
    	IPSEC_IKE_INVALID_HEADER                                           = 13824, 
    	// No policy configured.
    	IPSEC_IKE_NO_POLICY                                                = 13825, 
    	// Failed to verify signature.
    	IPSEC_IKE_INVALID_SIGNATURE                                        = 13826, 
    	// Failed to authenticate using Kerberos.
    	IPSEC_IKE_KERBEROS_ERROR                                           = 13827, 
    	// Peer's certificate did not have a public key.
    	IPSEC_IKE_NO_PUBLIC_KEY                                            = 13828, 
    	// Error processing error payload.
    	IPSEC_IKE_PROCESS_ERR                                              = 13829, 
    	// Error processing SA payload.
    	IPSEC_IKE_PROCESS_ERR_SA                                           = 13830, 
    	// Error processing Proposal payload.
    	IPSEC_IKE_PROCESS_ERR_PROP                                         = 13831, 
    	// Error processing Transform payload.
    	IPSEC_IKE_PROCESS_ERR_TRANS                                        = 13832, 
    	// Error processing KE payload.
    	IPSEC_IKE_PROCESS_ERR_KE                                           = 13833, 
    	// Error processing ID payload.
    	IPSEC_IKE_PROCESS_ERR_ID                                           = 13834, 
    	// Error processing Cert payload.
    	IPSEC_IKE_PROCESS_ERR_CERT                                         = 13835, 
    	// Error processing Certificate Request payload.
    	IPSEC_IKE_PROCESS_ERR_CERT_REQ                                     = 13836, 
    	// Error processing Hash payload.
    	IPSEC_IKE_PROCESS_ERR_HASH                                         = 13837, 
    	// Error processing Signature payload.
    	IPSEC_IKE_PROCESS_ERR_SIG                                          = 13838, 
    	// Error processing Nonce payload.
    	IPSEC_IKE_PROCESS_ERR_NONCE                                        = 13839, 
    	// Error processing Notify payload.
    	IPSEC_IKE_PROCESS_ERR_NOTIFY                                       = 13840, 
    	// Error processing Delete Payload.
    	IPSEC_IKE_PROCESS_ERR_DELETE                                       = 13841, 
    	// Error processing VendorId payload.
    	IPSEC_IKE_PROCESS_ERR_VENDOR                                       = 13842, 
    	// Invalid payload received.
    	IPSEC_IKE_INVALID_PAYLOAD                                          = 13843, 
    	// Soft SA loaded.
    	IPSEC_IKE_LOAD_SOFT_SA                                             = 13844, 
    	// Soft SA torn down.
    	IPSEC_IKE_SOFT_SA_TORN_DOWN                                        = 13845, 
    	// Invalid cookie received.
    	IPSEC_IKE_INVALID_COOKIE                                           = 13846, 
    	// Peer failed to send valid machine certificate.
    	IPSEC_IKE_NO_PEER_CERT                                             = 13847, 
    	// Certification Revocation check of peer's certificate failed.
    	IPSEC_IKE_PEER_CRL_FAILED                                          = 13848, 
    	// New policy invalidated SAs formed with old policy.
    	IPSEC_IKE_POLICY_CHANGE                                            = 13849, 
    	// There is no available Main Mode IKE policy.
    	IPSEC_IKE_NO_MM_POLICY                                             = 13850, 
    	// Failed to enabled TCB privilege.
    	IPSEC_IKE_NOTCBPRIV                                                = 13851, 
    	// Failed to load SECURITY.DLL.
    	IPSEC_IKE_SECLOADFAIL                                              = 13852, 
    	// Failed to obtain security function table dispatch address from SSPI.
    	IPSEC_IKE_FAILSSPINIT                                              = 13853, 
    	// Failed to query Kerberos package to obtain max token size.
    	IPSEC_IKE_FAILQUERYSSP                                             = 13854, 
    	// 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                                               = 13855, 
    	// Failed to determine SSPI principal name for ISAKMP/ERROR_IPSEC_IKE service (QueryCredentialsAttributes).
    	IPSEC_IKE_SRVQUERYCRED                                             = 13856, 
    	// 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                                               = 13857, 
    	// Given filter is invalid.
    	IPSEC_IKE_INVALID_FILTER                                           = 13858, 
    	// Memory allocation failed.
    	IPSEC_IKE_OUT_OF_MEMORY                                            = 13859, 
    	// 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                                    = 13860, 
    	// Invalid policy.
    	IPSEC_IKE_INVALID_POLICY                                           = 13861, 
    	// Invalid DOI.
    	IPSEC_IKE_UNKNOWN_DOI                                              = 13862, 
    	// Invalid situation.
    	IPSEC_IKE_INVALID_SITUATION                                        = 13863, 
    	// Diffie-Hellman failure.
    	IPSEC_IKE_DH_FAILURE                                               = 13864, 
    	// Invalid Diffie-Hellman group.
    	IPSEC_IKE_INVALID_GROUP                                            = 13865, 
    	// Error encrypting payload.
    	IPSEC_IKE_ENCRYPT                                                  = 13866, 
    	// Error decrypting payload.
    	IPSEC_IKE_DECRYPT                                                  = 13867, 
    	// Policy match error.
    	IPSEC_IKE_POLICY_MATCH                                             = 13868, 
    	// Unsupported ID.
    	IPSEC_IKE_UNSUPPORTED_ID                                           = 13869, 
    	// Hash verification failed.
    	IPSEC_IKE_INVALID_HASH                                             = 13870, 
    	// Invalid hash algorithm.
    	IPSEC_IKE_INVALID_HASH_ALG                                         = 13871, 
    	// Invalid hash size.
    	IPSEC_IKE_INVALID_HASH_SIZE                                        = 13872, 
    	// Invalid encryption algorithm.
    	IPSEC_IKE_INVALID_ENCRYPT_ALG                                      = 13873, 
    	// Invalid authentication algorithm.
    	IPSEC_IKE_INVALID_AUTH_ALG                                         = 13874, 
    	// Invalid certificate signature.
    	IPSEC_IKE_INVALID_SIG                                              = 13875, 
    	// Load failed.
    	IPSEC_IKE_LOAD_FAILED                                              = 13876, 
    	// Deleted via RPC call.
    	IPSEC_IKE_RPC_DELETE                                               = 13877, 
    	// Temporary state created to perform reinitialization. This is not a real failure.
    	IPSEC_IKE_BENIGN_REINIT                                            = 13878, 
    	// 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                        = 13879, 
    	// The recipient cannot handle version of IKE specified in the header.
    	IPSEC_IKE_INVALID_MAJOR_VERSION                                    = 13880, 
    	// Key length in certificate is too small for configured security requirements.
    	IPSEC_IKE_INVALID_CERT_KEYLEN                                      = 13881, 
    	// Max number of established MM SAs to peer exceeded.
    	IPSEC_IKE_MM_LIMIT                                                 = 13882, 
    	// IKE received a policy that disables negotiation.
    	IPSEC_IKE_NEGOTIATION_DISABLED                                     = 13883, 
    	// Reached maximum quick mode limit for the main mode. New main mode will be started.
    	IPSEC_IKE_QM_LIMIT                                                 = 13884, 
    	// Main mode SA lifetime expired or peer sent a main mode delete.
    	IPSEC_IKE_MM_EXPIRED                                               = 13885, 
    	// Main mode SA assumed to be invalid because peer stopped responding.
    	IPSEC_IKE_PEER_MM_ASSUMED_INVALID                                  = 13886, 
    	// Certificate doesn't chain to a trusted root in IPsec policy.
    	IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH                               = 13887, 
    	// Received unexpected message ID.
    	IPSEC_IKE_UNEXPECTED_MESSAGE_ID                                    = 13888, 
    	// Received invalid authentication offers.
    	IPSEC_IKE_INVALID_AUTH_PAYLOAD                                     = 13889, 
    	// Sent DoS cookie notify to initiator.
    	IPSEC_IKE_DOS_COOKIE_SENT                                          = 13890, 
    	// IKE service is shutting down.
    	IPSEC_IKE_SHUTTING_DOWN                                            = 13891, 
    	// Could not verify binding between CGA address and certificate.
    	IPSEC_IKE_CGA_AUTH_FAILED                                          = 13892, 
    	// Error processing NatOA payload.
    	IPSEC_IKE_PROCESS_ERR_NATOA                                        = 13893, 
    	// Parameters of the main mode are invalid for this quick mode.
    	IPSEC_IKE_INVALID_MM_FOR_QM                                        = 13894, 
    	// Quick mode SA was expired by IPsec driver.
    	IPSEC_IKE_QM_EXPIRED                                               = 13895, 
    	// Too many dynamically added IKEEXT filters were detected.
    	IPSEC_IKE_TOO_MANY_FILTERS                                         = 13896, 
    	// IPSEC_IKE_NEG_STATUS_END = = 0x364A,
    	IPSEC_IKE_NEG_STATUS_END                                           = 13897, // 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                              = 13899, 
    	// Require configuration payload missing.
    	IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING                               = 13900, 
    	// A negotiation running as the security principle who issued the connection is in progress.
    	IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING                 = 13901, 
    	// SA was deleted due to IKEv1/AuthIP co-existence suppress check.
    	IPSEC_IKE_COEXISTENCE_SUPPRESS                                     = 13902, 
    	// Incoming SA request was dropped due to peer IP address rate limiting.
    	IPSEC_IKE_RATELIMIT_DROP                                           = 13903, 
    	// Peer does not support MOBIKE.
    	IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE                               = 13904, 
    	// SA establishment is not authorized.
    	IPSEC_IKE_AUTHORIZATION_FAILURE                                    = 13905, 
    	// SA establishment is not authorized because there is not a sufficiently strong PKINIT-based credential.
    	IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE                        = 13906, 
    	// 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                = 13907, 
    	// 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            = 13908, 
    	// IPSEC_IKE_NEG_STATUS_EXTENDED_END = = 0x3656,
    	IPSEC_IKE_NEG_STATUS_EXTENDED_END                                  = 13909, // 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                                          = 13911, 
    	// Packet was received on an IPsec SA that does not match the packet characteristics.
    	IPSEC_WRONG_SA                                                     = 13912, 
    	// Packet sequence number replay check failed.
    	IPSEC_REPLAY_CHECK_FAILED                                          = 13913, 
    	// IPsec header and/or trailer in the packet is invalid.
    	IPSEC_INVALID_PACKET                                               = 13914, 
    	// IPsec integrity check failed.
    	IPSEC_INTEGRITY_CHECK_FAILED                                       = 13915, 
    	// IPsec dropped a clear text packet.
    	IPSEC_CLEAR_TEXT_DROP                                              = 13916, 
    	// IPsec dropped an incoming ESP packet in authenticated firewall mode. This drop is benign.
    	IPSEC_AUTH_FIREWALL_DROP                                           = 13917, 
    	// IPsec dropped a packet due to DoS throttling.
    	IPSEC_THROTTLE_DROP                                                = 13918, 
    	// IPsec DoS Protection matched an explicit block rule.
    	IPSEC_DOSP_BLOCK                                                   = 13925, 
    	// IPsec DoS Protection received an IPsec specific multicast packet which is not allowed.
    	IPSEC_DOSP_RECEIVED_MULTICAST                                      = 13926, 
    	// IPsec DoS Protection received an incorrectly formatted packet.
    	IPSEC_DOSP_INVALID_PACKET                                          = 13927, 
    	// IPsec DoS Protection failed to look up state.
    	IPSEC_DOSP_STATE_LOOKUP_FAILED                                     = 13928, 
    	// IPsec DoS Protection failed to create state because the maximum number of entries allowed by policy has been reached.
    	IPSEC_DOSP_MAX_ENTRIES                                             = 13929, 
    	// IPsec DoS Protection received an IPsec negotiation packet for a keying module which is not allowed by policy.
    	IPSEC_DOSP_KEYMOD_NOT_ALLOWED                                      = 13930, 
    	// IPsec DoS Protection has not been enabled.
    	IPSEC_DOSP_NOT_INSTALLED                                           = 13931, 
    	// 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                             = 13932, 
    	// The requested section was not present in the activation context.
    	SXS_SECTION_NOT_FOUND                                              = 14000, 
    	// 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                                                = 14001, 
    	// The application binding data format is invalid.
    	SXS_INVALID_ACTCTXDATA_FORMAT                                      = 14002, 
    	// The referenced assembly is not installed on your system.
    	SXS_ASSEMBLY_NOT_FOUND                                             = 14003, 
    	// The manifest file does not begin with the required tag and format information.
    	SXS_MANIFEST_FORMAT_ERROR                                          = 14004, 
    	// The manifest file contains one or more syntax errors.
    	SXS_MANIFEST_PARSE_ERROR                                           = 14005, 
    	// The application attempted to activate a disabled activation context.
    	SXS_ACTIVATION_CONTEXT_DISABLED                                    = 14006, 
    	// The requested lookup key was not found in any active activation context.
    	SXS_KEY_NOT_FOUND                                                  = 14007, 
    	// A component version required by the application conflicts with another component version already active.
    	SXS_VERSION_CONFLICT                                               = 14008, 
    	// The type requested activation context section does not match the query API used.
    	SXS_WRONG_SECTION_TYPE                                             = 14009, 
    	// Lack of system resources has required isolated activation to be disabled for the current thread of execution.
    	SXS_THREAD_QUERIES_DISABLED                                        = 14010, 
    	// An attempt to set the process default activation context failed because the process default activation context was already set.
    	SXS_PROCESS_DEFAULT_ALREADY_SET                                    = 14011, 
    	// The encoding group identifier specified is not recognized.
    	SXS_UNKNOWN_ENCODING_GROUP                                         = 14012, 
    	// The encoding requested is not recognized.
    	SXS_UNKNOWN_ENCODING                                               = 14013, 
    	// The manifest contains a reference to an invalid URI.
    	SXS_INVALID_XML_NAMESPACE_URI                                      = 14014, 
    	// The application manifest contains a reference to a dependent assembly which is not installed.
    	SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED                         = 14015, 
    	// 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                         = 14016, 
    	// The manifest contains an attribute for the assembly identity which is not valid.
    	SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE                            = 14017, 
    	// The manifest is missing the required default namespace specification on the assembly element.
    	SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE                    = 14018, 
    	// 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                    = 14019, 
    	// The private manifest probed has crossed a path with an unsupported reparse point.
    	SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT                 = 14020, 
    	// Two or more components referenced directly or indirectly by the application manifest have files by the same name.
    	SXS_DUPLICATE_DLL_NAME                                             = 14021, 
    	// Two or more components referenced directly or indirectly by the application manifest have window classes with the same name.
    	SXS_DUPLICATE_WINDOWCLASS_NAME                                     = 14022, 
    	// Two or more components referenced directly or indirectly by the application manifest have the same COM server CLSIDs.
    	SXS_DUPLICATE_CLSID                                                = 14023, 
    	// Two or more components referenced directly or indirectly by the application manifest have proxies for the same COM interface IIDs.
    	SXS_DUPLICATE_IID                                                  = 14024, 
    	// Two or more components referenced directly or indirectly by the application manifest have the same COM type library TLBIDs.
    	SXS_DUPLICATE_TLBID                                                = 14025, 
    	// Two or more components referenced directly or indirectly by the application manifest have the same COM ProgIDs.
    	SXS_DUPLICATE_PROGID                                               = 14026, 
    	// 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                                        = 14027, 
    	// A component's file does not match the verification information present in the component manifest.
    	SXS_FILE_HASH_MISMATCH                                             = 14028, 
    	// The policy manifest contains one or more syntax errors.
    	SXS_POLICY_PARSE_ERROR                                             = 14029, 
    	// Manifest Parse Error : A string literal was expected, but no opening quote character was found.
    	SXS_XML_E_MISSINGQUOTE                                             = 14030, 
    	// Manifest Parse Error : Incorrect syntax was used in a comment.
    	SXS_XML_E_COMMENTSYNTAX                                            = 14031, 
    	// Manifest Parse Error : A name was started with an invalid character.
    	SXS_XML_E_BADSTARTNAMECHAR                                         = 14032, 
    	// Manifest Parse Error : A name contained an invalid character.
    	SXS_XML_E_BADNAMECHAR                                              = 14033, 
    	// Manifest Parse Error : A string literal contained an invalid character.
    	SXS_XML_E_BADCHARINSTRING                                          = 14034, 
    	// Manifest Parse Error : Invalid syntax for an xml declaration.
    	SXS_XML_E_XMLDECLSYNTAX                                            = 14035, 
    	// Manifest Parse Error : An Invalid character was found in text content.
    	SXS_XML_E_BADCHARDATA                                              = 14036, 
    	// Manifest Parse Error : Required white space was missing.
    	SXS_XML_E_MISSINGWHITESPACE                                        = 14037, 
    	// Manifest Parse Error : The character '>' was expected.
    	SXS_XML_E_EXPECTINGTAGEND                                          = 14038, 
    	// Manifest Parse Error : A semi colon character was expected.
    	SXS_XML_E_MISSINGSEMICOLON                                         = 14039, 
    	// Manifest Parse Error : Unbalanced parentheses.
    	SXS_XML_E_UNBALANCEDPAREN                                          = 14040, 
    	// Manifest Parse Error : Internal error.
    	SXS_XML_E_INTERNALERROR                                            = 14041, 
    	// Manifest Parse Error : Whitespace is not allowed at this location.
    	SXS_XML_E_UNEXPECTED_WHITESPACE                                    = 14042, 
    	// Manifest Parse Error : End of file reached in invalid state for current encoding.
    	SXS_XML_E_INCOMPLETE_ENCODING                                      = 14043, 
    	// Manifest Parse Error : Missing parenthesis.
    	SXS_XML_E_MISSING_PAREN                                            = 14044, 
    	// Manifest Parse Error : A single or double closing quote character (\' or \") is missing.
    	SXS_XML_E_EXPECTINGCLOSEQUOTE                                      = 14045, 
    	// Manifest Parse Error : Multiple colons are not allowed in a name.
    	SXS_XML_E_MULTIPLE_COLONS                                          = 14046, 
    	// Manifest Parse Error : Invalid character for decimal digit.
    	SXS_XML_E_INVALID_DECIMAL                                          = 14047, 
    	// Manifest Parse Error : Invalid character for hexadecimal digit.
    	SXS_XML_E_INVALID_HEXIDECIMAL                                      = 14048, 
    	// Manifest Parse Error : Invalid unicode character value for this platform.
    	SXS_XML_E_INVALID_UNICODE                                          = 14049, 
    	// Manifest Parse Error : Expecting whitespace or '?'.
    	SXS_XML_E_WHITESPACEORQUESTIONMARK                                 = 14050, 
    	// Manifest Parse Error : End tag was not expected at this location.
    	SXS_XML_E_UNEXPECTEDENDTAG                                         = 14051, 
    	// Manifest Parse Error : The following tags were not closed: %1.
    	SXS_XML_E_UNCLOSEDTAG                                              = 14052, 
    	// Manifest Parse Error : Duplicate attribute.
    	SXS_XML_E_DUPLICATEATTRIBUTE                                       = 14053, 
    	// Manifest Parse Error : Only one top level element is allowed in an XML document.
    	SXS_XML_E_MULTIPLEROOTS                                            = 14054, 
    	// Manifest Parse Error : Invalid at the top level of the document.
    	SXS_XML_E_INVALIDATROOTLEVEL                                       = 14055, 
    	// Manifest Parse Error : Invalid xml declaration.
    	SXS_XML_E_BADXMLDECL                                               = 14056, 
    	// Manifest Parse Error : XML document must have a top level element.
    	SXS_XML_E_MISSINGROOT                                              = 14057, 
    	// Manifest Parse Error : Unexpected end of file.
    	SXS_XML_E_UNEXPECTEDEOF                                            = 14058, 
    	// Manifest Parse Error : Parameter entities cannot be used inside markup declarations in an internal subset.
    	SXS_XML_E_BADPEREFINSUBSET                                         = 14059, 
    	// Manifest Parse Error : Element was not closed.
    	SXS_XML_E_UNCLOSEDSTARTTAG                                         = 14060, 
    	// Manifest Parse Error : End element was missing the character '>'.
    	SXS_XML_E_UNCLOSEDENDTAG                                           = 14061, 
    	// Manifest Parse Error : A string literal was not closed.
    	SXS_XML_E_UNCLOSEDSTRING                                           = 14062, 
    	// Manifest Parse Error : A comment was not closed.
    	SXS_XML_E_UNCLOSEDCOMMENT                                          = 14063, 
    	// Manifest Parse Error : A declaration was not closed.
    	SXS_XML_E_UNCLOSEDDECL                                             = 14064, 
    	// Manifest Parse Error : A CDATA section was not closed.
    	SXS_XML_E_UNCLOSEDCDATA                                            = 14065, 
    	// Manifest Parse Error : The namespace prefix is not allowed to start with the reserved string "xml".
    	SXS_XML_E_RESERVEDNAMESPACE                                        = 14066, 
    	// Manifest Parse Error : System does not support the specified encoding.
    	SXS_XML_E_INVALIDENCODING                                          = 14067, 
    	// Manifest Parse Error : Switch from current encoding to specified encoding not supported.
    	SXS_XML_E_INVALIDSWITCH                                            = 14068, 
    	// Manifest Parse Error : The name 'xml' is reserved and must be lower case.
    	SXS_XML_E_BADXMLCASE                                               = 14069, 
    	// Manifest Parse Error : The standalone attribute must have the value 'yes' or 'no'.
    	SXS_XML_E_INVALID_STANDALONE                                       = 14070, 
    	// Manifest Parse Error : The standalone attribute cannot be used in external entities.
    	SXS_XML_E_UNEXPECTED_STANDALONE                                    = 14071, 
    	// Manifest Parse Error : Invalid version number.
    	SXS_XML_E_INVALID_VERSION                                          = 14072, 
    	// Manifest Parse Error : Missing equals sign between attribute and attribute value.
    	SXS_XML_E_MISSINGEQUALS                                            = 14073, 
    	// Assembly Protection Error : Unable to recover the specified assembly.
    	SXS_PROTECTION_RECOVERY_FAILED                                     = 14074, 
    	// Assembly Protection Error : The public key for an assembly was too short to be allowed.
    	SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT                                = 14075, 
    	// Assembly Protection Error : The catalog for an assembly is not valid, or does not match the assembly's manifest.
    	SXS_PROTECTION_CATALOG_NOT_VALID                                   = 14076, 
    	// An HRESULT could not be translated to a corresponding Win32 error code.
    	SXS_UNTRANSLATABLE_HRESULT                                         = 14077, 
    	// Assembly Protection Error : The catalog for an assembly is missing.
    	SXS_PROTECTION_CATALOG_FILE_MISSING                                = 14078, 
    	// The supplied assembly identity is missing one or more attributes which must be present in this context.
    	SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE                            = 14079, 
    	// The supplied assembly identity has one or more attribute names that contain characters not permitted in XML names.
    	SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME                       = 14080, 
    	// The referenced assembly could not be found.
    	SXS_ASSEMBLY_MISSING                                               = 14081, 
    	// The activation context activation stack for the running thread of execution is corrupt.
    	SXS_CORRUPT_ACTIVATION_STACK                                       = 14082, 
    	// The application isolation metadata for this process or thread has become corrupt.
    	SXS_CORRUPTION                                                     = 14083, 
    	// The activation context being deactivated is not the most recently activated one.
    	SXS_EARLY_DEACTIVATION                                             = 14084, 
    	// The activation context being deactivated is not active for the current thread of execution.
    	SXS_INVALID_DEACTIVATION                                           = 14085, 
    	// The activation context being deactivated has already been deactivated.
    	SXS_MULTIPLE_DEACTIVATION                                          = 14086, 
    	// A component used by the isolation facility has requested to terminate the process.
    	SXS_PROCESS_TERMINATION_REQUESTED                                  = 14087, 
    	// A kernel mode component is releasing a reference on an activation context.
    	SXS_RELEASE_ACTIVATION_CONTEXT                                     = 14088, 
    	// The activation context of system default assembly could not be generated.
    	SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY                        = 14089, 
    	// The value of an attribute in an identity is not within the legal range.
    	SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE                               = 14090, 
    	// The name of an attribute in an identity is not within the legal range.
    	SXS_INVALID_IDENTITY_ATTRIBUTE_NAME                                = 14091, 
    	// An identity contains two definitions for the same attribute.
    	SXS_IDENTITY_DUPLICATE_ATTRIBUTE                                   = 14092, 
    	// 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                                           = 14093, 
    	// 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                                      = 14094, 
    	// The public key token does not correspond to the public key specified.
    	SXS_INCORRECT_PUBLIC_KEY_TOKEN                                     = 14095, 
    	// A substitution string had no mapping.
    	UNMAPPED_SUBSTITUTION_STRING                                       = 14096, 
    	// The component must be locked before making the request.
    	SXS_ASSEMBLY_NOT_LOCKED                                            = 14097, 
    	// The component store has been corrupted.
    	SXS_COMPONENT_STORE_CORRUPT                                        = 14098, 
    	// An advanced installer failed during setup or servicing.
    	ADVANCED_INSTALLER_FAILED                                          = 14099, 
    	// The character encoding in the XML declaration did not match the encoding used in the document.
    	XML_ENCODING_MISMATCH                                              = 14100, 
    	// The identities of the manifests are identical but their contents are different.
    	SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT                  = 14101, 
    	// The component identities are different.
    	SXS_IDENTITIES_DIFFERENT                                           = 14102, 
    	// The assembly is not a deployment.
    	SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT                                   = 14103, 
    	// The file is not a part of the assembly.
    	SXS_FILE_NOT_PART_OF_ASSEMBLY                                      = 14104, 
    	// The size of the manifest exceeds the maximum allowed.
    	SXS_MANIFEST_TOO_BIG                                               = 14105, 
    	// The setting is not registered.
    	SXS_SETTING_NOT_REGISTERED                                         = 14106, 
    	// One or more required members of the transaction are not present.
    	SXS_TRANSACTION_CLOSURE_INCOMPLETE                                 = 14107, 
    	// The SMI primitive installer failed during setup or servicing.
    	SMI_PRIMITIVE_INSTALLER_FAILED                                     = 14108, 
    	// A generic command executable returned a result that indicates failure.
    	GENERIC_COMMAND_FAILED                                             = 14109, 
    	// A component is missing file verification information in its manifest.
    	SXS_FILE_HASH_MISSING                                              = 14110, 
    	// The specified channel path is invalid.
    	EVT_INVALID_CHANNEL_PATH                                           = 15000, 
    	// The specified query is invalid.
    	EVT_INVALID_QUERY                                                  = 15001, 
    	// The publisher metadata cannot be found in the resource.
    	EVT_PUBLISHER_METADATA_NOT_FOUND                                   = 15002, 
    	// The template for an event definition cannot be found in the resource (error = %1).
    	EVT_EVENT_TEMPLATE_NOT_FOUND                                       = 15003, 
    	// The specified publisher name is invalid.
    	EVT_INVALID_PUBLISHER_NAME                                         = 15004, 
    	// The event data raised by the publisher is not compatible with the event template definition in the publisher's manifest.
    	EVT_INVALID_EVENT_DATA                                             = 15005, 
    	// The specified channel could not be found. Check channel configuration.
    	EVT_CHANNEL_NOT_FOUND                                              = 15007, 
    	// The specified xml text was not well-formed. See Extended Error for more details.
    	EVT_MALFORMED_XML_TEXT                                             = 15008, 
    	// 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                                 = 15009, 
    	// Configuration error.
    	EVT_CONFIGURATION_ERROR                                            = 15010, 
    	// 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                                             = 15011, 
    	// Query result is currently at an invalid position.
    	EVT_QUERY_RESULT_INVALID_POSITION                                  = 15012, 
    	// Registered MSXML doesn't support validation.
    	EVT_NON_VALIDATING_MSXML                                           = 15013, 
    	// 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                                           = 15014, 
    	// Can't perform a step operation from a term that does not represent an element set.
    	EVT_FILTER_NOTELTSET                                               = 15015, 
    	// 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                                                  = 15016, 
    	// 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                                                 = 15017, 
    	// This data type is currently unsupported.
    	EVT_FILTER_INVTYPE                                                 = 15018, 
    	// A syntax error occurred at position %1!d!.
    	EVT_FILTER_PARSEERR                                                = 15019, 
    	// This operator is unsupported by this implementation of the filter.
    	EVT_FILTER_UNSUPPORTEDOP                                           = 15020, 
    	// The token encountered was unexpected.
    	EVT_FILTER_UNEXPECTEDTOKEN                                         = 15021, 
    	// 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                  = 15022, 
    	// 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                                 = 15023, 
    	// 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                               = 15024, 
    	// The channel fails to activate.
    	EVT_CHANNEL_CANNOT_ACTIVATE                                        = 15025, 
    	// The xpath expression exceeded supported complexity. Please symplify it or split it into two or more simple expressions.
    	EVT_FILTER_TOO_COMPLEX                                             = 15026, 
    	// the message resource is present but the message is not found in the string/message table.
    	EVT_MESSAGE_NOT_FOUND                                              = 15027, 
    	// The message id for the desired message could not be found.
    	EVT_MESSAGE_ID_NOT_FOUND                                           = 15028, 
    	// The substitution string for insert index (%1) could not be found.
    	EVT_UNRESOLVED_VALUE_INSERT                                        = 15029, 
    	// The description string for parameter reference (%1) could not be found.
    	EVT_UNRESOLVED_PARAMETER_INSERT                                    = 15030, 
    	// The maximum number of replacements has been reached.
    	EVT_MAX_INSERTS_REACHED                                            = 15031, 
    	// The event definition could not be found for event id (%1).
    	EVT_EVENT_DEFINITION_NOT_FOUND                                     = 15032, 
    	// The locale specific resource for the desired message is not present.
    	EVT_MESSAGE_LOCALE_NOT_FOUND                                       = 15033, 
    	// The resource is too old to be compatible.
    	EVT_VERSION_TOO_OLD                                                = 15034, 
    	// The resource is too new to be compatible.
    	EVT_VERSION_TOO_NEW                                                = 15035, 
    	// The channel at index %1!d! of the query can't be opened.
    	EVT_CANNOT_OPEN_CHANNEL_OF_QUERY                                   = 15036, 
    	// 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                                             = 15037, 
    	// Attempted to create a numeric type that is outside of its valid range.
    	EVT_FILTER_OUT_OF_RANGE                                            = 15038, 
    	// The subscription fails to activate.
    	EC_SUBSCRIPTION_CANNOT_ACTIVATE                                    = 15080, 
    	// 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                                                    = 15081, 
    	// When forwarding events from local machine to itself, the query of the subscription can't contain target log of the subscription.
    	EC_CIRCULAR_FORWARDING                                             = 15082, 
    	// The credential store that is used to save credentials is full.
    	EC_CREDSTORE_FULL                                                  = 15083, 
    	// The credential used by this subscription can't be found in credential store.
    	EC_CRED_NOT_FOUND                                                  = 15084, 
    	// No active channel is found for the query.
    	EC_NO_ACTIVE_CHANNEL                                               = 15085, 
    	// The resource loader failed to find MUI file.
    	MUI_FILE_NOT_FOUND                                                 = 15100, 
    	// The resource loader failed to load MUI file because the file fail to pass validation.
    	MUI_INVALID_FILE                                                   = 15101, 
    	// The RC Manifest is corrupted with garbage data or unsupported version or missing required item.
    	MUI_INVALID_RC_CONFIG                                              = 15102, 
    	// The RC Manifest has invalid culture name.
    	MUI_INVALID_LOCALE_NAME                                            = 15103, 
    	// The RC Manifest has invalid ultimatefallback name.
    	MUI_INVALID_ULTIMATEFALLBACK_NAME                                  = 15104, 
    	// The resource loader cache doesn't have loaded MUI entry.
    	MUI_FILE_NOT_LOADED                                                = 15105, 
    	// User stopped resource enumeration.
    	RESOURCE_ENUM_USER_STOP                                            = 15106, 
    	// UI language installation failed.
    	MUI_INTLSETTINGS_UILANG_NOT_INSTALLED                              = 15107, 
    	// Locale installation failed.
    	MUI_INTLSETTINGS_INVALID_LOCALE_NAME                               = 15108, 
    	// A resource does not have default or neutral value.
    	MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE                         = 15110, 
    	// Invalid PRI config file.
    	MRM_INVALID_PRICONFIG                                              = 15111, 
    	// Invalid file type.
    	MRM_INVALID_FILE_TYPE                                              = 15112, 
    	// Unknown qualifier.
    	MRM_UNKNOWN_QUALIFIER                                              = 15113, 
    	// Invalid qualifier value.
    	MRM_INVALID_QUALIFIER_VALUE                                        = 15114, 
    	// No Candidate found.
    	MRM_NO_CANDIDATE                                                   = 15115, 
    	// The ResourceMap or NamedResource has an item that does not have default or neutral resource..
    	MRM_NO_MATCH_OR_DEFAULT_CANDIDATE                                  = 15116, 
    	// Invalid ResourceCandidate type.
    	MRM_RESOURCE_TYPE_MISMATCH                                         = 15117, 
    	// Duplicate Resource Map.
    	MRM_DUPLICATE_MAP_NAME                                             = 15118, 
    	// Duplicate Entry.
    	MRM_DUPLICATE_ENTRY                                                = 15119, 
    	// Invalid Resource Identifier.
    	MRM_INVALID_RESOURCE_IDENTIFIER                                    = 15120, 
    	// Filepath too long.
    	MRM_FILEPATH_TOO_LONG                                              = 15121, 
    	// Unsupported directory type.
    	MRM_UNSUPPORTED_DIRECTORY_TYPE                                     = 15122, 
    	// Invalid PRI File.
    	MRM_INVALID_PRI_FILE                                               = 15126, 
    	// NamedResource Not Found.
    	MRM_NAMED_RESOURCE_NOT_FOUND                                       = 15127, 
    	// ResourceMap Not Found.
    	MRM_MAP_NOT_FOUND                                                  = 15135, 
    	// Unsupported MRT profile type.
    	MRM_UNSUPPORTED_PROFILE_TYPE                                       = 15136, 
    	// Invalid qualifier operator.
    	MRM_INVALID_QUALIFIER_OPERATOR                                     = 15137, 
    	// Unable to determine qualifier value or qualifier value has not been set.
    	MRM_INDETERMINATE_QUALIFIER_VALUE                                  = 15138, 
    	// Automerge is enabled in the PRI file.
    	MRM_AUTOMERGE_ENABLED                                              = 15139, 
    	// Too many resources defined for package.
    	MRM_TOO_MANY_RESOURCES                                             = 15140, 
    	// 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                                    = 15200, 
    	// The monitor's VCP Version (0xDF) VCP code returned an invalid version value.
    	MCA_INVALID_VCP_VERSION                                            = 15201, 
    	// The monitor does not comply with the MCCS specification it claims to support.
    	MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION                            = 15202, 
    	// 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                                          = 15203, 
    	// 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                                       = 15204, 
    	// An internal Monitor Configuration API error occurred.
    	MCA_INTERNAL_ERROR                                                 = 15205, 
    	// 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                               = 15206, 
    	// 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                                  = 15207, 
    	// The requested system device cannot be identified due to multiple indistinguishable devices potentially matching the identification criteria.
    	AMBIGUOUS_SYSTEM_DEVICE                                            = 15250, 
    	// The requested system device cannot be found.
    	SYSTEM_DEVICE_NOT_FOUND                                            = 15299, 
    	// Hash generation for the specified hash version and hash type is not enabled on the server.
    	HASH_NOT_SUPPORTED                                                 = 15300, 
    	// The hash requested from the server is not available or no longer valid.
    	HASH_NOT_PRESENT                                                   = 15301, 
    	// The secondary interrupt controller instance that manages the specified interrupt is not registered.
    	SECONDARY_IC_PROVIDER_NOT_REGISTERED                               = 15321, 
    	// The information supplied by the GPIO client driver is invalid.
    	GPIO_CLIENT_INFORMATION_INVALID                                    = 15322, 
    	// The version specified by the GPIO client driver is not supported.
    	GPIO_VERSION_NOT_SUPPORTED                                         = 15323, 
    	// The registration packet supplied by the GPIO client driver is not valid.
    	GPIO_INVALID_REGISTRATION_PACKET                                   = 15324, 
    	// The requested operation is not supported for the specified handle.
    	GPIO_OPERATION_DENIED                                              = 15325, 
    	// The requested connect mode conflicts with an existing mode on one or more of the specified pins.
    	GPIO_INCOMPATIBLE_CONNECT_MODE                                     = 15326, 
    	// The interrupt requested to be unmasked is not masked.
    	GPIO_INTERRUPT_ALREADY_UNMASKED                                    = 15327, 
    	// The requested run level switch cannot be completed successfully.
    	CANNOT_SWITCH_RUNLEVEL                                             = 15400, 
    	// 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                                           = 15401, 
    	// 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                                            = 15402, 
    	// A run level switch agent did not respond within the specified timeout.
    	RUNLEVEL_SWITCH_AGENT_TIMEOUT                                      = 15403, 
    	// A run level switch is currently in progress.
    	RUNLEVEL_SWITCH_IN_PROGRESS                                        = 15404, 
    	// One or more services failed to start during the service startup phase of a run level switch.
    	SERVICES_FAILED_AUTOSTART                                          = 15405, 
    	// The task stop request cannot be completed immediately since task needs more time to shutdown.
    	COM_TASK_STOP_PENDING                                              = 15501, 
    	// Package could not be opened.
    	INSTALL_OPEN_PACKAGE_FAILED                                        = 15600, 
    	// Package was not found.
    	INSTALL_PACKAGE_NOT_FOUND                                          = 15601, 
    	// Package data is invalid.
    	INSTALL_INVALID_PACKAGE                                            = 15602, 
    	// Package failed updates, dependency or conflict validation.
    	INSTALL_RESOLVE_DEPENDENCY_FAILED                                  = 15603, 
    	// There is not enough disk space on your computer. Please free up some space and try again.
    	INSTALL_OUT_OF_DISK_SPACE                                          = 15604, 
    	// There was a problem downloading your product.
    	INSTALL_NETWORK_FAILURE                                            = 15605, 
    	// Package could not be registered.
    	INSTALL_REGISTRATION_FAILURE                                       = 15606, 
    	// Package could not be unregistered.
    	INSTALL_DEREGISTRATION_FAILURE                                     = 15607, 
    	// User cancelled the install request.
    	INSTALL_CANCEL                                                     = 15608, 
    	// Install failed. Please contact your software vendor.
    	INSTALL_FAILED                                                     = 15609, 
    	// Removal failed. Please contact your software vendor.
    	REMOVE_FAILED                                                      = 15610, 
    	// The provided package is already installed, and reinstallation of the package was blocked. Check the AppXDeployment-Server event log for details.
    	PACKAGE_ALREADY_EXISTS                                             = 15611, 
    	// The application cannot be started. Try reinstalling the application to fix the problem.
    	NEEDS_REMEDIATION                                                  = 15612, 
    	// A Prerequisite for an install could not be satisfied.
    	INSTALL_PREREQUISITE_FAILED                                        = 15613, 
    	// The package repository is corrupted.
    	PACKAGE_REPOSITORY_CORRUPTED                                       = 15614, 
    	// To install this application you need either a Windows developer license or a sideloading-enabled system.
    	INSTALL_POLICY_FAILURE                                             = 15615, 
    	// The application cannot be started because it is currently updating.
    	PACKAGE_UPDATING                                                   = 15616, 
    	// The package deployment operation is blocked by policy. Please contact your system administrator.
    	DEPLOYMENT_BLOCKED_BY_POLICY                                       = 15617, 
    	// The package could not be installed because resources it modifies are currently in use.
    	PACKAGES_IN_USE                                                    = 15618, 
    	// The package could not be recovered because necessary data for recovery have been corrupted.
    	RECOVERY_FILE_CORRUPT                                              = 15619, 
    	// 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                                           = 15620, 
    	// An error occurred while deleting the package's previously existing application data.
    	DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED                     = 15621, 
    	// The package could not be installed because a higher version of this package is already installed.
    	INSTALL_PACKAGE_DOWNGRADE                                          = 15622, 
    	// An error in a system binary was detected. Try refreshing the PC to fix the problem.
    	SYSTEM_NEEDS_REMEDIATION                                           = 15623, 
    	// A corrupted CLR NGEN binary was detected on the system.
    	APPX_INTEGRITY_FAILURE_CLR_NGEN                                    = 15624, 
    	// The operation could not be resumed because necessary data for recovery have been corrupted.
    	RESILIENCY_FILE_CORRUPT                                            = 15625, 
    	// 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                               = 15626, 
    	// The process has no package identity.
    	APPMODEL_ERROR_NO_PACKAGE                                          = 15700, 
    	// The package runtime information is corrupted.
    	APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT                             = 15701, 
    	// The package identity is corrupted.
    	APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT                            = 15702, 
    	// The process has no application identity.
    	APPMODEL_ERROR_NO_APPLICATION                                      = 15703, 
    	// Loading the state store failed.
    	STATE_LOAD_STORE_FAILED                                            = 15800, 
    	// Retrieving the state version for the application failed.
    	STATE_GET_VERSION_FAILED                                           = 15801, 
    	// Setting the state version for the application failed.
    	STATE_SET_VERSION_FAILED                                           = 15802, 
    	// Resetting the structured state of the application failed.
    	STATE_STRUCTURED_RESET_FAILED                                      = 15803, 
    	// State Manager failed to open the container.
    	STATE_OPEN_CONTAINER_FAILED                                        = 15804, 
    	// State Manager failed to create the container.
    	STATE_CREATE_CONTAINER_FAILED                                      = 15805, 
    	// State Manager failed to delete the container.
    	STATE_DELETE_CONTAINER_FAILED                                      = 15806, 
    	// State Manager failed to read the setting.
    	STATE_READ_SETTING_FAILED                                          = 15807, 
    	// State Manager failed to write the setting.
    	STATE_WRITE_SETTING_FAILED                                         = 15808, 
    	// State Manager failed to delete the setting.
    	STATE_DELETE_SETTING_FAILED                                        = 15809, 
    	// State Manager failed to query the setting.
    	STATE_QUERY_SETTING_FAILED                                         = 15810, 
    	// State Manager failed to read the composite setting.
    	STATE_READ_COMPOSITE_SETTING_FAILED                                = 15811, 
    	// State Manager failed to write the composite setting.
    	STATE_WRITE_COMPOSITE_SETTING_FAILED                               = 15812, 
    	// State Manager failed to enumerate the containers.
    	STATE_ENUMERATE_CONTAINER_FAILED                                   = 15813, 
    	// State Manager failed to enumerate the settings.
    	STATE_ENUMERATE_SETTINGS_FAILED                                    = 15814, 
    	// The size of the state manager composite setting value has exceeded the limit.
    	STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED                  = 15815, 
    	// The size of the state manager setting value has exceeded the limit.
    	STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED                            = 15816, 
    	// The length of the state manager setting name has exceeded the limit.
    	STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED                             = 15817, 
    	// The length of the state manager container name has exceeded the limit.
    	STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED                           = 15818, 
    	// This API cannot be used in the context of the caller's application type.
    	API_UNAVAILABLE                                                    = 15841, 
    }

    TBPFLAG ¶

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

    TEXTMETRICW ¶

    TEXTMETRICW :: struct {
    	tmHeight:           i32,
    	tmAscent:           i32,
    	tmDescent:          i32,
    	tmInternalLeading:  i32,
    	tmExternalLeading:  i32,
    	tmAveCharWidth:     i32,
    	tmMaxCharWidth:     i32,
    	tmWeight:           i32,
    	tmOverhang:         i32,
    	tmDigitizedAspectX: i32,
    	tmDigitizedAspectY: i32,
    	tmFirstChar:        u16,
    	tmLastChar:         u16,
    	tmDefaultChar:      u16,
    	tmBreakChar:        u16,
    	tmItalic:           BYTE,
    	tmUnderlined:       BYTE,
    	tmStruckOut:        BYTE,
    	tmPitchAndFamily:   BYTE,
    	tmCharSet:          BYTE,
    }
    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       = 1, 
    	DISMISSONCLICK = 2, 
    	NOBACKGROUND   = 4, 
    	HIDDEN         = 8, 
    	NONINTERACTIVE = 16, 
    }

    THUMBBUTTONMASK ¶

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

    TIMECAPS ¶

    TIMECAPS :: struct {
    	wPeriodMin: u32,
    	wPeriodMax: u32,
    }
    Related Procedures With Parameters

    TIMERPROC ¶

    TIMERPROC :: proc "stdcall" (_: HWND, _: u32, _: uintptr, _: u32)
    Related Procedures With Parameters

    TIME_ZONE_INFORMATION ¶

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

    TRACKMOUSEEVENT ¶

    TRACKMOUSEEVENT :: struct {
    	cbSize:      u32,
    	dwFlags:     u32,
    	hwndTrack:   HWND,
    	dwHoverTime: u32,
    }
    Related Procedures With Parameters

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

    UINT16 ¶

    UINT16 :: u16

    UINT32 ¶

    UINT32 :: u32

    UINT64 ¶

    UINT64 :: u64

    UINT8 ¶

    UINT8 :: u8

    ULARGE_INTEGER ¶

    ULARGE_INTEGER :: distinct u64
    Related Procedures With Parameters

    ULONG ¶

    ULONG :: u32

    ULONG32 ¶

    ULONG32 :: u32

    ULONG64 ¶

    ULONG64 :: u64

    ULONGLONG ¶

    ULONGLONG :: u64

    ULONG_PTR ¶

    ULONG_PTR :: uint

    UNICODE_STRING ¶

    UNICODE_STRING :: struct {
    	Length:        u16,
    	MaximumLength: u16,
    	Buffer:        ^u16,
    }

    USAGE ¶

    USAGE :: distinct u16
    Related Procedures With Parameters

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

    USER_INFO_FLAGS :: distinct bit_set[USER_INFO_FLAG]

    USER_PRIV ¶

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

    USHORT ¶

    USHORT :: u16

    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

    WAVEFORMATEX ¶

    WAVEFORMATEX :: struct {
    	wFormatTag:      u16,
    	nChannels:       u16,
    	nSamplesPerSec:  u32,
    	nAvgBytesPerSec: u32,
    	nBlockAlign:     u16,
    	wBitsPerSample:  u16,
    	cbSize:          u16,
    }
    Related Procedures With Parameters

    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,
    }
    Related Procedures With Parameters

    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,
    }
    Related Procedures With Parameters

    WCHAR ¶

    WCHAR :: u16

    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,
    	// #define MAX_PATH 260
    	cAlternateFileName: [14]u16,
    }
    Related Procedures With Parameters

    WIN32_MEMORY_INFORMATION_CLASS ¶

    WIN32_MEMORY_INFORMATION_CLASS :: enum i32 {
    	MemoryRegionInfo, 
    }
    Related Procedures With Parameters
    Related Constants

    WIN32_MEMORY_RANGE_ENTRY ¶

    WIN32_MEMORY_RANGE_ENTRY :: struct {
    	VirtualAddress: rawptr,
    	NumberOfBytes:  uint,
    }
    Related Procedures With Parameters

    WIN32_MEMORY_REGION_INFORMATION ¶

    WIN32_MEMORY_REGION_INFORMATION :: struct {
    	AllocationBase:    rawptr,
    	AllocationProtect: u32,
    	u:                 WIN32_MEMORY_REGION_INFORMATION_u,
    	RegionSize:        uint,
    	CommitSize:        uint,
    }

    WIN32_MEMORY_REGION_INFORMATION_u ¶

    WIN32_MEMORY_REGION_INFORMATION_u :: struct #raw_union {
    	u:     [1]u32,
    	Flags: u32,
    	s:     WIN32_MEMORY_REGION_INFORMATION_u_s,
    }

    WIN32_MEMORY_REGION_INFORMATION_u_s ¶

    WIN32_MEMORY_REGION_INFORMATION_u_s :: struct {
    	Bitfield: u32,
    }

    WIN32_MEMORY_REGION_INFORMATION_u_s_Bitfield ¶

    WIN32_MEMORY_REGION_INFORMATION_u_s_Bitfield :: distinct u32

    WINDOWINFO ¶

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

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

    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:  [^]u16,
    	lpszClassName: [^]u16,
    	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:  [^]u16,
    	lpszClassName: [^]u16,
    }
    Related Procedures With Parameters

    WNDPROC ¶

    WNDPROC :: proc "stdcall" (_: HWND, _: u32, _: uintptr, _: int) -> int
    Related Procedures With Parameters

    WSABUF ¶

    WSABUF :: struct {
    	len: u32,
    	buf: ^u8,
    }
    Related Procedures With Parameters

    WSADATA ¶

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

    WSANETWORKEVENTS ¶

    WSANETWORKEVENTS :: struct {
    	lNetworkEvents: i32,
    	iErrorCode:     [10]i32,
    }
    Related Procedures With Parameters

    WSAPROTOCOLCHAIN ¶

    WSAPROTOCOLCHAIN :: struct {
    	ChainLen:     i32,
    	ChainEntries: [7]u32,
    }

    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,
    }
    Related Procedures With Parameters

    Window_Enum_Proc ¶

    Window_Enum_Proc :: proc "stdcall" (_: HWND, _: int) -> BOOL
    Related Procedures With Parameters

    Windows_Product_Type ¶

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

    c_char ¶

    c_char :: u8

    c_int ¶

    c_int :: i32

    c_long ¶

    c_long :: i32

    c_longlong ¶

    c_longlong :: i64

    c_short ¶

    c_short :: i16

    c_uchar ¶

    c_uchar :: u8

    c_uint ¶

    c_uint :: u32

    c_ulong ¶

    c_ulong :: u32

    c_ulonglong ¶

    c_ulonglong :: u64

    c_ushort ¶

    c_ushort :: u16

    fd_set ¶

    fd_set :: struct {
    	fd_count: u32,
    	fd_array: [64]SOCKET,
    }
    Related Procedures With Parameters

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

    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

    wchar_t ¶

    wchar_t :: u16

    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 :: [^]u16

    Constants

    ABE_BOTTOM ¶

    ABE_BOTTOM :: 3

    ABE_LEFT ¶

    ABE_LEFT :: 0

    ABE_RIGHT ¶

    ABE_RIGHT :: 2

    ABE_TOP ¶

    ABE_TOP :: 1

    ABM_ACTIVATE ¶

    ABM_ACTIVATE :: 0x00000006

    ABM_GETAUTOHIDEBAR ¶

    ABM_GETAUTOHIDEBAR :: 0x00000007

    ABM_GETSTATE ¶

    ABM_GETSTATE :: 0x00000004

    ABM_GETTASKBARPOS ¶

    ABM_GETTASKBARPOS :: 0x00000005

    ABM_NEW ¶

    ABM_NEW :: 0x00000000

    ABM_QUERYPOS ¶

    ABM_QUERYPOS :: 0x00000002

    ABM_REMOVE ¶

    ABM_REMOVE :: 0x00000001

    ABM_SETAUTOHIDEBAR ¶

    ABM_SETAUTOHIDEBAR :: 0x00000008

    ABM_SETPOS ¶

    ABM_SETPOS :: 0x00000003

    ABM_SETSTATE ¶

    ABM_SETSTATE :: 0x0000000a

    ABM_WINDOWPOSCHANGED ¶

    ABM_WINDOWPOSCHANGED :: 0x0000009

    ABN_FULLSCREENAPP ¶

    ABN_FULLSCREENAPP :: 0x0000002

    ABN_POSCHANGED ¶

    ABN_POSCHANGED :: 0x0000001

    ABN_STATECHANGE ¶

    ABN_STATECHANGE :: 0x0000000

    ABN_WINDOWARRANGE ¶

    ABN_WINDOWARRANGE :: 0x0000003

    ABOVE_NORMAL_PRIORITY_CLASS ¶

    ABOVE_NORMAL_PRIORITY_CLASS :: 0x00008000

    ABS_ALWAYSONTOP ¶

    ABS_ALWAYSONTOP :: 0x0000002

    ABS_AUTOHIDE ¶

    ABS_AUTOHIDE :: 0x0000001

    ACCESS_FILTER_SECURITY_INFORMATION ¶

    ACCESS_FILTER_SECURITY_INFORMATION :: 0x00000100

    ACM_OPENA ¶

    ACM_OPENA :: 0x0464

    ACM_OPENW ¶

    ACM_OPENW :: 0x0467

    ACM_PLAY ¶

    ACM_PLAY :: 0x0465

    ACM_STOP ¶

    ACM_STOP :: 0x0466

    AF_BTH ¶

    AF_BTH: i32 : 32
     

    Bluetooth

    AF_INET ¶

    AF_INET: i32 : 2
     

    IPv4

    AF_INET6 ¶

    AF_INET6: i32 : 23
     

    IPv6

    AF_IRDA ¶

    AF_IRDA: i32 : 26
     

    Infrared

    AF_UNSPEC ¶

    AF_UNSPEC: i32 : 0
     

    Address families

    ANSI_FIXED_FONT ¶

    ANSI_FIXED_FONT :: 11

    ANSI_VAR_FONT ¶

    ANSI_VAR_FONT :: 12

    ANYSIZE_ARRAY ¶

    ANYSIZE_ARRAY :: 1

    ATTRIBUTE_SECURITY_INFORMATION ¶

    ATTRIBUTE_SECURITY_INFORMATION :: 0x00000020

    AURL_DISABLEMIXEDLGC ¶

    AURL_DISABLEMIXEDLGC :: 32
     

    Disable mixed Latin Greek Cyrillic IDNs

    AURL_ENABLEDRIVELETTERS ¶

    AURL_ENABLEDRIVELETTERS :: 16

    AURL_ENABLEEAURLS ¶

    AURL_ENABLEEAURLS :: 8

    AURL_ENABLEEMAILADDR ¶

    AURL_ENABLEEMAILADDR :: 2

    AURL_ENABLETELNO ¶

    AURL_ENABLETELNO :: 4

    AURL_ENABLEURL ¶

    AURL_ENABLEURL :: 1

    BACKGROUND_BLUE ¶

    BACKGROUND_BLUE: u16 : WORD(0x0010)

    BACKGROUND_GREEN ¶

    BACKGROUND_GREEN: u16 : WORD(0x0020)

    BACKGROUND_INTENSITY ¶

    BACKGROUND_INTENSITY: u16 : WORD(0x0080)

    BACKGROUND_RED ¶

    BACKGROUND_RED: u16 : WORD(0x0040)

    BACKUP_SECURITY_INFORMATION ¶

    BACKUP_SECURITY_INFORMATION :: 0x00010000

    BCM_FIRST ¶

    BCM_FIRST :: 0x1600

    BCM_GETNOTE ¶

    BCM_GETNOTE :: BCM_FIRST + 0x000A

    BCM_GETNOTELENGTH ¶

    BCM_GETNOTELENGTH :: BCM_FIRST + 0x000B

    BCM_GETSPLITINFO ¶

    BCM_GETSPLITINFO :: BCM_FIRST + 0x0008

    BCM_SETDROPDOWNSTATE ¶

    BCM_SETDROPDOWNSTATE :: BCM_FIRST + 0x0006

    BCM_SETNOTE ¶

    BCM_SETNOTE :: BCM_FIRST + 0x0009

    BCM_SETSHIELD ¶

    BCM_SETSHIELD :: BCM_FIRST + 0x000C

    BCM_SETSPLITINFO ¶

    BCM_SETSPLITINFO :: BCM_FIRST + 0x0007

    BCRYPT_USE_SYSTEM_PREFERRED_RNG ¶

    BCRYPT_USE_SYSTEM_PREFERRED_RNG: u32 : 0x00000002

    BELOW_NORMAL_PRIORITY_CLASS ¶

    BELOW_NORMAL_PRIORITY_CLASS :: 0x00004000

    BFFM_ENABLEOK ¶

    BFFM_ENABLEOK :: 0x0465

    BFFM_SETSELECTIONA ¶

    BFFM_SETSELECTIONA :: 0x0466

    BFFM_SETSELECTIONW ¶

    BFFM_SETSELECTIONW :: 0x0467

    BFFM_SETSTATUSTEXTA ¶

    BFFM_SETSTATUSTEXTA :: 0x0464

    BFFM_SETSTATUSTEXTW ¶

    BFFM_SETSTATUSTEXTW :: 0x0468

    BI_BITFIELDS ¶

    BI_BITFIELDS :: 3

    BI_JPEG ¶

    BI_JPEG :: 4

    BI_PNG ¶

    BI_PNG :: 5

    BI_RGB ¶

    BI_RGB :: 0
     

    constants for the biCompression field

    BI_RLE4 ¶

    BI_RLE4 :: 2

    BI_RLE8 ¶

    BI_RLE8 :: 1

    BLACKNESS ¶

    BLACKNESS: u32 : 0x00000042
     

    dest = BLACK

    BLACKONWHITE ¶

    BLACKONWHITE :: 1
     

    StretchBlt() Modes

    BLACK_BRUSH ¶

    BLACK_BRUSH :: 4

    BLACK_PEN ¶

    BLACK_PEN :: 7

    BLUETOOTH_MAX_NAME_SIZE ¶

    BLUETOOTH_MAX_NAME_SIZE :: 248

    BM_CLICK ¶

    BM_CLICK :: 0x00f5

    BM_GETCHECK ¶

    BM_GETCHECK :: 0x00f0

    BM_GETIMAGE ¶

    BM_GETIMAGE :: 0x00f6

    BM_GETSTATE ¶

    BM_GETSTATE :: 0x00f2

    BM_SETCHECK ¶

    BM_SETCHECK :: 0x00f1

    BM_SETDONTCLICK ¶

    BM_SETDONTCLICK :: 0x00f8

    BM_SETIMAGE ¶

    BM_SETIMAGE :: 0x00f7

    BM_SETSTATE ¶

    BM_SETSTATE :: 0x00f3

    BM_SETSTYLE ¶

    BM_SETSTYLE :: 0x00f4

    BN_CLICKED ¶

    BN_CLICKED :: 0
     

    User Button Notification Codes

    BN_DBLCLK ¶

    BN_DBLCLK :: BN_DOUBLECLICKED

    BN_DISABLE ¶

    BN_DISABLE :: 4

    BN_DOUBLECLICKED ¶

    BN_DOUBLECLICKED :: 5

    BN_HILITE ¶

    BN_HILITE :: 2

    BN_KILLFOCUS ¶

    BN_KILLFOCUS :: 7

    BN_PAINT ¶

    BN_PAINT :: 1

    BN_PUSHED ¶

    BN_PUSHED :: BN_HILITE

    BN_SETFOCUS ¶

    BN_SETFOCUS :: 6

    BN_UNHILITE ¶

    BN_UNHILITE :: 3

    BN_UNPUSHED ¶

    BN_UNPUSHED :: BN_UNHILITE

    BROADCAST_QUERY_DENY ¶

    BROADCAST_QUERY_DENY :: 0x424D5144

    BSF_ALLOWSFW ¶

    BSF_ALLOWSFW :: 0x00000080

    BSF_FLUSHDISK ¶

    BSF_FLUSHDISK :: 0x00000004

    BSF_FORCEIFHUNG ¶

    BSF_FORCEIFHUNG :: 0x00000020

    BSF_IGNORECURRENTTASK ¶

    BSF_IGNORECURRENTTASK :: 0x00000002

    BSF_LUID ¶

    BSF_LUID :: 0x00000400

    BSF_NOHANG ¶

    BSF_NOHANG :: 0x00000008

    BSF_NOTIMEOUTIFNOTHUNG ¶

    BSF_NOTIMEOUTIFNOTHUNG :: 0x00000040

    BSF_POSTMESSAGE ¶

    BSF_POSTMESSAGE :: 0x00000010

    BSF_QUERY ¶

    BSF_QUERY :: 0x00000001
     

    Broadcast Special Message Flags

    BSF_RETURNHDESK ¶

    BSF_RETURNHDESK :: 0x00000200

    BSF_SENDNOTIFYMESSAGE ¶

    BSF_SENDNOTIFYMESSAGE :: 0x00000100

    BSM_ALLCOMPONENTS ¶

    BSM_ALLCOMPONENTS :: 0x00000000
     

    Broadcast Special Message Recipient list

    BSM_ALLDESKTOPS ¶

    BSM_ALLDESKTOPS :: 0x00000010

    BSM_APPLICATIONS ¶

    BSM_APPLICATIONS :: 0x00000008

    BSM_INSTALLABLEDRIVERS ¶

    BSM_INSTALLABLEDRIVERS :: 0x00000004

    BSM_NETDRIVER ¶

    BSM_NETDRIVER :: 0x00000002

    BSM_VXDS ¶

    BSM_VXDS :: 0x00000001

    BST_CHECKED ¶

    BST_CHECKED :: 0x0001

    BST_FOCUS ¶

    BST_FOCUS :: 0x0008

    BST_INDETERMINATE ¶

    BST_INDETERMINATE :: 0x0002

    BST_PUSHED ¶

    BST_PUSHED :: 0x0004

    BST_UNCHECKED ¶

    BST_UNCHECKED :: 0x0000
     

    Button Control Messages

    BS_3STATE ¶

    BS_3STATE :: 0x00000005

    BS_AUTO3STATE ¶

    BS_AUTO3STATE :: 0x00000006

    BS_AUTOCHECKBOX ¶

    BS_AUTOCHECKBOX :: 0x00000003

    BS_AUTORADIOBUTTON ¶

    BS_AUTORADIOBUTTON :: 0x00000009

    BS_BITMAP ¶

    BS_BITMAP :: 0x00000080

    BS_BOTTOM ¶

    BS_BOTTOM :: 0x00000800

    BS_CENTER ¶

    BS_CENTER :: 0x00000300

    BS_CHECKBOX ¶

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

    BS_DEFPUSHBUTTON ¶

    BS_DEFPUSHBUTTON :: 0x00000001

    BS_DEFSPLITBUTTON ¶

    BS_DEFSPLITBUTTON :: 0x0000000D

    BS_FLAT ¶

    BS_FLAT :: 0x00008000

    BS_GROUPBOX ¶

    BS_GROUPBOX :: 0x00000007

    BS_ICON ¶

    BS_ICON :: 0x00000040

    BS_LEFT ¶

    BS_LEFT :: 0x00000100

    BS_LEFTTEXT ¶

    BS_LEFTTEXT :: 0x00000020

    BS_MULTILINE ¶

    BS_MULTILINE :: 0x00002000

    BS_NOTIFY ¶

    BS_NOTIFY :: 0x00004000

    BS_OWNERDRAW ¶

    BS_OWNERDRAW :: 0x0000000B

    BS_PUSHBOX ¶

    BS_PUSHBOX :: 0x0000000A

    BS_PUSHBUTTON ¶

    BS_PUSHBUTTON :: 0x00000000
     

    Button Control Styles

    BS_PUSHLIKE ¶

    BS_PUSHLIKE :: 0x00001000

    BS_RADIOBUTTON ¶

    BS_RADIOBUTTON :: 0x00000004

    BS_RIGHT ¶

    BS_RIGHT :: 0x00000200

    BS_RIGHTBUTTON ¶

    BS_RIGHTBUTTON :: BS_LEFTTEXT

    BS_SPLITBUTTON ¶

    BS_SPLITBUTTON :: 0x0000000C

    BS_TEXT ¶

    BS_TEXT :: 0x00000000

    BS_TOP ¶

    BS_TOP :: 0x00000400

    BS_TYPEMASK ¶

    BS_TYPEMASK :: 0x0000000F

    BS_USERBUTTON ¶

    BS_USERBUTTON :: 0x00000008

    BS_VCENTER ¶

    BS_VCENTER :: 0x00000C00

    BTHPROTO_RFCOMM ¶

    BTHPROTO_RFCOMM: i32 : 3
     

    Bluetooth: AF_BTH + SOCK_STREAM

    CALLBACK_EVENT ¶

    CALLBACK_EVENT :: 0x00050000
     

    dwCallback is an EVENT Handle

    CALLBACK_FUNCTION ¶

    CALLBACK_FUNCTION :: 0x00030000
     

    dwCallback is a FARPROC

    CALLBACK_NULL ¶

    CALLBACK_NULL :: 0x00000000
     

    no callback

    CALLBACK_TASK ¶

    CALLBACK_TASK :: 0x00020000
     

    dwCallback is a HTASK

    CALLBACK_THREAD ¶

    CALLBACK_THREAD :: CALLBACK_TASK
     

    thread ID replaces 16 bit task

    CALLBACK_TYPEMASK ¶

    CALLBACK_TYPEMASK :: 0x00070000
     

    callback type mask

    CALLBACK_WINDOW ¶

    CALLBACK_WINDOW :: 0x00010000
     

    dwCallback is a HWND

    CAPTUREBLT ¶

    CAPTUREBLT: u32 : 0x40000000
     

    Include layered windows

    CBEM_GETCOMBOCONTROL ¶

    CBEM_GETCOMBOCONTROL :: 0x0406

    CBEM_GETEDITCONTROL ¶

    CBEM_GETEDITCONTROL :: 0x0407

    CBEM_GETEXSTYLE ¶

    CBEM_GETEXSTYLE :: 0x0409

    CBEM_GETEXTENDEDSTYLE ¶

    CBEM_GETEXTENDEDSTYLE :: 0x0409

    CBEM_GETIMAGELIST ¶

    CBEM_GETIMAGELIST :: 0x0403

    CBEM_GETITEMA ¶

    CBEM_GETITEMA :: 0x0404

    CBEM_GETITEMW ¶

    CBEM_GETITEMW :: 0x040d

    CBEM_HASEDITCHANGED ¶

    CBEM_HASEDITCHANGED :: 0x040a

    CBEM_INSERTITEMA ¶

    CBEM_INSERTITEMA :: 0x0401

    CBEM_INSERTITEMW ¶

    CBEM_INSERTITEMW :: 0x040b

    CBEM_SETEXSTYLE ¶

    CBEM_SETEXSTYLE :: 0x0408

    CBEM_SETEXTENDEDSTYLE ¶

    CBEM_SETEXTENDEDSTYLE :: 0x040e

    CBEM_SETIMAGELIST ¶

    CBEM_SETIMAGELIST :: 0x0402

    CBEM_SETITEMA ¶

    CBEM_SETITEMA :: 0x0405

    CBEM_SETITEMW ¶

    CBEM_SETITEMW :: 0x040c

    CBM_INIT ¶

    CBM_INIT :: 0x04
     

    constants for CreateDIBitmap

    CBN_CLOSEUP ¶

    CBN_CLOSEUP :: 8

    CBN_DBLCLK ¶

    CBN_DBLCLK :: 2

    CBN_DROPDOWN ¶

    CBN_DROPDOWN :: 7

    CBN_EDITCHANGE ¶

    CBN_EDITCHANGE :: 5

    CBN_EDITUPDATE ¶

    CBN_EDITUPDATE :: 6

    CBN_ERRSPACE ¶

    CBN_ERRSPACE :: -1
     

    Combo Box Notification Codes

    CBN_KILLFOCUS ¶

    CBN_KILLFOCUS :: 4

    CBN_SELCHANGE ¶

    CBN_SELCHANGE :: 1

    CBN_SELENDCANCEL ¶

    CBN_SELENDCANCEL :: 10

    CBN_SELENDOK ¶

    CBN_SELENDOK :: 9

    CBN_SETFOCUS ¶

    CBN_SETFOCUS :: 3

    CBS_AUTOHSCROLL ¶

    CBS_AUTOHSCROLL :: 0x0040

    CBS_DISABLENOSCROLL ¶

    CBS_DISABLENOSCROLL :: 0x0800

    CBS_DROPDOWN ¶

    CBS_DROPDOWN :: 0x0002

    CBS_DROPDOWNLIST ¶

    CBS_DROPDOWNLIST :: 0x0003

    CBS_HASSTRINGS ¶

    CBS_HASSTRINGS :: 0x0200

    CBS_LOWERCASE ¶

    CBS_LOWERCASE :: 0x4000

    CBS_NOINTEGRALHEIGHT ¶

    CBS_NOINTEGRALHEIGHT :: 0x0400

    CBS_OEMCONVERT ¶

    CBS_OEMCONVERT :: 0x0080

    CBS_OWNERDRAWFIXED ¶

    CBS_OWNERDRAWFIXED :: 0x0010

    CBS_OWNERDRAWVARIABLE ¶

    CBS_OWNERDRAWVARIABLE :: 0x0020

    CBS_SIMPLE ¶

    CBS_SIMPLE :: 0x0001
     

    Combo Box styles

    CBS_SORT ¶

    CBS_SORT :: 0x0100

    CBS_UPPERCASE ¶

    CBS_UPPERCASE :: 0x2000

    CB_ADDSTRING ¶

    CB_ADDSTRING :: 0x0143

    CB_DELETESTRING ¶

    CB_DELETESTRING :: 0x0144

    CB_DIR ¶

    CB_DIR :: 0x0145

    CB_FINDSTRING ¶

    CB_FINDSTRING :: 0x014c

    CB_FINDSTRINGEXACT ¶

    CB_FINDSTRINGEXACT :: 0x0158

    CB_GETCOMBOBOXINFO ¶

    CB_GETCOMBOBOXINFO :: 0x0164

    CB_GETCOUNT ¶

    CB_GETCOUNT :: 0x0146

    CB_GETCURSEL ¶

    CB_GETCURSEL :: 0x0147

    CB_GETDROPPEDCONTROLRECT ¶

    CB_GETDROPPEDCONTROLRECT :: 0x0152

    CB_GETDROPPEDSTATE ¶

    CB_GETDROPPEDSTATE :: 0x0157

    CB_GETDROPPEDWIDTH ¶

    CB_GETDROPPEDWIDTH :: 0x015f

    CB_GETEDITSEL ¶

    CB_GETEDITSEL :: 0x0140

    CB_GETEXTENDEDUI ¶

    CB_GETEXTENDEDUI :: 0x0156

    CB_GETHORIZONTALEXTENT ¶

    CB_GETHORIZONTALEXTENT :: 0x015d

    CB_GETITEMDATA ¶

    CB_GETITEMDATA :: 0x0150

    CB_GETITEMHEIGHT ¶

    CB_GETITEMHEIGHT :: 0x0154

    CB_GETLBTEXT ¶

    CB_GETLBTEXT :: 0x0148

    CB_GETLBTEXTLEN ¶

    CB_GETLBTEXTLEN :: 0x0149

    CB_GETLOCALE ¶

    CB_GETLOCALE :: 0x015a

    CB_GETTOPINDEX ¶

    CB_GETTOPINDEX :: 0x015b

    CB_INITSTORAGE ¶

    CB_INITSTORAGE :: 0x0161

    CB_INSERTSTRING ¶

    CB_INSERTSTRING :: 0x014a

    CB_LIMITTEXT ¶

    CB_LIMITTEXT :: 0x0141

    CB_MSGMAX ¶

    CB_MSGMAX :: 0x0165

    CB_MULTIPLEADDSTRING ¶

    CB_MULTIPLEADDSTRING :: 0x0163

    CB_RESETCONTENT ¶

    CB_RESETCONTENT :: 0x014b

    CB_SELECTSTRING ¶

    CB_SELECTSTRING :: 0x014d

    CB_SETCURSEL ¶

    CB_SETCURSEL :: 0x014e

    CB_SETDROPPEDWIDTH ¶

    CB_SETDROPPEDWIDTH :: 0x0160

    CB_SETEDITSEL ¶

    CB_SETEDITSEL :: 0x0142

    CB_SETEXTENDEDUI ¶

    CB_SETEXTENDEDUI :: 0x0155

    CB_SETHORIZONTALEXTENT ¶

    CB_SETHORIZONTALEXTENT :: 0x015e

    CB_SETITEMDATA ¶

    CB_SETITEMDATA :: 0x0151

    CB_SETITEMHEIGHT ¶

    CB_SETITEMHEIGHT :: 0x0153

    CB_SETLOCALE ¶

    CB_SETLOCALE :: 0x0159

    CB_SETTOPINDEX ¶

    CB_SETTOPINDEX :: 0x015c

    CB_SHOWDROPDOWN ¶

    CB_SHOWDROPDOWN :: 0x014f

    CCHDEVICENAME ¶

    CCHDEVICENAME :: 32

    CDERR_DIALOGFAILURE ¶

    CDERR_DIALOGFAILURE :: 0x0000FFFF

    CDERR_FINDRESFAILURE ¶

    CDERR_FINDRESFAILURE :: 0x00000006

    CDERR_GENERALCODES ¶

    CDERR_GENERALCODES :: 0x00000000

    CDERR_INITIALIZATION ¶

    CDERR_INITIALIZATION :: 0x00000002

    CDERR_LOADRESFAILURE ¶

    CDERR_LOADRESFAILURE :: 0x00000007

    CDERR_LOADSTRFAILURE ¶

    CDERR_LOADSTRFAILURE :: 0x00000005

    CDERR_LOCKRESFAILURE ¶

    CDERR_LOCKRESFAILURE :: 0x00000008

    CDERR_MEMALLOCFAILURE ¶

    CDERR_MEMALLOCFAILURE :: 0x00000009

    CDERR_MEMLOCKFAILURE ¶

    CDERR_MEMLOCKFAILURE :: 0x0000000A

    CDERR_NOHINSTANCE ¶

    CDERR_NOHINSTANCE :: 0x00000004

    CDERR_NOHOOK ¶

    CDERR_NOHOOK :: 0x0000000B

    CDERR_NOTEMPLATE ¶

    CDERR_NOTEMPLATE :: 0x00000003

    CDERR_REGISTERMSGFAIL ¶

    CDERR_REGISTERMSGFAIL :: 0x0000000C

    CDERR_STRUCTSIZE ¶

    CDERR_STRUCTSIZE :: 0x00000001

    CDM_FIRST ¶

    CDM_FIRST :: 0x0464

    CDM_GETFILEPATH ¶

    CDM_GETFILEPATH :: 0x0465

    CDM_GETFOLDERIDLIST ¶

    CDM_GETFOLDERIDLIST :: 0x0467

    CDM_GETFOLDERPATH ¶

    CDM_GETFOLDERPATH :: 0x0466

    CDM_GETSPEC ¶

    CDM_GETSPEC :: 0x0464

    CDM_HIDECONTROL ¶

    CDM_HIDECONTROL :: 0x0469

    CDM_LAST ¶

    CDM_LAST :: 0x04c8

    CDM_SETCONTROLTEXT ¶

    CDM_SETCONTROLTEXT :: 0x0468

    CDM_SETDEFEXT ¶

    CDM_SETDEFEXT :: 0x046a

    CLR_INVALID ¶

    CLR_INVALID :: 0xFFFFFFFF

    CLSCTX_ACTIVATE_32_BIT_SERVER ¶

    CLSCTX_ACTIVATE_32_BIT_SERVER :: CLSCTX_ACTIVATE_X86_SERVER

    CLSCTX_ACTIVATE_64_BIT_SERVER ¶

    CLSCTX_ACTIVATE_64_BIT_SERVER :: 0x80000

    CLSCTX_ACTIVATE_AAA_AS_IU ¶

    CLSCTX_ACTIVATE_AAA_AS_IU :: 0x800000

    CLSCTX_ACTIVATE_ARM32_SERVER ¶

    CLSCTX_ACTIVATE_ARM32_SERVER :: 0x2000000

    CLSCTX_ACTIVATE_X86_SERVER ¶

    CLSCTX_ACTIVATE_X86_SERVER :: 0x40000

    CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION ¶

    CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION :: 0x4000000

    CLSCTX_APPCONTAINER ¶

    CLSCTX_APPCONTAINER :: 0x400000

    CLSCTX_DISABLE_AAA ¶

    CLSCTX_DISABLE_AAA :: 0x8000

    CLSCTX_ENABLE_AAA ¶

    CLSCTX_ENABLE_AAA :: 0x10000

    CLSCTX_ENABLE_CLOAKING ¶

    CLSCTX_ENABLE_CLOAKING :: 0x100000

    CLSCTX_ENABLE_CODE_DOWNLOAD ¶

    CLSCTX_ENABLE_CODE_DOWNLOAD :: 0x2000

    CLSCTX_FROM_DEFAULT_CONTEXT ¶

    CLSCTX_FROM_DEFAULT_CONTEXT :: 0x20000

    CLSCTX_INPROC_HANDLER ¶

    CLSCTX_INPROC_HANDLER :: 0x2

    CLSCTX_INPROC_HANDLER16 ¶

    CLSCTX_INPROC_HANDLER16 :: 0x20

    CLSCTX_INPROC_SERVER ¶

    CLSCTX_INPROC_SERVER :: 0x1

    CLSCTX_INPROC_SERVER16 ¶

    CLSCTX_INPROC_SERVER16 :: 0x8

    CLSCTX_LOCAL_SERVER ¶

    CLSCTX_LOCAL_SERVER :: 0x4

    CLSCTX_NO_CODE_DOWNLOAD ¶

    CLSCTX_NO_CODE_DOWNLOAD :: 0x400

    CLSCTX_NO_CUSTOM_MARSHAL ¶

    CLSCTX_NO_CUSTOM_MARSHAL :: 0x1000

    CLSCTX_NO_FAILURE_LOG ¶

    CLSCTX_NO_FAILURE_LOG :: 0x4000

    CLSCTX_PS_DLL ¶

    CLSCTX_PS_DLL :: 0x80000000

    CLSCTX_REMOTE_SERVER ¶

    CLSCTX_REMOTE_SERVER :: 0x10

    CLSCTX_RESERVED1 ¶

    CLSCTX_RESERVED1 :: 0x40

    CLSCTX_RESERVED2 ¶

    CLSCTX_RESERVED2 :: 0x80

    CLSCTX_RESERVED3 ¶

    CLSCTX_RESERVED3 :: 0x100

    CLSCTX_RESERVED4 ¶

    CLSCTX_RESERVED4 :: 0x200

    CLSCTX_RESERVED5 ¶

    CLSCTX_RESERVED5 :: 0x800

    CLSCTX_RESERVED6 ¶

    CLSCTX_RESERVED6 :: 0x1000000

    COLORONCOLOR ¶

    COLORONCOLOR :: 3

    COLOR_3DDKSHADOW ¶

    COLOR_3DDKSHADOW :: 21

    COLOR_3DFACE ¶

    COLOR_3DFACE :: COLOR_BTNFACE

    COLOR_3DHIGHLIGHT ¶

    COLOR_3DHIGHLIGHT :: COLOR_BTNHIGHLIGHT

    COLOR_3DHILIGHT ¶

    COLOR_3DHILIGHT :: COLOR_BTNHIGHLIGHT

    COLOR_3DLIGHT ¶

    COLOR_3DLIGHT :: 22

    COLOR_3DSHADOW ¶

    COLOR_3DSHADOW :: COLOR_BTNSHADOW

    COLOR_ACTIVEBORDER ¶

    COLOR_ACTIVEBORDER :: 10

    COLOR_ACTIVECAPTION ¶

    COLOR_ACTIVECAPTION :: 2

    COLOR_APPWORKSPACE ¶

    COLOR_APPWORKSPACE :: 12

    COLOR_BACKGROUND ¶

    COLOR_BACKGROUND :: 1

    COLOR_BTNFACE ¶

    COLOR_BTNFACE :: 15

    COLOR_BTNHIGHLIGHT ¶

    COLOR_BTNHIGHLIGHT :: 20

    COLOR_BTNHILIGHT ¶

    COLOR_BTNHILIGHT :: COLOR_BTNHIGHLIGHT

    COLOR_BTNSHADOW ¶

    COLOR_BTNSHADOW :: 16

    COLOR_BTNTEXT ¶

    COLOR_BTNTEXT :: 18

    COLOR_CAPTIONTEXT ¶

    COLOR_CAPTIONTEXT :: 9

    COLOR_DESKTOP ¶

    COLOR_DESKTOP :: COLOR_BACKGROUND

    COLOR_GRADIENTACTIVECAPTION ¶

    COLOR_GRADIENTACTIVECAPTION :: 27

    COLOR_GRADIENTINACTIVECAPTION ¶

    COLOR_GRADIENTINACTIVECAPTION :: 28

    COLOR_GRAYTEXT ¶

    COLOR_GRAYTEXT :: 17

    COLOR_HIGHLIGHT ¶

    COLOR_HIGHLIGHT :: 13

    COLOR_HIGHLIGHTTEXT ¶

    COLOR_HIGHLIGHTTEXT :: 14

    COLOR_HOTLIGHT ¶

    COLOR_HOTLIGHT :: 26

    COLOR_INACTIVEBORDER ¶

    COLOR_INACTIVEBORDER :: 11

    COLOR_INACTIVECAPTION ¶

    COLOR_INACTIVECAPTION :: 3

    COLOR_INACTIVECAPTIONTEXT ¶

    COLOR_INACTIVECAPTIONTEXT :: 19

    COLOR_INFOBK ¶

    COLOR_INFOBK :: 24

    COLOR_INFOTEXT ¶

    COLOR_INFOTEXT :: 23

    COLOR_MENU ¶

    COLOR_MENU :: 4

    COLOR_MENUBAR ¶

    COLOR_MENUBAR :: 30

    COLOR_MENUHILIGHT ¶

    COLOR_MENUHILIGHT :: 29

    COLOR_MENUTEXT ¶

    COLOR_MENUTEXT :: 7

    COLOR_SCROLLBAR ¶

    COLOR_SCROLLBAR :: 0

    COLOR_WINDOW ¶

    COLOR_WINDOW :: 5

    COLOR_WINDOWFRAME ¶

    COLOR_WINDOWFRAME :: 6

    COLOR_WINDOWTEXT ¶

    COLOR_WINDOWTEXT :: 8

    COMMON_LVB_GRID_HORIZONTAL ¶

    COMMON_LVB_GRID_HORIZONTAL: u16 : WORD(0x0400)

    COMMON_LVB_GRID_LVERTICAL ¶

    COMMON_LVB_GRID_LVERTICAL: u16 : WORD(0x0800)

    COMMON_LVB_GRID_RVERTICAL ¶

    COMMON_LVB_GRID_RVERTICAL: u16 : WORD(0x1000)

    COMMON_LVB_LEADING_BYTE ¶

    COMMON_LVB_LEADING_BYTE: u16 : WORD(0x0100)

    COMMON_LVB_REVERSE_VIDEO ¶

    COMMON_LVB_REVERSE_VIDEO: u16 : WORD(0x4000)

    COMMON_LVB_SBCSDBCS ¶

    COMMON_LVB_SBCSDBCS: u16 : WORD(0x0300)

    COMMON_LVB_TRAILING_BYTE ¶

    COMMON_LVB_TRAILING_BYTE: u16 : WORD(0x0200)

    COMMON_LVB_UNDERSCORE ¶

    COMMON_LVB_UNDERSCORE: u16 : WORD(0x8000)

    COMPLEXREGION ¶

    COMPLEXREGION :: 3

    CONDITION_VARIABLE_INIT ¶

    CONDITION_VARIABLE_INIT :: CONDITION_VARIABLE{}

    CONTACTVISUALIZATION_OFF ¶

    CONTACTVISUALIZATION_OFF :: 0x0000
     

    constants for SPI_GETCONTACTVISUALIZATION and SPI_SETCONTACTVISUALIZATION

    CONTACTVISUALIZATION_ON ¶

    CONTACTVISUALIZATION_ON :: 0x0001

    CONTACTVISUALIZATION_PRESENTATIONMODE ¶

    CONTACTVISUALIZATION_PRESENTATIONMODE :: 0x0002

    CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB ¶

    CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB :: 0x00000002

    CONTEXT_CORE_PROFILE_BIT_ARB ¶

    CONTEXT_CORE_PROFILE_BIT_ARB :: 0x00000001

    CONTEXT_FLAGS_ARB ¶

    CONTEXT_FLAGS_ARB :: 0x2094

    CONTEXT_FORWARD_COMPATIBLE_BIT_ARB ¶

    CONTEXT_FORWARD_COMPATIBLE_BIT_ARB :: 0x0002

    CONTEXT_MAJOR_VERSION_ARB ¶

    CONTEXT_MAJOR_VERSION_ARB :: 0x2091

    CONTEXT_MINOR_VERSION_ARB ¶

    CONTEXT_MINOR_VERSION_ARB :: 0x2092

    CONTEXT_PROFILE_MASK_ARB ¶

    CONTEXT_PROFILE_MASK_ARB :: 0x9126

    COPY_FILE_ALLOW_DECRYPTED_DESTINATION ¶

    COPY_FILE_ALLOW_DECRYPTED_DESTINATION :: 0x00000008
    COPY_FILE_COPY_SYMLINK :: 0x00000800

    COPY_FILE_DIRECTORY ¶

    COPY_FILE_DIRECTORY :: 0x00000080

    COPY_FILE_DISABLE_PRE_ALLOCATION ¶

    COPY_FILE_DISABLE_PRE_ALLOCATION :: 0x04000000

    COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC ¶

    COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC :: 0x02000000

    COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE ¶

    COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE :: 0x08000000

    COPY_FILE_FAIL_IF_EXISTS ¶

    COPY_FILE_FAIL_IF_EXISTS :: 0x00000001

    COPY_FILE_IGNORE_EDP_BLOCK ¶

    COPY_FILE_IGNORE_EDP_BLOCK :: 0x00400000

    COPY_FILE_IGNORE_SOURCE_ENCRYPTION ¶

    COPY_FILE_IGNORE_SOURCE_ENCRYPTION :: 0x00800000

    COPY_FILE_NO_BUFFERING ¶

    COPY_FILE_NO_BUFFERING :: 0x00001000

    COPY_FILE_NO_OFFLOAD ¶

    COPY_FILE_NO_OFFLOAD :: 0x00040000

    COPY_FILE_OPEN_AND_COPY_REPARSE_POINT ¶

    COPY_FILE_OPEN_AND_COPY_REPARSE_POINT :: 0x00200000

    COPY_FILE_OPEN_SOURCE_FOR_WRITE ¶

    COPY_FILE_OPEN_SOURCE_FOR_WRITE :: 0x00000004

    COPY_FILE_REQUEST_COMPRESSED_TRAFFIC ¶

    COPY_FILE_REQUEST_COMPRESSED_TRAFFIC :: 0x10000000

    COPY_FILE_REQUEST_SECURITY_PRIVILEGES ¶

    COPY_FILE_REQUEST_SECURITY_PRIVILEGES :: 0x00002000

    COPY_FILE_RESTARTABLE ¶

    COPY_FILE_RESTARTABLE :: 0x00000002

    COPY_FILE_RESUME_FROM_PAUSE ¶

    COPY_FILE_RESUME_FROM_PAUSE :: 0x00004000

    COPY_FILE_SKIP_ALTERNATE_STREAMS ¶

    COPY_FILE_SKIP_ALTERNATE_STREAMS :: 0x00008000

    CP_ACP ¶

    CP_ACP :: 0
     

    default to ANSI code page

    CP_MACCP ¶

    CP_MACCP :: 2
     

    default to MAC code page

    CP_OEMCP ¶

    CP_OEMCP :: 1
     

    default to OEM code page

    CP_SYMBOL ¶

    CP_SYMBOL :: 42
     

    SYMBOL translations

    CP_THREAD_ACP ¶

    CP_THREAD_ACP :: 3
     

    current thread's ANSI code page

    CP_UTF7 ¶

    CP_UTF7 :: 65000
     

    UTF-7 translation

    CP_UTF8 ¶

    CP_UTF8 :: 65001
     

    UTF-8 translation

    CREATE_ALWAYS ¶

    CREATE_ALWAYS: u32 : 2

    CREATE_BREAKAWAY_FROM_JOB ¶

    CREATE_BREAKAWAY_FROM_JOB :: 0x01000000

    CREATE_DEFAULT_ERROR_MODE ¶

    CREATE_DEFAULT_ERROR_MODE :: 0x04000000

    CREATE_FORCEDOS ¶

    CREATE_FORCEDOS :: 0x00002000

    CREATE_IGNORE_SYSTEM_DEFAULT ¶

    CREATE_IGNORE_SYSTEM_DEFAULT :: 0x80000000

    CREATE_NEW ¶

    CREATE_NEW: u32 : 1

    CREATE_NEW_CONSOLE ¶

    CREATE_NEW_CONSOLE :: 0x00000010

    CREATE_NEW_PROCESS_GROUP ¶

    CREATE_NEW_PROCESS_GROUP :: 0x00000200

    CREATE_NO_WINDOW ¶

    CREATE_NO_WINDOW :: 0x08000000

    CREATE_PRESERVE_CODE_AUTHZ_LEVEL ¶

    CREATE_PRESERVE_CODE_AUTHZ_LEVEL :: 0x02000000

    CREATE_PROTECTED_PROCESS ¶

    CREATE_PROTECTED_PROCESS :: 0x00040000

    CREATE_SECURE_PROCESS ¶

    CREATE_SECURE_PROCESS :: 0x00400000

    CREATE_SEPARATE_WOW_VDM ¶

    CREATE_SEPARATE_WOW_VDM :: 0x00000800

    CREATE_SHARED_WOW_VDM ¶

    CREATE_SHARED_WOW_VDM :: 0x00001000

    CREATE_SUSPENDED ¶

    CREATE_SUSPENDED :: 0x00000004

    CREATE_UNICODE_ENVIRONMENT ¶

    CREATE_UNICODE_ENVIRONMENT :: 0x00000400

    CREATE_WAITABLE_TIMER_HIGH_RESOLUTION ¶

    CREATE_WAITABLE_TIMER_HIGH_RESOLUTION :: 0x00000002

    CREATE_WAITABLE_TIMER_MANUAL_RESET ¶

    CREATE_WAITABLE_TIMER_MANUAL_RESET :: 0x00000001

    CSIDL_APPDATA ¶

    CSIDL_APPDATA :: 0x001a
     

    <user name>\Application Data

    CSIDL_COMMON_APPDATA ¶

    CSIDL_COMMON_APPDATA :: 0x0023
     

    All Users\Application Data

    CSIDL_PROFILE ¶

    CSIDL_PROFILE :: 0x0028
     

    <user name>\

    CS_BYTEALIGNCLIENT ¶

    CS_BYTEALIGNCLIENT: u32 : 0x1000

    CS_BYTEALIGNWINDOW ¶

    CS_BYTEALIGNWINDOW: u32 : 0x2000

    CS_CLASSDC ¶

    CS_CLASSDC: u32 : 0x0040

    CS_DBLCLKS ¶

    CS_DBLCLKS: u32 : 0x0008

    CS_DROPSHADOW ¶

    CS_DROPSHADOW: u32 : 0x0002_0000

    CS_GLOBALCLASS ¶

    CS_GLOBALCLASS: u32 : 0x4000

    CS_HREDRAW ¶

    CS_HREDRAW: u32 : 0x0002

    CS_NOCLOSE ¶

    CS_NOCLOSE: u32 : 0x0200

    CS_OWNDC ¶

    CS_OWNDC: u32 : 0x0020

    CS_PARENTDC ¶

    CS_PARENTDC: u32 : 0x0080

    CS_SAVEBITS ¶

    CS_SAVEBITS: u32 : 0x0800

    CS_VREDRAW ¶

    CS_VREDRAW: u32 : 0x0001

    CTLCOLOR_BTN ¶

    CTLCOLOR_BTN :: 3

    CTLCOLOR_DLG ¶

    CTLCOLOR_DLG :: 4

    CTLCOLOR_EDIT ¶

    CTLCOLOR_EDIT :: 1

    CTLCOLOR_LISTBOX ¶

    CTLCOLOR_LISTBOX :: 2

    CTLCOLOR_MAX ¶

    CTLCOLOR_MAX :: 7

    CTLCOLOR_MSGBOX ¶

    CTLCOLOR_MSGBOX :: 0
     

    Color Types

    CTLCOLOR_SCROLLBAR ¶

    CTLCOLOR_SCROLLBAR :: 5

    CTLCOLOR_STATIC ¶

    CTLCOLOR_STATIC :: 6

    CTRL_BREAK_EVENT ¶

    CTRL_BREAK_EVENT: u32 : 1

    CTRL_CLOSE_EVENT ¶

    CTRL_CLOSE_EVENT: u32 : 2

    CTRL_C_EVENT ¶

    CTRL_C_EVENT: u32 : 0

    CTRL_LOGOFF_EVENT ¶

    CTRL_LOGOFF_EVENT: u32 : 5

    CTRL_SHUTDOWN_EVENT ¶

    CTRL_SHUTDOWN_EVENT: u32 : 6

    CW_USEDEFAULT ¶

    CW_USEDEFAULT: i32 : -2147483648

    DACL_SECURITY_INFORMATION ¶

    DACL_SECURITY_INFORMATION :: 0x00000004

    DC_BRUSH ¶

    DC_BRUSH :: 18

    DC_PEN ¶

    DC_PEN :: 19

    DDM_BEGIN ¶

    DDM_BEGIN :: 0x0403

    DDM_CLOSE ¶

    DDM_CLOSE :: 0x0402

    DDM_DRAW ¶

    DDM_DRAW :: 0x0401

    DDM_END ¶

    DDM_END :: 0x0404

    DDM_SETFMT ¶

    DDM_SETFMT :: 0x0400

    DEBUG_ONLY_THIS_PROCESS ¶

    DEBUG_ONLY_THIS_PROCESS :: 0x00000002

    DEBUG_PROCESS ¶

    DEBUG_PROCESS :: 0x00000001

    DEFAULT_GUI_FONT ¶

    DEFAULT_GUI_FONT :: 17

    DEFAULT_PALETTE ¶

    DEFAULT_PALETTE :: 15

    DELETE ¶

    DELETE: u32 : 0x00010000
     

    The following are masks for the predefined standard access types

    DETACHED_PROCESS ¶

    DETACHED_PROCESS :: 0x00000008

    DEVICE_DEFAULT_FONT ¶

    DEVICE_DEFAULT_FONT :: 14

    DIAGNOSTIC_REASON_DETAILED_STRING ¶

    DIAGNOSTIC_REASON_DETAILED_STRING :: 0x00000002

    DIAGNOSTIC_REASON_NOT_SPECIFIED ¶

    DIAGNOSTIC_REASON_NOT_SPECIFIED :: 0x80000000

    DIAGNOSTIC_REASON_SIMPLE_STRING ¶

    DIAGNOSTIC_REASON_SIMPLE_STRING :: 0x00000001

    DIAGNOSTIC_REASON_VERSION ¶

    DIAGNOSTIC_REASON_VERSION :: 0

    DIB_PAL_COLORS ¶

    DIB_PAL_COLORS :: 1

    DIB_RGB_COLORS ¶

    DIB_RGB_COLORS :: 0
     

    DIB color table identifiers

    DISABLE_NEWLINE_AUTO_RETURN ¶

    DISABLE_NEWLINE_AUTO_RETURN: u32 : 0x0008

    DKGRAY_BRUSH ¶

    DKGRAY_BRUSH :: 3

    DLL_PROCESS_DETACH ¶

    DLL_PROCESS_DETACH: u32 : 0

    DLL_THREAD_DETACH ¶

    DLL_THREAD_DETACH: u32 : 3

    DL_BEGINDRAG ¶

    DL_BEGINDRAG :: 0x0485

    DL_CANCELDRAG ¶

    DL_CANCELDRAG :: 0x0488

    DL_DRAGGING ¶

    DL_DRAGGING :: 0x0486

    DL_DROPPED ¶

    DL_DROPPED :: 0x0487

    DM_GETDEFID ¶

    DM_GETDEFID :: 0x0400

    DM_POINTERHITTEST ¶

    DM_POINTERHITTEST :: 0x0250

    DM_REPOSITION ¶

    DM_REPOSITION :: 0x0402

    DM_SETDEFID ¶

    DM_SETDEFID :: 0x0401

    DNS_INFO_NO_RECORDS ¶

    DNS_INFO_NO_RECORDS :: 9501

    DNS_QUERY_NO_RECURSION ¶

    DNS_QUERY_NO_RECURSION :: 0x00000004

    DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE ¶

    DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE :: DPI_AWARENESS_CONTEXT(~uintptr(2))
     

    -3

    DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 ¶

    DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 :: DPI_AWARENESS_CONTEXT(~uintptr(3))
     

    -4

    DPI_AWARENESS_CONTEXT_SYSTEM_AWARE ¶

    DPI_AWARENESS_CONTEXT_SYSTEM_AWARE :: DPI_AWARENESS_CONTEXT(~uintptr(1))
     

    -2

    DPI_AWARENESS_CONTEXT_UNAWARE ¶

    DPI_AWARENESS_CONTEXT_UNAWARE :: DPI_AWARENESS_CONTEXT(~uintptr(0))
     

    -1

    DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED ¶

    DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED :: DPI_AWARENESS_CONTEXT(~uintptr(4))
     

    -5

    DSTINVERT ¶

    DSTINVERT: u32 : 0x00550009
     

    dest = (NOT dest)

    DUPLICATE_SAME_ACCESS ¶

    DUPLICATE_SAME_ACCESS: u32 : 0x00000002

    EM_AUTOURLDETECT ¶

    EM_AUTOURLDETECT :: 0x045b

    EM_CANPASTE ¶

    EM_CANPASTE :: 0x0432

    EM_CANREDO ¶

    EM_CANREDO :: 0x0455

    EM_CANUNDO ¶

    EM_CANUNDO :: 0x00c6

    EM_CHARFROMPOS ¶

    EM_CHARFROMPOS :: 0x00d7

    EM_CONVPOSITION ¶

    EM_CONVPOSITION :: 0x046c

    EM_DISPLAYBAND ¶

    EM_DISPLAYBAND :: 0x0433

    EM_EMPTYUNDOBUFFER ¶

    EM_EMPTYUNDOBUFFER :: 0x00cd

    EM_EXGETSEL ¶

    EM_EXGETSEL :: 0x0434

    EM_EXLIMITTEXT ¶

    EM_EXLIMITTEXT :: 0x0435

    EM_EXLINEFROMCHAR ¶

    EM_EXLINEFROMCHAR :: 0x0436

    EM_EXSETSEL ¶

    EM_EXSETSEL :: 0x0437

    EM_FINDTEXT ¶

    EM_FINDTEXT :: 0x0438

    EM_FINDTEXTEX ¶

    EM_FINDTEXTEX :: 0x044f

    EM_FINDTEXTEXW ¶

    EM_FINDTEXTEXW :: 0x047c

    EM_FINDTEXTW ¶

    EM_FINDTEXTW :: 0x047b

    EM_FINDWORDBREAK ¶

    EM_FINDWORDBREAK :: 0x044c

    EM_FMTLINES ¶

    EM_FMTLINES :: 0x00c8

    EM_FORMATRANGE ¶

    EM_FORMATRANGE :: 0x0439

    EM_GETAUTOURLDETECT ¶

    EM_GETAUTOURLDETECT :: 0x045c

    EM_GETBIDIOPTIONS ¶

    EM_GETBIDIOPTIONS :: 0x04c9

    EM_GETCHARFORMAT ¶

    EM_GETCHARFORMAT :: 0x043a

    EM_GETCTFMODEBIAS ¶

    EM_GETCTFMODEBIAS :: 0x04ed

    EM_GETCTFOPENSTATUS ¶

    EM_GETCTFOPENSTATUS :: 0x04f0

    EM_GETEDITSTYLE ¶

    EM_GETEDITSTYLE :: 0x04cd

    EM_GETEVENTMASK ¶

    EM_GETEVENTMASK :: 0x043b

    EM_GETFIRSTVISIBLELINE ¶

    EM_GETFIRSTVISIBLELINE :: 0x00ce

    EM_GETHANDLE ¶

    EM_GETHANDLE :: 0x00bd

    EM_GETHYPHENATEINFO ¶

    EM_GETHYPHENATEINFO :: 0x04e6

    EM_GETIMECOLOR ¶

    EM_GETIMECOLOR :: 0x0469

    EM_GETIMECOMPMODE ¶

    EM_GETIMECOMPMODE :: 0x047a

    EM_GETIMECOMPTEXT ¶

    EM_GETIMECOMPTEXT :: 0x04f2

    EM_GETIMEMODEBIAS ¶

    EM_GETIMEMODEBIAS :: 0x047f

    EM_GETIMEOPTIONS ¶

    EM_GETIMEOPTIONS :: 0x046b

    EM_GETIMEPROPERTY ¶

    EM_GETIMEPROPERTY :: 0x04f4

    EM_GETIMESTATUS ¶

    EM_GETIMESTATUS :: 0x00d9

    EM_GETLANGOPTIONS ¶

    EM_GETLANGOPTIONS :: 0x0479

    EM_GETLIMITTEXT ¶

    EM_GETLIMITTEXT :: 0x00d5

    EM_GETLINE ¶

    EM_GETLINE :: 0x00c4

    EM_GETLINECOUNT ¶

    EM_GETLINECOUNT :: 0x00ba

    EM_GETMARGINS ¶

    EM_GETMARGINS :: 0x00d4

    EM_GETMODIFY ¶

    EM_GETMODIFY :: 0x00b8

    EM_GETOLEINTERFACE ¶

    EM_GETOLEINTERFACE :: 0x043c

    EM_GETOPTIONS ¶

    EM_GETOPTIONS :: 0x044e

    EM_GETPAGE ¶

    EM_GETPAGE :: 0x04e4

    EM_GETPAGEROTATE ¶

    EM_GETPAGEROTATE :: 0x04eb

    EM_GETPARAFORMAT ¶

    EM_GETPARAFORMAT :: 0x043d

    EM_GETPASSWORDCHAR ¶

    EM_GETPASSWORDCHAR :: 0x00d2

    EM_GETPUNCTUATION ¶

    EM_GETPUNCTUATION :: 0x0465

    EM_GETQUERYRTFOBJ ¶

    EM_GETQUERYRTFOBJ :: 0x050d

    EM_GETRECT ¶

    EM_GETRECT :: 0x00b2

    EM_GETREDONAME ¶

    EM_GETREDONAME :: 0x0457

    EM_GETSCROLLPOS ¶

    EM_GETSCROLLPOS :: 0x04dd

    EM_GETSEL ¶

    EM_GETSEL :: 0x00b0

    EM_GETSELTEXT ¶

    EM_GETSELTEXT :: 0x043e

    EM_GETTEXTEX ¶

    EM_GETTEXTEX :: 0x045e

    EM_GETTEXTLENGTHEX ¶

    EM_GETTEXTLENGTHEX :: 0x045f

    EM_GETTEXTMODE ¶

    EM_GETTEXTMODE :: 0x045a

    EM_GETTEXTRANGE ¶

    EM_GETTEXTRANGE :: 0x044b

    EM_GETTHUMB ¶

    EM_GETTHUMB :: 0x00be

    EM_GETTYPOGRAPHYOPTIONS ¶

    EM_GETTYPOGRAPHYOPTIONS :: 0x04cb

    EM_GETUNDONAME ¶

    EM_GETUNDONAME :: 0x0456

    EM_GETVIEWKIND ¶

    EM_GETVIEWKIND :: 0x04e2

    EM_GETWORDBREAKPROC ¶

    EM_GETWORDBREAKPROC :: 0x00d1

    EM_GETWORDBREAKPROCEX ¶

    EM_GETWORDBREAKPROCEX :: 0x0450

    EM_GETWORDWRAPMODE ¶

    EM_GETWORDWRAPMODE :: 0x0467

    EM_GETZOOM ¶

    EM_GETZOOM :: 0x04e0

    EM_HIDESELECTION ¶

    EM_HIDESELECTION :: 0x043f

    EM_ISIME ¶

    EM_ISIME :: 0x04f3

    EM_LIMITTEXT ¶

    EM_LIMITTEXT :: 0x00c5

    EM_LINEFROMCHAR ¶

    EM_LINEFROMCHAR :: 0x00c9

    EM_LINEINDEX ¶

    EM_LINEINDEX :: 0x00bb

    EM_LINELENGTH ¶

    EM_LINELENGTH :: 0x00c1

    EM_LINESCROLL ¶

    EM_LINESCROLL :: 0x00b6

    EM_OUTLINE ¶

    EM_OUTLINE :: 0x04dc

    EM_PASTESPECIAL ¶

    EM_PASTESPECIAL :: 0x0440

    EM_POSFROMCHAR ¶

    EM_POSFROMCHAR :: 0x00d6

    EM_RECONVERSION ¶

    EM_RECONVERSION :: 0x047d

    EM_REDO ¶

    EM_REDO :: 0x0454

    EM_REPLACESEL ¶

    EM_REPLACESEL :: 0x00c2

    EM_REQUESTRESIZE ¶

    EM_REQUESTRESIZE :: 0x0441

    EM_SCROLL ¶

    EM_SCROLL :: 0x00b5

    EM_SCROLLCARET ¶

    EM_SCROLLCARET :: 0x00b7

    EM_SELECTIONTYPE ¶

    EM_SELECTIONTYPE :: 0x0442

    EM_SETBIDIOPTIONS ¶

    EM_SETBIDIOPTIONS :: 0x04c8

    EM_SETBKGNDCOLOR ¶

    EM_SETBKGNDCOLOR :: 0x0443

    EM_SETCHARFORMAT ¶

    EM_SETCHARFORMAT :: 0x0444

    EM_SETCTFMODEBIAS ¶

    EM_SETCTFMODEBIAS :: 0x04ee

    EM_SETCTFOPENSTATUS ¶

    EM_SETCTFOPENSTATUS :: 0x04f1

    EM_SETEDITSTYLE ¶

    EM_SETEDITSTYLE :: 0x04cc

    EM_SETEVENTMASK ¶

    EM_SETEVENTMASK :: 0x0445

    EM_SETFONT ¶

    EM_SETFONT :: 0x00c3

    EM_SETFONTSIZE ¶

    EM_SETFONTSIZE :: 0x04df

    EM_SETHANDLE ¶

    EM_SETHANDLE :: 0x00bc

    EM_SETHYPHENATEINFO ¶

    EM_SETHYPHENATEINFO :: 0x04e7

    EM_SETIMECOLOR ¶

    EM_SETIMECOLOR :: 0x0468

    EM_SETIMEMODEBIAS ¶

    EM_SETIMEMODEBIAS :: 0x047e

    EM_SETIMEOPTIONS ¶

    EM_SETIMEOPTIONS :: 0x046a

    EM_SETIMESTATUS ¶

    EM_SETIMESTATUS :: 0x00d8

    EM_SETLANGOPTIONS ¶

    EM_SETLANGOPTIONS :: 0x0478

    EM_SETLIMITTEXT ¶

    EM_SETLIMITTEXT :: 0x00c5

    EM_SETMARGINS ¶

    EM_SETMARGINS :: 0x00d3

    EM_SETMODIFY ¶

    EM_SETMODIFY :: 0x00b9

    EM_SETOLECALLBACK ¶

    EM_SETOLECALLBACK :: 0x0446

    EM_SETOPTIONS ¶

    EM_SETOPTIONS :: 0x044d

    EM_SETPAGE ¶

    EM_SETPAGE :: 0x04e5

    EM_SETPAGEROTATE ¶

    EM_SETPAGEROTATE :: 0x04ec

    EM_SETPALETTE ¶

    EM_SETPALETTE :: 0x045d

    EM_SETPARAFORMAT ¶

    EM_SETPARAFORMAT :: 0x0447

    EM_SETPASSWORDCHAR ¶

    EM_SETPASSWORDCHAR :: 0x00cc

    EM_SETPUNCTUATION ¶

    EM_SETPUNCTUATION :: 0x0464

    EM_SETQUERYRTFOBJ ¶

    EM_SETQUERYRTFOBJ :: 0x050e

    EM_SETREADONLY ¶

    EM_SETREADONLY :: 0x00cf

    EM_SETRECT ¶

    EM_SETRECT :: 0x00b3

    EM_SETRECTNP ¶

    EM_SETRECTNP :: 0x00b4

    EM_SETSCROLLPOS ¶

    EM_SETSCROLLPOS :: 0x04de

    EM_SETSEL ¶

    EM_SETSEL :: 0x00b1

    EM_SETTABSTOPS ¶

    EM_SETTABSTOPS :: 0x00cb

    EM_SETTARGETDEVICE ¶

    EM_SETTARGETDEVICE :: 0x0448

    EM_SETTEXTEX ¶

    EM_SETTEXTEX :: 0x0461

    EM_SETTEXTMODE ¶

    EM_SETTEXTMODE :: 0x0459

    EM_SETTYPOGRAPHYOPTIONS ¶

    EM_SETTYPOGRAPHYOPTIONS :: 0x04ca

    EM_SETUNDOLIMIT ¶

    EM_SETUNDOLIMIT :: 0x0452

    EM_SETVIEWKIND ¶

    EM_SETVIEWKIND :: 0x04e3

    EM_SETWORDBREAK ¶

    EM_SETWORDBREAK :: 0x00ca

    EM_SETWORDBREAKPROC ¶

    EM_SETWORDBREAKPROC :: 0x00d0

    EM_SETWORDBREAKPROCEX ¶

    EM_SETWORDBREAKPROCEX :: 0x0451

    EM_SETWORDWRAPMODE ¶

    EM_SETWORDWRAPMODE :: 0x0466

    EM_SETZOOM ¶

    EM_SETZOOM :: 0x04e1

    EM_SHOWSCROLLBAR ¶

    EM_SHOWSCROLLBAR :: 0x0460

    EM_STOPGROUPTYPING ¶

    EM_STOPGROUPTYPING :: 0x0458

    EM_STREAMIN ¶

    EM_STREAMIN :: 0x0449

    EM_STREAMOUT ¶

    EM_STREAMOUT :: 0x044a

    EM_UNDO ¶

    EM_UNDO :: 0x00c7

    ENABLE_ECHO_INPUT ¶

    ENABLE_ECHO_INPUT: u32 : 0x0004

    ENABLE_INSERT_MODE ¶

    ENABLE_INSERT_MODE: u32 : 0x0020

    ENABLE_LINE_INPUT ¶

    ENABLE_LINE_INPUT: u32 : 0x0002

    ENABLE_LVB_GRID_WORLDWIDE ¶

    ENABLE_LVB_GRID_WORLDWIDE: u32 : 0x0010

    ENABLE_MOUSE_INPUT ¶

    ENABLE_MOUSE_INPUT: u32 : 0x0010

    ENABLE_PROCESSED_INPUT ¶

    ENABLE_PROCESSED_INPUT: u32 : 0x0001

    ENABLE_PROCESSED_OUTPUT ¶

    ENABLE_PROCESSED_OUTPUT: u32 : 0x0001

    ENABLE_QUICK_EDIT_MODE ¶

    ENABLE_QUICK_EDIT_MODE: u32 : 0x0040

    ENABLE_VIRTUAL_TERMINAL_INPUT ¶

    ENABLE_VIRTUAL_TERMINAL_INPUT: u32 : 0x0200

    ENABLE_VIRTUAL_TERMINAL_PROCESSING ¶

    ENABLE_VIRTUAL_TERMINAL_PROCESSING: u32 : 0x0004

    ENABLE_WINDOW_INPUT ¶

    ENABLE_WINDOW_INPUT: u32 : 0x0008

    ENABLE_WRAP_AT_EOL_OUTPUT ¶

    ENABLE_WRAP_AT_EOL_OUTPUT: u32 : 0x0002

    ENUM_CURRENT_SETTINGS ¶

    ENUM_CURRENT_SETTINGS: u32 : 4294967295
     

    (DWORD)-1

    ENUM_REGISTRY_SETTINGS ¶

    ENUM_REGISTRY_SETTINGS: u32 : 4294967294
     

    (DWORD)-2

    EN_ALIGN_LTR_EC ¶

    EN_ALIGN_LTR_EC :: 0x0700

    EN_ALIGN_RTL_EC ¶

    EN_ALIGN_RTL_EC :: 0x0701

    EN_CHANGE ¶

    EN_CHANGE :: 0x0300

    EN_ERRSPACE ¶

    EN_ERRSPACE :: 0x0500

    EN_HSCROLL ¶

    EN_HSCROLL :: 0x0601

    EN_KILLFOCUS ¶

    EN_KILLFOCUS :: 0x0200

    EN_MAXTEXT ¶

    EN_MAXTEXT :: 0x0501

    EN_SETFOCUS ¶

    EN_SETFOCUS :: 0x0100
     

    Edit Control Notification Codes

    EN_UPDATE ¶

    EN_UPDATE :: 0x0400

    EN_VSCROLL ¶

    EN_VSCROLL :: 0x0602

    ERROR ¶

    ERROR :: 0
     

    Region Flags

    ERROR_ACCESS_DENIED ¶

    ERROR_ACCESS_DENIED: u32 : 5

    ERROR_ALREADY_EXISTS ¶

    ERROR_ALREADY_EXISTS: u32 : 183

    ERROR_BAD_ARGUMENTS ¶

    ERROR_BAD_ARGUMENTS: u32 : 160

    ERROR_BAD_ENVIRONMENT ¶

    ERROR_BAD_ENVIRONMENT: u32 : 10

    ERROR_BAD_FORMAT ¶

    ERROR_BAD_FORMAT: u32 : 11

    ERROR_BROKEN_PIPE ¶

    ERROR_BROKEN_PIPE: u32 : 109

    ERROR_CALL_NOT_IMPLEMENTED ¶

    ERROR_CALL_NOT_IMPLEMENTED: u32 : 120

    ERROR_CURRENT_DIRECTORY ¶

    ERROR_CURRENT_DIRECTORY: u32 : 16

    ERROR_DATATYPE_MISMATCH ¶

    ERROR_DATATYPE_MISMATCH: u32 : 1629

    ERROR_ENVVAR_NOT_FOUND ¶

    ERROR_ENVVAR_NOT_FOUND: u32 : 203

    ERROR_FILE_EXISTS ¶

    ERROR_FILE_EXISTS: u32 : 80

    ERROR_FILE_NOT_FOUND ¶

    ERROR_FILE_NOT_FOUND: u32 : 2

    ERROR_HANDLE_EOF ¶

    ERROR_HANDLE_EOF: u32 : 38

    ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB ¶

    ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB :: 0x2054

    ERROR_INSUFFICIENT_BUFFER ¶

    ERROR_INSUFFICIENT_BUFFER: u32 : 122

    ERROR_INVALID_ACCESS ¶

    ERROR_INVALID_ACCESS: u32 : 12

    ERROR_INVALID_BLOCK ¶

    ERROR_INVALID_BLOCK: u32 : 9

    ERROR_INVALID_DATA ¶

    ERROR_INVALID_DATA: u32 : 13

    ERROR_INVALID_DRIVE ¶

    ERROR_INVALID_DRIVE: u32 : 15

    ERROR_INVALID_FUNCTION ¶

    ERROR_INVALID_FUNCTION: u32 : 1

    ERROR_INVALID_HANDLE ¶

    ERROR_INVALID_HANDLE: u32 : 6

    ERROR_INVALID_NAME ¶

    ERROR_INVALID_NAME: u32 : 123

    ERROR_INVALID_PARAMETER ¶

    ERROR_INVALID_PARAMETER: u32 : 87

    ERROR_INVALID_PIXEL_TYPE_ARB ¶

    ERROR_INVALID_PIXEL_TYPE_ARB :: 0x2043
     

    WGL_ARB_make_current_read

    ERROR_INVALID_PROFILE_ARB ¶

    ERROR_INVALID_PROFILE_ARB :: 0x2096

    ERROR_INVALID_VERSION_ARB ¶

    ERROR_INVALID_VERSION_ARB :: 0x2095

    ERROR_IO_PENDING ¶

    ERROR_IO_PENDING: u32 : 997

    ERROR_LOCK_FAILED ¶

    ERROR_LOCK_FAILED: u32 : 167

    ERROR_LOCK_VIOLATION ¶

    ERROR_LOCK_VIOLATION: u32 : 33

    ERROR_NOT_ENOUGH_MEMORY ¶

    ERROR_NOT_ENOUGH_MEMORY: u32 : 8

    ERROR_NOT_SAME_OBJECT ¶

    ERROR_NOT_SAME_OBJECT: u32 : 1656

    ERROR_NOT_SUPPORTED ¶

    ERROR_NOT_SUPPORTED: u32 : 50

    ERROR_NO_DATA ¶

    ERROR_NO_DATA: u32 : 232

    ERROR_NO_MORE_FILES ¶

    ERROR_NO_MORE_FILES: u32 : 18

    ERROR_NO_UNICODE_TRANSLATION ¶

    ERROR_NO_UNICODE_TRANSLATION: u32 : 1113

    ERROR_OPERATION_ABORTED ¶

    ERROR_OPERATION_ABORTED: u32 : 995

    ERROR_OUTOFMEMORY ¶

    ERROR_OUTOFMEMORY: u32 : 14

    ERROR_PATH_NOT_FOUND ¶

    ERROR_PATH_NOT_FOUND: u32 : 3

    ERROR_PIPE_BUSY ¶

    ERROR_PIPE_BUSY: u32 : 231

    ERROR_PIPE_CONNECTED ¶

    ERROR_PIPE_CONNECTED: u32 : 0x80070217

    ERROR_SHARING_VIOLATION ¶

    ERROR_SHARING_VIOLATION: u32 : 32

    ERROR_SUCCESS ¶

    ERROR_SUCCESS: u32 : 0

    ERROR_TIMEOUT ¶

    ERROR_TIMEOUT: u32 : 1460

    ERROR_UNSUPPORTED_TYPE ¶

    ERROR_UNSUPPORTED_TYPE: u32 : 1630

    ES_AUTOHSCROLL ¶

    ES_AUTOHSCROLL :: 0x0080

    ES_AUTOVSCROLL ¶

    ES_AUTOVSCROLL :: 0x0040

    ES_CENTER ¶

    ES_CENTER :: 0x0001

    ES_LEFT ¶

    ES_LEFT :: 0x0000
     

    Edit Control Styles

    ES_LOWERCASE ¶

    ES_LOWERCASE :: 0x0010

    ES_MULTILINE ¶

    ES_MULTILINE :: 0x0004

    ES_NOHIDESEL ¶

    ES_NOHIDESEL :: 0x0100

    ES_NUMBER ¶

    ES_NUMBER :: 0x2000

    ES_OEMCONVERT ¶

    ES_OEMCONVERT :: 0x0400

    ES_PASSWORD ¶

    ES_PASSWORD :: 0x0020

    ES_READONLY ¶

    ES_READONLY :: 0x0800

    ES_RIGHT ¶

    ES_RIGHT :: 0x0002

    ES_UPPERCASE ¶

    ES_UPPERCASE :: 0x0008

    ES_WANTRETURN ¶

    ES_WANTRETURN :: 0x1000

    EXCEPTION_ACCESS_VIOLATION ¶

    EXCEPTION_ACCESS_VIOLATION :: 0xC0000005

    EXCEPTION_ARRAY_BOUNDS_EXCEEDED ¶

    EXCEPTION_ARRAY_BOUNDS_EXCEEDED :: 0xC000008C

    EXCEPTION_BREAKPOINT ¶

    EXCEPTION_BREAKPOINT :: 0x80000003

    EXCEPTION_CONTINUE_EXECUTION ¶

    EXCEPTION_CONTINUE_EXECUTION: i32 : -1
    EXCEPTION_CONTINUE_SEARCH: i32 : 0

    EXCEPTION_DATATYPE_MISALIGNMENT ¶

    EXCEPTION_DATATYPE_MISALIGNMENT :: 0x80000002

    EXCEPTION_EXECUTE_HANDLER ¶

    EXCEPTION_EXECUTE_HANDLER: i32 : 1

    EXCEPTION_ILLEGAL_INSTRUCTION ¶

    EXCEPTION_ILLEGAL_INSTRUCTION :: 0xC000001D

    EXCEPTION_INT_DIVIDE_BY_ZERO ¶

    EXCEPTION_INT_DIVIDE_BY_ZERO :: 0xC0000094

    EXCEPTION_INT_OVERFLOW ¶

    EXCEPTION_INT_OVERFLOW :: 0xC0000095

    EXCEPTION_MAXIMUM_PARAMETERS ¶

    EXCEPTION_MAXIMUM_PARAMETERS :: 15

    EXCEPTION_STACK_OVERFLOW ¶

    EXCEPTION_STACK_OVERFLOW :: 0xC00000FD

    EXTENDED_STARTUPINFO_PRESENT ¶

    EXTENDED_STARTUPINFO_PRESENT :: 0x00080000

    E_NOTIMPL ¶

    E_NOTIMPL :: HRESULT(-0x7fff_bfff)
     

    0x8000_4001

    FACILITY_NT_BIT ¶

    FACILITY_NT_BIT: u32 : 0x1000_0000

    FALSE ¶

    FALSE :: BOOL(false)

    FD_ACCEPT ¶

    FD_ACCEPT :: 0x08

    FD_CLOSE ¶

    FD_CLOSE :: 0x20

    FD_CONNECT ¶

    FD_CONNECT :: 0x10

    FD_MAX_EVENTS ¶

    FD_MAX_EVENTS :: 10

    FD_OOB ¶

    FD_OOB :: 0x04

    FD_READ ¶

    FD_READ :: 0x01
     

    Define flags to be used with the WSAAsyncSelect() call.

    FD_SETSIZE ¶

    FD_SETSIZE :: 64

    FD_WRITE ¶

    FD_WRITE :: 0x02

    FE_FONTSMOOTHINGCLEARTYPE ¶

    FE_FONTSMOOTHINGCLEARTYPE :: 0x0002

    FE_FONTSMOOTHINGORIENTATIONBGR ¶

    FE_FONTSMOOTHINGORIENTATIONBGR :: 0x0000
     

    constants for SPI_GETFONTSMOOTHINGORIENTATION and SPI_SETFONTSMOOTHINGORIENTATION:

    FE_FONTSMOOTHINGORIENTATIONRGB ¶

    FE_FONTSMOOTHINGORIENTATIONRGB :: 0x0001

    FE_FONTSMOOTHINGSTANDARD ¶

    FE_FONTSMOOTHINGSTANDARD :: 0x0001
     

    constants for SPI_GETFONTSMOOTHINGTYPE and SPI_SETFONTSMOOTHINGTYPE:

    FILE_ACTION_ADDED ¶

    FILE_ACTION_ADDED :: 0x00000001

    FILE_ACTION_MODIFIED ¶

    FILE_ACTION_MODIFIED :: 0x00000003

    FILE_ACTION_REMOVED ¶

    FILE_ACTION_REMOVED :: 0x00000002

    FILE_ACTION_RENAMED_NEW_NAME ¶

    FILE_ACTION_RENAMED_NEW_NAME :: 0x00000005

    FILE_ACTION_RENAMED_OLD_NAME ¶

    FILE_ACTION_RENAMED_OLD_NAME :: 0x00000004

    FILE_ADD_FILE ¶

    FILE_ADD_FILE: u32 : 0x00000002

    FILE_ADD_SUBDIRECTORY ¶

    FILE_ADD_SUBDIRECTORY: u32 : 0x00000004

    FILE_ALL_ACCESS ¶

    FILE_ALL_ACCESS: u32 : STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF

    FILE_APPEND_DATA ¶

    FILE_APPEND_DATA: u32 : 0x00000004

    FILE_ATTRIBUTE_ARCHIVE ¶

    FILE_ATTRIBUTE_ARCHIVE: u32 : 0x00000020

    FILE_ATTRIBUTE_COMPRESSED ¶

    FILE_ATTRIBUTE_COMPRESSED: u32 : 0x00000800

    FILE_ATTRIBUTE_DEVICE ¶

    FILE_ATTRIBUTE_DEVICE: u32 : 0x00000040

    FILE_ATTRIBUTE_DIRECTORY ¶

    FILE_ATTRIBUTE_DIRECTORY: u32 : 0x00000010

    FILE_ATTRIBUTE_ENCRYPTED ¶

    FILE_ATTRIBUTE_ENCRYPTED: u32 : 0x00004000

    FILE_ATTRIBUTE_HIDDEN ¶

    FILE_ATTRIBUTE_HIDDEN: u32 : 0x00000002

    FILE_ATTRIBUTE_NORMAL ¶

    FILE_ATTRIBUTE_NORMAL: u32 : 0x00000080

    FILE_ATTRIBUTE_NOT_CONTENT_INDEXED ¶

    FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: u32 : 0x00002000

    FILE_ATTRIBUTE_OFFLINE ¶

    FILE_ATTRIBUTE_OFFLINE: u32 : 0x00001000

    FILE_ATTRIBUTE_READONLY ¶

    FILE_ATTRIBUTE_READONLY: u32 : 0x00000001

    FILE_ATTRIBUTE_REPARSE_POINT ¶

    FILE_ATTRIBUTE_REPARSE_POINT: u32 : 0x00000400

    FILE_ATTRIBUTE_REPARSE_Point ¶

    FILE_ATTRIBUTE_REPARSE_Point: u32 : 0x00000400

    FILE_ATTRIBUTE_SPARSE_FILE ¶

    FILE_ATTRIBUTE_SPARSE_FILE: u32 : 0x00000200

    FILE_ATTRIBUTE_SYSTEM ¶

    FILE_ATTRIBUTE_SYSTEM: u32 : 0x00000004

    FILE_ATTRIBUTE_TEMPORARY ¶

    FILE_ATTRIBUTE_TEMPORARY: u32 : 0x00000100

    FILE_BEGIN ¶

    FILE_BEGIN: u32 : 0

    FILE_CACHE_MAX_HARD_DISABLE ¶

    FILE_CACHE_MAX_HARD_DISABLE: u32 : DWORD(0x00000002)

    FILE_CACHE_MAX_HARD_ENABLE ¶

    FILE_CACHE_MAX_HARD_ENABLE: u32 : DWORD(0x00000001)

    FILE_CACHE_MIN_HARD_DISABLE ¶

    FILE_CACHE_MIN_HARD_DISABLE: u32 : DWORD(0x00000008)

    FILE_CACHE_MIN_HARD_ENABLE ¶

    FILE_CACHE_MIN_HARD_ENABLE: u32 : DWORD(0x00000004)

    FILE_CREATE_PIPE_INSTANCE ¶

    FILE_CREATE_PIPE_INSTANCE: u32 : 0x00000004

    FILE_CURRENT ¶

    FILE_CURRENT: u32 : 1

    FILE_DELETE_CHILD ¶

    FILE_DELETE_CHILD: u32 : 0x00000040

    FILE_END ¶

    FILE_END: u32 : 2

    FILE_EXECUTE ¶

    FILE_EXECUTE: u32 : 0x00000020

    FILE_FLAG_BACKUP_SEMANTICS ¶

    FILE_FLAG_BACKUP_SEMANTICS: u32 : 0x02000000

    FILE_FLAG_FIRST_PIPE_INSTANCE ¶

    FILE_FLAG_FIRST_PIPE_INSTANCE: u32 : 0x00080000

    FILE_FLAG_OPEN_REPARSE_POINT ¶

    FILE_FLAG_OPEN_REPARSE_POINT: u32 : 0x00200000

    FILE_FLAG_OVERLAPPED ¶

    FILE_FLAG_OVERLAPPED: u32 : 0x40000000

    FILE_GENERIC_ALL ¶

    FILE_GENERIC_ALL: u32 : 0x10000000

    FILE_GENERIC_EXECUTE ¶

    FILE_GENERIC_EXECUTE: u32 : 0x20000000

    FILE_GENERIC_READ ¶

    FILE_GENERIC_READ: u32 : 0x80000000

    FILE_GENERIC_WRITE ¶

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

    FILE_LIST_DIRECTORY ¶

    FILE_LIST_DIRECTORY: u32 : 0x00000001

    FILE_MAP_ALL_ACCESS ¶

    FILE_MAP_ALL_ACCESS: u32 : SECTION_ALL_ACCESS

    FILE_MAP_COPY ¶

    FILE_MAP_COPY: u32 : DWORD(0x00000001)

    FILE_MAP_EXECUTE ¶

    FILE_MAP_EXECUTE: u32 : SECTION_MAP_EXECUTE_EXPLICIT

    FILE_MAP_LARGE_PAGES ¶

    FILE_MAP_LARGE_PAGES: u32 : DWORD(0x20000000)

    FILE_MAP_READ ¶

    FILE_MAP_READ: u32 : SECTION_MAP_READ

    FILE_MAP_RESERVE ¶

    FILE_MAP_RESERVE: u32 : DWORD(0x80000000)

    FILE_MAP_TARGETS_INVALID ¶

    FILE_MAP_TARGETS_INVALID: u32 : DWORD(0x40000000)

    FILE_MAP_WRITE ¶

    FILE_MAP_WRITE: u32 : SECTION_MAP_WRITE

    FILE_NOTIFY_CHANGE_ATTRIBUTES ¶

    FILE_NOTIFY_CHANGE_ATTRIBUTES :: 0x00000004

    FILE_NOTIFY_CHANGE_CREATION ¶

    FILE_NOTIFY_CHANGE_CREATION :: 0x00000040

    FILE_NOTIFY_CHANGE_DIR_NAME ¶

    FILE_NOTIFY_CHANGE_DIR_NAME :: 0x00000002

    FILE_NOTIFY_CHANGE_FILE_NAME ¶

    FILE_NOTIFY_CHANGE_FILE_NAME :: 0x00000001

    FILE_NOTIFY_CHANGE_LAST_ACCESS ¶

    FILE_NOTIFY_CHANGE_LAST_ACCESS :: 0x00000020

    FILE_NOTIFY_CHANGE_LAST_WRITE ¶

    FILE_NOTIFY_CHANGE_LAST_WRITE :: 0x00000010

    FILE_NOTIFY_CHANGE_SECURITY ¶

    FILE_NOTIFY_CHANGE_SECURITY :: 0x00000100

    FILE_NOTIFY_CHANGE_SIZE ¶

    FILE_NOTIFY_CHANGE_SIZE :: 0x00000008

    FILE_READ_ATTRIBUTES ¶

    FILE_READ_ATTRIBUTES: u32 : 0x00000080

    FILE_READ_DATA ¶

    FILE_READ_DATA: u32 : 0x00000001

    FILE_READ_EA ¶

    FILE_READ_EA: u32 : 0x00000008

    FILE_SHARE_DELETE ¶

    FILE_SHARE_DELETE: u32 : 0x00000004

    FILE_SHARE_READ ¶

    FILE_SHARE_READ: u32 : 0x00000001

    FILE_SHARE_WRITE ¶

    FILE_SHARE_WRITE: u32 : 0x00000002

    FILE_SKIP_COMPLETION_PORT_ON_SUCCESS ¶

    FILE_SKIP_COMPLETION_PORT_ON_SUCCESS :: 0x1
     

    Flags for SetFileCompletionNotificationModes.

    FILE_SKIP_SET_EVENT_ON_HANDLE ¶

    FILE_SKIP_SET_EVENT_ON_HANDLE :: 0x2

    FILE_TRAVERSE ¶

    FILE_TRAVERSE: u32 : 0x00000020

    FILE_TYPE_CHAR ¶

    FILE_TYPE_CHAR :: 0x0002

    FILE_TYPE_DISK ¶

    FILE_TYPE_DISK :: 0x0001

    FILE_TYPE_PIPE ¶

    FILE_TYPE_PIPE :: 0x0003

    FILE_WRITE_ATTRIBUTES ¶

    FILE_WRITE_ATTRIBUTES: u32 : 0x00000100

    FILE_WRITE_DATA ¶

    FILE_WRITE_DATA: u32 : 0x00000002

    FILE_WRITE_EA ¶

    FILE_WRITE_EA: u32 : 0x00000010

    FIONBIO ¶

    FIONBIO: u32 : 0x8004667e

    FM_GETDRIVEINFOA ¶

    FM_GETDRIVEINFOA :: 0x0601

    FM_GETDRIVEINFOW ¶

    FM_GETDRIVEINFOW :: 0x0611

    FM_GETFILESELA ¶

    FM_GETFILESELA :: 0x0604

    FM_GETFILESELLFNA ¶

    FM_GETFILESELLFNA :: 0x0605

    FM_GETFILESELLFNW ¶

    FM_GETFILESELLFNW :: 0x0615

    FM_GETFILESELW ¶

    FM_GETFILESELW :: 0x0614

    FM_GETFOCUS ¶

    FM_GETFOCUS :: 0x0600

    FM_GETSELCOUNT ¶

    FM_GETSELCOUNT :: 0x0602

    FM_GETSELCOUNTLFN ¶

    FM_GETSELCOUNTLFN :: 0x0603

    FM_REFRESH_WINDOWS ¶

    FM_REFRESH_WINDOWS :: 0x0606

    FM_RELOAD_EXTENSIONS ¶

    FM_RELOAD_EXTENSIONS :: 0x0607

    FOF_ALLOWUNDO ¶

    FOF_ALLOWUNDO :: 0x0040
     

    Must be freed using SHFreeNameMappings

    FOF_CONFIRMMOUSE ¶

    FOF_CONFIRMMOUSE :: 0x0002

    FOF_FILESONLY ¶

    FOF_FILESONLY :: 0x0080
     

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

    FOF_MULTIDESTFILES ¶

    FOF_MULTIDESTFILES :: 0x0001
     

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

    FOF_NOCONFIRMATION ¶

    FOF_NOCONFIRMATION :: 0x0010
     

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

    FOF_NOCONFIRMMKDIR ¶

    FOF_NOCONFIRMMKDIR :: 0x0200
     

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

    FOF_NOCOPYSECURITYATTRIBS ¶

    FOF_NOCOPYSECURITYATTRIBS :: 0x0800
     

    dont copy file security attributes (ACLs)

    FOF_NOERRORUI ¶

    FOF_NOERRORUI :: 0x0400
     

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

    FOF_NORECURSEREPARSE ¶

    FOF_NORECURSEREPARSE :: 0x8000
     

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

    FOF_NORECURSION ¶

    FOF_NORECURSION :: 0x1000
     

    don't recurse into directories for operations that would recurse

    FOF_NO_CONNECTED_ELEMENTS ¶

    FOF_NO_CONNECTED_ELEMENTS :: 0x2000
     

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

    FOF_NO_UI ¶

    FOF_NO_UI :: FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR
     

    don't display any UI at all

    FOF_RENAMEONCOLLISION ¶

    FOF_RENAMEONCOLLISION :: 0x0008
     

    automatically rename the source files to avoid the collisions

    FOF_SILENT ¶

    FOF_SILENT :: 0x0004
     

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

    FOF_SIMPLEPROGRESS ¶

    FOF_SIMPLEPROGRESS :: 0x0100
     

    means don't show names of files

    FOF_WANTMAPPINGHANDLE ¶

    FOF_WANTMAPPINGHANDLE :: 0x0020
     

    Fill in SHFILEOPSTRUCT.hNameMappings

    FOF_WANTNUKEWARNING ¶

    FOF_WANTNUKEWARNING :: 0x4000
     

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

    FOLDERID_AccountPictures ¶

    FOLDERID_AccountPictures :: GUID{0x008ca0b1, 0x55b4, 0x4c56, {0xb8, 0xa8, 0x4d, 0xe4, 0xb2, 0x99, 0xd3, 0xbe}}

    FOLDERID_AddNewPrograms ¶

    FOLDERID_AddNewPrograms :: GUID{0xde61d971, 0x5ebc, 0x4f02, {0xa3, 0xa9, 0x6c, 0x82, 0x89, 0x5e, 0x5c, 0x04}}

    FOLDERID_AdminTools ¶

    FOLDERID_AdminTools :: GUID{0x724EF170, 0xA42D, 0x4FEF, {0x9F, 0x26, 0xB6, 0x0E, 0x84, 0x6F, 0xBA, 0x4F}}

    FOLDERID_AllAppMods ¶

    FOLDERID_AllAppMods :: GUID{0x7ad67899, 0x66af, 0x43ba, {0x91, 0x56, 0x6a, 0xad, 0x42, 0xe6, 0xc5, 0x96}}

    FOLDERID_AppCaptures ¶

    FOLDERID_AppCaptures :: GUID{0xedc0fe71, 0x98d8, 0x4f4a, {0xb9, 0x20, 0xc8, 0xdc, 0x13, 0x3c, 0xb1, 0x65}}

    FOLDERID_AppDataDesktop ¶

    FOLDERID_AppDataDesktop :: GUID{0xb2c5e279, 0x7add, 0x439f, {0xb2, 0x8c, 0xc4, 0x1f, 0xe1, 0xbb, 0xf6, 0x72}}

    FOLDERID_AppDataDocuments ¶

    FOLDERID_AppDataDocuments :: GUID{0x7be16610, 0x1f7f, 0x44ac, {0xbf, 0xf0, 0x83, 0xe1, 0x5f, 0x2f, 0xfc, 0xa1}}

    FOLDERID_AppDataFavorites ¶

    FOLDERID_AppDataFavorites :: GUID{0x7cfbefbc, 0xde1f, 0x45aa, {0xb8, 0x43, 0xa5, 0x42, 0xac, 0x53, 0x6c, 0xc9}}

    FOLDERID_AppDataProgramData ¶

    FOLDERID_AppDataProgramData :: GUID{0x559d40a3, 0xa036, 0x40fa, {0xaf, 0x61, 0x84, 0xcb, 0x43, 0xa, 0x4d, 0x34}}

    FOLDERID_AppUpdates ¶

    FOLDERID_AppUpdates :: GUID{0xa305ce99, 0xf527, 0x492b, {0x8b, 0x1a, 0x7e, 0x76, 0xfa, 0x98, 0xd6, 0xe4}}

    FOLDERID_ApplicationShortcuts ¶

    FOLDERID_ApplicationShortcuts :: GUID{0xa3918781, 0xe5f2, 0x4890, {0xb3, 0xd9, 0xa7, 0xe5, 0x43, 0x32, 0x32, 0x8c}}

    FOLDERID_AppsFolder ¶

    FOLDERID_AppsFolder :: GUID{0x1e87508d, 0x89c2, 0x42f0, {0x8a, 0x7e, 0x64, 0x5a, 0x0f, 0x50, 0xca, 0x58}}

    FOLDERID_CDBurning ¶

    FOLDERID_CDBurning :: GUID{0x9E52AB10, 0xF80D, 0x49DF, {0xAC, 0xB8, 0x43, 0x30, 0xF5, 0x68, 0x78, 0x55}}

    FOLDERID_CameraRoll ¶

    FOLDERID_CameraRoll :: GUID{0xab5fb87b, 0x7ce2, 0x4f83, {0x91, 0x5d, 0x55, 0x8, 0x46, 0xc9, 0x53, 0x7b}}

    FOLDERID_CameraRollLibrary ¶

    FOLDERID_CameraRollLibrary :: GUID{0x2b20df75, 0x1eda, 0x4039, {0x80, 0x97, 0x38, 0x79, 0x82, 0x27, 0xd5, 0xb7}}

    FOLDERID_ChangeRemovePrograms ¶

    FOLDERID_ChangeRemovePrograms :: GUID{0xdf7266ac, 0x9274, 0x4867, {0x8d, 0x55, 0x3b, 0xd6, 0x61, 0xde, 0x87, 0x2d}}

    FOLDERID_CommonAdminTools ¶

    FOLDERID_CommonAdminTools :: GUID{0xD0384E7D, 0xBAC3, 0x4797, {0x8F, 0x14, 0xCB, 0xA2, 0x29, 0xB3, 0x92, 0xB5}}
    FOLDERID_CommonOEMLinks :: GUID{0xC1BAE2D0, 0x10DF, 0x4334, {0xBE, 0xDD, 0x7A, 0xA2, 0x0B, 0x22, 0x7A, 0x9D}}

    FOLDERID_CommonPrograms ¶

    FOLDERID_CommonPrograms :: GUID{0x0139D44E, 0x6AFE, 0x49F2, {0x86, 0x90, 0x3D, 0xAF, 0xCA, 0xE6, 0xFF, 0xB8}}

    FOLDERID_CommonStartMenu ¶

    FOLDERID_CommonStartMenu :: GUID{0xA4115719, 0xD62E, 0x491D, {0xAA, 0x7C, 0xE7, 0x4B, 0x8B, 0xE3, 0xB0, 0x67}}

    FOLDERID_CommonStartMenuPlaces ¶

    FOLDERID_CommonStartMenuPlaces :: GUID{0xa440879f, 0x87a0, 0x4f7d, {0xb7, 0x0, 0x2, 0x7, 0xb9, 0x66, 0x19, 0x4a}}

    FOLDERID_CommonStartup ¶

    FOLDERID_CommonStartup :: GUID{0x82A5EA35, 0xD9CD, 0x47C5, {0x96, 0x29, 0xE1, 0x5D, 0x2F, 0x71, 0x4E, 0x6E}}

    FOLDERID_CommonTemplates ¶

    FOLDERID_CommonTemplates :: GUID{0xB94237E7, 0x57AC, 0x4347, {0x91, 0x51, 0xB0, 0x8C, 0x6C, 0x32, 0xD1, 0xF7}}

    FOLDERID_ComputerFolder ¶

    FOLDERID_ComputerFolder :: GUID{0x0AC0837C, 0xBBF8, 0x452A, {0x85, 0x0D, 0x79, 0xD0, 0x8E, 0x66, 0x7C, 0xA7}}

    FOLDERID_ConflictFolder ¶

    FOLDERID_ConflictFolder :: GUID{0x4bfefb45, 0x347d, 0x4006, {0xa5, 0xbe, 0xac, 0x0c, 0xb0, 0x56, 0x71, 0x92}}

    FOLDERID_ConnectionsFolder ¶

    FOLDERID_ConnectionsFolder :: GUID{0x6F0CD92B, 0x2E97, 0x45D1, {0x88, 0xFF, 0xB0, 0xD1, 0x86, 0xB8, 0xDE, 0xDD}}

    FOLDERID_Contacts ¶

    FOLDERID_Contacts :: GUID{0x56784854, 0xc6cb, 0x462b, {0x81, 0x69, 0x88, 0xe3, 0x50, 0xac, 0xb8, 0x82}}

    FOLDERID_ControlPanelFolder ¶

    FOLDERID_ControlPanelFolder :: GUID{0x82A74AEB, 0xAEB4, 0x465C, {0xA0, 0x14, 0xD0, 0x97, 0xEE, 0x34, 0x6D, 0x63}}

    FOLDERID_Cookies ¶

    FOLDERID_Cookies :: GUID{0x2B0F765D, 0xC0E9, 0x4171, {0x90, 0x8E, 0x08, 0xA6, 0x11, 0xB8, 0x4F, 0xF6}}

    FOLDERID_CurrentAppMods ¶

    FOLDERID_CurrentAppMods :: GUID{0x3db40b20, 0x2a30, 0x4dbe, {0x91, 0x7e, 0x77, 0x1d, 0xd2, 0x1d, 0xd0, 0x99}}

    FOLDERID_Desktop ¶

    FOLDERID_Desktop :: GUID{0xB4BFCC3A, 0xDB2C, 0x424C, {0xB0, 0x29, 0x7F, 0xE9, 0x9A, 0x87, 0xC6, 0x41}}

    FOLDERID_DevelopmentFiles ¶

    FOLDERID_DevelopmentFiles :: GUID{0xdbe8e08e, 0x3053, 0x4bbc, {0xb1, 0x83, 0x2a, 0x7b, 0x2b, 0x19, 0x1e, 0x59}}

    FOLDERID_Device ¶

    FOLDERID_Device :: GUID{0x1C2AC1DC, 0x4358, 0x4B6C, {0x97, 0x33, 0xAF, 0x21, 0x15, 0x65, 0x76, 0xF0}}

    FOLDERID_DeviceMetadataStore ¶

    FOLDERID_DeviceMetadataStore :: GUID{0x5ce4a5e9, 0xe4eb, 0x479d, {0xb8, 0x9f, 0x13, 0x0c, 0x02, 0x88, 0x61, 0x55}}

    FOLDERID_Documents ¶

    FOLDERID_Documents :: GUID{0xFDD39AD0, 0x238F, 0x46AF, {0xAD, 0xB4, 0x6C, 0x85, 0x48, 0x03, 0x69, 0xC7}}

    FOLDERID_DocumentsLibrary ¶

    FOLDERID_DocumentsLibrary :: GUID{0x7b0db17d, 0x9cd2, 0x4a93, {0x97, 0x33, 0x46, 0xcc, 0x89, 0x02, 0x2e, 0x7c}}

    FOLDERID_Downloads ¶

    FOLDERID_Downloads :: GUID{0x374de290, 0x123f, 0x4565, {0x91, 0x64, 0x39, 0xc4, 0x92, 0x5e, 0x46, 0x7b}}

    FOLDERID_Favorites ¶

    FOLDERID_Favorites :: GUID{0x1777F761, 0x68AD, 0x4D8A, {0x87, 0xBD, 0x30, 0xB7, 0x59, 0xFA, 0x33, 0xDD}}

    FOLDERID_Fonts ¶

    FOLDERID_Fonts :: GUID{0xFD228CB7, 0xAE11, 0x4AE3, {0x86, 0x4C, 0x16, 0xF3, 0x91, 0x0A, 0xB8, 0xFE}}

    FOLDERID_GameTasks ¶

    FOLDERID_GameTasks :: GUID{0x54fae61, 0x4dd8, 0x4787, {0x80, 0xb6, 0x9, 0x2, 0x20, 0xc4, 0xb7, 0x0}}

    FOLDERID_Games ¶

    FOLDERID_Games :: GUID{0xcac52c1a, 0xb53d, 0x4edc, {0x92, 0xd7, 0x6b, 0x2e, 0x8a, 0xc1, 0x94, 0x34}}

    FOLDERID_History ¶

    FOLDERID_History :: GUID{0xD9DC8A3B, 0xB784, 0x432E, {0xA7, 0x81, 0x5A, 0x11, 0x30, 0xA7, 0x59, 0x63}}

    FOLDERID_HomeGroup ¶

    FOLDERID_HomeGroup :: GUID{0x52528a6b, 0xb9e3, 0x4add, {0xb6, 0xd, 0x58, 0x8c, 0x2d, 0xba, 0x84, 0x2d}}

    FOLDERID_HomeGroupCurrentUser ¶

    FOLDERID_HomeGroupCurrentUser :: GUID{0x9b74b6a3, 0xdfd, 0x4f11, {0x9e, 0x78, 0x5f, 0x78, 0x0, 0xf2, 0xe7, 0x72}}

    FOLDERID_ImplicitAppShortcuts ¶

    FOLDERID_ImplicitAppShortcuts :: GUID{0xbcb5256f, 0x79f6, 0x4cee, {0xb7, 0x25, 0xdc, 0x34, 0xe4, 0x2, 0xfd, 0x46}}

    FOLDERID_InternetCache ¶

    FOLDERID_InternetCache :: GUID{0x352481E8, 0x33BE, 0x4251, {0xBA, 0x85, 0x60, 0x07, 0xCA, 0xED, 0xCF, 0x9D}}

    FOLDERID_InternetFolder ¶

    FOLDERID_InternetFolder :: GUID{0x4D9F7874, 0x4E0C, 0x4904, {0x96, 0x7B, 0x40, 0xB0, 0xD2, 0x0C, 0x3E, 0x4B}}

    FOLDERID_Libraries ¶

    FOLDERID_Libraries :: GUID{0x1b3ea5dc, 0xb587, 0x4786, {0xb4, 0xef, 0xbd, 0x1d, 0xc3, 0x32, 0xae, 0xae}}
    FOLDERID_Links :: GUID{0xbfb9d5e0, 0xc6a9, 0x404c, {0xb2, 0xb2, 0xae, 0x6d, 0xb6, 0xaf, 0x49, 0x68}}

    FOLDERID_LocalAppData ¶

    FOLDERID_LocalAppData :: GUID{0xF1B32785, 0x6FBA, 0x4FCF, {0x9D, 0x55, 0x7B, 0x8E, 0x7F, 0x15, 0x70, 0x91}}

    FOLDERID_LocalAppDataLow ¶

    FOLDERID_LocalAppDataLow :: GUID{0xA520A1A4, 0x1780, 0x4FF6, {0xBD, 0x18, 0x16, 0x73, 0x43, 0xC5, 0xAF, 0x16}}

    FOLDERID_LocalDocuments ¶

    FOLDERID_LocalDocuments :: GUID{0xf42ee2d3, 0x909f, 0x4907, {0x88, 0x71, 0x4c, 0x22, 0xfc, 0x0b, 0xf7, 0x56}}

    FOLDERID_LocalDownloads ¶

    FOLDERID_LocalDownloads :: GUID{0x7d83ee9b, 0x2244, 0x4e70, {0xb1, 0xf5, 0x53, 0x93, 0x04, 0x2a, 0xf1, 0xe4}}

    FOLDERID_LocalMusic ¶

    FOLDERID_LocalMusic :: GUID{0xa0c69a99, 0x21c8, 0x4671, {0x87, 0x03, 0x79, 0x34, 0x16, 0x2f, 0xcf, 0x1d}}

    FOLDERID_LocalPictures ¶

    FOLDERID_LocalPictures :: GUID{0x0ddd015d, 0xb06c, 0x45d5, {0x8c, 0x4c, 0xf5, 0x97, 0x13, 0x85, 0x46, 0x39}}

    FOLDERID_LocalStorage ¶

    FOLDERID_LocalStorage :: GUID{0xB3EB08D3, 0xA1F3, 0x496B, {0x86, 0x5A, 0x42, 0xB5, 0x36, 0xCD, 0xA0, 0xEC}}

    FOLDERID_LocalVideos ¶

    FOLDERID_LocalVideos :: GUID{0x35286a68, 0x3c57, 0x41a1, {0xbb, 0xb1, 0x0e, 0xae, 0x73, 0xd7, 0x6c, 0x95}}

    FOLDERID_LocalizedResourcesDir ¶

    FOLDERID_LocalizedResourcesDir :: GUID{0x2A00375E, 0x224C, 0x49DE, {0xB8, 0xD1, 0x44, 0x0D, 0xF7, 0xEF, 0x3D, 0xDC}}

    FOLDERID_Music ¶

    FOLDERID_Music :: GUID{0x4BD8D571, 0x6D19, 0x48D3, {0xBE, 0x97, 0x42, 0x22, 0x20, 0x08, 0x0E, 0x43}}

    FOLDERID_MusicLibrary ¶

    FOLDERID_MusicLibrary :: GUID{0x2112ab0a, 0xc86a, 0x4ffe, {0xa3, 0x68, 0xd, 0xe9, 0x6e, 0x47, 0x1, 0x2e}}

    FOLDERID_NetHood ¶

    FOLDERID_NetHood :: GUID{0xC5ABBF53, 0xE17F, 0x4121, {0x89, 0x00, 0x86, 0x62, 0x6F, 0xC2, 0xC9, 0x73}}

    FOLDERID_NetworkFolder ¶

    FOLDERID_NetworkFolder :: GUID{0xD20BEEC4, 0x5CA8, 0x4905, {0xAE, 0x3B, 0xBF, 0x25, 0x1E, 0xA0, 0x9B, 0x53}}

    FOLDERID_Objects3D ¶

    FOLDERID_Objects3D :: GUID{0x31c0dd25, 0x9439, 0x4f12, {0xbf, 0x41, 0x7f, 0xf4, 0xed, 0xa3, 0x87, 0x22}}

    FOLDERID_OneDrive ¶

    FOLDERID_OneDrive :: GUID{0xa52bba46, 0xe9e1, 0x435f, {0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6}}

    FOLDERID_OriginalImages ¶

    FOLDERID_OriginalImages :: GUID{0x2C36C0AA, 0x5812, 0x4b87, {0xbf, 0xd0, 0x4c, 0xd0, 0xdf, 0xb1, 0x9b, 0x39}}

    FOLDERID_PhotoAlbums ¶

    FOLDERID_PhotoAlbums :: GUID{0x69D2CF90, 0xFC33, 0x4FB7, {0x9A, 0x0C, 0xEB, 0xB0, 0xF0, 0xFC, 0xB4, 0x3C}}

    FOLDERID_Pictures ¶

    FOLDERID_Pictures :: GUID{0x33E28130, 0x4E1E, 0x4676, {0x83, 0x5A, 0x98, 0x39, 0x5C, 0x3B, 0xC3, 0xBB}}

    FOLDERID_PicturesLibrary ¶

    FOLDERID_PicturesLibrary :: GUID{0xa990ae9f, 0xa03b, 0x4e80, {0x94, 0xbc, 0x99, 0x12, 0xd7, 0x50, 0x41, 0x4}}

    FOLDERID_Playlists ¶

    FOLDERID_Playlists :: GUID{0xDE92C1C7, 0x837F, 0x4F69, {0xA3, 0xBB, 0x86, 0xE6, 0x31, 0x20, 0x4A, 0x23}}

    FOLDERID_PrintHood ¶

    FOLDERID_PrintHood :: GUID{0x9274BD8D, 0xCFD1, 0x41C3, {0xB3, 0x5E, 0xB1, 0x3F, 0x55, 0xA7, 0x58, 0xF4}}

    FOLDERID_PrintersFolder ¶

    FOLDERID_PrintersFolder :: GUID{0x76FC4E2D, 0xD6AD, 0x4519, {0xA6, 0x63, 0x37, 0xBD, 0x56, 0x06, 0x81, 0x85}}

    FOLDERID_Profile ¶

    FOLDERID_Profile :: GUID{0x5E6C858F, 0x0E22, 0x4760, {0x9A, 0xFE, 0xEA, 0x33, 0x17, 0xB6, 0x71, 0x73}}

    FOLDERID_ProgramData ¶

    FOLDERID_ProgramData :: GUID{0x62AB5D82, 0xFDC1, 0x4DC3, {0xA9, 0xDD, 0x07, 0x0D, 0x1D, 0x49, 0x5D, 0x97}}

    FOLDERID_ProgramFiles ¶

    FOLDERID_ProgramFiles :: GUID{0x905e63b6, 0xc1bf, 0x494e, {0xb2, 0x9c, 0x65, 0xb7, 0x32, 0xd3, 0xd2, 0x1a}}

    FOLDERID_ProgramFilesCommon ¶

    FOLDERID_ProgramFilesCommon :: GUID{0xF7F1ED05, 0x9F6D, 0x47A2, {0xAA, 0xAE, 0x29, 0xD3, 0x17, 0xC6, 0xF0, 0x66}}

    FOLDERID_ProgramFilesCommonX64 ¶

    FOLDERID_ProgramFilesCommonX64 :: GUID{0x6365d5a7, 0xf0d, 0x45e5, {0x87, 0xf6, 0xd, 0xa5, 0x6b, 0x6a, 0x4f, 0x7d}}

    FOLDERID_ProgramFilesCommonX86 ¶

    FOLDERID_ProgramFilesCommonX86 :: GUID{0xDE974D24, 0xD9C6, 0x4D3E, {0xBF, 0x91, 0xF4, 0x45, 0x51, 0x20, 0xB9, 0x17}}

    FOLDERID_ProgramFilesX64 ¶

    FOLDERID_ProgramFilesX64 :: GUID{0x6d809377, 0x6af0, 0x444b, {0x89, 0x57, 0xa3, 0x77, 0x3f, 0x02, 0x20, 0x0e}}

    FOLDERID_ProgramFilesX86 ¶

    FOLDERID_ProgramFilesX86 :: GUID{0x7C5A40EF, 0xA0FB, 0x4BFC, {0x87, 0x4A, 0xC0, 0xF2, 0xE0, 0xB9, 0xFA, 0x8E}}

    FOLDERID_Programs ¶

    FOLDERID_Programs :: GUID{0xA77F5D77, 0x2E2B, 0x44C3, {0xA6, 0xA2, 0xAB, 0xA6, 0x01, 0x05, 0x4A, 0x51}}

    FOLDERID_Public ¶

    FOLDERID_Public :: GUID{0xDFDF76A2, 0xC82A, 0x4D63, {0x90, 0x6A, 0x56, 0x44, 0xAC, 0x45, 0x73, 0x85}}

    FOLDERID_PublicDesktop ¶

    FOLDERID_PublicDesktop :: GUID{0xC4AA340D, 0xF20F, 0x4863, {0xAF, 0xEF, 0xF8, 0x7E, 0xF2, 0xE6, 0xBA, 0x25}}

    FOLDERID_PublicDocuments ¶

    FOLDERID_PublicDocuments :: GUID{0xED4824AF, 0xDCE4, 0x45A8, {0x81, 0xE2, 0xFC, 0x79, 0x65, 0x08, 0x36, 0x34}}

    FOLDERID_PublicDownloads ¶

    FOLDERID_PublicDownloads :: GUID{0x3d644c9b, 0x1fb8, 0x4f30, {0x9b, 0x45, 0xf6, 0x70, 0x23, 0x5f, 0x79, 0xc0}}

    FOLDERID_PublicGameTasks ¶

    FOLDERID_PublicGameTasks :: GUID{0xdebf2536, 0xe1a8, 0x4c59, {0xb6, 0xa2, 0x41, 0x45, 0x86, 0x47, 0x6a, 0xea}}

    FOLDERID_PublicLibraries ¶

    FOLDERID_PublicLibraries :: GUID{0x48daf80b, 0xe6cf, 0x4f4e, {0xb8, 0x00, 0x0e, 0x69, 0xd8, 0x4e, 0xe3, 0x84}}

    FOLDERID_PublicMusic ¶

    FOLDERID_PublicMusic :: GUID{0x3214FAB5, 0x9757, 0x4298, {0xBB, 0x61, 0x92, 0xA9, 0xDE, 0xAA, 0x44, 0xFF}}

    FOLDERID_PublicPictures ¶

    FOLDERID_PublicPictures :: GUID{0xB6EBFB86, 0x6907, 0x413C, {0x9A, 0xF7, 0x4F, 0xC2, 0xAB, 0xF0, 0x7C, 0xC5}}

    FOLDERID_PublicRingtones ¶

    FOLDERID_PublicRingtones :: GUID{0xE555AB60, 0x153B, 0x4D17, {0x9F, 0x04, 0xA5, 0xFE, 0x99, 0xFC, 0x15, 0xEC}}

    FOLDERID_PublicUserTiles ¶

    FOLDERID_PublicUserTiles :: GUID{0x0482af6c, 0x08f1, 0x4c34, {0x8c, 0x90, 0xe1, 0x7e, 0xc9, 0x8b, 0x1e, 0x17}}

    FOLDERID_PublicVideos ¶

    FOLDERID_PublicVideos :: GUID{0x2400183A, 0x6185, 0x49FB, {0xA2, 0xD8, 0x4A, 0x39, 0x2A, 0x60, 0x2B, 0xA3}}

    FOLDERID_QuickLaunch ¶

    FOLDERID_QuickLaunch :: GUID{0x52a4f021, 0x7b75, 0x48a9, {0x9f, 0x6b, 0x4b, 0x87, 0xa2, 0x10, 0xbc, 0x8f}}

    FOLDERID_Recent ¶

    FOLDERID_Recent :: GUID{0xAE50C081, 0xEBD2, 0x438A, {0x86, 0x55, 0x8A, 0x09, 0x2E, 0x34, 0x98, 0x7A}}

    FOLDERID_RecordedCalls ¶

    FOLDERID_RecordedCalls :: GUID{0x2f8b40c2, 0x83ed, 0x48ee, {0xb3, 0x83, 0xa1, 0xf1, 0x57, 0xec, 0x6f, 0x9a}}

    FOLDERID_RecordedTVLibrary ¶

    FOLDERID_RecordedTVLibrary :: GUID{0x1a6fdba2, 0xf42d, 0x4358, {0xa7, 0x98, 0xb7, 0x4d, 0x74, 0x59, 0x26, 0xc5}}

    FOLDERID_RecycleBinFolder ¶

    FOLDERID_RecycleBinFolder :: GUID{0xB7534046, 0x3ECB, 0x4C18, {0xBE, 0x4E, 0x64, 0xCD, 0x4C, 0xB7, 0xD6, 0xAC}}

    FOLDERID_ResourceDir ¶

    FOLDERID_ResourceDir :: GUID{0x8AD10C31, 0x2ADB, 0x4296, {0xA8, 0xF7, 0xE4, 0x70, 0x12, 0x32, 0xC9, 0x72}}

    FOLDERID_RetailDemo ¶

    FOLDERID_RetailDemo :: GUID{0x12d4c69e, 0x24ad, 0x4923, {0xbe, 0x19, 0x31, 0x32, 0x1c, 0x43, 0xa7, 0x67}}

    FOLDERID_Ringtones ¶

    FOLDERID_Ringtones :: GUID{0xC870044B, 0xF49E, 0x4126, {0xA9, 0xC3, 0xB5, 0x2A, 0x1F, 0xF4, 0x11, 0xE8}}

    FOLDERID_RoamedTileImages ¶

    FOLDERID_RoamedTileImages :: GUID{0xaaa8d5a5, 0xf1d6, 0x4259, {0xba, 0xa8, 0x78, 0xe7, 0xef, 0x60, 0x83, 0x5e}}

    FOLDERID_RoamingAppData ¶

    FOLDERID_RoamingAppData :: GUID{0x3EB685DB, 0x65F9, 0x4CF6, {0xA0, 0x3A, 0xE3, 0xEF, 0x65, 0x72, 0x9F, 0x3D}}

    FOLDERID_RoamingTiles ¶

    FOLDERID_RoamingTiles :: GUID{0xbcfc5a, 0xed94, 0x4e48, {0x96, 0xa1, 0x3f, 0x62, 0x17, 0xf2, 0x19, 0x90}}

    FOLDERID_SEARCH_CSC ¶

    FOLDERID_SEARCH_CSC :: GUID{0xee32e446, 0x31ca, 0x4aba, {0x81, 0x4f, 0xa5, 0xeb, 0xd2, 0xfd, 0x6d, 0x5e}}

    FOLDERID_SEARCH_MAPI ¶

    FOLDERID_SEARCH_MAPI :: GUID{0x98ec0e18, 0x2098, 0x4d44, {0x86, 0x44, 0x66, 0x97, 0x93, 0x15, 0xa2, 0x81}}

    FOLDERID_SampleMusic ¶

    FOLDERID_SampleMusic :: GUID{0xB250C668, 0xF57D, 0x4EE1, {0xA6, 0x3C, 0x29, 0x0E, 0xE7, 0xD1, 0xAA, 0x1F}}

    FOLDERID_SamplePictures ¶

    FOLDERID_SamplePictures :: GUID{0xC4900540, 0x2379, 0x4C75, {0x84, 0x4B, 0x64, 0xE6, 0xFA, 0xF8, 0x71, 0x6B}}

    FOLDERID_SamplePlaylists ¶

    FOLDERID_SamplePlaylists :: GUID{0x15CA69B3, 0x30EE, 0x49C1, {0xAC, 0xE1, 0x6B, 0x5E, 0xC3, 0x72, 0xAF, 0xB5}}

    FOLDERID_SampleVideos ¶

    FOLDERID_SampleVideos :: GUID{0x859EAD94, 0x2E85, 0x48AD, {0xA7, 0x1A, 0x09, 0x69, 0xCB, 0x56, 0xA6, 0xCD}}

    FOLDERID_SavedGames ¶

    FOLDERID_SavedGames :: GUID{0x4c5c32ff, 0xbb9d, 0x43b0, {0xb5, 0xb4, 0x2d, 0x72, 0xe5, 0x4e, 0xaa, 0xa4}}

    FOLDERID_SavedPictures ¶

    FOLDERID_SavedPictures :: GUID{0x3b193882, 0xd3ad, 0x4eab, {0x96, 0x5a, 0x69, 0x82, 0x9d, 0x1f, 0xb5, 0x9f}}

    FOLDERID_SavedPicturesLibrary ¶

    FOLDERID_SavedPicturesLibrary :: GUID{0xe25b5812, 0xbe88, 0x4bd9, {0x94, 0xb0, 0x29, 0x23, 0x34, 0x77, 0xb6, 0xc3}}

    FOLDERID_SavedSearches ¶

    FOLDERID_SavedSearches :: GUID{0x7d1d3a04, 0xdebb, 0x4115, {0x95, 0xcf, 0x2f, 0x29, 0xda, 0x29, 0x20, 0xda}}

    FOLDERID_Screenshots ¶

    FOLDERID_Screenshots :: GUID{0xb7bede81, 0xdf94, 0x4682, {0xa7, 0xd8, 0x57, 0xa5, 0x26, 0x20, 0xb8, 0x6f}}

    FOLDERID_SearchHistory ¶

    FOLDERID_SearchHistory :: GUID{0x0d4c3db6, 0x03a3, 0x462f, {0xa0, 0xe6, 0x08, 0x92, 0x4c, 0x41, 0xb5, 0xd4}}

    FOLDERID_SearchHome ¶

    FOLDERID_SearchHome :: GUID{0x190337d1, 0xb8ca, 0x4121, {0xa6, 0x39, 0x6d, 0x47, 0x2d, 0x16, 0x97, 0x2a}}

    FOLDERID_SearchTemplates ¶

    FOLDERID_SearchTemplates :: GUID{0x7e636bfe, 0xdfa9, 0x4d5e, {0xb4, 0x56, 0xd7, 0xb3, 0x98, 0x51, 0xd8, 0xa9}}

    FOLDERID_SendTo ¶

    FOLDERID_SendTo :: GUID{0x8983036C, 0x27C0, 0x404B, {0x8F, 0x08, 0x10, 0x2D, 0x10, 0xDC, 0xFD, 0x74}}

    FOLDERID_SidebarDefaultParts ¶

    FOLDERID_SidebarDefaultParts :: GUID{0x7b396e54, 0x9ec5, 0x4300, {0xbe, 0xa, 0x24, 0x82, 0xeb, 0xae, 0x1a, 0x26}}

    FOLDERID_SidebarParts ¶

    FOLDERID_SidebarParts :: GUID{0xa75d362e, 0x50fc, 0x4fb7, {0xac, 0x2c, 0xa8, 0xbe, 0xaa, 0x31, 0x44, 0x93}}

    FOLDERID_SkyDrive ¶

    FOLDERID_SkyDrive :: GUID{0xa52bba46, 0xe9e1, 0x435f, {0xb3, 0xd9, 0x28, 0xda, 0xa6, 0x48, 0xc0, 0xf6}}

    FOLDERID_SkyDriveCameraRoll ¶

    FOLDERID_SkyDriveCameraRoll :: GUID{0x767e6811, 0x49cb, 0x4273, {0x87, 0xc2, 0x20, 0xf3, 0x55, 0xe1, 0x08, 0x5b}}

    FOLDERID_SkyDriveDocuments ¶

    FOLDERID_SkyDriveDocuments :: GUID{0x24d89e24, 0x2f19, 0x4534, {0x9d, 0xde, 0x6a, 0x66, 0x71, 0xfb, 0xb8, 0xfe}}

    FOLDERID_SkyDriveMusic ¶

    FOLDERID_SkyDriveMusic :: GUID{0xc3f2459e, 0x80d6, 0x45dc, {0xbf, 0xef, 0x1f, 0x76, 0x9f, 0x2b, 0xe7, 0x30}}

    FOLDERID_SkyDrivePictures ¶

    FOLDERID_SkyDrivePictures :: GUID{0x339719b5, 0x8c47, 0x4894, {0x94, 0xc2, 0xd8, 0xf7, 0x7a, 0xdd, 0x44, 0xa6}}

    FOLDERID_StartMenu ¶

    FOLDERID_StartMenu :: GUID{0x625B53C3, 0xAB48, 0x4EC1, {0xBA, 0x1F, 0xA1, 0xEF, 0x41, 0x46, 0xFC, 0x19}}

    FOLDERID_StartMenuAllPrograms ¶

    FOLDERID_StartMenuAllPrograms :: GUID{0xf26305ef, 0x6948, 0x40b9, {0xb2, 0x55, 0x81, 0x45, 0x3d, 0x9, 0xc7, 0x85}}

    FOLDERID_Startup ¶

    FOLDERID_Startup :: GUID{0xB97D20BB, 0xF46A, 0x4C97, {0xBA, 0x10, 0x5E, 0x36, 0x08, 0x43, 0x08, 0x54}}

    FOLDERID_SyncManagerFolder ¶

    FOLDERID_SyncManagerFolder :: GUID{0x43668BF8, 0xC14E, 0x49B2, {0x97, 0xC9, 0x74, 0x77, 0x84, 0xD7, 0x84, 0xB7}}

    FOLDERID_SyncResultsFolder ¶

    FOLDERID_SyncResultsFolder :: GUID{0x289a9a43, 0xbe44, 0x4057, {0xa4, 0x1b, 0x58, 0x7a, 0x76, 0xd7, 0xe7, 0xf9}}

    FOLDERID_SyncSetupFolder ¶

    FOLDERID_SyncSetupFolder :: GUID{0xf214138, 0xb1d3, 0x4a90, {0xbb, 0xa9, 0x27, 0xcb, 0xc0, 0xc5, 0x38, 0x9a}}

    FOLDERID_System ¶

    FOLDERID_System :: GUID{0x1AC14E77, 0x02E7, 0x4E5D, {0xB7, 0x44, 0x2E, 0xB1, 0xAE, 0x51, 0x98, 0xB7}}

    FOLDERID_SystemX86 ¶

    FOLDERID_SystemX86 :: GUID{0xD65231B0, 0xB2F1, 0x4857, {0xA4, 0xCE, 0xA8, 0xE7, 0xC6, 0xEA, 0x7D, 0x27}}

    FOLDERID_Templates ¶

    FOLDERID_Templates :: GUID{0xA63293E8, 0x664E, 0x48DB, {0xA0, 0x79, 0xDF, 0x75, 0x9E, 0x05, 0x09, 0xF7}}

    FOLDERID_UserPinned ¶

    FOLDERID_UserPinned :: GUID{0x9e3995ab, 0x1f9c, 0x4f13, {0xb8, 0x27, 0x48, 0xb2, 0x4b, 0x6c, 0x71, 0x74}}

    FOLDERID_UserProfiles ¶

    FOLDERID_UserProfiles :: GUID{0x0762D272, 0xC50A, 0x4BB0, {0xA3, 0x82, 0x69, 0x7D, 0xCD, 0x72, 0x9B, 0x80}}

    FOLDERID_UserProgramFiles ¶

    FOLDERID_UserProgramFiles :: GUID{0x5cd7aee2, 0x2219, 0x4a67, {0xb8, 0x5d, 0x6c, 0x9c, 0xe1, 0x56, 0x60, 0xcb}}

    FOLDERID_UserProgramFilesCommon ¶

    FOLDERID_UserProgramFilesCommon :: GUID{0xbcbd3057, 0xca5c, 0x4622, {0xb4, 0x2d, 0xbc, 0x56, 0xdb, 0x0a, 0xe5, 0x16}}

    FOLDERID_UsersFiles ¶

    FOLDERID_UsersFiles :: GUID{0xf3ce0f7c, 0x4901, 0x4acc, {0x86, 0x48, 0xd5, 0xd4, 0x4b, 0x04, 0xef, 0x8f}}

    FOLDERID_UsersLibraries ¶

    FOLDERID_UsersLibraries :: GUID{0xa302545d, 0xdeff, 0x464b, {0xab, 0xe8, 0x61, 0xc8, 0x64, 0x8d, 0x93, 0x9b}}

    FOLDERID_Videos ¶

    FOLDERID_Videos :: GUID{0x18989B1D, 0x99B5, 0x455B, {0x84, 0x1C, 0xAB, 0x7C, 0x74, 0xE4, 0xDD, 0xFC}}

    FOLDERID_VideosLibrary ¶

    FOLDERID_VideosLibrary :: GUID{0x491e922f, 0x5643, 0x4af4, {0xa7, 0xeb, 0x4e, 0x7a, 0x13, 0x8d, 0x81, 0x74}}

    FOLDERID_Windows ¶

    FOLDERID_Windows :: GUID{0xF38BF404, 0x1D43, 0x42F2, {0x93, 0x05, 0x67, 0xDE, 0x0B, 0x28, 0xFC, 0x23}}

    FOREGROUND_BLUE ¶

    FOREGROUND_BLUE: u16 : WORD(0x0001)

    FOREGROUND_GREEN ¶

    FOREGROUND_GREEN: u16 : WORD(0x0002)

    FOREGROUND_INTENSITY ¶

    FOREGROUND_INTENSITY: u16 : WORD(0x0008)

    FOREGROUND_RED ¶

    FOREGROUND_RED: u16 : WORD(0x0004)

    FORMAT_MESSAGE_ALLOCATE_BUFFER ¶

    FORMAT_MESSAGE_ALLOCATE_BUFFER :: 0x00000100

    FORMAT_MESSAGE_ARGUMENT_ARRAY ¶

    FORMAT_MESSAGE_ARGUMENT_ARRAY :: 0x00002000

    FORMAT_MESSAGE_FROM_HMODULE ¶

    FORMAT_MESSAGE_FROM_HMODULE :: 0x00000800

    FORMAT_MESSAGE_FROM_STRING ¶

    FORMAT_MESSAGE_FROM_STRING :: 0x00000400

    FORMAT_MESSAGE_FROM_SYSTEM ¶

    FORMAT_MESSAGE_FROM_SYSTEM :: 0x00001000

    FORMAT_MESSAGE_IGNORE_INSERTS ¶

    FORMAT_MESSAGE_IGNORE_INSERTS :: 0x00000200

    FORMAT_MESSAGE_MAX_WIDTH_MASK ¶

    FORMAT_MESSAGE_MAX_WIDTH_MASK :: 0x000000FF

    FOS_ALLNONSTORAGEITEMS ¶

    FOS_ALLNONSTORAGEITEMS :: 0x80

    FOS_ALLOWMULTISELECT ¶

    FOS_ALLOWMULTISELECT :: 0x200

    FOS_CREATEPROMPT ¶

    FOS_CREATEPROMPT :: 0x2000

    FOS_DEFAULTNOMINIMODE ¶

    FOS_DEFAULTNOMINIMODE :: 0x20000000

    FOS_DONTADDTORECENT ¶

    FOS_DONTADDTORECENT :: 0x2000000

    FOS_FILEMUSTEXIST ¶

    FOS_FILEMUSTEXIST :: 0x1000

    FOS_FORCEFILESYSTEM ¶

    FOS_FORCEFILESYSTEM :: 0x40

    FOS_FORCEPREVIEWPANEON ¶

    FOS_FORCEPREVIEWPANEON :: 0x40000000

    FOS_FORCESHOWHIDDEN ¶

    FOS_FORCESHOWHIDDEN :: 0x10000000

    FOS_HIDEMRUPLACES ¶

    FOS_HIDEMRUPLACES :: 0x20000

    FOS_HIDEPINNEDPLACES ¶

    FOS_HIDEPINNEDPLACES :: 0x40000

    FOS_NOCHANGEDIR ¶

    FOS_NOCHANGEDIR :: 0x8
    FOS_NODEREFERENCELINKS :: 0x100000

    FOS_NOREADONLYRETURN ¶

    FOS_NOREADONLYRETURN :: 0x8000

    FOS_NOTESTFILECREATE ¶

    FOS_NOTESTFILECREATE :: 0x10000

    FOS_NOVALIDATE ¶

    FOS_NOVALIDATE :: 0x100

    FOS_OKBUTTONNEEDSINTERACTION ¶

    FOS_OKBUTTONNEEDSINTERACTION :: 0x200000

    FOS_OVERWRITEPROMPT ¶

    FOS_OVERWRITEPROMPT :: 0x2

    FOS_PATHMUSTEXIST ¶

    FOS_PATHMUSTEXIST :: 0x800

    FOS_PICKFOLDERS ¶

    FOS_PICKFOLDERS :: 0x20

    FOS_SHAREAWARE ¶

    FOS_SHAREAWARE :: 0x4000

    FOS_STRICTFILETYPES ¶

    FOS_STRICTFILETYPES :: 0x4

    FOS_SUPPORTSTREAMABLEITEMS ¶

    FOS_SUPPORTSTREAMABLEITEMS :: 0x80000000

    FO_COPY ¶

    FO_COPY :: 0x0002

    FO_DELETE ¶

    FO_DELETE :: 0x0003

    FO_MOVE ¶

    FO_MOVE :: 0x0001
     

    Shell File Operations

    FO_RENAME ¶

    FO_RENAME :: 0x0004

    FSCTL_GET_REPARSE_POINT ¶

    FSCTL_GET_REPARSE_POINT: u32 : 0x900a8

    FSCTL_SET_REPARSE_POINT ¶

    FSCTL_SET_REPARSE_POINT: u32 : 0x900a4

    FW_BLACK ¶

    FW_BLACK :: FW_HEAVY

    FW_BOLD ¶

    FW_BOLD :: 700

    FW_DEMIBOLD ¶

    FW_DEMIBOLD :: FW_SEMIBOLD

    FW_DONTCARE ¶

    FW_DONTCARE :: 0
     

    Font Weights

    FW_EXTRABOLD ¶

    FW_EXTRABOLD :: 800

    FW_EXTRALIGHT ¶

    FW_EXTRALIGHT :: 200

    FW_HEAVY ¶

    FW_HEAVY :: 900

    FW_LIGHT ¶

    FW_LIGHT :: 300

    FW_MEDIUM ¶

    FW_MEDIUM :: 500

    FW_NORMAL ¶

    FW_NORMAL :: 400

    FW_REGULAR ¶

    FW_REGULAR :: FW_NORMAL

    FW_SEMIBOLD ¶

    FW_SEMIBOLD :: 600

    FW_THIN ¶

    FW_THIN :: 100

    FW_ULTRABOLD ¶

    FW_ULTRABOLD :: FW_EXTRABOLD

    FW_ULTRALIGHT ¶

    FW_ULTRALIGHT :: FW_EXTRALIGHT

    GCLP_HBRBACKGROUND ¶

    GCLP_HBRBACKGROUND :: -10

    GCLP_HCURSOR ¶

    GCLP_HCURSOR :: -12

    GCLP_HICON ¶

    GCLP_HICON :: -14

    GCLP_HICONSM ¶

    GCLP_HICONSM :: -34

    GCLP_HMODULE ¶

    GCLP_HMODULE :: -16

    GCLP_MENUNAME ¶

    GCLP_MENUNAME :: -8

    GCLP_WNDPROC ¶

    GCLP_WNDPROC :: -24

    GCL_CBCLSEXTRA ¶

    GCL_CBCLSEXTRA :: -20

    GCL_CBWNDEXTRA ¶

    GCL_CBWNDEXTRA :: -18
     

    Class field offsets for GetClassLong()

    GCL_STYLE ¶

    GCL_STYLE :: -26

    GCW_ATOM ¶

    GCW_ATOM :: -32

    GENERIC_ALL ¶

    GENERIC_ALL: u32 : 0x10000000

    GENERIC_EXECUTE ¶

    GENERIC_EXECUTE: u32 : 0x20000000

    GENERIC_READ ¶

    GENERIC_READ: u32 : 0x80000000

    GENERIC_WRITE ¶

    GENERIC_WRITE: u32 : 0x40000000

    GESTUREVISUALIZATION_DOUBLETAP ¶

    GESTUREVISUALIZATION_DOUBLETAP :: 0x0002

    GESTUREVISUALIZATION_OFF ¶

    GESTUREVISUALIZATION_OFF :: 0x0000
     

    constants for SPI_GETGESTUREVISUALIZATION and SPI_SETGESTUREVISUALIZATION

    GESTUREVISUALIZATION_ON ¶

    GESTUREVISUALIZATION_ON :: 0x001F

    GESTUREVISUALIZATION_PRESSANDHOLD ¶

    GESTUREVISUALIZATION_PRESSANDHOLD :: 0x0008

    GESTUREVISUALIZATION_PRESSANDTAP ¶

    GESTUREVISUALIZATION_PRESSANDTAP :: 0x0004

    GESTUREVISUALIZATION_RIGHTTAP ¶

    GESTUREVISUALIZATION_RIGHTTAP :: 0x0010

    GESTUREVISUALIZATION_TAP ¶

    GESTUREVISUALIZATION_TAP :: 0x0001

    GHND ¶

    GHND :: GMEM_MOVEABLE | GMEM_ZEROINIT

    GMEM_DDESHARE ¶

    GMEM_DDESHARE :: 0x2000

    GMEM_DISCARDABLE ¶

    GMEM_DISCARDABLE :: 0x0100

    GMEM_FIXED ¶

    GMEM_FIXED :: 0x0000
     

    Global Memory Flags

    GMEM_INVALID_HANDLE ¶

    GMEM_INVALID_HANDLE :: 0x8000

    GMEM_LOWER ¶

    GMEM_LOWER :: GMEM_NOT_BANKED

    GMEM_MODIFY ¶

    GMEM_MODIFY :: 0x0080

    GMEM_MOVEABLE ¶

    GMEM_MOVEABLE :: 0x0002

    GMEM_NOCOMPACT ¶

    GMEM_NOCOMPACT :: 0x0010

    GMEM_NODISCARD ¶

    GMEM_NODISCARD :: 0x0020

    GMEM_NOTIFY ¶

    GMEM_NOTIFY :: 0x4000

    GMEM_NOT_BANKED ¶

    GMEM_NOT_BANKED :: 0x1000

    GMEM_SHARE ¶

    GMEM_SHARE :: 0x2000

    GMEM_VALID_FLAGS ¶

    GMEM_VALID_FLAGS :: 0x7F72

    GMEM_ZEROINIT ¶

    GMEM_ZEROINIT :: 0x0040

    GNLEN ¶

    GNLEN :: UNLEN
     

    Group name

    GPTR ¶

    GPTR :: GMEM_FIXED | GMEM_ZEROINIT

    GRAY_BRUSH ¶

    GRAY_BRUSH :: 2

    GROUP_SECURITY_INFORMATION ¶

    GROUP_SECURITY_INFORMATION :: 0x00000002

    GWLP_HINSTANCE ¶

    GWLP_HINSTANCE :: -6

    GWLP_HWNDPARENT ¶

    GWLP_HWNDPARENT :: -8

    GWLP_ID ¶

    GWLP_ID :: -12

    GWLP_USERDATA ¶

    GWLP_USERDATA :: -21

    GWLP_WNDPROC ¶

    GWLP_WNDPROC :: -4

    GWL_EXSTYLE ¶

    GWL_EXSTYLE :: -20

    GWL_ID ¶

    GWL_ID :: -12

    GWL_STYLE ¶

    GWL_STYLE :: -16
     

    Window field offsets for GetWindowLong()

    HALFTONE ¶

    HALFTONE :: 4

    HANDLE_FLAG_INHERIT ¶

    HANDLE_FLAG_INHERIT: u32 : 0x00000001

    HANDLE_FLAG_PROTECT_FROM_CLOSE ¶

    HANDLE_FLAG_PROTECT_FROM_CLOSE :: 0x00000002

    HCBT_ACTIVATE ¶

    HCBT_ACTIVATE :: 5

    HCBT_CLICKSKIPPED ¶

    HCBT_CLICKSKIPPED :: 6

    HCBT_CREATEWND ¶

    HCBT_CREATEWND :: 3

    HCBT_DESTROYWND ¶

    HCBT_DESTROYWND :: 4

    HCBT_KEYSKIPPED ¶

    HCBT_KEYSKIPPED :: 7

    HCBT_MINMAX ¶

    HCBT_MINMAX :: 1

    HCBT_MOVESIZE ¶

    HCBT_MOVESIZE :: 0
     

    CBT Hook Codes

    HCBT_QS ¶

    HCBT_QS :: 2

    HCBT_SETFOCUS ¶

    HCBT_SETFOCUS :: 9

    HCBT_SYSCOMMAND ¶

    HCBT_SYSCOMMAND :: 8

    HC_ACTION ¶

    HC_ACTION :: 0
     

    Hook Codes

    HC_GETNEXT ¶

    HC_GETNEXT :: 1

    HC_NOREM ¶

    HC_NOREM :: HC_NOREMOVE

    HC_NOREMOVE ¶

    HC_NOREMOVE :: 3

    HC_SKIP ¶

    HC_SKIP :: 2

    HC_SYSMODALOFF ¶

    HC_SYSMODALOFF :: 5

    HC_SYSMODALON ¶

    HC_SYSMODALON :: 4

    HEAP_ZERO_MEMORY ¶

    HEAP_ZERO_MEMORY: u32 : 0x00000008

    HIDP_STATUS_SUCCESS ¶

    HIDP_STATUS_SUCCESS: i32 : 0x110000

    HID_USAGE_GENERIC_GAMEPAD ¶

    HID_USAGE_GENERIC_GAMEPAD :: 0x05

    HID_USAGE_GENERIC_JOYSTICK ¶

    HID_USAGE_GENERIC_JOYSTICK :: 0x04

    HID_USAGE_GENERIC_KEYBOARD ¶

    HID_USAGE_GENERIC_KEYBOARD :: 0x06

    HID_USAGE_GENERIC_KEYPAD ¶

    HID_USAGE_GENERIC_KEYPAD :: 0x07

    HID_USAGE_GENERIC_MOUSE ¶

    HID_USAGE_GENERIC_MOUSE :: 0x02

    HID_USAGE_GENERIC_MULTI_AXIS_CONTROLLER ¶

    HID_USAGE_GENERIC_MULTI_AXIS_CONTROLLER :: 0x08

    HID_USAGE_GENERIC_POINTER ¶

    HID_USAGE_GENERIC_POINTER :: 0x01

    HID_USAGE_PAGE_BUTTON ¶

    HID_USAGE_PAGE_BUTTON :: 0x09

    HID_USAGE_PAGE_GAME ¶

    HID_USAGE_PAGE_GAME :: 0x05

    HID_USAGE_PAGE_GENERIC ¶

    HID_USAGE_PAGE_GENERIC :: 0x01

    HID_USAGE_PAGE_LED ¶

    HID_USAGE_PAGE_LED :: 0x08

    HIGH_PRIORITY_CLASS ¶

    HIGH_PRIORITY_CLASS :: 0x00000080

    HKEY_CLASSES_ROOT ¶

    HKEY_CLASSES_ROOT :: HKEY(uintptr(0x80000000))
     

    Reserved Key Handles.

    HKEY_CURRENT_CONFIG ¶

    HKEY_CURRENT_CONFIG :: HKEY(uintptr(0x80000005))

    HKEY_CURRENT_USER ¶

    HKEY_CURRENT_USER :: HKEY(uintptr(0x80000001))

    HKEY_CURRENT_USER_LOCAL_SETTINGS ¶

    HKEY_CURRENT_USER_LOCAL_SETTINGS :: HKEY(uintptr(0x80000007))

    HKEY_DYN_DATA ¶

    HKEY_DYN_DATA :: HKEY(uintptr(0x80000006))

    HKEY_LOCAL_MACHINE ¶

    HKEY_LOCAL_MACHINE :: HKEY(uintptr(0x80000002))

    HKEY_PERFORMANCE_DATA ¶

    HKEY_PERFORMANCE_DATA :: HKEY(uintptr(0x80000004))

    HKEY_PERFORMANCE_NLSTEXT ¶

    HKEY_PERFORMANCE_NLSTEXT :: HKEY(uintptr(0x80000060))

    HKEY_PERFORMANCE_TEXT ¶

    HKEY_PERFORMANCE_TEXT :: HKEY(uintptr(0x80000050))

    HKEY_USERS ¶

    HKEY_USERS :: HKEY(uintptr(0x80000003))

    HKM_GETHOTKEY ¶

    HKM_GETHOTKEY :: 0x0402

    HKM_SETHOTKEY ¶

    HKM_SETHOTKEY :: 0x0401

    HKM_SETRULES ¶

    HKM_SETRULES :: 0x0403

    HOLLOW_BRUSH ¶

    HOLLOW_BRUSH :: NULL_BRUSH

    HOVER_DEFAULT ¶

    HOVER_DEFAULT :: 0xFFFFFFFF

    HTBORDER ¶

    HTBORDER :: 18

    HTBOTTOM ¶

    HTBOTTOM :: 15

    HTBOTTOMLEFT ¶

    HTBOTTOMLEFT :: 16

    HTBOTTOMRIGHT ¶

    HTBOTTOMRIGHT :: 17

    HTCAPTION ¶

    HTCAPTION :: 2

    HTCLIENT ¶

    HTCLIENT :: 1

    HTCLOSE ¶

    HTCLOSE :: 20

    HTERROR ¶

    HTERROR :: -2
     

    WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes

    HTGROWBOX ¶

    HTGROWBOX :: 4

    HTHELP ¶

    HTHELP :: 21

    HTHSCROLL ¶

    HTHSCROLL :: 6

    HTLEFT ¶

    HTLEFT :: 10

    HTMAXBUTTON ¶

    HTMAXBUTTON :: 9

    HTMENU ¶

    HTMENU :: 5

    HTMINBUTTON ¶

    HTMINBUTTON :: 8

    HTNOWHERE ¶

    HTNOWHERE :: 0

    HTOBJECT ¶

    HTOBJECT :: 19

    HTREDUCE ¶

    HTREDUCE :: HTMINBUTTON

    HTRIGHT ¶

    HTRIGHT :: 11

    HTSIZE ¶

    HTSIZE :: HTGROWBOX

    HTSIZEFIRST ¶

    HTSIZEFIRST :: HTLEFT

    HTSIZELAST ¶

    HTSIZELAST :: HTBOTTOMRIGHT

    HTSYSMENU ¶

    HTSYSMENU :: 3

    HTTOP ¶

    HTTOP :: 12

    HTTOPLEFT ¶

    HTTOPLEFT :: 13

    HTTOPRIGHT ¶

    HTTOPRIGHT :: 14

    HTTRANSPARENT ¶

    HTTRANSPARENT :: -1

    HTVSCROLL ¶

    HTVSCROLL :: 7

    HTZOOM ¶

    HTZOOM :: HTMAXBUTTON

    HWND_BOTTOM ¶

    HWND_BOTTOM :: HWND(uintptr(1))
     

    1

    HWND_BROADCAST ¶

    HWND_BROADCAST :: HWND(uintptr(0xffff))
     

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

    HWND_MESSAGE ¶

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

    -3

    HWND_NOTOPMOST ¶

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

    -2

    HWND_TOP ¶

    HWND_TOP :: HWND(uintptr(0))
     

    0

    HWND_TOPMOST ¶

    HWND_TOPMOST :: HWND(~uintptr(0))
     

    -1

    HighMemoryResourceNotification ¶

    HighMemoryResourceNotification :: MEMORY_RESOURCE_NOTIFICATION_TYPE.HighMemoryResourceNotification

    IDABORT ¶

    IDABORT :: 3

    IDCANCEL ¶

    IDCANCEL :: 2

    IDCLOSE ¶

    IDCLOSE :: 8

    IDCONTINUE ¶

    IDCONTINUE :: 11

    IDHELP ¶

    IDHELP :: 9

    IDIGNORE ¶

    IDIGNORE :: 5

    IDLE_PRIORITY_CLASS ¶

    IDLE_PRIORITY_CLASS :: 0x00000040

    IDNO ¶

    IDNO :: 7

    IDOK ¶

    IDOK :: 1
     

    Dialog Box Command IDs

    IDRETRY ¶

    IDRETRY :: 4

    IDTIMEOUT ¶

    IDTIMEOUT :: 32000

    IDTRYAGAIN ¶

    IDTRYAGAIN :: 10

    IDYES ¶

    IDYES :: 6

    IE_DOCOMMAND ¶

    IE_DOCOMMAND :: 0x04c8

    IE_GETAPPDATA ¶

    IE_GETAPPDATA :: 0x04b8

    IE_GETBKGND ¶

    IE_GETBKGND :: 0x049c

    IE_GETCOMMAND ¶

    IE_GETCOMMAND :: 0x04c9

    IE_GETCOUNT ¶

    IE_GETCOUNT :: 0x04ca

    IE_GETDRAWOPTS ¶

    IE_GETDRAWOPTS :: 0x04ba

    IE_GETERASERTIP ¶

    IE_GETERASERTIP :: 0x049a

    IE_GETFORMAT ¶

    IE_GETFORMAT :: 0x04bc

    IE_GETGESTURE ¶

    IE_GETGESTURE :: 0x04cb

    IE_GETGRIDORIGIN ¶

    IE_GETGRIDORIGIN :: 0x049e

    IE_GETGRIDPEN ¶

    IE_GETGRIDPEN :: 0x04a0

    IE_GETGRIDSIZE ¶

    IE_GETGRIDSIZE :: 0x04a2

    IE_GETINK ¶

    IE_GETINK :: 0x0496

    IE_GETINKINPUT ¶

    IE_GETINKINPUT :: 0x04be

    IE_GETINKRECT ¶

    IE_GETINKRECT :: 0x04a6

    IE_GETMENU ¶

    IE_GETMENU :: 0x04cc

    IE_GETMODE ¶

    IE_GETMODE :: 0x04a4

    IE_GETNOTIFY ¶

    IE_GETNOTIFY :: 0x04c0

    IE_GETPAINTDC ¶

    IE_GETPAINTDC :: 0x04cd

    IE_GETPDEVENT ¶

    IE_GETPDEVENT :: 0x04ce

    IE_GETPENTIP ¶

    IE_GETPENTIP :: 0x0498

    IE_GETRECOG ¶

    IE_GETRECOG :: 0x04c2

    IE_GETSECURITY ¶

    IE_GETSECURITY :: 0x04c4

    IE_GETSEL ¶

    IE_GETSEL :: 0x04c6

    IE_GETSELCOUNT ¶

    IE_GETSELCOUNT :: 0x04cf

    IE_GETSELITEMS ¶

    IE_GETSELITEMS :: 0x04d0

    IE_GETSTYLE ¶

    IE_GETSTYLE :: 0x04d1

    IE_MSGFIRST ¶

    IE_MSGFIRST :: 0x0496

    IE_SETAPPDATA ¶

    IE_SETAPPDATA :: 0x04b9

    IE_SETBKGND ¶

    IE_SETBKGND :: 0x049d

    IE_SETDRAWOPTS ¶

    IE_SETDRAWOPTS :: 0x04bb

    IE_SETERASERTIP ¶

    IE_SETERASERTIP :: 0x049b

    IE_SETFORMAT ¶

    IE_SETFORMAT :: 0x04bd

    IE_SETGRIDORIGIN ¶

    IE_SETGRIDORIGIN :: 0x049f

    IE_SETGRIDPEN ¶

    IE_SETGRIDPEN :: 0x04a1

    IE_SETGRIDSIZE ¶

    IE_SETGRIDSIZE :: 0x04a3

    IE_SETINK ¶

    IE_SETINK :: 0x0497

    IE_SETINKINPUT ¶

    IE_SETINKINPUT :: 0x04bf

    IE_SETMODE ¶

    IE_SETMODE :: 0x04a5

    IE_SETNOTIFY ¶

    IE_SETNOTIFY :: 0x04c1

    IE_SETPENTIP ¶

    IE_SETPENTIP :: 0x0499

    IE_SETRECOG ¶

    IE_SETRECOG :: 0x04c3

    IE_SETSECURITY ¶

    IE_SETSECURITY :: 0x04c5

    IE_SETSEL ¶

    IE_SETSEL :: 0x04c7

    IMAGE_BITMAP ¶

    IMAGE_BITMAP :: 0

    IMAGE_CURSOR ¶

    IMAGE_CURSOR :: 2

    IMAGE_ENHMETAFILE ¶

    IMAGE_ENHMETAFILE :: 3

    IMAGE_ICON ¶

    IMAGE_ICON :: 1

    INADDR_LOOPBACK ¶

    INADDR_LOOPBACK :: 0x7f000001

    INFINITE ¶

    INFINITE: u32 : ~DWORD(0)

    INHERIT_CALLER_PRIORITY ¶

    INHERIT_CALLER_PRIORITY :: 0x00020000
     

    Deprecated

    INHERIT_PARENT_AFFINITY ¶

    INHERIT_PARENT_AFFINITY :: 0x00010000

    INVALID_FILE_ATTRIBUTES ¶

    INVALID_FILE_ATTRIBUTES: u32 : DWORD(0xffff_ffff)

    INVALID_HANDLE ¶

    INVALID_HANDLE :: HANDLE(~uintptr(0))

    INVALID_HANDLE_VALUE ¶

    INVALID_HANDLE_VALUE: HANDLE : INVALID_HANDLE

    INVALID_SET_FILE_POINTER ¶

    INVALID_SET_FILE_POINTER: u32 : ~DWORD(0)

    INVALID_SOCKET ¶

    INVALID_SOCKET: SOCKET : ~SOCKET(0)

    IOC_IN ¶

    IOC_IN :: 0x80000000

    IOC_INOUT ¶

    IOC_INOUT :: IOC_IN | IOC_OUT

    IOC_OUT ¶

    IOC_OUT :: 0x40000000

    IOC_WS2 ¶

    IOC_WS2 :: 0x08000000

    IO_REPARSE_TAG_MOUNT_POINT ¶

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

    IPM_CLEARADDRESS ¶

    IPM_CLEARADDRESS :: 0x0464

    IPM_GETADDRESS ¶

    IPM_GETADDRESS :: 0x0466

    IPM_ISBLANK ¶

    IPM_ISBLANK :: 0x0469

    IPM_SETADDRESS ¶

    IPM_SETADDRESS :: 0x0465

    IPM_SETFOCUS ¶

    IPM_SETFOCUS :: 0x0468

    IPM_SETRANGE ¶

    IPM_SETRANGE :: 0x0467

    IPPROTO_ICMP ¶

    IPPROTO_ICMP: i32 : 1
     

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

    IPPROTO_ICMPV6 ¶

    IPPROTO_ICMPV6: i32 : 58
     

    (AF_UNSPEC, AF_INET, AF_INET6) + SOCK_RAW

    IPPROTO_IGMP ¶

    IPPROTO_IGMP: i32 : 2
     

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

    IPPROTO_IP ¶

    IPPROTO_IP: i32 : 0
     

    Protocols

    IPPROTO_IPV6 ¶

    IPPROTO_IPV6: i32 : 41
     

    Socket options for IPV6.

    IPPROTO_RM ¶

    IPPROTO_RM: i32 : 113
     

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

    IPPROTO_TCP ¶

    IPPROTO_TCP: i32 : 6
     

    (AF_INET, AF_INET6) + SOCK_STREAM

    IPPROTO_UDP ¶

    IPPROTO_UDP: i32 : 17
     

    (AF_INET, AF_INET6) + SOCK_DGRAM

    IPV6_ADD_MEMBERSHIP ¶

    IPV6_ADD_MEMBERSHIP: i32 : 12

    IPV6_DROP_MEMBERSHIP ¶

    IPV6_DROP_MEMBERSHIP: i32 : 13

    IPV6_MULTICAST_LOOP ¶

    IPV6_MULTICAST_LOOP: i32 : 11

    IPV6_V6ONLY ¶

    IPV6_V6ONLY: i32 : 27

    IP_ADD_MEMBERSHIP ¶

    IP_ADD_MEMBERSHIP: i32 : 12

    IP_MULTICAST_LOOP ¶

    IP_MULTICAST_LOOP: i32 : 11

    IP_MULTICAST_TTL ¶

    IP_MULTICAST_TTL: i32 : 10

    IP_TTL ¶

    IP_TTL: i32 : 4

    JOYERR_BASE ¶

    JOYERR_BASE :: 160

    JOYERR_NOCANDO ¶

    JOYERR_NOCANDO :: JOYERR_BASE + 6
     

    request not completed

    JOYERR_NOERROR ¶

    JOYERR_NOERROR :: 0
     

    joystick error return values

    JOYERR_PARMS ¶

    JOYERR_PARMS :: JOYERR_BASE + 5
     

    bad parameters

    JOYERR_UNPLUGGED ¶

    JOYERR_UNPLUGGED :: JOYERR_BASE + 7
     

    joystick is unplugged

    KEY_ALL_ACCESS ¶

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

    KEY_CREATE_SUB_KEY ¶

    KEY_CREATE_SUB_KEY :: 0x0004

    KEY_ENUMERATE_SUB_KEYS ¶

    KEY_ENUMERATE_SUB_KEYS :: 0x0008

    KEY_EXECUTE ¶

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

    KEY_NOTIFY ¶

    KEY_NOTIFY :: 0x0010

    KEY_QUERY_VALUE ¶

    KEY_QUERY_VALUE :: 0x0001
     

    Registry Specific Access Rights.

    KEY_READ ¶

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

    KEY_SET_VALUE ¶

    KEY_SET_VALUE :: 0x0002

    KEY_WOW64_32KEY ¶

    KEY_WOW64_32KEY :: 0x0200

    KEY_WOW64_64KEY ¶

    KEY_WOW64_64KEY :: 0x0100

    KEY_WOW64_RES ¶

    KEY_WOW64_RES :: 0x0300

    KEY_WRITE ¶

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

    KF_ALTDOWN ¶

    KF_ALTDOWN :: 0x2000

    KF_DLGMODE ¶

    KF_DLGMODE :: 0x0800

    KF_EXTENDED ¶

    KF_EXTENDED :: 0x0100
     

    https://docs.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input

    KF_MENUMODE ¶

    KF_MENUMODE :: 0x1000

    KF_REPEAT ¶

    KF_REPEAT :: 0x4000

    KF_UP ¶

    KF_UP :: 0x8000

    LABEL_SECURITY_INFORMATION ¶

    LABEL_SECURITY_INFORMATION :: 0x00000010

    LHND ¶

    LHND :: 0x0042

    LM20_GNLEN ¶

    LM20_GNLEN :: LM20_UNLEN
     

    LM 2.0 Group name

    LM20_PWLEN ¶

    LM20_PWLEN :: 14
     

    LM 2.0 Maximum password length

    LM20_UNLEN ¶

    LM20_UNLEN :: 20
     

    LM 2.0 Maximum user name length

    LMEM_FIXED ¶

    LMEM_FIXED :: 0x0000

    LMEM_MOVEABLE ¶

    LMEM_MOVEABLE :: 0x0002

    LMEM_ZEROINIT ¶

    LMEM_ZEROINIT :: 0x0040

    LPTR ¶

    LPTR :: 0x0040

    LR_COLOR ¶

    LR_COLOR :: 0x00000002

    LR_COPYDELETEORG ¶

    LR_COPYDELETEORG :: 0x00000008

    LR_COPYFROMRESOURCE ¶

    LR_COPYFROMRESOURCE :: 0x00004000

    LR_COPYRETURNORG ¶

    LR_COPYRETURNORG :: 0x00000004

    LR_CREATEDIBSECTION ¶

    LR_CREATEDIBSECTION :: 0x00002000

    LR_DEFAULTCOLOR ¶

    LR_DEFAULTCOLOR :: 0x00000000

    LR_DEFAULTSIZE ¶

    LR_DEFAULTSIZE :: 0x00000040

    LR_LOADFROMFILE ¶

    LR_LOADFROMFILE :: 0x00000010

    LR_LOADMAP3DCOLORS ¶

    LR_LOADMAP3DCOLORS :: 0x00001000

    LR_LOADTRANSPARENT ¶

    LR_LOADTRANSPARENT :: 0x00000020

    LR_MONOCHROME ¶

    LR_MONOCHROME :: 0x00000001

    LR_SHARED ¶

    LR_SHARED :: 0x00008000

    LR_VGACOLOR ¶

    LR_VGACOLOR :: 0x00000080

    LTGRAY_BRUSH ¶

    LTGRAY_BRUSH :: 1

    LVM_APPROXIMATEVIEWRECT ¶

    LVM_APPROXIMATEVIEWRECT :: 0x1040

    LVM_ARRANGE ¶

    LVM_ARRANGE :: 0x1016

    LVM_CANCELEDITLABEL ¶

    LVM_CANCELEDITLABEL :: 0x10b3

    LVM_CREATEDRAGIMAGE ¶

    LVM_CREATEDRAGIMAGE :: 0x1021

    LVM_DELETEALLITEMS ¶

    LVM_DELETEALLITEMS :: 0x1009

    LVM_DELETECOLUMN ¶

    LVM_DELETECOLUMN :: 0x101c

    LVM_DELETEITEM ¶

    LVM_DELETEITEM :: 0x1008

    LVM_EDITLABELA ¶

    LVM_EDITLABELA :: 0x1017

    LVM_EDITLABELW ¶

    LVM_EDITLABELW :: 0x1076

    LVM_ENABLEGROUPVIEW ¶

    LVM_ENABLEGROUPVIEW :: 0x109d

    LVM_ENSUREVISIBLE ¶

    LVM_ENSUREVISIBLE :: 0x1013

    LVM_FINDITEMA ¶

    LVM_FINDITEMA :: 0x100d

    LVM_FINDITEMW ¶

    LVM_FINDITEMW :: 0x1053

    LVM_FIRST ¶

    LVM_FIRST :: 0x1000

    LVM_GETBKCOLOR ¶

    LVM_GETBKCOLOR :: 0x1000

    LVM_GETBKIMAGEA ¶

    LVM_GETBKIMAGEA :: 0x1045

    LVM_GETBKIMAGEW ¶

    LVM_GETBKIMAGEW :: 0x108b

    LVM_GETCALLBACKMASK ¶

    LVM_GETCALLBACKMASK :: 0x100a

    LVM_GETCOLUMNA ¶

    LVM_GETCOLUMNA :: 0x1019

    LVM_GETCOLUMNORDERARRAY ¶

    LVM_GETCOLUMNORDERARRAY :: 0x103b

    LVM_GETCOLUMNW ¶

    LVM_GETCOLUMNW :: 0x105f

    LVM_GETCOLUMNWIDTH ¶

    LVM_GETCOLUMNWIDTH :: 0x101d

    LVM_GETCOUNTPERPAGE ¶

    LVM_GETCOUNTPERPAGE :: 0x1028

    LVM_GETEDITCONTROL ¶

    LVM_GETEDITCONTROL :: 0x1018

    LVM_GETEMPTYTEXT ¶

    LVM_GETEMPTYTEXT :: 0x10cc

    LVM_GETEXTENDEDLISTVIEWSTYLE ¶

    LVM_GETEXTENDEDLISTVIEWSTYLE :: 0x1037

    LVM_GETFOOTERINFO ¶

    LVM_GETFOOTERINFO :: 0x10ce

    LVM_GETFOOTERITEM ¶

    LVM_GETFOOTERITEM :: 0x10d0

    LVM_GETFOOTERITEMRECT ¶

    LVM_GETFOOTERITEMRECT :: 0x10cf

    LVM_GETFOOTERRECT ¶

    LVM_GETFOOTERRECT :: 0x10cd

    LVM_GETGROUPINFO ¶

    LVM_GETGROUPINFO :: 0x1095

    LVM_GETGROUPMETRICS ¶

    LVM_GETGROUPMETRICS :: 0x109c

    LVM_GETHEADER ¶

    LVM_GETHEADER :: 0x101f

    LVM_GETHOTCURSOR ¶

    LVM_GETHOTCURSOR :: 0x103f

    LVM_GETHOTITEM ¶

    LVM_GETHOTITEM :: 0x103d

    LVM_GETHOVERTIME ¶

    LVM_GETHOVERTIME :: 0x1048

    LVM_GETIMAGELIST ¶

    LVM_GETIMAGELIST :: 0x1002

    LVM_GETINSERTMARK ¶

    LVM_GETINSERTMARK :: 0x10a7

    LVM_GETINSERTMARKCOLOR ¶

    LVM_GETINSERTMARKCOLOR :: 0x10ab

    LVM_GETINSERTMARKRECT ¶

    LVM_GETINSERTMARKRECT :: 0x10a9

    LVM_GETISEARCHSTRINGA ¶

    LVM_GETISEARCHSTRINGA :: 0x1034

    LVM_GETISEARCHSTRINGW ¶

    LVM_GETISEARCHSTRINGW :: 0x1075

    LVM_GETITEMA ¶

    LVM_GETITEMA :: 0x1005

    LVM_GETITEMCOUNT ¶

    LVM_GETITEMCOUNT :: 0x1004

    LVM_GETITEMINDEXRECT ¶

    LVM_GETITEMINDEXRECT :: 0x10d1

    LVM_GETITEMPOSITION ¶

    LVM_GETITEMPOSITION :: 0x1010

    LVM_GETITEMRECT ¶

    LVM_GETITEMRECT :: 0x100e

    LVM_GETITEMSPACING ¶

    LVM_GETITEMSPACING :: 0x1033

    LVM_GETITEMSTATE ¶

    LVM_GETITEMSTATE :: 0x102c

    LVM_GETITEMTEXTA ¶

    LVM_GETITEMTEXTA :: 0x102d

    LVM_GETITEMTEXTW ¶

    LVM_GETITEMTEXTW :: 0x1073

    LVM_GETITEMW ¶

    LVM_GETITEMW :: 0x104b

    LVM_GETNEXTITEM ¶

    LVM_GETNEXTITEM :: 0x100c

    LVM_GETNEXTITEMINDEX ¶

    LVM_GETNEXTITEMINDEX :: 0x10d3

    LVM_GETNUMBEROFWORKAREAS ¶

    LVM_GETNUMBEROFWORKAREAS :: 0x1049

    LVM_GETORIGIN ¶

    LVM_GETORIGIN :: 0x1029

    LVM_GETOUTLINECOLOR ¶

    LVM_GETOUTLINECOLOR :: 0x10b0

    LVM_GETSELECTEDCOLUMN ¶

    LVM_GETSELECTEDCOLUMN :: 0x10ae

    LVM_GETSELECTEDCOUNT ¶

    LVM_GETSELECTEDCOUNT :: 0x1032

    LVM_GETSELECTIONMARK ¶

    LVM_GETSELECTIONMARK :: 0x1042

    LVM_GETSTRINGWIDTHA ¶

    LVM_GETSTRINGWIDTHA :: 0x1011

    LVM_GETSTRINGWIDTHW ¶

    LVM_GETSTRINGWIDTHW :: 0x1057

    LVM_GETSUBITEMRECT ¶

    LVM_GETSUBITEMRECT :: 0x1038

    LVM_GETTEXTBKCOLOR ¶

    LVM_GETTEXTBKCOLOR :: 0x1025

    LVM_GETTEXTCOLOR ¶

    LVM_GETTEXTCOLOR :: 0x1023

    LVM_GETTILEINFO ¶

    LVM_GETTILEINFO :: 0x10a5

    LVM_GETTILEVIEWINFO ¶

    LVM_GETTILEVIEWINFO :: 0x10a3

    LVM_GETTOOLTIPS ¶

    LVM_GETTOOLTIPS :: 0x104e

    LVM_GETTOPINDEX ¶

    LVM_GETTOPINDEX :: 0x1027

    LVM_GETUNICODEFORMAT ¶

    LVM_GETUNICODEFORMAT :: 0x2006

    LVM_GETVIEW ¶

    LVM_GETVIEW :: 0x108f

    LVM_GETVIEWRECT ¶

    LVM_GETVIEWRECT :: 0x1022

    LVM_GETWORKAREAS ¶

    LVM_GETWORKAREAS :: 0x1046

    LVM_HASGROUP ¶

    LVM_HASGROUP :: 0x10a1

    LVM_HITTEST ¶

    LVM_HITTEST :: 0x1012

    LVM_INSERTCOLUMNA ¶

    LVM_INSERTCOLUMNA :: 0x101b

    LVM_INSERTCOLUMNW ¶

    LVM_INSERTCOLUMNW :: 0x1061

    LVM_INSERTGROUP ¶

    LVM_INSERTGROUP :: 0x1091

    LVM_INSERTGROUPSORTED ¶

    LVM_INSERTGROUPSORTED :: 0x109f

    LVM_INSERTITEMA ¶

    LVM_INSERTITEMA :: 0x1007

    LVM_INSERTITEMW ¶

    LVM_INSERTITEMW :: 0x104d

    LVM_INSERTMARKHITTEST ¶

    LVM_INSERTMARKHITTEST :: 0x10a8

    LVM_ISGROUPVIEWENABLED ¶

    LVM_ISGROUPVIEWENABLED :: 0x10af

    LVM_ISITEMVISIBLE ¶

    LVM_ISITEMVISIBLE :: 0x10b6

    LVM_MAPIDTOINDEX ¶

    LVM_MAPIDTOINDEX :: 0x10b5

    LVM_MAPINDEXTOID ¶

    LVM_MAPINDEXTOID :: 0x10b4

    LVM_MOVEGROUP ¶

    LVM_MOVEGROUP :: 0x1097

    LVM_MOVEITEMTOGROUP ¶

    LVM_MOVEITEMTOGROUP :: 0x109a

    LVM_REDRAWITEMS ¶

    LVM_REDRAWITEMS :: 0x1015

    LVM_REMOVEALLGROUPS ¶

    LVM_REMOVEALLGROUPS :: 0x10a0

    LVM_REMOVEGROUP ¶

    LVM_REMOVEGROUP :: 0x1096

    LVM_SCROLL ¶

    LVM_SCROLL :: 0x1014

    LVM_SETBKCOLOR ¶

    LVM_SETBKCOLOR :: 0x1001

    LVM_SETBKIMAGEA ¶

    LVM_SETBKIMAGEA :: 0x1044

    LVM_SETCALLBACKMASK ¶

    LVM_SETCALLBACKMASK :: 0x100b

    LVM_SETCOLUMNA ¶

    LVM_SETCOLUMNA :: 0x101a

    LVM_SETCOLUMNORDERARRAY ¶

    LVM_SETCOLUMNORDERARRAY :: 0x103a

    LVM_SETCOLUMNW ¶

    LVM_SETCOLUMNW :: 0x1060

    LVM_SETCOLUMNWIDTH ¶

    LVM_SETCOLUMNWIDTH :: 0x101e

    LVM_SETEXTENDEDLISTVIEWSTYLE ¶

    LVM_SETEXTENDEDLISTVIEWSTYLE :: 0x1036

    LVM_SETGROUPINFO ¶

    LVM_SETGROUPINFO :: 0x1093

    LVM_SETGROUPMETRICS ¶

    LVM_SETGROUPMETRICS :: 0x109b

    LVM_SETHOTCURSOR ¶

    LVM_SETHOTCURSOR :: 0x103e

    LVM_SETHOTITEM ¶

    LVM_SETHOTITEM :: 0x103c

    LVM_SETHOVERTIME ¶

    LVM_SETHOVERTIME :: 0x1047

    LVM_SETICONSPACING ¶

    LVM_SETICONSPACING :: 0x1035

    LVM_SETIMAGELIST ¶

    LVM_SETIMAGELIST :: 0x1003

    LVM_SETINFOTIP ¶

    LVM_SETINFOTIP :: 0x10ad

    LVM_SETINSERTMARK ¶

    LVM_SETINSERTMARK :: 0x10a6

    LVM_SETINSERTMARKCOLOR ¶

    LVM_SETINSERTMARKCOLOR :: 0x10aa

    LVM_SETITEMA ¶

    LVM_SETITEMA :: 0x1006

    LVM_SETITEMCOUNT ¶

    LVM_SETITEMCOUNT :: 0x102f

    LVM_SETITEMINDEXSTATE ¶

    LVM_SETITEMINDEXSTATE :: 0x10d2

    LVM_SETITEMPOSITION ¶

    LVM_SETITEMPOSITION :: 0x100f

    LVM_SETITEMPOSITION32 ¶

    LVM_SETITEMPOSITION32 :: 0x1031

    LVM_SETITEMSTATE ¶

    LVM_SETITEMSTATE :: 0x102b

    LVM_SETITEMTEXTA ¶

    LVM_SETITEMTEXTA :: 0x102e

    LVM_SETITEMTEXTW ¶

    LVM_SETITEMTEXTW :: 0x1074

    LVM_SETITEMW ¶

    LVM_SETITEMW :: 0x104c

    LVM_SETOUTLINECOLOR ¶

    LVM_SETOUTLINECOLOR :: 0x10b1

    LVM_SETSELECTEDCOLUMN ¶

    LVM_SETSELECTEDCOLUMN :: 0x108c

    LVM_SETSELECTIONMARK ¶

    LVM_SETSELECTIONMARK :: 0x1043

    LVM_SETTEXTBKCOLOR ¶

    LVM_SETTEXTBKCOLOR :: 0x1026

    LVM_SETTEXTCOLOR ¶

    LVM_SETTEXTCOLOR :: 0x1024

    LVM_SETTILEINFO ¶

    LVM_SETTILEINFO :: 0x10a4

    LVM_SETTILEVIEWINFO ¶

    LVM_SETTILEVIEWINFO :: 0x10a2

    LVM_SETTILEWIDTH ¶

    LVM_SETTILEWIDTH :: 0x108d

    LVM_SETTOOLTIPS ¶

    LVM_SETTOOLTIPS :: 0x104a

    LVM_SETUNICODEFORMAT ¶

    LVM_SETUNICODEFORMAT :: 0x2005

    LVM_SETVIEW ¶

    LVM_SETVIEW :: 0x108e

    LVM_SETWORKAREAS ¶

    LVM_SETWORKAREAS :: 0x1041

    LVM_SORTGROUPS ¶

    LVM_SORTGROUPS :: 0x109e

    LVM_SORTITEMS ¶

    LVM_SORTITEMS :: 0x1030

    LVM_SUBITEMHITTEST ¶

    LVM_SUBITEMHITTEST :: 0x1039

    LVM_UPDATE ¶

    LVM_UPDATE :: 0x102a

    L_MAX_URL_LENGTH ¶

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

    LowMemoryResourceNotification ¶

    LowMemoryResourceNotification :: MEMORY_RESOURCE_NOTIFICATION_TYPE.LowMemoryResourceNotification

    MAPVK_VK_TO_CHAR ¶

    MAPVK_VK_TO_CHAR :: 2

    MAPVK_VK_TO_VSC ¶

    MAPVK_VK_TO_VSC :: 0

    MAPVK_VK_TO_VSC_EX ¶

    MAPVK_VK_TO_VSC_EX :: 4

    MAPVK_VSC_TO_VK ¶

    MAPVK_VSC_TO_VK :: 1

    MAPVK_VSC_TO_VK_EX ¶

    MAPVK_VSC_TO_VK_EX :: 3

    MAXERRORLENGTH ¶

    MAXERRORLENGTH :: 256

    MAXIMUM_REPARSE_DATA_BUFFER_SIZE ¶

    MAXIMUM_REPARSE_DATA_BUFFER_SIZE :: 16 * 1024

    MAXLONG ¶

    MAXLONG :: 0x7fffffff

    MAXPNAMELEN ¶

    MAXPNAMELEN :: 32

    MAXSTRETCHBLTMODE ¶

    MAXSTRETCHBLTMODE :: 4

    MAX_LINKID_TEXT ¶

    MAX_LINKID_TEXT :: 48

    MAX_PATH ¶

    MAX_PATH :: 0x00000104

    MAX_PATH_WIDE ¶

    MAX_PATH_WIDE :: 0x8000

    MAX_PROTOCOL_CHAIN ¶

    MAX_PROTOCOL_CHAIN: u32 : 7

    MB_ABORTRETRYIGNORE ¶

    MB_ABORTRETRYIGNORE :: 0x00000002

    MB_APPLMODAL ¶

    MB_APPLMODAL :: 0x00000000

    MB_CANCELTRYCONTINUE ¶

    MB_CANCELTRYCONTINUE :: 0x00000006

    MB_DEFAULT_DESKTOP_ONLY ¶

    MB_DEFAULT_DESKTOP_ONLY :: 0x00020000

    MB_DEFBUTTON1 ¶

    MB_DEFBUTTON1 :: 0x00000000

    MB_DEFBUTTON2 ¶

    MB_DEFBUTTON2 :: 0x00000100

    MB_DEFBUTTON3 ¶

    MB_DEFBUTTON3 :: 0x00000200

    MB_DEFBUTTON4 ¶

    MB_DEFBUTTON4 :: 0x00000300

    MB_DEFMASK ¶

    MB_DEFMASK :: 0x00000F00

    MB_ERR_INVALID_CHARS ¶

    MB_ERR_INVALID_CHARS :: 8

    MB_HELP ¶

    MB_HELP :: 0x00004000
     

    Help Button

    MB_ICONASTERISK ¶

    MB_ICONASTERISK :: 0x00000040

    MB_ICONERROR ¶

    MB_ICONERROR :: MB_ICONHAND

    MB_ICONEXCLAMATION ¶

    MB_ICONEXCLAMATION :: 0x00000030

    MB_ICONHAND ¶

    MB_ICONHAND :: 0x00000010

    MB_ICONINFORMATION ¶

    MB_ICONINFORMATION :: MB_ICONASTERISK

    MB_ICONMASK ¶

    MB_ICONMASK :: 0x000000F0

    MB_ICONQUESTION ¶

    MB_ICONQUESTION :: 0x00000020

    MB_ICONSTOP ¶

    MB_ICONSTOP :: MB_ICONHAND

    MB_ICONWARNING ¶

    MB_ICONWARNING :: MB_ICONEXCLAMATION

    MB_MISCMASK ¶

    MB_MISCMASK :: 0x0000C000

    MB_MODEMASK ¶

    MB_MODEMASK :: 0x00003000

    MB_NOFOCUS ¶

    MB_NOFOCUS :: 0x00008000

    MB_OK ¶

    MB_OK :: 0x00000000
     

    MessageBox() Flags

    MB_OKCANCEL ¶

    MB_OKCANCEL :: 0x00000001

    MB_RETRYCANCEL ¶

    MB_RETRYCANCEL :: 0x00000005

    MB_RIGHT ¶

    MB_RIGHT :: 0x00080000

    MB_RTLREADING ¶

    MB_RTLREADING :: 0x00100000

    MB_SERVICE_NOTIFICATION ¶

    MB_SERVICE_NOTIFICATION :: 0x00200000

    MB_SERVICE_NOTIFICATION_NT3X ¶

    MB_SERVICE_NOTIFICATION_NT3X :: 0x00040000

    MB_SETFOREGROUND ¶

    MB_SETFOREGROUND :: 0x00010000

    MB_SYSTEMMODAL ¶

    MB_SYSTEMMODAL :: 0x00001000

    MB_TASKMODAL ¶

    MB_TASKMODAL :: 0x00002000

    MB_TOPMOST ¶

    MB_TOPMOST :: 0x00040000

    MB_TYPEMASK ¶

    MB_TYPEMASK :: 0x0000000F

    MB_USERICON ¶

    MB_USERICON :: 0x00000080

    MB_YESNO ¶

    MB_YESNO :: 0x00000004

    MB_YESNOCANCEL ¶

    MB_YESNOCANCEL :: 0x00000003

    MCIERR_BAD_CONSTANT ¶

    MCIERR_BAD_CONSTANT :: MCIERR_BASE + 34

    MCIERR_BAD_INTEGER ¶

    MCIERR_BAD_INTEGER :: MCIERR_BASE + 14

    MCIERR_BAD_TIME_FORMAT ¶

    MCIERR_BAD_TIME_FORMAT :: MCIERR_BASE + 37

    MCIERR_BASE ¶

    MCIERR_BASE :: 256

    MCIERR_CANNOT_LOAD_DRIVER ¶

    MCIERR_CANNOT_LOAD_DRIVER :: MCIERR_BASE + 10

    MCIERR_CANNOT_USE_ALL ¶

    MCIERR_CANNOT_USE_ALL :: MCIERR_BASE + 23

    MCIERR_CREATEWINDOW ¶

    MCIERR_CREATEWINDOW :: MCIERR_BASE + 91

    MCIERR_DEVICE_LENGTH ¶

    MCIERR_DEVICE_LENGTH :: MCIERR_BASE + 54

    MCIERR_DEVICE_LOCKED ¶

    MCIERR_DEVICE_LOCKED :: MCIERR_BASE + 32

    MCIERR_DEVICE_NOT_INSTALLED ¶

    MCIERR_DEVICE_NOT_INSTALLED :: MCIERR_BASE + 50

    MCIERR_DEVICE_NOT_READY ¶

    MCIERR_DEVICE_NOT_READY :: MCIERR_BASE + 20

    MCIERR_DEVICE_OPEN ¶

    MCIERR_DEVICE_OPEN :: MCIERR_BASE + 9

    MCIERR_DEVICE_ORD_LENGTH ¶

    MCIERR_DEVICE_ORD_LENGTH :: MCIERR_BASE + 55

    MCIERR_DEVICE_TYPE_REQUIRED ¶

    MCIERR_DEVICE_TYPE_REQUIRED :: MCIERR_BASE + 31

    MCIERR_DRIVER ¶

    MCIERR_DRIVER :: MCIERR_BASE + 22

    MCIERR_DRIVER_INTERNAL ¶

    MCIERR_DRIVER_INTERNAL :: MCIERR_BASE + 16

    MCIERR_DUPLICATE_ALIAS ¶

    MCIERR_DUPLICATE_ALIAS :: MCIERR_BASE + 33

    MCIERR_DUPLICATE_FLAGS ¶

    MCIERR_DUPLICATE_FLAGS :: MCIERR_BASE + 39

    MCIERR_EXTENSION_NOT_FOUND ¶

    MCIERR_EXTENSION_NOT_FOUND :: MCIERR_BASE + 25

    MCIERR_EXTRA_CHARACTERS ¶

    MCIERR_EXTRA_CHARACTERS :: MCIERR_BASE + 49

    MCIERR_FILENAME_REQUIRED ¶

    MCIERR_FILENAME_REQUIRED :: MCIERR_BASE + 48

    MCIERR_FILE_NOT_FOUND ¶

    MCIERR_FILE_NOT_FOUND :: MCIERR_BASE + 19

    MCIERR_FILE_NOT_SAVED ¶

    MCIERR_FILE_NOT_SAVED :: MCIERR_BASE + 30

    MCIERR_FILE_READ ¶

    MCIERR_FILE_READ :: MCIERR_BASE + 92

    MCIERR_FILE_WRITE ¶

    MCIERR_FILE_WRITE :: MCIERR_BASE + 93

    MCIERR_FLAGS_NOT_COMPATIBLE ¶

    MCIERR_FLAGS_NOT_COMPATIBLE :: MCIERR_BASE + 28

    MCIERR_GET_CD ¶

    MCIERR_GET_CD :: MCIERR_BASE + 51

    MCIERR_HARDWARE ¶

    MCIERR_HARDWARE :: MCIERR_BASE + 6

    MCIERR_ILLEGAL_FOR_AUTO_OPEN ¶

    MCIERR_ILLEGAL_FOR_AUTO_OPEN :: MCIERR_BASE + 47

    MCIERR_INTERNAL ¶

    MCIERR_INTERNAL :: MCIERR_BASE + 21

    MCIERR_INVALID_DEVICE_ID ¶

    MCIERR_INVALID_DEVICE_ID :: MCIERR_BASE + 1
     

    MCI error return values

    MCIERR_INVALID_DEVICE_NAME ¶

    MCIERR_INVALID_DEVICE_NAME :: MCIERR_BASE + 7

    MCIERR_INVALID_FILE ¶

    MCIERR_INVALID_FILE :: MCIERR_BASE + 40

    MCIERR_MISSING_COMMAND_STRING ¶

    MCIERR_MISSING_COMMAND_STRING :: MCIERR_BASE + 11

    MCIERR_MISSING_DEVICE_NAME ¶

    MCIERR_MISSING_DEVICE_NAME :: MCIERR_BASE + 36

    MCIERR_MISSING_PARAMETER ¶

    MCIERR_MISSING_PARAMETER :: MCIERR_BASE + 17

    MCIERR_MISSING_STRING_ARGUMENT ¶

    MCIERR_MISSING_STRING_ARGUMENT :: MCIERR_BASE + 13

    MCIERR_MULTIPLE ¶

    MCIERR_MULTIPLE :: MCIERR_BASE + 24

    MCIERR_MUST_USE_SHAREABLE ¶

    MCIERR_MUST_USE_SHAREABLE :: MCIERR_BASE + 35

    MCIERR_NEW_REQUIRES_ALIAS ¶

    MCIERR_NEW_REQUIRES_ALIAS :: MCIERR_BASE + 43

    MCIERR_NONAPPLICABLE_FUNCTION ¶

    MCIERR_NONAPPLICABLE_FUNCTION :: MCIERR_BASE + 46

    MCIERR_NOTIFY_ON_AUTO_OPEN ¶

    MCIERR_NOTIFY_ON_AUTO_OPEN :: MCIERR_BASE + 44

    MCIERR_NO_CLOSING_QUOTE ¶

    MCIERR_NO_CLOSING_QUOTE :: MCIERR_BASE + 38

    MCIERR_NO_ELEMENT_ALLOWED ¶

    MCIERR_NO_ELEMENT_ALLOWED :: MCIERR_BASE + 45

    MCIERR_NO_IDENTITY ¶

    MCIERR_NO_IDENTITY :: MCIERR_BASE + 94

    MCIERR_NO_INTEGER ¶

    MCIERR_NO_INTEGER :: MCIERR_BASE + 56

    MCIERR_NO_WINDOW ¶

    MCIERR_NO_WINDOW :: MCIERR_BASE + 90

    MCIERR_NULL_PARAMETER_BLOCK ¶

    MCIERR_NULL_PARAMETER_BLOCK :: MCIERR_BASE + 41

    MCIERR_OUTOFRANGE ¶

    MCIERR_OUTOFRANGE :: MCIERR_BASE + 26

    MCIERR_OUT_OF_MEMORY ¶

    MCIERR_OUT_OF_MEMORY :: MCIERR_BASE + 8

    MCIERR_PARAM_OVERFLOW ¶

    MCIERR_PARAM_OVERFLOW :: MCIERR_BASE + 12

    MCIERR_PARSER_INTERNAL ¶

    MCIERR_PARSER_INTERNAL :: MCIERR_BASE + 15

    MCIERR_SEQ_DIV_INCOMPATIBLE ¶

    MCIERR_SEQ_DIV_INCOMPATIBLE :: MCIERR_BASE + 80

    MCIERR_SEQ_NOMIDIPRESENT ¶

    MCIERR_SEQ_NOMIDIPRESENT :: MCIERR_BASE + 87

    MCIERR_SEQ_PORTUNSPECIFIED ¶

    MCIERR_SEQ_PORTUNSPECIFIED :: MCIERR_BASE + 86

    MCIERR_SEQ_PORT_INUSE ¶

    MCIERR_SEQ_PORT_INUSE :: MCIERR_BASE + 81

    MCIERR_SEQ_PORT_MAPNODEVICE ¶

    MCIERR_SEQ_PORT_MAPNODEVICE :: MCIERR_BASE + 83

    MCIERR_SEQ_PORT_MISCERROR ¶

    MCIERR_SEQ_PORT_MISCERROR :: MCIERR_BASE + 84

    MCIERR_SEQ_PORT_NONEXISTENT ¶

    MCIERR_SEQ_PORT_NONEXISTENT :: MCIERR_BASE + 82

    MCIERR_SEQ_TIMER ¶

    MCIERR_SEQ_TIMER :: MCIERR_BASE + 85

    MCIERR_SET_CD ¶

    MCIERR_SET_CD :: MCIERR_BASE + 52

    MCIERR_SET_DRIVE ¶

    MCIERR_SET_DRIVE :: MCIERR_BASE + 53

    MCIERR_UNNAMED_RESOURCE ¶

    MCIERR_UNNAMED_RESOURCE :: MCIERR_BASE + 42

    MCIERR_UNRECOGNIZED_COMMAND ¶

    MCIERR_UNRECOGNIZED_COMMAND :: MCIERR_BASE + 5

    MCIERR_UNRECOGNIZED_KEYWORD ¶

    MCIERR_UNRECOGNIZED_KEYWORD :: MCIERR_BASE + 3

    MCIERR_UNSUPPORTED_FUNCTION ¶

    MCIERR_UNSUPPORTED_FUNCTION :: MCIERR_BASE + 18

    MCIERR_WAVE_INPUTSINUSE ¶

    MCIERR_WAVE_INPUTSINUSE :: MCIERR_BASE + 66

    MCIERR_WAVE_INPUTSUNSUITABLE ¶

    MCIERR_WAVE_INPUTSUNSUITABLE :: MCIERR_BASE + 72

    MCIERR_WAVE_INPUTUNSPECIFIED ¶

    MCIERR_WAVE_INPUTUNSPECIFIED :: MCIERR_BASE + 69

    MCIERR_WAVE_OUTPUTSINUSE ¶

    MCIERR_WAVE_OUTPUTSINUSE :: MCIERR_BASE + 64

    MCIERR_WAVE_OUTPUTSUNSUITABLE ¶

    MCIERR_WAVE_OUTPUTSUNSUITABLE :: MCIERR_BASE + 70

    MCIERR_WAVE_OUTPUTUNSPECIFIED ¶

    MCIERR_WAVE_OUTPUTUNSPECIFIED :: MCIERR_BASE + 68

    MCIERR_WAVE_SETINPUTINUSE ¶

    MCIERR_WAVE_SETINPUTINUSE :: MCIERR_BASE + 67

    MCIERR_WAVE_SETINPUTUNSUITABLE ¶

    MCIERR_WAVE_SETINPUTUNSUITABLE :: MCIERR_BASE + 73

    MCIERR_WAVE_SETOUTPUTINUSE ¶

    MCIERR_WAVE_SETOUTPUTINUSE :: MCIERR_BASE + 65

    MCIERR_WAVE_SETOUTPUTUNSUITABLE ¶

    MCIERR_WAVE_SETOUTPUTUNSUITABLE :: MCIERR_BASE + 71

    MCIWNDM_CAN_CONFIG ¶

    MCIWNDM_CAN_CONFIG :: 0x0495

    MCIWNDM_CAN_EJECT ¶

    MCIWNDM_CAN_EJECT :: 0x0494

    MCIWNDM_CAN_PLAY ¶

    MCIWNDM_CAN_PLAY :: 0x0490

    MCIWNDM_CAN_RECORD ¶

    MCIWNDM_CAN_RECORD :: 0x0492

    MCIWNDM_CAN_SAVE ¶

    MCIWNDM_CAN_SAVE :: 0x0493

    MCIWNDM_CAN_WINDOW ¶

    MCIWNDM_CAN_WINDOW :: 0x0491

    MCIWNDM_GETDEVICEA ¶

    MCIWNDM_GETDEVICEA :: 0x047d

    MCIWNDM_GETDEVICEW ¶

    MCIWNDM_GETDEVICEW :: 0x04e1

    MCIWNDM_GETERRORA ¶

    MCIWNDM_GETERRORA :: 0x0480

    MCIWNDM_GETERRORW ¶

    MCIWNDM_GETERRORW :: 0x04e4

    MCIWNDM_GETFILENAMEA ¶

    MCIWNDM_GETFILENAMEA :: 0x047c

    MCIWNDM_GETFILENAMEW ¶

    MCIWNDM_GETFILENAMEW :: 0x04e0

    MCIWNDM_GETINACTIVETIMER ¶

    MCIWNDM_GETINACTIVETIMER :: 0x0485

    MCIWNDM_GETPALETTE ¶

    MCIWNDM_GETPALETTE :: 0x047e

    MCIWNDM_GETTIMEFORMATA ¶

    MCIWNDM_GETTIMEFORMATA :: 0x0478

    MCIWNDM_GETTIMEFORMATW ¶

    MCIWNDM_GETTIMEFORMATW :: 0x04dc

    MCIWNDM_GETZOOM ¶

    MCIWNDM_GETZOOM :: 0x046d

    MCIWNDM_GET_DEST ¶

    MCIWNDM_GET_DEST :: 0x048e

    MCIWNDM_GET_SOURCE ¶

    MCIWNDM_GET_SOURCE :: 0x048c

    MCIWNDM_NOTIFYERROR ¶

    MCIWNDM_NOTIFYERROR :: 0x04cd

    MCIWNDM_NOTIFYMEDIA ¶

    MCIWNDM_NOTIFYMEDIA :: 0x04cb

    MCIWNDM_NOTIFYMODE ¶

    MCIWNDM_NOTIFYMODE :: 0x04c8

    MCIWNDM_PALETTEKICK ¶

    MCIWNDM_PALETTEKICK :: 0x0496

    MCIWNDM_PLAYTO ¶

    MCIWNDM_PLAYTO :: 0x047b

    MCIWNDM_PUT_DEST ¶

    MCIWNDM_PUT_DEST :: 0x048f

    MCIWNDM_PUT_SOURCE ¶

    MCIWNDM_PUT_SOURCE :: 0x048d

    MCIWNDM_REALIZE ¶

    MCIWNDM_REALIZE :: 0x0476

    MCIWNDM_SETINACTIVETIMER ¶

    MCIWNDM_SETINACTIVETIMER :: 0x0483

    MCIWNDM_SETPALETTE ¶

    MCIWNDM_SETPALETTE :: 0x047f

    MCIWNDM_SETTIMEFORMATA ¶

    MCIWNDM_SETTIMEFORMATA :: 0x0477

    MCIWNDM_SETTIMEFORMATW ¶

    MCIWNDM_SETTIMEFORMATW :: 0x04db

    MCIWNDM_VALIDATEMEDIA ¶

    MCIWNDM_VALIDATEMEDIA :: 0x0479

    MCI_CD_OFFSET ¶

    MCI_CD_OFFSET :: 1088

    MCI_SEQ_OFFSET ¶

    MCI_SEQ_OFFSET :: 1216

    MCI_STRING_OFFSET ¶

    MCI_STRING_OFFSET :: 512

    MCI_VD_OFFSET ¶

    MCI_VD_OFFSET :: 1024

    MCI_WAVE_OFFSET ¶

    MCI_WAVE_OFFSET :: 1152

    MEHC_PATROL_SCRUBBER_PRESENT ¶

    MEHC_PATROL_SCRUBBER_PRESENT: u32 : ULONG(0x1)

    MEM_4MB_PAGES ¶

    MEM_4MB_PAGES :: 0x80000000

    MEM_COMMIT ¶

    MEM_COMMIT :: 0x1000

    MEM_DECOMMIT ¶

    MEM_DECOMMIT :: 0x4000

    MEM_FREE ¶

    MEM_FREE :: 0x10000

    MEM_LARGE_PAGES ¶

    MEM_LARGE_PAGES :: 0x20000000

    MEM_MAPPED ¶

    MEM_MAPPED :: 0x40000

    MEM_PRIVATE ¶

    MEM_PRIVATE :: 0x20000

    MEM_RELEASE ¶

    MEM_RELEASE :: 0x8000

    MEM_RESERVE ¶

    MEM_RESERVE :: 0x2000

    MEM_RESET ¶

    MEM_RESET :: 0x80000

    MEM_TOP_DOWN ¶

    MEM_TOP_DOWN :: 0x100000

    MERGECOPY ¶

    MERGECOPY: u32 : 0x00C000CA
     

    dest = (source AND pattern

    MERGEPAINT ¶

    MERGEPAINT: u32 : 0x00BB0226
     

    dest = (NOT source) OR dest

    MF_APPEND ¶

    MF_APPEND :: 0x00000100

    MF_BITMAP ¶

    MF_BITMAP :: 0x00000004

    MF_BYCOMMAND ¶

    MF_BYCOMMAND :: 0x00000000

    MF_BYPOSITION ¶

    MF_BYPOSITION :: 0x00000400

    MF_CHANGE ¶

    MF_CHANGE :: 0x00000080

    MF_CHECKED ¶

    MF_CHECKED :: 0x00000008

    MF_DEFAULT ¶

    MF_DEFAULT :: 0x00001000

    MF_DELETE ¶

    MF_DELETE :: 0x00000200

    MF_DISABLED ¶

    MF_DISABLED :: 0x00000002

    MF_ENABLED ¶

    MF_ENABLED :: 0x00000000

    MF_END ¶

    MF_END :: 0x00000080
     

    Obsolete -- only used by old RES files

    MF_GRAYED ¶

    MF_GRAYED :: 0x00000001

    MF_HELP ¶

    MF_HELP :: 0x00004000

    MF_HILITE ¶

    MF_HILITE :: 0x00000080

    MF_INSERT ¶

    MF_INSERT :: 0x00000000
     

    Menu flags for Add/Check/EnableMenuItem()

    MF_MENUBARBREAK ¶

    MF_MENUBARBREAK :: 0x00000020

    MF_MENUBREAK ¶

    MF_MENUBREAK :: 0x00000040

    MF_MOUSESELECT ¶

    MF_MOUSESELECT :: 0x00008000

    MF_OWNERDRAW ¶

    MF_OWNERDRAW :: 0x00000100

    MF_POPUP ¶

    MF_POPUP :: 0x00000010

    MF_REMOVE ¶

    MF_REMOVE :: 0x00001000

    MF_RIGHTJUSTIFY ¶

    MF_RIGHTJUSTIFY :: 0x00004000

    MF_SEPARATOR ¶

    MF_SEPARATOR :: 0x00000800

    MF_STRING ¶

    MF_STRING :: 0x00000000

    MF_SYSMENU ¶

    MF_SYSMENU :: 0x00002000

    MF_UNCHECKED ¶

    MF_UNCHECKED :: 0x00000000

    MF_UNHILITE ¶

    MF_UNHILITE :: 0x00000000

    MF_USECHECKBITMAPS ¶

    MF_USECHECKBITMAPS :: 0x00000200

    MIDIERR_BADOPENMODE ¶

    MIDIERR_BADOPENMODE :: MIDIERR_BASE + 6
     

    operation unsupported w/ open mode

    MIDIERR_BASE ¶

    MIDIERR_BASE :: 64

    MIDIERR_DONT_CONTINUE ¶

    MIDIERR_DONT_CONTINUE :: MIDIERR_BASE + 7
     

    thru device 'eating' a message

    MIDIERR_INVALIDSETUP ¶

    MIDIERR_INVALIDSETUP :: MIDIERR_BASE + 5
     

    invalid MIF

    MIDIERR_LASTERROR ¶

    MIDIERR_LASTERROR :: MIDIERR_BASE + 7
     

    last error in range

    MIDIERR_NODEVICE ¶

    MIDIERR_NODEVICE :: MIDIERR_BASE + 4
     

    port no longer connected

    MIDIERR_NOMAP ¶

    MIDIERR_NOMAP :: MIDIERR_BASE + 2
     

    no configured instruments

    MIDIERR_NOTREADY ¶

    MIDIERR_NOTREADY :: MIDIERR_BASE + 3
     

    hardware is still busy

    MIDIERR_STILLPLAYING ¶

    MIDIERR_STILLPLAYING :: MIDIERR_BASE + 1
     

    still something playing

    MIDIERR_UNPREPARED ¶

    MIDIERR_UNPREPARED :: MIDIERR_BASE + 0
     

    MIDI error return values

    MIXERR_BASE ¶

    MIXERR_BASE :: 1024

    MIXERR_INVALCONTROL ¶

    MIXERR_INVALCONTROL :: MIXERR_BASE + 1

    MIXERR_INVALLINE ¶

    MIXERR_INVALLINE :: MIXERR_BASE + 0
     

    MMRESULT error return values specific to the mixer API

    MIXERR_INVALVALUE ¶

    MIXERR_INVALVALUE :: MIXERR_BASE + 2

    MIXERR_LASTERROR ¶

    MIXERR_LASTERROR :: MIXERR_BASE + 2

    MK_CONTROL ¶

    MK_CONTROL :: 0x0008

    MK_LBUTTON ¶

    MK_LBUTTON :: 0x0001
     

    Key State Masks for Mouse Messages

    MK_MBUTTON ¶

    MK_MBUTTON :: 0x0010

    MK_RBUTTON ¶

    MK_RBUTTON :: 0x0002

    MK_SHIFT ¶

    MK_SHIFT :: 0x0004

    MK_XBUTTON1 ¶

    MK_XBUTTON1 :: 0x0020

    MK_XBUTTON2 ¶

    MK_XBUTTON2 :: 0x0040

    MMSYSERR_ALLOCATED ¶

    MMSYSERR_ALLOCATED :: MMSYSERR_BASE + 4
     

    device already allocated

    MMSYSERR_BADDB ¶

    MMSYSERR_BADDB :: MMSYSERR_BASE + 14
     

    bad registry database

    MMSYSERR_BADDEVICEID ¶

    MMSYSERR_BADDEVICEID :: MMSYSERR_BASE + 2
     

    device ID out of range

    MMSYSERR_BADERRNUM ¶

    MMSYSERR_BADERRNUM :: MMSYSERR_BASE + 9
     

    error value out of range

    MMSYSERR_BASE ¶

    MMSYSERR_BASE :: 0
     

    String resource number bases (internal use)

    MMSYSERR_DELETEERROR ¶

    MMSYSERR_DELETEERROR :: MMSYSERR_BASE + 18
     

    registry delete error

    MMSYSERR_ERROR ¶

    MMSYSERR_ERROR :: MMSYSERR_BASE + 1
     

    unspecified error

    MMSYSERR_HANDLEBUSY ¶

    MMSYSERR_HANDLEBUSY :: MMSYSERR_BASE + 12
     

    handle being used simultaneously on another thread (eg callback)

    MMSYSERR_INVALFLAG ¶

    MMSYSERR_INVALFLAG :: MMSYSERR_BASE + 10
     

    invalid flag passed

    MMSYSERR_INVALHANDLE ¶

    MMSYSERR_INVALHANDLE :: MMSYSERR_BASE + 5
     

    device handle is invalid

    MMSYSERR_INVALIDALIAS ¶

    MMSYSERR_INVALIDALIAS :: MMSYSERR_BASE + 13
     

    specified alias not found

    MMSYSERR_INVALPARAM ¶

    MMSYSERR_INVALPARAM :: MMSYSERR_BASE + 11
     

    invalid parameter passed

    MMSYSERR_KEYNOTFOUND ¶

    MMSYSERR_KEYNOTFOUND :: MMSYSERR_BASE + 15
     

    registry key not found

    MMSYSERR_LASTERROR ¶

    MMSYSERR_LASTERROR :: MMSYSERR_BASE + 21
     

    last error in range

    MMSYSERR_MOREDATA ¶

    MMSYSERR_MOREDATA :: MMSYSERR_BASE + 21
     

    more data to be returned

    MMSYSERR_NODRIVER ¶

    MMSYSERR_NODRIVER :: MMSYSERR_BASE + 6
     

    no device driver present

    MMSYSERR_NODRIVERCB ¶

    MMSYSERR_NODRIVERCB :: MMSYSERR_BASE + 20
     

    driver does not call DriverCallback

    MMSYSERR_NOERROR ¶

    MMSYSERR_NOERROR :: 0
     

    general error return values

    MMSYSERR_NOMEM ¶

    MMSYSERR_NOMEM :: MMSYSERR_BASE + 7
     

    memory allocation error

    MMSYSERR_NOTENABLED ¶

    MMSYSERR_NOTENABLED :: MMSYSERR_BASE + 3
     

    driver failed enable

    MMSYSERR_NOTSUPPORTED ¶

    MMSYSERR_NOTSUPPORTED :: MMSYSERR_BASE + 8
     

    function isn't supported

    MMSYSERR_READERROR ¶

    MMSYSERR_READERROR :: MMSYSERR_BASE + 16
     

    registry read error

    MMSYSERR_VALNOTFOUND ¶

    MMSYSERR_VALNOTFOUND :: MMSYSERR_BASE + 19
     

    registry value not found

    MMSYSERR_WRITEERROR ¶

    MMSYSERR_WRITEERROR :: MMSYSERR_BASE + 17
     

    registry write error

    MM_WIM_CLOSE ¶

    MM_WIM_CLOSE :: 0x3BF

    MM_WIM_DATA ¶

    MM_WIM_DATA :: 0x3C0

    MM_WIM_OPEN ¶

    MM_WIM_OPEN :: 0x3BE
     

    waveform input

    MM_WOM_CLOSE ¶

    MM_WOM_CLOSE :: 0x3BC

    MM_WOM_DONE ¶

    MM_WOM_DONE :: 0x3BD

    MM_WOM_OPEN ¶

    MM_WOM_OPEN :: 0x3BB
     

    waveform output

    MOUSEEVENTF_ABSOLUTE ¶

    MOUSEEVENTF_ABSOLUTE :: 0x8000

    MOUSEEVENTF_HWHEEL ¶

    MOUSEEVENTF_HWHEEL :: 0x1000

    MOUSEEVENTF_LEFTDOWN ¶

    MOUSEEVENTF_LEFTDOWN :: 0x0002

    MOUSEEVENTF_LEFTUP ¶

    MOUSEEVENTF_LEFTUP :: 0x0004

    MOUSEEVENTF_MIDDLEDOWN ¶

    MOUSEEVENTF_MIDDLEDOWN :: 0x0020

    MOUSEEVENTF_MIDDLEUP ¶

    MOUSEEVENTF_MIDDLEUP :: 0x0040

    MOUSEEVENTF_MOVE ¶

    MOUSEEVENTF_MOVE :: 0x0001

    MOUSEEVENTF_MOVE_NOCOALESCE ¶

    MOUSEEVENTF_MOVE_NOCOALESCE :: 0x2000

    MOUSEEVENTF_RIGHTDOWN ¶

    MOUSEEVENTF_RIGHTDOWN :: 0x0008

    MOUSEEVENTF_RIGHTUP ¶

    MOUSEEVENTF_RIGHTUP :: 0x0010

    MOUSEEVENTF_VIRTUALDESK ¶

    MOUSEEVENTF_VIRTUALDESK :: 0x4000

    MOUSEEVENTF_WHEEL ¶

    MOUSEEVENTF_WHEEL :: 0x0800

    MOUSEEVENTF_XDOWN ¶

    MOUSEEVENTF_XDOWN :: 0x0080

    MOUSEEVENTF_XUP ¶

    MOUSEEVENTF_XUP :: 0x0100

    MOUSEWHEEL_ROUTING_FOCUS ¶

    MOUSEWHEEL_ROUTING_FOCUS :: 0

    MOUSEWHEEL_ROUTING_HYBRID ¶

    MOUSEWHEEL_ROUTING_HYBRID :: 1

    MOUSEWHEEL_ROUTING_MOUSE_POS ¶

    MOUSEWHEEL_ROUTING_MOUSE_POS :: 2

    MOUSE_ATTRIUBTTES_CHANGED ¶

    MOUSE_ATTRIUBTTES_CHANGED :: 0x04

    MOUSE_MOVE_ABSOLUTE ¶

    MOUSE_MOVE_ABSOLUTE :: 0x01

    MOUSE_MOVE_NOCOALESCE ¶

    MOUSE_MOVE_NOCOALESCE :: 0x08

    MOUSE_MOVE_RELATIVE ¶

    MOUSE_MOVE_RELATIVE :: 0x00

    MOUSE_VIRTUAL_DESKTOP ¶

    MOUSE_VIRTUAL_DESKTOP :: 0x02

    MOVEFILE_COPY_ALLOWED ¶

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

    MOVEFILE_DELAY_UNTIL_REBOOT ¶

    MOVEFILE_DELAY_UNTIL_REBOOT: u32 : 0x4

    MOVEFILE_FAIL_IF_NOT_TRACKABLE ¶

    MOVEFILE_FAIL_IF_NOT_TRACKABLE: u32 : 0x20

    MOVEFILE_REPLACE_EXISTING ¶

    MOVEFILE_REPLACE_EXISTING: u32 : 0x1

    MOVEFILE_WRITE_THROUGH ¶

    MOVEFILE_WRITE_THROUGH: u32 : 0x8

    MSG_FTS_JUMP_QWORD ¶

    MSG_FTS_JUMP_QWORD :: 0x0423

    MSG_FTS_JUMP_VA ¶

    MSG_FTS_JUMP_VA :: 0x0421

    MSG_FTS_WHERE_IS_IT ¶

    MSG_FTS_WHERE_IS_IT :: 0x0425

    MSG_GET_DEFFONT ¶

    MSG_GET_DEFFONT :: 0x042d

    MSG_OOB ¶

    MSG_OOB: i32 : 1
     

    Send/Receive flags.

    MSG_PEEK ¶

    MSG_PEEK: i32 : 2
     

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

    MSG_REINDEX_REQUEST ¶

    MSG_REINDEX_REQUEST :: 0x0424

    MemoryRegionInfo ¶

    MemoryRegionInfo :: WIN32_MEMORY_INFORMATION_CLASS.MemoryRegionInfo

    NIF_GUID ¶

    NIF_GUID :: 0x00000020

    NIF_ICON ¶

    NIF_ICON :: 0x00000002

    NIF_INFO ¶

    NIF_INFO :: 0x00000010

    NIF_MESSAGE ¶

    NIF_MESSAGE :: 0x00000001

    NIF_REALTIME ¶

    NIF_REALTIME :: 0x00000040

    NIF_SHOWTIP ¶

    NIF_SHOWTIP :: 0x00000080

    NIF_STATE ¶

    NIF_STATE :: 0x00000008

    NIF_TIP ¶

    NIF_TIP :: 0x00000004

    NIM_ADD ¶

    NIM_ADD :: 0x00000000

    NIM_DELETE ¶

    NIM_DELETE :: 0x00000002

    NIM_MODIFY ¶

    NIM_MODIFY :: 0x00000001

    NIM_SETFOCUS ¶

    NIM_SETFOCUS :: 0x00000003

    NIM_SETVERSION ¶

    NIM_SETVERSION :: 0x00000004

    NIN_SELECT ¶

    NIN_SELECT :: 0x0400

    NM_CHAR ¶

    NM_CHAR: uintptr : NM_OUTOFMEMORY - 17
     

    uses NMCHAR struct

    NM_CLICK ¶

    NM_CLICK: uintptr : NM_OUTOFMEMORY - 1
     

    uses NMCLICK struct

    NM_CUSTOMDRAW ¶

    NM_CUSTOMDRAW: uintptr : NM_OUTOFMEMORY - 11

    NM_CUSTOMTEXT ¶

    NM_CUSTOMTEXT: uintptr : NM_OUTOFMEMORY - 23
     

    uses NMCUSTOMTEXT struct

    NM_DBLCLK ¶

    NM_DBLCLK: uintptr : NM_OUTOFMEMORY - 2

    NM_FONTCHANGED ¶

    NM_FONTCHANGED: uintptr : NM_OUTOFMEMORY - 22

    NM_HOVER ¶

    NM_HOVER: uintptr : NM_OUTOFMEMORY - 12

    NM_KEYDOWN ¶

    NM_KEYDOWN: uintptr : NM_OUTOFMEMORY - 14
     

    uses NMKEY struct

    NM_KILLFOCUS ¶

    NM_KILLFOCUS: uintptr : NM_OUTOFMEMORY - 7

    NM_LDOWN ¶

    NM_LDOWN: uintptr : NM_OUTOFMEMORY - 19

    NM_NCHITTEST ¶

    NM_NCHITTEST: uintptr : NM_OUTOFMEMORY - 13
     

    uses NMMOUSE struct

    NM_OUTOFMEMORY ¶

    NM_OUTOFMEMORY: uintptr : ~uintptr(0)
     

    Generic WM_NOTIFY notification codes

    NM_RCLICK ¶

    NM_RCLICK: uintptr : NM_OUTOFMEMORY - 4
     

    uses NMCLICK struct

    NM_RDBLCLK ¶

    NM_RDBLCLK: uintptr : NM_OUTOFMEMORY - 5

    NM_RDOWN ¶

    NM_RDOWN: uintptr : NM_OUTOFMEMORY - 20

    NM_RELEASEDCAPTURE ¶

    NM_RELEASEDCAPTURE: uintptr : NM_OUTOFMEMORY - 15

    NM_RETURN ¶

    NM_RETURN: uintptr : NM_OUTOFMEMORY - 3

    NM_SETCURSOR ¶

    NM_SETCURSOR: uintptr : NM_OUTOFMEMORY - 16
     

    uses NMMOUSE struct

    NM_SETFOCUS ¶

    NM_SETFOCUS: uintptr : NM_OUTOFMEMORY - 6

    NM_THEMECHANGED ¶

    NM_THEMECHANGED: uintptr : NM_OUTOFMEMORY - 21

    NM_TOOLTIPSCREATED ¶

    NM_TOOLTIPSCREATED: uintptr : NM_OUTOFMEMORY - 18
     

    notify of when the tooltips window is create

    NM_TVSTATEIMAGECHANGING ¶

    NM_TVSTATEIMAGECHANGING: uintptr : NM_OUTOFMEMORY - 23
     

    uses NMTVSTATEIMAGECHANGING struct, defined after HTREEITEM

    NOMIRRORBITMAP ¶

    NOMIRRORBITMAP: u32 : 0x80000000
     

    Do not Mirror the bitmap in this call

    NONZEROLHND ¶

    NONZEROLHND :: LMEM_MOVEABLE

    NONZEROLPTR ¶

    NONZEROLPTR :: LMEM_FIXED

    NORMAL_PRIORITY_CLASS ¶

    NORMAL_PRIORITY_CLASS :: 0x00000020

    NOTSRCCOPY ¶

    NOTSRCCOPY: u32 : 0x00330008
     

    dest = (NOT source)

    NOTSRCERASE ¶

    NOTSRCERASE: u32 : 0x001100A6
     

    dest = (NOT src) AND (NOT dest)

    NO_ERROR ¶

    NO_ERROR :: 0

    NULLREGION ¶

    NULLREGION :: 1

    NULL_BRUSH ¶

    NULL_BRUSH :: 5

    NULL_PEN ¶

    NULL_PEN :: 8

    NUMA_NO_PREFERRED_NODE ¶

    NUMA_NO_PREFERRED_NODE :: 0xffffffff

    OCM_CHARTOITEM ¶

    OCM_CHARTOITEM :: 0x202f

    OCM_COMMAND ¶

    OCM_COMMAND :: 0x2111

    OCM_COMPAREITEM ¶

    OCM_COMPAREITEM :: 0x2039

    OCM_CTLCOLOR ¶

    OCM_CTLCOLOR :: 0x2019

    OCM_CTLCOLORBTN ¶

    OCM_CTLCOLORBTN :: 0x2135

    OCM_CTLCOLORDLG ¶

    OCM_CTLCOLORDLG :: 0x2136

    OCM_CTLCOLOREDIT ¶

    OCM_CTLCOLOREDIT :: 0x2133

    OCM_CTLCOLORLISTBOX ¶

    OCM_CTLCOLORLISTBOX :: 0x2134

    OCM_CTLCOLORMSGBOX ¶

    OCM_CTLCOLORMSGBOX :: 0x2132

    OCM_CTLCOLORSCROLLBAR ¶

    OCM_CTLCOLORSCROLLBAR :: 0x2137

    OCM_CTLCOLORSTATIC ¶

    OCM_CTLCOLORSTATIC :: 0x2138

    OCM_DELETEITEM ¶

    OCM_DELETEITEM :: 0x202d

    OCM_DRAWITEM ¶

    OCM_DRAWITEM :: 0x202b

    OCM_HSCROLL ¶

    OCM_HSCROLL :: 0x2114

    OCM_MEASUREITEM ¶

    OCM_MEASUREITEM :: 0x202c

    OCM_NOTIFY ¶

    OCM_NOTIFY :: 0x204e

    OCM_PARENTNOTIFY ¶

    OCM_PARENTNOTIFY :: 0x2210

    OCM_VKEYTOITEM ¶

    OCM_VKEYTOITEM :: 0x202e

    OCM_VSCROLL ¶

    OCM_VSCROLL :: 0x2115

    OCM__BASE ¶

    OCM__BASE :: 0x2000

    OEM_FIXED_FONT ¶

    OEM_FIXED_FONT :: 10

    OFN_ALLOWMULTISELECT ¶

    OFN_ALLOWMULTISELECT :: 0x00000200
     

    NOTE(Jeroen): Without OFN_EXPLORER it uses the Win3 dialog.

    OFN_CREATEPROMPT ¶

    OFN_CREATEPROMPT :: 0x00002000

    OFN_DONTADDTORECENT ¶

    OFN_DONTADDTORECENT :: 0x02000000

    OFN_ENABLEHOOK ¶

    OFN_ENABLEHOOK :: 0x00000020

    OFN_ENABLEINCLUDENOTIFY ¶

    OFN_ENABLEINCLUDENOTIFY :: 0x00400000

    OFN_ENABLESIZING ¶

    OFN_ENABLESIZING :: 0x00800000

    OFN_ENABLETEMPLATE ¶

    OFN_ENABLETEMPLATE :: 0x00000040

    OFN_ENABLETEMPLATEHANDLE ¶

    OFN_ENABLETEMPLATEHANDLE :: 0x00000080

    OFN_EXPLORER ¶

    OFN_EXPLORER :: 0x00080000

    OFN_EXTENSIONDIFFERENT ¶

    OFN_EXTENSIONDIFFERENT :: 0x00000400

    OFN_FILEMUSTEXIST ¶

    OFN_FILEMUSTEXIST :: 0x00001000

    OFN_FORCESHOWHIDDEN ¶

    OFN_FORCESHOWHIDDEN :: 0x10000000

    OFN_HIDEREADONLY ¶

    OFN_HIDEREADONLY :: 0x00000004

    OFN_LONGNAMES ¶

    OFN_LONGNAMES :: 0x00200000

    OFN_NOCHANGEDIR ¶

    OFN_NOCHANGEDIR :: 0x00000008
    OFN_NODEREFERENCELINKS :: 0x00100000

    OFN_NOLONGNAMES ¶

    OFN_NOLONGNAMES :: 0x00040000

    OFN_NONETWORKBUTTON ¶

    OFN_NONETWORKBUTTON :: 0x00020000

    OFN_NOREADONLYRETURN ¶

    OFN_NOREADONLYRETURN :: 0x00008000

    OFN_NOTESTFILECREATE ¶

    OFN_NOTESTFILECREATE :: 0x00010000

    OFN_NOVALIDATE ¶

    OFN_NOVALIDATE :: 0x00000100

    OFN_OVERWRITEPROMPT ¶

    OFN_OVERWRITEPROMPT :: 0x00000002

    OFN_PATHMUSTEXIST ¶

    OFN_PATHMUSTEXIST :: 0x00000800

    OFN_READONLY ¶

    OFN_READONLY :: 0x00000001

    OFN_SHAREAWARE ¶

    OFN_SHAREAWARE :: 0x00004000

    OFN_SHOWHELP ¶

    OFN_SHOWHELP :: 0x00000010

    OPEN_ALWAYS ¶

    OPEN_ALWAYS: u32 : 4

    OPEN_EXISTING ¶

    OPEN_EXISTING: u32 : 3

    OPEN_FLAGS ¶

    OPEN_FLAGS :: u32(OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST)

    OPEN_FLAGS_MULTI ¶

    OPEN_FLAGS_MULTI: u32 : OPEN_FLAGS | OFN_ALLOWMULTISELECT | OFN_EXPLORER

    OPEN_TITLE ¶

    OPEN_TITLE :: "Select file to open"

    OWNER_SECURITY_INFORMATION ¶

    OWNER_SECURITY_INFORMATION :: 0x00000001

    PAGE_EXECUTE ¶

    PAGE_EXECUTE :: 0x10

    PAGE_EXECUTE_READ ¶

    PAGE_EXECUTE_READ :: 0x20

    PAGE_EXECUTE_READWRITE ¶

    PAGE_EXECUTE_READWRITE :: 0x40

    PAGE_EXECUTE_WRITECOPY ¶

    PAGE_EXECUTE_WRITECOPY :: 0x80

    PAGE_GUARD ¶

    PAGE_GUARD :: 0x100

    PAGE_NOACCESS ¶

    PAGE_NOACCESS :: 0x01

    PAGE_NOCACHE ¶

    PAGE_NOCACHE :: 0x200

    PAGE_READONLY ¶

    PAGE_READONLY :: 0x02

    PAGE_READWRITE ¶

    PAGE_READWRITE :: 0x04

    PAGE_WRITECOMBINE ¶

    PAGE_WRITECOMBINE :: 0x400

    PAGE_WRITECOPY ¶

    PAGE_WRITECOPY :: 0x08

    PATCOPY ¶

    PATCOPY: u32 : 0x00F00021
     

    dest = pattern

    PATINVERT ¶

    PATINVERT: u32 : 0x005A0049
     

    dest = pattern XOR dest

    PATPAINT ¶

    PATPAINT: u32 : 0x00FB0A09
     

    dest = DPSnoo

    PBM_DELTAPOS ¶

    PBM_DELTAPOS :: 0x0403

    PBM_GETPOS ¶

    PBM_GETPOS :: 0x0408

    PBM_GETRANGE ¶

    PBM_GETRANGE :: 0x0407

    PBM_GETSTATE ¶

    PBM_GETSTATE :: 0x0411

    PBM_SETBARCOLOR ¶

    PBM_SETBARCOLOR :: 0x0409

    PBM_SETMARQUEE ¶

    PBM_SETMARQUEE :: 0x040a

    PBM_SETPOS ¶

    PBM_SETPOS :: 0x0402

    PBM_SETRANGE ¶

    PBM_SETRANGE :: 0x0401

    PBM_SETRANGE32 ¶

    PBM_SETRANGE32 :: 0x0406

    PBM_SETSTATE ¶

    PBM_SETSTATE :: 0x0410

    PBM_SETSTEP ¶

    PBM_SETSTEP :: 0x0404

    PBM_STEPIT ¶

    PBM_STEPIT :: 0x0405

    PBST_ERROR ¶

    PBST_ERROR :: 0x0002

    PBST_NORMAL ¶

    PBST_NORMAL :: 0x0001

    PBST_PAUSED ¶

    PBST_PAUSED :: 0x0003

    PBS_MARQUEE ¶

    PBS_MARQUEE :: 0x08

    PBS_SMOOTH ¶

    PBS_SMOOTH :: 0x01

    PBS_SMOOTHREVERSE ¶

    PBS_SMOOTHREVERSE :: 0x10

    PBS_VERTICAL ¶

    PBS_VERTICAL :: 0x04

    PFD_DEPTH_DONTCARE ¶

    PFD_DEPTH_DONTCARE :: 0x20000000
     

    PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only

    PFD_DIRECT3D_ACCELERATED ¶

    PFD_DIRECT3D_ACCELERATED :: 0x00004000

    PFD_DOUBLEBUFFER ¶

    PFD_DOUBLEBUFFER :: 0x00000001
     

    PIXELFORMATDESCRIPTOR flags

    PFD_DOUBLEBUFFER_DONTCARE ¶

    PFD_DOUBLEBUFFER_DONTCARE :: 0x40000000

    PFD_DRAW_TO_BITMAP ¶

    PFD_DRAW_TO_BITMAP :: 0x00000008

    PFD_DRAW_TO_WINDOW ¶

    PFD_DRAW_TO_WINDOW :: 0x00000004

    PFD_GENERIC_ACCELERATED ¶

    PFD_GENERIC_ACCELERATED :: 0x00001000

    PFD_GENERIC_FORMAT ¶

    PFD_GENERIC_FORMAT :: 0x00000040

    PFD_MAIN_PLANE ¶

    PFD_MAIN_PLANE :: 0
     

    layer types

    PFD_NEED_PALETTE ¶

    PFD_NEED_PALETTE :: 0x00000080

    PFD_NEED_SYSTEM_PALETTE ¶

    PFD_NEED_SYSTEM_PALETTE :: 0x00000100

    PFD_OVERLAY_PLANE ¶

    PFD_OVERLAY_PLANE :: 1

    PFD_STEREO ¶

    PFD_STEREO :: 0x00000002

    PFD_STEREO_DONTCARE ¶

    PFD_STEREO_DONTCARE :: 0x80000000

    PFD_SUPPORT_COMPOSITION ¶

    PFD_SUPPORT_COMPOSITION :: 0x00008000

    PFD_SUPPORT_DIRECTDRAW ¶

    PFD_SUPPORT_DIRECTDRAW :: 0x00002000

    PFD_SUPPORT_GDI ¶

    PFD_SUPPORT_GDI :: 0x00000010

    PFD_SUPPORT_OPENGL ¶

    PFD_SUPPORT_OPENGL :: 0x00000020

    PFD_SWAP_COPY ¶

    PFD_SWAP_COPY :: 0x00000400

    PFD_SWAP_EXCHANGE ¶

    PFD_SWAP_EXCHANGE :: 0x00000200

    PFD_SWAP_LAYER_BUFFERS ¶

    PFD_SWAP_LAYER_BUFFERS :: 0x00000800

    PFD_TYPE_COLORINDEX ¶

    PFD_TYPE_COLORINDEX :: 1

    PFD_TYPE_RGBA ¶

    PFD_TYPE_RGBA :: 0
     

    pixel types

    PFD_UNDERLAY_PLANE ¶

    PFD_UNDERLAY_PLANE :: -1

    PIPE_ACCEPT_REMOTE_CLIENTS ¶

    PIPE_ACCEPT_REMOTE_CLIENTS: u32 : 0x00000000

    PIPE_ACCESS_DUPLEX ¶

    PIPE_ACCESS_DUPLEX: u32 : 0x00000003

    PIPE_ACCESS_INBOUND ¶

    PIPE_ACCESS_INBOUND: u32 : 0x00000001

    PIPE_ACCESS_OUTBOUND ¶

    PIPE_ACCESS_OUTBOUND: u32 : 0x00000002

    PIPE_READMODE_BYTE ¶

    PIPE_READMODE_BYTE: u32 : 0x00000000

    PIPE_READMODE_MESSAGE ¶

    PIPE_READMODE_MESSAGE: u32 : 0x00000002

    PIPE_REJECT_REMOTE_CLIENTS ¶

    PIPE_REJECT_REMOTE_CLIENTS: u32 : 0x00000008

    PIPE_TYPE_BYTE ¶

    PIPE_TYPE_BYTE: u32 : 0x00000000

    PIPE_TYPE_MESSAGE ¶

    PIPE_TYPE_MESSAGE: u32 : 0x00000004

    PIPE_WAIT ¶

    PIPE_WAIT: u32 : 0x00000000

    PM_NOREMOVE ¶

    PM_NOREMOVE: u32 : 0x0000

    PM_NOYIELD ¶

    PM_NOYIELD: u32 : 0x0002

    PM_QS_INPUT ¶

    PM_QS_INPUT: u32 : QS_INPUT << 16

    PM_QS_PAINT ¶

    PM_QS_PAINT: u32 : QS_PAINT << 16

    PM_QS_POSTMESSAGE ¶

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

    PM_QS_SENDMESSAGE ¶

    PM_QS_SENDMESSAGE: u32 : QS_SENDMESSAGE << 16

    PM_REMOVE ¶

    PM_REMOVE: u32 : 0x0001

    POLLERR ¶

    POLLERR :: 0x0001

    POLLHUP ¶

    POLLHUP :: 0x0002

    POLLIN ¶

    POLLIN :: POLLRDNORM | POLLRDBAND

    POLLNVAL ¶

    POLLNVAL :: 0x0004

    POLLOUT ¶

    POLLOUT :: POLLWRNORM

    POLLPRI ¶

    POLLPRI :: 0x0400

    POLLRDBAND ¶

    POLLRDBAND :: 0x0200

    POLLRDNORM ¶

    POLLRDNORM :: 0x0100
     

    Event flag definitions for WSAPoll().

    POLLWRBAND ¶

    POLLWRBAND :: 0x0020

    POLLWRNORM ¶

    POLLWRNORM :: 0x0010

    POWER_REQUEST_CONTEXT_DETAILED_STRING ¶

    POWER_REQUEST_CONTEXT_DETAILED_STRING :: DIAGNOSTIC_REASON_DETAILED_STRING

    POWER_REQUEST_CONTEXT_SIMPLE_STRING ¶

    POWER_REQUEST_CONTEXT_SIMPLE_STRING :: DIAGNOSTIC_REASON_SIMPLE_STRING

    POWER_REQUEST_CONTEXT_VERSION ¶

    POWER_REQUEST_CONTEXT_VERSION :: DIAGNOSTIC_REASON_VERSION

    PROCESS_MODE_BACKGROUND_BEGIN ¶

    PROCESS_MODE_BACKGROUND_BEGIN :: 0x00100000

    PROCESS_MODE_BACKGROUND_END ¶

    PROCESS_MODE_BACKGROUND_END :: 0x00200000

    PROCESS_TRUST_LABEL_SECURITY_INFORMATION ¶

    PROCESS_TRUST_LABEL_SECURITY_INFORMATION :: 0x00000080

    PROFILE_KERNEL ¶

    PROFILE_KERNEL :: 0x20000000

    PROFILE_SERVER ¶

    PROFILE_SERVER :: 0x40000000

    PROFILE_USER ¶

    PROFILE_USER :: 0x10000000

    PROGRESS_CONTINUE ¶

    PROGRESS_CONTINUE: u32 : 0

    PROTECTED_DACL_SECURITY_INFORMATION ¶

    PROTECTED_DACL_SECURITY_INFORMATION :: 0x80000000

    PROTECTED_SACL_SECURITY_INFORMATION ¶

    PROTECTED_SACL_SECURITY_INFORMATION :: 0x40000000

    PSM_ADDPAGE ¶

    PSM_ADDPAGE :: 0x0467

    PSM_APPLY ¶

    PSM_APPLY :: 0x046e

    PSM_CANCELTOCLOSE ¶

    PSM_CANCELTOCLOSE :: 0x046b

    PSM_CHANGED ¶

    PSM_CHANGED :: 0x0468

    PSM_GETCURRENTPAGEHWND ¶

    PSM_GETCURRENTPAGEHWND :: 0x0476

    PSM_GETRESULT ¶

    PSM_GETRESULT :: 0x0487

    PSM_GETTABCONTROL ¶

    PSM_GETTABCONTROL :: 0x0474

    PSM_HWNDTOINDEX ¶

    PSM_HWNDTOINDEX :: 0x0481

    PSM_IDTOINDEX ¶

    PSM_IDTOINDEX :: 0x0485

    PSM_INDEXTOHWND ¶

    PSM_INDEXTOHWND :: 0x0482

    PSM_INDEXTOID ¶

    PSM_INDEXTOID :: 0x0486

    PSM_INDEXTOPAGE ¶

    PSM_INDEXTOPAGE :: 0x0484

    PSM_INSERTPAGE ¶

    PSM_INSERTPAGE :: 0x0477

    PSM_ISDIALOGMESSAGE ¶

    PSM_ISDIALOGMESSAGE :: 0x0475

    PSM_PAGETOINDEX ¶

    PSM_PAGETOINDEX :: 0x0483

    PSM_PRESSBUTTON ¶

    PSM_PRESSBUTTON :: 0x0471

    PSM_QUERYSIBLINGS ¶

    PSM_QUERYSIBLINGS :: 0x046c

    PSM_REBOOTSYSTEM ¶

    PSM_REBOOTSYSTEM :: 0x046a

    PSM_RECALCPAGESIZES ¶

    PSM_RECALCPAGESIZES :: 0x0488

    PSM_REMOVEPAGE ¶

    PSM_REMOVEPAGE :: 0x0466

    PSM_RESTARTWINDOWS ¶

    PSM_RESTARTWINDOWS :: 0x0469

    PSM_SETCURSEL ¶

    PSM_SETCURSEL :: 0x0465

    PSM_SETCURSELID ¶

    PSM_SETCURSELID :: 0x0472

    PSM_SETFINISHTEXTA ¶

    PSM_SETFINISHTEXTA :: 0x0473

    PSM_SETFINISHTEXTW ¶

    PSM_SETFINISHTEXTW :: 0x0479

    PSM_SETHEADERSUBTITLEA ¶

    PSM_SETHEADERSUBTITLEA :: 0x047f

    PSM_SETHEADERSUBTITLEW ¶

    PSM_SETHEADERSUBTITLEW :: 0x0480

    PSM_SETHEADERTITLEA ¶

    PSM_SETHEADERTITLEA :: 0x047d

    PSM_SETHEADERTITLEW ¶

    PSM_SETHEADERTITLEW :: 0x047e

    PSM_SETTITLEA ¶

    PSM_SETTITLEA :: 0x046f

    PSM_SETTITLEW ¶

    PSM_SETTITLEW :: 0x0478

    PSM_SETWIZBUTTONS ¶

    PSM_SETWIZBUTTONS :: 0x0470

    PSM_UNCHANGED ¶

    PSM_UNCHANGED :: 0x046d

    PWLEN ¶

    PWLEN :: 256
     

    Maximum password length

    QS_ALLEVENTS ¶

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

    QS_ALLINPUT ¶

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

    QS_ALLPOSTMESSAGE ¶

    QS_ALLPOSTMESSAGE: u32 : 0x0100

    QS_HOTKEY ¶

    QS_HOTKEY: u32 : 0x0080

    QS_INPUT ¶

    QS_INPUT: u32 : QS_MOUSE | QS_KEY | QS_RAWINPUT

    QS_KEY ¶

    QS_KEY: u32 : 0x0001

    QS_MOUSE ¶

    QS_MOUSE: u32 : QS_MOUSEMOVE | QS_MOUSEBUTTON

    QS_MOUSEBUTTON ¶

    QS_MOUSEBUTTON: u32 : 0x0004

    QS_MOUSEMOVE ¶

    QS_MOUSEMOVE: u32 : 0x0002

    QS_PAINT ¶

    QS_PAINT: u32 : 0x0020

    QS_POSTMESSAGE ¶

    QS_POSTMESSAGE: u32 : 0x0008

    QS_RAWINPUT ¶

    QS_RAWINPUT: u32 : 0x0400

    QS_SENDMESSAGE ¶

    QS_SENDMESSAGE: u32 : 0x0040

    QS_TIMER ¶

    QS_TIMER: u32 : 0x0010

    R2_BLACK ¶

    R2_BLACK :: 1
     

    Binary raster ops

    R2_COPYPEN ¶

    R2_COPYPEN :: 13
     

    P

    R2_LAST ¶

    R2_LAST :: 16

    R2_MASKNOTPEN ¶

    R2_MASKNOTPEN :: 3
     

    DPna

    R2_MASKPEN ¶

    R2_MASKPEN :: 9
     

    DPa

    R2_MASKPENNOT ¶

    R2_MASKPENNOT :: 5
     

    PDna

    R2_MERGENOTPEN ¶

    R2_MERGENOTPEN :: 12
     

    DPno

    R2_MERGEPEN ¶

    R2_MERGEPEN :: 15
     

    DPo

    R2_MERGEPENNOT ¶

    R2_MERGEPENNOT :: 14
     

    PDno

    R2_NOP ¶

    R2_NOP :: 11
     

    D

    R2_NOT ¶

    R2_NOT :: 6
     

    Dn

    R2_NOTCOPYPEN ¶

    R2_NOTCOPYPEN :: 4
     

    PN

    R2_NOTMASKPEN ¶

    R2_NOTMASKPEN :: 8
     

    DPan

    R2_NOTMERGEPEN ¶

    R2_NOTMERGEPEN :: 2
     

    DPon

    R2_NOTXORPEN ¶

    R2_NOTXORPEN :: 10
     

    DPxn

    R2_WHITE ¶

    R2_WHITE :: 16
     

    1

    R2_XORPEN ¶

    R2_XORPEN :: 7
     

    DPx

    RB_BEGINDRAG ¶

    RB_BEGINDRAG :: 0x0418

    RB_DELETEBAND ¶

    RB_DELETEBAND :: 0x0402

    RB_DRAGMOVE ¶

    RB_DRAGMOVE :: 0x041a

    RB_ENDDRAG ¶

    RB_ENDDRAG :: 0x0419

    RB_GETBANDBORDERS ¶

    RB_GETBANDBORDERS :: 0x0422

    RB_GETBANDCOUNT ¶

    RB_GETBANDCOUNT :: 0x040c

    RB_GETBANDINFOA ¶

    RB_GETBANDINFOA :: 0x041d

    RB_GETBANDINFOW ¶

    RB_GETBANDINFOW :: 0x041c

    RB_GETBARHEIGHT ¶

    RB_GETBARHEIGHT :: 0x041b

    RB_GETBARINFO ¶

    RB_GETBARINFO :: 0x0403

    RB_GETBKCOLOR ¶

    RB_GETBKCOLOR :: 0x0414

    RB_GETPALETTE ¶

    RB_GETPALETTE :: 0x0426

    RB_GETRECT ¶

    RB_GETRECT :: 0x0409

    RB_GETROWCOUNT ¶

    RB_GETROWCOUNT :: 0x040d

    RB_GETROWHEIGHT ¶

    RB_GETROWHEIGHT :: 0x040e

    RB_GETTEXTCOLOR ¶

    RB_GETTEXTCOLOR :: 0x0416

    RB_GETTOOLTIPS ¶

    RB_GETTOOLTIPS :: 0x0411

    RB_HITTEST ¶

    RB_HITTEST :: 0x0408

    RB_IDTOINDEX ¶

    RB_IDTOINDEX :: 0x0410

    RB_INSERTBANDA ¶

    RB_INSERTBANDA :: 0x0401

    RB_INSERTBANDW ¶

    RB_INSERTBANDW :: 0x040a

    RB_MAXIMIZEBAND ¶

    RB_MAXIMIZEBAND :: 0x041f

    RB_MINIMIZEBAND ¶

    RB_MINIMIZEBAND :: 0x041e

    RB_MOVEBAND ¶

    RB_MOVEBAND :: 0x0427

    RB_PUSHCHEVRON ¶

    RB_PUSHCHEVRON :: 0x042b

    RB_SETBANDINFOA ¶

    RB_SETBANDINFOA :: 0x0406

    RB_SETBANDINFOW ¶

    RB_SETBANDINFOW :: 0x040b

    RB_SETBARINFO ¶

    RB_SETBARINFO :: 0x0404

    RB_SETBKCOLOR ¶

    RB_SETBKCOLOR :: 0x0413

    RB_SETPALETTE ¶

    RB_SETPALETTE :: 0x0425

    RB_SETPARENT ¶

    RB_SETPARENT :: 0x0407

    RB_SETTEXTCOLOR ¶

    RB_SETTEXTCOLOR :: 0x0415

    RB_SETTOOLTIPS ¶

    RB_SETTOOLTIPS :: 0x0412

    RB_SHOWBAND ¶

    RB_SHOWBAND :: 0x0423

    RB_SIZETORECT ¶

    RB_SIZETORECT :: 0x0417

    READ_CONTROL ¶

    READ_CONTROL: u32 : 0x00020000

    REALTIME_PRIORITY_CLASS ¶

    REALTIME_PRIORITY_CLASS :: 0x00000100

    REG_APP_HIVE ¶

    REG_APP_HIVE :: 0x00000010

    REG_APP_HIVE_OPEN_READ_ONLY ¶

    REG_APP_HIVE_OPEN_READ_ONLY :: REG_OPEN_READ_ONLY

    REG_BINARY ¶

    REG_BINARY :: 3

    REG_BOOT_HIVE ¶

    REG_BOOT_HIVE :: 0x00000400

    REG_CREATED_NEW_KEY ¶

    REG_CREATED_NEW_KEY :: 0x00000001
     

    Key creation/open disposition

    REG_DWORD ¶

    REG_DWORD :: 4

    REG_DWORD_BIG_ENDIAN ¶

    REG_DWORD_BIG_ENDIAN :: 5

    REG_DWORD_LITTLE_ENDIAN ¶

    REG_DWORD_LITTLE_ENDIAN :: 4

    REG_EXPAND_SZ ¶

    REG_EXPAND_SZ :: 2

    REG_FLUSH_HIVE_FILE_GROWTH ¶

    REG_FLUSH_HIVE_FILE_GROWTH :: 0x00001000

    REG_FORCE_RESTORE ¶

    REG_FORCE_RESTORE :: 0x00000008

    REG_FORCE_UNLOAD ¶

    REG_FORCE_UNLOAD :: 1
     

    Unload Flags

    REG_FULL_RESOURCE_DESCRIPTOR ¶

    REG_FULL_RESOURCE_DESCRIPTOR :: 9

    REG_HIVE_EXACT_FILE_GROWTH ¶

    REG_HIVE_EXACT_FILE_GROWTH :: 0x00000080

    REG_HIVE_NO_RM ¶

    REG_HIVE_NO_RM :: 0x00000100

    REG_HIVE_SINGLE_LOG ¶

    REG_HIVE_SINGLE_LOG :: 0x00000200

    REG_IMMUTABLE ¶

    REG_IMMUTABLE :: 0x00004000

    REG_LATEST_FORMAT ¶

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

    REG_LOAD_HIVE_OPEN_HANDLE ¶

    REG_LOAD_HIVE_OPEN_HANDLE :: 0x00000800

    REG_MULTI_SZ ¶

    REG_MULTI_SZ :: 7

    REG_NONE ¶

    REG_NONE :: 0
     

    Predefined Value Types.

    REG_NOTIFY_CHANGE_ATTRIBUTES ¶

    REG_NOTIFY_CHANGE_ATTRIBUTES :: 0x00000002

    REG_NOTIFY_CHANGE_LAST_SET ¶

    REG_NOTIFY_CHANGE_LAST_SET :: 0x00000004

    REG_NOTIFY_CHANGE_NAME ¶

    REG_NOTIFY_CHANGE_NAME :: 0x00000001
     

    Notify filter values

    REG_NOTIFY_CHANGE_SECURITY ¶

    REG_NOTIFY_CHANGE_SECURITY :: 0x00000008

    REG_NOTIFY_THREAD_AGNOSTIC ¶

    REG_NOTIFY_THREAD_AGNOSTIC :: 0x10000000

    REG_NO_COMPRESSION ¶

    REG_NO_COMPRESSION :: 4

    REG_NO_IMPERSONATION_FALLBACK ¶

    REG_NO_IMPERSONATION_FALLBACK :: 0x00008000

    REG_NO_LAZY_FLUSH ¶

    REG_NO_LAZY_FLUSH :: 0x00000004

    REG_OPENED_EXISTING_KEY ¶

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

    REG_OPEN_READ_ONLY ¶

    REG_OPEN_READ_ONLY :: 0x00002000

    REG_OPTION_BACKUP_RESTORE ¶

    REG_OPTION_BACKUP_RESTORE :: 0x00000004
    REG_OPTION_CREATE_LINK :: 0x00000002

    REG_OPTION_DONT_VIRTUALIZE ¶

    REG_OPTION_DONT_VIRTUALIZE :: 0x00000010

    REG_OPTION_NON_VOLATILE ¶

    REG_OPTION_NON_VOLATILE :: 0x00000000
    REG_OPTION_OPEN_LINK :: 0x00000008

    REG_OPTION_RESERVED ¶

    REG_OPTION_RESERVED :: 0x00000000
     

    Open/Create Options

    REG_OPTION_VOLATILE ¶

    REG_OPTION_VOLATILE :: 0x00000001

    REG_PROCESS_PRIVATE ¶

    REG_PROCESS_PRIVATE :: 0x00000020

    REG_QWORD ¶

    REG_QWORD :: 11

    REG_QWORD_LITTLE_ENDIAN ¶

    REG_QWORD_LITTLE_ENDIAN :: 11

    REG_REFRESH_HIVE ¶

    REG_REFRESH_HIVE :: 0x00000002

    REG_RESOURCE_LIST ¶

    REG_RESOURCE_LIST :: 8

    REG_RESOURCE_REQUIREMENTS_LIST ¶

    REG_RESOURCE_REQUIREMENTS_LIST :: 10

    REG_STANDARD_FORMAT ¶

    REG_STANDARD_FORMAT :: 1
     

    hive format to be used by Reg(Nt)SaveKeyEx

    REG_START_JOURNAL ¶

    REG_START_JOURNAL :: 0x00000040

    REG_SZ ¶

    REG_SZ :: 1
    REG_UNLOAD_LEGAL_FLAGS :: REG_FORCE_UNLOAD

    REG_WHOLE_HIVE_VOLATILE ¶

    REG_WHOLE_HIVE_VOLATILE :: 0x00000001
     

    Key restore & hive load flags

    RGN_ERROR ¶

    RGN_ERROR :: ERROR

    RIDEV_APPKEYS ¶

    RIDEV_APPKEYS :: 0x00000400

    RIDEV_CAPTUREMOUSE ¶

    RIDEV_CAPTUREMOUSE :: 0x00000200

    RIDEV_DEVNOTIFY ¶

    RIDEV_DEVNOTIFY :: 0x00002000

    RIDEV_EXCLUDE ¶

    RIDEV_EXCLUDE :: 0x00000010

    RIDEV_EXINPUTSINK ¶

    RIDEV_EXINPUTSINK :: 0x00001000

    RIDEV_INPUTSINK ¶

    RIDEV_INPUTSINK :: 0x00000100

    RIDEV_NOHOTKEYS ¶

    RIDEV_NOHOTKEYS :: 0x00000200

    RIDEV_NOLEGACY ¶

    RIDEV_NOLEGACY :: 0x00000030

    RIDEV_PAGEONLY ¶

    RIDEV_PAGEONLY :: 0x00000020

    RIDEV_REMOVE ¶

    RIDEV_REMOVE :: 0x00000001

    RID_HEADER ¶

    RID_HEADER :: 0x10000005

    RID_INPUT ¶

    RID_INPUT :: 0x10000003

    RIM_TYPEHID ¶

    RIM_TYPEHID :: 2

    RIM_TYPEKEYBOARD ¶

    RIM_TYPEKEYBOARD :: 1

    RIM_TYPEMOUSE ¶

    RIM_TYPEMOUSE :: 0

    RI_MOUSE_BUTTON_1_DOWN ¶

    RI_MOUSE_BUTTON_1_DOWN :: 0x0001

    RI_MOUSE_BUTTON_1_UP ¶

    RI_MOUSE_BUTTON_1_UP :: 0x0002

    RI_MOUSE_BUTTON_2_DOWN ¶

    RI_MOUSE_BUTTON_2_DOWN :: 0x0004

    RI_MOUSE_BUTTON_2_UP ¶

    RI_MOUSE_BUTTON_2_UP :: 0x0008

    RI_MOUSE_BUTTON_3_DOWN ¶

    RI_MOUSE_BUTTON_3_DOWN :: 0x0010

    RI_MOUSE_BUTTON_3_UP ¶

    RI_MOUSE_BUTTON_3_UP :: 0x0020

    RI_MOUSE_BUTTON_4_DOWN ¶

    RI_MOUSE_BUTTON_4_DOWN :: 0x0040

    RI_MOUSE_BUTTON_4_UP ¶

    RI_MOUSE_BUTTON_4_UP :: 0x0080

    RI_MOUSE_BUTTON_5_DOWN ¶

    RI_MOUSE_BUTTON_5_DOWN :: 0x0100

    RI_MOUSE_BUTTON_5_UP ¶

    RI_MOUSE_BUTTON_5_UP :: 0x0200

    RI_MOUSE_HWHEEL ¶

    RI_MOUSE_HWHEEL :: 0x0800

    RI_MOUSE_LEFT_BUTTON_DOWNS ¶

    RI_MOUSE_LEFT_BUTTON_DOWNS :: RI_MOUSE_BUTTON_1_DOWN

    RI_MOUSE_LEFT_BUTTON_UP ¶

    RI_MOUSE_LEFT_BUTTON_UP :: RI_MOUSE_BUTTON_1_UP

    RI_MOUSE_MIDDLE_BUTTON_DOWN ¶

    RI_MOUSE_MIDDLE_BUTTON_DOWN :: RI_MOUSE_BUTTON_3_DOWN

    RI_MOUSE_MIDDLE_BUTTON_UP ¶

    RI_MOUSE_MIDDLE_BUTTON_UP :: RI_MOUSE_BUTTON_3_UP

    RI_MOUSE_RIGHT_BUTTON_DOWN ¶

    RI_MOUSE_RIGHT_BUTTON_DOWN :: RI_MOUSE_BUTTON_2_DOWN

    RI_MOUSE_RIGHT_BUTTON_UP ¶

    RI_MOUSE_RIGHT_BUTTON_UP :: RI_MOUSE_BUTTON_2_UP

    RI_MOUSE_WHEEL ¶

    RI_MOUSE_WHEEL :: 0x0400

    RRF_NOEXPAND ¶

    RRF_NOEXPAND :: 0x10000000

    RRF_RT_ANY ¶

    RRF_RT_ANY :: 0x0000ffff

    RRF_RT_DWORD ¶

    RRF_RT_DWORD :: RRF_RT_REG_BINARY | RRF_RT_REG_DWORD

    RRF_RT_QWORD ¶

    RRF_RT_QWORD :: RRF_RT_REG_BINARY | RRF_RT_REG_QWORD

    RRF_RT_REG_BINARY ¶

    RRF_RT_REG_BINARY :: 0x00000008

    RRF_RT_REG_DWORD ¶

    RRF_RT_REG_DWORD :: 0x00000010

    RRF_RT_REG_EXPAND_SZ ¶

    RRF_RT_REG_EXPAND_SZ :: 0x00000004

    RRF_RT_REG_MULTI_SZ ¶

    RRF_RT_REG_MULTI_SZ :: 0x00000020

    RRF_RT_REG_NONE ¶

    RRF_RT_REG_NONE :: 0x00000001
     

    RRF - Registry Routine Flags (for RegGetValue)

    RRF_RT_REG_QWORD ¶

    RRF_RT_REG_QWORD :: 0x00000040

    RRF_RT_REG_SZ ¶

    RRF_RT_REG_SZ :: 0x00000002

    RRF_ZEROONFAILURE ¶

    RRF_ZEROONFAILURE :: 0x20000000

    SACL_SECURITY_INFORMATION ¶

    SACL_SECURITY_INFORMATION :: 0x00000008

    SAVE_EXT ¶

    SAVE_EXT :: "txt"

    SAVE_FLAGS ¶

    SAVE_FLAGS :: u32(OFN_OVERWRITEPROMPT | OFN_EXPLORER)

    SAVE_TITLE ¶

    SAVE_TITLE :: "Select file to save"

    SBM_ENABLE_ARROWS ¶

    SBM_ENABLE_ARROWS :: 0x00e4

    SBM_GETPOS ¶

    SBM_GETPOS :: 0x00e1

    SBM_GETRANGE ¶

    SBM_GETRANGE :: 0x00e3

    SBM_GETSCROLLBARINFO ¶

    SBM_GETSCROLLBARINFO :: 0x00eb

    SBM_GETSCROLLINFO ¶

    SBM_GETSCROLLINFO :: 0x00ea

    SBM_SETPOS ¶

    SBM_SETPOS :: 0x00e0

    SBM_SETRANGE ¶

    SBM_SETRANGE :: 0x00e2

    SBM_SETRANGEREDRAW ¶

    SBM_SETRANGEREDRAW :: 0x00e6

    SBM_SETSCROLLINFO ¶

    SBM_SETSCROLLINFO :: 0x00e9

    SB_GETBORDERS ¶

    SB_GETBORDERS :: 0x0407

    SB_GETICON ¶

    SB_GETICON :: 0x0414

    SB_GETPARTS ¶

    SB_GETPARTS :: 0x0406

    SB_GETRECT ¶

    SB_GETRECT :: 0x040a

    SB_GETTEXTA ¶

    SB_GETTEXTA :: 0x0402

    SB_GETTEXTLENGTHA ¶

    SB_GETTEXTLENGTHA :: 0x0403

    SB_GETTEXTLENGTHW ¶

    SB_GETTEXTLENGTHW :: 0x040c

    SB_GETTEXTW ¶

    SB_GETTEXTW :: 0x040d

    SB_GETTIPTEXTA ¶

    SB_GETTIPTEXTA :: 0x0412

    SB_GETTIPTEXTW ¶

    SB_GETTIPTEXTW :: 0x0413

    SB_ISSIMPLE ¶

    SB_ISSIMPLE :: 0x040e

    SB_SETICON ¶

    SB_SETICON :: 0x040f

    SB_SETMINHEIGHT ¶

    SB_SETMINHEIGHT :: 0x0408

    SB_SETPARTS ¶

    SB_SETPARTS :: 0x0404

    SB_SETTEXTA ¶

    SB_SETTEXTA :: 0x0401

    SB_SETTEXTW ¶

    SB_SETTEXTW :: 0x040b

    SB_SETTIPTEXTA ¶

    SB_SETTIPTEXTA :: 0x0410

    SB_SETTIPTEXTW ¶

    SB_SETTIPTEXTW :: 0x0411

    SB_SIMPLE ¶

    SB_SIMPLE :: 0x0409

    SCF_ISSECURE ¶

    SCF_ISSECURE :: 0x00000001

    SCOPE_SECURITY_INFORMATION ¶

    SCOPE_SECURITY_INFORMATION :: 0x00000040

    SC_ARRANGE ¶

    SC_ARRANGE :: 0xF110

    SC_CLOSE ¶

    SC_CLOSE :: 0xF060

    SC_CONTEXTHELP ¶

    SC_CONTEXTHELP :: 0xF180

    SC_DEFAULT ¶

    SC_DEFAULT :: 0xF160

    SC_HOTKEY ¶

    SC_HOTKEY :: 0xF150

    SC_HSCROLL ¶

    SC_HSCROLL :: 0xF080

    SC_ICON ¶

    SC_ICON :: SC_MINIMIZE

    SC_KEYMENU ¶

    SC_KEYMENU :: 0xF100

    SC_MAXIMIZE ¶

    SC_MAXIMIZE :: 0xF030

    SC_MINIMIZE ¶

    SC_MINIMIZE :: 0xF020

    SC_MONITORPOWER ¶

    SC_MONITORPOWER :: 0xF170

    SC_MOUSEMENU ¶

    SC_MOUSEMENU :: 0xF090

    SC_MOVE ¶

    SC_MOVE :: 0xF010

    SC_NEXTWINDOW ¶

    SC_NEXTWINDOW :: 0xF040

    SC_PREVWINDOW ¶

    SC_PREVWINDOW :: 0xF050

    SC_RESTORE ¶

    SC_RESTORE :: 0xF120

    SC_SCREENSAVE ¶

    SC_SCREENSAVE :: 0xF140

    SC_SEPARATOR ¶

    SC_SEPARATOR :: 0xF00F

    SC_SIZE ¶

    SC_SIZE :: 0xF000
     

    System Menu Command Values

    SC_TASKLIST ¶

    SC_TASKLIST :: 0xF130

    SC_VSCROLL ¶

    SC_VSCROLL :: 0xF070

    SC_ZOOM ¶

    SC_ZOOM :: SC_MAXIMIZE

    SD_BOTH ¶

    SD_BOTH: i32 : 2

    SD_RECEIVE ¶

    SD_RECEIVE: i32 : 0
     

    Shutdown manners

    SD_SEND ¶

    SD_SEND: i32 : 1

    SECTION_ALL_ACCESS ¶

    SECTION_ALL_ACCESS: u32 : STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE

    SECTION_EXTEND_SIZE ¶

    SECTION_EXTEND_SIZE: u32 : DWORD(0x0010)

    SECTION_MAP_EXECUTE ¶

    SECTION_MAP_EXECUTE: u32 : DWORD(0x0008)

    SECTION_MAP_EXECUTE_EXPLICIT ¶

    SECTION_MAP_EXECUTE_EXPLICIT: u32 : DWORD(0x0020)

    SECTION_MAP_READ ¶

    SECTION_MAP_READ: u32 : DWORD(0x0004)

    SECTION_MAP_WRITE ¶

    SECTION_MAP_WRITE: u32 : DWORD(0x0002)

    SECTION_QUERY ¶

    SECTION_QUERY: u32 : DWORD(0x0001)

    SECURITY_MAX_SID_SIZE ¶

    SECURITY_MAX_SID_SIZE :: 68

    SECURITY_SQOS_PRESENT ¶

    SECURITY_SQOS_PRESENT: u32 : 0x00100000

    SEC_E_OK ¶

    SEC_E_OK: HRESULT : 0x00000000

    SEE_MASK_ASYNCOK ¶

    SEE_MASK_ASYNCOK :: 0x00100000

    SEE_MASK_CLASSKEY ¶

    SEE_MASK_CLASSKEY :: 0x00000003
     

    SHELLEXECUTEINFO.hkeyClass is valid

    SEE_MASK_CLASSNAME ¶

    SEE_MASK_CLASSNAME :: 0x00000001
     

    SHELLEXECUTEINFO.lpClass is valid

    SEE_MASK_CONNECTNETDRV ¶

    SEE_MASK_CONNECTNETDRV :: 0x00000080
     

    enables re-connecting disconnected network drives

    SEE_MASK_DEFAULT ¶

    SEE_MASK_DEFAULT :: 0x00000000
     

    Note CLASSKEY overrides CLASSNAME

    SEE_MASK_DOENVSUBST ¶

    SEE_MASK_DOENVSUBST :: 0x00000200
     

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

    SEE_MASK_FLAG_DDEWAIT ¶

    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 ¶

    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. The site pointer is used to provide services to shell execute, the handler binding process and the verb handlers once they are invoked.

    SEE_MASK_FLAG_LOG_USAGE ¶

    SEE_MASK_FLAG_LOG_USAGE :: 0x04000000

    SEE_MASK_FLAG_NO_UI ¶

    SEE_MASK_FLAG_NO_UI :: 0x00000400
     

    disable UI including error messages

    SEE_MASK_HMONITOR ¶

    SEE_MASK_HMONITOR :: 0x00200000
     

    SHELLEXECUTEINFO.hMonitor

    SEE_MASK_HOTKEY ¶

    SEE_MASK_HOTKEY :: 0x00000020
     

    SHELLEXECUTEINFO.dwHotKey is valid

    SEE_MASK_ICON ¶

    SEE_MASK_ICON :: 0x00000010
     

    not used

    SEE_MASK_IDLIST ¶

    SEE_MASK_IDLIST :: 0x00000004
     

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

    SEE_MASK_INVOKEIDLIST ¶

    SEE_MASK_INVOKEIDLIST :: 0x0000000c
     

    enable IContextMenu based verbs

    SEE_MASK_NOASYNC ¶

    SEE_MASK_NOASYNC :: 0x00000100
     

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

    SEE_MASK_NOCLOSEPROCESS ¶

    SEE_MASK_NOCLOSEPROCESS :: 0x00000040
     

    SHELLEXECUTEINFO.hProcess

    SEE_MASK_NOQUERYCLASSSTORE ¶

    SEE_MASK_NOQUERYCLASSSTORE :: 0x01000000

    SEE_MASK_NOZONECHECKS ¶

    SEE_MASK_NOZONECHECKS :: 0x00800000

    SEE_MASK_NO_CONSOLE ¶

    SEE_MASK_NO_CONSOLE :: 0x00008000

    SEE_MASK_UNICODE ¶

    SEE_MASK_UNICODE :: 0x00004000

    SEE_MASK_WAITFORINPUTIDLE ¶

    SEE_MASK_WAITFORINPUTIDLE :: 0x02000000

    SHACF_AUTOAPPEND_FORCE_OFF ¶

    SHACF_AUTOAPPEND_FORCE_OFF :: 0x80000000
     

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

    SHACF_AUTOAPPEND_FORCE_ON ¶

    SHACF_AUTOAPPEND_FORCE_ON :: 0x40000000
     

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

    SHACF_AUTOSUGGEST_FORCE_OFF ¶

    SHACF_AUTOSUGGEST_FORCE_OFF :: 0x20000000
     

    Ignore the registry default and force the feature off.

    SHACF_AUTOSUGGEST_FORCE_ON ¶

    SHACF_AUTOSUGGEST_FORCE_ON :: 0x10000000
     

    Ignore the registry default and force the feature on.

    SHACF_DEFAULT ¶

    SHACF_DEFAULT :: 0x00000000
     

    Currently (SHACF_FILESYSTEM | SHACF_URLALL)

    SHACF_FILESYSTEM ¶

    SHACF_FILESYSTEM :: 0x00000001
     

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

    SHACF_FILESYS_DIRS ¶

    SHACF_FILESYS_DIRS :: 0x00000020
     

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

    SHACF_FILESYS_ONLY ¶

    SHACF_FILESYS_ONLY :: 0x00000010
     

    This includes the File System

    SHACF_URLALL ¶

    SHACF_URLALL :: SHACF_URLHISTORY | SHACF_URLMRU

    SHACF_URLHISTORY ¶

    SHACF_URLHISTORY :: 0x00000002
     

    URLs in the User's History

    SHACF_URLMRU ¶

    SHACF_URLMRU :: 0x00000004
     

    URLs in the User's Recently Used list.

    SHACF_USETAB ¶

    SHACF_USETAB :: 0x00000008
     

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

    SHACF_VIRTUAL_NAMESPACE ¶

    SHACF_VIRTUAL_NAMESPACE :: 0x00000040
     

    Also include the virtual namespace

    SHCNEE_MSI_CHANGE ¶

    SHCNEE_MSI_CHANGE :: 4

    SHCNEE_MSI_UNINSTALL ¶

    SHCNEE_MSI_UNINSTALL :: 5

    SHCNEE_ORDERCHANGED ¶

    SHCNEE_ORDERCHANGED :: 2

    SHCNE_ALLEVENTS ¶

    SHCNE_ALLEVENTS :: 0x7FFFFFFF

    SHCNE_ASSOCCHANGED ¶

    SHCNE_ASSOCCHANGED :: 0x08000000

    SHCNE_ATTRIBUTES ¶

    SHCNE_ATTRIBUTES :: 0x00000800

    SHCNE_CREATE ¶

    SHCNE_CREATE :: 0x00000002

    SHCNE_DELETE ¶

    SHCNE_DELETE :: 0x00000004

    SHCNE_DISKEVENTS ¶

    SHCNE_DISKEVENTS :: 0x0002381F

    SHCNE_DRIVEADD ¶

    SHCNE_DRIVEADD :: 0x00000100

    SHCNE_DRIVEADDGUI ¶

    SHCNE_DRIVEADDGUI :: 0x00010000

    SHCNE_DRIVEREMOVED ¶

    SHCNE_DRIVEREMOVED :: 0x00000080

    SHCNE_EXTENDED_EVENT ¶

    SHCNE_EXTENDED_EVENT :: 0x04000000

    SHCNE_FREESPACE ¶

    SHCNE_FREESPACE :: 0x00040000

    SHCNE_GLOBALEVENTS ¶

    SHCNE_GLOBALEVENTS :: 0x0C0581E0

    SHCNE_INTERRUPT ¶

    SHCNE_INTERRUPT :: 0x80000000

    SHCNE_MEDIAINSERTED ¶

    SHCNE_MEDIAINSERTED :: 0x00000020

    SHCNE_MEDIAREMOVED ¶

    SHCNE_MEDIAREMOVED :: 0x00000040

    SHCNE_MKDIR ¶

    SHCNE_MKDIR :: 0x00000008

    SHCNE_NETSHARE ¶

    SHCNE_NETSHARE :: 0x00000200

    SHCNE_NETUNSHARE ¶

    SHCNE_NETUNSHARE :: 0x00000400

    SHCNE_RENAMEFOLDER ¶

    SHCNE_RENAMEFOLDER :: 0x00020000

    SHCNE_RENAMEITEM ¶

    SHCNE_RENAMEITEM :: 0x00000001

    SHCNE_RMDIR ¶

    SHCNE_RMDIR :: 0x00000010

    SHCNE_SERVERDISCONNECT ¶

    SHCNE_SERVERDISCONNECT :: 0x00004000

    SHCNE_UPDATEDIR ¶

    SHCNE_UPDATEDIR :: 0x00001000

    SHCNE_UPDATEIMAGE ¶

    SHCNE_UPDATEIMAGE :: 0x00008000

    SHCNE_UPDATEITEM ¶

    SHCNE_UPDATEITEM :: 0x00002000

    SHCNF_DWORD ¶

    SHCNF_DWORD :: 0x0003

    SHCNF_FLUSH ¶

    SHCNF_FLUSH :: 0x1000

    SHCNF_FLUSHNOWAIT ¶

    SHCNF_FLUSHNOWAIT :: 0x3000

    SHCNF_IDLIST ¶

    SHCNF_IDLIST :: 0x0000

    SHCNF_NOTIFYRECURSIVE ¶

    SHCNF_NOTIFYRECURSIVE :: 0x10000

    SHCNF_PATHA ¶

    SHCNF_PATHA :: 0x0001

    SHCNF_PATHW ¶

    SHCNF_PATHW :: 0x0005

    SHCNF_PRINTERA ¶

    SHCNF_PRINTERA :: 0x0002

    SHCNF_PRINTERW ¶

    SHCNF_PRINTERW :: 0x0006

    SHCNF_TYPE ¶

    SHCNF_TYPE :: 0x00FF

    SHCNRF_InterruptLevel ¶

    SHCNRF_InterruptLevel :: 0x0001

    SHCNRF_NewDelivery ¶

    SHCNRF_NewDelivery :: 0x8000

    SHCNRF_RecursiveInterrupt ¶

    SHCNRF_RecursiveInterrupt :: 0x1000

    SHCNRF_ShellLevel ¶

    SHCNRF_ShellLevel :: 0x0002

    SHCONTF_CHECKING_FOR_CHILDREN ¶

    SHCONTF_CHECKING_FOR_CHILDREN :: 0x10

    SHCONTF_ENABLE_ASYNC ¶

    SHCONTF_ENABLE_ASYNC :: 0x8000

    SHCONTF_FASTITEMS ¶

    SHCONTF_FASTITEMS :: 0x2000

    SHCONTF_FLATLIST ¶

    SHCONTF_FLATLIST :: 0x4000

    SHCONTF_FOLDERS ¶

    SHCONTF_FOLDERS :: 0x20

    SHCONTF_INCLUDEHIDDEN ¶

    SHCONTF_INCLUDEHIDDEN :: 0x80

    SHCONTF_INCLUDESUPERHIDDEN ¶

    SHCONTF_INCLUDESUPERHIDDEN :: 0x10000

    SHCONTF_INIT_ON_FIRST_NEXT ¶

    SHCONTF_INIT_ON_FIRST_NEXT :: 0x100

    SHCONTF_NAVIGATION_ENUM ¶

    SHCONTF_NAVIGATION_ENUM :: 0x1000

    SHCONTF_NETPRINTERSRCH ¶

    SHCONTF_NETPRINTERSRCH :: 0x200

    SHCONTF_NONFOLDERS ¶

    SHCONTF_NONFOLDERS :: 0x40

    SHCONTF_SHAREABLE ¶

    SHCONTF_SHAREABLE :: 0x400

    SHCONTF_STORAGE ¶

    SHCONTF_STORAGE :: 0x800

    SICHINT_ALLFIELDS ¶

    SICHINT_ALLFIELDS :: -2147483648
     

    0x80000000

    SICHINT_CANONICAL ¶

    SICHINT_CANONICAL :: 0x10000000

    SICHINT_DISPLAY ¶

    SICHINT_DISPLAY :: 0

    SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL ¶

    SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL :: 0x20000000

    SIMPLEREGION ¶

    SIMPLEREGION :: 2

    SIO_GET_EXTENSION_FUNCTION_POINTER ¶

    SIO_GET_EXTENSION_FUNCTION_POINTER :: IOC_INOUT | IOC_WS2 | 6

    SIZE_MAXHIDE ¶

    SIZE_MAXHIDE :: 4

    SIZE_MAXIMIZED ¶

    SIZE_MAXIMIZED :: 2

    SIZE_MAXSHOW ¶

    SIZE_MAXSHOW :: 3

    SIZE_MINIMIZED ¶

    SIZE_MINIMIZED :: 1

    SIZE_RESTORED ¶

    SIZE_RESTORED :: 0

    SM_ARRANGE ¶

    SM_ARRANGE :: 56

    SM_CARETBLINKINGENABLED ¶

    SM_CARETBLINKINGENABLED :: 0x2002

    SM_CLEANBOOT ¶

    SM_CLEANBOOT :: 67

    SM_CMETRICS ¶

    SM_CMETRICS :: 97

    SM_CMONITORS ¶

    SM_CMONITORS :: 80

    SM_CMOUSEBUTTONS ¶

    SM_CMOUSEBUTTONS :: 43

    SM_CONVERTIBLESLATEMODE ¶

    SM_CONVERTIBLESLATEMODE :: 0x2003

    SM_CXBORDER ¶

    SM_CXBORDER :: 5

    SM_CXCURSOR ¶

    SM_CXCURSOR :: 13

    SM_CXDLGFRAME ¶

    SM_CXDLGFRAME :: 7

    SM_CXDOUBLECLK ¶

    SM_CXDOUBLECLK :: 36

    SM_CXDRAG ¶

    SM_CXDRAG :: 68

    SM_CXEDGE ¶

    SM_CXEDGE :: 45

    SM_CXFIXEDFRAME ¶

    SM_CXFIXEDFRAME :: SM_CXDLGFRAME
     

    ;win40 name change

    SM_CXFOCUSBORDER ¶

    SM_CXFOCUSBORDER :: 83

    SM_CXFRAME ¶

    SM_CXFRAME :: 32

    SM_CXFULLSCREEN ¶

    SM_CXFULLSCREEN :: 16

    SM_CXHSCROLL ¶

    SM_CXHSCROLL :: 21

    SM_CXHTHUMB ¶

    SM_CXHTHUMB :: 10

    SM_CXICON ¶

    SM_CXICON :: 11

    SM_CXICONSPACING ¶

    SM_CXICONSPACING :: 38

    SM_CXMAXIMIZED ¶

    SM_CXMAXIMIZED :: 61

    SM_CXMAXTRACK ¶

    SM_CXMAXTRACK :: 59

    SM_CXMENUCHECK ¶

    SM_CXMENUCHECK :: 71
     

    Use instead of GetMenuCheckMarkDimensions()!

    SM_CXMENUSIZE ¶

    SM_CXMENUSIZE :: 54

    SM_CXMIN ¶

    SM_CXMIN :: 28

    SM_CXMINIMIZED ¶

    SM_CXMINIMIZED :: 57

    SM_CXMINSPACING ¶

    SM_CXMINSPACING :: 47

    SM_CXMINTRACK ¶

    SM_CXMINTRACK :: 34

    SM_CXPADDEDBORDER ¶

    SM_CXPADDEDBORDER :: 92

    SM_CXSCREEN ¶

    SM_CXSCREEN :: 0
     

    GetSystemMetrics() codes

    SM_CXSIZE ¶

    SM_CXSIZE :: 30

    SM_CXSIZEFRAME ¶

    SM_CXSIZEFRAME :: SM_CXFRAME
     

    ;win40 name change

    SM_CXSMICON ¶

    SM_CXSMICON :: 49

    SM_CXSMSIZE ¶

    SM_CXSMSIZE :: 52

    SM_CXVIRTUALSCREEN ¶

    SM_CXVIRTUALSCREEN :: 78

    SM_CXVSCROLL ¶

    SM_CXVSCROLL :: 2

    SM_CYBORDER ¶

    SM_CYBORDER :: 6

    SM_CYCAPTION ¶

    SM_CYCAPTION :: 4

    SM_CYCURSOR ¶

    SM_CYCURSOR :: 14

    SM_CYDLGFRAME ¶

    SM_CYDLGFRAME :: 8

    SM_CYDOUBLECLK ¶

    SM_CYDOUBLECLK :: 37

    SM_CYDRAG ¶

    SM_CYDRAG :: 69

    SM_CYEDGE ¶

    SM_CYEDGE :: 46

    SM_CYFIXEDFRAME ¶

    SM_CYFIXEDFRAME :: SM_CYDLGFRAME
     

    ;win40 name change

    SM_CYFOCUSBORDER ¶

    SM_CYFOCUSBORDER :: 84

    SM_CYFRAME ¶

    SM_CYFRAME :: 33

    SM_CYFULLSCREEN ¶

    SM_CYFULLSCREEN :: 17

    SM_CYHSCROLL ¶

    SM_CYHSCROLL :: 3

    SM_CYICON ¶

    SM_CYICON :: 12

    SM_CYICONSPACING ¶

    SM_CYICONSPACING :: 39

    SM_CYKANJIWINDOW ¶

    SM_CYKANJIWINDOW :: 18

    SM_CYMAXIMIZED ¶

    SM_CYMAXIMIZED :: 62

    SM_CYMAXTRACK ¶

    SM_CYMAXTRACK :: 60

    SM_CYMENU ¶

    SM_CYMENU :: 15

    SM_CYMENUCHECK ¶

    SM_CYMENUCHECK :: 72

    SM_CYMENUSIZE ¶

    SM_CYMENUSIZE :: 55

    SM_CYMIN ¶

    SM_CYMIN :: 29

    SM_CYMINIMIZED ¶

    SM_CYMINIMIZED :: 58

    SM_CYMINSPACING ¶

    SM_CYMINSPACING :: 48

    SM_CYMINTRACK ¶

    SM_CYMINTRACK :: 35

    SM_CYSCREEN ¶

    SM_CYSCREEN :: 1

    SM_CYSIZE ¶

    SM_CYSIZE :: 31

    SM_CYSIZEFRAME ¶

    SM_CYSIZEFRAME :: SM_CYFRAME
     

    ;win40 name change

    SM_CYSMCAPTION ¶

    SM_CYSMCAPTION :: 51

    SM_CYSMICON ¶

    SM_CYSMICON :: 50

    SM_CYSMSIZE ¶

    SM_CYSMSIZE :: 53

    SM_CYVIRTUALSCREEN ¶

    SM_CYVIRTUALSCREEN :: 79

    SM_CYVSCROLL ¶

    SM_CYVSCROLL :: 20

    SM_CYVTHUMB ¶

    SM_CYVTHUMB :: 9

    SM_DBCSENABLED ¶

    SM_DBCSENABLED :: 42

    SM_DEBUG ¶

    SM_DEBUG :: 22

    SM_DIGITIZER ¶

    SM_DIGITIZER :: 94

    SM_GETCURFOCUSA ¶

    SM_GETCURFOCUSA :: 0x07eb

    SM_GETCURFOCUSW ¶

    SM_GETCURFOCUSW :: 0x07ec

    SM_GETOPTIONS ¶

    SM_GETOPTIONS :: 0x07ed

    SM_GETSELCOUNT ¶

    SM_GETSELCOUNT :: 0x07e8

    SM_GETSERVERSELA ¶

    SM_GETSERVERSELA :: 0x07e9

    SM_GETSERVERSELW ¶

    SM_GETSERVERSELW :: 0x07ea

    SM_IMMENABLED ¶

    SM_IMMENABLED :: 82

    SM_MAXIMUMTOUCHES ¶

    SM_MAXIMUMTOUCHES :: 95

    SM_MEDIACENTER ¶

    SM_MEDIACENTER :: 87

    SM_MENUDROPALIGNMENT ¶

    SM_MENUDROPALIGNMENT :: 40

    SM_MIDEASTENABLED ¶

    SM_MIDEASTENABLED :: 74

    SM_MOUSEHORIZONTALWHEELPRESENT ¶

    SM_MOUSEHORIZONTALWHEELPRESENT :: 91

    SM_MOUSEPRESENT ¶

    SM_MOUSEPRESENT :: 19

    SM_MOUSEWHEELPRESENT ¶

    SM_MOUSEWHEELPRESENT :: 75

    SM_NETWORK ¶

    SM_NETWORK :: 63

    SM_PENWINDOWS ¶

    SM_PENWINDOWS :: 41

    SM_REMOTECONTROL ¶

    SM_REMOTECONTROL :: 0x2001

    SM_REMOTESESSION ¶

    SM_REMOTESESSION :: 0x1000

    SM_RESERVED1 ¶

    SM_RESERVED1 :: 24

    SM_RESERVED2 ¶

    SM_RESERVED2 :: 25

    SM_RESERVED3 ¶

    SM_RESERVED3 :: 26

    SM_RESERVED4 ¶

    SM_RESERVED4 :: 27

    SM_SAMEDISPLAYFORMAT ¶

    SM_SAMEDISPLAYFORMAT :: 81

    SM_SECURE ¶

    SM_SECURE :: 44

    SM_SERVERR2 ¶

    SM_SERVERR2 :: 89

    SM_SHOWSOUNDS ¶

    SM_SHOWSOUNDS :: 70

    SM_SHUTTINGDOWN ¶

    SM_SHUTTINGDOWN :: 0x2000

    SM_SLOWMACHINE ¶

    SM_SLOWMACHINE :: 73

    SM_STARTER ¶

    SM_STARTER :: 88

    SM_SWAPBUTTON ¶

    SM_SWAPBUTTON :: 23

    SM_SYSTEMDOCKED ¶

    SM_SYSTEMDOCKED :: 0x2004

    SM_TABLETPC ¶

    SM_TABLETPC :: 86

    SM_XVIRTUALSCREEN ¶

    SM_XVIRTUALSCREEN :: 76

    SM_YVIRTUALSCREEN ¶

    SM_YVIRTUALSCREEN :: 77

    SND_ALIAS ¶

    SND_ALIAS :: 0x00010000
     

    name is a registry alias

    SND_ALIAS_ID ¶

    SND_ALIAS_ID :: 0x00110000
     

    alias is a predefined ID

    SND_APPLICATION ¶

    SND_APPLICATION :: 0x0080
     

    look for application specific association

    SND_ASYNC ¶

    SND_ASYNC :: 0x0001
     

    play asynchronously

    SND_FILENAME ¶

    SND_FILENAME :: 0x00020000
     

    name is file name

    SND_LOOP ¶

    SND_LOOP :: 0x0008
     

    loop the sound until next sndPlaySound

    SND_MEMORY ¶

    SND_MEMORY :: 0x0004
     

    pszSound points to a memory file

    SND_NODEFAULT ¶

    SND_NODEFAULT :: 0x0002
     

    silence (!default) if sound not found

    SND_NOSTOP ¶

    SND_NOSTOP :: 0x0010
     

    don't stop any currently playing sound

    SND_NOWAIT ¶

    SND_NOWAIT :: 0x00002000
     

    don't wait if the driver is busy

    SND_PURGE ¶

    SND_PURGE :: 0x0040
     

    purge non-static events for task

    SND_RESOURCE ¶

    SND_RESOURCE :: 0x00040004
     

    name is resource name or atom

    SND_RING ¶

    SND_RING :: 0x00100000
     

    Treat this as a "ring" from a communications app - don't duck me

    SND_SENTRY ¶

    SND_SENTRY :: 0x00080000
     

    Generate a SoundSentry event with this sound

    SND_SYNC ¶

    SND_SYNC :: 0x0000
     

    flag values for PlaySound

    SND_SYSTEM ¶

    SND_SYSTEM :: 0x00200000
     

    Treat this as a system sound

    SOCKET_ERROR ¶

    SOCKET_ERROR :: -1
     

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

    SOCK_DGRAM ¶

    SOCK_DGRAM: i32 : 2
     

    UDP

    SOCK_RAW ¶

    SOCK_RAW: i32 : 3
     

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

    SOCK_RDM ¶

    SOCK_RDM: i32 : 4
     

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

    SOCK_SEQPACKET ¶

    SOCK_SEQPACKET: i32 : 5
     

    Provides psuedo-stream packet based on DGRAMs.

    SOCK_STREAM ¶

    SOCK_STREAM: i32 : 1
     

    Socket types

    SOL_SOCKET ¶

    SOL_SOCKET: i32 : 0xffff
     

    Socket 'levels'

    SOMAXCONN ¶

    SOMAXCONN :: 128
     

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

    SO_ACCEPTCONN ¶

    SO_ACCEPTCONN: i32 : 0x0002
     

    Options for any sockets

    SO_BROADCAST ¶

    SO_BROADCAST: i32 : 0x0020

    SO_CONDITIONAL_ACCEPT ¶

    SO_CONDITIONAL_ACCEPT: i32 : 0x3002

    SO_DONTLINGER ¶

    SO_DONTLINGER: i32 : ~SO_LINGER

    SO_ERROR ¶

    SO_ERROR: i32 : 0x1007

    SO_EXCLUSIVEADDRUSE ¶

    SO_EXCLUSIVEADDRUSE: i32 : ~SO_REUSEADDR

    SO_KEEPALIVE ¶

    SO_KEEPALIVE: i32 : 0x0008

    SO_LINGER ¶

    SO_LINGER: i32 : 0x0080

    SO_OOBINLINE ¶

    SO_OOBINLINE: i32 : 0x0100

    SO_RCVBUF ¶

    SO_RCVBUF: i32 : 0x1002

    SO_RCVTIMEO ¶

    SO_RCVTIMEO: i32 : 0x1006

    SO_REUSEADDR ¶

    SO_REUSEADDR: i32 : 0x0004

    SO_SNDBUF ¶

    SO_SNDBUF: i32 : 0x1001

    SO_SNDTIMEO ¶

    SO_SNDTIMEO: i32 : 0x1005

    SO_UPDATE_ACCEPT_CONTEXT ¶

    SO_UPDATE_ACCEPT_CONTEXT :: 28683

    SPECIFIC_RIGHTS_ALL ¶

    SPECIFIC_RIGHTS_ALL: u32 : 0x0000FFFF

    SPIF_SENDCHANGE ¶

    SPIF_SENDCHANGE :: SPIF_SENDWININICHANGE

    SPIF_SENDWININICHANGE ¶

    SPIF_SENDWININICHANGE :: 0x0002

    SPIF_UPDATEINIFILE ¶

    SPIF_UPDATEINIFILE :: 0x0001
     

    Flags

    SPI_GETACCESSTIMEOUT ¶

    SPI_GETACCESSTIMEOUT :: 0x003C

    SPI_GETACTIVEWINDOWTRACKING ¶

    SPI_GETACTIVEWINDOWTRACKING :: 0x1000

    SPI_GETACTIVEWNDTRKTIMEOUT ¶

    SPI_GETACTIVEWNDTRKTIMEOUT :: 0x2002

    SPI_GETACTIVEWNDTRKZORDER ¶

    SPI_GETACTIVEWNDTRKZORDER :: 0x100C

    SPI_GETANIMATION ¶

    SPI_GETANIMATION :: 0x0048

    SPI_GETAUDIODESCRIPTION ¶

    SPI_GETAUDIODESCRIPTION :: 0x0074

    SPI_GETBEEP ¶

    SPI_GETBEEP :: 0x0001
     

    Parameter for SystemParametersInfo.

    SPI_GETBLOCKSENDINPUTRESETS ¶

    SPI_GETBLOCKSENDINPUTRESETS :: 0x1026

    SPI_GETBORDER ¶

    SPI_GETBORDER :: 0x0005

    SPI_GETCARETBROWSING ¶

    SPI_GETCARETBROWSING :: 0x104C

    SPI_GETCARETWIDTH ¶

    SPI_GETCARETWIDTH :: 0x2006

    SPI_GETCLEARTYPE ¶

    SPI_GETCLEARTYPE :: 0x1048

    SPI_GETCLIENTAREAANIMATION ¶

    SPI_GETCLIENTAREAANIMATION :: 0x1042

    SPI_GETCOMBOBOXANIMATION ¶

    SPI_GETCOMBOBOXANIMATION :: 0x1004

    SPI_GETCONTACTVISUALIZATION ¶

    SPI_GETCONTACTVISUALIZATION :: 0x2018

    SPI_GETCURSORSHADOW ¶

    SPI_GETCURSORSHADOW :: 0x101A

    SPI_GETDEFAULTINPUTLANG ¶

    SPI_GETDEFAULTINPUTLANG :: 0x0059

    SPI_GETDESKWALLPAPER ¶

    SPI_GETDESKWALLPAPER :: 0x0073

    SPI_GETDISABLEOVERLAPPEDCONTENT ¶

    SPI_GETDISABLEOVERLAPPEDCONTENT :: 0x1040

    SPI_GETDOCKMOVING ¶

    SPI_GETDOCKMOVING :: 0x0090

    SPI_GETDRAGFROMMAXIMIZE ¶

    SPI_GETDRAGFROMMAXIMIZE :: 0x008C

    SPI_GETDRAGFULLWINDOWS ¶

    SPI_GETDRAGFULLWINDOWS :: 0x0026

    SPI_GETDROPSHADOW ¶

    SPI_GETDROPSHADOW :: 0x1024

    SPI_GETFASTTASKSWITCH ¶

    SPI_GETFASTTASKSWITCH :: 0x0023

    SPI_GETFILTERKEYS ¶

    SPI_GETFILTERKEYS :: 0x0032

    SPI_GETFLATMENU ¶

    SPI_GETFLATMENU :: 0x1022

    SPI_GETFOCUSBORDERHEIGHT ¶

    SPI_GETFOCUSBORDERHEIGHT :: 0x2010

    SPI_GETFOCUSBORDERWIDTH ¶

    SPI_GETFOCUSBORDERWIDTH :: 0x200E

    SPI_GETFONTSMOOTHING ¶

    SPI_GETFONTSMOOTHING :: 0x004A

    SPI_GETFONTSMOOTHINGCONTRAST ¶

    SPI_GETFONTSMOOTHINGCONTRAST :: 0x200C

    SPI_GETFONTSMOOTHINGORIENTATION ¶

    SPI_GETFONTSMOOTHINGORIENTATION :: 0x2012

    SPI_GETFONTSMOOTHINGTYPE ¶

    SPI_GETFONTSMOOTHINGTYPE :: 0x200A

    SPI_GETFOREGROUNDFLASHCOUNT ¶

    SPI_GETFOREGROUNDFLASHCOUNT :: 0x2004

    SPI_GETFOREGROUNDLOCKTIMEOUT ¶

    SPI_GETFOREGROUNDLOCKTIMEOUT :: 0x2000

    SPI_GETGESTUREVISUALIZATION ¶

    SPI_GETGESTUREVISUALIZATION :: 0x201A

    SPI_GETGRADIENTCAPTIONS ¶

    SPI_GETGRADIENTCAPTIONS :: 0x1008

    SPI_GETGRIDGRANULARITY ¶

    SPI_GETGRIDGRANULARITY :: 0x0012

    SPI_GETHIGHCONTRAST ¶

    SPI_GETHIGHCONTRAST :: 0x0042

    SPI_GETHOTTRACKING ¶

    SPI_GETHOTTRACKING :: 0x100E

    SPI_GETHUNGAPPTIMEOUT ¶

    SPI_GETHUNGAPPTIMEOUT :: 0x0078

    SPI_GETICONMETRICS ¶

    SPI_GETICONMETRICS :: 0x002D

    SPI_GETICONTITLELOGFONT ¶

    SPI_GETICONTITLELOGFONT :: 0x001F

    SPI_GETICONTITLEWRAP ¶

    SPI_GETICONTITLEWRAP :: 0x0019

    SPI_GETKEYBOARDCUES ¶

    SPI_GETKEYBOARDCUES :: 0x100A

    SPI_GETKEYBOARDDELAY ¶

    SPI_GETKEYBOARDDELAY :: 0x0016

    SPI_GETKEYBOARDPREF ¶

    SPI_GETKEYBOARDPREF :: 0x0044

    SPI_GETKEYBOARDSPEED ¶

    SPI_GETKEYBOARDSPEED :: 0x000A

    SPI_GETLISTBOXSMOOTHSCROLLING ¶

    SPI_GETLISTBOXSMOOTHSCROLLING :: 0x1006

    SPI_GETLOWPOWERACTIVE ¶

    SPI_GETLOWPOWERACTIVE :: 0x0053

    SPI_GETLOWPOWERTIMEOUT ¶

    SPI_GETLOWPOWERTIMEOUT :: 0x004F

    SPI_GETMENUANIMATION ¶

    SPI_GETMENUANIMATION :: 0x1002

    SPI_GETMENUDROPALIGNMENT ¶

    SPI_GETMENUDROPALIGNMENT :: 0x001B

    SPI_GETMENUFADE ¶

    SPI_GETMENUFADE :: 0x1012

    SPI_GETMENUSHOWDELAY ¶

    SPI_GETMENUSHOWDELAY :: 0x006A

    SPI_GETMENUUNDERLINES ¶

    SPI_GETMENUUNDERLINES :: SPI_GETKEYBOARDCUES

    SPI_GETMESSAGEDURATION ¶

    SPI_GETMESSAGEDURATION :: 0x2016

    SPI_GETMINIMIZEDMETRICS ¶

    SPI_GETMINIMIZEDMETRICS :: 0x002B

    SPI_GETMINIMUMHITRADIUS ¶

    SPI_GETMINIMUMHITRADIUS :: 0x2014

    SPI_GETMOUSE ¶

    SPI_GETMOUSE :: 0x0003

    SPI_GETMOUSECLICKLOCK ¶

    SPI_GETMOUSECLICKLOCK :: 0x101E

    SPI_GETMOUSECLICKLOCKTIME ¶

    SPI_GETMOUSECLICKLOCKTIME :: 0x2008

    SPI_GETMOUSEDOCKTHRESHOLD ¶

    SPI_GETMOUSEDOCKTHRESHOLD :: 0x007E

    SPI_GETMOUSEDRAGOUTTHRESHOLD ¶

    SPI_GETMOUSEDRAGOUTTHRESHOLD :: 0x0084

    SPI_GETMOUSEHOVERHEIGHT ¶

    SPI_GETMOUSEHOVERHEIGHT :: 0x0064

    SPI_GETMOUSEHOVERTIME ¶

    SPI_GETMOUSEHOVERTIME :: 0x0066

    SPI_GETMOUSEHOVERWIDTH ¶

    SPI_GETMOUSEHOVERWIDTH :: 0x0062

    SPI_GETMOUSEKEYS ¶

    SPI_GETMOUSEKEYS :: 0x0036

    SPI_GETMOUSESIDEMOVETHRESHOLD ¶

    SPI_GETMOUSESIDEMOVETHRESHOLD :: 0x0088

    SPI_GETMOUSESONAR ¶

    SPI_GETMOUSESONAR :: 0x101C

    SPI_GETMOUSESPEED ¶

    SPI_GETMOUSESPEED :: 0x0070

    SPI_GETMOUSETRAILS ¶

    SPI_GETMOUSETRAILS :: 0x005E

    SPI_GETMOUSEVANISH ¶

    SPI_GETMOUSEVANISH :: 0x1020

    SPI_GETMOUSEWHEELROUTING ¶

    SPI_GETMOUSEWHEELROUTING :: 0x201C

    SPI_GETNONCLIENTMETRICS ¶

    SPI_GETNONCLIENTMETRICS :: 0x0029

    SPI_GETPENDOCKTHRESHOLD ¶

    SPI_GETPENDOCKTHRESHOLD :: 0x0080

    SPI_GETPENDRAGOUTTHRESHOLD ¶

    SPI_GETPENDRAGOUTTHRESHOLD :: 0x0086

    SPI_GETPENSIDEMOVETHRESHOLD ¶

    SPI_GETPENSIDEMOVETHRESHOLD :: 0x008A

    SPI_GETPOWEROFFACTIVE ¶

    SPI_GETPOWEROFFACTIVE :: 0x0054

    SPI_GETPOWEROFFTIMEOUT ¶

    SPI_GETPOWEROFFTIMEOUT :: 0x0050

    SPI_GETSCREENREADER ¶

    SPI_GETSCREENREADER :: 0x0046

    SPI_GETSCREENSAVEACTIVE ¶

    SPI_GETSCREENSAVEACTIVE :: 0x0010

    SPI_GETSCREENSAVERRUNNING ¶

    SPI_GETSCREENSAVERRUNNING :: 0x0072

    SPI_GETSCREENSAVESECURE ¶

    SPI_GETSCREENSAVESECURE :: 0x0076

    SPI_GETSCREENSAVETIMEOUT ¶

    SPI_GETSCREENSAVETIMEOUT :: 0x000E

    SPI_GETSELECTIONFADE ¶

    SPI_GETSELECTIONFADE :: 0x1014

    SPI_GETSERIALKEYS ¶

    SPI_GETSERIALKEYS :: 0x003E

    SPI_GETSHOWIMEUI ¶

    SPI_GETSHOWIMEUI :: 0x006E

    SPI_GETSHOWSOUNDS ¶

    SPI_GETSHOWSOUNDS :: 0x0038

    SPI_GETSNAPSIZING ¶

    SPI_GETSNAPSIZING :: 0x008E

    SPI_GETSNAPTODEFBUTTON ¶

    SPI_GETSNAPTODEFBUTTON :: 0x005F

    SPI_GETSOUNDSENTRY ¶

    SPI_GETSOUNDSENTRY :: 0x0040

    SPI_GETSPEECHRECOGNITION ¶

    SPI_GETSPEECHRECOGNITION :: 0x104A

    SPI_GETSTICKYKEYS ¶

    SPI_GETSTICKYKEYS :: 0x003A

    SPI_GETSYSTEMLANGUAGEBAR ¶

    SPI_GETSYSTEMLANGUAGEBAR :: 0x1050

    SPI_GETTHREADLOCALINPUTSETTINGS ¶

    SPI_GETTHREADLOCALINPUTSETTINGS :: 0x104E

    SPI_GETTOGGLEKEYS ¶

    SPI_GETTOGGLEKEYS :: 0x0034

    SPI_GETTOOLTIPANIMATION ¶

    SPI_GETTOOLTIPANIMATION :: 0x1016

    SPI_GETTOOLTIPFADE ¶

    SPI_GETTOOLTIPFADE :: 0x1018

    SPI_GETUIEFFECTS ¶

    SPI_GETUIEFFECTS :: 0x103E

    SPI_GETWAITTOKILLSERVICETIMEOUT ¶

    SPI_GETWAITTOKILLSERVICETIMEOUT :: 0x007C

    SPI_GETWAITTOKILLTIMEOUT ¶

    SPI_GETWAITTOKILLTIMEOUT :: 0x007A

    SPI_GETWHEELSCROLLCHARS ¶

    SPI_GETWHEELSCROLLCHARS :: 0x006C

    SPI_GETWHEELSCROLLLINES ¶

    SPI_GETWHEELSCROLLLINES :: 0x0068

    SPI_GETWINARRANGING ¶

    SPI_GETWINARRANGING :: 0x0082

    SPI_GETWINDOWSEXTENSION ¶

    SPI_GETWINDOWSEXTENSION :: 0x005C

    SPI_GETWORKAREA ¶

    SPI_GETWORKAREA :: 0x0030

    SPI_ICONHORIZONTALSPACING ¶

    SPI_ICONHORIZONTALSPACING :: 0x000D

    SPI_ICONVERTICALSPACING ¶

    SPI_ICONVERTICALSPACING :: 0x0018

    SPI_LANGDRIVER ¶

    SPI_LANGDRIVER :: 0x000C

    SPI_SCREENSAVERRUNNING ¶

    SPI_SCREENSAVERRUNNING :: SPI_SETSCREENSAVERRUNNING

    SPI_SETACCESSTIMEOUT ¶

    SPI_SETACCESSTIMEOUT :: 0x003D

    SPI_SETACTIVEWINDOWTRACKING ¶

    SPI_SETACTIVEWINDOWTRACKING :: 0x1001

    SPI_SETACTIVEWNDTRKTIMEOUT ¶

    SPI_SETACTIVEWNDTRKTIMEOUT :: 0x2003

    SPI_SETACTIVEWNDTRKZORDER ¶

    SPI_SETACTIVEWNDTRKZORDER :: 0x100D

    SPI_SETANIMATION ¶

    SPI_SETANIMATION :: 0x0049

    SPI_SETAUDIODESCRIPTION ¶

    SPI_SETAUDIODESCRIPTION :: 0x0075

    SPI_SETBEEP ¶

    SPI_SETBEEP :: 0x0002

    SPI_SETBLOCKSENDINPUTRESETS ¶

    SPI_SETBLOCKSENDINPUTRESETS :: 0x1027

    SPI_SETBORDER ¶

    SPI_SETBORDER :: 0x0006

    SPI_SETCARETBROWSING ¶

    SPI_SETCARETBROWSING :: 0x104D

    SPI_SETCARETWIDTH ¶

    SPI_SETCARETWIDTH :: 0x2007

    SPI_SETCLEARTYPE ¶

    SPI_SETCLEARTYPE :: 0x1049

    SPI_SETCLIENTAREAANIMATION ¶

    SPI_SETCLIENTAREAANIMATION :: 0x1043

    SPI_SETCOMBOBOXANIMATION ¶

    SPI_SETCOMBOBOXANIMATION :: 0x1005

    SPI_SETCONTACTVISUALIZATION ¶

    SPI_SETCONTACTVISUALIZATION :: 0x2019

    SPI_SETCURSORS ¶

    SPI_SETCURSORS :: 0x0057

    SPI_SETCURSORSHADOW ¶

    SPI_SETCURSORSHADOW :: 0x101B

    SPI_SETDEFAULTINPUTLANG ¶

    SPI_SETDEFAULTINPUTLANG :: 0x005A

    SPI_SETDESKPATTERN ¶

    SPI_SETDESKPATTERN :: 0x0015

    SPI_SETDESKWALLPAPER ¶

    SPI_SETDESKWALLPAPER :: 0x0014

    SPI_SETDISABLEOVERLAPPEDCONTENT ¶

    SPI_SETDISABLEOVERLAPPEDCONTENT :: 0x1041

    SPI_SETDOCKMOVING ¶

    SPI_SETDOCKMOVING :: 0x0091

    SPI_SETDOUBLECLICKTIME ¶

    SPI_SETDOUBLECLICKTIME :: 0x0020

    SPI_SETDOUBLECLKHEIGHT ¶

    SPI_SETDOUBLECLKHEIGHT :: 0x001E

    SPI_SETDOUBLECLKWIDTH ¶

    SPI_SETDOUBLECLKWIDTH :: 0x001D

    SPI_SETDRAGFROMMAXIMIZE ¶

    SPI_SETDRAGFROMMAXIMIZE :: 0x008D

    SPI_SETDRAGFULLWINDOWS ¶

    SPI_SETDRAGFULLWINDOWS :: 0x0025

    SPI_SETDRAGHEIGHT ¶

    SPI_SETDRAGHEIGHT :: 0x004D

    SPI_SETDRAGWIDTH ¶

    SPI_SETDRAGWIDTH :: 0x004C

    SPI_SETDROPSHADOW ¶

    SPI_SETDROPSHADOW :: 0x1025

    SPI_SETFASTTASKSWITCH ¶

    SPI_SETFASTTASKSWITCH :: 0x0024

    SPI_SETFILTERKEYS ¶

    SPI_SETFILTERKEYS :: 0x0033

    SPI_SETFLATMENU ¶

    SPI_SETFLATMENU :: 0x1023

    SPI_SETFOCUSBORDERHEIGHT ¶

    SPI_SETFOCUSBORDERHEIGHT :: 0x2011

    SPI_SETFOCUSBORDERWIDTH ¶

    SPI_SETFOCUSBORDERWIDTH :: 0x200F

    SPI_SETFONTSMOOTHING ¶

    SPI_SETFONTSMOOTHING :: 0x004B

    SPI_SETFONTSMOOTHINGCONTRAST ¶

    SPI_SETFONTSMOOTHINGCONTRAST :: 0x200D

    SPI_SETFONTSMOOTHINGORIENTATION ¶

    SPI_SETFONTSMOOTHINGORIENTATION :: 0x2013

    SPI_SETFONTSMOOTHINGTYPE ¶

    SPI_SETFONTSMOOTHINGTYPE :: 0x200B

    SPI_SETFOREGROUNDFLASHCOUNT ¶

    SPI_SETFOREGROUNDFLASHCOUNT :: 0x2005

    SPI_SETFOREGROUNDLOCKTIMEOUT ¶

    SPI_SETFOREGROUNDLOCKTIMEOUT :: 0x2001

    SPI_SETGESTUREVISUALIZATION ¶

    SPI_SETGESTUREVISUALIZATION :: 0x201B

    SPI_SETGRADIENTCAPTIONS ¶

    SPI_SETGRADIENTCAPTIONS :: 0x1009

    SPI_SETGRIDGRANULARITY ¶

    SPI_SETGRIDGRANULARITY :: 0x0013

    SPI_SETHANDHELD ¶

    SPI_SETHANDHELD :: 0x004E

    SPI_SETHIGHCONTRAST ¶

    SPI_SETHIGHCONTRAST :: 0x0043

    SPI_SETHOTTRACKING ¶

    SPI_SETHOTTRACKING :: 0x100F

    SPI_SETHUNGAPPTIMEOUT ¶

    SPI_SETHUNGAPPTIMEOUT :: 0x0079

    SPI_SETICONMETRICS ¶

    SPI_SETICONMETRICS :: 0x002E

    SPI_SETICONS ¶

    SPI_SETICONS :: 0x0058

    SPI_SETICONTITLELOGFONT ¶

    SPI_SETICONTITLELOGFONT :: 0x0022

    SPI_SETICONTITLEWRAP ¶

    SPI_SETICONTITLEWRAP :: 0x001A

    SPI_SETKEYBOARDCUES ¶

    SPI_SETKEYBOARDCUES :: 0x100B

    SPI_SETKEYBOARDDELAY ¶

    SPI_SETKEYBOARDDELAY :: 0x0017

    SPI_SETKEYBOARDPREF ¶

    SPI_SETKEYBOARDPREF :: 0x0045

    SPI_SETKEYBOARDSPEED ¶

    SPI_SETKEYBOARDSPEED :: 0x000B

    SPI_SETLANGTOGGLE ¶

    SPI_SETLANGTOGGLE :: 0x005B

    SPI_SETLISTBOXSMOOTHSCROLLING ¶

    SPI_SETLISTBOXSMOOTHSCROLLING :: 0x1007

    SPI_SETLOWPOWERACTIVE ¶

    SPI_SETLOWPOWERACTIVE :: 0x0055

    SPI_SETLOWPOWERTIMEOUT ¶

    SPI_SETLOWPOWERTIMEOUT :: 0x0051

    SPI_SETMENUANIMATION ¶

    SPI_SETMENUANIMATION :: 0x1003

    SPI_SETMENUDROPALIGNMENT ¶

    SPI_SETMENUDROPALIGNMENT :: 0x001C

    SPI_SETMENUFADE ¶

    SPI_SETMENUFADE :: 0x1013

    SPI_SETMENUSHOWDELAY ¶

    SPI_SETMENUSHOWDELAY :: 0x006B

    SPI_SETMENUUNDERLINES ¶

    SPI_SETMENUUNDERLINES :: SPI_SETKEYBOARDCUES

    SPI_SETMESSAGEDURATION ¶

    SPI_SETMESSAGEDURATION :: 0x2017

    SPI_SETMINIMIZEDMETRICS ¶

    SPI_SETMINIMIZEDMETRICS :: 0x002C

    SPI_SETMINIMUMHITRADIUS ¶

    SPI_SETMINIMUMHITRADIUS :: 0x2015

    SPI_SETMOUSE ¶

    SPI_SETMOUSE :: 0x0004

    SPI_SETMOUSEBUTTONSWAP ¶

    SPI_SETMOUSEBUTTONSWAP :: 0x0021

    SPI_SETMOUSECLICKLOCK ¶

    SPI_SETMOUSECLICKLOCK :: 0x101F

    SPI_SETMOUSECLICKLOCKTIME ¶

    SPI_SETMOUSECLICKLOCKTIME :: 0x2009

    SPI_SETMOUSEDOCKTHRESHOLD ¶

    SPI_SETMOUSEDOCKTHRESHOLD :: 0x007F

    SPI_SETMOUSEDRAGOUTTHRESHOLD ¶

    SPI_SETMOUSEDRAGOUTTHRESHOLD :: 0x0085

    SPI_SETMOUSEHOVERHEIGHT ¶

    SPI_SETMOUSEHOVERHEIGHT :: 0x0065

    SPI_SETMOUSEHOVERTIME ¶

    SPI_SETMOUSEHOVERTIME :: 0x0067

    SPI_SETMOUSEHOVERWIDTH ¶

    SPI_SETMOUSEHOVERWIDTH :: 0x0063

    SPI_SETMOUSEKEYS ¶

    SPI_SETMOUSEKEYS :: 0x0037

    SPI_SETMOUSESIDEMOVETHRESHOLD ¶

    SPI_SETMOUSESIDEMOVETHRESHOLD :: 0x0089

    SPI_SETMOUSESONAR ¶

    SPI_SETMOUSESONAR :: 0x101D

    SPI_SETMOUSESPEED ¶

    SPI_SETMOUSESPEED :: 0x0071

    SPI_SETMOUSETRAILS ¶

    SPI_SETMOUSETRAILS :: 0x005D

    SPI_SETMOUSEVANISH ¶

    SPI_SETMOUSEVANISH :: 0x1021

    SPI_SETMOUSEWHEELROUTING ¶

    SPI_SETMOUSEWHEELROUTING :: 0x201D

    SPI_SETNONCLIENTMETRICS ¶

    SPI_SETNONCLIENTMETRICS :: 0x002A

    SPI_SETPENDOCKTHRESHOLD ¶

    SPI_SETPENDOCKTHRESHOLD :: 0x0081

    SPI_SETPENDRAGOUTTHRESHOLD ¶

    SPI_SETPENDRAGOUTTHRESHOLD :: 0x0087

    SPI_SETPENSIDEMOVETHRESHOLD ¶

    SPI_SETPENSIDEMOVETHRESHOLD :: 0x008B

    SPI_SETPENWINDOWS ¶

    SPI_SETPENWINDOWS :: 0x0031

    SPI_SETPOWEROFFACTIVE ¶

    SPI_SETPOWEROFFACTIVE :: 0x0056

    SPI_SETPOWEROFFTIMEOUT ¶

    SPI_SETPOWEROFFTIMEOUT :: 0x0052

    SPI_SETSCREENREADER ¶

    SPI_SETSCREENREADER :: 0x0047

    SPI_SETSCREENSAVEACTIVE ¶

    SPI_SETSCREENSAVEACTIVE :: 0x0011

    SPI_SETSCREENSAVERRUNNING ¶

    SPI_SETSCREENSAVERRUNNING :: 0x0061

    SPI_SETSCREENSAVESECURE ¶

    SPI_SETSCREENSAVESECURE :: 0x0077

    SPI_SETSCREENSAVETIMEOUT ¶

    SPI_SETSCREENSAVETIMEOUT :: 0x000F

    SPI_SETSELECTIONFADE ¶

    SPI_SETSELECTIONFADE :: 0x1015

    SPI_SETSERIALKEYS ¶

    SPI_SETSERIALKEYS :: 0x003F

    SPI_SETSHOWIMEUI ¶

    SPI_SETSHOWIMEUI :: 0x006F

    SPI_SETSHOWSOUNDS ¶

    SPI_SETSHOWSOUNDS :: 0x0039

    SPI_SETSNAPSIZING ¶

    SPI_SETSNAPSIZING :: 0x008F

    SPI_SETSNAPTODEFBUTTON ¶

    SPI_SETSNAPTODEFBUTTON :: 0x0060

    SPI_SETSOUNDSENTRY ¶

    SPI_SETSOUNDSENTRY :: 0x0041

    SPI_SETSPEECHRECOGNITION ¶

    SPI_SETSPEECHRECOGNITION :: 0x104B

    SPI_SETSTICKYKEYS ¶

    SPI_SETSTICKYKEYS :: 0x003B

    SPI_SETSYSTEMLANGUAGEBAR ¶

    SPI_SETSYSTEMLANGUAGEBAR :: 0x1051

    SPI_SETTHREADLOCALINPUTSETTINGS ¶

    SPI_SETTHREADLOCALINPUTSETTINGS :: 0x104F

    SPI_SETTOGGLEKEYS ¶

    SPI_SETTOGGLEKEYS :: 0x0035

    SPI_SETTOOLTIPANIMATION ¶

    SPI_SETTOOLTIPANIMATION :: 0x1017

    SPI_SETTOOLTIPFADE ¶

    SPI_SETTOOLTIPFADE :: 0x1019

    SPI_SETUIEFFECTS ¶

    SPI_SETUIEFFECTS :: 0x103F

    SPI_SETWAITTOKILLSERVICETIMEOUT ¶

    SPI_SETWAITTOKILLSERVICETIMEOUT :: 0x007D

    SPI_SETWAITTOKILLTIMEOUT ¶

    SPI_SETWAITTOKILLTIMEOUT :: 0x007B

    SPI_SETWHEELSCROLLCHARS ¶

    SPI_SETWHEELSCROLLCHARS :: 0x006D

    SPI_SETWHEELSCROLLLINES ¶

    SPI_SETWHEELSCROLLLINES :: 0x0069

    SPI_SETWINARRANGING ¶

    SPI_SETWINARRANGING :: 0x0083

    SPI_SETWORKAREA ¶

    SPI_SETWORKAREA :: 0x002F

    SRCAND ¶

    SRCAND: u32 : 0x008800C6
     

    dest = source AND dest

    SRCCOPY ¶

    SRCCOPY: u32 : 0x00CC0020
     

    Ternary raster operations

    SRCERASE ¶

    SRCERASE: u32 : 0x00440328
     

    dest = source AND (NOT dest)

    SRCINVERT ¶

    SRCINVERT: u32 : 0x00660046
     

    dest = source XOR dest

    SRCPAINT ¶

    SRCPAINT: u32 : 0x00EE0086
     

    dest = source OR dest

    SRWLOCK_INIT ¶

    SRWLOCK_INIT :: SRWLOCK{}

    SS_BITMAP ¶

    SS_BITMAP :: 0x0000000E

    SS_BLACKFRAME ¶

    SS_BLACKFRAME :: 0x00000007

    SS_BLACKRECT ¶

    SS_BLACKRECT :: 0x00000004

    SS_CENTER ¶

    SS_CENTER :: 0x00000001

    SS_CENTERIMAGE ¶

    SS_CENTERIMAGE :: 0x00000200

    SS_EDITCONTROL ¶

    SS_EDITCONTROL :: 0x00002000

    SS_ELLIPSISMASK ¶

    SS_ELLIPSISMASK :: 0x0000C000

    SS_ENDELLIPSIS ¶

    SS_ENDELLIPSIS :: 0x00004000

    SS_ENHMETAFILE ¶

    SS_ENHMETAFILE :: 0x0000000F

    SS_ETCHEDFRAME ¶

    SS_ETCHEDFRAME :: 0x00000012

    SS_ETCHEDHORZ ¶

    SS_ETCHEDHORZ :: 0x00000010

    SS_ETCHEDVERT ¶

    SS_ETCHEDVERT :: 0x00000011

    SS_GRAYFRAME ¶

    SS_GRAYFRAME :: 0x00000008

    SS_GRAYRECT ¶

    SS_GRAYRECT :: 0x00000005

    SS_ICON ¶

    SS_ICON :: 0x00000003

    SS_LEFT ¶

    SS_LEFT :: 0x00000000
     

    Static Control Constants

    SS_LEFTNOWORDWRAP ¶

    SS_LEFTNOWORDWRAP :: 0x0000000C

    SS_NOPREFIX ¶

    SS_NOPREFIX :: 0x00000080

    SS_NOTIFY ¶

    SS_NOTIFY :: 0x00000100

    SS_OWNERDRAW ¶

    SS_OWNERDRAW :: 0x0000000D

    SS_PATHELLIPSIS ¶

    SS_PATHELLIPSIS :: 0x00008000

    SS_REALSIZECONTROL ¶

    SS_REALSIZECONTROL :: 0x00000040

    SS_REALSIZEIMAGE ¶

    SS_REALSIZEIMAGE :: 0x00000800

    SS_RIGHT ¶

    SS_RIGHT :: 0x00000002

    SS_RIGHTJUST ¶

    SS_RIGHTJUST :: 0x00000400

    SS_SIMPLE ¶

    SS_SIMPLE :: 0x0000000B

    SS_SUNKEN ¶

    SS_SUNKEN :: 0x00001000

    SS_TYPEMASK ¶

    SS_TYPEMASK :: 0x0000001F

    SS_USERITEM ¶

    SS_USERITEM :: 0x0000000A

    SS_WHITEFRAME ¶

    SS_WHITEFRAME :: 0x00000009

    SS_WHITERECT ¶

    SS_WHITERECT :: 0x00000006

    SS_WORDELLIPSIS ¶

    SS_WORDELLIPSIS :: 0x0000C000

    STACK_SIZE_PARAM_IS_A_RESERVATION ¶

    STACK_SIZE_PARAM_IS_A_RESERVATION: u32 : 0x00010000

    STANDARD_RIGHTS_ALL ¶

    STANDARD_RIGHTS_ALL: u32 : 0x001F0000

    STANDARD_RIGHTS_EXECUTE ¶

    STANDARD_RIGHTS_EXECUTE: u32 : READ_CONTROL

    STANDARD_RIGHTS_READ ¶

    STANDARD_RIGHTS_READ: u32 : READ_CONTROL

    STANDARD_RIGHTS_REQUIRED ¶

    STANDARD_RIGHTS_REQUIRED: u32 : 0x000F0000

    STANDARD_RIGHTS_WRITE ¶

    STANDARD_RIGHTS_WRITE: u32 : READ_CONTROL

    STARTF_USESTDHANDLES ¶

    STARTF_USESTDHANDLES: u32 : 0x00000100

    STATUS_PRIVILEGED_INSTRUCTION ¶

    STATUS_PRIVILEGED_INSTRUCTION :: 0xC0000096

    STD_ERROR_HANDLE ¶

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

    STD_INPUT_HANDLE ¶

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

    STD_OUTPUT_HANDLE ¶

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

    STOCK_LAST ¶

    STOCK_LAST :: 19

    SWP_ASYNCWINDOWPOS ¶

    SWP_ASYNCWINDOWPOS :: 0x4000
     

    same as SWP_CREATESPB

    SWP_DEFERERASE ¶

    SWP_DEFERERASE :: 0x2000
     

    same as SWP_DEFERDRAWING

    SWP_DRAWFRAME ¶

    SWP_DRAWFRAME :: SWP_FRAMECHANGED

    SWP_FRAMECHANGED ¶

    SWP_FRAMECHANGED :: 0x0020
     

    The frame changed: send WM_NCCALCSIZE

    SWP_HIDEWINDOW ¶

    SWP_HIDEWINDOW :: 0x0080

    SWP_NOACTIVATE ¶

    SWP_NOACTIVATE :: 0x0010

    SWP_NOCOPYBITS ¶

    SWP_NOCOPYBITS :: 0x0100

    SWP_NOMOVE ¶

    SWP_NOMOVE :: 0x0002

    SWP_NOOWNERZORDER ¶

    SWP_NOOWNERZORDER :: 0x0200
     

    Don't do owner Z ordering

    SWP_NOREDRAW ¶

    SWP_NOREDRAW :: 0x0008

    SWP_NOREPOSITION ¶

    SWP_NOREPOSITION :: SWP_NOOWNERZORDER

    SWP_NOSENDCHANGING ¶

    SWP_NOSENDCHANGING :: 0x0400
     

    Don't send WM_WINDOWPOSCHANGING

    SWP_NOSIZE ¶

    SWP_NOSIZE :: 0x0001
     

    SetWindowPos Flags

    SWP_NOZORDER ¶

    SWP_NOZORDER :: 0x0004

    SWP_SHOWWINDOW ¶

    SWP_SHOWWINDOW :: 0x0040

    SW_FORCEMINIMIZE ¶

    SW_FORCEMINIMIZE: i32 : 11

    SW_HIDE ¶

    SW_HIDE: i32 : 0

    SW_MAXIMIZE ¶

    SW_MAXIMIZE: i32 : 3

    SW_MINIMIZE ¶

    SW_MINIMIZE: i32 : 6

    SW_NORMAL ¶

    SW_NORMAL: i32 : 1

    SW_RESTORE ¶

    SW_RESTORE: i32 : 9

    SW_SHOW ¶

    SW_SHOW: i32 : 5

    SW_SHOWDEFAULT ¶

    SW_SHOWDEFAULT: i32 : 10

    SW_SHOWMAXIMIZED ¶

    SW_SHOWMAXIMIZED: i32 : SW_MAXIMIZE

    SW_SHOWMINIMIZED ¶

    SW_SHOWMINIMIZED: i32 : 2

    SW_SHOWMINNOACTIVE ¶

    SW_SHOWMINNOACTIVE: i32 : 7

    SW_SHOWNA ¶

    SW_SHOWNA: i32 : 8

    SW_SHOWNOACTIVATE ¶

    SW_SHOWNOACTIVATE: i32 : 4

    SW_SHOWNORMAL ¶

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

    SYNCHRONIZE ¶

    SYNCHRONIZE: u32 : 0x00100000

    SYSTEM_FIXED_FONT ¶

    SYSTEM_FIXED_FONT :: 16

    SYSTEM_FONT ¶

    SYSTEM_FONT :: 13

    TAPI_REPLY ¶

    TAPI_REPLY :: 0x0463

    TBM_CLEARSEL ¶

    TBM_CLEARSEL :: 0x0413

    TBM_CLEARTICS ¶

    TBM_CLEARTICS :: 0x0409

    TBM_GETBUDDY ¶

    TBM_GETBUDDY :: 0x0421

    TBM_GETCHANNELRECT ¶

    TBM_GETCHANNELRECT :: 0x041a

    TBM_GETLINESIZE ¶

    TBM_GETLINESIZE :: 0x0418

    TBM_GETNUMTICS ¶

    TBM_GETNUMTICS :: 0x0410

    TBM_GETPAGESIZE ¶

    TBM_GETPAGESIZE :: 0x0416

    TBM_GETPOS ¶

    TBM_GETPOS :: 0x0400

    TBM_GETPTICS ¶

    TBM_GETPTICS :: 0x040e

    TBM_GETRANGEMAX ¶

    TBM_GETRANGEMAX :: 0x0402

    TBM_GETRANGEMIN ¶

    TBM_GETRANGEMIN :: 0x0401

    TBM_GETSELEND ¶

    TBM_GETSELEND :: 0x0412

    TBM_GETSELSTART ¶

    TBM_GETSELSTART :: 0x0411

    TBM_GETTHUMBLENGTH ¶

    TBM_GETTHUMBLENGTH :: 0x041c

    TBM_GETTHUMBRECT ¶

    TBM_GETTHUMBRECT :: 0x0419

    TBM_GETTIC ¶

    TBM_GETTIC :: 0x0403

    TBM_GETTICPOS ¶

    TBM_GETTICPOS :: 0x040f

    TBM_GETTOOLTIPS ¶

    TBM_GETTOOLTIPS :: 0x041e

    TBM_SETBUDDY ¶

    TBM_SETBUDDY :: 0x0420

    TBM_SETLINESIZE ¶

    TBM_SETLINESIZE :: 0x0417

    TBM_SETPAGESIZE ¶

    TBM_SETPAGESIZE :: 0x0415

    TBM_SETPOS ¶

    TBM_SETPOS :: 0x0405

    TBM_SETRANGE ¶

    TBM_SETRANGE :: 0x0406

    TBM_SETRANGEMAX ¶

    TBM_SETRANGEMAX :: 0x0408

    TBM_SETRANGEMIN ¶

    TBM_SETRANGEMIN :: 0x0407

    TBM_SETSEL ¶

    TBM_SETSEL :: 0x040a

    TBM_SETSELEND ¶

    TBM_SETSELEND :: 0x040c

    TBM_SETSELSTART ¶

    TBM_SETSELSTART :: 0x040b

    TBM_SETTHUMBLENGTH ¶

    TBM_SETTHUMBLENGTH :: 0x041b

    TBM_SETTIC ¶

    TBM_SETTIC :: 0x0404

    TBM_SETTICFREQ ¶

    TBM_SETTICFREQ :: 0x0414

    TBM_SETTIPSIDE ¶

    TBM_SETTIPSIDE :: 0x041f

    TBM_SETTOOLTIPS ¶

    TBM_SETTOOLTIPS :: 0x041d

    TB_ADDBITMAP ¶

    TB_ADDBITMAP :: 0x0413

    TB_ADDBUTTONSA ¶

    TB_ADDBUTTONSA :: 0x0414

    TB_ADDBUTTONSW ¶

    TB_ADDBUTTONSW :: 0x0444

    TB_ADDSTRINGA ¶

    TB_ADDSTRINGA :: 0x041c

    TB_ADDSTRINGW ¶

    TB_ADDSTRINGW :: 0x044d

    TB_AUTOSIZE ¶

    TB_AUTOSIZE :: 0x0421

    TB_BUTTONCOUNT ¶

    TB_BUTTONCOUNT :: 0x0418

    TB_BUTTONSTRUCTSIZE ¶

    TB_BUTTONSTRUCTSIZE :: 0x041e

    TB_CHANGEBITMAP ¶

    TB_CHANGEBITMAP :: 0x042b

    TB_CHECKBUTTON ¶

    TB_CHECKBUTTON :: 0x0402

    TB_COMMANDTOINDEX ¶

    TB_COMMANDTOINDEX :: 0x0419

    TB_CUSTOMIZE ¶

    TB_CUSTOMIZE :: 0x041b

    TB_DELETEBUTTON ¶

    TB_DELETEBUTTON :: 0x0416

    TB_ENABLEBUTTON ¶

    TB_ENABLEBUTTON :: 0x0401

    TB_GETANCHORHIGHLIGHT ¶

    TB_GETANCHORHIGHLIGHT :: 0x044a

    TB_GETBITMAP ¶

    TB_GETBITMAP :: 0x042c

    TB_GETBITMAPFLAGS ¶

    TB_GETBITMAPFLAGS :: 0x0429

    TB_GETBUTTON ¶

    TB_GETBUTTON :: 0x0417

    TB_GETBUTTONINFOA ¶

    TB_GETBUTTONINFOA :: 0x0441

    TB_GETBUTTONINFOW ¶

    TB_GETBUTTONINFOW :: 0x043f

    TB_GETBUTTONSIZE ¶

    TB_GETBUTTONSIZE :: 0x043a

    TB_GETBUTTONTEXTA ¶

    TB_GETBUTTONTEXTA :: 0x042d

    TB_GETBUTTONTEXTW ¶

    TB_GETBUTTONTEXTW :: 0x044b

    TB_GETDISABLEDIMAGELIST ¶

    TB_GETDISABLEDIMAGELIST :: 0x0437

    TB_GETEXTENDEDSTYLE ¶

    TB_GETEXTENDEDSTYLE :: 0x0455

    TB_GETHOTIMAGELIST ¶

    TB_GETHOTIMAGELIST :: 0x0435

    TB_GETHOTITEM ¶

    TB_GETHOTITEM :: 0x0447

    TB_GETIMAGELIST ¶

    TB_GETIMAGELIST :: 0x0431

    TB_GETINSERTMARK ¶

    TB_GETINSERTMARK :: 0x044f

    TB_GETINSERTMARKCOLOR ¶

    TB_GETINSERTMARKCOLOR :: 0x0459

    TB_GETITEMRECT ¶

    TB_GETITEMRECT :: 0x041d

    TB_GETMAXSIZE ¶

    TB_GETMAXSIZE :: 0x0453

    TB_GETOBJECT ¶

    TB_GETOBJECT :: 0x043e

    TB_GETPADDING ¶

    TB_GETPADDING :: 0x0456

    TB_GETRECT ¶

    TB_GETRECT :: 0x0433

    TB_GETROWS ¶

    TB_GETROWS :: 0x0428

    TB_GETSTATE ¶

    TB_GETSTATE :: 0x0412

    TB_GETSTRINGA ¶

    TB_GETSTRINGA :: 0x045c

    TB_GETSTRINGW ¶

    TB_GETSTRINGW :: 0x045b

    TB_GETSTYLE ¶

    TB_GETSTYLE :: 0x0439

    TB_GETTEXTROWS ¶

    TB_GETTEXTROWS :: 0x043d

    TB_GETTOOLTIPS ¶

    TB_GETTOOLTIPS :: 0x0423

    TB_HIDEBUTTON ¶

    TB_HIDEBUTTON :: 0x0404

    TB_HITTEST ¶

    TB_HITTEST :: 0x0445

    TB_INDETERMINATE ¶

    TB_INDETERMINATE :: 0x0405

    TB_INSERTBUTTONA ¶

    TB_INSERTBUTTONA :: 0x0415

    TB_INSERTBUTTONW ¶

    TB_INSERTBUTTONW :: 0x0443

    TB_INSERTMARKHITTEST ¶

    TB_INSERTMARKHITTEST :: 0x0451

    TB_ISBUTTONCHECKED ¶

    TB_ISBUTTONCHECKED :: 0x040a

    TB_ISBUTTONENABLED ¶

    TB_ISBUTTONENABLED :: 0x0409

    TB_ISBUTTONHIDDEN ¶

    TB_ISBUTTONHIDDEN :: 0x040c

    TB_ISBUTTONHIGHLIGHTED ¶

    TB_ISBUTTONHIGHLIGHTED :: 0x040e

    TB_ISBUTTONINDETERMINATE ¶

    TB_ISBUTTONINDETERMINATE :: 0x040d

    TB_ISBUTTONPRESSED ¶

    TB_ISBUTTONPRESSED :: 0x040b

    TB_LOADIMAGES ¶

    TB_LOADIMAGES :: 0x0432

    TB_MAPACCELERATORA ¶

    TB_MAPACCELERATORA :: 0x044e

    TB_MAPACCELERATORW ¶

    TB_MAPACCELERATORW :: 0x045a

    TB_MARKBUTTON ¶

    TB_MARKBUTTON :: 0x0406

    TB_MOVEBUTTON ¶

    TB_MOVEBUTTON :: 0x0452

    TB_PRESSBUTTON ¶

    TB_PRESSBUTTON :: 0x0403

    TB_REPLACEBITMAP ¶

    TB_REPLACEBITMAP :: 0x042e

    TB_SAVERESTOREA ¶

    TB_SAVERESTOREA :: 0x041a

    TB_SAVERESTOREW ¶

    TB_SAVERESTOREW :: 0x044c

    TB_SETANCHORHIGHLIGHT ¶

    TB_SETANCHORHIGHLIGHT :: 0x0449

    TB_SETBITMAPSIZE ¶

    TB_SETBITMAPSIZE :: 0x0420

    TB_SETBUTTONINFOA ¶

    TB_SETBUTTONINFOA :: 0x0442

    TB_SETBUTTONINFOW ¶

    TB_SETBUTTONINFOW :: 0x0440

    TB_SETBUTTONSIZE ¶

    TB_SETBUTTONSIZE :: 0x041f

    TB_SETBUTTONWIDTH ¶

    TB_SETBUTTONWIDTH :: 0x043b

    TB_SETCMDID ¶

    TB_SETCMDID :: 0x042a

    TB_SETDISABLEDIMAGELIST ¶

    TB_SETDISABLEDIMAGELIST :: 0x0436

    TB_SETDRAWTEXTFLAGS ¶

    TB_SETDRAWTEXTFLAGS :: 0x0446

    TB_SETEXTENDEDSTYLE ¶

    TB_SETEXTENDEDSTYLE :: 0x0454

    TB_SETHOTIMAGELIST ¶

    TB_SETHOTIMAGELIST :: 0x0434

    TB_SETHOTITEM ¶

    TB_SETHOTITEM :: 0x0448

    TB_SETIMAGELIST ¶

    TB_SETIMAGELIST :: 0x0430

    TB_SETINDENT ¶

    TB_SETINDENT :: 0x042f

    TB_SETINSERTMARK ¶

    TB_SETINSERTMARK :: 0x0450

    TB_SETINSERTMARKCOLOR ¶

    TB_SETINSERTMARKCOLOR :: 0x0458

    TB_SETMAXTEXTROWS ¶

    TB_SETMAXTEXTROWS :: 0x043c

    TB_SETPADDING ¶

    TB_SETPADDING :: 0x0457

    TB_SETPARENT ¶

    TB_SETPARENT :: 0x0425

    TB_SETROWS ¶

    TB_SETROWS :: 0x0427

    TB_SETSTATE ¶

    TB_SETSTATE :: 0x0411

    TB_SETSTYLE ¶

    TB_SETSTYLE :: 0x0438

    TB_SETTOOLTIPS ¶

    TB_SETTOOLTIPS :: 0x0424

    TCP_NODELAY ¶

    TCP_NODELAY: i32 : 0x0001

    THREAD_BASE_PRIORITY_IDLE ¶

    THREAD_BASE_PRIORITY_IDLE :: -15
     

    value that gets a thread to idle

    THREAD_BASE_PRIORITY_LOWRT ¶

    THREAD_BASE_PRIORITY_LOWRT :: 15
     

    value that gets a thread to LowRealtime-1

    THREAD_BASE_PRIORITY_MAX ¶

    THREAD_BASE_PRIORITY_MAX :: 2
     

    maximum thread base priority boost

    THREAD_BASE_PRIORITY_MIN ¶

    THREAD_BASE_PRIORITY_MIN :: -2
     

    minimum thread base priority boost

    THREAD_MODE_BACKGROUND_BEGIN ¶

    THREAD_MODE_BACKGROUND_BEGIN :: 0x00010000

    THREAD_MODE_BACKGROUND_END ¶

    THREAD_MODE_BACKGROUND_END :: 0x00020000

    THREAD_PRIORITY_ABOVE_NORMAL ¶

    THREAD_PRIORITY_ABOVE_NORMAL :: THREAD_PRIORITY_HIGHEST - 1

    THREAD_PRIORITY_BELOW_NORMAL ¶

    THREAD_PRIORITY_BELOW_NORMAL :: THREAD_PRIORITY_LOWEST + 1

    THREAD_PRIORITY_ERROR_RETURN ¶

    THREAD_PRIORITY_ERROR_RETURN :: MAXLONG

    THREAD_PRIORITY_HIGHEST ¶

    THREAD_PRIORITY_HIGHEST :: THREAD_BASE_PRIORITY_MAX

    THREAD_PRIORITY_IDLE ¶

    THREAD_PRIORITY_IDLE :: THREAD_BASE_PRIORITY_IDLE

    THREAD_PRIORITY_LOWEST ¶

    THREAD_PRIORITY_LOWEST :: THREAD_BASE_PRIORITY_MIN

    THREAD_PRIORITY_NORMAL ¶

    THREAD_PRIORITY_NORMAL :: 0

    THREAD_PRIORITY_TIME_CRITICAL ¶

    THREAD_PRIORITY_TIME_CRITICAL :: THREAD_BASE_PRIORITY_LOWRT

    TIMERR_BASE ¶

    TIMERR_BASE :: 96

    TIMERR_NOCANDO ¶

    TIMERR_NOCANDO :: TIMERR_BASE + 1
     

    request not completed

    TIMERR_NOERROR ¶

    TIMERR_NOERROR :: 0
     

    timer error return values

    TIMERR_STRUCT ¶

    TIMERR_STRUCT :: TIMERR_BASE + 33
     

    time struct size

    TIMER_ALL_ACCESS ¶

    TIMER_ALL_ACCESS: u32 : STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUERY_STATE | TIMER_MODIFY_STATE

    TIMER_MODIFY_STATE ¶

    TIMER_MODIFY_STATE :: 0x0002

    TIMER_QUERY_STATE ¶

    TIMER_QUERY_STATE :: 0x0001

    TLS_OUT_OF_INDEXES ¶

    TLS_OUT_OF_INDEXES: u32 : 0xFFFFFFFF

    TME_CANCEL ¶

    TME_CANCEL :: 0x80000000

    TME_HOVER ¶

    TME_HOVER :: 0x00000001

    TME_LEAVE ¶

    TME_LEAVE :: 0x00000002

    TME_NONCLIENT ¶

    TME_NONCLIENT :: 0x00000010

    TME_QUERY ¶

    TME_QUERY :: 0x40000000

    TOKEN_ACCESS_PSEUDO_HANDLE ¶

    TOKEN_ACCESS_PSEUDO_HANDLE :: TOKEN_ACCESS_PSEUDO_HANDLE_WIN8

    TOKEN_ACCESS_PSEUDO_HANDLE_WIN8 ¶

    TOKEN_ACCESS_PSEUDO_HANDLE_WIN8 :: TOKEN_QUERY | TOKEN_QUERY_SOURCE

    TOKEN_ADJUST_DEFAULT ¶

    TOKEN_ADJUST_DEFAULT :: 0x0080

    TOKEN_ADJUST_GROUPS ¶

    TOKEN_ADJUST_GROUPS :: 0x0040

    TOKEN_ADJUST_PRIVILEGES ¶

    TOKEN_ADJUST_PRIVILEGES :: 0x0020

    TOKEN_ADJUST_SESSIONID ¶

    TOKEN_ADJUST_SESSIONID :: 0x0100

    TOKEN_ALL_ACCESS ¶

    TOKEN_ALL_ACCESS: u32 : TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID

    TOKEN_ALL_ACCESS_P ¶

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

    TOKEN_ASSIGN_PRIMARY ¶

    TOKEN_ASSIGN_PRIMARY :: 0x0001
     

    Token Specific Access Rights.

    TOKEN_DUPLICATE ¶

    TOKEN_DUPLICATE :: 0x0002

    TOKEN_EXECUTE ¶

    TOKEN_EXECUTE: u32 : STANDARD_RIGHTS_EXECUTE

    TOKEN_IMPERSONATE ¶

    TOKEN_IMPERSONATE :: 0x0004

    TOKEN_QUERY ¶

    TOKEN_QUERY :: 0x0008

    TOKEN_QUERY_SOURCE ¶

    TOKEN_QUERY_SOURCE :: 0x0010

    TOKEN_READ ¶

    TOKEN_READ: u32 : STANDARD_RIGHTS_READ | TOKEN_QUERY

    TOKEN_TRUST_CONSTRAINT_MASK ¶

    TOKEN_TRUST_CONSTRAINT_MASK: u32 : STANDARD_RIGHTS_READ | TOKEN_QUERY | TOKEN_QUERY_SOURCE

    TOKEN_WRITE ¶

    TOKEN_WRITE: u32 : STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT

    TPM_BOTTOMALIGN ¶

    TPM_BOTTOMALIGN :: 0x0020

    TPM_CENTERALIGN ¶

    TPM_CENTERALIGN :: 0x0004

    TPM_HORIZONTAL ¶

    TPM_HORIZONTAL :: 0x0000
     

    Horz alignment matters more

    TPM_HORNEGANIMATION ¶

    TPM_HORNEGANIMATION :: 0x0800

    TPM_HORPOSANIMATION ¶

    TPM_HORPOSANIMATION :: 0x0400

    TPM_LAYOUTRTL ¶

    TPM_LAYOUTRTL :: 0x8000

    TPM_LEFTALIGN ¶

    TPM_LEFTALIGN :: 0x0000

    TPM_LEFTBUTTON ¶

    TPM_LEFTBUTTON :: 0x0000
     

    Flags for TrackPopupMenu

    TPM_NOANIMATION ¶

    TPM_NOANIMATION :: 0x4000

    TPM_NONOTIFY ¶

    TPM_NONOTIFY :: 0x0080
     

    Don't send any notification msgs

    TPM_RECURSE ¶

    TPM_RECURSE :: 0x0001

    TPM_RETURNCMD ¶

    TPM_RETURNCMD :: 0x0100

    TPM_RIGHTALIGN ¶

    TPM_RIGHTALIGN :: 0x0008

    TPM_RIGHTBUTTON ¶

    TPM_RIGHTBUTTON :: 0x0002

    TPM_TOPALIGN ¶

    TPM_TOPALIGN :: 0x0000

    TPM_VCENTERALIGN ¶

    TPM_VCENTERALIGN :: 0x0010

    TPM_VERNEGANIMATION ¶

    TPM_VERNEGANIMATION :: 0x2000

    TPM_VERPOSANIMATION ¶

    TPM_VERPOSANIMATION :: 0x1000

    TPM_VERTICAL ¶

    TPM_VERTICAL :: 0x0040
     

    Vert alignment matters more

    TPM_WORKAREA ¶

    TPM_WORKAREA :: 0x10000

    TRUE ¶

    TRUE :: BOOL(true)

    TRUNCATE_EXISTING ¶

    TRUNCATE_EXISTING: u32 : 5

    TTM_ACTIVATE ¶

    TTM_ACTIVATE :: 0x0401

    TTM_ADDTOOLA ¶

    TTM_ADDTOOLA :: 0x0404

    TTM_ADDTOOLW ¶

    TTM_ADDTOOLW :: 0x0432

    TTM_ADJUSTRECT ¶

    TTM_ADJUSTRECT :: 0x041f

    TTM_DELTOOLA ¶

    TTM_DELTOOLA :: 0x0405

    TTM_DELTOOLW ¶

    TTM_DELTOOLW :: 0x0433

    TTM_ENUMTOOLSA ¶

    TTM_ENUMTOOLSA :: 0x040e

    TTM_ENUMTOOLSW ¶

    TTM_ENUMTOOLSW :: 0x043a

    TTM_GETBUBBLESIZE ¶

    TTM_GETBUBBLESIZE :: 0x041e

    TTM_GETCURRENTTOOLA ¶

    TTM_GETCURRENTTOOLA :: 0x040f

    TTM_GETCURRENTTOOLW ¶

    TTM_GETCURRENTTOOLW :: 0x043b

    TTM_GETDELAYTIME ¶

    TTM_GETDELAYTIME :: 0x0415

    TTM_GETMARGIN ¶

    TTM_GETMARGIN :: 0x041b

    TTM_GETMAXTIPWIDTH ¶

    TTM_GETMAXTIPWIDTH :: 0x0419

    TTM_GETTEXTA ¶

    TTM_GETTEXTA :: 0x040b

    TTM_GETTEXTW ¶

    TTM_GETTEXTW :: 0x0438

    TTM_GETTIPBKCOLOR ¶

    TTM_GETTIPBKCOLOR :: 0x0416

    TTM_GETTIPTEXTCOLOR ¶

    TTM_GETTIPTEXTCOLOR :: 0x0417

    TTM_GETTOOLCOUNT ¶

    TTM_GETTOOLCOUNT :: 0x040d

    TTM_GETTOOLINFOA ¶

    TTM_GETTOOLINFOA :: 0x0408

    TTM_GETTOOLINFOW ¶

    TTM_GETTOOLINFOW :: 0x0435

    TTM_HITTESTA ¶

    TTM_HITTESTA :: 0x040a

    TTM_HITTESTW ¶

    TTM_HITTESTW :: 0x0437

    TTM_NEWTOOLRECTA ¶

    TTM_NEWTOOLRECTA :: 0x0406

    TTM_NEWTOOLRECTW ¶

    TTM_NEWTOOLRECTW :: 0x0434

    TTM_POP ¶

    TTM_POP :: 0x041c

    TTM_RELAYEVENT ¶

    TTM_RELAYEVENT :: 0x0407

    TTM_SETDELAYTIME ¶

    TTM_SETDELAYTIME :: 0x0403

    TTM_SETMARGIN ¶

    TTM_SETMARGIN :: 0x041a

    TTM_SETMAXTIPWIDTH ¶

    TTM_SETMAXTIPWIDTH :: 0x0418

    TTM_SETTIPBKCOLOR ¶

    TTM_SETTIPBKCOLOR :: 0x0413

    TTM_SETTIPTEXTCOLOR ¶

    TTM_SETTIPTEXTCOLOR :: 0x0414

    TTM_SETTITLEA ¶

    TTM_SETTITLEA :: 0x0420

    TTM_SETTITLEW ¶

    TTM_SETTITLEW :: 0x0421

    TTM_SETTOOLINFOA ¶

    TTM_SETTOOLINFOA :: 0x0409

    TTM_SETTOOLINFOW ¶

    TTM_SETTOOLINFOW :: 0x0436

    TTM_TRACKACTIVATE ¶

    TTM_TRACKACTIVATE :: 0x0411

    TTM_TRACKPOSITION ¶

    TTM_TRACKPOSITION :: 0x0412

    TTM_UPDATE ¶

    TTM_UPDATE :: 0x041d

    TTM_UPDATETIPTEXTA ¶

    TTM_UPDATETIPTEXTA :: 0x040c

    TTM_UPDATETIPTEXTW ¶

    TTM_UPDATETIPTEXTW :: 0x0439

    TTM_WINDOWFROMPOINT ¶

    TTM_WINDOWFROMPOINT :: 0x0410

    UDM_GETACCEL ¶

    UDM_GETACCEL :: 0x046c

    UDM_GETBASE ¶

    UDM_GETBASE :: 0x046e

    UDM_GETBUDDY ¶

    UDM_GETBUDDY :: 0x046a

    UDM_GETPOS ¶

    UDM_GETPOS :: 0x0468

    UDM_GETPOS32 ¶

    UDM_GETPOS32 :: 0x0472

    UDM_GETRANGE ¶

    UDM_GETRANGE :: 0x0466

    UDM_GETRANGE32 ¶

    UDM_GETRANGE32 :: 0x0470

    UDM_SETACCEL ¶

    UDM_SETACCEL :: 0x046b

    UDM_SETBASE ¶

    UDM_SETBASE :: 0x046d

    UDM_SETBUDDY ¶

    UDM_SETBUDDY :: 0x0469

    UDM_SETPOS ¶

    UDM_SETPOS :: 0x0467

    UDM_SETPOS32 ¶

    UDM_SETPOS32 :: 0x0471

    UDM_SETRANGE ¶

    UDM_SETRANGE :: 0x0465

    UDM_SETRANGE32 ¶

    UDM_SETRANGE32 :: 0x046f

    UM_GETCURFOCUSA ¶

    UM_GETCURFOCUSA :: 0x07ed

    UM_GETCURFOCUSW ¶

    UM_GETCURFOCUSW :: 0x07ee

    UM_GETGROUPSELA ¶

    UM_GETGROUPSELA :: 0x07eb

    UM_GETGROUPSELW ¶

    UM_GETGROUPSELW :: 0x07ec

    UM_GETOPTIONS ¶

    UM_GETOPTIONS :: 0x07ef

    UM_GETOPTIONS2 ¶

    UM_GETOPTIONS2 :: 0x07f0

    UM_GETSELCOUNT ¶

    UM_GETSELCOUNT :: 0x07e8

    UM_GETUSERSELA ¶

    UM_GETUSERSELA :: 0x07e9

    UM_GETUSERSELW ¶

    UM_GETUSERSELW :: 0x07ea

    UNICODE_NOCHAR ¶

    UNICODE_NOCHAR :: 0xFFFF

    UNLEN ¶

    UNLEN :: 256
     

    Maximum user name length

    UNPROTECTED_DACL_SECURITY_INFORMATION ¶

    UNPROTECTED_DACL_SECURITY_INFORMATION :: 0x20000000

    UNPROTECTED_SACL_SECURITY_INFORMATION ¶

    UNPROTECTED_SACL_SECURITY_INFORMATION :: 0x10000000

    USER_DEFAULT_SCREEN_DPI ¶

    USER_DEFAULT_SCREEN_DPI :: 96

    USER_TIMER_MAXIMUM ¶

    USER_TIMER_MAXIMUM :: 0x7FFFFFFF

    USER_TIMER_MINIMUM ¶

    USER_TIMER_MINIMUM :: 0x0000000A

    VK_0 ¶

    VK_0 :: '0'

    VK_1 ¶

    VK_1 :: '1'

    VK_2 ¶

    VK_2 :: '2'

    VK_3 ¶

    VK_3 :: '3'

    VK_4 ¶

    VK_4 :: '4'

    VK_5 ¶

    VK_5 :: '5'

    VK_6 ¶

    VK_6 :: '6'

    VK_7 ¶

    VK_7 :: '7'

    VK_8 ¶

    VK_8 :: '8'

    VK_9 ¶

    VK_9 :: '9'

    VK_A ¶

    VK_A :: 'A'

    VK_ACCEPT ¶

    VK_ACCEPT :: 0x1E

    VK_ADD ¶

    VK_ADD :: 0x6B

    VK_APPS ¶

    VK_APPS :: 0x5D

    VK_ATTN ¶

    VK_ATTN :: 0xF6

    VK_B ¶

    VK_B :: 'B'

    VK_BACK ¶

    VK_BACK :: 0x08

    VK_BROWSER_BACK ¶

    VK_BROWSER_BACK :: 0xA6

    VK_BROWSER_FAVORITES ¶

    VK_BROWSER_FAVORITES :: 0xAB

    VK_BROWSER_FORWARD ¶

    VK_BROWSER_FORWARD :: 0xA7

    VK_BROWSER_HOME ¶

    VK_BROWSER_HOME :: 0xAC

    VK_BROWSER_REFRESH ¶

    VK_BROWSER_REFRESH :: 0xA8
    VK_BROWSER_SEARCH :: 0xAA

    VK_BROWSER_STOP ¶

    VK_BROWSER_STOP :: 0xA9

    VK_C ¶

    VK_C :: 'C'

    VK_CANCEL ¶

    VK_CANCEL :: 0x03

    VK_CAPITAL ¶

    VK_CAPITAL :: 0x14

    VK_CLEAR ¶

    VK_CLEAR :: 0x0C

    VK_CONTROL ¶

    VK_CONTROL :: 0x11

    VK_CONVERT ¶

    VK_CONVERT :: 0x1C

    VK_CRSEL ¶

    VK_CRSEL :: 0xF7

    VK_D ¶

    VK_D :: 'D'

    VK_DECIMAL ¶

    VK_DECIMAL :: 0x6E

    VK_DELETE ¶

    VK_DELETE :: 0x2E

    VK_DIVIDE ¶

    VK_DIVIDE :: 0x6F

    VK_DOWN ¶

    VK_DOWN :: 0x28

    VK_E ¶

    VK_E :: 'E'

    VK_END ¶

    VK_END :: 0x23

    VK_EREOF ¶

    VK_EREOF :: 0xF9

    VK_ESCAPE ¶

    VK_ESCAPE :: 0x1B

    VK_EXECUTE ¶

    VK_EXECUTE :: 0x2B

    VK_EXSEL ¶

    VK_EXSEL :: 0xF8

    VK_F ¶

    VK_F :: 'F'

    VK_F1 ¶

    VK_F1 :: 0x70

    VK_F10 ¶

    VK_F10 :: 0x79

    VK_F11 ¶

    VK_F11 :: 0x7A

    VK_F12 ¶

    VK_F12 :: 0x7B

    VK_F13 ¶

    VK_F13 :: 0x7C

    VK_F14 ¶

    VK_F14 :: 0x7D

    VK_F15 ¶

    VK_F15 :: 0x7E

    VK_F16 ¶

    VK_F16 :: 0x7F

    VK_F17 ¶

    VK_F17 :: 0x80

    VK_F18 ¶

    VK_F18 :: 0x81

    VK_F19 ¶

    VK_F19 :: 0x82

    VK_F2 ¶

    VK_F2 :: 0x71

    VK_F20 ¶

    VK_F20 :: 0x83

    VK_F21 ¶

    VK_F21 :: 0x84

    VK_F22 ¶

    VK_F22 :: 0x85

    VK_F23 ¶

    VK_F23 :: 0x86

    VK_F24 ¶

    VK_F24 :: 0x87

    VK_F3 ¶

    VK_F3 :: 0x72

    VK_F4 ¶

    VK_F4 :: 0x73

    VK_F5 ¶

    VK_F5 :: 0x74

    VK_F6 ¶

    VK_F6 :: 0x75

    VK_F7 ¶

    VK_F7 :: 0x76

    VK_F8 ¶

    VK_F8 :: 0x77

    VK_F9 ¶

    VK_F9 :: 0x78

    VK_FINAL ¶

    VK_FINAL :: 0x18

    VK_G ¶

    VK_G :: 'G'

    VK_H ¶

    VK_H :: 'H'

    VK_HANGEUL ¶

    VK_HANGEUL :: 0x15
     

    old name - should be here for compatibility

    VK_HANGUL ¶

    VK_HANGUL :: 0x15

    VK_HANJA ¶

    VK_HANJA :: 0x19

    VK_HELP ¶

    VK_HELP :: 0x2F

    VK_HOME ¶

    VK_HOME :: 0x24

    VK_I ¶

    VK_I :: 'I'

    VK_ICO_00 ¶

    VK_ICO_00 :: 0xE4
     

    00 key on ICO

    VK_ICO_CLEAR ¶

    VK_ICO_CLEAR :: 0xE6

    VK_ICO_HELP ¶

    VK_ICO_HELP :: 0xE3
     

    Help key on ICO

    VK_IME_OFF ¶

    VK_IME_OFF :: 0x1A

    VK_IME_ON ¶

    VK_IME_ON :: 0x16

    VK_INSERT ¶

    VK_INSERT :: 0x2D

    VK_J ¶

    VK_J :: 'J'

    VK_JUNJA ¶

    VK_JUNJA :: 0x17

    VK_K ¶

    VK_K :: 'K'

    VK_KANA ¶

    VK_KANA :: 0x15

    VK_KANJI ¶

    VK_KANJI :: 0x19

    VK_L ¶

    VK_L :: 'L'

    VK_LAUNCH_APP1 ¶

    VK_LAUNCH_APP1 :: 0xB6

    VK_LAUNCH_APP2 ¶

    VK_LAUNCH_APP2 :: 0xB7

    VK_LAUNCH_MAIL ¶

    VK_LAUNCH_MAIL :: 0xB4

    VK_LAUNCH_MEDIA_SELECT ¶

    VK_LAUNCH_MEDIA_SELECT :: 0xB5

    VK_LBUTTON ¶

    VK_LBUTTON :: 0x01
     

    https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes Virtual Keys, Standard Set

    VK_LCONTROL ¶

    VK_LCONTROL :: 0xA2

    VK_LEFT ¶

    VK_LEFT :: 0x25

    VK_LMENU ¶

    VK_LMENU :: 0xA4

    VK_LSHIFT ¶

    VK_LSHIFT :: 0xA0
     

    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 ¶

    VK_LWIN :: 0x5B

    VK_M ¶

    VK_M :: 'M'

    VK_MBUTTON ¶

    VK_MBUTTON :: 0x04
     

    NOT contiguous with L & RBUTTON

    VK_MEDIA_NEXT_TRACK ¶

    VK_MEDIA_NEXT_TRACK :: 0xB0

    VK_MEDIA_PLAY_PAUSE ¶

    VK_MEDIA_PLAY_PAUSE :: 0xB3

    VK_MEDIA_PREV_TRACK ¶

    VK_MEDIA_PREV_TRACK :: 0xB1

    VK_MEDIA_STOP ¶

    VK_MEDIA_STOP :: 0xB2

    VK_MENU ¶

    VK_MENU :: 0x12

    VK_MODECHANGE ¶

    VK_MODECHANGE :: 0x1F

    VK_MULTIPLY ¶

    VK_MULTIPLY :: 0x6A

    VK_N ¶

    VK_N :: 'N'

    VK_NEXT ¶

    VK_NEXT :: 0x22

    VK_NONAME ¶

    VK_NONAME :: 0xFC

    VK_NONCONVERT ¶

    VK_NONCONVERT :: 0x1D

    VK_NUMLOCK ¶

    VK_NUMLOCK :: 0x90

    VK_NUMPAD0 ¶

    VK_NUMPAD0 :: 0x60

    VK_NUMPAD1 ¶

    VK_NUMPAD1 :: 0x61

    VK_NUMPAD2 ¶

    VK_NUMPAD2 :: 0x62

    VK_NUMPAD3 ¶

    VK_NUMPAD3 :: 0x63

    VK_NUMPAD4 ¶

    VK_NUMPAD4 :: 0x64

    VK_NUMPAD5 ¶

    VK_NUMPAD5 :: 0x65

    VK_NUMPAD6 ¶

    VK_NUMPAD6 :: 0x66

    VK_NUMPAD7 ¶

    VK_NUMPAD7 :: 0x67

    VK_NUMPAD8 ¶

    VK_NUMPAD8 :: 0x68

    VK_NUMPAD9 ¶

    VK_NUMPAD9 :: 0x69

    VK_O ¶

    VK_O :: 'O'

    VK_OEM_1 ¶

    VK_OEM_1 :: 0xBA
     

    ';:' for US

    VK_OEM_102 ¶

    VK_OEM_102 :: 0xE2
     

    "<>" or "\|" on RT 102-key kbd.

    VK_OEM_2 ¶

    VK_OEM_2 :: 0xBF
     

    '/?' for US

    VK_OEM_3 ¶

    VK_OEM_3 :: 0xC0
     

    '`~' for US

    VK_OEM_4 ¶

    VK_OEM_4 :: 0xDB
     

    '[{' for US

    VK_OEM_5 ¶

    VK_OEM_5 :: 0xDC
     

    '\|' for US

    VK_OEM_6 ¶

    VK_OEM_6 :: 0xDD
     

    ']}' for US

    VK_OEM_7 ¶

    VK_OEM_7 :: 0xDE
     

    ''"' for US

    VK_OEM_8 ¶

    VK_OEM_8 :: 0xDF

    VK_OEM_ATTN ¶

    VK_OEM_ATTN :: 0xF0

    VK_OEM_AUTO ¶

    VK_OEM_AUTO :: 0xF3

    VK_OEM_AX ¶

    VK_OEM_AX :: 0xE1
     

    Various extended or enhanced keyboards

    VK_OEM_BACKTAB ¶

    VK_OEM_BACKTAB :: 0xF5

    VK_OEM_CLEAR ¶

    VK_OEM_CLEAR :: 0xFE

    VK_OEM_COMMA ¶

    VK_OEM_COMMA :: 0xBC
     

    ',' any country

    VK_OEM_COPY ¶

    VK_OEM_COPY :: 0xF2

    VK_OEM_CUSEL ¶

    VK_OEM_CUSEL :: 0xEF

    VK_OEM_ENLW ¶

    VK_OEM_ENLW :: 0xF4

    VK_OEM_FINISH ¶

    VK_OEM_FINISH :: 0xF1

    VK_OEM_FJ_JISHO ¶

    VK_OEM_FJ_JISHO :: 0x92
     

    Fujitsu/OASYS kbd definitions

    VK_OEM_FJ_LOYA ¶

    VK_OEM_FJ_LOYA :: 0x95
     

    'Left OYAYUBI' key

    VK_OEM_FJ_MASSHOU ¶

    VK_OEM_FJ_MASSHOU :: 0x93
     

    'Unregister word' key

    VK_OEM_FJ_ROYA ¶

    VK_OEM_FJ_ROYA :: 0x96
     

    'Right OYAYUBI' key

    VK_OEM_FJ_TOUROKU ¶

    VK_OEM_FJ_TOUROKU :: 0x94
     

    'Register word' key

    VK_OEM_JUMP ¶

    VK_OEM_JUMP :: 0xEA

    VK_OEM_MINUS ¶

    VK_OEM_MINUS :: 0xBD
     

    '-' any country

    VK_OEM_NEC_EQUAL ¶

    VK_OEM_NEC_EQUAL :: 0x92
     

    NEC PC-9800 kbd definitions

    VK_OEM_PA1 ¶

    VK_OEM_PA1 :: 0xEB

    VK_OEM_PA2 ¶

    VK_OEM_PA2 :: 0xEC

    VK_OEM_PA3 ¶

    VK_OEM_PA3 :: 0xED

    VK_OEM_PERIOD ¶

    VK_OEM_PERIOD :: 0xBE
     

    '.' any country

    VK_OEM_PLUS ¶

    VK_OEM_PLUS :: 0xBB
     

    '+' any country

    VK_OEM_RESET ¶

    VK_OEM_RESET :: 0xE9
     

    Nokia/Ericsson definitions

    VK_OEM_WSCTRL ¶

    VK_OEM_WSCTRL :: 0xEE

    VK_P ¶

    VK_P :: 'P'

    VK_PA1 ¶

    VK_PA1 :: 0xFD

    VK_PACKET ¶

    VK_PACKET :: 0xE7

    VK_PAUSE ¶

    VK_PAUSE :: 0x13

    VK_PLAY ¶

    VK_PLAY :: 0xFA

    VK_PRINT ¶

    VK_PRINT :: 0x2A

    VK_PRIOR ¶

    VK_PRIOR :: 0x21

    VK_PROCESSKEY ¶

    VK_PROCESSKEY :: 0xE5

    VK_Q ¶

    VK_Q :: 'Q'

    VK_R ¶

    VK_R :: 'R'

    VK_RBUTTON ¶

    VK_RBUTTON :: 0x02

    VK_RCONTROL ¶

    VK_RCONTROL :: 0xA3

    VK_RETURN ¶

    VK_RETURN :: 0x0D

    VK_RIGHT ¶

    VK_RIGHT :: 0x27

    VK_RMENU ¶

    VK_RMENU :: 0xA5

    VK_RSHIFT ¶

    VK_RSHIFT :: 0xA1

    VK_RWIN ¶

    VK_RWIN :: 0x5C

    VK_S ¶

    VK_S :: 'S'

    VK_SCROLL ¶

    VK_SCROLL :: 0x91

    VK_SELECT ¶

    VK_SELECT :: 0x29

    VK_SEPARATOR ¶

    VK_SEPARATOR :: 0x6C

    VK_SHIFT ¶

    VK_SHIFT :: 0x10

    VK_SLEEP ¶

    VK_SLEEP :: 0x5F

    VK_SNAPSHOT ¶

    VK_SNAPSHOT :: 0x2C

    VK_SPACE ¶

    VK_SPACE :: 0x20

    VK_SUBTRACT ¶

    VK_SUBTRACT :: 0x6D

    VK_T ¶

    VK_T :: 'T'

    VK_TAB ¶

    VK_TAB :: 0x09

    VK_U ¶

    VK_U :: 'U'

    VK_UP ¶

    VK_UP :: 0x26

    VK_V ¶

    VK_V :: 'V'

    VK_VOLUME_DOWN ¶

    VK_VOLUME_DOWN :: 0xAE

    VK_VOLUME_MUTE ¶

    VK_VOLUME_MUTE :: 0xAD

    VK_VOLUME_UP ¶

    VK_VOLUME_UP :: 0xAF

    VK_W ¶

    VK_W :: 'W'

    VK_X ¶

    VK_X :: 'X'

    VK_XBUTTON1 ¶

    VK_XBUTTON1 :: 0x05
     

    NOT contiguous with L & RBUTTON

    VK_XBUTTON2 ¶

    VK_XBUTTON2 :: 0x06
     

    NOT contiguous with L & RBUTTON

    VK_Y ¶

    VK_Y :: 'Y'

    VK_Z ¶

    VK_Z :: 'Z'

    VK_ZOOM ¶

    VK_ZOOM :: 0xFB

    VOLUME_NAME_DOS ¶

    VOLUME_NAME_DOS: u32 : 0x0

    VmOfferPriorityBelowNormal ¶

    VmOfferPriorityBelowNormal :: OFFER_PRIORITY.VmOfferPriorityBelowNormal

    VmOfferPriorityLow ¶

    VmOfferPriorityLow :: OFFER_PRIORITY.VmOfferPriorityLow

    VmOfferPriorityNormal ¶

    VmOfferPriorityNormal :: OFFER_PRIORITY.VmOfferPriorityNormal

    VmOfferPriorityVeryLow ¶

    VmOfferPriorityVeryLow :: OFFER_PRIORITY.VmOfferPriorityVeryLow

    WAIT_FAILED ¶

    WAIT_FAILED: u32 : 0xFFFFFFFF

    WAIT_OBJECT_0 ¶

    WAIT_OBJECT_0: u32 : 0x00000000

    WAIT_TIMEOUT ¶

    WAIT_TIMEOUT: u32 : 258

    WAVECAPS_LRVOLUME ¶

    WAVECAPS_LRVOLUME :: 0x0008
     

    separate left-right volume control

    WAVECAPS_PITCH ¶

    WAVECAPS_PITCH :: 0x0001
     

    supports pitch control

    WAVECAPS_PLAYBACKRATE ¶

    WAVECAPS_PLAYBACKRATE :: 0x0002
     

    supports playback rate control

    WAVECAPS_SAMPLEACCURATE ¶

    WAVECAPS_SAMPLEACCURATE :: 0x0020

    WAVECAPS_SYNC ¶

    WAVECAPS_SYNC :: 0x0010

    WAVECAPS_VOLUME ¶

    WAVECAPS_VOLUME :: 0x0004
     

    supports volume control

    WAVERR_BADFORMAT ¶

    WAVERR_BADFORMAT :: WAVERR_BASE + 0
     

    waveform audio error return values

    WAVERR_BASE ¶

    WAVERR_BASE :: 32

    WAVERR_LASTERROR ¶

    WAVERR_LASTERROR :: WAVERR_BASE + 3
     

    last error in range

    WAVERR_STILLPLAYING ¶

    WAVERR_STILLPLAYING :: WAVERR_BASE + 1
     

    still something playing

    WAVERR_SYNC ¶

    WAVERR_SYNC :: WAVERR_BASE + 3
     

    device is synchronous

    WAVERR_UNPREPARED ¶

    WAVERR_UNPREPARED :: WAVERR_BASE + 2
     

    header not prepared

    WAVE_ALLOWSYNC ¶

    WAVE_ALLOWSYNC :: 0x0002

    WAVE_FORMAT_1M08 ¶

    WAVE_FORMAT_1M08 :: 0x00000001
     

    11.025 kHz, Mono, 8-bit

    WAVE_FORMAT_1M16 ¶

    WAVE_FORMAT_1M16 :: 0x00000004
     

    11.025 kHz, Mono, 16-bit

    WAVE_FORMAT_1S08 ¶

    WAVE_FORMAT_1S08 :: 0x00000002
     

    11.025 kHz, Stereo, 8-bit

    WAVE_FORMAT_1S16 ¶

    WAVE_FORMAT_1S16 :: 0x00000008
     

    11.025 kHz, Stereo, 16-bit

    WAVE_FORMAT_2M08 ¶

    WAVE_FORMAT_2M08 :: 0x00000010
     

    22.05 kHz, Mono, 8-bit

    WAVE_FORMAT_2M16 ¶

    WAVE_FORMAT_2M16 :: 0x00000040
     

    22.05 kHz, Mono, 16-bit

    WAVE_FORMAT_2S08 ¶

    WAVE_FORMAT_2S08 :: 0x00000020
     

    22.05 kHz, Stereo, 8-bit

    WAVE_FORMAT_2S16 ¶

    WAVE_FORMAT_2S16 :: 0x00000080
     

    22.05 kHz, Stereo, 16-bit

    WAVE_FORMAT_44M08 ¶

    WAVE_FORMAT_44M08 :: 0x00000100
     

    44.1 kHz, Mono, 8-bit

    WAVE_FORMAT_44M16 ¶

    WAVE_FORMAT_44M16 :: 0x00000400
     

    44.1 kHz, Mono, 16-bit

    WAVE_FORMAT_44S08 ¶

    WAVE_FORMAT_44S08 :: 0x00000200
     

    44.1 kHz, Stereo, 8-bit

    WAVE_FORMAT_44S16 ¶

    WAVE_FORMAT_44S16 :: 0x00000800
     

    44.1 kHz, Stereo, 16-bit

    WAVE_FORMAT_48M08 ¶

    WAVE_FORMAT_48M08 :: 0x00001000
     

    48 kHz, Mono, 8-bit

    WAVE_FORMAT_48M16 ¶

    WAVE_FORMAT_48M16 :: 0x00004000
     

    48 kHz, Mono, 16-bit

    WAVE_FORMAT_48S08 ¶

    WAVE_FORMAT_48S08 :: 0x00002000
     

    48 kHz, Stereo, 8-bit

    WAVE_FORMAT_48S16 ¶

    WAVE_FORMAT_48S16 :: 0x00008000
     

    48 kHz, Stereo, 16-bit

    WAVE_FORMAT_4M08 ¶

    WAVE_FORMAT_4M08 :: 0x00000100
     

    44.1 kHz, Mono, 8-bit

    WAVE_FORMAT_4M16 ¶

    WAVE_FORMAT_4M16 :: 0x00000400
     

    44.1 kHz, Mono, 16-bit

    WAVE_FORMAT_4S08 ¶

    WAVE_FORMAT_4S08 :: 0x00000200
     

    44.1 kHz, Stereo, 8-bit

    WAVE_FORMAT_4S16 ¶

    WAVE_FORMAT_4S16 :: 0x00000800
     

    44.1 kHz, Stereo, 16-bit

    WAVE_FORMAT_96M08 ¶

    WAVE_FORMAT_96M08 :: 0x00010000
     

    96 kHz, Mono, 8-bit

    WAVE_FORMAT_96M16 ¶

    WAVE_FORMAT_96M16 :: 0x00040000
     

    96 kHz, Mono, 16-bit

    WAVE_FORMAT_96S08 ¶

    WAVE_FORMAT_96S08 :: 0x00020000
     

    96 kHz, Stereo, 8-bit

    WAVE_FORMAT_96S16 ¶

    WAVE_FORMAT_96S16 :: 0x00080000
     

    96 kHz, Stereo, 16-bit

    WAVE_FORMAT_DIRECT ¶

    WAVE_FORMAT_DIRECT :: 0x0008

    WAVE_FORMAT_DIRECT_QUERY ¶

    WAVE_FORMAT_DIRECT_QUERY :: WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT

    WAVE_FORMAT_PCM ¶

    WAVE_FORMAT_PCM :: 1
     

    flags for wFormatTag field of WAVEFORMAT

    WAVE_FORMAT_QUERY ¶

    WAVE_FORMAT_QUERY :: 0x0001

    WAVE_INVALIDFORMAT ¶

    WAVE_INVALIDFORMAT :: 0x00000000
     

    invalid format

    WAVE_MAPPED ¶

    WAVE_MAPPED :: 0x0004

    WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE ¶

    WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE :: 0x0010

    WAVE_MAPPER ¶

    WAVE_MAPPER: u32 : 0xFFFFFFFF
     

    -1

    WA_ACTIVE ¶

    WA_ACTIVE :: 1

    WA_CLICKACTIVE ¶

    WA_CLICKACTIVE :: 2

    WA_INACTIVE ¶

    WA_INACTIVE :: 0
     

    WM_ACTIVATE state values

    WC_ERR_INVALID_CHARS ¶

    WC_ERR_INVALID_CHARS :: 128

    WGL_ACCELERATION_ARB ¶

    WGL_ACCELERATION_ARB :: 0x2003

    WGL_ACCUM_ALPHA_BITS_ARB ¶

    WGL_ACCUM_ALPHA_BITS_ARB :: 0x2021

    WGL_ACCUM_BITS_ARB ¶

    WGL_ACCUM_BITS_ARB :: 0x201D

    WGL_ACCUM_BLUE_BITS_ARB ¶

    WGL_ACCUM_BLUE_BITS_ARB :: 0x2020

    WGL_ACCUM_GREEN_BITS_ARB ¶

    WGL_ACCUM_GREEN_BITS_ARB :: 0x201F

    WGL_ACCUM_RED_BITS_ARB ¶

    WGL_ACCUM_RED_BITS_ARB :: 0x201E

    WGL_ALPHA_BITS_ARB ¶

    WGL_ALPHA_BITS_ARB :: 0x201B

    WGL_ALPHA_SHIFT_ARB ¶

    WGL_ALPHA_SHIFT_ARB :: 0x201C

    WGL_AUX_BUFFERS_ARB ¶

    WGL_AUX_BUFFERS_ARB :: 0x2024

    WGL_BACK_COLOR_BUFFER_BIT_ARB ¶

    WGL_BACK_COLOR_BUFFER_BIT_ARB :: 0x00000002

    WGL_BLUE_BITS_ARB ¶

    WGL_BLUE_BITS_ARB :: 0x2019

    WGL_BLUE_SHIFT_ARB ¶

    WGL_BLUE_SHIFT_ARB :: 0x201A

    WGL_COLOR_BITS_ARB ¶

    WGL_COLOR_BITS_ARB :: 0x2014

    WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB ¶

    WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB :: 0x0002

    WGL_CONTEXT_CORE_PROFILE_BIT_ARB ¶

    WGL_CONTEXT_CORE_PROFILE_BIT_ARB :: 0x0001

    WGL_CONTEXT_DEBUG_BIT_ARB ¶

    WGL_CONTEXT_DEBUG_BIT_ARB :: 0x0001
     

    WGL_ARB_create_context

    WGL_CONTEXT_FLAGS_ARB ¶

    WGL_CONTEXT_FLAGS_ARB :: 0x2094

    WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB ¶

    WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB :: 0x0002

    WGL_CONTEXT_LAYER_PLANE_ARB ¶

    WGL_CONTEXT_LAYER_PLANE_ARB :: 0x2093

    WGL_CONTEXT_MAJOR_VERSION_ARB ¶

    WGL_CONTEXT_MAJOR_VERSION_ARB :: 0x2091

    WGL_CONTEXT_MINOR_VERSION_ARB ¶

    WGL_CONTEXT_MINOR_VERSION_ARB :: 0x2092

    WGL_CONTEXT_OPENGL_NO_ERROR_ARB ¶

    WGL_CONTEXT_OPENGL_NO_ERROR_ARB :: 0x31B3
     

    WGL_ARB_create_context_no_error

    WGL_CONTEXT_PROFILE_MASK_ARB ¶

    WGL_CONTEXT_PROFILE_MASK_ARB :: 0x9126
     

    WGL_ARB_create_context_profile

    WGL_CONTEXT_RELEASE_BEHAVIOR_ARB ¶

    WGL_CONTEXT_RELEASE_BEHAVIOR_ARB :: 0x2097
     

    WGL_ARB_context_flush_control

    WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB ¶

    WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB :: 0x2098

    WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB ¶

    WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB :: 0

    WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB ¶

    WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB :: 0x8256

    WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB ¶

    WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB :: 0x00000004
     

    WGL_ARB_create_context_robustness

    WGL_DEPTH_BITS_ARB ¶

    WGL_DEPTH_BITS_ARB :: 0x2022

    WGL_DEPTH_BUFFER_BIT_ARB ¶

    WGL_DEPTH_BUFFER_BIT_ARB :: 0x00000004

    WGL_DOUBLE_BUFFER_ARB ¶

    WGL_DOUBLE_BUFFER_ARB :: 0x2011

    WGL_DRAW_TO_BITMAP_ARB ¶

    WGL_DRAW_TO_BITMAP_ARB :: 0x2002

    WGL_DRAW_TO_PBUFFER_ARB ¶

    WGL_DRAW_TO_PBUFFER_ARB :: 0x202D

    WGL_DRAW_TO_WINDOW_ARB ¶

    WGL_DRAW_TO_WINDOW_ARB :: 0x2001

    WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB ¶

    WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB :: 0x20A9
     

    WGL_ARB_framebuffer_sRGB

    WGL_FRONT_COLOR_BUFFER_BIT_ARB ¶

    WGL_FRONT_COLOR_BUFFER_BIT_ARB :: 0x00000001
     

    WGL_ARB_buffer_region

    WGL_FULL_ACCELERATION_ARB ¶

    WGL_FULL_ACCELERATION_ARB :: 0x2027

    WGL_GENERIC_ACCELERATION_ARB ¶

    WGL_GENERIC_ACCELERATION_ARB :: 0x2026

    WGL_GREEN_BITS_ARB ¶

    WGL_GREEN_BITS_ARB :: 0x2017

    WGL_GREEN_SHIFT_ARB ¶

    WGL_GREEN_SHIFT_ARB :: 0x2018

    WGL_LOSE_CONTEXT_ON_RESET_ARB ¶

    WGL_LOSE_CONTEXT_ON_RESET_ARB :: 0x8252

    WGL_MAX_PBUFFER_HEIGHT_ARB ¶

    WGL_MAX_PBUFFER_HEIGHT_ARB :: 0x2030

    WGL_MAX_PBUFFER_PIXELS_ARB ¶

    WGL_MAX_PBUFFER_PIXELS_ARB :: 0x202E

    WGL_MAX_PBUFFER_WIDTH_ARB ¶

    WGL_MAX_PBUFFER_WIDTH_ARB :: 0x202F

    WGL_NEED_PALETTE_ARB ¶

    WGL_NEED_PALETTE_ARB :: 0x2004

    WGL_NEED_SYSTEM_PALETTE_ARB ¶

    WGL_NEED_SYSTEM_PALETTE_ARB :: 0x2005

    WGL_NO_ACCELERATION_ARB ¶

    WGL_NO_ACCELERATION_ARB :: 0x2025

    WGL_NO_RESET_NOTIFICATION_ARB ¶

    WGL_NO_RESET_NOTIFICATION_ARB :: 0x8261

    WGL_NUMBER_OVERLAYS_ARB ¶

    WGL_NUMBER_OVERLAYS_ARB :: 0x2008

    WGL_NUMBER_PIXEL_FORMATS_ARB ¶

    WGL_NUMBER_PIXEL_FORMATS_ARB :: 0x2000
     

    WGL_ARB_pixel_format

    WGL_NUMBER_UNDERLAYS_ARB ¶

    WGL_NUMBER_UNDERLAYS_ARB :: 0x2009

    WGL_PBUFFER_HEIGHT_ARB ¶

    WGL_PBUFFER_HEIGHT_ARB :: 0x2035

    WGL_PBUFFER_LARGEST_ARB ¶

    WGL_PBUFFER_LARGEST_ARB :: 0x2033

    WGL_PBUFFER_LOST_ARB ¶

    WGL_PBUFFER_LOST_ARB :: 0x2036

    WGL_PBUFFER_WIDTH_ARB ¶

    WGL_PBUFFER_WIDTH_ARB :: 0x2034

    WGL_PIXEL_TYPE_ARB ¶

    WGL_PIXEL_TYPE_ARB :: 0x2013

    WGL_RED_BITS_ARB ¶

    WGL_RED_BITS_ARB :: 0x2015

    WGL_RED_SHIFT_ARB ¶

    WGL_RED_SHIFT_ARB :: 0x2016

    WGL_SAMPLES_ARB ¶

    WGL_SAMPLES_ARB :: 0x2042

    WGL_SAMPLE_BUFFERS_ARB ¶

    WGL_SAMPLE_BUFFERS_ARB :: 0x2041
     

    WGL_ARB_multisample

    WGL_SHARE_ACCUM_ARB ¶

    WGL_SHARE_ACCUM_ARB :: 0x200E

    WGL_SHARE_DEPTH_ARB ¶

    WGL_SHARE_DEPTH_ARB :: 0x200C

    WGL_SHARE_STENCIL_ARB ¶

    WGL_SHARE_STENCIL_ARB :: 0x200D

    WGL_STENCIL_BITS_ARB ¶

    WGL_STENCIL_BITS_ARB :: 0x2023

    WGL_STENCIL_BUFFER_BIT_ARB ¶

    WGL_STENCIL_BUFFER_BIT_ARB :: 0x00000008

    WGL_STEREO_ARB ¶

    WGL_STEREO_ARB :: 0x2012

    WGL_SUPPORT_GDI_ARB ¶

    WGL_SUPPORT_GDI_ARB :: 0x200F

    WGL_SUPPORT_OPENGL_ARB ¶

    WGL_SUPPORT_OPENGL_ARB :: 0x2010

    WGL_SWAP_COPY_ARB ¶

    WGL_SWAP_COPY_ARB :: 0x2029

    WGL_SWAP_EXCHANGE_ARB ¶

    WGL_SWAP_EXCHANGE_ARB :: 0x2028

    WGL_SWAP_LAYER_BUFFERS_ARB ¶

    WGL_SWAP_LAYER_BUFFERS_ARB :: 0x2006

    WGL_SWAP_METHOD_ARB ¶

    WGL_SWAP_METHOD_ARB :: 0x2007

    WGL_SWAP_UNDEFINED_ARB ¶

    WGL_SWAP_UNDEFINED_ARB :: 0x202A

    WGL_TRANSPARENT_ALPHA_VALUE_ARB ¶

    WGL_TRANSPARENT_ALPHA_VALUE_ARB :: 0x203A

    WGL_TRANSPARENT_ARB ¶

    WGL_TRANSPARENT_ARB :: 0x200A

    WGL_TRANSPARENT_BLUE_VALUE_ARB ¶

    WGL_TRANSPARENT_BLUE_VALUE_ARB :: 0x2039

    WGL_TRANSPARENT_GREEN_VALUE_ARB ¶

    WGL_TRANSPARENT_GREEN_VALUE_ARB :: 0x2038

    WGL_TRANSPARENT_INDEX_VALUE_ARB ¶

    WGL_TRANSPARENT_INDEX_VALUE_ARB :: 0x203B

    WGL_TRANSPARENT_RED_VALUE_ARB ¶

    WGL_TRANSPARENT_RED_VALUE_ARB :: 0x2037

    WGL_TYPE_COLORINDEX_ARB ¶

    WGL_TYPE_COLORINDEX_ARB :: 0x202C

    WGL_TYPE_RGBA_ARB ¶

    WGL_TYPE_RGBA_ARB :: 0x202B

    WGL_TYPE_RGBA_FLOAT_ARB ¶

    WGL_TYPE_RGBA_FLOAT_ARB :: 0x21A0
     

    WGL_ARB_pixel_format_float

    WHDR_BEGINLOOP ¶

    WHDR_BEGINLOOP :: 0x00000004
     

    loop start block

    WHDR_DONE ¶

    WHDR_DONE :: 0x00000001
     

    done bit

    WHDR_ENDLOOP ¶

    WHDR_ENDLOOP :: 0x00000008
     

    loop end block

    WHDR_INQUEUE ¶

    WHDR_INQUEUE :: 0x00000010
     

    reserved for driver

    WHDR_PREPARED ¶

    WHDR_PREPARED :: 0x00000002
     

    set if this header has been prepared

    WHEEL_DELTA ¶

    WHEEL_DELTA :: 120
     

    Value for rolling one detent

    WHEEL_PAGESCROLL ¶

    WHEEL_PAGESCROLL: u32 : max(UINT)
     

    Setting to scroll one page for SPI_GET/SETWHEELSCROLLLINES

    WHITENESS ¶

    WHITENESS: u32 : 0x00FF0062
     

    dest = WHITE

    WHITEONBLACK ¶

    WHITEONBLACK :: 2

    WHITE_BRUSH ¶

    WHITE_BRUSH :: 0
     

    Stock Logical Objects

    WHITE_PEN ¶

    WHITE_PEN :: 6

    WH_CALLWNDPROC ¶

    WH_CALLWNDPROC :: 4

    WH_CALLWNDPROCRET ¶

    WH_CALLWNDPROCRET :: 12

    WH_CBT ¶

    WH_CBT :: 5

    WH_DEBUG ¶

    WH_DEBUG :: 9

    WH_FOREGROUNDIDLE ¶

    WH_FOREGROUNDIDLE :: 11

    WH_GETMESSAGE ¶

    WH_GETMESSAGE :: 3

    WH_HARDWARE ¶

    WH_HARDWARE :: 8

    WH_JOURNALPLAYBACK ¶

    WH_JOURNALPLAYBACK :: 1

    WH_JOURNALRECORD ¶

    WH_JOURNALRECORD :: 0

    WH_KEYBOARD ¶

    WH_KEYBOARD :: 2

    WH_KEYBOARD_LL ¶

    WH_KEYBOARD_LL :: 13

    WH_MAX ¶

    WH_MAX :: 14

    WH_MAXHOOK ¶

    WH_MAXHOOK :: WH_MAX

    WH_MIN ¶

    WH_MIN :: -1
     

    SetWindowsHook() codes

    WH_MINHOOK ¶

    WH_MINHOOK :: WH_MIN

    WH_MOUSE ¶

    WH_MOUSE :: 7

    WH_MOUSE_LL ¶

    WH_MOUSE_LL :: 14

    WH_MSGFILTER ¶

    WH_MSGFILTER :: -1

    WH_SHELL ¶

    WH_SHELL :: 10

    WH_SYSMSGFILTER ¶

    WH_SYSMSGFILTER :: 6

    WIM_CLOSE ¶

    WIM_CLOSE :: MM_WIM_CLOSE

    WIM_DATA ¶

    WIM_DATA :: MM_WIM_DATA

    WIM_OPEN ¶

    WIM_OPEN :: MM_WIM_OPEN

    WIZ_NEXT ¶

    WIZ_NEXT :: 0x040b

    WIZ_PREV ¶

    WIZ_PREV :: 0x040c

    WIZ_QUERYNUMPAGES ¶

    WIZ_QUERYNUMPAGES :: 0x040a

    WLX_WM_SAS ¶

    WLX_WM_SAS :: 0x0659

    WMSZ_BOTTOM ¶

    WMSZ_BOTTOM :: 6

    WMSZ_BOTTOMLEFT ¶

    WMSZ_BOTTOMLEFT :: 7

    WMSZ_BOTTOMRIGHT ¶

    WMSZ_BOTTOMRIGHT :: 8

    WMSZ_LEFT ¶

    WMSZ_LEFT :: 1

    WMSZ_RIGHT ¶

    WMSZ_RIGHT :: 2

    WMSZ_TOP ¶

    WMSZ_TOP :: 3

    WMSZ_TOPLEFT ¶

    WMSZ_TOPLEFT :: 4

    WMSZ_TOPRIGHT ¶

    WMSZ_TOPRIGHT :: 5

    WM_ACTIVATE ¶

    WM_ACTIVATE :: 0x0006

    WM_ACTIVATEAPP ¶

    WM_ACTIVATEAPP :: 0x001c

    WM_AFXFIRST ¶

    WM_AFXFIRST :: 0x0360

    WM_AFXLAST ¶

    WM_AFXLAST :: 0x037f

    WM_APP ¶

    WM_APP :: 0x8000

    WM_APPCOMMAND ¶

    WM_APPCOMMAND :: 0x0319

    WM_ASKCBFORMATNAME ¶

    WM_ASKCBFORMATNAME :: 0x030c

    WM_CANCELJOURNAL ¶

    WM_CANCELJOURNAL :: 0x004b

    WM_CANCELMODE ¶

    WM_CANCELMODE :: 0x001f

    WM_CAPTURECHANGED ¶

    WM_CAPTURECHANGED :: 0x0215

    WM_CAP_DRIVER_GET_NAMEW ¶

    WM_CAP_DRIVER_GET_NAMEW :: 0x0470

    WM_CAP_DRIVER_GET_VERSIONW ¶

    WM_CAP_DRIVER_GET_VERSIONW :: 0x0471

    WM_CAP_FILE_GET_CAPTURE_FILEW ¶

    WM_CAP_FILE_GET_CAPTURE_FILEW :: 0x0479

    WM_CAP_FILE_SAVEASW ¶

    WM_CAP_FILE_SAVEASW :: 0x047b

    WM_CAP_FILE_SAVEDIBW ¶

    WM_CAP_FILE_SAVEDIBW :: 0x047d

    WM_CAP_FILE_SET_CAPTURE_FILEW ¶

    WM_CAP_FILE_SET_CAPTURE_FILEW :: 0x0478

    WM_CAP_GET_MCI_DEVICEW ¶

    WM_CAP_GET_MCI_DEVICEW :: 0x04a7

    WM_CAP_PAL_OPENW ¶

    WM_CAP_PAL_OPENW :: 0x04b4

    WM_CAP_PAL_SAVEW ¶

    WM_CAP_PAL_SAVEW :: 0x04b5

    WM_CAP_SET_CALLBACK_ERRORW ¶

    WM_CAP_SET_CALLBACK_ERRORW :: 0x0466

    WM_CAP_SET_CALLBACK_STATUSW ¶

    WM_CAP_SET_CALLBACK_STATUSW :: 0x0467

    WM_CAP_SET_MCI_DEVICEW ¶

    WM_CAP_SET_MCI_DEVICEW :: 0x04a6

    WM_CAP_UNICODE_START ¶

    WM_CAP_UNICODE_START :: 0x0464

    WM_CHANGECBCHAIN ¶

    WM_CHANGECBCHAIN :: 0x030d

    WM_CHANGEUISTATE ¶

    WM_CHANGEUISTATE :: 0x0127

    WM_CHAR ¶

    WM_CHAR :: 0x0102

    WM_CHARTOITEM ¶

    WM_CHARTOITEM :: 0x002f

    WM_CHILDACTIVATE ¶

    WM_CHILDACTIVATE :: 0x0022

    WM_CHOOSEFONT_GETLOGFONT ¶

    WM_CHOOSEFONT_GETLOGFONT :: 0x0401

    WM_CHOOSEFONT_SETFLAGS ¶

    WM_CHOOSEFONT_SETFLAGS :: 0x0466

    WM_CHOOSEFONT_SETLOGFONT ¶

    WM_CHOOSEFONT_SETLOGFONT :: 0x0465

    WM_CLEAR ¶

    WM_CLEAR :: 0x0303

    WM_CLIPBOARDUPDATE ¶

    WM_CLIPBOARDUPDATE :: 0x031D

    WM_CLOSE ¶

    WM_CLOSE :: 0x0010

    WM_COMMAND ¶

    WM_COMMAND :: 0x0111

    WM_COMMNOTIFY ¶

    WM_COMMNOTIFY :: 0x0044

    WM_COMPACTING ¶

    WM_COMPACTING :: 0x0041

    WM_COMPAREITEM ¶

    WM_COMPAREITEM :: 0x0039

    WM_CONTEXTMENU ¶

    WM_CONTEXTMENU :: 0x007b

    WM_CONVERTREQUEST ¶

    WM_CONVERTREQUEST :: 0x010a

    WM_CONVERTRESULT ¶

    WM_CONVERTRESULT :: 0x010b

    WM_COPY ¶

    WM_COPY :: 0x0301

    WM_COPYDATA ¶

    WM_COPYDATA :: 0x004a

    WM_COPYGLOBALDATA ¶

    WM_COPYGLOBALDATA :: 0x0049

    WM_CPL_LAUNCH ¶

    WM_CPL_LAUNCH :: 0x07e8

    WM_CPL_LAUNCHED ¶

    WM_CPL_LAUNCHED :: 0x07e9

    WM_CREATE ¶

    WM_CREATE :: 0x0001

    WM_CTLCOLOR ¶

    WM_CTLCOLOR :: 0x0019

    WM_CTLCOLORBTN ¶

    WM_CTLCOLORBTN :: 0x0135

    WM_CTLCOLORDLG ¶

    WM_CTLCOLORDLG :: 0x0136

    WM_CTLCOLOREDIT ¶

    WM_CTLCOLOREDIT :: 0x0133

    WM_CTLCOLORLISTBOX ¶

    WM_CTLCOLORLISTBOX :: 0x0134

    WM_CTLCOLORMSGBOX ¶

    WM_CTLCOLORMSGBOX :: 0x0132

    WM_CTLCOLORSCROLLBAR ¶

    WM_CTLCOLORSCROLLBAR :: 0x0137

    WM_CTLCOLORSTATIC ¶

    WM_CTLCOLORSTATIC :: 0x0138

    WM_CTLINIT ¶

    WM_CTLINIT :: 0x0387

    WM_CUT ¶

    WM_CUT :: 0x0300

    WM_DEADCHAR ¶

    WM_DEADCHAR :: 0x0103

    WM_DELETEITEM ¶

    WM_DELETEITEM :: 0x002d

    WM_DESTROY ¶

    WM_DESTROY :: 0x0002

    WM_DESTROYCLIPBOARD ¶

    WM_DESTROYCLIPBOARD :: 0x0307

    WM_DEVICECHANGE ¶

    WM_DEVICECHANGE :: 0x0219

    WM_DEVMODECHANGE ¶

    WM_DEVMODECHANGE :: 0x001b

    WM_DISPLAYCHANGE ¶

    WM_DISPLAYCHANGE :: 0x007e

    WM_DPICHANGED ¶

    WM_DPICHANGED :: 0x02e0

    WM_DPICHANGED_AFTERPARENT ¶

    WM_DPICHANGED_AFTERPARENT :: 0x02e3

    WM_DPICHANGED_BEFOREPARENT ¶

    WM_DPICHANGED_BEFOREPARENT :: 0x02e2

    WM_DRAWCLIPBOARD ¶

    WM_DRAWCLIPBOARD :: 0x0308

    WM_DRAWITEM ¶

    WM_DRAWITEM :: 0x002b

    WM_DROPFILES ¶

    WM_DROPFILES :: 0x0233

    WM_DWMCOLORIZATIONCOLORCHANGED ¶

    WM_DWMCOLORIZATIONCOLORCHANGED :: 0x0320

    WM_DWMCOMPOSITIONCHANGED ¶

    WM_DWMCOMPOSITIONCHANGED :: 0x031E

    WM_DWMNCRENDERINGCHANGED ¶

    WM_DWMNCRENDERINGCHANGED :: 0x031F

    WM_DWMSENDICONICLIVEPREVIEWBITMAP ¶

    WM_DWMSENDICONICLIVEPREVIEWBITMAP :: 0x0326

    WM_DWMSENDICONICTHUMBNAIL ¶

    WM_DWMSENDICONICTHUMBNAIL :: 0x0323

    WM_DWMWINDOWMAXIMIZEDCHANGE ¶

    WM_DWMWINDOWMAXIMIZEDCHANGE :: 0x0321

    WM_ENABLE ¶

    WM_ENABLE :: 0x000a

    WM_ENDSESSION ¶

    WM_ENDSESSION :: 0x0016

    WM_ENTERIDLE ¶

    WM_ENTERIDLE :: 0x0121

    WM_ENTERMENULOOP ¶

    WM_ENTERMENULOOP :: 0x0211

    WM_ENTERSIZEMOVE ¶

    WM_ENTERSIZEMOVE :: 0x0231

    WM_ERASEBKGND ¶

    WM_ERASEBKGND :: 0x0014

    WM_EXITMENULOOP ¶

    WM_EXITMENULOOP :: 0x0212

    WM_EXITSIZEMOVE ¶

    WM_EXITSIZEMOVE :: 0x0232

    WM_FONTCHANGE ¶

    WM_FONTCHANGE :: 0x001d

    WM_GETDLGCODE ¶

    WM_GETDLGCODE :: 0x0087

    WM_GETDPISCALEDSIZE ¶

    WM_GETDPISCALEDSIZE :: 0x02e4

    WM_GETFONT ¶

    WM_GETFONT :: 0x0031

    WM_GETHOTKEY ¶

    WM_GETHOTKEY :: 0x0033

    WM_GETICON ¶

    WM_GETICON :: 0x007f

    WM_GETMINMAXINFO ¶

    WM_GETMINMAXINFO :: 0x0024

    WM_GETOBJECT ¶

    WM_GETOBJECT :: 0x003d

    WM_GETTEXT ¶

    WM_GETTEXT :: 0x000d

    WM_GETTEXTLENGTH ¶

    WM_GETTEXTLENGTH :: 0x000e

    WM_GETTITLEBARINFOEX ¶

    WM_GETTITLEBARINFOEX :: 0x033F

    WM_GLOBALRCCHANGE ¶

    WM_GLOBALRCCHANGE :: 0x0383

    WM_HANDHELDFIRST ¶

    WM_HANDHELDFIRST :: 0x0358

    WM_HANDHELDLAST ¶

    WM_HANDHELDLAST :: 0x035f

    WM_HEDITCTL ¶

    WM_HEDITCTL :: 0x0385

    WM_HELP ¶

    WM_HELP :: 0x0053

    WM_HOOKRCRESULT ¶

    WM_HOOKRCRESULT :: 0x0382

    WM_HOTKEY ¶

    WM_HOTKEY :: 0x0312

    WM_HSCROLL ¶

    WM_HSCROLL :: 0x0114

    WM_HSCROLLCLIPBOARD ¶

    WM_HSCROLLCLIPBOARD :: 0x030e

    WM_ICONERASEBKGND ¶

    WM_ICONERASEBKGND :: 0x0027

    WM_IMEKEYDOWN ¶

    WM_IMEKEYDOWN :: 0x0290

    WM_IMEKEYUP ¶

    WM_IMEKEYUP :: 0x0291

    WM_IME_CHAR ¶

    WM_IME_CHAR :: 0x0286

    WM_IME_COMPOSITION ¶

    WM_IME_COMPOSITION :: 0x010f

    WM_IME_COMPOSITIONFULL ¶

    WM_IME_COMPOSITIONFULL :: 0x0284

    WM_IME_CONTROL ¶

    WM_IME_CONTROL :: 0x0283

    WM_IME_ENDCOMPOSITION ¶

    WM_IME_ENDCOMPOSITION :: 0x010e

    WM_IME_KEYDOWN ¶

    WM_IME_KEYDOWN :: 0x0290

    WM_IME_KEYLAST ¶

    WM_IME_KEYLAST :: 0x010f

    WM_IME_KEYUP ¶

    WM_IME_KEYUP :: 0x0291

    WM_IME_NOTIFY ¶

    WM_IME_NOTIFY :: 0x0282

    WM_IME_REPORT ¶

    WM_IME_REPORT :: 0x0280

    WM_IME_REQUEST ¶

    WM_IME_REQUEST :: 0x0288

    WM_IME_SELECT ¶

    WM_IME_SELECT :: 0x0285

    WM_IME_SETCONTEXT ¶

    WM_IME_SETCONTEXT :: 0x0281

    WM_IME_STARTCOMPOSITION ¶

    WM_IME_STARTCOMPOSITION :: 0x010d

    WM_INITDIALOG ¶

    WM_INITDIALOG :: 0x0110

    WM_INITMENU ¶

    WM_INITMENU :: 0x0116

    WM_INITMENUPOPUP ¶

    WM_INITMENUPOPUP :: 0x0117

    WM_INPUT ¶

    WM_INPUT :: 0x00ff

    WM_INPUTLANGCHANGE ¶

    WM_INPUTLANGCHANGE :: 0x0051

    WM_INPUTLANGCHANGEREQUEST ¶

    WM_INPUTLANGCHANGEREQUEST :: 0x0050

    WM_INPUT_DEVICE_CHANGE ¶

    WM_INPUT_DEVICE_CHANGE :: 0x00fe

    WM_INTERIM ¶

    WM_INTERIM :: 0x010c

    WM_KEYDOWN ¶

    WM_KEYDOWN :: 0x0100

    WM_KEYFIRST ¶

    WM_KEYFIRST :: 0x0100

    WM_KEYLAST ¶

    WM_KEYLAST :: 0x0109

    WM_KEYUP ¶

    WM_KEYUP :: 0x0101

    WM_KILLFOCUS ¶

    WM_KILLFOCUS :: 0x0008

    WM_LBTRACKPOINT ¶

    WM_LBTRACKPOINT :: 0x0131

    WM_LBUTTONDBLCLK ¶

    WM_LBUTTONDBLCLK :: 0x0203

    WM_LBUTTONDOWN ¶

    WM_LBUTTONDOWN :: 0x0201

    WM_LBUTTONUP ¶

    WM_LBUTTONUP :: 0x0202

    WM_MBUTTONDBLCLK ¶

    WM_MBUTTONDBLCLK :: 0x0209

    WM_MBUTTONDOWN ¶

    WM_MBUTTONDOWN :: 0x0207

    WM_MBUTTONUP ¶

    WM_MBUTTONUP :: 0x0208

    WM_MDIACTIVATE ¶

    WM_MDIACTIVATE :: 0x0222

    WM_MDICASCADE ¶

    WM_MDICASCADE :: 0x0227

    WM_MDICREATE ¶

    WM_MDICREATE :: 0x0220

    WM_MDIDESTROY ¶

    WM_MDIDESTROY :: 0x0221

    WM_MDIGETACTIVE ¶

    WM_MDIGETACTIVE :: 0x0229

    WM_MDIICONARRANGE ¶

    WM_MDIICONARRANGE :: 0x0228

    WM_MDIMAXIMIZE ¶

    WM_MDIMAXIMIZE :: 0x0225

    WM_MDINEXT ¶

    WM_MDINEXT :: 0x0224

    WM_MDIREFRESHMENU ¶

    WM_MDIREFRESHMENU :: 0x0234

    WM_MDIRESTORE ¶

    WM_MDIRESTORE :: 0x0223

    WM_MDISETMENU ¶

    WM_MDISETMENU :: 0x0230

    WM_MDITILE ¶

    WM_MDITILE :: 0x0226

    WM_MEASUREITEM ¶

    WM_MEASUREITEM :: 0x002c

    WM_MENUCHAR ¶

    WM_MENUCHAR :: 0x0120

    WM_MENUCOMMAND ¶

    WM_MENUCOMMAND :: 0x0126

    WM_MENUDRAG ¶

    WM_MENUDRAG :: 0x0123

    WM_MENUGETOBJECT ¶

    WM_MENUGETOBJECT :: 0x0124

    WM_MENURBUTTONUP ¶

    WM_MENURBUTTONUP :: 0x0122

    WM_MENUSELECT ¶

    WM_MENUSELECT :: 0x011f

    WM_MOUSEACTIVATE ¶

    WM_MOUSEACTIVATE :: 0x0021

    WM_MOUSEFIRST ¶

    WM_MOUSEFIRST :: 0x0200

    WM_MOUSEHOVER ¶

    WM_MOUSEHOVER :: 0x02a1

    WM_MOUSEHWHEEL ¶

    WM_MOUSEHWHEEL :: 0x020e

    WM_MOUSELAST ¶

    WM_MOUSELAST :: 0x0209

    WM_MOUSELEAVE ¶

    WM_MOUSELEAVE :: 0x02a3

    WM_MOUSEMOVE ¶

    WM_MOUSEMOVE :: 0x0200

    WM_MOUSEWHEEL ¶

    WM_MOUSEWHEEL :: 0x020a

    WM_MOVE ¶

    WM_MOVE :: 0x0003

    WM_MOVING ¶

    WM_MOVING :: 0x0216

    WM_NCACTIVATE ¶

    WM_NCACTIVATE :: 0x0086

    WM_NCCALCSIZE ¶

    WM_NCCALCSIZE :: 0x0083

    WM_NCCREATE ¶

    WM_NCCREATE :: 0x0081

    WM_NCDESTROY ¶

    WM_NCDESTROY :: 0x0082

    WM_NCHITTEST ¶

    WM_NCHITTEST :: 0x0084

    WM_NCLBUTTONDBLCLK ¶

    WM_NCLBUTTONDBLCLK :: 0x00a3

    WM_NCLBUTTONDOWN ¶

    WM_NCLBUTTONDOWN :: 0x00a1

    WM_NCLBUTTONUP ¶

    WM_NCLBUTTONUP :: 0x00a2

    WM_NCMBUTTONDBLCLK ¶

    WM_NCMBUTTONDBLCLK :: 0x00a9

    WM_NCMBUTTONDOWN ¶

    WM_NCMBUTTONDOWN :: 0x00a7

    WM_NCMBUTTONUP ¶

    WM_NCMBUTTONUP :: 0x00a8

    WM_NCMOUSEHOVER ¶

    WM_NCMOUSEHOVER :: 0x02a0

    WM_NCMOUSELEAVE ¶

    WM_NCMOUSELEAVE :: 0x02a2

    WM_NCMOUSEMOVE ¶

    WM_NCMOUSEMOVE :: 0x00a0

    WM_NCPAINT ¶

    WM_NCPAINT :: 0x0085

    WM_NCPOINTERDOWN ¶

    WM_NCPOINTERDOWN :: 0x0242

    WM_NCPOINTERUP ¶

    WM_NCPOINTERUP :: 0x0243

    WM_NCPOINTERUPDATE ¶

    WM_NCPOINTERUPDATE :: 0x0241

    WM_NCRBUTTONDBLCLK ¶

    WM_NCRBUTTONDBLCLK :: 0x00a6

    WM_NCRBUTTONDOWN ¶

    WM_NCRBUTTONDOWN :: 0x00a4

    WM_NCRBUTTONUP ¶

    WM_NCRBUTTONUP :: 0x00a5

    WM_NCXBUTTONDBLCLK ¶

    WM_NCXBUTTONDBLCLK :: 0x00ad

    WM_NCXBUTTONDOWN ¶

    WM_NCXBUTTONDOWN :: 0x00ab

    WM_NCXBUTTONUP ¶

    WM_NCXBUTTONUP :: 0x00ac

    WM_NEXTDLGCTL ¶

    WM_NEXTDLGCTL :: 0x0028

    WM_NEXTMENU ¶

    WM_NEXTMENU :: 0x0213

    WM_NOTIFY ¶

    WM_NOTIFY :: 0x004e

    WM_NOTIFYFORMAT ¶

    WM_NOTIFYFORMAT :: 0x0055

    WM_NULL ¶

    WM_NULL :: 0x0000

    WM_PAINT ¶

    WM_PAINT :: 0x000f

    WM_PAINTCLIPBOARD ¶

    WM_PAINTCLIPBOARD :: 0x0309

    WM_PAINTICON ¶

    WM_PAINTICON :: 0x0026

    WM_PALETTECHANGED ¶

    WM_PALETTECHANGED :: 0x0311

    WM_PALETTEISCHANGING ¶

    WM_PALETTEISCHANGING :: 0x0310

    WM_PARENTNOTIFY ¶

    WM_PARENTNOTIFY :: 0x0210

    WM_PASTE ¶

    WM_PASTE :: 0x0302

    WM_PENCTL ¶

    WM_PENCTL :: 0x0385

    WM_PENEVENT ¶

    WM_PENEVENT :: 0x0388

    WM_PENMISC ¶

    WM_PENMISC :: 0x0386

    WM_PENMISCINFO ¶

    WM_PENMISCINFO :: 0x0383

    WM_PENWINFIRST ¶

    WM_PENWINFIRST :: 0x0380

    WM_PENWINLAST ¶

    WM_PENWINLAST :: 0x038f

    WM_POINTERACTIVATE ¶

    WM_POINTERACTIVATE :: 0x024b

    WM_POINTERCAPTURECHANGED ¶

    WM_POINTERCAPTURECHANGED :: 0x024c

    WM_POINTERDEVICECHANGE ¶

    WM_POINTERDEVICECHANGE :: 0x0238

    WM_POINTERDEVICEINRANGE ¶

    WM_POINTERDEVICEINRANGE :: 0x0239

    WM_POINTERDEVICEOUTOFRANGE ¶

    WM_POINTERDEVICEOUTOFRANGE :: 0x023a

    WM_POINTERDOWN ¶

    WM_POINTERDOWN :: 0x0246

    WM_POINTERENTER ¶

    WM_POINTERENTER :: 0x0249

    WM_POINTERHWHEEL ¶

    WM_POINTERHWHEEL :: 0x024f

    WM_POINTERLEAVE ¶

    WM_POINTERLEAVE :: 0x024a

    WM_POINTERROUTEDAWAY ¶

    WM_POINTERROUTEDAWAY :: 0x0252

    WM_POINTERROUTEDRELEASED ¶

    WM_POINTERROUTEDRELEASED :: 0x0253

    WM_POINTERROUTEDTO ¶

    WM_POINTERROUTEDTO :: 0x0251

    WM_POINTERUP ¶

    WM_POINTERUP :: 0x0247

    WM_POINTERUPDATE ¶

    WM_POINTERUPDATE :: 0x0245

    WM_POINTERWHEEL ¶

    WM_POINTERWHEEL :: 0x024e

    WM_POWER ¶

    WM_POWER :: 0x0048

    WM_POWERBROADCAST ¶

    WM_POWERBROADCAST :: 0x0218

    WM_PRINT ¶

    WM_PRINT :: 0x0317

    WM_PRINTCLIENT ¶

    WM_PRINTCLIENT :: 0x0318

    WM_PSD_ENVSTAMPRECT ¶

    WM_PSD_ENVSTAMPRECT :: 0x0405

    WM_PSD_FULLPAGERECT ¶

    WM_PSD_FULLPAGERECT :: 0x0401

    WM_PSD_GREEKTEXTRECT ¶

    WM_PSD_GREEKTEXTRECT :: 0x0404

    WM_PSD_MARGINRECT ¶

    WM_PSD_MARGINRECT :: 0x0403

    WM_PSD_MINMARGINRECT ¶

    WM_PSD_MINMARGINRECT :: 0x0402

    WM_PSD_PAGESETUPDLG ¶

    WM_PSD_PAGESETUPDLG :: 0x0400

    WM_PSD_YAFULLPAGERECT ¶

    WM_PSD_YAFULLPAGERECT :: 0x0406

    WM_QUERYDRAGICON ¶

    WM_QUERYDRAGICON :: 0x0037

    WM_QUERYENDSESSION ¶

    WM_QUERYENDSESSION :: 0x0011

    WM_QUERYNEWPALETTE ¶

    WM_QUERYNEWPALETTE :: 0x030f

    WM_QUERYOPEN ¶

    WM_QUERYOPEN :: 0x0013

    WM_QUERYUISTATE ¶

    WM_QUERYUISTATE :: 0x0129

    WM_QUEUESYNC ¶

    WM_QUEUESYNC :: 0x0023

    WM_QUIT ¶

    WM_QUIT :: 0x0012

    WM_RASDIALEVENT ¶

    WM_RASDIALEVENT :: 0xcccd

    WM_RBUTTONDBLCLK ¶

    WM_RBUTTONDBLCLK :: 0x0206

    WM_RBUTTONDOWN ¶

    WM_RBUTTONDOWN :: 0x0204

    WM_RBUTTONUP ¶

    WM_RBUTTONUP :: 0x0205

    WM_RCRESULT ¶

    WM_RCRESULT :: 0x0381

    WM_RENDERALLFORMATS ¶

    WM_RENDERALLFORMATS :: 0x0306

    WM_RENDERFORMAT ¶

    WM_RENDERFORMAT :: 0x0305

    WM_SETCURSOR ¶

    WM_SETCURSOR :: 0x0020

    WM_SETFOCUS ¶

    WM_SETFOCUS :: 0x0007

    WM_SETFONT ¶

    WM_SETFONT :: 0x0030

    WM_SETHOTKEY ¶

    WM_SETHOTKEY :: 0x0032

    WM_SETICON ¶

    WM_SETICON :: 0x0080

    WM_SETREDRAW ¶

    WM_SETREDRAW :: 0x000b

    WM_SETTEXT ¶

    WM_SETTEXT :: 0x000c

    WM_SETTINGCHANGE ¶

    WM_SETTINGCHANGE :: WM_WININICHANGE

    WM_SHOWWINDOW ¶

    WM_SHOWWINDOW :: 0x0018

    WM_SIZE ¶

    WM_SIZE :: 0x0005

    WM_SIZECLIPBOARD ¶

    WM_SIZECLIPBOARD :: 0x030b

    WM_SIZING ¶

    WM_SIZING :: 0x0214

    WM_SKB ¶

    WM_SKB :: 0x0384

    WM_SPOOLERSTATUS ¶

    WM_SPOOLERSTATUS :: 0x002a

    WM_STYLECHANGED ¶

    WM_STYLECHANGED :: 0x007d

    WM_STYLECHANGING ¶

    WM_STYLECHANGING :: 0x007c

    WM_SYNCPAINT ¶

    WM_SYNCPAINT :: 0x0088

    WM_SYSCHAR ¶

    WM_SYSCHAR :: 0x0106

    WM_SYSCOLORCHANGE ¶

    WM_SYSCOLORCHANGE :: 0x0015

    WM_SYSCOMMAND ¶

    WM_SYSCOMMAND :: 0x0112

    WM_SYSDEADCHAR ¶

    WM_SYSDEADCHAR :: 0x0107

    WM_SYSKEYDOWN ¶

    WM_SYSKEYDOWN :: 0x0104

    WM_SYSKEYUP ¶

    WM_SYSKEYUP :: 0x0105

    WM_SYSTIMER ¶

    WM_SYSTIMER :: 0x0118

    WM_TABLET_FIRST ¶

    WM_TABLET_FIRST :: 0x02c0

    WM_TABLET_LAST ¶

    WM_TABLET_LAST :: 0x02df

    WM_TCARD ¶

    WM_TCARD :: 0x0052

    WM_THEMECHANGED ¶

    WM_THEMECHANGED :: 0x031A

    WM_TIMECHANGE ¶

    WM_TIMECHANGE :: 0x001e

    WM_TIMER ¶

    WM_TIMER :: 0x0113

    WM_TOUCH ¶

    WM_TOUCH :: 0x0240

    WM_TOUCHHITTESTING ¶

    WM_TOUCHHITTESTING :: 0x024d

    WM_UNDO ¶

    WM_UNDO :: 0x0304

    WM_UNICHAR ¶

    WM_UNICHAR :: 0x0109

    WM_UNINITMENUPOPUP ¶

    WM_UNINITMENUPOPUP :: 0x0125

    WM_UPDATEUISTATE ¶

    WM_UPDATEUISTATE :: 0x0128

    WM_USER ¶

    WM_USER :: 0x0400

    WM_USERCHANGED ¶

    WM_USERCHANGED :: 0x0054

    WM_VKEYTOITEM ¶

    WM_VKEYTOITEM :: 0x002e

    WM_VSCROLL ¶

    WM_VSCROLL :: 0x0115

    WM_VSCROLLCLIPBOARD ¶

    WM_VSCROLLCLIPBOARD :: 0x030a

    WM_WINDOWPOSCHANGED ¶

    WM_WINDOWPOSCHANGED :: 0x0047

    WM_WINDOWPOSCHANGING ¶

    WM_WINDOWPOSCHANGING :: 0x0046

    WM_WININICHANGE ¶

    WM_WININICHANGE :: 0x001a

    WM_WNT_CONVERTREQUESTEX ¶

    WM_WNT_CONVERTREQUESTEX :: 0x0109

    WM_WTSSESSION_CHANGE ¶

    WM_WTSSESSION_CHANGE :: 0x02b1

    WM_XBUTTONDBLCLK ¶

    WM_XBUTTONDBLCLK :: 0x020d

    WM_XBUTTONDOWN ¶

    WM_XBUTTONDOWN :: 0x020b

    WM_XBUTTONUP ¶

    WM_XBUTTONUP :: 0x020c

    WOM_CLOSE ¶

    WOM_CLOSE :: MM_WOM_CLOSE

    WOM_DONE ¶

    WOM_DONE :: MM_WOM_DONE

    WOM_OPEN ¶

    WOM_OPEN :: MM_WOM_OPEN

    WRITE_DAC ¶

    WRITE_DAC: u32 : 0x00040000

    WRITE_OWNER ¶

    WRITE_OWNER: u32 : 0x00080000

    WSADESCRIPTION_LEN ¶

    WSADESCRIPTION_LEN :: 256

    WSAEACCES ¶

    WSAEACCES :: 10013
     

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

    WSAEADDRINUSE ¶

    WSAEADDRINUSE :: 10048
     

    Endpoint being bound is in use by another socket.

    WSAEADDRNOTAVAIL ¶

    WSAEADDRNOTAVAIL :: 10049
     

    Not a valid local IP address on this computer.

    WSAEAFNOSUPPORT ¶

    WSAEAFNOSUPPORT :: 10047
     

    Address family not supported

    WSAEALREADY ¶

    WSAEALREADY :: 10037
     

    Already connecting in parallel.

    WSAECONNABORTED ¶

    WSAECONNABORTED :: 10053
     

    Connection has been aborted by software in the host machine.

    WSAECONNREFUSED ¶

    WSAECONNREFUSED :: 10061
     

    The remote machine is not listening on that endpoint.

    WSAECONNRESET ¶

    WSAECONNRESET :: 10054
     

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

    WSAEFAULT ¶

    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 ¶

    WSAEHOSTDOWN :: 10064
     

    Destination host was down.

    WSAEHOSTUNREACH ¶

    WSAEHOSTUNREACH :: 10065
     

    The remote machine is not connected to the network.

    WSAEINPROGRESS ¶

    WSAEINPROGRESS :: 10036
     

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

    WSAEINTR ¶

    WSAEINTR :: 10004
     

    Networking errors

    WSAEINVAL ¶

    WSAEINVAL :: 10022
     

    Invalid argument supplied

    WSAEINVALIDPROCTABLE ¶

    WSAEINVALIDPROCTABLE :: 10104
     

    Invalid or incomplete procedure table was returned

    WSAEINVALIDPROVIDER ¶

    WSAEINVALIDPROVIDER :: 10105
     

    Service provider version is not 2.2

    WSAEISCONN ¶

    WSAEISCONN :: 10056
     

    The socket is already connected.

    WSAEMFILE ¶

    WSAEMFILE :: 10024
     

    SOCKET handles exhausted

    WSAEMSGSIZE ¶

    WSAEMSGSIZE :: 10040
     

    Message was truncated because it exceeded max datagram size.

    WSAENETDOWN ¶

    WSAENETDOWN :: 10050
     

    Network subsystem failure on the local machine.

    WSAENETRESET ¶

    WSAENETRESET :: 10052
     

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

    WSAENETUNREACH ¶

    WSAENETUNREACH :: 10051
     

    The local machine is not connected to the network.

    WSAENOBUFS ¶

    WSAENOBUFS :: 10055
     

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

    WSAENOPROTOOPT ¶

    WSAENOPROTOOPT :: 10042
     

    TODO

    WSAENOTCONN ¶

    WSAENOTCONN :: 10057
     

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

    WSAENOTINITIALISED ¶

    WSAENOTINITIALISED :: 10093
     

    Needs WSAStartup call

    WSAENOTSOCK ¶

    WSAENOTSOCK :: 10038
     

    Not a socket.

    WSAEOPNOTSUPP ¶

    WSAEOPNOTSUPP :: 10045
     

    Attempt to accept on non-stream socket, etc.

    WSAEPROTONOSUPPORT ¶

    WSAEPROTONOSUPPORT :: 10043
     

    Protocol not supported

    WSAEPROTOTYPE ¶

    WSAEPROTOTYPE :: 10041
     

    Wrong protocol for the provided socket

    WSAEPROVIDERFAILEDINIT ¶

    WSAEPROVIDERFAILEDINIT :: 10106
     

    Service provider failed to initialize

    WSAESHUTDOWN ¶

    WSAESHUTDOWN :: 10058
     

    The socket has been shutdown in the direction required.

    WSAESOCKTNOSUPPORT ¶

    WSAESOCKTNOSUPPORT :: 10044
     

    Socket type not supported in the given address family

    WSAETIMEDOUT ¶

    WSAETIMEDOUT :: 10060
     

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

    WSAEWOULDBLOCK ¶

    WSAEWOULDBLOCK :: 10035
     

    No data is ready yet

    WSAID_ACCEPTEX ¶

    WSAID_ACCEPTEX :: GUID{0xb5367df1, 0xcbac, 0x11cf, {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}}

    WSAID_CONNECTX ¶

    WSAID_CONNECTX :: GUID{0x25a207b9, 0xddf3, 0x4660, {0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e}}

    WSAID_GETACCEPTEXSOCKADDRS ¶

    WSAID_GETACCEPTEXSOCKADDRS :: GUID{0xb5367df2, 0xcbac, 0x11cf, {0x95, 0xca, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92}}

    WSAPROTOCOL_LEN ¶

    WSAPROTOCOL_LEN :: 255

    WSASYS_STATUS_LEN ¶

    WSASYS_STATUS_LEN :: 128

    WSA_FLAG_ACCESS_SYSTEM_SECURITY ¶

    WSA_FLAG_ACCESS_SYSTEM_SECURITY :: 32

    WSA_FLAG_MULTIPOINT_C_LEAF ¶

    WSA_FLAG_MULTIPOINT_C_LEAF :: 4

    WSA_FLAG_MULTIPOINT_C_ROOT ¶

    WSA_FLAG_MULTIPOINT_C_ROOT :: 2

    WSA_FLAG_MULTIPOINT_D_LEAF ¶

    WSA_FLAG_MULTIPOINT_D_LEAF :: 16

    WSA_FLAG_MULTIPOINT_D_ROOT ¶

    WSA_FLAG_MULTIPOINT_D_ROOT :: 8

    WSA_FLAG_NO_HANDLE_INHERIT ¶

    WSA_FLAG_NO_HANDLE_INHERIT :: 128

    WSA_FLAG_OVERLAPPED ¶

    WSA_FLAG_OVERLAPPED :: 1
     

    Networking

    WS_BORDER ¶

    WS_BORDER: u32 : 0x0080_0000

    WS_CAPTION ¶

    WS_CAPTION: u32 : 0x00C0_0000

    WS_CHILD ¶

    WS_CHILD: u32 : 0x4000_0000

    WS_CHILDWINDOW ¶

    WS_CHILDWINDOW: u32 : WS_CHILD

    WS_CLIPCHILDREN ¶

    WS_CLIPCHILDREN: u32 : 0x0200_0000

    WS_CLIPSIBLINGS ¶

    WS_CLIPSIBLINGS: u32 : 0x0400_0000

    WS_DISABLED ¶

    WS_DISABLED: u32 : 0x0800_0000

    WS_DLGFRAME ¶

    WS_DLGFRAME: u32 : 0x0040_0000

    WS_EX_ACCEPTFILES ¶

    WS_EX_ACCEPTFILES: u32 : 0x0000_0010

    WS_EX_APPWINDOW ¶

    WS_EX_APPWINDOW: u32 : 0x0004_0000

    WS_EX_CLIENTEDGE ¶

    WS_EX_CLIENTEDGE: u32 : 0x0000_0200

    WS_EX_COMPOSITED ¶

    WS_EX_COMPOSITED: u32 : 0x0200_0000

    WS_EX_CONTEXTHELP ¶

    WS_EX_CONTEXTHELP: u32 : 0x0000_0400

    WS_EX_CONTROLPARENT ¶

    WS_EX_CONTROLPARENT: u32 : 0x0001_0000

    WS_EX_DLGMODALFRAME ¶

    WS_EX_DLGMODALFRAME: u32 : 0x0000_0001

    WS_EX_DRAGDETECT ¶

    WS_EX_DRAGDETECT: u32 : 0x0000_0002
     

    undocumented

    WS_EX_LAYERED ¶

    WS_EX_LAYERED: u32 : 0x0008_0000

    WS_EX_LAYOUTRTL ¶

    WS_EX_LAYOUTRTL: u32 : 0x0040_0000

    WS_EX_LEFT ¶

    WS_EX_LEFT: u32 : 0x0000_0000

    WS_EX_LEFTSCROLLBAR ¶

    WS_EX_LEFTSCROLLBAR: u32 : 0x0000_4000

    WS_EX_LTRREADING ¶

    WS_EX_LTRREADING: u32 : 0x0000_0000

    WS_EX_MDICHILD ¶

    WS_EX_MDICHILD: u32 : 0x0000_0040

    WS_EX_NOACTIVATE ¶

    WS_EX_NOACTIVATE: u32 : 0x0800_0000

    WS_EX_NOINHERITLAYOUT ¶

    WS_EX_NOINHERITLAYOUT: u32 : 0x0010_0000

    WS_EX_NOPARENTNOTIFY ¶

    WS_EX_NOPARENTNOTIFY: u32 : 0x0000_0004

    WS_EX_NOREDIRECTIONBITMAP ¶

    WS_EX_NOREDIRECTIONBITMAP: u32 : 0x0020_0000

    WS_EX_OVERLAPPEDWINDOW ¶

    WS_EX_OVERLAPPEDWINDOW: u32 : WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE

    WS_EX_PALETTEWINDOW ¶

    WS_EX_PALETTEWINDOW: u32 : WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST

    WS_EX_RIGHT ¶

    WS_EX_RIGHT: u32 : 0x0000_1000

    WS_EX_RIGHTSCROLLBAR ¶

    WS_EX_RIGHTSCROLLBAR: u32 : 0x0000_0000

    WS_EX_RTLREADING ¶

    WS_EX_RTLREADING: u32 : 0x0000_2000

    WS_EX_STATICEDGE ¶

    WS_EX_STATICEDGE: u32 : 0x0002_0000

    WS_EX_TOOLWINDOW ¶

    WS_EX_TOOLWINDOW: u32 : 0x0000_0080

    WS_EX_TOPMOST ¶

    WS_EX_TOPMOST: u32 : 0x0000_0008

    WS_EX_TRANSPARENT ¶

    WS_EX_TRANSPARENT: u32 : 0x0000_0020

    WS_EX_WINDOWEDGE ¶

    WS_EX_WINDOWEDGE: u32 : 0x0000_0100

    WS_GROUP ¶

    WS_GROUP: u32 : 0x0002_0000

    WS_HSCROLL ¶

    WS_HSCROLL: u32 : 0x0010_0000

    WS_ICONIC ¶

    WS_ICONIC: u32 : 0x2000_0000

    WS_MAXIMIZE ¶

    WS_MAXIMIZE: u32 : 0x0100_0000

    WS_MAXIMIZEBOX ¶

    WS_MAXIMIZEBOX: u32 : 0x0001_0000

    WS_MINIMIZE ¶

    WS_MINIMIZE: u32 : 0x2000_0000

    WS_MINIMIZEBOX ¶

    WS_MINIMIZEBOX: u32 : 0x0002_0000

    WS_OVERLAPPED ¶

    WS_OVERLAPPED: u32 : 0x0000_0000

    WS_OVERLAPPEDWINDOW ¶

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

    WS_POPUP ¶

    WS_POPUP: u32 : 0x8000_0000

    WS_POPUPWINDOW ¶

    WS_POPUPWINDOW: u32 : WS_POPUP | WS_BORDER | WS_SYSMENU

    WS_SIZEBOX ¶

    WS_SIZEBOX: u32 : 0x0004_0000

    WS_SYSMENU ¶

    WS_SYSMENU: u32 : 0x0008_0000

    WS_TABSTOP ¶

    WS_TABSTOP: u32 : 0x0001_0000

    WS_THICKFRAME ¶

    WS_THICKFRAME: u32 : 0x0004_0000

    WS_TILED ¶

    WS_TILED: u32 : 0x0000_0000

    WS_TILEDWINDOW ¶

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

    WS_VISIBLE ¶

    WS_VISIBLE: u32 : 0x1000_0000

    WS_VSCROLL ¶

    WS_VSCROLL: u32 : 0x0020_0000

    XBUTTON1 ¶

    XBUTTON1 :: 0x0001
     

    XButton values are WORD flags

    XBUTTON2 ¶

    XBUTTON2 :: 0x0002

    Variables

    CLSID_FileOpenDialog ¶

    CLSID_FileOpenDialog: ^GUID = …

    CLSID_FileSaveDialog ¶

    CLSID_FileSaveDialog: ^GUID = …

    CLSID_TaskbarList ¶

    CLSID_TaskbarList: ^GUID = …

    IDC_APPSTARTING ¶

    IDC_APPSTARTING: cstring = …

    IDC_ARROW ¶

    IDC_ARROW: cstring = …

    IDC_CROSS ¶

    IDC_CROSS: cstring = …

    IDC_HAND ¶

    IDC_HAND: cstring = …

    IDC_HELP ¶

    IDC_HELP: cstring = …

    IDC_IBEAM ¶

    IDC_IBEAM: cstring = …

    IDC_ICON ¶

    IDC_ICON: cstring = …

    IDC_NO ¶

    IDC_NO: cstring = …

    IDC_SIZE ¶

    IDC_SIZE: cstring = …

    IDC_SIZEALL ¶

    IDC_SIZEALL: cstring = …

    IDC_SIZENESW ¶

    IDC_SIZENESW: cstring = …

    IDC_SIZENS ¶

    IDC_SIZENS: cstring = …

    IDC_SIZENWSE ¶

    IDC_SIZENWSE: cstring = …

    IDC_SIZEWE ¶

    IDC_SIZEWE: cstring = …

    IDC_UPARROW ¶

    IDC_UPARROW: cstring = …

    IDC_WAIT ¶

    IDC_WAIT: cstring = …

    IDI_APPLICATION ¶

    IDI_APPLICATION: cstring = …

    IDI_ASTERISK ¶

    IDI_ASTERISK: cstring = …

    IDI_ERROR ¶

    IDI_ERROR: cstring = …

    IDI_EXCLAMATION ¶

    IDI_EXCLAMATION: cstring = …

    IDI_HAND ¶

    IDI_HAND: cstring = …

    IDI_INFORMATION ¶

    IDI_INFORMATION: cstring = …

    IDI_QUESTION ¶

    IDI_QUESTION: cstring = …

    IDI_SHIELD ¶

    IDI_SHIELD: cstring = …

    IDI_WARNING ¶

    IDI_WARNING: cstring = …
    IDI_WINLOGO: cstring = …

    IID_IFileDialog ¶

    IID_IFileDialog: ^GUID = …

    IID_IFileOpenDialog ¶

    IID_IFileOpenDialog: ^GUID = …

    IID_IFileSaveDialog ¶

    IID_IFileSaveDialog: ^GUID = …

    IID_ITaskbarList ¶

    IID_ITaskbarList: ^GUID = …

    IID_ITaskbarList2 ¶

    IID_ITaskbarList2: ^GUID = …

    IID_ITaskbarList3 ¶

    IID_ITaskbarList3: ^GUID = …

    wglCreateContextAttribsARB ¶

    wglCreateContextAttribsARB: CreateContextAttribsARBType
     

    Procedures

    Procedures

    AccessCheck ¶

    AccessCheck :: proc "stdcall" (
    	pSecurityDescriptor: rawptr, 
    	ClientToken:         HANDLE, 
    	DesiredAccess:       u32, 
    	GenericMapping:      ^GENERIC_MAPPING, 
    	PrivilegeSet:        ^PRIVILEGE_SET, 
    	PrivilegeSetLength:  ^u32, 
    	GrantedAccess:       ^u32, 
    	AccessStatus:        ^BOOL, 
    ) -> BOOL ---

    AcquireSRWLockExclusive ¶

    AcquireSRWLockExclusive :: proc "stdcall" (SRWLock: ^SRWLOCK) ---

    AcquireSRWLockShared ¶

    AcquireSRWLockShared :: proc "stdcall" (SRWLock: ^SRWLOCK) ---

    AddVectoredContinueHandler ¶

    AddVectoredContinueHandler :: proc "stdcall" (FirstHandler: u32, VectoredHandler: PVECTORED_EXCEPTION_HANDLER) -> rawptr ---

    AddVectoredExceptionHandler ¶

    AddVectoredExceptionHandler :: proc "stdcall" (FirstHandler: u32, VectoredHandler: PVECTORED_EXCEPTION_HANDLER) -> rawptr ---

    AdjustWindowRect ¶

    AdjustWindowRect :: proc "stdcall" (lpRect: ^RECT, dwStyle: u32, bMenu: BOOL) -> BOOL ---

    AdjustWindowRectEx ¶

    AdjustWindowRectEx :: proc "stdcall" (lpRect: ^RECT, dwStyle: u32, bMenu: BOOL, dwExStyle: u32) -> BOOL ---

    AdjustWindowRectExForDpi ¶

    AdjustWindowRectExForDpi :: proc "stdcall" (lpRect: ^RECT, dwStyle: u32, bMenu: BOOL, dwExStyle: u32, dpi: u32) -> BOOL ---

    AllocateUserPhysicalPages ¶

    AllocateUserPhysicalPages :: proc "stdcall" (hProcess: HANDLE, NumberOfPages: ^uint, PageArray: ^uint) -> BOOL ---

    AllocateUserPhysicalPagesNuma ¶

    AllocateUserPhysicalPagesNuma :: proc "stdcall" (hProcess: HANDLE, NumberOfPages: ^uint, PageArray: ^uint, nndPreferred: u32) -> BOOL ---

    AppendMenuW ¶

    AppendMenuW :: proc "stdcall" (hMenu: HMENU, uFlags: u32, uIDNewItem: uintptr, lpNewItem: [^]u16) -> BOOL ---

    BCryptGenRandom ¶

    BCryptGenRandom :: proc "stdcall" (hAlgorithm: rawptr, pBuffer: [^]u8, cbBuffer: u32, dwFlags: u32) -> i32 ---

    BeginPaint ¶

    BeginPaint :: proc "stdcall" (hWnd: HWND, lpPaint: ^PAINTSTRUCT) -> HDC ---

    BitBlt ¶

    BitBlt :: proc "stdcall" (
    	hdc:          HDC, 
    	x, y, cx, cy: i32, 
    	hdcSrc:       HDC, 
    	x1, y1:       i32, 
    	rop:          u32, 
    ) -> BOOL ---

    BluetoothDisplayDeviceProperties ¶

    BluetoothDisplayDeviceProperties :: proc "stdcall" (hwnd_parent: HWND, device_info: ^BLUETOOTH_DEVICE_INFO) -> BOOL ---

    BluetoothFindDeviceClose ¶

    BluetoothFindDeviceClose :: proc "stdcall" (handle: HBLUETOOTH_DEVICE_FIND) -> BOOL ---

    BluetoothFindFirstDevice ¶

    BluetoothFindFirstDevice :: proc "stdcall" (search_params: ^BLUETOOTH_DEVICE_SEARCH_PARAMS, device_info: ^BLUETOOTH_DEVICE_INFO) -> HBLUETOOTH_DEVICE_FIND ---
     

    Device enumeration

    BluetoothFindFirstRadio ¶

    BluetoothFindFirstRadio :: proc "stdcall" (find_radio_params: ^BLUETOOTH_FIND_RADIO_PARAMS, radio: ^HANDLE) -> HBLUETOOTH_RADIO_FIND ---
     

    Radio enumeration

    BluetoothFindNextDevice ¶

    BluetoothFindNextDevice :: proc "stdcall" (handle: HBLUETOOTH_DEVICE_FIND, device_info: ^BLUETOOTH_DEVICE_INFO) -> BOOL ---

    BluetoothFindNextRadio ¶

    BluetoothFindNextRadio :: proc "stdcall" (handle: HBLUETOOTH_RADIO_FIND, radio: ^HANDLE) -> BOOL ---

    BluetoothFindRadioClose ¶

    BluetoothFindRadioClose :: proc "stdcall" (handle: HBLUETOOTH_RADIO_FIND) -> BOOL ---

    BluetoothGetDeviceInfo ¶

    BluetoothGetDeviceInfo :: proc "stdcall" (radio: HANDLE, device_info: ^BLUETOOTH_DEVICE_INFO) -> u32 ---

    BluetoothGetRadioInfo ¶

    BluetoothGetRadioInfo :: proc "stdcall" (radio: HANDLE, radio_info: ^BLUETOOTH_RADIO_INFO) -> u32 ---

    BluetoothIsVersionAvailable ¶

    BluetoothIsVersionAvailable :: proc "stdcall" (major: u8, minor: u8) -> BOOL ---
     

    Version

    BringWindowToTop ¶

    BringWindowToTop :: proc "stdcall" (hWnd: HWND) -> BOOL ---

    BroadcastSystemMessageExW ¶

    BroadcastSystemMessageExW :: proc "stdcall" (
    	flags:    u32, 
    	lpInfo:   ^u32, 
    	Msg:      u32, 
    	wParam:   uintptr, 
    	lParam:   int, 
    	pbsmInfo: ^BSMINFO, 
    ) -> i32 ---

    BroadcastSystemMessageW ¶

    BroadcastSystemMessageW :: proc "stdcall" (flags: u32, lpInfo: ^u32, Msg: u32, wParam: uintptr, lParam: int) -> i32 ---

    CallNextHookEx ¶

    CallNextHookEx :: proc "stdcall" (hhk: HHOOK, nCode: i32, wParam: uintptr, lParam: int) -> int ---

    CallWindowProcW ¶

    CallWindowProcW :: proc "stdcall" (lpPrevWndFunc: WNDPROC, hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> int ---

    CancelIo ¶

    CancelIo :: proc "stdcall" (handle: HANDLE) -> BOOL ---

    ChoosePixelFormat ¶

    ChoosePixelFormat :: proc "stdcall" (hdc: HDC, ppfd: ^PIXELFORMATDESCRIPTOR) -> i32 ---

    ClientToScreen ¶

    ClientToScreen :: proc "stdcall" (hWnd: HWND, lpPoint: ^POINT) -> BOOL ---

    ClipCursor ¶

    ClipCursor :: proc "stdcall" (lpRect: ^RECT) -> BOOL ---

    CloseHandle ¶

    CloseHandle :: proc "stdcall" (hObject: HANDLE) -> BOOL ---

    CoCreateInstance ¶

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

    CoInitializeEx ¶

    CoInitializeEx :: proc "stdcall" (reserved: rawptr, co_init: COINIT) -> HRESULT ---

    CoTaskMemFree ¶

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

    CoUninitialize ¶

    CoUninitialize :: proc "stdcall" () ---

    CommDlgExtendedError ¶

    CommDlgExtendedError :: proc "stdcall" () -> u32 ---

    CommandLineToArgvW ¶

    CommandLineToArgvW :: proc "stdcall" (cmd_list: [^]u16, num_args: ^i32) -> ^[^]u16 ---

    CompareFileTime ¶

    CompareFileTime :: proc "stdcall" (lpFileTime1: ^FILETIME, lpFileTime2: ^FILETIME) -> i32 ---

    ConnectNamedPipe ¶

    ConnectNamedPipe :: proc "stdcall" (hNamedPipe: HANDLE, lpOverlapped: ^OVERLAPPED) -> BOOL ---

    ConvertSidToStringSidW ¶

    ConvertSidToStringSidW :: proc "stdcall" (Sid: ^SID, StringSid: ^[^]u16) -> 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 & DeleteProfileW.

    ConvertThreadToFiber ¶

    ConvertThreadToFiber :: proc "stdcall" (lpParameter: rawptr) -> rawptr ---

    CopyFileExW ¶

    CopyFileExW :: proc "stdcall" (
    	lpExistingFileName: [^]u16, 
    	lpNewFileName:      [^]u16, 
    	lpProgressRoutine:  LPPROGRESS_ROUTINE, 
    	lpData:             rawptr, 
    	pbCancel:           ^BOOL, 
    	dwCopyFlags:        u32, 
    ) -> BOOL ---

    CopyFileW ¶

    CopyFileW :: proc "stdcall" (lpExistingFileName: [^]u16, lpNewFileName: [^]u16, bFailIfExists: BOOL) -> BOOL ---

    CreateCompatibleBitmap ¶

    CreateCompatibleBitmap :: proc "stdcall" (hdc: HDC, cx, cy: i32) -> HBITMAP ---

    CreateCompatibleDC ¶

    CreateCompatibleDC :: proc "stdcall" (hdc: HDC) -> HDC ---

    CreateCursor ¶

    CreateCursor :: proc "stdcall" (
    	hInst:      HANDLE, 
    	xHotSpot:   i32, 
    	yHotSpot:   i32, 
    	nWidth:     i32, 
    	nHeight:    i32, 
    	pvANDPlane: rawptr, 
    	pvXORPlane: rawptr, 
    ) -> HCURSOR ---

    CreateDIBPatternBrush ¶

    CreateDIBPatternBrush :: proc "stdcall" (h: HGLOBAL, iUsage: u32) -> HBRUSH ---

    CreateDIBSection ¶

    CreateDIBSection :: proc "stdcall" (
    	hdc:      HDC, 
    	pbmi:     ^BITMAPINFO, 
    	usage:    u32, 
    	ppvBits:  rawptr, 
    	hSection: HANDLE, 
    	offset:   u32, 
    ) -> HBITMAP ---

    CreateDIBitmap ¶

    CreateDIBitmap :: proc "stdcall" (
    	hdc:    HDC, 
    	pbmih:  ^BITMAPINFOHEADER, 
    	flInit: u32, 
    	pjBits: rawptr, 
    	pbmi:   ^BITMAPINFO, 
    	iUsage: u32, 
    ) -> HBITMAP ---

    CreateDirectoryW ¶

    CreateDirectoryW :: proc "stdcall" (lpPathName: [^]u16, lpSecurityAttributes: ^SECURITY_ATTRIBUTES) -> BOOL ---

    CreateEventW ¶

    CreateEventW :: proc "stdcall" (lpEventAttributes: ^SECURITY_ATTRIBUTES, bManualReset: BOOL, bInitialState: BOOL, lpName: [^]u16) -> HANDLE ---

    CreateFiber ¶

    CreateFiber :: proc "stdcall" (dwStackSize: uint, lpStartAddress: LPFIBER_START_ROUTINE, lpParameter: rawptr) -> rawptr ---

    CreateFileMappingFromApp ¶

    CreateFileMappingFromApp :: proc "stdcall" (hFile: HANDLE, SecurityAttributes: ^SECURITY_ATTRIBUTES, PageProtection: u32, MaximumSize: u64, Name: [^]u16) -> HANDLE ---

    CreateFileMappingNumaW ¶

    CreateFileMappingNumaW :: proc "stdcall" (
    	hFile:                   HANDLE, 
    	lpFileMappingAttributes: ^SECURITY_ATTRIBUTES, 
    	flProtect:               u32, 
    	dwMaximumSizeHigh:       u32, 
    	dwMaximumSizeLow:        u32, 
    	lpName:                  [^]u16, 
    	nndPreferred:            u32, 
    ) -> HANDLE ---

    CreateFileMappingW ¶

    CreateFileMappingW :: proc "stdcall" (
    	hFile:                   HANDLE, 
    	lpFileMappingAttributes: ^SECURITY_ATTRIBUTES, 
    	flProtect:               u32, 
    	dwMaximumSizeHigh:       u32, 
    	dwMaximumSizeLow:        u32, 
    	lpName:                  [^]u16, 
    ) -> HANDLE ---

    CreateFileW ¶

    CreateFileW :: proc "stdcall" (
    	lpFileName:            [^]u16, 
    	dwDesiredAccess:       u32, 
    	dwShareMode:           u32, 
    	lpSecurityAttributes:  ^SECURITY_ATTRIBUTES, 
    	dwCreationDisposition: u32, 
    	dwFlagsAndAttributes:  u32, 
    	hTemplateFile:         HANDLE, 
    ) -> HANDLE ---

    CreateFontW ¶

    CreateFontW :: proc "stdcall" (
    	cHeight, cWidth, cEscapement, cOrientation, cWeight:      i32, 
    	bItalic, bUnderline, bStrikeOut, iCharSet, iOutPrecision: u32, 
    	iClipPrecision, iQuality, iPitchAndFamily:                u32, 
    	pszFaceName:                                              [^]u16, 
    ) -> HFONT ---

    CreateHardLinkW ¶

    CreateHardLinkW :: proc "stdcall" (lpSymlinkFileName: [^]u16, lpTargetFileName: [^]u16, lpSecurityAttributes: ^SECURITY_ATTRIBUTES) -> BOOL ---

    CreateIcon ¶

    CreateIcon :: proc "stdcall" (
    	hInstance:  HANDLE, 
    	nWidth:     i32, 
    	nHeight:    i32, 
    	cPlanes:    BYTE, 
    	cBitsPixel: BYTE, 
    	lpbANDbits: ^BYTE, 
    	lpbXORbits: ^BYTE, 
    ) -> HICON ---

    CreateIconFromResource ¶

    CreateIconFromResource :: proc "stdcall" (presbits: ^BYTE, dwResSize: u32, fIcon: BOOL, dwVer: u32) -> HICON ---

    CreateIoCompletionPort ¶

    CreateIoCompletionPort :: proc "stdcall" (FileHandle: HANDLE, ExistingCompletionPort: HANDLE, CompletionKey: ^uintptr, NumberOfConcurrentThreads: u32) -> HANDLE ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-createiocompletionport)

    CreateMemoryResourceNotification ¶

    CreateMemoryResourceNotification :: proc "stdcall" (NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE) -> HANDLE ---

    CreateNamedPipeW ¶

    CreateNamedPipeW :: proc "stdcall" (
    	lpName:               [^]u16, 
    	dwOpenMode:           u32, 
    	dwPipeMode:           u32, 
    	nMaxInstances:        u32, 
    	nOutBufferSize:       u32, 
    	nInBufferSize:        u32, 
    	nDefaultTimeOut:      u32, 
    	lpSecurityAttributes: ^SECURITY_ATTRIBUTES, 
    ) -> HANDLE ---

    CreatePipe ¶

    CreatePipe :: proc "stdcall" (hReadPipe, hWritePipe: ^HANDLE, lpPipeAttributes: ^SECURITY_ATTRIBUTES, nSize: u32) -> BOOL ---

    CreatePopupMenu ¶

    CreatePopupMenu :: proc "stdcall" () -> HMENU ---

    CreateProcessAsUserW ¶

    CreateProcessAsUserW :: proc "stdcall" (
    	hToken:               HANDLE, 
    	lpApplicationName:    [^]u16, 
    	lpCommandLine:        [^]u16, 
    	lpProcessAttributes:  ^SECURITY_ATTRIBUTES, 
    	lpThreadAttributes:   ^SECURITY_ATTRIBUTES, 
    	bInheritHandles:      BOOL, 
    	dwCreationFlags:      u32, 
    	lpEnvironment:        rawptr, 
    	lpCurrentDirectory:   [^]u16, 
    	lpStartupInfo:        ^STARTUPINFOW, 
    	lpProcessInformation: ^PROCESS_INFORMATION, 
    ) -> BOOL ---
     

    https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessasuserw

    CreateProcessW ¶

    CreateProcessW :: proc "stdcall" (
    	lpApplicationName:    [^]u16, 
    	lpCommandLine:        ^u16, 
    	lpProcessAttributes:  ^SECURITY_ATTRIBUTES, 
    	lpThreadAttributes:   ^SECURITY_ATTRIBUTES, 
    	bInheritHandles:      BOOL, 
    	dwCreationFlags:      u32, 
    	lpEnvironment:        rawptr, 
    	lpCurrentDirectory:   [^]u16, 
    	lpStartupInfo:        ^STARTUPINFOW, 
    	lpProcessInformation: ^PROCESS_INFORMATION, 
    ) -> BOOL ---

    CreateProcessWithLogonW ¶

    CreateProcessWithLogonW :: proc "stdcall" (
    	lpUsername:           [^]u16, 
    	lpDomain:             [^]u16, 
    	lpPassword:           [^]u16, 
    	dwLogonFlags:         u32, 
    	lpApplicationName:    [^]u16, 
    	lpCommandLine:        [^]u16, 
    	dwCreationFlags:      u32, 
    	lpEnvironment:        rawptr, 
    	lpCurrentDirectory:   [^]u16, 
    	lpStartupInfo:        ^STARTUPINFOW, 
    	lpProcessInformation: ^PROCESS_INFORMATION, 
    ) -> BOOL ---

    CreateProfile ¶

    CreateProfile :: proc "stdcall" (pszUserSid: [^]u16, pszUserName: [^]u16, pszProfilePath: [^]u16, 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 ¶

    CreateRectRgnIndirect :: proc "stdcall" (lprect: ^RECT) -> HRGN ---

    CreateRemoteThread ¶

    CreateRemoteThread :: proc "stdcall" (
    	hProcess:           HANDLE, 
    	lpThreadAttributes: ^SECURITY_ATTRIBUTES, 
    	dwStackSize:        uint, 
    	lpStartAddress:     proc "stdcall" (_: rawptr) -> u32, 
    	lpParameter:        rawptr, 
    	dwCreationFlags:    u32, 
    	lpThreadId:         ^u32, 
    ) -> HANDLE ---

    CreateSemaphoreW ¶

    CreateSemaphoreW :: proc "stdcall" (attributes: ^SECURITY_ATTRIBUTES, initial_count, maximum_count: i32, name: [^]u16) -> HANDLE ---

    CreateSolidBrush ¶

    CreateSolidBrush :: proc "stdcall" (color: u32) -> HBRUSH ---

    CreateThread ¶

    CreateThread :: proc "stdcall" (
    	lpThreadAttributes: ^SECURITY_ATTRIBUTES, 
    	dwStackSize:        uint, 
    	lpStartAddress:     proc "stdcall" (_: rawptr) -> u32, 
    	lpParameter:        rawptr, 
    	dwCreationFlags:    u32, 
    	lpThreadId:         ^u32, 
    ) -> HANDLE ---

    CreateWaitableTimerExW ¶

    CreateWaitableTimerExW :: proc "stdcall" (lpTimerAttributes: ^SECURITY_ATTRIBUTES, lpTimerName: [^]u16, dwFlags: u32, dwDesiredAccess: u32) -> HANDLE ---

    CreateWaitableTimerW ¶

    CreateWaitableTimerW :: proc "stdcall" (lpTimerAttributes: ^SECURITY_ATTRIBUTES, bManualReset: BOOL, lpTimerName: [^]u16) -> HANDLE ---

    CreateWindowExW ¶

    CreateWindowExW :: proc "stdcall" (
    	dwExStyle:    u32, 
    	lpClassName:  [^]u16, 
    	lpWindowName: [^]u16, 
    	dwStyle:      u32, 
    	X:            i32, 
    	Y:            i32, 
    	nWidth:       i32, 
    	nHeight:      i32, 
    	hWndParent:   HWND, 
    	hMenu:        HMENU, 
    	hInstance:    HANDLE, 
    	lpParam:      rawptr, 
    ) -> HWND ---

    CreateWindowW ¶

    CreateWindowW :: proc "stdcall" (
    	lpClassName:  [^]u16, 
    	lpWindowName: [^]u16, 
    	dwStyle:      u32, 
    	X:            i32, 
    	Y:            i32, 
    	nWidth:       i32, 
    	nHeight:      i32, 
    	hWndParent:   HWND, 
    	hMenu:        HMENU, 
    	hInstance:    HANDLE, 
    	lpParam:      rawptr, 
    ) -> HWND {…}

    CryptAcquireContextW ¶

    CryptAcquireContextW :: proc "stdcall" (hProv: ^HCRYPTPROV, szContainer, szProvider: [^]u16, dwProvType, dwFlags: u32) -> u32 ---

    CryptGenRandom ¶

    CryptGenRandom :: proc "stdcall" (hProv: HCRYPTPROV, dwLen: u32, buf: rawptr) -> u32 ---

    CryptReleaseContext ¶

    CryptReleaseContext :: proc "stdcall" (hProv: HCRYPTPROV, dwFlags: u32) -> u32 ---

    DefRawInputProc ¶

    DefRawInputProc :: proc "stdcall" (paRawInput: ^^RAWINPUT, nInput: i32, cbSizeHeader: u32) -> int ---

    DefWindowProcA ¶

    DefWindowProcA :: proc "stdcall" (hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> int ---

    DefWindowProcW ¶

    DefWindowProcW :: proc "stdcall" (hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> int ---

    DeleteCriticalSection ¶

    DeleteCriticalSection :: proc "stdcall" (CriticalSection: ^CRITICAL_SECTION) ---

    DeleteDC ¶

    DeleteDC :: proc "stdcall" (hdc: HDC) -> BOOL ---

    DeleteFiber ¶

    DeleteFiber :: proc "stdcall" (lpFiber: rawptr) ---

    DeleteFileW ¶

    DeleteFileW :: proc "stdcall" (lpPathName: [^]u16) -> BOOL ---

    DeleteObject ¶

    DeleteObject :: proc "stdcall" (ho: HGDIOBJ) -> BOOL ---

    DeleteProfileW ¶

    DeleteProfileW :: proc "stdcall" (lpSidString: [^]u16, lpProfilePath: [^]u16, lpComputerName: [^]u16) -> 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.

    DescribePixelFormat ¶

    DescribePixelFormat :: proc "stdcall" (hdc: HDC, iPixelFormat: i32, nBytes: u32, ppfd: ^PIXELFORMATDESCRIPTOR) -> i32 ---

    DestroyCursor ¶

    DestroyCursor :: proc "stdcall" (hCursor: HCURSOR) -> BOOL ---

    DestroyIcon ¶

    DestroyIcon :: proc "stdcall" (hIcon: HICON) -> BOOL ---

    DestroyMenu ¶

    DestroyMenu :: proc "stdcall" (hMenu: HMENU) -> BOOL ---

    DestroyWindow ¶

    DestroyWindow :: proc "stdcall" (hWnd: HWND) -> BOOL ---

    DeviceIoControl ¶

    DeviceIoControl :: proc "stdcall" (
    	hDevice:         HANDLE, 
    	dwIoControlCode: u32, 
    	lpInBuffer:      rawptr, 
    	nInBufferSize:   u32, 
    	lpOutBuffer:     rawptr, 
    	nOutBufferSize:  u32, 
    	lpBytesReturned: ^u32, 
    	lpOverlapped:    ^OVERLAPPED, 
    ) -> BOOL ---

    DiscardVirtualMemory ¶

    DiscardVirtualMemory :: proc "stdcall" (VirtualAddress: rawptr, Size: uint) -> u32 ---

    DisconnectNamedPipe ¶

    DisconnectNamedPipe :: proc "stdcall" (hNamedPipe: HANDLE) -> BOOL ---

    DispatchMessageW ¶

    DispatchMessageW :: proc "stdcall" (lpMsg: ^MSG) -> int ---

    DnsQuery_UTF8 ¶

    DnsQuery_UTF8 :: proc "stdcall" (
    	name:     cstring, 
    	type:     u16, 
    	options:  u32, 
    	extra:    rawptr, 
    	results:  ^^DNS_RECORD, 
    	reserved: rawptr, 
    ) -> DNS_STATUS ---

    DnsRecordListFree ¶

    DnsRecordListFree :: proc "stdcall" (list: ^DNS_RECORD, options: u32) ---

    DrawIcon ¶

    DrawIcon :: proc "stdcall" (hDC: HDC, X: i32, Y: i32, hIcon: HICON) -> BOOL ---

    DrawTextExW ¶

    DrawTextExW :: proc "stdcall" (
    	hdc:      HDC, 
    	lpchText: [^]u16, 
    	cchText:  i32, 
    	lprc:     ^RECT, 
    	format:   DrawTextFormat, 
    	lpdtp:    ^DRAWTEXTPARAMS, 
    ) -> i32 ---

    DrawTextW ¶

    DrawTextW :: proc "stdcall" (hdc: HDC, lpchText: [^]u16, cchText: i32, lprc: ^RECT, format: DrawTextFormat) -> i32 ---

    DuplicateHandle ¶

    DuplicateHandle :: proc "stdcall" (
    	hSourceProcessHandle: HANDLE, 
    	hSourceHandle:        HANDLE, 
    	hTargetProcessHandle: HANDLE, 
    	lpTargetHandle:       ^HANDLE, 
    	dwDesiredAccess:      u32, 
    	bInheritHandle:       BOOL, 
    	dwOptions:            u32, 
    ) -> BOOL ---

    DuplicateToken ¶

    DuplicateToken :: proc "stdcall" (ExistingTokenHandle: HANDLE, ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, DuplicateTokenHandle: ^HANDLE) -> BOOL ---

    DwmExtendFrameIntoClientArea ¶

    DwmExtendFrameIntoClientArea :: proc "stdcall" (hWnd: HWND, pMarInset: ^MARGINS) -> HRESULT ---

    DwmFlush ¶

    DwmFlush :: proc "stdcall" () -> HRESULT ---

    DwmGetWindowAttribute ¶

    DwmGetWindowAttribute :: proc "stdcall" (hWnd: HWND, dwAttribute: u32, pvAttribute: rawptr, cbAttribute: u32) -> HRESULT ---

    DwmIsCompositionEnabled ¶

    DwmIsCompositionEnabled :: proc "stdcall" (pfEnabled: ^BOOL) -> HRESULT ---

    DwmSetWindowAttribute ¶

    DwmSetWindowAttribute :: proc "stdcall" (hWnd: HWND, dwAttribute: u32, pvAttribute: rawptr, cbAttribute: u32) -> HRESULT ---

    EnableMenuItem ¶

    EnableMenuItem :: proc "stdcall" (hMenu: HMENU, uIDEnableItem: u32, uEnable: u32) -> BOOL ---

    EnableWindow ¶

    EnableWindow :: proc "stdcall" (hWnd: HWND, bEnable: BOOL) -> BOOL ---

    EndPaint ¶

    EndPaint :: proc "stdcall" (hWnd: HWND, lpPaint: ^PAINTSTRUCT) -> BOOL ---

    EnterCriticalSection ¶

    EnterCriticalSection :: proc "stdcall" (CriticalSection: ^CRITICAL_SECTION) ---

    EnumDisplayMonitors ¶

    EnumDisplayMonitors :: proc "stdcall" (hdc: HDC, lprcClip: ^RECT, lpfnEnum: Monitor_Enum_Proc, dwData: int) -> BOOL ---

    EnumDisplaySettingsW ¶

    EnumDisplaySettingsW :: proc "stdcall" (lpszDeviceName: [^]u16, iModeNum: u32, lpDevMode: ^DEVMODEW) -> BOOL ---

    EnumWindows ¶

    EnumWindows :: proc "stdcall" (lpEnumFunc: Window_Enum_Proc, lParam: int) -> BOOL ---

    EqualRect ¶

    EqualRect :: proc "stdcall" (lprc1: ^RECT, lprc2: ^RECT) -> BOOL ---

    ExitProcess ¶

    ExitProcess :: proc "stdcall" (uExitCode: u32) -> ! ---

    FILETIME_as_unix_nanoseconds ¶

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

    FileTimeToSystemTime ¶

    FileTimeToSystemTime :: proc "stdcall" (lpFileTime: ^FILETIME, lpSystemTime: ^SYSTEMTIME) -> BOOL ---

    FillRect ¶

    FillRect :: proc "stdcall" (hDC: HDC, lprc: ^RECT, hbr: HBRUSH) -> int ---

    FindClose ¶

    FindClose :: proc "stdcall" (findFile: HANDLE) -> BOOL ---

    FindCloseChangeNotification ¶

    FindCloseChangeNotification :: proc "stdcall" (hChangeHandle: HANDLE) -> BOOL ---

    FindFirstChangeNotificationW ¶

    FindFirstChangeNotificationW :: proc "stdcall" (lpPathName: ^u16, bWatchSubtree: BOOL, dwNotifyFilter: u32) -> HANDLE ---

    FindFirstFileW ¶

    FindFirstFileW :: proc "stdcall" (fileName: [^]u16, findFileData: ^WIN32_FIND_DATAW) -> HANDLE ---

    FindNextChangeNotification ¶

    FindNextChangeNotification :: proc "stdcall" (hChangeHandle: HANDLE) -> BOOL ---

    FindNextFileW ¶

    FindNextFileW :: proc "stdcall" (findFile: HANDLE, findFileData: ^WIN32_FIND_DATAW) -> BOOL ---

    FindWindowA ¶

    FindWindowA :: proc "stdcall" (lpClassName: cstring, lpWindowName: cstring) -> HWND ---

    FindWindowExA ¶

    FindWindowExA :: proc "stdcall" (hWndParent: HWND, hWndChildAfter: HWND, lpszClass: cstring, lpszWindow: cstring) -> HWND ---

    FindWindowExW ¶

    FindWindowExW :: proc "stdcall" (hWndParent: HWND, hWndChildAfter: HWND, lpszClass: [^]u16, lpszWindow: [^]u16) -> HWND ---

    FindWindowW ¶

    FindWindowW :: proc "stdcall" (lpClassName: [^]u16, lpWindowName: [^]u16) -> HWND ---

    FlushFileBuffers ¶

    FlushFileBuffers :: proc "stdcall" (hFile: HANDLE) -> BOOL ---

    FlushViewOfFile ¶

    FlushViewOfFile :: proc "stdcall" (lpBaseAddress: rawptr, dwNumberOfBytesToFlush: uint) -> BOOL ---

    FormatMessageW ¶

    FormatMessageW :: proc "stdcall" (
    	flags:  u32, 
    	lpSrc:  rawptr, 
    	msgId:  u32, 
    	langId: u32, 
    	buf:    ^u16, 
    	nsize:  u32, 
    	args:   rawptr, 
    ) -> u32 ---

    FreeAddrInfoExW ¶

    FreeAddrInfoExW :: proc "stdcall" (pAddrInfoEx: ^ADDRINFOEXW) ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-freeaddrinfoexw)

    FreeConsole ¶

    FreeConsole :: proc "stdcall" () -> BOOL ---

    FreeEnvironmentStringsW ¶

    FreeEnvironmentStringsW :: proc "stdcall" (env_ptr: ^u16) -> BOOL ---

    FreeLibrary ¶

    FreeLibrary :: proc "stdcall" (h: HMODULE) -> BOOL ---

    FreeUserPhysicalPages ¶

    FreeUserPhysicalPages :: proc "stdcall" (hProcess: HANDLE, NumberOfPages: ^uint, PageArray: ^uint) -> BOOL ---

    GET_KEYSTATE_WPARAM ¶

    GET_KEYSTATE_WPARAM :: proc "contextless" (wParam: uintptr) -> u16 {…}

    GET_NCHITTEST_WPARAM ¶

    GET_NCHITTEST_WPARAM :: proc "contextless" (wParam: uintptr) -> i16 {…}

    GET_SC_WPARAM ¶

    GET_SC_WPARAM :: proc "contextless" (wParam: uintptr) -> i32 {…}

    GET_WHEEL_DELTA_WPARAM ¶

    GET_WHEEL_DELTA_WPARAM :: proc "contextless" (wParam: uintptr) -> i16 {…}

    GET_XBUTTON_WPARAM ¶

    GET_XBUTTON_WPARAM :: proc "contextless" (wParam: uintptr) -> u16 {…}

    GET_X_LPARAM ¶

    GET_X_LPARAM :: proc "contextless" (lp: int) -> i32 {…}

    GET_Y_LPARAM ¶

    GET_Y_LPARAM :: proc "contextless" (lp: int) -> i32 {…}

    GenerateConsoleCtrlEvent ¶

    GenerateConsoleCtrlEvent :: proc "stdcall" (dwCtrlEvent: u32, dwProcessGroupId: u32) -> BOOL ---

    GetActiveWindow ¶

    GetActiveWindow :: proc "stdcall" () -> HWND ---

    GetAddrInfoExW ¶

    GetAddrInfoExW :: proc "stdcall" (
    	pName:               [^]u16, 
    	pServiceName:        [^]u16, 
    	dwNameSpace:         u32, 
    	lpNspId:             ^GUID, 
    	hints:               ^ADDRINFOEXW, 
    	ppResult:            ^^ADDRINFOEXW, 
    	timeout:             ^timeval, 
    	lpOverlapped:        ^OVERLAPPED, 
    	lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, 
    	lpHandle:            ^HANDLE, 
    ) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-getaddrinfoexw)

    GetAsyncKeyState ¶

    GetAsyncKeyState :: proc "stdcall" (vKey: i32) -> i16 ---

    GetCapture ¶

    GetCapture :: proc "stdcall" () -> HWND ---

    GetClassInfoExW ¶

    GetClassInfoExW :: proc "stdcall" (hInsatnce: HANDLE, lpszClass: [^]u16, lpwcx: ^WNDCLASSEXW) -> BOOL ---

    GetClassInfoW ¶

    GetClassInfoW :: proc "stdcall" (hInstance: HANDLE, lpClassNAme: [^]u16, lpWndClass: ^WNDCLASSW) -> BOOL ---

    GetClassLongPtrW ¶

    GetClassLongPtrW :: proc "stdcall" (hWnd: HWND, nIndex: i32) -> uint ---

    GetClassLongW ¶

    GetClassLongW :: proc "stdcall" (hWnd: HWND, nIndex: i32) -> u32 ---

    GetClassNameW ¶

    GetClassNameW :: proc "stdcall" (hWnd: HWND, lpClassName: ^u16, nMaxCount: i32) -> i32 ---

    GetClientRect ¶

    GetClientRect :: proc "stdcall" (hWnd: HWND, lpRect: ^RECT) -> BOOL ---

    GetCommState ¶

    GetCommState :: proc "stdcall" (handle: HANDLE, dcb: ^DCB) -> BOOL ---

    GetCommandLineW ¶

    GetCommandLineW :: proc "stdcall" () -> [^]u16 ---

    GetConsoleCursorInfo ¶

    GetConsoleCursorInfo :: proc "stdcall" (hConsoleOutput: HANDLE, lpConsoleCursorInfo: ^CONSOLE_CURSOR_INFO) -> BOOL ---

    GetConsoleMode ¶

    GetConsoleMode :: proc "stdcall" (hConsoleHandle: HANDLE, lpMode: ^u32) -> BOOL ---

    GetConsoleScreenBufferInfo ¶

    GetConsoleScreenBufferInfo :: proc "stdcall" (hConsoleOutput: HANDLE, lpConsoleScreenBufferInfo: ^CONSOLE_SCREEN_BUFFER_INFO) -> BOOL ---

    GetConsoleWindow ¶

    GetConsoleWindow :: proc "stdcall" () -> HWND ---

    GetCurrentDirectoryW ¶

    GetCurrentDirectoryW :: proc "stdcall" (nBufferLength: u32, lpBuffer: ^u16) -> u32 ---

    GetCurrentProcess ¶

    GetCurrentProcess :: proc "stdcall" () -> HANDLE ---

    GetCurrentProcessId ¶

    GetCurrentProcessId :: proc "stdcall" () -> u32 ---

    GetCurrentThread ¶

    GetCurrentThread :: proc "stdcall" () -> HANDLE ---

    GetCurrentThreadId ¶

    GetCurrentThreadId :: proc "stdcall" () -> u32 ---

    GetCursorPos ¶

    GetCursorPos :: proc "stdcall" (lpPoint: ^POINT) -> BOOL ---

    GetDC ¶

    GetDC :: proc "stdcall" (hWnd: HWND) -> HDC ---

    GetDCBrushColor ¶

    GetDCBrushColor :: proc "stdcall" (hdc: HDC) -> u32 ---

    GetDIBits ¶

    GetDIBits :: proc "stdcall" (
    	hdc:           HDC, 
    	hbm:           HBITMAP, 
    	start, cLines: u32, 
    	lpvBits:       rawptr, 
    	lpbmi:         ^BITMAPINFO, 
    	usage:         u32, 
    ) -> int ---

    GetDiskFreeSpaceExW ¶

    GetDiskFreeSpaceExW :: proc "stdcall" (lpDirectoryName: [^]u16, lpFreeBytesAvailableToCaller: ^ULARGE_INTEGER, lpTotalNumberOfBytes: ^ULARGE_INTEGER, lpTotalNumberOfFreeBytes: ^ULARGE_INTEGER) -> BOOL ---

    GetDlgCtrlID ¶

    GetDlgCtrlID :: proc "stdcall" (hWnd: HWND) -> i32 ---

    GetDlgItem ¶

    GetDlgItem :: proc "stdcall" (hDlg: HWND, nIDDlgItem: i32) -> HWND ---

    GetDpiForWindow ¶

    GetDpiForWindow :: proc "stdcall" (hwnd: HWND) -> u32 ---

    GetDpiFromDpiAwarenessContext ¶

    GetDpiFromDpiAwarenessContext :: proc "stdcall" (value: DPI_AWARENESS_CONTEXT) -> u32 ---

    GetEnvironmentStringsW ¶

    GetEnvironmentStringsW :: proc "stdcall" () -> ^u16 ---

    GetEnvironmentVariableW ¶

    GetEnvironmentVariableW :: proc "stdcall" (n: [^]u16, v: ^u16, nsize: u32) -> u32 ---

    GetExitCodeProcess ¶

    GetExitCodeProcess :: proc "stdcall" (hProcess: HANDLE, lpExitCode: ^u32) -> BOOL ---

    GetExitCodeThread ¶

    GetExitCodeThread :: proc "stdcall" (thread: HANDLE, exit_code: ^u32) -> BOOL ---

    GetFileAttributesExW ¶

    GetFileAttributesExW :: proc "stdcall" (lpFileName: [^]u16, fInfoLevelId: GET_FILEEX_INFO_LEVELS, lpFileInformation: rawptr) -> BOOL ---

    GetFileAttributesW ¶

    GetFileAttributesW :: proc "stdcall" (lpFileName: [^]u16) -> u32 ---

    GetFileInformationByHandle ¶

    GetFileInformationByHandle :: proc "stdcall" (hFile: HANDLE, lpFileInformation: ^BY_HANDLE_FILE_INFORMATION) -> BOOL ---

    GetFileInformationByHandleEx ¶

    GetFileInformationByHandleEx :: proc "stdcall" (hFile: HANDLE, fileInfoClass: FILE_INFO_BY_HANDLE_CLASS, lpFileInformation: rawptr, dwBufferSize: u32) -> BOOL ---

    GetFileSecurityW ¶

    GetFileSecurityW :: proc "stdcall" (lpFileName: [^]u16, RequestedInformation: u32, pSecurityDescriptor: rawptr, nLength: u32, lpnLengthNeeded: ^u32) -> BOOL ---

    GetFileSizeEx ¶

    GetFileSizeEx :: proc "stdcall" (file_handle: HANDLE, file_size: ^LARGE_INTEGER) -> BOOL ---

    GetFileTime ¶

    GetFileTime :: proc "stdcall" (hFile: HANDLE, lpCreationTime: ^FILETIME, lpLastAccessTime: ^FILETIME, lpLastWriteTime: ^FILETIME) -> BOOL ---

    GetFileType ¶

    GetFileType :: proc "stdcall" (file_handle: HANDLE) -> u32 ---

    GetFinalPathNameByHandleW ¶

    GetFinalPathNameByHandleW :: proc "stdcall" (hFile: HANDLE, lpszFilePath: [^]u16, cchFilePath: u32, dwFlags: u32) -> u32 ---

    GetForegroundWindow ¶

    GetForegroundWindow :: proc "stdcall" () -> HWND ---

    GetFullPathNameW ¶

    GetFullPathNameW :: proc "stdcall" (filename: [^]u16, buffer_length: u32, buffer: [^]u16, file_part: ^[^]u16) -> u32 ---

    GetHandleInformation ¶

    GetHandleInformation :: proc "stdcall" (hObject: HANDLE, lpdwFlags: ^u32) -> BOOL ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-gethandleinformation)

    GetKeyState ¶

    GetKeyState :: proc "stdcall" (nVirtKey: i32) -> i16 ---

    GetKeyboardState ¶

    GetKeyboardState :: proc "stdcall" (lpKeyState: ^BYTE) -> BOOL ---

    GetLargePageMinimum ¶

    GetLargePageMinimum :: proc "stdcall" () -> uint ---

    GetLastError ¶

    GetLastError :: proc "stdcall" () -> u32 ---

    GetLogicalProcessorInformation ¶

    GetLogicalProcessorInformation :: proc "stdcall" (buffer: ^SYSTEM_LOGICAL_PROCESSOR_INFORMATION, returnedLength: ^u32) -> BOOL ---

    GetLongPathNameW ¶

    GetLongPathNameW :: proc "stdcall" (short, long: [^]u16, len: u32) -> u32 ---

    GetMemoryErrorHandlingCapabilities ¶

    GetMemoryErrorHandlingCapabilities :: proc "stdcall" (Capabilities: ^u32) -> BOOL ---

    GetMessageW ¶

    GetMessageW :: proc "stdcall" (lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: u32, wMsgFilterMax: u32) -> BOOL ---

    GetModuleFileNameW ¶

    GetModuleFileNameW :: proc "stdcall" (hModule: HMODULE, lpFilename: ^u16, nSize: u32) -> u32 ---

    GetModuleHandleA ¶

    GetModuleHandleA :: proc "stdcall" (lpModuleName: cstring) -> HMODULE ---

    GetModuleHandleW ¶

    GetModuleHandleW :: proc "stdcall" (lpModuleName: [^]u16) -> HMODULE ---

    GetMonitorInfoW ¶

    GetMonitorInfoW :: proc "stdcall" (hMonitor: HMONITOR, lpmi: ^MONITORINFO) -> BOOL ---

    GetObjectW ¶

    GetObjectW :: proc "stdcall" (h: HANDLE, c: i32, pv: rawptr) -> int ---

    GetOpenFileNameW ¶

    GetOpenFileNameW :: proc "stdcall" (arg1: ^OPENFILENAMEW) -> BOOL ---

    GetOverlappedResult ¶

    GetOverlappedResult :: proc "stdcall" (hFile: HANDLE, lpOverlapped: ^OVERLAPPED, lpNumberOfBytesTransferred: ^u32, bWait: BOOL) -> BOOL ---

    GetProcAddress ¶

    GetProcAddress :: proc "stdcall" (h: HMODULE, c_str: cstring) -> rawptr ---

    GetProcessAffinityMask ¶

    GetProcessAffinityMask :: proc "stdcall" (hProcess: HANDLE, lpProcessAffinityMask: ^uint, lpSystemAffinityMask: ^uint) -> BOOL ---

    GetProcessHeap ¶

    GetProcessHeap :: proc "stdcall" () -> HANDLE ---

    GetProcessId ¶

    GetProcessId :: proc "stdcall" (handle: HANDLE) -> u32 ---

    GetProcessTimes ¶

    GetProcessTimes :: proc "stdcall" (hProcess: HANDLE, lpCreationTime: ^FILETIME, lpExitTime: ^FILETIME, lpKernelTime: ^FILETIME, lpUserTime: ^FILETIME) -> BOOL ---

    GetProcessWorkingSetSizeEx ¶

    GetProcessWorkingSetSizeEx :: proc "stdcall" (hProcess: HANDLE, lpMinimumWorkingSetSize: ^uint, lpMaximumWorkingSetSize: ^uint, Flags: ^u32) -> BOOL ---

    GetProductInfo ¶

    GetProductInfo :: proc "stdcall" (OSMajorVersion: u32, OSMinorVersion: u32, SpMajorVersion: u32, SpMinorVersion: u32, product_type: ^Windows_Product_Type) -> BOOL ---

    GetQueueStatus ¶

    GetQueueStatus :: proc "stdcall" (flags: u32) -> u32 ---

    GetQueuedCompletionStatus ¶

    GetQueuedCompletionStatus :: proc "stdcall" (CompletionPort: HANDLE, lpNumberOfBytesTransferred: ^u32, lpCompletionKey: uintptr, lpOverlapped: ^^OVERLAPPED, dwMilliseconds: u32) -> BOOL ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-getqueuedcompletionstatus)

    GetQueuedCompletionStatusEx ¶

    GetQueuedCompletionStatusEx :: proc "stdcall" (
    	CompletionPort:          HANDLE, 
    	lpCompletionPortEntries: ^OVERLAPPED_ENTRY, 
    	ulCount:                 u32, 
    	ulNumEntriesRemoved:     ^u32, 
    	dwMilliseconds:          u32, 
    	fAlertable:              BOOL, 
    ) -> BOOL ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-getqueuedcompletionstatusex)

    GetRawInputBuffer ¶

    GetRawInputBuffer :: proc "stdcall" (pRawInput: ^RAWINPUT, pcbSize: ^u32, cbSizeHeader: u32) -> u32 ---

    GetRawInputData ¶

    GetRawInputData :: proc "stdcall" (hRawInput: HRAWINPUT, uiCommand: u32, pData: rawptr, pcbSize: ^u32, cbSizeHeader: u32) -> u32 ---

    GetRawInputDeviceInfoW ¶

    GetRawInputDeviceInfoW :: proc "stdcall" (hDevice: HANDLE, uiCommand: u32, pData: rawptr, pcbSize: ^u32) -> u32 ---

    GetRawInputDeviceList ¶

    GetRawInputDeviceList :: proc "stdcall" (pRawInputDeviceList: ^RAWINPUTDEVICELIST, puiNumDevices: ^u32, cbSize: u32) -> u32 ---

    GetRegisteredRawInputDevices ¶

    GetRegisteredRawInputDevices :: proc "stdcall" (pRawInputDevices: ^RAWINPUTDEVICE, puiNumDevices: ^u32, cbSize: u32) -> u32 ---

    GetSaveFileNameW ¶

    GetSaveFileNameW :: proc "stdcall" (arg1: ^OPENFILENAMEW) -> BOOL ---

    GetShortPathNameW ¶

    GetShortPathNameW :: proc "stdcall" (long, short: [^]u16, len: u32) -> u32 ---

    GetStartupInfoW ¶

    GetStartupInfoW :: proc "stdcall" (lpStartupInfo: ^STARTUPINFOW) ---

    GetStdHandle ¶

    GetStdHandle :: proc "stdcall" (which: u32) -> HANDLE ---

    GetStockObject ¶

    GetStockObject :: proc "stdcall" (i: i32) -> HGDIOBJ ---

    GetSysColor ¶

    GetSysColor :: proc "stdcall" (nIndex: i32) -> u32 ---

    GetSysColorBrush ¶

    GetSysColorBrush :: proc "stdcall" (nIndex: i32) -> HBRUSH ---

    GetSystemFileCacheSize ¶

    GetSystemFileCacheSize :: proc "stdcall" (lpMinimumFileCacheSize: ^uint, lpMaximumFileCacheSize: ^uint, lpFlags: ^u32) -> BOOL ---

    GetSystemInfo ¶

    GetSystemInfo :: proc "stdcall" (system_info: ^SYSTEM_INFO) ---

    GetSystemMenu ¶

    GetSystemMenu :: proc "stdcall" (hWnd: HWND, bRevert: BOOL) -> HMENU ---

    GetSystemMetrics ¶

    GetSystemMetrics :: proc "stdcall" (nIndex: i32) -> i32 ---

    GetSystemMetricsForDpi ¶

    GetSystemMetricsForDpi :: proc "stdcall" (nIndex: int, dpi: u32) -> int ---

    GetSystemTimeAsFileTime ¶

    GetSystemTimeAsFileTime :: proc "stdcall" (lpSystemTimeAsFileTime: ^FILETIME) ---

    GetSystemTimePreciseAsFileTime ¶

    GetSystemTimePreciseAsFileTime :: proc "stdcall" (lpSystemTimeAsFileTime: ^FILETIME) ---

    GetTempPathW ¶

    GetTempPathW :: proc "stdcall" (nBufferLength: u32, lpBuffer: [^]u16) -> u32 ---

    GetTextExtentPoint32W ¶

    GetTextExtentPoint32W :: proc "stdcall" (hdc: HDC, lpString: [^]u16, c: i32, psizl: ^SIZE) -> BOOL ---

    GetTextMetricsW ¶

    GetTextMetricsW :: proc "stdcall" (hdc: HDC, lptm: ^TEXTMETRICW) -> BOOL ---

    GetThreadDpiAwarenessContext ¶

    GetThreadDpiAwarenessContext :: proc "stdcall" () -> DPI_AWARENESS_CONTEXT ---

    GetThreadPriority ¶

    GetThreadPriority :: proc "stdcall" (thread: HANDLE) -> i32 ---

    GetTopWindow ¶

    GetTopWindow :: proc "stdcall" (hWnd: HWND) -> HWND ---

    GetUpdateRect ¶

    GetUpdateRect :: proc "stdcall" (hWnd: HWND, lpRect: ^RECT, bErase: BOOL) -> BOOL ---

    GetUserProfileDirectoryW ¶

    GetUserProfileDirectoryW :: proc "stdcall" (hToken: HANDLE, lpProfileDir: ^u16, lpcchSize: ^u32) -> BOOL ---

    GetVersionExW ¶

    GetVersionExW :: proc "stdcall" (osvi: ^OSVERSIONINFOEXW) ---

    GetWindowDC ¶

    GetWindowDC :: proc "stdcall" (hWnd: HWND) -> HDC ---

    GetWindowDpiAwarenessContext ¶

    GetWindowDpiAwarenessContext :: proc "stdcall" (hwnd: HWND) -> DPI_AWARENESS_CONTEXT ---

    GetWindowInfo ¶

    GetWindowInfo :: proc "stdcall" (hwnd: HWND, pwi: ^WINDOWINFO) -> BOOL ---

    GetWindowLongPtrW ¶

    GetWindowLongPtrW :: proc "stdcall" (hWnd: HWND, nIndex: i32) -> int ---

    GetWindowLongW ¶

    GetWindowLongW :: proc "stdcall" (hWnd: HWND, nIndex: i32) -> i32 ---

    GetWindowPlacement ¶

    GetWindowPlacement :: proc "stdcall" (hWnd: HWND, lpwndpl: ^WINDOWPLACEMENT) -> BOOL ---

    GetWindowRect ¶

    GetWindowRect :: proc "stdcall" (hWnd: HWND, lpRect: ^RECT) -> BOOL ---

    GetWindowTextLengthW ¶

    GetWindowTextLengthW :: proc "stdcall" (hWnd: HWND) -> i32 ---

    GetWindowTextW ¶

    GetWindowTextW :: proc "stdcall" (hWnd: HWND, lpString: ^u16, nMaxCount: i32) -> i32 ---

    GetWriteWatch ¶

    GetWriteWatch :: proc "stdcall" (
    	dwFlags:         u32, 
    	lpBaseAddress:   rawptr, 
    	dwRegionSize:    uint, 
    	lpAddresses:     ^rawptr, 
    	lpdwCount:       ^uint, 
    	lpdwGranularity: ^u32, 
    ) -> u32 ---

    GlobalAlloc ¶

    GlobalAlloc :: proc "stdcall" (flags: u32, bytes: uint) -> rawptr ---

    GlobalFree ¶

    GlobalFree :: proc "stdcall" (mem: rawptr) -> rawptr ---

    GlobalMemoryStatusEx ¶

    GlobalMemoryStatusEx :: proc "stdcall" (lpBuffer: ^MEMORYSTATUSEX) -> BOOL ---

    GlobalReAlloc ¶

    GlobalReAlloc :: proc "stdcall" (mem: rawptr, bytes: uint, flags: u32) -> rawptr ---

    HIWORD ¶

    HIWORD :: proc "contextless" (x: u32) -> u16 {…}

    HeapAlloc ¶

    HeapAlloc :: proc "stdcall" (hHeap: HANDLE, dwFlags: u32, dwBytes: uint) -> rawptr ---

    HeapFree ¶

    HeapFree :: proc "stdcall" (hHeap: HANDLE, dwFlags: u32, lpMem: rawptr) -> BOOL ---

    HeapReAlloc ¶

    HeapReAlloc :: proc "stdcall" (hHeap: HANDLE, dwFlags: u32, lpMem: rawptr, dwBytes: uint) -> rawptr ---

    HidP_GetButtonCaps ¶

    HidP_GetButtonCaps :: proc "stdcall" (ReportType: HIDP_REPORT_TYPE, ButtonCaps: ^HIDP_BUTTON_CAPS, ButtonCapsLength: ^u16, PreparsedData: rawptr) -> i32 ---

    HidP_GetCaps ¶

    HidP_GetCaps :: proc "stdcall" (PreparsedData: rawptr, Capabilities: ^HIDP_CAPS) -> i32 ---

    HidP_GetUsageValue ¶

    HidP_GetUsageValue :: proc "stdcall" (
    	ReportType:     HIDP_REPORT_TYPE, 
    	UsagePage:      USAGE, 
    	LinkCollection: u16, 
    	Usage:          USAGE, 
    	UsageValue:     ^u32, 
    	PreparsedData:  rawptr, 
    	Report:         ^u8, 
    	ReportLength:   u32, 
    ) -> i32 ---

    HidP_GetUsages ¶

    HidP_GetUsages :: proc "stdcall" (
    	ReportType:     HIDP_REPORT_TYPE, 
    	UsagePage:      USAGE, 
    	LinkCollection: u16, 
    	UsageList:      ^USAGE, 
    	UsageLength:    ^u32, 
    	PreparsedData:  rawptr, 
    	Report:         ^u8, 
    	ReportLength:   u32, 
    ) -> i32 ---

    HidP_GetValueCaps ¶

    HidP_GetValueCaps :: proc "stdcall" (ReportType: HIDP_REPORT_TYPE, ValueCaps: ^HIDP_VALUE_CAPS, ValueCapsLength: ^u16, PreparsedData: rawptr) -> i32 ---

    InitializeConditionVariable ¶

    InitializeConditionVariable :: proc "stdcall" (ConditionVariable: ^CONDITION_VARIABLE) ---

    InitializeCriticalSection ¶

    InitializeCriticalSection :: proc "stdcall" (CriticalSection: ^CRITICAL_SECTION) ---

    InitializeCriticalSectionAndSpinCount ¶

    InitializeCriticalSectionAndSpinCount :: proc "stdcall" (CriticalSection: ^CRITICAL_SECTION, dwSpinCount: u32) -> BOOL ---

    InitializeSRWLock ¶

    InitializeSRWLock :: proc "stdcall" (SRWLock: ^SRWLOCK) ---

    InvalidateRect ¶

    InvalidateRect :: proc "stdcall" (hWnd: HWND, lpRect: ^RECT, bErase: BOOL) -> BOOL ---

    IsDialogMessageW ¶

    IsDialogMessageW :: proc "stdcall" (hDlg: HWND, lpMsg: ^MSG) -> BOOL ---

    IsThemeActive ¶

    IsThemeActive :: proc "stdcall" () -> BOOL ---

    IsWindow ¶

    IsWindow :: proc "stdcall" (hWnd: HWND) -> BOOL ---

    KillTimer ¶

    KillTimer :: proc "stdcall" (hWnd: HWND, uIDEvent: uintptr) -> BOOL ---

    L ¶

    L :: intrinsics.constant_utf16_cstring

    LOWORD ¶

    LOWORD :: proc "contextless" (x: u32) -> u16 {…}

    LeaveCriticalSection ¶

    LeaveCriticalSection :: proc "stdcall" (CriticalSection: ^CRITICAL_SECTION) ---

    LoadCursorA ¶

    LoadCursorA :: proc "stdcall" (hInstance: HANDLE, lpCursorName: cstring) -> HCURSOR ---

    LoadCursorW ¶

    LoadCursorW :: proc "stdcall" (hInstance: HANDLE, lpCursorName: [^]u16) -> HCURSOR ---

    LoadIconA ¶

    LoadIconA :: proc "stdcall" (hInstance: HANDLE, lpIconName: cstring) -> HICON ---

    LoadIconW ¶

    LoadIconW :: proc "stdcall" (hInstance: HANDLE, lpIconName: [^]u16) -> HICON ---

    LoadIconWithScaleDown ¶

    LoadIconWithScaleDown :: proc "stdcall" (hinst: HANDLE, pszName: [^]u16, cx: i32, cy: i32, phico: ^HICON) -> HRESULT ---

    LoadImageW ¶

    LoadImageW :: proc "stdcall" (
    	hInst:  HANDLE, 
    	name:   [^]u16, 
    	type:   u32, 
    	cx:     i32, 
    	cy:     i32, 
    	fuLoad: u32, 
    ) -> HANDLE ---

    LoadLibraryW ¶

    LoadLibraryW :: proc "stdcall" (c_str: [^]u16) -> HMODULE ---

    LoadUserProfileW ¶

    LoadUserProfileW :: proc "stdcall" (hToken: HANDLE, lpProfileInfo: ^PROFILEINFOW) -> BOOL ---

    LocalAlloc ¶

    LocalAlloc :: proc "stdcall" (flags: u32, bytes: uint) -> rawptr ---

    LocalFree ¶

    LocalFree :: proc "stdcall" (mem: rawptr) -> rawptr ---

    LocalReAlloc ¶

    LocalReAlloc :: proc "stdcall" (mem: rawptr, bytes: uint, flags: u32) -> rawptr ---

    LogonUserW ¶

    LogonUserW :: proc "stdcall" (
    	lpszUsername:    [^]u16, 
    	lpszDomain:      [^]u16, 
    	lpszPassword:    [^]u16, 
    	dwLogonType:     Logon32_Type, 
    	dwLogonProvider: Logon32_Provider, 
    	phToken:         ^HANDLE, 
    ) -> BOOL ---

    LookupAccountNameW ¶

    LookupAccountNameW :: proc "stdcall" (
    	lpSystemName:            [^]u16, 
    	lpAccountName:           [^]u16, 
    	Sid:                     ^SID, 
    	cbSid:                   ^u32, 
    	ReferencedDomainName:    [^]u16, 
    	cchReferencedDomainName: ^u32, 
    	peUse:                   ^SID_TYPE, 
    ) -> BOOL ---
     

    https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-lookupaccountnamew To look up the SID to use with DeleteProfileW.

    MAKEINTRESOURCEW ¶

    MAKEINTRESOURCEW :: proc "contextless" (i: int) -> ^u16 {…}

    MAKE_WORD ¶

    MAKE_WORD :: proc "contextless" (x, y: u16) -> u16 {…}

    MapGenericMask ¶

    MapGenericMask :: proc "stdcall" (AccessMask: ^u32, GenericMapping: ^GENERIC_MAPPING) ---

    MapUserPhysicalPages ¶

    MapUserPhysicalPages :: proc "stdcall" (VirtualAddress: rawptr, NumberOfPages: uint, PageArray: ^uint) -> BOOL ---

    MapViewOfFile ¶

    MapViewOfFile :: proc "stdcall" (hFileMappingObject: HANDLE, dwDesiredAccess: u32, dwFileOffsetHigh: u32, dwFileOffsetLow: u32, dwNumberOfBytesToMap: uint) -> rawptr ---

    MapViewOfFile2 ¶

    MapViewOfFile2 :: proc "stdcall" (
    	FileMappingHandle: HANDLE, 
    	ProcessHandle:     HANDLE, 
    	Offset:            u64, 
    	BaseAddress:       rawptr, 
    	ViewSize:          uint, 
    	AllocationType:    u32, 
    	PageProtection:    u32, 
    ) -> rawptr {…}

    MapViewOfFileEx ¶

    MapViewOfFileEx :: proc "stdcall" (
    	hFileMappingObject:   HANDLE, 
    	dwDesiredAccess:      u32, 
    	dwFileOffsetHigh:     u32, 
    	dwFileOffsetLow:      u32, 
    	dwNumberOfBytesToMap: uint, 
    	lpBaseAddress:        rawptr, 
    ) -> rawptr ---

    MapViewOfFileFromApp ¶

    MapViewOfFileFromApp :: proc "stdcall" (hFileMappingObject: HANDLE, DesiredAccess: u32, FileOffset: u64, NumberOfBytesToMap: uint) -> rawptr ---

    MapViewOfFileNuma2 ¶

    MapViewOfFileNuma2 :: proc "stdcall" (
    	FileMappingHandle: HANDLE, 
    	ProcessHandle:     HANDLE, 
    	Offset:            u64, 
    	BaseAddress:       rawptr, 
    	ViewSize:          uint, 
    	AllocationType:    u32, 
    	PageProtection:    u32, 
    	PreferredNode:     u32, 
    ) -> rawptr ---

    MapVirtualKeyW ¶

    MapVirtualKeyW :: proc "stdcall" (uCode: u32, uMapType: u32) -> u32 ---

    MessageBeep ¶

    MessageBeep :: proc "stdcall" (uType: u32) -> BOOL ---

    MessageBoxExW ¶

    MessageBoxExW :: proc "stdcall" (hWnd: HWND, lpText: [^]u16, lpCaption: [^]u16, uType: u32, wLanguageId: u16) -> i32 ---
     

    MessageBoxExA :: proc(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT, wLanguageId: WORD) -> c_int ---

    MessageBoxW ¶

    MessageBoxW :: proc "stdcall" (hWnd: HWND, lpText: [^]u16, lpCaption: [^]u16, uType: u32) -> i32 ---
     

    MessageBoxA :: proc(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT) -> c_int ---

    MiniDumpReadDumpStream ¶

    MiniDumpReadDumpStream :: proc "stdcall" (BaseOfDump: rawptr, StreamNumber: u32, Dir: ^^MINIDUMP_DIRECTORY, StreamPointer: ^rawptr, StreamSize: ^u32) -> BOOL ---

    MiniDumpWriteDump ¶

    MiniDumpWriteDump :: proc "stdcall" (
    	hProcess:        HANDLE, 
    	ProcessId:       u32, 
    	hFile:           HANDLE, 
    	DumpType:        MINIDUMP_TYPE, 
    	ExceptionParam:  ^MINIDUMP_EXCEPTION_INFORMATION, 
    	UserStreamParam: ^MINIDUMP_USER_STREAM_INFORMATION, 
    	CallbackPara:    ^MINIDUMP_CALLBACK_INFORMATION, 
    ) -> BOOL ---

    MonitorFromPoint ¶

    MonitorFromPoint :: proc "stdcall" (pt: POINT, dwFlags: Monitor_From_Flags) -> HMONITOR ---

    MonitorFromRect ¶

    MonitorFromRect :: proc "stdcall" (lprc: ^RECT, dwFlags: Monitor_From_Flags) -> HMONITOR ---

    MonitorFromWindow ¶

    MonitorFromWindow :: proc "stdcall" (hwnd: HWND, dwFlags: Monitor_From_Flags) -> HMONITOR ---

    MoveFileExW ¶

    MoveFileExW :: proc "stdcall" (lpExistingFileName: [^]u16, lpNewFileName: [^]u16, dwFlags: u32) -> BOOL ---

    MoveWindow ¶

    MoveWindow :: proc "stdcall" (
    	hWnd:                  HWND, 
    	X, Y, hWidth, hHeight: i32, 
    	bRepaint:              BOOL, 
    ) -> BOOL ---

    MsgWaitForMultipleObjects ¶

    MsgWaitForMultipleObjects :: proc "stdcall" (nCount: u32, pHandles: ^HANDLE, fWaitAll: bool, dwMilliseconds: u32, dwWakeMask: u32) -> u32 ---

    MultiByteToWideChar ¶

    MultiByteToWideChar :: proc "stdcall" (
    	CodePage:       u32, 
    	dwFlags:        u32, 
    	lpMultiByteStr: ^u8, 
    	cbMultiByte:    i32, 
    	lpWideCharStr:  ^u16, 
    	cchWideChar:    i32, 
    ) -> i32 ---

    NetLocalGroupAddMembers ¶

    NetLocalGroupAddMembers :: proc "stdcall" (servername: [^]u16, groupname: [^]u16, level: u32, group_members_info: ^LOCALGROUP_MEMBERS_INFO_0, totalentries: u32) -> NET_API_STATUS ---

    NetLocalGroupDelMembers ¶

    NetLocalGroupDelMembers :: proc "stdcall" (servername: [^]u16, groupname: [^]u16, level: u32, group_members_info: ^LOCALGROUP_MEMBERS_INFO_0, totalentries: u32) -> NET_API_STATUS ---

    NetUserAdd ¶

    NetUserAdd :: proc "stdcall" (servername: [^]u16, level: u32, user_info: ^USER_INFO_1, parm_err: ^u32) -> NET_API_STATUS ---

    NetUserDel ¶

    NetUserDel :: proc "stdcall" (servername: [^]u16, username: [^]u16) -> NET_API_STATUS ---

    NetUserGetInfo ¶

    NetUserGetInfo :: proc "stdcall" (servername: [^]u16, username: [^]u16, level: u32, user_info: ^USER_INFO_1) -> NET_API_STATUS ---

    OfferVirtualMemory ¶

    OfferVirtualMemory :: proc "stdcall" (VirtualAddress: rawptr, Size: uint, Priority: OFFER_PRIORITY) -> u32 ---

    OpenFileMappingFromApp ¶

    OpenFileMappingFromApp :: proc "stdcall" (DesiredAccess: u32, InheritHandle: BOOL, Name: [^]u16) -> HANDLE ---

    OpenFileMappingW ¶

    OpenFileMappingW :: proc "stdcall" (dwDesiredAccess: u32, bInheritHandle: BOOL, lpName: [^]u16) -> HANDLE ---

    OpenProcessToken ¶

    OpenProcessToken :: proc "stdcall" (ProcessHandle: HANDLE, DesiredAccess: u32, TokenHandle: ^HANDLE) -> BOOL ---

    OpenThreadToken ¶

    OpenThreadToken :: proc "stdcall" (ThreadHandle: HANDLE, DesiredAccess: u32, OpenAsSelf: BOOL, TokenHandle: ^HANDLE) -> BOOL ---

    OutputDebugStringA ¶

    OutputDebugStringA :: proc "stdcall" (lpOutputString: cstring) ---
     

    The only A thing that is allowed

    OutputDebugStringW ¶

    OutputDebugStringW :: proc "stdcall" (lpOutputString: [^]u16) ---

    PatBlt ¶

    PatBlt :: proc "stdcall" (
    	hdc:        HDC, 
    	x, y, w, h: i32, 
    	rop:        u32, 
    ) -> BOOL ---

    PathFileExistsW ¶

    PathFileExistsW :: proc "stdcall" (pszPath: [^]u16) -> BOOL ---

    PathFindExtensionW ¶

    PathFindExtensionW :: proc "stdcall" (pszPath: [^]u16) -> [^]u16 ---

    PathFindFileNameW ¶

    PathFindFileNameW :: proc "stdcall" (pszPath: [^]u16) -> [^]u16 ---

    PeekMessageA ¶

    PeekMessageA :: proc "stdcall" (lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: u32, wMsgFilterMax: u32, wRemoveMsg: u32) -> BOOL ---

    PeekMessageW ¶

    PeekMessageW :: proc "stdcall" (lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: u32, wMsgFilterMax: u32, wRemoveMsg: u32) -> BOOL ---

    PlaySoundW ¶

    PlaySoundW :: proc "stdcall" (pszSound: [^]u16, hmod: HMODULE, fdwSound: u32) -> BOOL ---

    PostMessageA ¶

    PostMessageA :: proc "stdcall" (hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> BOOL ---

    PostMessageW ¶

    PostMessageW :: proc "stdcall" (hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> BOOL ---

    PostQueuedCompletionStatus ¶

    PostQueuedCompletionStatus :: proc "stdcall" (CompletionPort: HANDLE, dwNumberOfBytesTransferred: u32, dwCompletionKey: u32, lpOverlapped: ^OVERLAPPED) -> BOOL ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ioapiset/nf-ioapiset-postqueuedcompletionstatus)

    PostQuitMessage ¶

    PostQuitMessage :: proc "stdcall" (nExitCode: i32) ---

    PostThreadMessageA ¶

    PostThreadMessageA :: proc "stdcall" (idThread: u32, Msg: u32, wParam: uintptr, lParam: int) -> BOOL ---

    PostThreadMessageW ¶

    PostThreadMessageW :: proc "stdcall" (idThread: u32, Msg: u32, wParam: uintptr, lParam: int) -> BOOL ---

    PrefetchVirtualMemory ¶

    PrefetchVirtualMemory :: proc "stdcall" (hProcess: HANDLE, NumberOfEntries: uint, VirtualAddresses: ^WIN32_MEMORY_RANGE_ENTRY, Flags: u32) -> BOOL ---

    QueryMemoryResourceNotification ¶

    QueryMemoryResourceNotification :: proc "stdcall" (ResourceNotificationHandle: HANDLE, ResourceState: ^BOOL) -> BOOL ---

    QueryPerformanceCounter ¶

    QueryPerformanceCounter :: proc "stdcall" (lpPerformanceCount: ^LARGE_INTEGER) -> BOOL ---

    QueryPerformanceFrequency ¶

    QueryPerformanceFrequency :: proc "stdcall" (lpFrequency: ^LARGE_INTEGER) -> BOOL ---

    QueryVirtualMemoryInformation ¶

    QueryVirtualMemoryInformation :: proc "stdcall" (
    	Process:                HANDLE, 
    	VirtualAddress:         rawptr, 
    	MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS, 
    	MemoryInformation:      rawptr, 
    	MemoryInformationSize:  uint, 
    	ReturnSize:             ^uint, 
    ) -> BOOL ---

    RGB ¶

    RGB :: proc "contextless" (r, g, b: u8) -> u32 {…}

    RaiseException ¶

    RaiseException :: proc "stdcall" (dwExceptionCode, dwExceptionFlags, nNumberOfArguments: u32, lpArguments: ^uint) -> ! ---

    ReadConsoleW ¶

    ReadConsoleW :: proc "stdcall" (hConsoleInput: HANDLE, lpBuffer: rawptr, nNumberOfCharsToRead: u32, lpNumberOfCharsRead: ^u32, pInputControl: ^CONSOLE_READCONSOLE_CONTROL) -> BOOL ---

    ReadDirectoryChangesW ¶

    ReadDirectoryChangesW :: proc "stdcall" (
    	hDirectory:          HANDLE, 
    	lpBuffer:            rawptr, 
    	nBufferLength:       u32, 
    	bWatchSubtree:       BOOL, 
    	dwNotifyFilter:      u32, 
    	lpBytesReturned:     ^u32, 
    	lpOverlapped:        ^OVERLAPPED, 
    	lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, 
    ) -> BOOL ---

    ReadFile ¶

    ReadFile :: proc "stdcall" (hFile: HANDLE, lpBuffer: rawptr, nNumberOfBytesToRead: u32, lpNumberOfBytesRead: ^u32, lpOverlapped: ^OVERLAPPED) -> BOOL ---

    ReadProcessMemory ¶

    ReadProcessMemory :: proc "stdcall" (hProcess: HANDLE, lpBaseAddress: rawptr, lpBuffer: rawptr, nSize: uint, lpNumberOfBytesRead: ^uint) -> BOOL ---

    ReclaimVirtualMemory ¶

    ReclaimVirtualMemory :: proc "stdcall" (VirtualAddress: rawptr, Size: uint) -> u32 ---

    Rectangle ¶

    Rectangle :: proc "stdcall" (hdc: HDC, left, top, right, bottom: i32) -> BOOL ---

    RedrawWindow ¶

    RedrawWindow :: proc "stdcall" (hwnd: HWND, lprcUpdate: ^RECT, hrgnUpdate: HRGN, flags: RedrawWindowFlags) -> BOOL ---

    RegCloseKey ¶

    RegCloseKey :: proc "stdcall" (hKey: HKEY) -> i32 ---

    RegCreateKeyExW ¶

    RegCreateKeyExW :: proc "stdcall" (
    	hKey:                 HKEY, 
    	lpSubKey:             [^]u16, 
    	Reserved:             u32, 
    	lpClass:              ^u16, 
    	dwOptions:            u32, 
    	samDesired:           u32, 
    	lpSecurityAttributes: ^SECURITY_ATTRIBUTES, 
    	phkResult:            ^HKEY, 
    	lpdwDisposition:      ^u32, 
    ) -> i32 ---

    RegGetValueW ¶

    RegGetValueW :: proc "stdcall" (
    	hkey:     HKEY, 
    	lpSubKey: [^]u16, 
    	lpValue:  [^]u16, 
    	dwFlags:  u32, 
    	pdwType:  ^u32, 
    	pvData:   rawptr, 
    	pcbData:  ^u32, 
    ) -> i32 ---

    RegOpenKeyExW ¶

    RegOpenKeyExW :: proc "stdcall" (hKey: HKEY, lpSubKey: [^]u16, ulOptions: u32, samDesired: u32, phkResult: ^HKEY) -> i32 ---

    RegOpenKeyW ¶

    RegOpenKeyW :: proc "stdcall" (hKey: HKEY, lpSubKey: [^]u16, phkResult: ^HKEY) -> i32 ---

    RegSetKeyValueW ¶

    RegSetKeyValueW :: proc "stdcall" (
    	hKey:        HKEY, 
    	lpSubKey:    [^]u16, 
    	lpValueName: [^]u16, 
    	dwType:      u32, 
    	lpData:      rawptr, 
    	cbData:      u32, 
    ) -> i32 ---

    RegSetValueExW ¶

    RegSetValueExW :: proc "stdcall" (
    	hKey:        HKEY, 
    	lpValueName: [^]u16, 
    	Reserved:    u32, 
    	dwType:      u32, 
    	lpData:      ^BYTE, 
    	cbData:      u32, 
    ) -> i32 ---

    RegisterBadMemoryNotification ¶

    RegisterBadMemoryNotification :: proc "stdcall" (Callback: PBAD_MEMORY_CALLBACK_ROUTINE) -> rawptr ---

    RegisterClassExW ¶

    RegisterClassExW :: proc "stdcall" (_: ^WNDCLASSEXW) -> ATOM ---

    RegisterClassW ¶

    RegisterClassW :: proc "stdcall" (lpWndClass: ^WNDCLASSW) -> ATOM ---

    RegisterRawInputDevices ¶

    RegisterRawInputDevices :: proc "stdcall" (pRawInputDevices: ^RAWINPUTDEVICE, uiNumDevices: u32, cbSize: u32) -> BOOL ---

    RegisterWindowMessageW ¶

    RegisterWindowMessageW :: proc "stdcall" (lpString: [^]u16) -> u32 ---

    ReleaseCapture ¶

    ReleaseCapture :: proc "stdcall" () -> BOOL ---

    ReleaseDC ¶

    ReleaseDC :: proc "stdcall" (hWnd: HWND, hDC: HDC) -> i32 ---

    ReleaseSRWLockExclusive ¶

    ReleaseSRWLockExclusive :: proc "stdcall" (SRWLock: ^SRWLOCK) ---

    ReleaseSRWLockShared ¶

    ReleaseSRWLockShared :: proc "stdcall" (SRWLock: ^SRWLOCK) ---

    ReleaseSemaphore ¶

    ReleaseSemaphore :: proc "stdcall" (semaphore: HANDLE, release_count: i32, previous_count: ^i32) -> BOOL ---

    RemoveDirectoryW ¶

    RemoveDirectoryW :: proc "stdcall" (lpPathName: [^]u16) -> BOOL ---

    RemoveVectoredContinueHandler ¶

    RemoveVectoredContinueHandler :: proc "stdcall" (Handle: rawptr) -> u32 ---

    RemoveVectoredExceptionHandler ¶

    RemoveVectoredExceptionHandler :: proc "stdcall" (Handle: rawptr) -> u32 ---

    ResetEvent ¶

    ResetEvent :: proc "stdcall" (hEvent: HANDLE) -> BOOL ---

    ResetWriteWatch ¶

    ResetWriteWatch :: proc "stdcall" (lpBaseAddress: rawptr, dwRegionSize: uint) -> u32 ---

    ResumeThread ¶

    ResumeThread :: proc "stdcall" (thread: HANDLE) -> u32 ---

    RtlGenRandom ¶

    RtlGenRandom :: proc "stdcall" (RandomBuffer: ^u8, RandomBufferLength: u32) -> BOOLEAN ---

    RtlGetVersion ¶

    RtlGetVersion :: proc "stdcall" (lpVersionInformation: ^OSVERSIONINFOEXW) -> i32 ---

    SHAppBarMessage ¶

    SHAppBarMessage :: proc "stdcall" (dwMessage: u32, pData: ^APPBARDATA) -> uintptr ---

    SHAutoComplete ¶

    SHAutoComplete :: proc "stdcall" (hwndEdit: HWND, dwFlags: u32) -> HRESULT ---

    SHChangeNotify ¶

    SHChangeNotify :: proc "stdcall" (wEventId: i32, uFlags: u32, dwItem1: rawptr, dwItem2: rawptr) ---

    SHCreateDirectoryExW ¶

    SHCreateDirectoryExW :: proc "stdcall" (hwnd: HWND, pszPath: [^]u16, psa: ^SECURITY_ATTRIBUTES) -> i32 ---

    SHFileOperationW ¶

    SHFileOperationW :: proc "stdcall" (lpFileOp: ^SHFILEOPSTRUCTW) -> i32 ---

    SHGetFolderPathW ¶

    SHGetFolderPathW :: proc "stdcall" (hwnd: HWND, csidl: i32, hToken: HANDLE, dwFlags: u32, pszPath: ^u16) -> HRESULT ---

    SHGetKnownFolderIDList ¶

    SHGetKnownFolderIDList :: proc "stdcall" (rfid: ^GUID, dwFlags: u32, hToken: HANDLE, ppidl: rawptr) -> HRESULT ---

    SHGetKnownFolderPath ¶

    SHGetKnownFolderPath :: proc "stdcall" (rfid: ^GUID, dwFlags: u32, hToken: HANDLE, ppszPath: ^^u16) -> HRESULT ---

    SHSetKnownFolderPath ¶

    SHSetKnownFolderPath :: proc "stdcall" (rfid: ^GUID, dwFlags: u32, hToken: HANDLE, pszPath: [^]u16) -> HRESULT ---

    SUCCEEDED ¶

    SUCCEEDED :: proc(result: int) -> bool {…}

    ScreenToClient ¶

    ScreenToClient :: proc "stdcall" (hWnd: HWND, lpPoint: ^POINT) -> BOOL ---

    SelectObject ¶

    SelectObject :: proc "stdcall" (hdc: HDC, h: HGDIOBJ) -> HGDIOBJ ---

    SendInput ¶

    SendInput :: proc "stdcall" (cInputs: u32, pInputs: [^]INPUT, cbSize: i32) -> u32 ---

    SendMessageA ¶

    SendMessageA :: proc "stdcall" (hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> int ---

    SendMessageTimeoutW ¶

    SendMessageTimeoutW :: proc "stdcall" (
    	hWnd:       HWND, 
    	Msg:        u32, 
    	wParam:     uintptr, 
    	lParam:     int, 
    	fuFlags:    u32, 
    	uTimeout:   u32, 
    	lpdwResult: ^uint, 
    ) -> int ---

    SendMessageW ¶

    SendMessageW :: proc "stdcall" (hWnd: HWND, Msg: u32, wParam: uintptr, lParam: int) -> int ---

    SetActiveWindow ¶

    SetActiveWindow :: proc "stdcall" (hWnd: HWND) -> HWND ---

    SetBkColor ¶

    SetBkColor :: proc "stdcall" (hdc: HDC, color: u32) -> u32 ---

    SetCapture ¶

    SetCapture :: proc "stdcall" (hWnd: HWND) -> HWND ---

    SetClassLongPtrW ¶

    SetClassLongPtrW :: proc "stdcall" (hWnd: HWND, nIndex: i32, dwNewLong: int) -> uint ---

    SetClassLongW ¶

    SetClassLongW :: proc "stdcall" (hWnd: HWND, nIndex: i32, dwNewLong: i32) -> u32 ---

    SetCommState ¶

    SetCommState :: proc "stdcall" (handle: HANDLE, dcb: ^DCB) -> BOOL ---

    SetConsoleCtrlHandler ¶

    SetConsoleCtrlHandler :: proc "stdcall" (HandlerRoutine: HandlerRoutine, Add: BOOL) -> BOOL ---

    SetConsoleCursorInfo ¶

    SetConsoleCursorInfo :: proc "stdcall" (hConsoleOutput: HANDLE, lpConsoleCursorInfo: ^CONSOLE_CURSOR_INFO) -> BOOL ---

    SetConsoleCursorPosition ¶

    SetConsoleCursorPosition :: proc "stdcall" (hConsoleHandle: HANDLE, dwCursorPosition: COORD) -> BOOL ---

    SetConsoleMode ¶

    SetConsoleMode :: proc "stdcall" (hConsoleHandle: HANDLE, dwMode: u32) -> BOOL ---

    SetConsoleOutputCP ¶

    SetConsoleOutputCP :: proc "stdcall" (wCodePageID: u32) -> BOOL ---

    SetConsoleScreenBufferSize ¶

    SetConsoleScreenBufferSize :: proc "stdcall" (hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL ---

    SetConsoleTextAttribute ¶

    SetConsoleTextAttribute :: proc "stdcall" (hConsoleOutput: HANDLE, wAttributes: u16) -> BOOL ---

    SetConsoleWindowInfo ¶

    SetConsoleWindowInfo :: proc "stdcall" (hConsoleOutput: HANDLE, bAbsolute: BOOL, lpConsoleWindow: ^SMALL_RECT) -> BOOL ---

    SetCurrentDirectoryW ¶

    SetCurrentDirectoryW :: proc "stdcall" (lpPathName: [^]u16) -> BOOL ---

    SetCursor ¶

    SetCursor :: proc "stdcall" (hCursor: HCURSOR) -> HCURSOR ---

    SetCursorPos ¶

    SetCursorPos :: proc "stdcall" (X: i32, Y: i32) -> BOOL ---

    SetDCBrushColor ¶

    SetDCBrushColor :: proc "stdcall" (hdc: HDC, color: u32) -> u32 ---

    SetEndOfFile ¶

    SetEndOfFile :: proc "stdcall" (hFile: HANDLE) -> BOOL ---

    SetEnvironmentVariableW ¶

    SetEnvironmentVariableW :: proc "stdcall" (n: [^]u16, v: [^]u16) -> BOOL ---

    SetEvent ¶

    SetEvent :: proc "stdcall" (hEvent: HANDLE) -> BOOL ---

    SetFileAttributesW ¶

    SetFileAttributesW :: proc "stdcall" (lpFileName: [^]u16, dwFileAttributes: u32) -> BOOL ---

    SetFileCompletionNotificationModes ¶

    SetFileCompletionNotificationModes :: proc "stdcall" (FileHandle: HANDLE, Flags: u8) -> BOOL ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setfilecompletionnotificationmodes)

    SetFileInformationByHandle ¶

    SetFileInformationByHandle :: proc "stdcall" (hFile: HANDLE, FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, lpFileInformation: rawptr, dwBufferSize: u32) -> BOOL ---

    SetFilePointer ¶

    SetFilePointer :: proc "stdcall" (file_handle: HANDLE, distance_to_move: i32, distance_to_move_high: ^i32, move_method: u32) -> u32 ---

    SetFilePointerEx ¶

    SetFilePointerEx :: proc "stdcall" (hFile: HANDLE, liDistanceToMove: LARGE_INTEGER, lpNewFilePointer: ^LARGE_INTEGER, dwMoveMethod: u32) -> BOOL ---

    SetForegroundWindow ¶

    SetForegroundWindow :: proc "stdcall" (hWnd: HWND) -> BOOL ---

    SetHandleInformation ¶

    SetHandleInformation :: proc "stdcall" (hObject: HANDLE, dwMask: u32, dwFlags: u32) -> BOOL ---

    SetLastError ¶

    SetLastError :: proc "stdcall" (dwErrCode: u32) ---

    SetLayeredWindowAttributes ¶

    SetLayeredWindowAttributes :: proc "stdcall" (hWnd: HWND, crKey: u32, bAlpha: BYTE, dwFlags: u32) -> BOOL ---

    SetPixelFormat ¶

    SetPixelFormat :: proc "stdcall" (hdc: HDC, format: i32, ppfd: ^PIXELFORMATDESCRIPTOR) -> BOOL ---

    SetProcessAffinityMask ¶

    SetProcessAffinityMask :: proc "stdcall" (hProcess: HANDLE, dwProcessAffinityMask: uint) -> BOOL ---

    SetProcessDpiAwarenessContext ¶

    SetProcessDpiAwarenessContext :: proc "stdcall" (value: DPI_AWARENESS_CONTEXT) -> BOOL ---

    SetProcessWorkingSetSizeEx ¶

    SetProcessWorkingSetSizeEx :: proc "stdcall" (hProcess: HANDLE, dwMinimumWorkingSetSize: uint, dwMaximumWorkingSetSize: uint, Flags: u32) -> BOOL ---

    SetSysColors ¶

    SetSysColors :: proc "stdcall" (cElements: i32, lpaElements: ^i32, lpaRgbValues: ^u32) -> BOOL ---

    SetSystemFileCacheSize ¶

    SetSystemFileCacheSize :: proc "stdcall" (MinimumFileCacheSize: uint, MaximumFileCacheSize: uint, Flags: u32) -> BOOL ---

    SetThreadAffinityMask ¶

    SetThreadAffinityMask :: proc "stdcall" (hThread: HANDLE, dwThreadAffinityMask: uint) -> uint ---

    SetThreadDescription ¶

    SetThreadDescription :: proc "stdcall" (hThread: HANDLE, lpThreadDescription: [^]u16) -> HRESULT ---

    SetThreadDpiAwarenessContext ¶

    SetThreadDpiAwarenessContext :: proc "stdcall" (dpiContext: DPI_AWARENESS_CONTEXT) -> DPI_AWARENESS_CONTEXT ---

    SetThreadPriority ¶

    SetThreadPriority :: proc "stdcall" (thread: HANDLE, priority: i32) -> BOOL ---

    SetTimer ¶

    SetTimer :: proc "stdcall" (hWnd: HWND, nIDEvent: uintptr, uElapse: u32, lpTimerFunc: TIMERPROC) -> uintptr ---

    SetWaitableTimerEx ¶

    SetWaitableTimerEx :: proc "stdcall" (
    	hTimer:                   HANDLE, 
    	lpDueTime:                ^LARGE_INTEGER, 
    	lPeriod:                  i32, 
    	pfnCompletionRoutine:     PTIMERAPCROUTINE, 
    	lpArgToCompletionRoutine: rawptr, 
    	WakeContext:              ^REASON_CONTEXT, 
    	TolerableDelay:           u32, 
    ) -> BOOL ---

    SetWindowLongPtrW ¶

    SetWindowLongPtrW :: proc "stdcall" (hWnd: HWND, nIndex: i32, dwNewLong: int) -> int ---

    SetWindowLongW ¶

    SetWindowLongW :: proc "stdcall" (hWnd: HWND, nIndex: i32, dwNewLong: i32) -> i32 ---

    SetWindowPlacement ¶

    SetWindowPlacement :: proc "stdcall" (hwnd: HWND, lpwndpl: ^WINDOWPLACEMENT) -> BOOL ---

    SetWindowPos ¶

    SetWindowPos :: proc "stdcall" (
    	hWnd:            HWND, 
    	hWndInsertAfter: HWND, 
    	X:               i32, 
    	Y:               i32, 
    	cx:              i32, 
    	cy:              i32, 
    	uFlags:          u32, 
    ) -> BOOL ---

    SetWindowRgn ¶

    SetWindowRgn :: proc "stdcall" (hWnd: HWND, hRgn: HRGN, bRedraw: BOOL) -> int ---

    SetWindowTextW ¶

    SetWindowTextW :: proc "stdcall" (hWnd: HWND, lpString: [^]u16) -> BOOL ---

    SetWindowsHookExW ¶

    SetWindowsHookExW :: proc "stdcall" (idHook: i32, lpfn: HOOKPROC, hmod: HANDLE, dwThreadId: u32) -> HHOOK ---

    ShellExecuteExW ¶

    ShellExecuteExW :: proc "stdcall" (pExecInfo: ^SHELLEXECUTEINFOW) -> BOOL ---

    ShellExecuteW ¶

    ShellExecuteW :: proc "stdcall" (
    	hwnd:         HWND, 
    	lpOperation:  [^]u16, 
    	lpFile:       [^]u16, 
    	lpParameters: [^]u16, 
    	lpDirectory:  [^]u16, 
    	nShowCmd:     i32, 
    ) -> HANDLE ---

    Shell_NotifyIconW ¶

    Shell_NotifyIconW :: proc "stdcall" (dwMessage: u32, lpData: ^NOTIFYICONDATAW) -> BOOL ---

    ShowWindow ¶

    ShowWindow :: proc "stdcall" (hWnd: HWND, nCmdShow: i32) -> BOOL ---

    Sleep ¶

    Sleep :: proc "stdcall" (dwMilliseconds: u32) ---

    SleepConditionVariableCS ¶

    SleepConditionVariableCS :: proc "stdcall" (ConditionVariable: ^CONDITION_VARIABLE, CriticalSection: ^CRITICAL_SECTION, dwMilliseconds: u32) -> BOOL ---

    SleepConditionVariableSRW ¶

    SleepConditionVariableSRW :: proc "stdcall" (ConditionVariable: ^CONDITION_VARIABLE, SRWLock: ^SRWLOCK, dwMilliseconds: u32, Flags: i32) -> BOOL ---

    StretchBlt ¶

    StretchBlt :: proc "stdcall" (
    	hdcDest: HDC, 
    	xDest:   i32, 
    	yDest:   i32, 
    	wDest:   i32, 
    	hDest:   i32, 
    	hdcSrc:  HDC, 
    	xSrc:    i32, 
    	ySrc:    i32, 
    	wSrc:    i32, 
    	hSrc:    i32, 
    	rop:     u32, 
    ) -> BOOL ---

    StretchDIBits ¶

    StretchDIBits :: proc "stdcall" (
    	hdc:        HDC, 
    	xDest:      i32, 
    	yDest:      i32, 
    	DestWidth:  i32, 
    	DestHeight: i32, 
    	xSrc:       i32, 
    	ySrc:       i32, 
    	SrcWidth:   i32, 
    	SrcHeight:  i32, 
    	lpBits:     rawptr, 
    	lpbmi:      ^BITMAPINFO, 
    	iUsage:     u32, 
    	rop:        u32, 
    ) -> i32 ---

    SuspendThread ¶

    SuspendThread :: proc "stdcall" (hThread: HANDLE) -> u32 ---

    SwapBuffers ¶

    SwapBuffers :: proc "stdcall" (_: HDC) -> BOOL ---

    SwitchToFiber ¶

    SwitchToFiber :: proc "stdcall" (lpFiber: rawptr) ---

    SwitchToThread ¶

    SwitchToThread :: proc "stdcall" () -> BOOL ---

    SystemParametersInfoW ¶

    SystemParametersInfoW :: proc "stdcall" (uiAction, uiParam: u32, pvParam: rawptr, fWinIni: u32) -> BOOL ---

    SystemTimeToFileTime ¶

    SystemTimeToFileTime :: proc "stdcall" (lpSystemTime: ^SYSTEMTIME, lpFileTime: ^FILETIME) -> BOOL ---

    SystemTimeToTzSpecificLocalTime ¶

    SystemTimeToTzSpecificLocalTime :: proc "stdcall" (lpTimeZoneInformation: ^TIME_ZONE_INFORMATION, lpUniversalTime: ^SYSTEMTIME, lpLocalTime: ^SYSTEMTIME) -> BOOL ---

    TerminateProcess ¶

    TerminateProcess :: proc "stdcall" (hProcess: HANDLE, uExitCode: u32) -> BOOL ---

    TerminateThread ¶

    TerminateThread :: proc "stdcall" (thread: HANDLE, exit_code: u32) -> BOOL ---

    TextOutW ¶

    TextOutW :: proc "stdcall" (hdc: HDC, x, y: i32, lpString: [^]u16, c: i32) -> BOOL ---

    TlsAlloc ¶

    TlsAlloc :: proc "stdcall" () -> u32 ---

    TlsFree ¶

    TlsFree :: proc "stdcall" (dwTlsIndex: u32) -> BOOL ---

    TlsGetValue ¶

    TlsGetValue :: proc "stdcall" (dwTlsIndex: u32) -> rawptr ---

    TlsSetValue ¶

    TlsSetValue :: proc "stdcall" (dwTlsIndex: u32, lpTlsvalue: rawptr) -> BOOL ---

    ToUnicode ¶

    ToUnicode :: proc "stdcall" (
    	nVirtKey:   u32, 
    	wScanCode:  u32, 
    	lpKeyState: ^BYTE, 
    	pwszBuff:   ^u16, 
    	cchBuff:    i32, 
    	wFlags:     u32, 
    ) -> i32 ---

    TrackMouseEvent ¶

    TrackMouseEvent :: proc "stdcall" (lpEventTrack: ^TRACKMOUSEEVENT) -> BOOL ---

    TrackPopupMenu ¶

    TrackPopupMenu :: proc "stdcall" (
    	hMenu:     HMENU, 
    	uFlags:    u32, 
    	x:         int, 
    	y:         int, 
    	nReserved: int, 
    	hWnd:      HWND, 
    	prcRect:   ^RECT, 
    ) -> i32 ---

    TranslateMessage ¶

    TranslateMessage :: proc "stdcall" (lpMsg: ^MSG) -> BOOL ---

    TryAcquireSRWLockExclusive ¶

    TryAcquireSRWLockExclusive :: proc "stdcall" (SRWLock: ^SRWLOCK) -> BOOLEAN ---

    TryAcquireSRWLockShared ¶

    TryAcquireSRWLockShared :: proc "stdcall" (SRWLock: ^SRWLOCK) -> BOOLEAN ---

    TryEnterCriticalSection ¶

    TryEnterCriticalSection :: proc "stdcall" (CriticalSection: ^CRITICAL_SECTION) -> BOOLEAN ---

    UnhookWindowsHookEx ¶

    UnhookWindowsHookEx :: proc "stdcall" (hhk: HHOOK) -> BOOL ---

    UnmapViewOfFile ¶

    UnmapViewOfFile :: proc "stdcall" (lpBaseAddress: rawptr) -> BOOL ---

    UnmapViewOfFile2 ¶

    UnmapViewOfFile2 :: proc "stdcall" (ProcessHandle: HANDLE, BaseAddress: rawptr, UnmapFlags: u32) -> BOOL ---

    UnmapViewOfFileEx ¶

    UnmapViewOfFileEx :: proc "stdcall" (BaseAddress: rawptr, UnmapFlags: u32) -> BOOL ---

    UnregisterBadMemoryNotification ¶

    UnregisterBadMemoryNotification :: proc "stdcall" (RegistrationHandle: rawptr) -> BOOL ---

    UnregisterClassW ¶

    UnregisterClassW :: proc "stdcall" (lpClassName: [^]u16, hInstance: HANDLE) -> BOOL ---

    UpdateWindow ¶

    UpdateWindow :: proc "stdcall" (hWnd: HWND) -> BOOL ---

    ValidateRect ¶

    ValidateRect :: proc "stdcall" (hWnd: HWND, lpRect: ^RECT) -> BOOL ---

    VirtualAlloc ¶

    VirtualAlloc :: proc "stdcall" (lpAddress: rawptr, dwSize: uint, flAllocationType: u32, flProtect: u32) -> rawptr ---

    VirtualAllocEx ¶

    VirtualAllocEx :: proc "stdcall" (hProcess: HANDLE, lpAddress: rawptr, dwSize: uint, flAllocationType: u32, flProtect: u32) -> rawptr ---

    VirtualAllocExNuma ¶

    VirtualAllocExNuma :: proc "stdcall" (
    	hProcess:         HANDLE, 
    	lpAddress:        rawptr, 
    	dwSize:           uint, 
    	flAllocationType: u32, 
    	flProtect:        u32, 
    	nndPreferred:     u32, 
    ) -> rawptr ---

    VirtualAllocFromApp ¶

    VirtualAllocFromApp :: proc "stdcall" (BaseAddress: rawptr, Size: uint, AllocationType: u32, Protection: u32) -> rawptr ---

    VirtualFree ¶

    VirtualFree :: proc "stdcall" (lpAddress: rawptr, dwSize: uint, dwFreeType: u32) -> BOOL ---

    VirtualFreeEx ¶

    VirtualFreeEx :: proc "stdcall" (hProcess: HANDLE, lpAddress: rawptr, dwSize: uint, dwFreeType: u32) -> BOOL ---

    VirtualLock ¶

    VirtualLock :: proc "stdcall" (lpAddress: rawptr, dwSize: uint) -> BOOL ---

    VirtualProtect ¶

    VirtualProtect :: proc "stdcall" (lpAddress: rawptr, dwSize: uint, flNewProtect: u32, lpflOldProtect: ^u32) -> BOOL ---

    VirtualProtectEx ¶

    VirtualProtectEx :: proc "stdcall" (hProcess: HANDLE, lpAddress: rawptr, dwSize: uint, flNewProtect: u32, lpflOldProtect: ^u32) -> BOOL ---

    VirtualProtectFromApp ¶

    VirtualProtectFromApp :: proc "stdcall" (Address: rawptr, Size: uint, NewProtection: u32, OldProtection: ^u32) -> BOOL ---

    VirtualQuery ¶

    VirtualQuery :: proc "stdcall" (lpAddress: rawptr, lpBuffer: ^MEMORY_BASIC_INFORMATION, dwLength: uint) -> uint ---

    VirtualQueryEx ¶

    VirtualQueryEx :: proc "stdcall" (hProcess: HANDLE, lpAddress: rawptr, lpBuffer: ^MEMORY_BASIC_INFORMATION, dwLength: uint) -> uint ---

    VirtualUnlock ¶

    VirtualUnlock :: proc "stdcall" (lpAddress: rawptr, dwSize: uint) -> BOOL ---

    WSACleanup ¶

    WSACleanup :: proc "stdcall" () -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsacleanup)

    WSADuplicateSocketW ¶

    WSADuplicateSocketW :: proc "stdcall" (s: SOCKET, dwProcessId: u32, lpProtocolInfo: ^WSAPROTOCOL_INFO) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsaduplicatesocketw)

    WSAEnumNetworkEvents ¶

    WSAEnumNetworkEvents :: proc "stdcall" (s: SOCKET, hEventObject: HANDLE, lpNetworkEvents: ^WSANETWORKEVENTS) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsaenumnetworkevents)

    WSAEventSelect ¶

    WSAEventSelect :: proc "stdcall" (s: SOCKET, hEventObject: HANDLE, lNetworkEvents: i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsaeventselect)

    WSAGetLastError ¶

    WSAGetLastError :: proc "stdcall" () -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsagetlasterror)

    WSAGetOverlappedResult ¶

    WSAGetOverlappedResult :: proc "stdcall" (s: SOCKET, lpOverlapped: ^OVERLAPPED, lpcbTransfer: ^u32, fWait: BOOL, lpdwFlags: ^u32) -> BOOL ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsagetoverlappedresult)

    WSAIoctl ¶

    WSAIoctl :: proc "stdcall" (
    	s:                   SOCKET, 
    	dwIoControlCode:     u32, 
    	lpvInBuffer:         rawptr, 
    	cbInBuffer:          u32, 
    	lpvOutBuffer:        rawptr, 
    	cbOutBuffer:         u32, 
    	lpcbBytesReturned:   ^u32, 
    	lpOverlapped:        ^OVERLAPPED, 
    	lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, 
    ) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsaioctl)

    WSAPoll ¶

    WSAPoll :: proc "stdcall" (fdArray: ^WSA_POLLFD, fds: u32, timeout: i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsapoll)

    WSARecv ¶

    WSARecv :: proc "stdcall" (
    	s:                    SOCKET, 
    	lpBuffers:            ^WSABUF, 
    	dwBufferCount:        u32, 
    	lpNumberOfBytesRecvd: ^u32, 
    	lpFlags:              ^u32, 
    	lpOverlapped:         LPWSAOVERLAPPED, 
    	lpCompletionRoutine:  LPWSAOVERLAPPED_COMPLETION_ROUTINE, 
    ) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsarecv)

    WSASend ¶

    WSASend :: proc "stdcall" (
    	s:                   SOCKET, 
    	lpBuffers:           ^WSABUF, 
    	dwBufferCount:       u32, 
    	lpNumberOfBytesSent: ^u32, 
    	dwFlags:             u32, 
    	lpOverlapped:        LPWSAOVERLAPPED, 
    	lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, 
    ) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasend)

    WSASocketW ¶

    WSASocketW :: proc "stdcall" (
    	af:             i32, 
    	kind:           i32, 
    	protocol:       i32, 
    	lpProtocolInfo: ^WSAPROTOCOL_INFO, 
    	g:              GROUP, 
    	dwFlags:        u32, 
    ) -> SOCKET ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketw)

    WSAStartup ¶

    WSAStartup :: proc "stdcall" (wVersionRequested: u16, lpWSAData: ^WSADATA) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsastartup)

    WSAWaitForMultipleEvents ¶

    WSAWaitForMultipleEvents :: proc "stdcall" (cEvents: u32, lphEvents: ^HANDLE, fWaitAll: BOOL, dwTimeout: u32, fAlertable: BOOL) -> u32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsawaitformultipleevents)

    WaitForMultipleObjects ¶

    WaitForMultipleObjects :: proc "stdcall" (nCount: u32, lpHandles: ^HANDLE, bWaitAll: BOOL, dwMilliseconds: u32) -> u32 ---

    WaitForMultipleObjectsEx ¶

    WaitForMultipleObjectsEx :: proc "stdcall" (nCount: u32, lpHandles: ^HANDLE, bWaitAll: BOOL, dwMilliseconds: u32, bAlterable: BOOL) -> u32 ---

    WaitForSingleObject ¶

    WaitForSingleObject :: proc "stdcall" (hHandle: HANDLE, dwMilliseconds: u32) -> u32 ---

    WaitForSingleObjectEx ¶

    WaitForSingleObjectEx :: proc "stdcall" (hHandle: HANDLE, dwMilliseconds: u32, bAlterable: BOOL) -> u32 ---

    WaitMessage ¶

    WaitMessage :: proc "stdcall" () -> BOOL ---

    WaitNamedPipeW ¶

    WaitNamedPipeW :: proc "stdcall" (lpNamedPipeName: [^]u16, nTimeOut: u32) -> BOOL ---

    WaitOnAddress ¶

    WaitOnAddress :: proc "stdcall" (Address: rawptr, CompareAddress: rawptr, AddressSize: uint, dwMilliseconds: u32) -> BOOL ---

    WakeAllConditionVariable ¶

    WakeAllConditionVariable :: proc "stdcall" (ConditionVariable: ^CONDITION_VARIABLE) ---

    WakeByAddressAll ¶

    WakeByAddressAll :: proc "stdcall" (Address: rawptr) ---

    WakeByAddressSingle ¶

    WakeByAddressSingle :: proc "stdcall" (Address: rawptr) ---

    WakeConditionVariable ¶

    WakeConditionVariable :: proc "stdcall" (ConditionVariable: ^CONDITION_VARIABLE) ---

    WideCharToMultiByte ¶

    WideCharToMultiByte :: proc "stdcall" (
    	CodePage:          u32, 
    	dwFlags:           u32, 
    	lpWideCharStr:     [^]u16, 
    	cchWideChar:       i32, 
    	lpMultiByteStr:    ^u8, 
    	cbMultiByte:       i32, 
    	lpDefaultChar:     cstring, 
    	lpUsedDefaultChar: ^BOOL, 
    ) -> i32 ---

    WriteConsoleW ¶

    WriteConsoleW :: proc "stdcall" (hConsoleOutput: HANDLE, lpBuffer: rawptr, nNumberOfCharsToWrite: u32, lpNumberOfCharsWritten: ^u32, lpReserved: rawptr) -> BOOL ---

    WriteFile ¶

    WriteFile :: proc "stdcall" (hFile: HANDLE, lpBuffer: rawptr, nNumberOfBytesToWrite: u32, lpNumberOfBytesWritten: ^u32, lpOverlapped: ^OVERLAPPED) -> BOOL ---

    WriteProcessMemory ¶

    WriteProcessMemory :: proc "stdcall" (hProcess: HANDLE, lpBaseAddress: rawptr, lpBuffer: rawptr, nSize: uint, lpNumberOfBytesWritten: ^uint) -> BOOL ---

    accept ¶

    accept :: proc "stdcall" (socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: ^i32) -> SOCKET ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-accept)

    add_del_from_group ¶

    add_del_from_group :: proc(sid: ^SID, group: string) -> (ok: NET_API_STATUS) {…}

    add_user ¶

    add_user :: proc(servername: string, username: string, password: string) -> (ok: bool) {…}

    add_user_profile ¶

    add_user_profile :: proc(username: string) -> (ok: bool, profile_path: string) {…}

    add_user_to_group ¶

    add_user_to_group :: proc(sid: ^SID, group: string) -> (ok: NET_API_STATUS) {…}

    allowed_username ¶

    allowed_username :: proc(username: string) -> bool {…}

    bind ¶

    bind :: proc "stdcall" (socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-bind)

    closesocket ¶

    closesocket :: proc "stdcall" (socket: SOCKET) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-closesocket)

    connect ¶

    connect :: proc "stdcall" (socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, len: i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-connect)

    delete_user ¶

    delete_user :: proc(servername: string, username: string) -> (ok: bool) {…}

    delete_user_profile ¶

    delete_user_profile :: proc(username: string) -> (ok: bool) {…}

    ensure_winsock_initialized ¶

    ensure_winsock_initialized :: proc() {…}

    freeaddrinfo ¶

    freeaddrinfo :: proc "stdcall" (res: ^ADDRINFOA) ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-freeaddrinfo)

    get_adapters_addresses ¶

    get_adapters_addresses :: proc "stdcall" (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.

    	See: https://docs.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-getadaptersaddresses
    

    get_computer_name_and_account_sid ¶

    get_computer_name_and_account_sid :: proc(username: string) -> (computer_name: string, sid: SID = SID{}, ok: bool) {…}

    get_dcb_config ¶

    get_dcb_config :: proc "contextless" (dcb: DCB) -> (config: DCB_Config) {…}

    get_sid ¶

    get_sid :: proc(username: string, sid: ^SID) -> (ok: bool) {…}

    getaddrinfo ¶

    getaddrinfo :: proc "stdcall" (node: cstring, service: cstring, hints: ^ADDRINFOA, res: ^^ADDRINFOA) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/ws2tcpip/nf-ws2tcpip-getaddrinfo)

    getpeername ¶

    getpeername :: proc "stdcall" (socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: ^i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-getpeername)

    getsockname ¶

    getsockname :: proc "stdcall" (socket: SOCKET, address: ^SOCKADDR_STORAGE_LH, address_len: ^i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-getsockname)

    getsockopt ¶

    getsockopt :: proc "stdcall" (s: SOCKET, level: i32, optname: i32, optval: ^u8, optlen: ^i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-getsockopt)

    gl_set_proc_address ¶

    gl_set_proc_address :: proc(p: rawptr, name: cstring) {…}
     

    Used by vendor:OpenGL https://www.khronos.org/opengl/wiki/Load_OpenGL_Functions#Windows

    htonl ¶

    htonl :: proc "stdcall" (hostlong: u32) -> u32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-htonl)

    htons ¶

    htons :: proc "stdcall" (hostshort: u16) -> u16 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-htons)

    init_dcb_with_config ¶

    init_dcb_with_config :: proc "contextless" (dcb: ^DCB, config: DCB_Config) {…}
     

    A helper procedure to set the values of a DCB structure.

    ioctlsocket ¶

    ioctlsocket :: proc "stdcall" (s: SOCKET, cmd: i32, argp: ^u32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-ioctlsocket)

    listen ¶

    listen :: proc "stdcall" (socket: SOCKET, backlog: i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen)

    ntohl ¶

    ntohl :: proc "stdcall" (netlong: u32) -> u32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-ntohl)

    ntohs ¶

    ntohs :: proc "stdcall" (netshort: u16) -> u16 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-ntohs)

    recv ¶

    recv :: proc "stdcall" (socket: SOCKET, buf: rawptr, len: i32, flags: i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-recv)

    recvfrom ¶

    recvfrom :: proc "stdcall" (
    	socket:  SOCKET, 
    	buf:     rawptr, 
    	len:     i32, 
    	flags:   i32, 
    	addr:    ^SOCKADDR_STORAGE_LH, 
    	addrlen: ^i32, 
    ) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-recvfrom)

    run_as_user ¶

    run_as_user :: proc(
    	username, password, application, commandline: string, 
    	pi:                                           ^PROCESS_INFORMATION, 
    	wait:                                         bool = true, 
    ) -> (ok: bool) {…}

    select ¶

    select :: proc "stdcall" (nfds: i32, readfds: ^fd_set, writefds: ^fd_set, exceptfds: ^fd_set, timeout: ^timeval) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-select)

    send ¶

    send :: proc "stdcall" (socket: SOCKET, buf: rawptr, len: i32, flags: i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-send)

    sendto ¶

    sendto :: proc "stdcall" (
    	socket:  SOCKET, 
    	buf:     rawptr, 
    	len:     i32, 
    	flags:   i32, 
    	addr:    ^SOCKADDR_STORAGE_LH, 
    	addrlen: i32, 
    ) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-sendto)

    setsockopt ¶

    setsockopt :: proc "stdcall" (s: SOCKET, level: i32, optname: i32, optval: rawptr, optlen: i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-setsockopt)

    shutdown ¶

    shutdown :: proc "stdcall" (socket: SOCKET, how: i32) -> i32 ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-shutdown)

    socket ¶

    socket :: proc "stdcall" (af: i32, type: i32, protocol: i32) -> SOCKET ---
     

    [MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-socket)

    timeBeginPeriod ¶

    timeBeginPeriod :: proc "stdcall" (uPeriod: u32) -> u32 ---

    timeEndPeriod ¶

    timeEndPeriod :: proc "stdcall" (uPeriod: u32) -> u32 ---

    timeGetDevCaps ¶

    timeGetDevCaps :: proc "stdcall" (ptc: ^TIMECAPS, cbtc: u32) -> u32 ---

    timeGetTime ¶

    timeGetTime :: proc "stdcall" () -> u32 ---

    utf16_to_utf8 ¶

    utf16_to_utf8 :: proc(s: []u16, allocator := context.temp_allocator) -> (res: string, err: runtime.Allocator_Error) {…}

    utf8_to_utf16 ¶

    utf8_to_utf16 :: proc(s: string, allocator := context.allocator) -> []u16 {…}

    utf8_to_wstring ¶

    utf8_to_wstring :: proc(s: string, allocator := context.allocator) -> [^]u16 {…}

    waveInGetDevCapsW ¶

    waveInGetDevCapsW :: proc "stdcall" (uDeviceID: uintptr, pwic: ^WAVEINCAPSW, cbwic: u32) -> u32 ---

    waveInGetNumDevs ¶

    waveInGetNumDevs :: proc "stdcall" () -> u32 ---

    waveOutBreakLoop ¶

    waveOutBreakLoop :: proc "stdcall" (hwo: HWAVEOUT) -> u32 ---

    waveOutClose ¶

    waveOutClose :: proc "stdcall" (hwo: HWAVEOUT) -> u32 ---

    waveOutGetDevCapsW ¶

    waveOutGetDevCapsW :: proc "stdcall" (uDeviceID: uintptr, pwoc: ^WAVEOUTCAPSW, cbwoc: u32) -> u32 ---

    waveOutGetErrorTextW ¶

    waveOutGetErrorTextW :: proc "stdcall" (mmrError: u32, pszText: ^u16, cchText: u32) -> u32 ---

    waveOutGetID ¶

    waveOutGetID :: proc "stdcall" (hwo: HWAVEOUT, puDeviceID: ^u32) -> u32 ---

    waveOutGetNumDevs ¶

    waveOutGetNumDevs :: proc "stdcall" () -> u32 ---

    waveOutGetPitch ¶

    waveOutGetPitch :: proc "stdcall" (hwo: HWAVEOUT, pdwPitch: ^u32) -> u32 ---

    waveOutGetPlaybackRate ¶

    waveOutGetPlaybackRate :: proc "stdcall" (hwo: HWAVEOUT, pdwRate: ^u32) -> u32 ---

    waveOutGetPosition ¶

    waveOutGetPosition :: proc "stdcall" (hwo: HWAVEOUT, pmmt: ^MMTIME, cbmmt: u32) -> u32 ---

    waveOutGetVolume ¶

    waveOutGetVolume :: proc "stdcall" (hwo: HWAVEOUT, pdwVolume: ^u32) -> u32 ---

    waveOutOpen ¶

    waveOutOpen :: proc "stdcall" (
    	phwo:       ^HWAVEOUT, 
    	uDeviceID:  u32, 
    	pwfx:       ^WAVEFORMATEX, 
    	dwCallback: uint, 
    	dwInstance: uint, 
    	fdwOpen:    u32, 
    ) -> u32 ---

    waveOutPause ¶

    waveOutPause :: proc "stdcall" (hwo: HWAVEOUT) -> u32 ---

    waveOutPrepareHeader ¶

    waveOutPrepareHeader :: proc "stdcall" (hwo: HWAVEOUT, pwh: ^WAVEHDR, cbwh: u32) -> u32 ---

    waveOutReset ¶

    waveOutReset :: proc "stdcall" (hwo: HWAVEOUT) -> u32 ---

    waveOutRestart ¶

    waveOutRestart :: proc "stdcall" (hwo: HWAVEOUT) -> u32 ---

    waveOutSetPitch ¶

    waveOutSetPitch :: proc "stdcall" (hwo: HWAVEOUT, pdwPitch: u32) -> u32 ---

    waveOutSetPlaybackRate ¶

    waveOutSetPlaybackRate :: proc "stdcall" (hwo: HWAVEOUT, pdwRate: u32) -> u32 ---

    waveOutSetVolume ¶

    waveOutSetVolume :: proc "stdcall" (hwo: HWAVEOUT, dwVolume: u32) -> u32 ---

    waveOutUnprepareHeader ¶

    waveOutUnprepareHeader :: proc "stdcall" (hwo: HWAVEOUT, pwh: ^WAVEHDR, cbwh: u32) -> u32 ---

    waveOutWrite ¶

    waveOutWrite :: proc "stdcall" (hwo: HWAVEOUT, pwh: ^WAVEHDR, cbwh: u32) -> u32 ---

    wglCopyContext ¶

    wglCopyContext :: proc "stdcall" (src, dst: HGLRC, mask: u32) -> BOOL ---

    wglCreateContext ¶

    wglCreateContext :: proc "stdcall" (hdc: HDC) -> HGLRC ---

    wglCreateLayerContext ¶

    wglCreateLayerContext :: proc "stdcall" (hdc: HDC, layer_plane: i32) -> HGLRC ---

    wglDeleteContext ¶

    wglDeleteContext :: proc "stdcall" (HGLRC: HGLRC) -> BOOL ---

    wglDescribeLayerPlane ¶

    wglDescribeLayerPlane :: proc "stdcall" (hdc: HDC, pixel_format, layer_plane: i32, bytes: u32, pd: ^LAYERPLANEDESCRIPTOR) -> BOOL ---

    wglGetCurrentContext ¶

    wglGetCurrentContext :: proc "stdcall" () -> HGLRC ---

    wglGetCurrentDC ¶

    wglGetCurrentDC :: proc "stdcall" () -> HDC ---

    wglGetLayerPaletteEntries ¶

    wglGetLayerPaletteEntries :: proc "stdcall" (hdc: HDC, layer_plane, start, entries: i32, cr: ^u32) -> i32 ---

    wglGetProcAddress ¶

    wglGetProcAddress :: proc "stdcall" (c_str: cstring) -> rawptr ---

    wglMakeCurrent ¶

    wglMakeCurrent :: proc "stdcall" (hdc: HDC, HGLRC: HGLRC) -> BOOL ---

    wglRealizeLayerPalette ¶

    wglRealizeLayerPalette :: proc "stdcall" (hdc: HDC, layer_plane: i32, realize: BOOL) -> BOOL ---

    wglSetLayerPaletteEntries ¶

    wglSetLayerPaletteEntries :: proc "stdcall" (hdc: HDC, layer_plane, start, entries: i32, cr: ^u32) -> i32 ---

    wglShareLists ¶

    wglShareLists :: proc "stdcall" (HGLRC1, HGLRC2: HGLRC) -> BOOL ---

    wglSwapLayerBuffers ¶

    wglSwapLayerBuffers :: proc "stdcall" (hdc: HDC, planes: u32) -> BOOL ---

    wglUseFontBitmaps ¶

    wglUseFontBitmaps :: proc "stdcall" (hdc: HDC, first, count, list_base: u32) -> BOOL ---

    wglUseFontOutlines ¶

    wglUseFontOutlines :: proc "stdcall" (
    	hdc:                     HDC, 
    	first, count, list_base: u32, 
    	deviation, extrusion:    f32, 
    	format:                  i32, 
    	gmf:                     ^GLYPHMETRICSFLOAT, 
    ) -> BOOL ---

    wstring_to_utf8 ¶

    wstring_to_utf8 :: proc(s: [^]u16, N: int, allocator := context.temp_allocator) -> (res: string, err: runtime.Allocator_Error) {…}

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-2024-04 (vendor "odin") Windows_amd64 @ 2024-04-26 21:08:59.107306200 +0000 UTC