Module windows

Define winUnicode before importing this module for the Unicode version.

Types

WideChar* = uint16
PWideChar* = ptr uint16
SHORT* = int16
LONG* = int32
PWCHAR* = PWideChar
LPWCH* = PWideChar
PWCH* = PWideChar
LPCWCH* = PWideChar
PCWCH* = PWideChar
NWPSTR* = PWideChar
LPWSTR* = PWideChar
LPCWSTR* = PWideChar
PCWSTR* = PWideChar
LPCH* = cstring
PCH* = cstring
LPCCH* = cstring
PCCH* = cstring
LPSTR* = cstring
PSTR* = cstring
LPCSTR* = cstring
PCSTR* = cstring
LONG32* = int32
ULONG32* = int32
DWORD32* = int32
LONG64* = int64
ULONG64* = int64
DWORD64* = int64
PDWORD64* = ptr DWORD64
INT_PTR* = TAddress
UINT_PTR* = TAddress
LONG_PTR* = TAddress
ULONG_PTR* = TAddress
SIZE_T* = TAddress
SSIZE_T* = TAddress
DWORD_PTR* = TAddress
KAFFINITY* = TAddress
PKAFFINITY* = ptr KAFFINITY
ULONG* = int
PULONG* = ptr int
USHORT* = int16
PUSHORT* = ptr int16
UCHAR* = int8
PUCHAR* = ptr int8
PSZ* = cstring
DWORD* = int32
WINBOOL* = int32
WORD* = int16
PFLOAT* = ptr FLOAT
PWINBOOL* = ptr WINBOOL
LPWINBOOL* = ptr WINBOOL
PBYTE* = ptr int8
LPBYTE* = ptr int8
PINT* = ptr int32
LPINT* = ptr int32
PWORD* = ptr int16
LPWORD* = ptr int16
LPLONG* = ptr int32
PDWORD* = ptr DWORD
LPDWORD* = ptr DWORD
LPVOID* = pointer
LPCVOID* = pointer
PUINT* = ptr int
WPARAM* = LONG_PTR
LPARAM* = LONG_PTR
LRESULT* = LONG_PTR
ATOM* = int16
TAtom* = ATOM
HANDLE* = int
THandle* = HANDLE
PHANDLE* = ptr HANDLE
LPHANDLE* = ptr HANDLE
HWND* = HANDLE
HHOOK* = HANDLE
HEVENT* = HANDLE
HGLOBAL* = HANDLE
HLOCAL* = HANDLE
HGDIOBJ* = HANDLE
HKEY* = HANDLE
PHKEY* = ptr HKEY
HACCEL* = HANDLE
HBITMAP* = HANDLE
HBRUSH* = HANDLE
HCOLORSPACE* = HANDLE
HDC* = HANDLE
HGLRC* = HANDLE
HDESK* = HANDLE
HENHMETAFILE* = HANDLE
HFONT* = HANDLE
HICON* = HANDLE
HMETAFILE* = HANDLE
HINST* = HANDLE
HMODULE* = HANDLE
HPALETTE* = HANDLE
HPEN* = HANDLE
HRGN* = HANDLE
HRSRC* = HANDLE
HTASK* = HANDLE
HWINSTA* = HANDLE
HKL* = HANDLE
HMONITOR* = HANDLE
HWINEVENTHOOK* = HANDLE
HUMPD* = HANDLE
HFILE* = HANDLE
HCURSOR* = HANDLE
COLORREF* = int
LPCOLORREF* = ptr COLORREF
POINT* {.final, pure.} = object 
  x*: LONG
  y*: LONG
PPOINT* = ptr POINT
LPPOINT* = ptr POINT
POINTL* {.final, pure.} = object 
  x*: LONG
  y*: LONG
PPOINTL* = ptr POINTL
TPOINT* = POINT
TPOINTL* = POINTL
RECT* {.final, pure.} = object 
  TopLeft*, BottomRight*: TPoint
PRECT* = ptr RECT
LPRECT* = ptr RECT
RECTL* {.final, pure.} = object 
  left*: LONG
  top*: LONG
  right*: LONG
  bottom*: LONG
PRECTL* = ptr RECTL
SIZE* {.final, pure.} = object 
  cx*: LONG
  cy*: LONG
PSIZE* = ptr SIZE
LPSIZE* = ptr SIZE
SIZEL* = SIZE
PSIZEL* = ptr SIZE
LPSIZEL* = ptr SIZE
POINTS* {.final, pure.} = object 
  x*: SHORT
  y*: SHORT
PPOINTS* = ptr POINTS
TRECT* = RECT
TRECTL* = RECTL
TSIZE* = SIZE
TSIZEL* = SIZE
TPOINTS* = POINTS
FILETIME* {.final, pure.} = object 
  dwLowDateTime*: DWORD
  dwHighDateTime*: DWORD
PFILETIME* = ptr FILETIME
LPFILETIME* = ptr FILETIME
TFILETIME* = FILETIME
WORDBOOL* = int16
CALTYPE* = int
CALID* = int
CCHAR* = char
TCOLORREF* = int
WINT* = int32
PINTEGER* = ptr int32
PBOOL* = ptr WINBOOL
LONGLONG* = int64
PLONGLONG* = ptr LONGLONG
LPLONGLONG* = ptr LONGLONG
ULONGLONG* = int64
PULONGLONG* = ptr ULONGLONG
DWORDLONG* = int64
PDWORDLONG* = ptr DWORDLONG
HRESULT* = int
PHRESULT* = ptr HRESULT
HCONV* = HANDLE
HCONVLIST* = HANDLE
HDBC* = HANDLE
HDDEDATA* = HANDLE
HDROP* = HANDLE
HDWP* = HANDLE
HENV* = HANDLE
HIMAGELIST* = HANDLE
HMENU* = HANDLE
HRASCONN* = HANDLE
HSTMT* = HANDLE
HSTR* = HANDLE
HSZ* = HANDLE
LANGID* = int16
LCID* = DWORD
LCTYPE* = DWORD
LP* = ptr int16
LPBOOL* = ptr WINBOOL
LPCTSTR* = PWideChar
LPPCSTR* = ptr LPCSTR
LPPCTSTR* = ptr LPCTSTR
LPPCWSTR* = ptr LPCWSTR
LPTCH* = PWideChar
LPTSTR* = PWideChar
PBOOLEAN* = ptr int8
PLONG* = ptr int32
PSHORT* = ptr SHORT
PTBYTE* = ptr uint16
PTCH* = PWideChar
PTCHAR* = PWideChar
PTSTR* = PWideChar
PVOID* = pointer
RETCODE* = SHORT
SC_HANDLE* = HANDLE
SC_LOCK* = LPVOID
LPSC_HANDLE* = ptr SC_HANDLE
SERVICE_STATUS_HANDLE* = DWORD
TBYTE* = uint16
TCHAR* = widechar
BCHAR* = int16
WCHAR* = WideChar
PLPSTR* = ptr LPSTR
PLPWStr* = ptr LPWStr
ACL_INFORMATION_CLASS* = enum 
  AclRevisionInformation = 1, AclSizeInformation
MEDIA_TYPE* = enum 
  Unknown, F5_1Pt2_512, F3_1Pt44_512, F3_2Pt88_512, F3_20Pt8_512, F3_720_512, 
  F5_360_512, F5_320_512, F5_320_1024, F5_180_512, F5_160_512, RemovableMedia, 
  FixedMedia
RASCONNSTATE* = enum 
  RASCS_OpenPort = 0, RASCS_PortOpened, RASCS_ConnectDevice, 
  RASCS_DeviceConnected, RASCS_AllDevicesConnected, RASCS_Authenticate, 
  RASCS_AuthNotify, RASCS_AuthRetry, RASCS_AuthCallback, 
  RASCS_AuthChangePassword, RASCS_AuthProject, RASCS_AuthLinkSpeed, 
  RASCS_AuthAck, RASCS_ReAuthenticate, RASCS_Authenticated, 
  RASCS_PrepareForCallback, RASCS_WaitForModemReset, RASCS_WaitForCallback, 
  RASCS_Projected, RASCS_StartAuthentication, RASCS_CallbackComplete, 
  RASCS_LogonNetwork, RASCS_Interactive = RASCS_PAUSED, 
  RASCS_RetryAuthentication, RASCS_CallbackSetByCaller, RASCS_PasswordExpired, 
  RASCS_Connected = RASCS_DONE, RASCS_Disconnected
RASPROJECTION* = enum 
  RASP_PppIp = 0x00008021, RASP_PppIpx = 0x0000802B, RASP_PppNbf = 0x0000803F, 
  RASP_Amb = 0x00010000
SECURITY_IMPERSONATION_LEVEL* = enum 
  SecurityAnonymous, SecurityIdentification, SecurityImpersonation, 
  SecurityDelegation
SID_NAME_USE* = enum 
  SidTypeUser = 1, SidTypeGroup, SidTypeDomain, SidTypeAlias, 
  SidTypeWellKnownGroup, SidTypeDeletedAccount, SidTypeInvalid, SidTypeUnknown
PSID_NAME_USE* = ptr SID_NAME_USE
TOKEN_INFORMATION_CLASS* = enum 
  TokenUser = 1, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, 
  TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, 
  TokenStatistics
TTOKEN_TYPE* = enum 
  TokenPrimary = 1, TokenImpersonation
MakeIntResourceA* = cstring
MakeIntResourceW* = PWideChar
MakeIntResource* = MakeIntResourceA
BFFCALLBACK* = proc (para1: HWND; para2: UINT; para3: LPARAM; para4: LPARAM): int32 {.
    stdcall.}
LPCCHOOKPROC* = proc (para1: HWND; para2: UINT; para3: WPARAM; para4: LPARAM): UINT {.
    stdcall.}
LPCFHOOKPROC* = proc (para1: HWND; para2: UINT; para3: WPARAM; para4: LPARAM): UINT {.
    stdcall.}
PTHREAD_START_ROUTINE* = Pointer
LPTHREAD_START_ROUTINE* = PTHREAD_START_ROUTINE
EDITSTREAMCALLBACK* = proc (para1: DWORD; para2: LPBYTE; para3: LONG; 
                            para4: LONG): DWORD {.stdcall.}
LPFRHOOKPROC* = proc (para1: HWND; para2: UINT; para3: WPARAM; para4: LPARAM): UINT {.
    stdcall.}
LPOFNHOOKPROC* = proc (para1: HWND; para2: UINT; para3: WPARAM; para4: LPARAM): UINT {.
    stdcall.}
LPPRINTHOOKPROC* = proc (para1: HWND; para2: UINT; para3: WPARAM; para4: LPARAM): UINT {.
    stdcall.}
LPSETUPHOOKPROC* = proc (para1: HWND; para2: UINT; para3: WPARAM; para4: LPARAM): UINT {.
    stdcall.}
DLGPROC* = proc (para1: HWND; para2: UINT; para3: WPARAM; para4: LPARAM): LRESULT {.
    stdcall.}
PFNPROPSHEETCALLBACK* = proc (para1: HWND; para2: UINT; para3: LPARAM): int32 {.
    stdcall.}
LPSERVICE_MAIN_FUNCTION* = proc (para1: DWORD; para2: LPTSTR) {.stdcall.}
PFNTVCOMPARE* = proc (para1: LPARAM; para2: LPARAM; para3: LPARAM): int32 {.
    stdcall.}
WNDPROC* = proc (para1: HWND; para2: UINT; para3: WPARAM; para4: LPARAM): LRESULT {.
    stdcall.}
FARPROC* = pointer
TFarProc* = FARPROC
TProc* = pointer
ENUMRESTYPEPROC* = proc (para1: HANDLE; para2: LPTSTR; para3: LONG): WINBOOL {.
    stdcall.}
ENUMRESNAMEPROC* = proc (para1: HANDLE; para2: LPCTSTR; para3: LPTSTR; 
                         para4: LONG): WINBOOL {.stdcall.}
ENUMRESLANGPROC* = proc (para1: HANDLE; para2: LPCTSTR; para3: LPCTSTR; 
                         para4: int16; para5: LONG): WINBOOL {.stdcall.}
DESKTOPENUMPROC* = FARPROC
ENUMWINDOWSPROC* = proc (para1: HWND; para2: LPARAM): WINBOOL {.stdcall.}
ENUMWINDOWSTATIONPROC* = proc (para1: LPTSTR; para2: LPARAM): WINBOOL {.stdcall.}
SENDASYNCPROC* = proc (para1: HWND; para2: UINT; para3: DWORD; para4: LRESULT) {.
    stdcall.}
TIMERPROC* = proc (para1: HWND; para2: UINT; para3: UINT; para4: DWORD) {.
    stdcall.}
GRAYSTRINGPROC* = FARPROC
DRAWSTATEPROC* = proc (para1: HDC; para2: LPARAM; para3: WPARAM; para4: int32; 
                       para5: int32): WINBOOL {.stdcall.}
PROPENUMPROCEX* = proc (para1: HWND; para2: LPCTSTR; para3: HANDLE; para4: DWORD): WINBOOL {.
    stdcall.}
PROPENUMPROC* = proc (para1: HWND; para2: LPCTSTR; para3: HANDLE): WINBOOL {.
    stdcall.}
HOOKPROC* = proc (para1: int32; para2: WPARAM; para3: LPARAM): LRESULT {.stdcall.}
ENUMOBJECTSPROC* = proc (para1: LPVOID; para2: LPARAM) {.stdcall.}
LINEDDAPROC* = proc (para1: int32; para2: int32; para3: LPARAM) {.stdcall.}
TABORTPROC* = proc (para1: HDC; para2: int32): WINBOOL {.stdcall.}
LPPAGEPAINTHOOK* = proc (para1: HWND; para2: UINT; para3: WPARAM; para4: LPARAM): UINT {.
    stdcall.}
LPPAGESETUPHOOK* = proc (para1: HWND; para2: UINT; para3: WPARAM; para4: LPARAM): UINT {.
    stdcall.}
ICMENUMPROC* = proc (para1: LPTSTR; para2: LPARAM): int32 {.stdcall.}
EDITWORDBREAKPROCEX* = proc (para1: cstring; para2: LONG; para3: int8; 
                             para4: WINT): LONG {.stdcall.}
PFNLVCOMPARE* = proc (para1: LPARAM; para2: LPARAM; para3: LPARAM): int32 {.
    stdcall.}
LOCALE_ENUMPROC* = proc (para1: LPTSTR): WINBOOL {.stdcall.}
CODEPAGE_ENUMPROC* = proc (para1: LPTSTR): WINBOOL {.stdcall.}
DATEFMT_ENUMPROC* = proc (para1: LPTSTR): WINBOOL {.stdcall.}
TIMEFMT_ENUMPROC* = proc (para1: LPTSTR): WINBOOL {.stdcall.}
CALINFO_ENUMPROC* = proc (para1: LPTSTR): WINBOOL {.stdcall.}
PHANDLER_ROUTINE* = proc (para1: DWORD): WINBOOL {.stdcall.}
LPHANDLER_FUNCTION* = proc (para1: DWORD): WINBOOL {.stdcall.}
PFNGETPROFILEPATH* = proc (para1: LPCTSTR; para2: LPSTR; para3: UINT): UINT {.
    stdcall.}
PFNRECONCILEPROFILE* = proc (para1: LPCTSTR; para2: LPCTSTR; para3: DWORD): UINT {.
    stdcall.}
PFNPROCESSPOLICIES* = proc (para1: HWND; para2: LPCTSTR; para3: LPCTSTR; 
                            para4: LPCTSTR; para5: DWORD): WINBOOL {.stdcall.}
PFNCALLBACK* = proc (para1, para2: UINT; para3: HCONV; para4, para5: HSZ; 
                     para6: HDDEDATA; para7, para8: DWORD): HDDEData {.stdcall.}
CALLB* = PFNCALLBACK
SECURITY_CONTEXT_TRACKING_MODE* = WINBOOL
WNDENUMPROC* = FARPROC
ENHMFENUMPROC* = FARPROC
CCSTYLE* = DWORD
PCCSTYLE* = ptr CCSTYLE
LPCCSTYLE* = ptr CCSTYLE
CCSTYLEFLAGA* = DWORD
PCCSTYLEFLAGA* = ptr CCSTYLEFLAGA
LPCCSTYLEFLAGA* = ptr CCSTYLEFLAGA
TTREEITEM* {.final, pure.} = object 
HTREEITEM* = ptr TTREEITEM
PTREEITEM* = ptr TTREEITEM
va_list* = cstring
TABC* {.final, pure.} = object 
  abcA*: int32
  abcB*: UINT
  abcC*: int32
LPABC* = ptr TABC
PABC* = ptr TABC
TABCFLOAT* {.final, pure.} = object 
  abcfA*: float32
  abcfB*: float32
  abcfC*: float32
LPABCFLOAT* = ptr TABCFLOAT
PABCFLOAT* = ptr TABCFLOAT
TACCEL* {.final, pure.} = object 
  fVirt*: int8
  key*: int16
  cmd*: int16
LPACCEL* = ptr TACCEL
PACCEL* = ptr TACCEL
ACE_HEADER* {.final, pure.} = object 
  AceType*: int8
  AceFlags*: int8
  AceSize*: int16
TACE_HEADER* = ACE_HEADER
PACE_HEADER* = ptr ACE_HEADER
ACCESS_MASK* = DWORD
REGSAM* = ACCESS_MASK
ACCESS_ALLOWED_ACE* {.final, pure.} = object 
  Header*: ACE_HEADER
  Mask*: ACCESS_MASK
  SidStart*: DWORD
TACCESS_ALLOWED_ACE* = ACCESS_ALLOWED_ACE
PACCESS_ALLOWED_ACE* = ptr ACCESS_ALLOWED_ACE
ACCESS_DENIED_ACE* {.final, pure.} = object 
  Header*: ACE_HEADER
  Mask*: ACCESS_MASK
  SidStart*: DWORD
TACCESS_DENIED_ACE* = ACCESS_DENIED_ACE
ACCESSTIMEOUT* {.final, pure.} = object 
  cbSize*: UINT
  dwFlags*: DWORD
  iTimeOutMSec*: DWORD
TACCESSTIMEOUT* = ACCESSTIMEOUT
PACCESSTIMEOUT* = ptr ACCESSTIMEOUT
ACL* {.final, pure.} = object 
  AclRevision*: int8
  Sbz1*: int8
  AclSize*: int16
  AceCount*: int16
  Sbz2*: int16
PACL* = ptr ACL
TACL* = ACL
TACL_REVISION_INFORMATION* {.final, pure.} = object 
  AclRevision*: DWORD
PACLREVISIONINFORMATION* = ptr TACL_REVISION_INFORMATION
TACL_SIZE_INFORMATION* {.final, pure.} = object 
  AceCount*: DWORD
  AclBytesInUse*: DWORD
  AclBytesFree*: DWORD
PACLSIZEINFORMATION* = ptr TACL_SIZE_INFORMATION
ACTION_HEADER* {.final, pure.} = object 
  transport_id*: ULONG
  action_code*: USHORT
  reserved*: USHORT
TACTIONHEADER* = ACTION_HEADER
PACTIONHEADER* = ptr ACTION_HEADER
ADAPTER_STATUS* {.final, pure.} = object 
  adapter_address*: array[0 .. 5, UCHAR]
  rev_major*: UCHAR
  reserved0*: UCHAR
  adapter_type*: UCHAR
  rev_minor*: UCHAR
  duration*: int16
  frmr_recv*: int16
  frmr_xmit*: int16
  iframe_recv_err*: int16
  xmit_aborts*: int16
  xmit_success*: DWORD
  recv_success*: DWORD
  iframe_xmit_err*: int16
  recv_buff_unavail*: int16
  t1_timeouts*: int16
  ti_timeouts*: int16
  reserved1*: DWORD
  free_ncbs*: int16
  max_cfg_ncbs*: int16
  max_ncbs*: int16
  xmit_buf_unavail*: int16
  max_dgram_size*: int16
  pending_sess*: int16
  max_cfg_sess*: int16
  max_sess*: int16
  max_sess_pkt_size*: int16
  name_count*: int16
TADAPTERSTATUS* = ADAPTER_STATUS
PADAPTERSTATUS* = ptr ADAPTER_STATUS
ADDJOB_INFO_1* {.final, pure.} = object 
  Path*: LPTSTR
  JobId*: DWORD
TADDJOB_INFO_1* = ADDJOB_INFO_1
PADDJOB_INFO_1* = ptr ADDJOB_INFO_1
ANIMATIONINFO* {.final, pure.} = object 
  cbSize*: UINT
  iMinAnimate*: int32
LPANIMATIONINFO* = ptr ANIMATIONINFO
TANIMATIONINFO* = ANIMATIONINFO
PANIMATIONINFO* = ptr ANIMATIONINFO
APPBARDATA* {.final, pure.} = object 
  cbSize*: DWORD
  hWnd*: HWND
  uCallbackMessage*: UINT
  uEdge*: UINT
  rc*: RECT
  lParam*: LPARAM
TAppBarData* = APPBARDATA
PAppBarData* = ptr APPBARDATA
BITMAP* {.final, pure.} = object 
  bmType*: LONG
  bmWidth*: LONG
  bmHeight*: LONG
  bmWidthBytes*: LONG
  bmPlanes*: int16
  bmBitsPixel*: int16
  bmBits*: LPVOID
PBITMAP* = ptr BITMAP
NPBITMAP* = ptr BITMAP
LPBITMAP* = ptr BITMAP
TBITMAP* = BITMAP
BITMAPCOREHEADER* {.final, pure.} = object 
  bcSize*: DWORD
  bcWidth*: int16
  bcHeight*: int16
  bcPlanes*: int16
  bcBitCount*: int16
TBITMAPCOREHEADER* = BITMAPCOREHEADER
PBITMAPCOREHEADER* = ptr BITMAPCOREHEADER
RGBTRIPLE* {.final, pure.} = object 
  rgbtBlue*: int8
  rgbtGreen*: int8
  rgbtRed*: int8
TRGBTRIPLE* = RGBTRIPLE
PRGBTRIPLE* = ptr RGBTRIPLE
BITMAPCOREINFO* {.final, pure.} = object 
  bmciHeader*: BITMAPCOREHEADER
  bmciColors*: array[0 .. 0, RGBTRIPLE]
PBITMAPCOREINFO* = ptr BITMAPCOREINFO
LPBITMAPCOREINFO* = ptr BITMAPCOREINFO
TBITMAPCOREINFO* = BITMAPCOREINFO
BITMAPINFOHEADER* {.final, pure.} = object 
  biSize*: DWORD
  biWidth*: LONG
  biHeight*: LONG
  biPlanes*: int16
  biBitCount*: int16
  biCompression*: DWORD
  biSizeImage*: DWORD
  biXPelsPerMeter*: LONG
  biYPelsPerMeter*: LONG
  biClrUsed*: DWORD
  biClrImportant*: DWORD
LPBITMAPINFOHEADER* = ptr BITMAPINFOHEADER
TBITMAPINFOHEADER* = BITMAPINFOHEADER
PBITMAPINFOHEADER* = ptr BITMAPINFOHEADER
RGBQUAD* {.final, pure.} = object 
  rgbBlue*: int8
  rgbGreen*: int8
  rgbRed*: int8
  rgbReserved*: int8
TRGBQUAD* = RGBQUAD
PRGBQUAD* = ptr RGBQUAD
BITMAPINFO* {.final, pure.} = object 
  bmiHeader*: BITMAPINFOHEADER
  bmiColors*: array[0 .. 0, RGBQUAD]
LPBITMAPINFO* = ptr BITMAPINFO
PBITMAPINFO* = ptr BITMAPINFO
TBITMAPINFO* = BITMAPINFO
FXPT2DOT30* = int32
LPFXPT2DOT30* = ptr FXPT2DOT30
TPFXPT2DOT30* = FXPT2DOT30
PPFXPT2DOT30* = ptr FXPT2DOT30
CIEXYZ* {.final, pure.} = object 
  ciexyzX*: FXPT2DOT30
  ciexyzY*: FXPT2DOT30
  ciexyzZ*: FXPT2DOT30
LPCIEXYZ* = ptr CIEXYZ
TPCIEXYZ* = CIEXYZ
PCIEXYZ* = ptr CIEXYZ
CIEXYZTRIPLE* {.final, pure.} = object 
  ciexyzRed*: CIEXYZ
  ciexyzGreen*: CIEXYZ
  ciexyzBlue*: CIEXYZ
LPCIEXYZTRIPLE* = ptr CIEXYZTRIPLE
TCIEXYZTRIPLE* = CIEXYZTRIPLE
PCIEXYZTRIPLE* = ptr CIEXYZTRIPLE
BITMAPV4HEADER* {.final, pure.} = object 
  bV4Size*: DWORD
  bV4Width*: LONG
  bV4Height*: LONG
  bV4Planes*: int16
  bV4BitCount*: int16
  bV4V4Compression*: DWORD
  bV4SizeImage*: DWORD
  bV4XPelsPerMeter*: LONG
  bV4YPelsPerMeter*: LONG
  bV4ClrUsed*: DWORD
  bV4ClrImportant*: DWORD
  bV4RedMask*: DWORD
  bV4GreenMask*: DWORD
  bV4BlueMask*: DWORD
  bV4AlphaMask*: DWORD
  bV4CSType*: DWORD
  bV4Endpoints*: CIEXYZTRIPLE
  bV4GammaRed*: DWORD
  bV4GammaGreen*: DWORD
  bV4GammaBlue*: DWORD
LPBITMAPV4HEADER* = ptr BITMAPV4HEADER
TBITMAPV4HEADER* = BITMAPV4HEADER
PBITMAPV4HEADER* = ptr BITMAPV4HEADER
BITMAPFILEHEADER* {.final, pure.} = object 
  bfType*: int16
  bfSize*: DWord
  bfReserved1*: int16
  bfReserved2*: int16
  bfOffBits*: DWord
BLOB* {.final, pure.} = object 
  cbSize*: ULONG
  pBlobData*: ptr int8
TBLOB* = BLOB
PBLOB* = ptr BLOB
SHITEMID* {.final, pure.} = object 
  cb*: USHORT
  abID*: array[0 .. 0, int8]
LPSHITEMID* = ptr SHITEMID
LPCSHITEMID* = ptr SHITEMID
TSHITEMID* = SHITEMID
PSHITEMID* = ptr SHITEMID
ITEMIDLIST* {.final, pure.} = object 
  mkid*: SHITEMID
LPITEMIDLIST* = ptr ITEMIDLIST
LPCITEMIDLIST* = ptr ITEMIDLIST
TITEMIDLIST* = ITEMIDLIST
PITEMIDLIST* = ptr ITEMIDLIST
BROWSEINFO* {.final, pure.} = object 
  hwndOwner*: HWND
  pidlRoot*: LPCITEMIDLIST
  pszDisplayName*: LPSTR
  lpszTitle*: LPCSTR
  ulFlags*: UINT
  lpfn*: BFFCALLBACK
  lParam*: LPARAM
  iImage*: int32
LPBROWSEINFO* = ptr BROWSEINFO
Tbrowseinfo* = BROWSEINFO
PBROWSEINFO* = ptr BROWSEINFO
BY_HANDLE_FILE_INFORMATION* {.final, pure.} = object 
  dwFileAttributes*: DWORD
  ftCreationTime*: FILETIME
  ftLastAccessTime*: FILETIME
  ftLastWriteTime*: FILETIME
  dwVolumeSerialNumber*: DWORD
  nFileSizeHigh*: DWORD
  nFileSizeLow*: DWORD
  nNumberOfLinks*: DWORD
  nFileIndexHigh*: DWORD
  nFileIndexLow*: DWORD
LPBY_HANDLE_FILE_INFORMATION* = ptr BY_HANDLE_FILE_INFORMATION
TBYHANDLEFILEINFORMATION* = BY_HANDLE_FILE_INFORMATION
PBYHANDLEFILEINFORMATION* = ptr BY_HANDLE_FILE_INFORMATION
FIXED* {.final, pure.} = object 
  fract*: int16
  value*: SHORT
TFIXED* = FIXED
PFIXED* = ptr FIXED
POINTFX* {.final, pure.} = object 
  x*: FIXED
  y*: FIXED
TPOINTFX* = POINTFX
PPOINTFX* = ptr POINTFX
TSmallPoint* {.final, pure.} = object 
  X*, Y*: SHORT
CANDIDATEFORM* {.final, pure.} = object 
  dwIndex*: DWORD
  dwStyle*: DWORD
  ptCurrentPos*: POINT
  rcArea*: RECT
LPCANDIDATEFORM* = ptr CANDIDATEFORM
TCANDIDATEFORM* = CANDIDATEFORM
PCANDIDATEFORM* = ptr CANDIDATEFORM
CANDIDATELIST* {.final, pure.} = object 
  dwSize*: DWORD
  dwStyle*: DWORD
  dwCount*: DWORD
  dwSelection*: DWORD
  dwPageStart*: DWORD
  dwPageSize*: DWORD
  dwOffset*: array[0 .. 0, DWORD]
LPCANDIDATELIST* = ptr CANDIDATELIST
TCANDIDATELIST* = CANDIDATELIST
PCANDIDATELIST* = ptr CANDIDATELIST
CREATESTRUCT* {.final, pure.} = object 
  lpCreateParams*: LPVOID
  hInstance*: HINST
  hMenu*: HMENU
  hwndParent*: HWND
  cy*: int32
  cx*: int32
  y*: int32
  x*: int32
  style*: LONG
  lpszName*: LPCTSTR
  lpszClass*: LPCTSTR
  dwExStyle*: DWORD
LPCREATESTRUCT* = ptr CREATESTRUCT
TCREATESTRUCT* = CREATESTRUCT
PCREATESTRUCT* = ptr CREATESTRUCT
CBT_CREATEWND* {.final, pure.} = object 
  lpcs*: LPCREATESTRUCT
  hwndInsertAfter*: HWND
TCBT_CREATEWND* = CBT_CREATEWND
PCBT_CREATEWND* = ptr CBT_CREATEWND
CBTACTIVATESTRUCT* {.final, pure.} = object 
  fMouse*: WINBOOL
  hWndActive*: HWND
TCBTACTIVATESTRUCT* = CBTACTIVATESTRUCT
PCBTACTIVATESTRUCT* = ptr CBTACTIVATESTRUCT
CHAR_INFO* {.final, pure.} = object 
  UnicodeChar*: WCHAR
  Attributes*: int16
TCHAR_INFO* = CHAR_INFO
PCHAR_INFO* = ptr CHAR_INFO
CHARFORMAT* {.final, pure.} = object 
  cbSize*: UINT
  dwMask*: DWORD
  dwEffects*: DWORD
  yHeight*: LONG
  yOffset*: LONG
  crTextColor*: COLORREF
  bCharSet*: int8
  bPitchAndFamily*: int8
  szFaceName*: array[0 .. (LF_FACESIZE) - 1, TCHAR]
Tcharformat* = CHARFORMAT
Pcharformat* = ptr CHARFORMAT
CHARRANGE* {.final, pure.} = object 
  cpMin*: LONG
  cpMax*: LONG
Tcharrange* = CHARRANGE
Pcharrange* = ptr CHARRANGE
CHARSET* {.final, pure.} = object 
  aflBlock*: array[0 .. 2, DWORD]
  flLang*: DWORD
TCHARSET* = CHARSET
PCHARSET* = ptr CHARSET
FONTSIGNATURE* {.final, pure.} = object 
  fsUsb*: array[0 .. 3, DWORD]
  fsCsb*: array[0 .. 1, DWORD]
LPFONTSIGNATURE* = ptr FONTSIGNATURE
TFONTSIGNATURE* = FONTSIGNATURE
PFONTSIGNATURE* = ptr FONTSIGNATURE
CHARSETINFO* {.final, pure.} = object 
  ciCharset*: UINT
  ciACP*: UINT
  fs*: FONTSIGNATURE
LPCHARSETINFO* = ptr CHARSETINFO
TCHARSETINFO* = CHARSETINFO
PCHARSETINFO* = ptr CHARSETINFO
TCHOOSECOLOR* {.final, pure.} = object 
  lStructSize*: DWORD
  hwndOwner*: HWND
  hInstance*: HWND
  rgbResult*: COLORREF
  lpCustColors*: ptr COLORREF
  Flags*: DWORD
  lCustData*: LPARAM
  lpfnHook*: LPCCHOOKPROC
  lpTemplateName*: LPCTSTR
LPCHOOSECOLOR* = ptr TCHOOSECOLOR
PCHOOSECOLOR* = ptr TCHOOSECOLOR
LOGFONT* {.final, pure.} = object 
  lfHeight*: LONG
  lfWidth*: LONG
  lfEscapement*: LONG
  lfOrientation*: LONG
  lfWeight*: LONG
  lfItalic*: int8
  lfUnderline*: int8
  lfStrikeOut*: int8
  lfCharSet*: int8
  lfOutPrecision*: int8
  lfClipPrecision*: int8
  lfQuality*: int8
  lfPitchAndFamily*: int8
  lfFaceName*: array[0 .. (LF_FACESIZE) - 1, TCHAR]
LPLOGFONT* = ptr LOGFONT
TLOGFONT* = LOGFONT
TLOGFONTA* = LOGFONT
PLOGFONT* = ptr LOGFONT
PLOGFONTA* = PLOGFONT
LOGFONTW* {.final, pure.} = object 
  lfHeight*: LONG
  lfWidth*: LONG
  lfEscapement*: LONG
  lfOrientation*: LONG
  lfWeight*: LONG
  lfItalic*: int8
  lfUnderline*: int8
  lfStrikeOut*: int8
  lfCharSet*: int8
  lfOutPrecision*: int8
  lfClipPrecision*: int8
  lfQuality*: int8
  lfPitchAndFamily*: int8
  lfFaceName*: array[0 .. LF_FACESIZE - 1, WCHAR]
LPLOGFONTW* = ptr LOGFONTW
NPLOGFONTW* = ptr LOGFONTW
TLogFontW* = LOGFONTW
PLogFontW* = ptr TLogFontW
TCHOOSEFONT* {.final, pure.} = object 
  lStructSize*: DWORD
  hwndOwner*: HWND
  hDC*: HDC
  lpLogFont*: LPLOGFONT
  iPointSize*: WINT
  Flags*: DWORD
  rgbColors*: DWORD
  lCustData*: LPARAM
  lpfnHook*: LPCFHOOKPROC
  lpTemplateName*: LPCTSTR
  hInstance*: HINST
  lpszStyle*: LPTSTR
  nFontType*: int16
  MISSING_ALIGNMENT*: int16
  nSizeMin*: WINT
  nSizeMax*: WINT
LPCHOOSEFONT* = ptr TCHOOSEFONT
PCHOOSEFONT* = ptr TCHOOSEFONT
CIDA* {.final, pure.} = object 
  cidl*: UINT
  aoffset*: array[0 .. 0, UINT]
LPIDA* = ptr CIDA
TIDA* = CIDA
PIDA* = ptr CIDA
CLIENTCREATESTRUCT* {.final, pure.} = object 
  hWindowMenu*: HANDLE
  idFirstChild*: UINT
LPCLIENTCREATESTRUCT* = ptr CLIENTCREATESTRUCT
TCLIENTCREATESTRUCT* = CLIENTCREATESTRUCT
PCLIENTCREATESTRUCT* = ptr CLIENTCREATESTRUCT
CMINVOKECOMMANDINFO* {.final, pure.} = object 
  cbSize*: DWORD
  fMask*: DWORD
  hwnd*: HWND
  lpVerb*: LPCSTR
  lpParameters*: LPCSTR
  lpDirectory*: LPCSTR
  nShow*: int32
  dwHotKey*: DWORD
  hIcon*: HANDLE
LPCMINVOKECOMMANDINFO* = ptr CMINVOKECOMMANDINFO
TCMInvokeCommandInfo* = CMINVOKECOMMANDINFO
PCMInvokeCommandInfo* = ptr CMINVOKECOMMANDINFO
COLORADJUSTMENT* {.final, pure.} = object 
  caSize*: int16
  caFlags*: int16
  caIlluminantIndex*: int16
  caRedGamma*: int16
  caGreenGamma*: int16
  caBlueGamma*: int16
  caReferenceBlack*: int16
  caReferenceWhite*: int16
  caContrast*: SHORT
  caBrightness*: SHORT
  caColorfulness*: SHORT
  caRedGreenTint*: SHORT
LPCOLORADJUSTMENT* = ptr COLORADJUSTMENT
TCOLORADJUSTMENT* = COLORADJUSTMENT
PCOLORADJUSTMENT* = ptr COLORADJUSTMENT
COLORMAP* {.final, pure.} = object 
  `from`*: COLORREF
  `to`*: COLORREF
LPCOLORMAP* = ptr COLORMAP
TCOLORMAP* = COLORMAP
PCOLORMAP* = ptr COLORMAP
DCB* {.final, pure.} = object 
  DCBlength*: DWORD
  BaudRate*: DWORD
  flags*: DWORD
  wReserved*: int16
  XonLim*: int16
  XoffLim*: int16
  ByteSize*: int8
  Parity*: int8
  StopBits*: int8
  XonChar*: char
  XoffChar*: char
  ErrorChar*: char
  EofChar*: char
  EvtChar*: char
  wReserved1*: int16
LPDCB* = ptr DCB
TDCB* = DCB
PDCB* = ptr DCB
COMMCONFIG* {.final, pure.} = object 
  dwSize*: DWORD
  wVersion*: int16
  wReserved*: int16
  dcb*: DCB
  dwProviderSubType*: DWORD
  dwProviderOffset*: DWORD
  dwProviderSize*: DWORD
  wcProviderData*: array[0 .. 0, WCHAR]
LPCOMMCONFIG* = ptr COMMCONFIG
TCOMMCONFIG* = COMMCONFIG
PCOMMCONFIG* = ptr COMMCONFIG
COMMPROP* {.final, pure.} = object 
  wPacketLength*: int16
  wPacketVersion*: int16
  dwServiceMask*: DWORD
  dwReserved1*: DWORD
  dwMaxTxQueue*: DWORD
  dwMaxRxQueue*: DWORD
  dwMaxBaud*: DWORD
  dwProvSubType*: DWORD
  dwProvCapabilities*: DWORD
  dwSettableParams*: DWORD
  dwSettableBaud*: DWORD
  wSettableData*: int16
  wSettableStopParity*: int16
  dwCurrentTxQueue*: DWORD
  dwCurrentRxQueue*: DWORD
  dwProvSpec1*: DWORD
  dwProvSpec2*: DWORD
  wcProvChar*: array[0 .. 0, WCHAR]
LPCOMMPROP* = ptr COMMPROP
TCOMMPROP* = COMMPROP
PCOMMPROP* = ptr COMMPROP
COMMTIMEOUTS* {.final, pure.} = object 
  ReadIntervalTimeout*: DWORD
  ReadTotalTimeoutMultiplier*: DWORD
  ReadTotalTimeoutConstant*: DWORD
  WriteTotalTimeoutMultiplier*: DWORD
  WriteTotalTimeoutConstant*: DWORD
LPCOMMTIMEOUTS* = ptr COMMTIMEOUTS
TCOMMTIMEOUTS* = COMMTIMEOUTS
PCOMMTIMEOUTS* = ptr COMMTIMEOUTS
COMPAREITEMSTRUCT* {.final, pure.} = object 
  CtlType*: UINT
  CtlID*: UINT
  hwndItem*: HWND
  itemID1*: UINT
  itemData1*: ULONG_PTR
  itemID2*: UINT
  itemData2*: ULONG_PTR
TCOMPAREITEMSTRUCT* = COMPAREITEMSTRUCT
PCOMPAREITEMSTRUCT* = ptr COMPAREITEMSTRUCT
COMPCOLOR* {.final, pure.} = object 
  crText*: COLORREF
  crBackground*: COLORREF
  dwEffects*: DWORD
TCOMPCOLOR* = COMPCOLOR
PCOMPCOLOR* = ptr COMPCOLOR
COMPOSITIONFORM* {.final, pure.} = object 
  dwStyle*: DWORD
  ptCurrentPos*: POINT
  rcArea*: RECT
LPCOMPOSITIONFORM* = ptr COMPOSITIONFORM
TCOMPOSITIONFORM* = COMPOSITIONFORM
PCOMPOSITIONFORM* = ptr COMPOSITIONFORM
COMSTAT* {.final, pure.} = object 
  flag0*: DWORD
  cbInQue*: DWORD
  cbOutQue*: DWORD
LPCOMSTAT* = ptr COMSTAT
TCOMSTAT* = COMSTAT
PCOMSTAT* = ptr COMSTAT
CONSOLE_CURSOR_INFO* {.final, pure.} = object 
  dwSize*: DWORD
  bVisible*: WINBOOL
PCONSOLE_CURSOR_INFO* = ptr CONSOLE_CURSOR_INFO
TCONSOLECURSORINFO* = CONSOLE_CURSOR_INFO
TCURSORINFO* = CONSOLE_CURSOR_INFO
COORD* {.final, pure.} = object 
  X*: SHORT
  Y*: SHORT
TCOORD* = COORD
PCOORD* = ptr COORD
SMALL_RECT* {.final, pure.} = object 
  Left*: SHORT
  Top*: SHORT
  Right*: SHORT
  Bottom*: SHORT
TSMALL_RECT* = SMALL_RECT
PSMALL_RECT* = ptr SMALL_RECT
CONSOLE_SCREEN_BUFFER_INFO* {.final, pure.} = object 
  dwSize*: COORD
  dwCursorPosition*: COORD
  wAttributes*: int16
  srWindow*: SMALL_RECT
  dwMaximumWindowSize*: COORD
PCONSOLE_SCREEN_BUFFER_INFO* = ptr CONSOLE_SCREEN_BUFFER_INFO
TCONSOLESCREENBUFFERINFO* = CONSOLE_SCREEN_BUFFER_INFO
FLOATING_SAVE_AREA* {.final, pure.} = object 
  ControlWord*: DWORD
  StatusWord*: DWORD
  TagWord*: DWORD
  ErrorOffset*: DWORD
  ErrorSelector*: DWORD
  DataOffset*: DWORD
  DataSelector*: DWORD
  RegisterArea*: array[0 .. 79, int8]
  Cr0NpxState*: DWORD
TFLOATINGSAVEAREA* = FLOATING_SAVE_AREA
PFLOATINGSAVEAREA* = ptr FLOATING_SAVE_AREA
CONTEXT* {.final, pure.} = object 
  ContextFlags*: DWORD
  Dr0*: DWORD
  Dr1*: DWORD
  Dr2*: DWORD
  Dr3*: DWORD
  Dr6*: DWORD
  Dr7*: DWORD
  FloatSave*: FLOATING_SAVE_AREA
  SegGs*: DWORD
  SegFs*: DWORD
  SegEs*: DWORD
  SegDs*: DWORD
  Edi*: DWORD
  Esi*: DWORD
  Ebx*: DWORD
  Edx*: DWORD
  Ecx*: DWORD
  Eax*: DWORD
  Ebp*: DWORD
  Eip*: DWORD
  SegCs*: DWORD
  EFlags*: DWORD
  Esp*: DWORD
  SegSs*: DWORD
LPCONTEXT* = ptr CONTEXT
TCONTEXT* = CONTEXT
PCONTEXT* = ptr CONTEXT
LIST_ENTRY* {.final, pure.} = object 
  Flink*: ptr LIST_ENTRY
  Blink*: ptr LIST_ENTRY
TLISTENTRY* = LIST_ENTRY
PLISTENTRY* = ptr LIST_ENTRY
CRITICAL_SECTION_DEBUG* {.final, pure.} = object 
  `type`*: int16
  CreatorBackTraceIndex*: int16
  CriticalSection*: ptr TCRITICAL_SECTION
  ProcessLocksList*: LIST_ENTRY
  EntryCount*: DWORD
  ContentionCount*: DWORD
  Depth*: DWORD
  OwnerBackTrace*: array[0 .. 4, PVOID]
TRTL_CRITICAL_SECTION* {.final, pure.} = object 
  DebugInfo*: ptr CRITICAL_SECTION_DEBUG
  LockCount*: int32
  RecursionCount*: int32
  OwningThread*: Handle
  LockSemaphore*: Handle
  Reserved*: DWORD
PRTLCriticalSection* = ptr TRTLCriticalSection
LPCRITICAL_SECTION_DEBUG* = ptr CRITICAL_SECTION_DEBUG
PCRITICAL_SECTION_DEBUG* = ptr CRITICAL_SECTION_DEBUG
TCRITICALSECTIONDEBUG* = CRITICAL_SECTION_DEBUG
TCRITICAL_SECTION* = TRTLCriticalSection
PCRITICAL_SECTION* = PRTLCriticalSection
LPCRITICAL_SECTION* = PRTLCriticalSection
SECURITY_QUALITY_OF_SERVICE* {.final, pure.} = object 
  len*: DWORD
  ImpersonationLevel*: SECURITY_IMPERSONATION_LEVEL
  ContextTrackingMode*: WINBOOL
  EffectiveOnly*: bool
PSECURITY_QUALITY_OF_SERVICE* = ptr SECURITY_QUALITY_OF_SERVICE
TSECURITYQUALITYOFSERVICE* = SECURITY_QUALITY_OF_SERVICE
CONVCONTEXT* {.final, pure.} = object 
  cb*: UINT
  wFlags*: UINT
  wCountryID*: UINT
  iCodePage*: int32
  dwLangID*: DWORD
  dwSecurity*: DWORD
  qos*: SECURITY_QUALITY_OF_SERVICE
TCONVCONTEXT* = CONVCONTEXT
PCONVCONTEXT* = ptr CONVCONTEXT
CONVINFO* {.final, pure.} = object 
  cb*: DWORD
  hUser*: DWORD
  hConvPartner*: HCONV
  hszSvcPartner*: HSZ
  hszServiceReq*: HSZ
  hszTopic*: HSZ
  hszItem*: HSZ
  wFmt*: UINT
  wType*: UINT
  wStatus*: UINT
  wConvst*: UINT
  wLastError*: UINT
  hConvList*: HCONVLIST
  ConvCtxt*: CONVCONTEXT
  hwnd*: HWND
  hwndPartner*: HWND
TCONVINFO* = CONVINFO
PCONVINFO* = ptr CONVINFO
COPYDATASTRUCT* {.final, pure.} = object 
  dwData*: DWORD
  cbData*: DWORD
  lpData*: PVOID
TCOPYDATASTRUCT* = COPYDATASTRUCT
PCOPYDATASTRUCT* = ptr COPYDATASTRUCT
CPINFO* {.final, pure.} = object 
  MaxCharSize*: UINT
  DefaultChar*: array[0 .. (MAX_DEFAULTCHAR) - 1, int8]
  LeadByte*: array[0 .. (MAX_LEADBYTES) - 1, int8]
LPCPINFO* = ptr CPINFO
Tcpinfo* = CPINFO
Pcpinfo* = ptr CPINFO
CPLINFO* {.final, pure.} = object 
  idIcon*: int32
  idName*: int32
  idInfo*: int32
  lData*: LONG
TCPLINFO* = CPLINFO
PCPLINFO* = ptr CPLINFO
CREATE_PROCESS_DEBUG_INFO* {.final, pure.} = object 
  hFile*: HANDLE
  hProcess*: HANDLE
  hThread*: HANDLE
  lpBaseOfImage*: LPVOID
  dwDebugInfoFileOffset*: DWORD
  nDebugInfoSize*: DWORD
  lpThreadLocalBase*: LPVOID
  lpStartAddress*: LPTHREAD_START_ROUTINE
  lpImageName*: LPVOID
  fUnicode*: int16
TCREATEPROCESSDEBUGINFO* = CREATE_PROCESS_DEBUG_INFO
PCREATEPROCESSDEBUGINFO* = ptr CREATE_PROCESS_DEBUG_INFO
CREATE_THREAD_DEBUG_INFO* {.final, pure.} = object 
  hThread*: HANDLE
  lpThreadLocalBase*: LPVOID
  lpStartAddress*: LPTHREAD_START_ROUTINE
TCREATETHREADDEBUGINFO* = CREATE_THREAD_DEBUG_INFO
PCREATETHREADDEBUGINFO* = ptr CREATE_THREAD_DEBUG_INFO
CURRENCYFMT* {.final, pure.} = object 
  NumDigits*: UINT
  LeadingZero*: UINT
  Grouping*: UINT
  lpDecimalSep*: LPTSTR
  lpThousandSep*: LPTSTR
  NegativeOrder*: UINT
  PositiveOrder*: UINT
  lpCurrencySymbol*: LPTSTR
Tcurrencyfmt* = CURRENCYFMT
Pcurrencyfmt* = ptr CURRENCYFMT
CURSORSHAPE* {.final, pure.} = object 
  xHotSpot*: int32
  yHotSpot*: int32
  cx*: int32
  cy*: int32
  cbWidth*: int32
  Planes*: int8
  BitsPixel*: int8
LPCURSORSHAPE* = ptr CURSORSHAPE
TCURSORSHAPE* = CURSORSHAPE
PCURSORSHAPE* = ptr CURSORSHAPE
CWPRETSTRUCT* {.final, pure.} = object 
  lResult*: LRESULT
  lParam*: LPARAM
  wParam*: WPARAM
  message*: DWORD
  hwnd*: HWND
TCWPRETSTRUCT* = CWPRETSTRUCT
PCWPRETSTRUCT* = ptr CWPRETSTRUCT
CWPSTRUCT* {.final, pure.} = object 
  lParam*: LPARAM
  wParam*: WPARAM
  message*: UINT
  hwnd*: HWND
TCWPSTRUCT* = CWPSTRUCT
PCWPSTRUCT* = ptr CWPSTRUCT
DATATYPES_INFO_1* {.final, pure.} = object 
  pName*: LPTSTR
TDATATYPESINFO1* = DATATYPES_INFO_1
PDATATYPESINFO1* = ptr DATATYPES_INFO_1
DDEACK* {.final, pure.} = object 
  flag0*: int16
TDDEACK* = DDEACK
PDDEACK* = ptr DDEACK
DDEADVISE* {.final, pure.} = object 
  flag0*: int16
  cfFormat*: SHORT
TDDEADVISE* = DDEADVISE
PDDEADVISE* = ptr DDEADVISE
DDEDATA* {.final, pure.} = object 
  flag0*: int16
  cfFormat*: SHORT
  Value*: array[0 .. 0, int8]
PDDEDATA* = ptr DDEDATA
DDELN* {.final, pure.} = object 
  flag0*: int16
  cfFormat*: SHORT
TDDELN* = DDELN
PDDELN* = ptr DDELN
DDEML_MSG_HOOK_DATA* {.final, pure.} = object 
  uiLo*: UINT
  uiHi*: UINT
  cbData*: DWORD
  Data*: array[0 .. 7, DWORD]
TDDEMLMSGHOOKDATA* = DDEML_MSG_HOOK_DATA
PDDEMLMSGHOOKDATA* = ptr DDEML_MSG_HOOK_DATA
DDEPOKE* {.final, pure.} = object 
  flag0*: int16
  cfFormat*: SHORT
  Value*: array[0 .. 0, int8]
TDDEPOKE* = DDEPOKE
PDDEPOKE* = ptr DDEPOKE
DDEUP* {.final, pure.} = object 
  flag0*: int16
  cfFormat*: SHORT
  rgb*: array[0 .. 0, int8]
TDDEUP* = DDEUP
PDDEUP* = ptr DDEUP
EXCEPTION_RECORD* {.final, pure.} = object 
  ExceptionCode*: DWORD
  ExceptionFlags*: DWORD
  ExceptionRecord*: ptr EXCEPTION_RECORD
  ExceptionAddress*: PVOID
  NumberParameters*: DWORD
  ExceptionInformation*: array[0 .. (EXCEPTION_MAXIMUM_PARAMETERS) - 1, 
                               ULONG_PTR]
PEXCEPTION_RECORD* = ptr EXCEPTION_RECORD
TEXCEPTIONRECORD* = EXCEPTION_RECORD
EXCEPTION_DEBUG_INFO* {.final, pure.} = object 
  ExceptionRecord*: EXCEPTION_RECORD
  dwFirstChance*: DWORD
PEXCEPTION_DEBUG_INFO* = ptr EXCEPTION_DEBUG_INFO
TEXCEPTIONDEBUGINFO* = EXCEPTION_DEBUG_INFO
EXCEPTION_RECORD32* {.final, pure.} = object 
  ExceptionCode*: DWORD
  ExceptionFlags*: DWORD
  ExceptionRecord*: DWORD
  ExceptionAddress*: DWORD
  NumberParameters*: DWORD
  ExceptionInformation*: array[0 .. (EXCEPTION_MAXIMUM_PARAMETERS) - 1, DWORD]
PEXCEPTION_RECORD32* = ptr EXCEPTION_RECORD32
TExceptionRecord32* = EXCEPTION_RECORD32
EXCEPTION_DEBUG_INFO32* {.final, pure.} = object 
  ExceptionRecord*: EXCEPTION_RECORD32
  dwFirstChance*: DWORD
PEXCEPTION_DEBUG_INFO32* = ptr EXCEPTION_DEBUG_INFO32
TExceptionDebugInfo32* = EXCEPTION_DEBUG_INFO32
EXCEPTION_RECORD64* {.final, pure.} = object 
  ExceptionCode*: DWORD
  ExceptionFlags*: DWORD
  ExceptionRecord*: DWORD64
  ExceptionAddress*: DWORD64
  NumberParameters*: DWORD
  unusedAlignment*: DWORD
  ExceptionInformation*: array[0 .. (EXCEPTION_MAXIMUM_PARAMETERS) - 1, DWORD64]
PEXCEPTION_RECORD64* = ptr EXCEPTION_RECORD64
TExceptionRecord64* = EXCEPTION_RECORD64
EXCEPTION_DEBUG_INFO64* {.final, pure.} = object 
  ExceptionRecord*: EXCEPTION_RECORD64
  dwFirstChance*: DWORD
PEXCEPTION_DEBUG_INFO64* = ptr EXCEPTION_DEBUG_INFO64
TExceptionDebugInfo64* = EXCEPTION_DEBUG_INFO64
EXIT_PROCESS_DEBUG_INFO* {.final, pure.} = object 
  dwExitCode*: DWORD
TEXITPROCESSDEBUGINFO* = EXIT_PROCESS_DEBUG_INFO
PEXITPROCESSDEBUGINFO* = ptr EXIT_PROCESS_DEBUG_INFO
EXIT_THREAD_DEBUG_INFO* {.final, pure.} = object 
  dwExitCode*: DWORD
TEXITTHREADDEBUGINFO* = EXIT_THREAD_DEBUG_INFO
PEXITTHREADDEBUGINFO* = ptr EXIT_THREAD_DEBUG_INFO
LOAD_DLL_DEBUG_INFO* {.final, pure.} = object 
  hFile*: HANDLE
  lpBaseOfDll*: LPVOID
  dwDebugInfoFileOffset*: DWORD
  nDebugInfoSize*: DWORD
  lpImageName*: LPVOID
  fUnicode*: int16
TLOADDLLDEBUGINFO* = LOAD_DLL_DEBUG_INFO
PLOADDLLDEBUGINFO* = ptr LOAD_DLL_DEBUG_INFO
UNLOAD_DLL_DEBUG_INFO* {.final, pure.} = object 
  lpBaseOfDll*: LPVOID
TUNLOADDLLDEBUGINFO* = UNLOAD_DLL_DEBUG_INFO
PUNLOADDLLDEBUGINFO* = ptr UNLOAD_DLL_DEBUG_INFO
OUTPUT_DEBUG_STRING_INFO* {.final, pure.} = object 
  lpDebugStringData*: LPSTR
  fUnicode*: int16
  nDebugStringLength*: int16
TOUTPUTDEBUGSTRINGINFO* = OUTPUT_DEBUG_STRING_INFO
POUTPUTDEBUGSTRINGINFO* = ptr OUTPUT_DEBUG_STRING_INFO
RIP_INFO* {.final, pure.} = object 
  dwError*: DWORD
  dwType*: DWORD
TRIPINFO* = RIP_INFO
PRIPINFO* = ptr RIP_INFO
DEBUG_EVENT* {.final, pure.} = object 
  dwDebugEventCode*: DWORD
  dwProcessId*: DWORD
  dwThreadId*: DWORD
  data*: array[0 .. 15, DWORD]
LPDEBUG_EVENT* = ptr DEBUG_EVENT
TDEBUGEVENT* = DEBUG_EVENT
PDEBUGEVENT* = ptr DEBUG_EVENT
DEBUGHOOKINFO* {.final, pure.} = object 
  idThread*: DWORD
  idThreadInstaller*: DWORD
  lParam*: LPARAM
  wParam*: WPARAM
  code*: int32
TDEBUGHOOKINFO* = DEBUGHOOKINFO
PDEBUGHOOKINFO* = ptr DEBUGHOOKINFO
DELETEITEMSTRUCT* {.final, pure.} = object 
  CtlType*: UINT
  CtlID*: UINT
  itemID*: UINT
  hwndItem*: HWND
  itemData*: ULONG_PTR
TDELETEITEMSTRUCT* = DELETEITEMSTRUCT
PDELETEITEMSTRUCT* = ptr DELETEITEMSTRUCT
DEV_BROADCAST_HDR* {.final, pure.} = object 
  dbch_size*: ULONG
  dbch_devicetype*: ULONG
  dbch_reserved*: ULONG
PDEV_BROADCAST_HDR* = ptr DEV_BROADCAST_HDR
TDEVBROADCASTHDR* = DEV_BROADCAST_HDR
DEV_BROADCAST_OEM* {.final, pure.} = object 
  dbco_size*: ULONG
  dbco_devicetype*: ULONG
  dbco_reserved*: ULONG
  dbco_identifier*: ULONG
  dbco_suppfunc*: ULONG
PDEV_BROADCAST_OEM* = ptr DEV_BROADCAST_OEM
TDEVBROADCASTOEM* = DEV_BROADCAST_OEM
DEV_BROADCAST_PORT* {.final, pure.} = object 
  dbcp_size*: ULONG
  dbcp_devicetype*: ULONG
  dbcp_reserved*: ULONG
  dbcp_name*: array[0 .. 0, char]
PDEV_BROADCAST_PORT* = ptr DEV_BROADCAST_PORT
TDEVBROADCASTPORT* = DEV_BROADCAST_PORT
DEV_BROADCAST_USERDEFINED* {.final, pure.} = object 
  dbud_dbh*: DEV_BROADCAST_HDR
  dbud_szName*: array[0 .. 0, char]
  dbud_rgbUserDefined*: array[0 .. 0, int8]
TDEVBROADCASTUSERDEFINED* = DEV_BROADCAST_USERDEFINED
PDEVBROADCASTUSERDEFINED* = ptr DEV_BROADCAST_USERDEFINED
DEV_BROADCAST_VOLUME* {.final, pure.} = object 
  dbcv_size*: ULONG
  dbcv_devicetype*: ULONG
  dbcv_reserved*: ULONG
  dbcv_unitmask*: ULONG
  dbcv_flags*: USHORT
PDEV_BROADCAST_VOLUME* = ptr DEV_BROADCAST_VOLUME
TDEVBROADCASTVOLUME* = DEV_BROADCAST_VOLUME
DEVMODE* {.final, pure.} = object 
  dmDeviceName*: array[0 .. (CCHDEVICENAME) - 1, BCHAR]
  dmSpecVersion*: int16
  dmDriverVersion*: int16
  dmSize*: int16
  dmDriverExtra*: int16
  dmFields*: DWORD
  dmOrientation*: int16
  dmPaperSize*: int16
  dmPaperLength*: int16
  dmPaperWidth*: int16
  dmScale*: int16
  dmCopies*: int16
  dmDefaultSource*: int16
  dmPrintQuality*: int16
  dmColor*: int16
  dmDuplex*: int16
  dmYResolution*: int16
  dmTTOption*: int16
  dmCollate*: int16
  dmFormName*: array[0 .. (CCHFORMNAME) - 1, BCHAR]
  dmLogPixels*: int16
  dmBitsPerPel*: DWORD
  dmPelsWidth*: DWORD
  dmPelsHeight*: DWORD
  dmDisplayFlags*: DWORD
  dmDisplayFrequency*: DWORD
  dmICMMethod*: DWORD
  dmICMIntent*: DWORD
  dmMediaType*: DWORD
  dmDitherType*: DWORD
  dmICCManufacturer*: DWORD
  dmICCModel*: DWORD
LPDEVMODE* = ptr DEVMODE
devicemode* = DEVMODE
tdevicemode* = DEVMODE
tdevicemodeA* = DEVMODE
PDeviceModeA* = LPDEVMODE
PDeviceMode* = LPDEVMODE
TDEVMODE* = DEVMODE
PDEVMODE* = LPDEVMODE
devmodeW* {.final, pure.} = object 
  dmDeviceName*: array[0 .. CCHDEVICENAME - 1, WCHAR]
  dmSpecVersion*: int16
  dmDriverVersion*: int16
  dmSize*: int16
  dmDriverExtra*: int16
  dmFields*: DWORD
  dmOrientation*: short
  dmPaperSize*: short
  dmPaperLength*: short
  dmPaperWidth*: short
  dmScale*: short
  dmCopies*: short
  dmDefaultSource*: short
  dmPrintQuality*: short
  dmColor*: short
  dmDuplex*: short
  dmYResolution*: short
  dmTTOption*: short
  dmCollate*: short
  dmFormName*: array[0 .. CCHFORMNAME - 1, wchar]
  dmLogPixels*: int16
  dmBitsPerPel*: DWORD
  dmPelsWidth*: DWORD
  dmPelsHeight*: DWORD
  dmDisplayFlags*: DWORD
  dmDisplayFrequency*: DWORD
  dmICMMethod*: DWORD
  dmICMIntent*: DWORD
  dmMediaType*: DWORD
  dmDitherType*: DWORD
  dmReserved1*: DWORD
  dmReserved2*: DWORD
  dmPanningWidth*: DWORD
  dmPanningHeight*: DWORD
LPDEVMODEW* = ptr DEVMODEW
devicemodeW* = DEVMODEW
TDeviceModeW* = DEVMODEW
PDeviceModeW* = LPDEVMODEW
TDEVMODEW* = DEVMODEW
PDEVMODEW* = LPDEVMODEW
DEVNAMES* {.final, pure.} = object 
  wDriverOffset*: int16
  wDeviceOffset*: int16
  wOutputOffset*: int16
  wDefault*: int16
LPDEVNAMES* = ptr DEVNAMES
TDEVNAMES* = DEVNAMES
PDEVNAMES* = ptr DEVNAMES
DIBSECTION* {.final, pure.} = object 
  dsBm*: BITMAP
  dsBmih*: BITMAPINFOHEADER
  dsBitfields*: array[0 .. 2, DWORD]
  dshSection*: HANDLE
  dsOffset*: DWORD
TDIBSECTION* = DIBSECTION
PDIBSECTION* = ptr DIBSECTION
LARGE_INTEGER* = int64
ULARGE_INTEGER* = int64
PLARGE_INTEGER* = ptr LARGE_INTEGER
TLargeInteger* = Int64
PULARGE_INTEGER* = ptr ULARGE_INTEGER
TULargeInteger* = int64
DISK_GEOMETRY* {.final, pure.} = object 
  Cylinders*: LARGE_INTEGER
  MediaType*: MEDIA_TYPE
  TracksPerCylinder*: DWORD
  SectorsPerTrack*: DWORD
  BytesPerSector*: DWORD
TDISKGEOMETRY* = DISK_GEOMETRY
PDISKGEOMETRY* = ptr DISK_GEOMETRY
DISK_PERFORMANCE* {.final, pure.} = object 
  BytesRead*: LARGE_INTEGER
  BytesWritten*: LARGE_INTEGER
  ReadTime*: LARGE_INTEGER
  WriteTime*: LARGE_INTEGER
  ReadCount*: DWORD
  WriteCount*: DWORD
  QueueDepth*: DWORD
TDISKPERFORMANCE* = DISK_PERFORMANCE
PDISKPERFORMANCE* = ptr DISK_PERFORMANCE
DLGITEMTEMPLATE* {.final, pure.} = object 
  style*: DWORD
  dwExtendedStyle*: DWORD
  x*: int16
  y*: int16
  cx*: int16
  cy*: int16
  id*: int16
LPDLGITEMTEMPLATE* = ptr DLGITEMTEMPLATE
TDLGITEMTEMPLATE* = DLGITEMTEMPLATE
PDLGITEMTEMPLATE* = ptr DLGITEMTEMPLATE
DLGTEMPLATE* {.final, pure.} = object 
  style*: DWORD
  dwExtendedStyle*: DWORD
  cdit*: int16
  x*: int16
  y*: int16
  cx*: int16
  cy*: int16
LPDLGTEMPLATE* = ptr DLGTEMPLATE
LPCDLGTEMPLATE* = ptr DLGTEMPLATE
TDLGTEMPLATE* = DLGTEMPLATE
PDLGTEMPLATE* = ptr DLGTEMPLATE
DOC_INFO_1* {.final, pure.} = object 
  pDocName*: LPTSTR
  pOutputFile*: LPTSTR
  pDatatype*: LPTSTR
TDOCINFO1* = DOC_INFO_1
PDOCINFO1* = ptr DOC_INFO_1
DOC_INFO_2* {.final, pure.} = object 
  pDocName*: LPTSTR
  pOutputFile*: LPTSTR
  pDatatype*: LPTSTR
  dwMode*: DWORD
  JobId*: DWORD
TDOCINFO2* = DOC_INFO_2
PDOCINFO2* = ptr DOC_INFO_2
DOCINFO* {.final, pure.} = object 
  cbSize*: int32
  lpszDocName*: LPCTSTR
  lpszOutput*: LPCTSTR
  lpszDatatype*: LPCTSTR
  fwType*: DWORD
TDOCINFO* = DOCINFO
TDOCINFOA* = DOCINFO
PDOCINFO* = ptr DOCINFO
DRAGLISTINFO* {.final, pure.} = object 
  uNotification*: UINT
  hWnd*: HWND
  ptCursor*: POINT
LPDRAGLISTINFO* = ptr DRAGLISTINFO
TDRAGLISTINFO* = DRAGLISTINFO
PDRAGLISTINFO* = ptr DRAGLISTINFO
DRAWITEMSTRUCT* {.final, pure.} = object 
  CtlType*: UINT
  CtlID*: UINT
  itemID*: UINT
  itemAction*: UINT
  itemState*: UINT
  hwndItem*: HWND
  hDC*: HDC
  rcItem*: RECT
  itemData*: ULONG_PTR
LPDRAWITEMSTRUCT* = ptr DRAWITEMSTRUCT
TDRAWITEMSTRUCT* = DRAWITEMSTRUCT
PDRAWITEMSTRUCT* = ptr DRAWITEMSTRUCT
DRAWTEXTPARAMS* {.final, pure.} = object 
  cbSize*: UINT
  iTabLength*: int32
  iLeftMargin*: int32
  iRightMargin*: int32
  uiLengthDrawn*: UINT
LPDRAWTEXTPARAMS* = ptr DRAWTEXTPARAMS
TDRAWTEXTPARAMS* = DRAWTEXTPARAMS
PDRAWTEXTPARAMS* = ptr DRAWTEXTPARAMS
PARTITION_INFORMATION* {.final, pure.} = object 
  PartitionType*: int8
  BootIndicator*: bool
  RecognizedPartition*: bool
  RewritePartition*: bool
  StartingOffset*: LARGE_INTEGER
  PartitionLength*: LARGE_INTEGER
  HiddenSectors*: LARGE_INTEGER
TPARTITIONINFORMATION* = PARTITION_INFORMATION
PPARTITIONINFORMATION* = ptr PARTITION_INFORMATION
DRIVE_LAYOUT_INFORMATION* {.final, pure.} = object 
  PartitionCount*: DWORD
  Signature*: DWORD
  PartitionEntry*: array[0 .. 0, PARTITION_INFORMATION]
TDRIVELAYOUTINFORMATION* = DRIVE_LAYOUT_INFORMATION
PDRIVELAYOUTINFORMATION* = ptr DRIVE_LAYOUT_INFORMATION
DRIVER_INFO_1* {.final, pure.} = object 
  pName*: LPTSTR
TDRIVERINFO1* = DRIVER_INFO_1
PDRIVERINFO1* = ptr DRIVER_INFO_1
DRIVER_INFO_2* {.final, pure.} = object 
  cVersion*: DWORD
  pName*: LPTSTR
  pEnvironment*: LPTSTR
  pDriverPath*: LPTSTR
  pDataFile*: LPTSTR
  pConfigFile*: LPTSTR
TDRIVERINFO2* = DRIVER_INFO_2
PDRIVERINFO2* = ptr DRIVER_INFO_2
DRIVER_INFO_3* {.final, pure.} = object 
  cVersion*: DWORD
  pName*: LPTSTR
  pEnvironment*: LPTSTR
  pDriverPath*: LPTSTR
  pDataFile*: LPTSTR
  pConfigFile*: LPTSTR
  pHelpFile*: LPTSTR
  pDependentFiles*: LPTSTR
  pMonitorName*: LPTSTR
  pDefaultDataType*: LPTSTR
TDRIVERINFO3* = DRIVER_INFO_3
PDRIVERINFO3* = ptr DRIVER_INFO_3
EDITSTREAM* {.final, pure.} = object 
  dwCookie*: DWORD
  dwError*: DWORD
  pfnCallback*: EDITSTREAMCALLBACK
Teditstream* = EDITSTREAM
Peditstream* = ptr EDITSTREAM
EMR* {.final, pure.} = object 
  iType*: DWORD
  nSize*: DWORD
TEMR* = EMR
PEMR* = ptr EMR
EMRANGLEARC* {.final, pure.} = object 
  emr*: EMR
  ptlCenter*: POINTL
  nRadius*: DWORD
  eStartAngle*: float32
  eSweepAngle*: float32
TEMRANGLEARC* = EMRANGLEARC
PEMRANGLEARC* = ptr EMRANGLEARC
EMRARC* {.final, pure.} = object 
  emr*: EMR
  rclBox*: RECTL
  ptlStart*: POINTL
  ptlEnd*: POINTL
TEMRARC* = EMRARC
PEMRARC* = ptr EMRARC
EMRARCTO* = EMRARC
TEMRARCTO* = EMRARC
PEMRARCTO* = ptr EMRARC
EMRCHORD* = EMRARC
TEMRCHORD* = EMRARC
PEMRCHORD* = ptr EMRARC
EMRPIE* = EMRARC
TEMRPIE* = EMRARC
PEMRPIE* = ptr EMRARC
XFORM* {.final, pure.} = object 
  eM11*: float32
  eM12*: float32
  eM21*: float32
  eM22*: float32
  eDx*: float32
  eDy*: float32
LPXFORM* = ptr XFORM
TXFORM* = XFORM
PXFORM* = ptr XFORM
EMRBITBLT* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  xDest*: LONG
  yDest*: LONG
  cxDest*: LONG
  cyDest*: LONG
  dwRop*: DWORD
  xSrc*: LONG
  ySrc*: LONG
  xformSrc*: XFORM
  crBkColorSrc*: COLORREF
  iUsageSrc*: DWORD
  offBmiSrc*: DWORD
  offBitsSrc*: DWORD
  cbBitsSrc*: DWORD
TEMRBITBLT* = EMRBITBLT
PEMRBITBLT* = ptr EMRBITBLT
LOGBRUSH* {.final, pure.} = object 
  lbStyle*: UINT
  lbColor*: COLORREF
  lbHatch*: LONG
TLOGBRUSH* = LOGBRUSH
PLOGBRUSH* = ptr LOGBRUSH
EMRCREATEBRUSHINDIRECT* {.final, pure.} = object 
  emr*: EMR
  ihBrush*: DWORD
  lb*: LOGBRUSH
TEMRCREATEBRUSHINDIRECT* = EMRCREATEBRUSHINDIRECT
PEMRCREATEBRUSHINDIRECT* = ptr EMRCREATEBRUSHINDIRECT
LCSCSTYPE* = LONG
LCSGAMUTMATCH* = LONG
LOGCOLORSPACE* {.final, pure.} = object 
  lcsSignature*: DWORD
  lcsVersion*: DWORD
  lcsSize*: DWORD
  lcsCSType*: LCSCSTYPE
  lcsIntent*: LCSGAMUTMATCH
  lcsEndpoints*: CIEXYZTRIPLE
  lcsGammaRed*: DWORD
  lcsGammaGreen*: DWORD
  lcsGammaBlue*: DWORD
  lcsFilename*: array[0 .. (MAX_PATH) - 1, TCHAR]
LPLOGCOLORSPACE* = ptr LOGCOLORSPACE
TLOGCOLORSPACE* = LOGCOLORSPACE
TLOGCOLORSPACEA* = LOGCOLORSPACE
PLOGCOLORSPACE* = ptr LOGCOLORSPACE
EMRCREATECOLORSPACE* {.final, pure.} = object 
  emr*: EMR
  ihCS*: DWORD
  lcs*: LOGCOLORSPACE
TEMRCREATECOLORSPACE* = EMRCREATECOLORSPACE
PEMRCREATECOLORSPACE* = ptr EMRCREATECOLORSPACE
EMRCREATEDIBPATTERNBRUSHPT* {.final, pure.} = object 
  emr*: EMR
  ihBrush*: DWORD
  iUsage*: DWORD
  offBmi*: DWORD
  cbBmi*: DWORD
  offBits*: DWORD
  cbBits*: DWORD
TEMRCREATEDIBPATTERNBRUSHPT* = EMRCREATEDIBPATTERNBRUSHPT
PEMRCREATEDIBPATTERNBRUSHPT* = EMRCREATEDIBPATTERNBRUSHPT
EMRCREATEMONOBRUSH* {.final, pure.} = object 
  emr*: EMR
  ihBrush*: DWORD
  iUsage*: DWORD
  offBmi*: DWORD
  cbBmi*: DWORD
  offBits*: DWORD
  cbBits*: DWORD
TEMRCREATEMONOBRUSH* = EMRCREATEMONOBRUSH
PEMRCREATEMONOBRUSH* = ptr EMRCREATEMONOBRUSH
PALETTEENTRY* {.final, pure.} = object 
  peRed*: int8
  peGreen*: int8
  peBlue*: int8
  peFlags*: int8
LPPALETTEENTRY* = ptr PALETTEENTRY
TPALETTEENTRY* = PALETTEENTRY
PPALETTEENTRY* = ptr PALETTEENTRY
LOGPALETTE* {.final, pure.} = object 
  palVersion*: int16
  palNumEntries*: int16
  palPalEntry*: array[0 .. 0, PALETTEENTRY]
LPLOGPALETTE* = ptr LOGPALETTE
NPLOGPALETTE* = ptr LOGPALETTE
TLOGPALETTE* = LOGPALETTE
PLOGPALETTE* = ptr LOGPALETTE
EMRCREATEPALETTE* {.final, pure.} = object 
  emr*: EMR
  ihPal*: DWORD
  lgpl*: LOGPALETTE
TEMRCREATEPALETTE* = EMRCREATEPALETTE
PEMRCREATEPALETTE* = ptr EMRCREATEPALETTE
LOGPEN* {.final, pure.} = object 
  lopnStyle*: UINT
  lopnWidth*: POINT
  lopnColor*: COLORREF
TLOGPEN* = LOGPEN
PLOGPEN* = ptr LOGPEN
EMRCREATEPEN* {.final, pure.} = object 
  emr*: EMR
  ihPen*: DWORD
  lopn*: LOGPEN
TEMRCREATEPEN* = EMRCREATEPEN
PEMRCREATEPEN* = ptr EMRCREATEPEN
EMRELLIPSE* {.final, pure.} = object 
  emr*: EMR
  rclBox*: RECTL
TEMRELLIPSE* = EMRELLIPSE
PEMRELLIPSE* = ptr EMRELLIPSE
EMRRECTANGLE* = EMRELLIPSE
TEMRRECTANGLE* = EMRELLIPSE
PEMRRECTANGLE* = ptr EMRELLIPSE
EMREOF* {.final, pure.} = object 
  emr*: EMR
  nPalEntries*: DWORD
  offPalEntries*: DWORD
  nSizeLast*: DWORD
TEMREOF* = EMREOF
PEMREOF* = ptr EMREOF
EMREXCLUDECLIPRECT* {.final, pure.} = object 
  emr*: EMR
  rclClip*: RECTL
TEMREXCLUDECLIPRECT* = EMREXCLUDECLIPRECT
PEMREXCLUDECLIPRECT* = ptr EMREXCLUDECLIPRECT
EMRINTERSECTCLIPRECT* = EMREXCLUDECLIPRECT
TEMRINTERSECTCLIPRECT* = EMREXCLUDECLIPRECT
PEMRINTERSECTCLIPRECT* = ptr EMREXCLUDECLIPRECT
PANOSE* {.final, pure.} = object 
  bFamilyType*: int8
  bSerifStyle*: int8
  bWeight*: int8
  bProportion*: int8
  bContrast*: int8
  bStrokeVariation*: int8
  bArmStyle*: int8
  bLetterform*: int8
  bMidline*: int8
  bXHeight*: int8
TPANOSE* = PANOSE
PPANOSE* = ptr PANOSE
EXTLOGFONT* {.final, pure.} = object 
  elfLogFont*: LOGFONT
  elfFullName*: array[0 .. (LF_FULLFACESIZE) - 1, BCHAR]
  elfStyle*: array[0 .. (LF_FACESIZE) - 1, BCHAR]
  elfVersion*: DWORD
  elfStyleSize*: DWORD
  elfMatch*: DWORD
  elfReserved*: DWORD
  elfVendorId*: array[0 .. (ELF_VENDOR_SIZE) - 1, int8]
  elfCulture*: DWORD
  elfPanose*: PANOSE
TEXTLOGFONT* = EXTLOGFONT
PEXTLOGFONT* = ptr EXTLOGFONT
EMREXTCREATEFONTINDIRECTW* {.final, pure.} = object 
  emr*: EMR
  ihFont*: DWORD
  elfw*: EXTLOGFONT
TEMREXTCREATEFONTINDIRECTW* = EMREXTCREATEFONTINDIRECTW
PEMREXTCREATEFONTINDIRECTW* = ptr EMREXTCREATEFONTINDIRECTW
EXTLOGPEN* {.final, pure.} = object 
  elpPenStyle*: UINT
  elpWidth*: UINT
  elpBrushStyle*: UINT
  elpColor*: COLORREF
  elpHatch*: LONG
  elpNumEntries*: DWORD
  elpStyleEntry*: array[0 .. 0, DWORD]
TEXTLOGPEN* = EXTLOGPEN
PEXTLOGPEN* = ptr EXTLOGPEN
EMREXTCREATEPEN* {.final, pure.} = object 
  emr*: EMR
  ihPen*: DWORD
  offBmi*: DWORD
  cbBmi*: DWORD
  offBits*: DWORD
  cbBits*: DWORD
  elp*: EXTLOGPEN
TEMREXTCREATEPEN* = EMREXTCREATEPEN
PEMREXTCREATEPEN* = ptr EMREXTCREATEPEN
EMREXTFLOODFILL* {.final, pure.} = object 
  emr*: EMR
  ptlStart*: POINTL
  crColor*: COLORREF
  iMode*: DWORD
TEMREXTFLOODFILL* = EMREXTFLOODFILL
PEMREXTFLOODFILL* = ptr EMREXTFLOODFILL
EMREXTSELECTCLIPRGN* {.final, pure.} = object 
  emr*: EMR
  cbRgnData*: DWORD
  iMode*: DWORD
  RgnData*: array[0 .. 0, int8]
TEMREXTSELECTCLIPRGN* = EMREXTSELECTCLIPRGN
PEMREXTSELECTCLIPRGN* = ptr EMREXTSELECTCLIPRGN
EMRTEXT* {.final, pure.} = object 
  ptlReference*: POINTL
  nChars*: DWORD
  offString*: DWORD
  fOptions*: DWORD
  rcl*: RECTL
  offDx*: DWORD
TEMRTEXT* = EMRTEXT
PEMRTEXT* = ptr EMRTEXT
EMREXTTEXTOUTA* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  iGraphicsMode*: DWORD
  exScale*: float32
  eyScale*: float32
  emrtext*: EMRTEXT
TEMREXTTEXTOUTA* = EMREXTTEXTOUTA
PEMREXTTEXTOUTA* = ptr EMREXTTEXTOUTA
EMREXTTEXTOUTW* = EMREXTTEXTOUTA
TEMREXTTEXTOUTW* = EMREXTTEXTOUTA
PEMREXTTEXTOUTW* = ptr EMREXTTEXTOUTA
EMRFILLPATH* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
TEMRFILLPATH* = EMRFILLPATH
PEMRFILLPATH* = ptr EMRFILLPATH
EMRSTROKEANDFILLPATH* = EMRFILLPATH
TEMRSTROKEANDFILLPATH* = EMRFILLPATH
PEMRSTROKEANDFILLPATH* = ptr EMRFILLPATH
EMRSTROKEPATH* = EMRFILLPATH
TEMRSTROKEPATH* = EMRFILLPATH
PEMRSTROKEPATH* = ptr EMRFILLPATH
EMRFILLRGN* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  cbRgnData*: DWORD
  ihBrush*: DWORD
  RgnData*: array[0 .. 0, int8]
TEMRFILLRGN* = EMRFILLRGN
PEMRFILLRGN* = ptr EMRFILLRGN
EMRFORMAT* {.final, pure.} = object 
  dSignature*: DWORD
  nVersion*: DWORD
  cbData*: DWORD
  offData*: DWORD
TEMRFORMAT* = EMRFORMAT
PEMRFORMAT* = ptr EMRFORMAT
EMRFRAMERGN* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  cbRgnData*: DWORD
  ihBrush*: DWORD
  szlStroke*: SIZEL
  RgnData*: array[0 .. 0, int8]
TEMRFRAMERGN* = EMRFRAMERGN
PEMRFRAMERGN* = ptr EMRFRAMERGN
EMRGDICOMMENT* {.final, pure.} = object 
  emr*: EMR
  cbData*: DWORD
  Data*: array[0 .. 0, int8]
TEMRGDICOMMENT* = EMRGDICOMMENT
PEMRGDICOMMENT* = ptr EMRGDICOMMENT
EMRINVERTRGN* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  cbRgnData*: DWORD
  RgnData*: array[0 .. 0, int8]
TEMRINVERTRGN* = EMRINVERTRGN
PEMRINVERTRGN* = ptr EMRINVERTRGN
EMRPAINTRGN* = EMRINVERTRGN
TEMRPAINTRGN* = EMRINVERTRGN
PEMRPAINTRGN* = ptr EMRINVERTRGN
EMRLINETO* {.final, pure.} = object 
  emr*: EMR
  ptl*: POINTL
TEMRLINETO* = EMRLINETO
PEMRLINETO* = ptr EMRLINETO
EMRMOVETOEX* = EMRLINETO
TEMRMOVETOEX* = EMRLINETO
PEMRMOVETOEX* = ptr EMRLINETO
EMRMASKBLT* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  xDest*: LONG
  yDest*: LONG
  cxDest*: LONG
  cyDest*: LONG
  dwRop*: DWORD
  xSrc*: LONG
  ySrc*: LONG
  xformSrc*: XFORM
  crBkColorSrc*: COLORREF
  iUsageSrc*: DWORD
  offBmiSrc*: DWORD
  cbBmiSrc*: DWORD
  offBitsSrc*: DWORD
  cbBitsSrc*: DWORD
  xMask*: LONG
  yMask*: LONG
  iUsageMask*: DWORD
  offBmiMask*: DWORD
  cbBmiMask*: DWORD
  offBitsMask*: DWORD
  cbBitsMask*: DWORD
TEMRMASKBLT* = EMRMASKBLT
PEMRMASKBLT* = ptr EMRMASKBLT
EMRMODIFYWORLDTRANSFORM* {.final, pure.} = object 
  emr*: EMR
  xform*: XFORM
  iMode*: DWORD
TEMRMODIFYWORLDTRANSFORM* = EMRMODIFYWORLDTRANSFORM
PEMRMODIFYWORLDTRANSFORM* = EMRMODIFYWORLDTRANSFORM
EMROFFSETCLIPRGN* {.final, pure.} = object 
  emr*: EMR
  ptlOffset*: POINTL
TEMROFFSETCLIPRGN* = EMROFFSETCLIPRGN
PEMROFFSETCLIPRGN* = ptr EMROFFSETCLIPRGN
EMRPLGBLT* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  aptlDest*: array[0 .. 2, POINTL]
  xSrc*: LONG
  ySrc*: LONG
  cxSrc*: LONG
  cySrc*: LONG
  xformSrc*: XFORM
  crBkColorSrc*: COLORREF
  iUsageSrc*: DWORD
  offBmiSrc*: DWORD
  cbBmiSrc*: DWORD
  offBitsSrc*: DWORD
  cbBitsSrc*: DWORD
  xMask*: LONG
  yMask*: LONG
  iUsageMask*: DWORD
  offBmiMask*: DWORD
  cbBmiMask*: DWORD
  offBitsMask*: DWORD
  cbBitsMask*: DWORD
TEMRPLGBLT* = EMRPLGBLT
PEMRPLGBLT* = ptr EMRPLGBLT
EMRPOLYDRAW* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  cptl*: DWORD
  aptl*: array[0 .. 0, POINTL]
  abTypes*: array[0 .. 0, int8]
TEMRPOLYDRAW* = EMRPOLYDRAW
PEMRPOLYDRAW* = ptr EMRPOLYDRAW
EMRPOLYDRAW16* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  cpts*: DWORD
  apts*: array[0 .. 0, POINTS]
  abTypes*: array[0 .. 0, int8]
TEMRPOLYDRAW16* = EMRPOLYDRAW16
PEMRPOLYDRAW16* = ptr EMRPOLYDRAW16
EMRPOLYLINE* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  cptl*: DWORD
  aptl*: array[0 .. 0, POINTL]
TEMRPOLYLINE* = EMRPOLYLINE
PEMRPOLYLINE* = ptr EMRPOLYLINE
EMRPOLYBEZIER* = EMRPOLYLINE
TEMRPOLYBEZIER* = EMRPOLYLINE
PEMRPOLYBEZIER* = ptr EMRPOLYLINE
EMRPOLYGON* = EMRPOLYLINE
TEMRPOLYGON* = EMRPOLYLINE
PEMRPOLYGON* = ptr EMRPOLYLINE
EMRPOLYBEZIERTO* = EMRPOLYLINE
TEMRPOLYBEZIERTO* = EMRPOLYLINE
PEMRPOLYBEZIERTO* = ptr EMRPOLYLINE
EMRPOLYLINETO* = EMRPOLYLINE
TEMRPOLYLINETO* = EMRPOLYLINE
PEMRPOLYLINETO* = ptr EMRPOLYLINE
EMRPOLYLINE16* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  cpts*: DWORD
  apts*: array[0 .. 0, POINTL]
TEMRPOLYLINE16* = EMRPOLYLINE16
PEMRPOLYLINE16* = ptr EMRPOLYLINE16
EMRPOLYBEZIER16* = EMRPOLYLINE16
TEMRPOLYBEZIER16* = EMRPOLYLINE16
PEMRPOLYBEZIER16* = ptr EMRPOLYLINE16
EMRPOLYGON16* = EMRPOLYLINE16
TEMRPOLYGON16* = EMRPOLYLINE16
PEMRPOLYGON16* = ptr EMRPOLYLINE16
EMRPOLYBEZIERTO16* = EMRPOLYLINE16
TEMRPOLYBEZIERTO16* = EMRPOLYLINE16
PEMRPOLYBEZIERTO16* = ptr EMRPOLYLINE16
EMRPOLYLINETO16* = EMRPOLYLINE16
TEMRPOLYLINETO16* = EMRPOLYLINE16
PEMRPOLYLINETO16* = ptr EMRPOLYLINE16
EMRPOLYPOLYLINE* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  nPolys*: DWORD
  cptl*: DWORD
  aPolyCounts*: array[0 .. 0, DWORD]
  aptl*: array[0 .. 0, POINTL]
TEMRPOLYPOLYLINE* = EMRPOLYPOLYLINE
PEMRPOLYPOLYLINE* = ptr EMRPOLYPOLYLINE
EMRPOLYPOLYGON* = EMRPOLYPOLYLINE
TEMRPOLYPOLYGON* = EMRPOLYPOLYLINE
PEMRPOLYPOLYGON* = ptr EMRPOLYPOLYLINE
EMRPOLYPOLYLINE16* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  nPolys*: DWORD
  cpts*: DWORD
  aPolyCounts*: array[0 .. 0, DWORD]
  apts*: array[0 .. 0, POINTS]
TEMRPOLYPOLYLINE16* = EMRPOLYPOLYLINE16
PEMRPOLYPOLYLINE16* = ptr EMRPOLYPOLYLINE16
EMRPOLYPOLYGON16* = EMRPOLYPOLYLINE16
TEMRPOLYPOLYGON16* = EMRPOLYPOLYLINE16
PEMRPOLYPOLYGON16* = ptr EMRPOLYPOLYLINE16
EMRPOLYTEXTOUTA* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  iGraphicsMode*: DWORD
  exScale*: float32
  eyScale*: float32
  cStrings*: LONG
  aemrtext*: array[0 .. 0, EMRTEXT]
TEMRPOLYTEXTOUTA* = EMRPOLYTEXTOUTA
PEMRPOLYTEXTOUTA* = ptr EMRPOLYTEXTOUTA
EMRPOLYTEXTOUTW* = EMRPOLYTEXTOUTA
TEMRPOLYTEXTOUTW* = EMRPOLYTEXTOUTA
PEMRPOLYTEXTOUTW* = ptr EMRPOLYTEXTOUTA
EMRRESIZEPALETTE* {.final, pure.} = object 
  emr*: EMR
  ihPal*: DWORD
  cEntries*: DWORD
TEMRRESIZEPALETTE* = EMRRESIZEPALETTE
PEMRRESIZEPALETTE* = ptr EMRRESIZEPALETTE
EMRRESTOREDC* {.final, pure.} = object 
  emr*: EMR
  iRelative*: LONG
TEMRRESTOREDC* = EMRRESTOREDC
PEMRRESTOREDC* = ptr EMRRESTOREDC
EMRROUNDRECT* {.final, pure.} = object 
  emr*: EMR
  rclBox*: RECTL
  szlCorner*: SIZEL
TEMRROUNDRECT* = EMRROUNDRECT
PEMRROUNDRECT* = ptr EMRROUNDRECT
EMRSCALEVIEWPORTEXTEX* {.final, pure.} = object 
  emr*: EMR
  xNum*: LONG
  xDenom*: LONG
  yNum*: LONG
  yDenom*: LONG
TEMRSCALEVIEWPORTEXTEX* = EMRSCALEVIEWPORTEXTEX
PEMRSCALEVIEWPORTEXTEX* = ptr EMRSCALEVIEWPORTEXTEX
EMRSCALEWINDOWEXTEX* = EMRSCALEVIEWPORTEXTEX
TEMRSCALEWINDOWEXTEX* = EMRSCALEVIEWPORTEXTEX
PEMRSCALEWINDOWEXTEX* = ptr EMRSCALEVIEWPORTEXTEX
EMRSELECTCOLORSPACE* {.final, pure.} = object 
  emr*: EMR
  ihCS*: DWORD
TEMRSELECTCOLORSPACE* = EMRSELECTCOLORSPACE
PEMRSELECTCOLORSPACE* = ptr EMRSELECTCOLORSPACE
EMRDELETECOLORSPACE* = EMRSELECTCOLORSPACE
TEMRDELETECOLORSPACE* = EMRSELECTCOLORSPACE
PEMRDELETECOLORSPACE* = ptr EMRSELECTCOLORSPACE
EMRSELECTOBJECT* {.final, pure.} = object 
  emr*: EMR
  ihObject*: DWORD
TEMRSELECTOBJECT* = EMRSELECTOBJECT
PEMRSELECTOBJECT* = ptr EMRSELECTOBJECT
EMRDELETEOBJECT* = EMRSELECTOBJECT
TEMRDELETEOBJECT* = EMRSELECTOBJECT
PEMRDELETEOBJECT* = ptr EMRSELECTOBJECT
EMRSELECTPALETTE* {.final, pure.} = object 
  emr*: EMR
  ihPal*: DWORD
TEMRSELECTPALETTE* = EMRSELECTPALETTE
PEMRSELECTPALETTE* = ptr EMRSELECTPALETTE
EMRSETARCDIRECTION* {.final, pure.} = object 
  emr*: EMR
  iArcDirection*: DWORD
TEMRSETARCDIRECTION* = EMRSETARCDIRECTION
PEMRSETARCDIRECTION* = ptr EMRSETARCDIRECTION
EMRSETBKCOLOR* {.final, pure.} = object 
  emr*: EMR
  crColor*: COLORREF
TEMRSETBKCOLOR* = EMRSETBKCOLOR
PEMRSETBKCOLOR* = ptr EMRSETBKCOLOR
EMRSETTEXTCOLOR* = EMRSETBKCOLOR
TEMRSETTEXTCOLOR* = EMRSETBKCOLOR
PEMRSETTEXTCOLOR* = ptr EMRSETBKCOLOR
EMRSETCOLORADJUSTMENT* {.final, pure.} = object 
  emr*: EMR
  ColorAdjustment*: COLORADJUSTMENT
TEMRSETCOLORADJUSTMENT* = EMRSETCOLORADJUSTMENT
PEMRSETCOLORADJUSTMENT* = ptr EMRSETCOLORADJUSTMENT
EMRSETDIBITSTODEVICE* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  xDest*: LONG
  yDest*: LONG
  xSrc*: LONG
  ySrc*: LONG
  cxSrc*: LONG
  cySrc*: LONG
  offBmiSrc*: DWORD
  cbBmiSrc*: DWORD
  offBitsSrc*: DWORD
  cbBitsSrc*: DWORD
  iUsageSrc*: DWORD
  iStartScan*: DWORD
  cScans*: DWORD
TEMRSETDIBITSTODEVICE* = EMRSETDIBITSTODEVICE
PEMRSETDIBITSTODEVICE* = ptr EMRSETDIBITSTODEVICE
EMRSETMAPPERFLAGS* {.final, pure.} = object 
  emr*: EMR
  dwFlags*: DWORD
TEMRSETMAPPERFLAGS* = EMRSETMAPPERFLAGS
PEMRSETMAPPERFLAGS* = ptr EMRSETMAPPERFLAGS
EMRSETMITERLIMIT* {.final, pure.} = object 
  emr*: EMR
  eMiterLimit*: float32
TEMRSETMITERLIMIT* = EMRSETMITERLIMIT
PEMRSETMITERLIMIT* = ptr EMRSETMITERLIMIT
EMRSETPALETTEENTRIES* {.final, pure.} = object 
  emr*: EMR
  ihPal*: DWORD
  iStart*: DWORD
  cEntries*: DWORD
  aPalEntries*: array[0 .. 0, PALETTEENTRY]
TEMRSETPALETTEENTRIES* = EMRSETPALETTEENTRIES
PEMRSETPALETTEENTRIES* = ptr EMRSETPALETTEENTRIES
EMRSETPIXELV* {.final, pure.} = object 
  emr*: EMR
  ptlPixel*: POINTL
  crColor*: COLORREF
TEMRSETPIXELV* = EMRSETPIXELV
PEMRSETPIXELV* = ptr EMRSETPIXELV
EMRSETVIEWPORTEXTEX* {.final, pure.} = object 
  emr*: EMR
  szlExtent*: SIZEL
TEMRSETVIEWPORTEXTEX* = EMRSETVIEWPORTEXTEX
PEMRSETVIEWPORTEXTEX* = ptr EMRSETVIEWPORTEXTEX
EMRSETWINDOWEXTEX* = EMRSETVIEWPORTEXTEX
TEMRSETWINDOWEXTEX* = EMRSETVIEWPORTEXTEX
PEMRSETWINDOWEXTEX* = ptr EMRSETVIEWPORTEXTEX
EMRSETVIEWPORTORGEX* {.final, pure.} = object 
  emr*: EMR
  ptlOrigin*: POINTL
TEMRSETVIEWPORTORGEX* = EMRSETVIEWPORTORGEX
PEMRSETVIEWPORTORGEX* = ptr EMRSETVIEWPORTORGEX
EMRSETWINDOWORGEX* = EMRSETVIEWPORTORGEX
TEMRSETWINDOWORGEX* = EMRSETVIEWPORTORGEX
PEMRSETWINDOWORGEX* = ptr EMRSETVIEWPORTORGEX
EMRSETBRUSHORGEX* = EMRSETVIEWPORTORGEX
TEMRSETBRUSHORGEX* = EMRSETVIEWPORTORGEX
PEMRSETBRUSHORGEX* = ptr EMRSETVIEWPORTORGEX
EMRSETWORLDTRANSFORM* {.final, pure.} = object 
  emr*: EMR
  xform*: XFORM
TEMRSETWORLDTRANSFORM* = EMRSETWORLDTRANSFORM
PEMRSETWORLDTRANSFORM* = ptr EMRSETWORLDTRANSFORM
EMRSTRETCHBLT* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  xDest*: LONG
  yDest*: LONG
  cxDest*: LONG
  cyDest*: LONG
  dwRop*: DWORD
  xSrc*: LONG
  ySrc*: LONG
  xformSrc*: XFORM
  crBkColorSrc*: COLORREF
  iUsageSrc*: DWORD
  offBmiSrc*: DWORD
  cbBmiSrc*: DWORD
  offBitsSrc*: DWORD
  cbBitsSrc*: DWORD
  cxSrc*: LONG
  cySrc*: LONG
TEMRSTRETCHBLT* = EMRSTRETCHBLT
PEMRSTRETCHBLT* = ptr EMRSTRETCHBLT
EMRSTRETCHDIBITS* {.final, pure.} = object 
  emr*: EMR
  rclBounds*: RECTL
  xDest*: LONG
  yDest*: LONG
  xSrc*: LONG
  ySrc*: LONG
  cxSrc*: LONG
  cySrc*: LONG
  offBmiSrc*: DWORD
  cbBmiSrc*: DWORD
  offBitsSrc*: DWORD
  cbBitsSrc*: DWORD
  iUsageSrc*: DWORD
  dwRop*: DWORD
  cxDest*: LONG
  cyDest*: LONG
TEMRSTRETCHDIBITS* = EMRSTRETCHDIBITS
PEMRSTRETCHDIBITS* = ptr EMRSTRETCHDIBITS
EMRABORTPATH* {.final, pure.} = object 
  emr*: EMR
TEMRABORTPATH* = EMRABORTPATH
PEMRABORTPATH* = ptr EMRABORTPATH
TABORTPATH* = EMRABORTPATH
EMRBEGINPATH* = EMRABORTPATH
TEMRBEGINPATH* = EMRABORTPATH
PEMRBEGINPATH* = ptr EMRABORTPATH
EMRENDPATH* = EMRABORTPATH
TEMRENDPATH* = EMRABORTPATH
PEMRENDPATH* = ptr EMRABORTPATH
EMRCLOSEFIGURE* = EMRABORTPATH
TEMRCLOSEFIGURE* = EMRABORTPATH
PEMRCLOSEFIGURE* = ptr EMRABORTPATH
EMRFLATTENPATH* = EMRABORTPATH
TEMRFLATTENPATH* = EMRABORTPATH
PEMRFLATTENPATH* = ptr EMRABORTPATH
EMRWIDENPATH* = EMRABORTPATH
TEMRWIDENPATH* = EMRABORTPATH
PEMRWIDENPATH* = ptr EMRABORTPATH
EMRSETMETARGN* = EMRABORTPATH
TEMRSETMETARGN* = EMRABORTPATH
PEMRSETMETARGN* = ptr EMRABORTPATH
EMRSAVEDC* = EMRABORTPATH
TEMRSAVEDC* = EMRABORTPATH
PEMRSAVEDC* = ptr EMRABORTPATH
EMRREALIZEPALETTE* = EMRABORTPATH
TEMRREALIZEPALETTE* = EMRABORTPATH
PEMRREALIZEPALETTE* = ptr EMRABORTPATH
EMRSELECTCLIPPATH* {.final, pure.} = object 
  emr*: EMR
  iMode*: DWORD
TEMRSELECTCLIPPATH* = EMRSELECTCLIPPATH
PEMRSELECTCLIPPATH* = ptr EMRSELECTCLIPPATH
EMRSETBKMODE* = EMRSELECTCLIPPATH
TEMRSETBKMODE* = EMRSELECTCLIPPATH
PEMRSETBKMODE* = ptr EMRSELECTCLIPPATH
EMRSETMAPMODE* = EMRSELECTCLIPPATH
TEMRSETMAPMODE* = EMRSELECTCLIPPATH
PEMRSETMAPMODE* = ptr EMRSELECTCLIPPATH
EMRSETPOLYFILLMODE* = EMRSELECTCLIPPATH
TEMRSETPOLYFILLMODE* = EMRSELECTCLIPPATH
PEMRSETPOLYFILLMODE* = ptr EMRSELECTCLIPPATH
EMRSETROP2* = EMRSELECTCLIPPATH
TEMRSETROP2* = EMRSELECTCLIPPATH
PEMRSETROP2* = ptr EMRSELECTCLIPPATH
EMRSETSTRETCHBLTMODE* = EMRSELECTCLIPPATH
TEMRSETSTRETCHBLTMODE* = EMRSELECTCLIPPATH
PEMRSETSTRETCHBLTMODE* = ptr EMRSELECTCLIPPATH
EMRSETTEXTALIGN* = EMRSELECTCLIPPATH
TEMRSETTEXTALIGN* = EMRSELECTCLIPPATH
PEMRSETTEXTALIGN* = ptr EMRSELECTCLIPPATH
EMRENABLEICM* = EMRSELECTCLIPPATH
TEMRENABLEICM* = EMRSELECTCLIPPATH
PEMRENABLEICM* = ptr EMRSELECTCLIPPATH
NMHDR* {.final, pure.} = object 
  hwndFrom*: HWND
  idFrom*: UINT
  code*: UINT
TNMHDR* = NMHDR
PNMHDR* = ptr NMHDR
TENCORRECTTEXT* {.final, pure.} = object 
  nmhdr*: NMHDR
  chrg*: CHARRANGE
  seltyp*: int16
Pencorrecttext* = ptr TENCORRECTTEXT
TENDROPFILES* {.final, pure.} = object 
  nmhdr*: NMHDR
  hDrop*: HANDLE
  cp*: LONG
  fProtected*: WINBOOL
Pendropfiles* = ptr TENDROPFILES
TENSAVECLIPBOARD* {.final, pure.} = object 
  nmhdr*: NMHDR
  cObjectCount*: LONG
  cch*: LONG
PENSAVECLIPBOARD* = ptr TENSAVECLIPBOARD
TENOLEOPFAILED* {.final, pure.} = object 
  nmhdr*: NMHDR
  iob*: LONG
  lOper*: LONG
  hr*: HRESULT
PENOLEOPFAILED* = ptr TENOLEOPFAILED
TENHMETAHEADER* {.final, pure.} = object 
  iType*: DWORD
  nSize*: DWORD
  rclBounds*: RECTL
  rclFrame*: RECTL
  dSignature*: DWORD
  nVersion*: DWORD
  nBytes*: DWORD
  nRecords*: DWORD
  nHandles*: int16
  sReserved*: int16
  nDescription*: DWORD
  offDescription*: DWORD
  nPalEntries*: DWORD
  szlDevice*: SIZEL
  szlMillimeters*: SIZEL
LPENHMETAHEADER* = ptr TENHMETAHEADER
PENHMETAHEADER* = ptr TENHMETAHEADER
TENHMETARECORD* {.final, pure.} = object 
  iType*: DWORD
  nSize*: DWORD
  dParm*: array[0 .. 0, DWORD]
LPENHMETARECORD* = ptr TENHMETARECORD
PENHMETARECORD* = ptr TENHMETARECORD
TENPROTECTED* {.final, pure.} = object 
  nmhdr*: NMHDR
  msg*: UINT
  wParam*: WPARAM
  lParam*: LPARAM
  chrg*: CHARRANGE
Penprotected* = ptr TENPROTECTED
SERVICE_STATUS* {.final, pure.} = object 
  dwServiceType*: DWORD
  dwCurrentState*: DWORD
  dwControlsAccepted*: DWORD
  dwWin32ExitCode*: DWORD
  dwServiceSpecificExitCode*: DWORD
  dwCheckPoint*: DWORD
  dwWaitHint*: DWORD
LPSERVICE_STATUS* = ptr SERVICE_STATUS
TSERVICESTATUS* = SERVICE_STATUS
PSERVICESTATUS* = ptr SERVICE_STATUS
ENUM_SERVICE_STATUS* {.final, pure.} = object 
  lpServiceName*: LPTSTR
  lpDisplayName*: LPTSTR
  ServiceStatus*: SERVICE_STATUS
LPENUM_SERVICE_STATUS* = ptr ENUM_SERVICE_STATUS
TENUMSERVICESTATUS* = ENUM_SERVICE_STATUS
PENUMSERVICESTATUS* = ptr ENUM_SERVICE_STATUS
ENUMLOGFONT* {.final, pure.} = object 
  elfLogFont*: LOGFONT
  elfFullName*: array[0 .. (LF_FULLFACESIZE) - 1, BCHAR]
  elfStyle*: array[0 .. (LF_FACESIZE) - 1, BCHAR]
TENUMLOGFONT* = ENUMLOGFONT
PENUMLOGFONT* = ptr ENUMLOGFONT
ENUMLOGFONTEX* {.final, pure.} = object 
  elfLogFont*: LOGFONT
  elfFullName*: array[0 .. (LF_FULLFACESIZE) - 1, BCHAR]
  elfStyle*: array[0 .. (LF_FACESIZE) - 1, BCHAR]
  elfScript*: array[0 .. (LF_FACESIZE) - 1, BCHAR]
TENUMLOGFONTEX* = ENUMLOGFONTEX
PENUMLOGFONTEX* = ptr ENUMLOGFONTEX
EVENTLOGRECORD* {.final, pure.} = object 
  Length*: DWORD
  Reserved*: DWORD
  RecordNumber*: DWORD
  TimeGenerated*: DWORD
  TimeWritten*: DWORD
  EventID*: DWORD
  EventType*: int16
  NumStrings*: int16
  EventCategory*: int16
  ReservedFlags*: int16
  ClosingRecordNumber*: DWORD
  StringOffset*: DWORD
  UserSidLength*: DWORD
  UserSidOffset*: DWORD
  DataLength*: DWORD
  DataOffset*: DWORD
TEVENTLOGRECORD* = EVENTLOGRECORD
PEVENTLOGRECORD* = ptr EVENTLOGRECORD
EVENTMSG* {.final, pure.} = object 
  message*: UINT
  paramL*: UINT
  paramH*: UINT
  time*: DWORD
  hwnd*: HWND
TEVENTMSG* = EVENTMSG
PEVENTMSG* = ptr EVENTMSG
EXCEPTION_POINTERS* {.final, pure.} = object 
  ExceptionRecord*: PEXCEPTION_RECORD
  ContextRecord*: PCONTEXT
LPEXCEPTION_POINTERS* = ptr EXCEPTION_POINTERS
PEXCEPTION_POINTERS* = ptr EXCEPTION_POINTERS
TEXCEPTIONPOINTERS* = EXCEPTION_POINTERS
EXT_BUTTON* {.final, pure.} = object 
  idCommand*: int16
  idsHelp*: int16
  fsStyle*: int16
LPEXT_BUTTON* = ptr EXT_BUTTON
TEXTBUTTON* = EXT_BUTTON
PEXTBUTTON* = ptr EXT_BUTTON
FILTERKEYS* {.final, pure.} = object 
  cbSize*: UINT
  dwFlags*: DWORD
  iWaitMSec*: DWORD
  iDelayMSec*: DWORD
  iRepeatMSec*: DWORD
  iBounceMSec*: DWORD
TFILTERKEYS* = FILTERKEYS
PFILTERKEYS* = ptr FILTERKEYS
FIND_NAME_BUFFER* {.final, pure.} = object 
  len*: UCHAR
  access_control*: UCHAR
  frame_control*: UCHAR
  destination_addr*: array[0 .. 5, UCHAR]
  source_addr*: array[0 .. 5, UCHAR]
  routing_info*: array[0 .. 17, UCHAR]
TFINDNAMEBUFFER* = FIND_NAME_BUFFER
PFINDNAMEBUFFER* = ptr FIND_NAME_BUFFER
FIND_NAME_HEADER* {.final, pure.} = object 
  node_count*: int16
  reserved*: UCHAR
  unique_group*: UCHAR
TFINDNAMEHEADER* = FIND_NAME_HEADER
PFINDNAMEHEADER* = ptr FIND_NAME_HEADER
FINDREPLACE* {.final, pure.} = object 
  lStructSize*: DWORD
  hwndOwner*: HWND
  hInstance*: HINST
  Flags*: DWORD
  lpstrFindWhat*: LPTSTR
  lpstrReplaceWith*: LPTSTR
  wFindWhatLen*: int16
  wReplaceWithLen*: int16
  lCustData*: LPARAM
  lpfnHook*: LPFRHOOKPROC
  lpTemplateName*: LPCTSTR
LPFINDREPLACE* = ptr FINDREPLACE
TFINDREPLACE* = FINDREPLACE
PFINDREPLACE* = ptr FINDREPLACE
TFINDTEXT* {.final, pure.} = object 
  chrg*: CHARRANGE
  lpstrText*: LPSTR
Pfindtext* = ptr TFINDTEXT
FINDTEXTEX* {.final, pure.} = object 
  chrg*: CHARRANGE
  lpstrText*: LPSTR
  chrgText*: CHARRANGE
Tfindtextex* = FINDTEXTEX
Pfindtextex* = ptr FINDTEXTEX
FMS_GETDRIVEINFO* {.final, pure.} = object 
  dwTotalSpace*: DWORD
  dwFreeSpace*: DWORD
  szPath*: array[0 .. 259, TCHAR]
  szVolume*: array[0 .. 13, TCHAR]
  szShare*: array[0 .. 127, TCHAR]
TFMSGETDRIVEINFO* = FMS_GETDRIVEINFO
PFMSGETDRIVEINFO* = ptr FMS_GETDRIVEINFO
FMS_GETFILESEL* {.final, pure.} = object 
  ftTime*: FILETIME
  dwSize*: DWORD
  bAttr*: int8
  szName*: array[0 .. 259, TCHAR]
TFMSGETFILESEL* = FMS_GETFILESEL
PFMSGETFILESEL* = ptr FMS_GETFILESEL
FMS_LOAD* {.final, pure.} = object 
  dwSize*: DWORD
  szMenuName*: array[0 .. (MENU_TEXT_LEN) - 1, TCHAR]
  hMenu*: HMENU
  wMenuDelta*: UINT
TFMSLOAD* = FMS_LOAD
PFMSLOAD* = ptr FMS_LOAD
FMS_TOOLBARLOAD* {.final, pure.} = object 
  dwSize*: DWORD
  lpButtons*: LPEXT_BUTTON
  cButtons*: int16
  cBitmaps*: int16
  idBitmap*: int16
  hBitmap*: HBITMAP
TFMSTOOLBARLOAD* = FMS_TOOLBARLOAD
PFMSTOOLBARLOAD* = ptr FMS_TOOLBARLOAD
FOCUS_EVENT_RECORD* {.final, pure.} = object 
  bSetFocus*: WINBOOL
TFOCUSEVENTRECORD* = FOCUS_EVENT_RECORD
PFOCUSEVENTRECORD* = ptr FOCUS_EVENT_RECORD
FORM_INFO_1* {.final, pure.} = object 
  Flags*: DWORD
  pName*: LPTSTR
  Size*: SIZEL
  ImageableArea*: RECTL
TFORMINFO1* = FORM_INFO_1
PFORMINFO1* = ptr FORM_INFO_1
FORMAT_PARAMETERS* {.final, pure.} = object 
  MediaType*: MEDIA_TYPE
  StartCylinderNumber*: DWORD
  EndCylinderNumber*: DWORD
  StartHeadNumber*: DWORD
  EndHeadNumber*: DWORD
TFORMATPARAMETERS* = FORMAT_PARAMETERS
PFORMATPARAMETERS* = ptr FORMAT_PARAMETERS
FORMATRANGE* {.final, pure.} = object 
  hdc*: HDC
  hdcTarget*: HDC
  rc*: RECT
  rcPage*: RECT
  chrg*: CHARRANGE
Tformatrange* = FORMATRANGE
Pformatrange* = ptr FORMATRANGE
GCP_RESULTS* {.final, pure.} = object 
  lStructSize*: DWORD
  lpOutString*: LPTSTR
  lpOrder*: ptr UINT
  lpDx*: ptr WINT
  lpCaretPos*: ptr WINT
  lpClass*: LPTSTR
  lpGlyphs*: ptr UINT
  nGlyphs*: UINT
  nMaxFit*: UINT
LPGCP_RESULTS* = ptr GCP_RESULTS
TGCPRESULTS* = GCP_RESULTS
PGCPRESULTS* = ptr GCP_RESULTS
GENERIC_MAPPING* {.final, pure.} = object 
  GenericRead*: ACCESS_MASK
  GenericWrite*: ACCESS_MASK
  GenericExecute*: ACCESS_MASK
  GenericAll*: ACCESS_MASK
PGENERIC_MAPPING* = ptr GENERIC_MAPPING
TGENERICMAPPING* = GENERIC_MAPPING
GLYPHMETRICS* {.final, pure.} = object 
  gmBlackBoxX*: UINT
  gmBlackBoxY*: UINT
  gmptGlyphOrigin*: POINT
  gmCellIncX*: SHORT
  gmCellIncY*: SHORT
LPGLYPHMETRICS* = ptr GLYPHMETRICS
TGLYPHMETRICS* = GLYPHMETRICS
PGLYPHMETRICS* = ptr GLYPHMETRICS
HANDLETABLE* {.final, pure.} = object 
  objectHandle*: array[0 .. 0, HGDIOBJ]
THANDLETABLE* = HANDLETABLE
LPHANDLETABLE* = ptr HANDLETABLE
HD_HITTESTINFO* {.final, pure.} = object 
  pt*: POINT
  flags*: UINT
  iItem*: int32
THDHITTESTINFO* = HD_HITTESTINFO
PHDHITTESTINFO* = ptr HD_HITTESTINFO
HD_ITEM* {.final, pure.} = object 
  mask*: UINT
  cxy*: int32
  pszText*: LPTSTR
  hbm*: HBITMAP
  cchTextMax*: int32
  fmt*: int32
  lParam*: LPARAM
THDITEM* = HD_ITEM
PHDITEM* = ptr HD_ITEM
WINDOWPOS* {.final, pure.} = object 
  hwnd*: HWND
  hwndInsertAfter*: HWND
  x*: int32
  y*: int32
  cx*: int32
  cy*: int32
  flags*: UINT
LPWINDOWPOS* = ptr WINDOWPOS
TWINDOWPOS* = WINDOWPOS
PWINDOWPOS* = ptr WINDOWPOS
HD_LAYOUT* {.final, pure.} = object 
  prc*: ptr RECT
  pwpos*: ptr WINDOWPOS
THDLAYOUT* = HD_LAYOUT
PHDLAYOUT* = ptr HD_LAYOUT
HD_NOTIFY* {.final, pure.} = object 
  hdr*: NMHDR
  iItem*: int32
  iButton*: int32
  pitem*: ptr HD_ITEM
THDNOTIFY* = HD_NOTIFY
PHDNOTIFY* = ptr HD_NOTIFY
HELPINFO* {.final, pure.} = object 
  cbSize*: UINT
  iContextType*: int32
  iCtrlId*: int32
  hItemHandle*: HANDLE
  dwContextId*: DWORD
  MousePos*: POINT
LPHELPINFO* = ptr HELPINFO
THELPINFO* = HELPINFO
PHELPINFO* = ptr HELPINFO
HELPWININFO* {.final, pure.} = object 
  wStructSize*: int32
  x*: int32
  y*: int32
  dx*: int32
  dy*: int32
  wMax*: int32
  rgchMember*: array[0 .. 1, TCHAR]
THELPWININFO* = HELPWININFO
PHELPWININFO* = ptr HELPWININFO
HIGHCONTRAST* {.final, pure.} = object 
  cbSize*: UINT
  dwFlags*: DWORD
  lpszDefaultScheme*: LPTSTR
LPHIGHCONTRAST* = ptr HIGHCONTRAST
THIGHCONTRAST* = HIGHCONTRAST
PHIGHCONTRAST* = ptr HIGHCONTRAST
HSZPAIR* {.final, pure.} = object 
  hszSvc*: HSZ
  hszTopic*: HSZ
THSZPAIR* = HSZPAIR
PHSZPAIR* = ptr HSZPAIR
ICONINFO* {.final, pure.} = object 
  fIcon*: WINBOOL
  xHotspot*: DWORD
  yHotspot*: DWORD
  hbmMask*: HBITMAP
  hbmColor*: HBITMAP
TICONINFO* = ICONINFO
PICONINFO* = ptr ICONINFO
ICONMETRICS* {.final, pure.} = object 
  cbSize*: UINT
  iHorzSpacing*: int32
  iVertSpacing*: int32
  iTitleWrap*: int32
  lfFont*: LOGFONT
LPICONMETRICS* = ptr ICONMETRICS
TICONMETRICS* = ICONMETRICS
PICONMETRICS* = ptr ICONMETRICS
IMAGEINFO* {.final, pure.} = object 
  hbmImage*: HBITMAP
  hbmMask*: HBITMAP
  Unused1*: int32
  Unused2*: int32
  rcImage*: RECT
TIMAGEINFO* = IMAGEINFO
PIMAGEINFO* = ptr IMAGEINFO
KEY_EVENT_RECORD* {.final, pure.} = object 
  bKeyDown*: WINBOOL
  wRepeatCount*: int16
  wVirtualKeyCode*: int16
  wVirtualScanCode*: int16
  UnicodeChar*: WCHAR
  dwControlKeyState*: DWORD
TKEYEVENTRECORD* = KEY_EVENT_RECORD
PKEYEVENTRECORD* = ptr KEY_EVENT_RECORD
MOUSE_EVENT_RECORD* {.final, pure.} = object 
  dwMousePosition*: COORD
  dwButtonState*: DWORD
  dwControlKeyState*: DWORD
  dwEventFlags*: DWORD
TMOUSEEVENTRECORD* = MOUSE_EVENT_RECORD
PMOUSEEVENTRECORD* = ptr MOUSE_EVENT_RECORD
WINDOW_BUFFER_SIZE_RECORD* {.final, pure.} = object 
  dwSize*: COORD
TWINDOWBUFFERSIZERECORD* = WINDOW_BUFFER_SIZE_RECORD
PWINDOWBUFFERSIZERECORD* = ptr WINDOW_BUFFER_SIZE_RECORD
MENU_EVENT_RECORD* {.final, pure.} = object 
  dwCommandId*: UINT
PMENU_EVENT_RECORD* = ptr MENU_EVENT_RECORD
TMENUEVENTRECORD* = MENU_EVENT_RECORD
INPUT_RECORD* {.final, pure.} = object 
  EventType*: int16
  Reserved*: int16
  event*: array[0 .. 5, DWORD]
PINPUT_RECORD* = ptr INPUT_RECORD
TINPUTRECORD* = INPUT_RECORD
SYSTEMTIME* {.final, pure.} = object 
  wYear*: int16
  wMonth*: int16
  wDayOfWeek*: int16
  wDay*: int16
  wHour*: int16
  wMinute*: int16
  wSecond*: int16
  wMilliseconds*: int16
LPSYSTEMTIME* = ptr SYSTEMTIME
TSYSTEMTIME* = SYSTEMTIME
PSYSTEMTIME* = ptr SYSTEMTIME
JOB_INFO_1* {.final, pure.} = object 
  JobId*: DWORD
  pPrinterName*: LPTSTR
  pMachineName*: LPTSTR
  pUserName*: LPTSTR
  pDocument*: LPTSTR
  pDatatype*: LPTSTR
  pStatus*: LPTSTR
  Status*: DWORD
  Priority*: DWORD
  Position*: DWORD
  TotalPages*: DWORD
  PagesPrinted*: DWORD
  Submitted*: SYSTEMTIME
TJOBINFO1* = JOB_INFO_1
PJOBINFO1* = ptr JOB_INFO_1
SID_IDENTIFIER_AUTHORITY* {.final, pure.} = object 
  Value*: array[0 .. 5, int8]
LPSID_IDENTIFIER_AUTHORITY* = ptr SID_IDENTIFIER_AUTHORITY
PSID_IDENTIFIER_AUTHORITY* = ptr SID_IDENTIFIER_AUTHORITY
TSIDIDENTIFIERAUTHORITY* = SID_IDENTIFIER_AUTHORITY
SID* {.final, pure.} = object 
  Revision*: int8
  SubAuthorityCount*: int8
  IdentifierAuthority*: SID_IDENTIFIER_AUTHORITY
  SubAuthority*: array[0 .. (ANYSIZE_ARRAY) - 1, DWORD]
TSID* = SID
PSID* = ptr SID
SECURITY_DESCRIPTOR_CONTROL* = int16
PSECURITY_DESCRIPTOR_CONTROL* = ptr SECURITY_DESCRIPTOR_CONTROL
TSECURITYDESCRIPTORCONTROL* = SECURITY_DESCRIPTOR_CONTROL
SECURITY_DESCRIPTOR* {.final, pure.} = object 
  Revision*: int8
  Sbz1*: int8
  Control*: SECURITY_DESCRIPTOR_CONTROL
  Owner*: PSID
  Group*: PSID
  Sacl*: PACL
  Dacl*: PACL
PSECURITY_DESCRIPTOR* = ptr SECURITY_DESCRIPTOR
TSECURITYDESCRIPTOR* = SECURITY_DESCRIPTOR
JOB_INFO_2* {.final, pure.} = object 
  JobId*: DWORD
  pPrinterName*: LPTSTR
  pMachineName*: LPTSTR
  pUserName*: LPTSTR
  pDocument*: LPTSTR
  pNotifyName*: LPTSTR
  pDatatype*: LPTSTR
  pPrintProcessor*: LPTSTR
  pParameters*: LPTSTR
  pDriverName*: LPTSTR
  pDevMode*: LPDEVMODE
  pStatus*: LPTSTR
  pSecurityDescriptor*: PSECURITY_DESCRIPTOR
  Status*: DWORD
  Priority*: DWORD
  Position*: DWORD
  StartTime*: DWORD
  UntilTime*: DWORD
  TotalPages*: DWORD
  Size*: DWORD
  Submitted*: SYSTEMTIME
  Time*: DWORD
  PagesPrinted*: DWORD
TJOBINFO2* = JOB_INFO_2
PJOBINFO2* = ptr JOB_INFO_2
KERNINGPAIR* {.final, pure.} = object 
  wFirst*: int16
  wSecond*: int16
  iKernAmount*: int32
LPKERNINGPAIR* = ptr KERNINGPAIR
TKERNINGPAIR* = KERNINGPAIR
PKERNINGPAIR* = ptr KERNINGPAIR
LANA_ENUM* {.final, pure.} = object 
  len*: UCHAR
  lana*: array[0 .. (MAX_LANA) - 1, UCHAR]
TLANAENUM* = LANA_ENUM
PLANAENUM* = ptr LANA_ENUM
LDT_ENTRY* {.final, pure.} = object 
  LimitLow*: int16
  BaseLow*: int16
  BaseMid*: int8
  Flags1*: int8
  Flags2*: int8
  BaseHi*: int8
LPLDT_ENTRY* = ptr LDT_ENTRY
PLDT_ENTRY* = ptr LDT_ENTRY
TLDTENTRY* = LDT_ENTRY
LOCALESIGNATURE* {.final, pure.} = object 
  lsUsb*: array[0 .. 3, DWORD]
  lsCsbDefault*: array[0 .. 1, DWORD]
  lsCsbSupported*: array[0 .. 1, DWORD]
TLOCALESIGNATURE* = LOCALESIGNATURE
PLOCALESIGNATURE* = ptr LOCALESIGNATURE
LOCALGROUP_MEMBERS_INFO_0* {.final, pure.} = object 
  lgrmi0_sid*: PSID
TLOCALGROUPMEMBERSINFO0* = LOCALGROUP_MEMBERS_INFO_0
PLOCALGROUPMEMBERSINFO0* = ptr LOCALGROUP_MEMBERS_INFO_0
LOCALGROUP_MEMBERS_INFO_3* {.final, pure.} = object 
  lgrmi3_domainandname*: LPWSTR
TLOCALGROUPMEMBERSINFO3* = LOCALGROUP_MEMBERS_INFO_3
PLOCALGROUPMEMBERSINFO3* = ptr LOCALGROUP_MEMBERS_INFO_3
FXPT16DOT16* = int32
LPFXPT16DOT16* = ptr FXPT16DOT16
TFXPT16DOT16* = FXPT16DOT16
PFXPT16DOT16* = ptr FXPT16DOT16
LUID* = TlargeInteger
TLUID* = LUID
PLUID* = ptr LUID
LUID_AND_ATTRIBUTES* {.final, pure.} = object 
  Luid*: LUID
  Attributes*: DWORD
TLUIDANDATTRIBUTES* = LUID_AND_ATTRIBUTES
PLUIDANDATTRIBUTES* = ptr LUID_AND_ATTRIBUTES
LUID_AND_ATTRIBUTES_ARRAY* = array[0 .. (ANYSIZE_ARRAY) - 1, LUID_AND_ATTRIBUTES]
PLUID_AND_ATTRIBUTES_ARRAY* = ptr LUID_AND_ATTRIBUTES_ARRAY
TLUIDANDATTRIBUTESARRAY* = LUID_AND_ATTRIBUTES_ARRAY
LV_COLUMN* {.final, pure.} = object 
  mask*: UINT
  fmt*: int32
  cx*: int32
  pszText*: LPTSTR
  cchTextMax*: int32
  iSubItem*: int32
TLVCOLUMN* = LV_COLUMN
PLVCOLUMN* = ptr LV_COLUMN
LV_ITEM* {.final, pure.} = object 
  mask*: UINT
  iItem*: int32
  iSubItem*: int32
  state*: UINT
  stateMask*: UINT
  pszText*: LPTSTR
  cchTextMax*: int32
  iImage*: int32
  lParam*: LPARAM
TLVITEM* = LV_ITEM
PLVITEM* = ptr LV_ITEM
LV_DISPINFO* {.final, pure.} = object 
  hdr*: NMHDR
  item*: LV_ITEM
TLVDISPINFO* = LV_DISPINFO
PLVDISPINFO* = ptr LV_DISPINFO
LV_FINDINFO* {.final, pure.} = object 
  flags*: UINT
  psz*: LPCTSTR
  lParam*: LPARAM
  pt*: POINT
  vkDirection*: UINT
TLVFINDINFO* = LV_FINDINFO
PLVFINDINFO* = ptr LV_FINDINFO
LV_HITTESTINFO* {.final, pure.} = object 
  pt*: POINT
  flags*: UINT
  iItem*: int32
TLVHITTESTINFO* = LV_HITTESTINFO
PLVHITTESTINFO* = ptr LV_HITTESTINFO
LV_KEYDOWN* {.final, pure.} = object 
  hdr*: NMHDR
  wVKey*: int16
  flags*: UINT
TLVKEYDOWN* = LV_KEYDOWN
PLVKEYDOWN* = ptr LV_KEYDOWN
MAT2* {.final, pure.} = object 
  eM11*: FIXED
  eM12*: FIXED
  eM21*: FIXED
  eM22*: FIXED
TMAT2* = MAT2
PMAT2* = ptr MAT2
MDICREATESTRUCT* {.final, pure.} = object 
  szClass*: LPCTSTR
  szTitle*: LPCTSTR
  hOwner*: HANDLE
  x*: int32
  y*: int32
  cx*: int32
  cy*: int32
  style*: DWORD
  lParam*: LPARAM
LPMDICREATESTRUCT* = ptr MDICREATESTRUCT
TMDICREATESTRUCT* = MDICREATESTRUCT
PMDICREATESTRUCT* = ptr MDICREATESTRUCT
MEASUREITEMSTRUCT* {.final, pure.} = object 
  CtlType*: UINT
  CtlID*: UINT
  itemID*: UINT
  itemWidth*: UINT
  itemHeight*: UINT
  itemData*: ULONG_PTR
LPMEASUREITEMSTRUCT* = ptr MEASUREITEMSTRUCT
TMEASUREITEMSTRUCT* = MEASUREITEMSTRUCT
PMEASUREITEMSTRUCT* = ptr MEASUREITEMSTRUCT
MEMORY_BASIC_INFORMATION* {.final, pure.} = object 
  BaseAddress*: PVOID
  AllocationBase*: PVOID
  AllocationProtect*: DWORD
  RegionSize*: DWORD
  State*: DWORD
  Protect*: DWORD
  `type`*: DWORD
PMEMORY_BASIC_INFORMATION* = ptr MEMORY_BASIC_INFORMATION
TMEMORYBASICINFORMATION* = MEMORY_BASIC_INFORMATION
MEMORYSTATUS* {.final, pure.} = object 
  dwLength*: DWORD
  dwMemoryLoad*: DWORD
  dwTotalPhys*: int
  dwAvailPhys*: int
  dwTotalPageFile*: int
  dwAvailPageFile*: int
  dwTotalVirtual*: int
  dwAvailVirtual*: int
TGUID* {.final, pure.} = object 
  D1*: int32
  D2*: int16
  D3*: int16
  D4*: array[0 .. 7, int8]
LPMEMORYSTATUS* = ptr MEMORYSTATUS
TMEMORYSTATUS* = MEMORYSTATUS
PMEMORYSTATUS* = ptr MEMORYSTATUS
MENUEX_TEMPLATE_HEADER* {.final, pure.} = object 
  wVersion*: int16
  wOffset*: int16
  dwHelpId*: DWORD
TMENUXTEMPLATEHEADER* = MENUEX_TEMPLATE_HEADER
PMENUXTEMPLATEHEADER* = ptr MENUEX_TEMPLATE_HEADER
MENUEX_TEMPLATE_ITEM* {.final, pure.} = object 
  dwType*: DWORD
  dwState*: DWORD
  uId*: UINT
  bResInfo*: int8
  szText*: array[0 .. 0, WCHAR]
  dwHelpId*: DWORD
TMENUEXTEMPLATEITEM* = MENUEX_TEMPLATE_ITEM
PMENUEXTEMPLATEITEM* = ptr MENUEX_TEMPLATE_ITEM
MENUINFO* {.final, pure.} = object 
  cbSize*: DWORD
  fMask*: DWORD
  dwStyle*: DWORD
  cyMax*: UINT
  hbrBack*: HBRUSH
  dwContextHelpID*: DWORD
  dwMenuData*: ULONG_PTR
LPMENUINFO* = ptr MENUINFO
LPCMENUINFO* = ptr MENUINFO
TMENUINFO* = MENUINFO
PMENUINFO* = ptr MENUINFO
MENUITEMINFO* {.final, pure.} = object 
  cbSize*: UINT
  fMask*: UINT
  fType*: UINT
  fState*: UINT
  wID*: UINT
  hSubMenu*: HMENU
  hbmpChecked*: HBITMAP
  hbmpUnchecked*: HBITMAP
  dwItemData*: ULONG_PTR
  dwTypeData*: LPTSTR
  cch*: UINT
  hbmpItem*: HBITMAP
LPMENUITEMINFO* = ptr MENUITEMINFO
LPCMENUITEMINFO* = ptr MENUITEMINFO
TMENUITEMINFO* = MENUITEMINFO
TMENUITEMINFOA* = MENUITEMINFO
PMENUITEMINFO* = ptr MENUITEMINFO
MENUITEMTEMPLATE* {.final, pure.} = object 
  mtOption*: int16
  mtID*: int16
  mtString*: array[0 .. 0, WCHAR]
TMENUITEMTEMPLATE* = MENUITEMTEMPLATE
PMENUITEMTEMPLATE* = ptr MENUITEMTEMPLATE
MENUITEMTEMPLATEHEADER* {.final, pure.} = object 
  versionNumber*: int16
  offset*: int16
TMENUITEMTEMPLATEHEADER* = MENUITEMTEMPLATEHEADER
PMENUITEMTEMPLATEHEADER* = ptr MENUITEMTEMPLATEHEADER
MENUTEMPLATE* {.final, pure.} = object 
LPMENUTEMPLATE* = ptr MENUTEMPLATE
TMENUTEMPLATE* = MENUTEMPLATE
PMENUTEMPLATE* = ptr MENUTEMPLATE
METAFILEPICT* {.final, pure.} = object 
  mm*: LONG
  xExt*: LONG
  yExt*: LONG
  hMF*: HMETAFILE
LPMETAFILEPICT* = ptr METAFILEPICT
TMETAFILEPICT* = METAFILEPICT
PMETAFILEPICT* = ptr METAFILEPICT
METAHEADER* {.final, pure.} = object 
  mtType*: int16
  mtHeaderSize*: int16
  mtVersion*: int16
  mtSize*: DWORD
  mtNoObjects*: int16
  mtMaxRecord*: DWORD
  mtNoParameters*: int16
TMETAHEADER* = METAHEADER
PMETAHEADER* = ptr METAHEADER
METARECORD* {.final, pure.} = object 
  rdSize*: DWORD
  rdFunction*: int16
  rdParm*: array[0 .. 0, int16]
LPMETARECORD* = ptr METARECORD
TMETARECORD* = METARECORD
PMETARECORD* = ptr METARECORD
MINIMIZEDMETRICS* {.final, pure.} = object 
  cbSize*: UINT
  iWidth*: int32
  iHorzGap*: int32
  iVertGap*: int32
  iArrange*: int32
LPMINIMIZEDMETRICS* = ptr MINIMIZEDMETRICS
TMINIMIZEDMETRICS* = MINIMIZEDMETRICS
PMINIMIZEDMETRICS* = ptr MINIMIZEDMETRICS
MINMAXINFO* {.final, pure.} = object 
  ptReserved*: POINT
  ptMaxSize*: POINT
  ptMaxPosition*: POINT
  ptMinTrackSize*: POINT
  ptMaxTrackSize*: POINT
TMINMAXINFO* = MINMAXINFO
PMINMAXINFO* = ptr MINMAXINFO
MODEMDEVCAPS* {.final, pure.} = object 
  dwActualSize*: DWORD
  dwRequiredSize*: DWORD
  dwDevSpecificOffset*: DWORD
  dwDevSpecificSize*: DWORD
  dwModemProviderVersion*: DWORD
  dwModemManufacturerOffset*: DWORD
  dwModemManufacturerSize*: DWORD
  dwModemModelOffset*: DWORD
  dwModemModelSize*: DWORD
  dwModemVersionOffset*: DWORD
  dwModemVersionSize*: DWORD
  dwDialOptions*: DWORD
  dwCallSetupFailTimer*: DWORD
  dwInactivityTimeout*: DWORD
  dwSpeakerVolume*: DWORD
  dwSpeakerMode*: DWORD
  dwModemOptions*: DWORD
  dwMaxDTERate*: DWORD
  dwMaxDCERate*: DWORD
  abVariablePortion*: array[0 .. 0, int8]
LPMODEMDEVCAPS* = ptr MODEMDEVCAPS
TMODEMDEVCAPS* = MODEMDEVCAPS
PMODEMDEVCAPS* = ptr MODEMDEVCAPS
MODEMSETTINGS* {.final, pure.} = object 
  dwActualSize*: DWORD
  dwRequiredSize*: DWORD
  dwDevSpecificOffset*: DWORD
  dwDevSpecificSize*: DWORD
  dwCallSetupFailTimer*: DWORD
  dwInactivityTimeout*: DWORD
  dwSpeakerVolume*: DWORD
  dwSpeakerMode*: DWORD
  dwPreferredModemOptions*: DWORD
  dwNegotiatedModemOptions*: DWORD
  dwNegotiatedDCERate*: DWORD
  abVariablePortion*: array[0 .. 0, int8]
LPMODEMSETTINGS* = ptr MODEMSETTINGS
TMODEMSETTINGS* = MODEMSETTINGS
PMODEMSETTINGS* = ptr MODEMSETTINGS
MONCBSTRUCT* {.final, pure.} = object 
  cb*: UINT
  dwTime*: DWORD
  hTask*: HANDLE
  dwRet*: DWORD
  wType*: UINT
  wFmt*: UINT
  hConv*: HCONV
  hsz1*: HSZ
  hsz2*: HSZ
  hData*: HDDEDATA
  dwData1*: DWORD
  dwData2*: DWORD
  cc*: CONVCONTEXT
  cbData*: DWORD
  Data*: array[0 .. 7, DWORD]
TMONCBSTRUCT* = MONCBSTRUCT
PMONCBSTRUCT* = ptr MONCBSTRUCT
MONCONVSTRUCT* {.final, pure.} = object 
  cb*: UINT
  fConnect*: WINBOOL
  dwTime*: DWORD
  hTask*: HANDLE
  hszSvc*: HSZ
  hszTopic*: HSZ
  hConvClient*: HCONV
  hConvServer*: HCONV
TMONCONVSTRUCT* = MONCONVSTRUCT
PMONCONVSTRUCT* = ptr MONCONVSTRUCT
MONERRSTRUCT* {.final, pure.} = object 
  cb*: UINT
  wLastError*: UINT
  dwTime*: DWORD
  hTask*: HANDLE
TMONERRSTRUCT* = MONERRSTRUCT
PMONERRSTRUCT* = ptr MONERRSTRUCT
MONHSZSTRUCT* {.final, pure.} = object 
  cb*: UINT
  fsAction*: WINBOOL
  dwTime*: DWORD
  hsz*: HSZ
  hTask*: HANDLE
  str*: array[0 .. 0, TCHAR]
TMONHSZSTRUCT* = MONHSZSTRUCT
PMONHSZSTRUCT* = ptr MONHSZSTRUCT
MONITOR_INFO_1* {.final, pure.} = object 
  pName*: LPTSTR
TMONITORINFO1* = MONITOR_INFO_1
PMONITORINFO1* = ptr MONITOR_INFO_1
MONITOR_INFO_2* {.final, pure.} = object 
  pName*: LPTSTR
  pEnvironment*: LPTSTR
  pDLLName*: LPTSTR
TMONITORINFO2* = MONITOR_INFO_2
PMONITORINFO2* = ptr MONITOR_INFO_2
MONLINKSTRUCT* {.final, pure.} = object 
  cb*: UINT
  dwTime*: DWORD
  hTask*: HANDLE
  fEstablished*: WINBOOL
  fNoData*: WINBOOL
  hszSvc*: HSZ
  hszTopic*: HSZ
  hszItem*: HSZ
  wFmt*: UINT
  fServer*: WINBOOL
  hConvServer*: HCONV
  hConvClient*: HCONV
TMONLINKSTRUCT* = MONLINKSTRUCT
PMONLINKSTRUCT* = ptr MONLINKSTRUCT
MONMSGSTRUCT* {.final, pure.} = object 
  cb*: UINT
  hwndTo*: HWND
  dwTime*: DWORD
  hTask*: HANDLE
  wMsg*: UINT
  wParam*: WPARAM
  lParam*: LPARAM
  dmhd*: DDEML_MSG_HOOK_DATA
TMONMSGSTRUCT* = MONMSGSTRUCT
PMONMSGSTRUCT* = ptr MONMSGSTRUCT
MOUSEHOOKSTRUCT* {.final, pure.} = object 
  pt*: POINT
  hwnd*: HWND
  wHitTestCode*: UINT
  dwExtraInfo*: DWORD
LPMOUSEHOOKSTRUCT* = ptr MOUSEHOOKSTRUCT
TMOUSEHOOKSTRUCT* = MOUSEHOOKSTRUCT
PMOUSEHOOKSTRUCT* = ptr MOUSEHOOKSTRUCT
MOUSEKEYS* {.final, pure.} = object 
  cbSize*: DWORD
  dwFlags*: DWORD
  iMaxSpeed*: DWORD
  iTimeToMaxSpeed*: DWORD
  iCtrlSpeed*: DWORD
  dwReserved1*: DWORD
  dwReserved2*: DWORD
TMOUSEKEYS* = MOUSEKEYS
PMOUSEKEYS* = ptr MOUSEKEYS
MSGBOXCALLBACK* = proc (lpHelpInfo: LPHELPINFO) {.stdcall.}
TMSGBOXCALLBACK* = MSGBOXCALLBACK
MSGBOXPARAMS* {.final, pure.} = object 
  cbSize*: UINT
  hwndOwner*: HWND
  hInstance*: HINST
  lpszText*: LPCSTR
  lpszCaption*: LPCSTR
  dwStyle*: DWORD
  lpszIcon*: LPCSTR
  dwContextHelpId*: DWORD
  lpfnMsgBoxCallback*: MSGBOXCALLBACK
  dwLanguageId*: DWORD
LPMSGBOXPARAMS* = ptr MSGBOXPARAMS
TMSGBOXPARAMS* = MSGBOXPARAMS
TMSGBOXPARAMSA* = MSGBOXPARAMS
PMSGBOXPARAMS* = ptr MSGBOXPARAMS
MSGFILTER* {.final, pure.} = object 
  nmhdr*: NMHDR
  msg*: UINT
  wParam*: WPARAM
  lParam*: LPARAM
Tmsgfilter* = MSGFILTER
Pmsgfilter* = ptr MSGFILTER
MULTIKEYHELP* {.final, pure.} = object 
  mkSize*: DWORD
  mkKeylist*: TCHAR
  szKeyphrase*: array[0 .. 0, TCHAR]
TMULTIKEYHELP* = MULTIKEYHELP
PMULTIKEYHELP* = ptr MULTIKEYHELP
NAME_BUFFER* {.final, pure.} = object 
  name*: array[0 .. (NCBNAMSZ) - 1, UCHAR]
  name_num*: UCHAR
  name_flags*: UCHAR
TNAMEBUFFER* = NAME_BUFFER
PNAMEBUFFER* = ptr NAME_BUFFER
p_NCB* = ptr NCB
NCB* {.final, pure.} = object 
  ncb_command*: UCHAR
  ncb_retcode*: UCHAR
  ncb_lsn*: UCHAR
  ncb_num*: UCHAR
  ncb_buffer*: PUCHAR
  ncb_length*: int16
  ncb_callname*: array[0 .. (NCBNAMSZ) - 1, UCHAR]
  ncb_name*: array[0 .. (NCBNAMSZ) - 1, UCHAR]
  ncb_rto*: UCHAR
  ncb_sto*: UCHAR
  ncb_post*: proc (para1: p_NCB) {.CDECL.}
  ncb_lana_num*: UCHAR
  ncb_cmd_cplt*: UCHAR
  ncb_reserve*: array[0 .. 9, UCHAR]
  ncb_event*: HANDLE
TNCB* = NCB
NCCALCSIZE_PARAMS* {.final, pure.} = object 
  rgrc*: array[0 .. 2, RECT]
  lppos*: PWINDOWPOS
TNCCALCSIZEPARAMS* = NCCALCSIZE_PARAMS
PNCCALCSIZEPARAMS* = ptr NCCALCSIZE_PARAMS
NDDESHAREINFO* {.final, pure.} = object 
  lRevision*: LONG
  lpszShareName*: LPTSTR
  lShareType*: LONG
  lpszAppTopicList*: LPTSTR
  fSharedFlag*: LONG
  fService*: LONG
  fStartAppFlag*: LONG
  nCmdShow*: LONG
  qModifyId*: array[0 .. 1, LONG]
  cNumItems*: LONG
  lpszItemList*: LPTSTR
TNDDESHAREINFO* = NDDESHAREINFO
PNDDESHAREINFO* = ptr NDDESHAREINFO
NETRESOURCE* {.final, pure.} = object 
  dwScope*: DWORD
  dwType*: DWORD
  dwDisplayType*: DWORD
  dwUsage*: DWORD
  lpLocalName*: LPTSTR
  lpRemoteName*: LPTSTR
  lpComment*: LPTSTR
  lpProvider*: LPTSTR
LPNETRESOURCE* = ptr NETRESOURCE
TNETRESOURCE* = NETRESOURCE
TNETRESOURCEA* = NETRESOURCE
PNETRESOURCE* = ptr NETRESOURCE
PNETRESOURCEA* = ptr NETRESOURCE
NEWCPLINFO* {.final, pure.} = object 
  dwSize*: DWORD
  dwFlags*: DWORD
  dwHelpContext*: DWORD
  lData*: LONG
  hIcon*: HICON
  szName*: array[0 .. 31, TCHAR]
  szInfo*: array[0 .. 63, TCHAR]
  szHelpFile*: array[0 .. 127, TCHAR]
TNEWCPLINFO* = NEWCPLINFO
PNEWCPLINFO* = ptr NEWCPLINFO
NEWTEXTMETRIC* {.final, pure.} = object 
  tmHeight*: LONG
  tmAscent*: LONG
  tmDescent*: LONG
  tmInternalLeading*: LONG
  tmExternalLeading*: LONG
  tmAveCharWidth*: LONG
  tmMaxCharWidth*: LONG
  tmWeight*: LONG
  tmOverhang*: LONG
  tmDigitizedAspectX*: LONG
  tmDigitizedAspectY*: LONG
  tmFirstChar*: BCHAR
  tmLastChar*: BCHAR
  tmDefaultChar*: BCHAR
  tmBreakChar*: BCHAR
  tmItalic*: int8
  tmUnderlined*: int8
  tmStruckOut*: int8
  tmPitchAndFamily*: int8
  tmCharSet*: int8
  ntmFlags*: DWORD
  ntmSizeEM*: UINT
  ntmCellHeight*: UINT
  ntmAvgWidth*: UINT
TNEWTEXTMETRIC* = NEWTEXTMETRIC
PNEWTEXTMETRIC* = ptr NEWTEXTMETRIC
NEWTEXTMETRICEX* {.final, pure.} = object 
  ntmentm*: NEWTEXTMETRIC
  ntmeFontSignature*: FONTSIGNATURE
TNEWTEXTMETRICEX* = NEWTEXTMETRICEX
PNEWTEXTMETRICEX* = ptr NEWTEXTMETRICEX
NM_LISTVIEW* {.final, pure.} = object 
  hdr*: NMHDR
  iItem*: int32
  iSubItem*: int32
  uNewState*: UINT
  uOldState*: UINT
  uChanged*: UINT
  ptAction*: POINT
  lParam*: LPARAM
TNMLISTVIEW* = NM_LISTVIEW
PNMLISTVIEW* = ptr NM_LISTVIEW
TV_ITEM* {.final, pure.} = object 
  mask*: UINT
  hItem*: HTREEITEM
  state*: UINT
  stateMask*: UINT
  pszText*: LPTSTR
  cchTextMax*: int32
  iImage*: int32
  iSelectedImage*: int32
  cChildren*: int32
  lParam*: LPARAM
LPTV_ITEM* = ptr TV_ITEM
TTVITEM* = TV_ITEM
PTVITEM* = ptr TV_ITEM
NM_TREEVIEW* {.final, pure.} = object 
  hdr*: NMHDR
  action*: UINT
  itemOld*: TV_ITEM
  itemNew*: TV_ITEM
  ptDrag*: POINT
LPNM_TREEVIEW* = ptr NM_TREEVIEW
TNMTREEVIEW* = NM_TREEVIEW
PNMTREEVIEW* = ptr NM_TREEVIEW
NM_UPDOWNW* {.final, pure.} = object 
  hdr*: NMHDR
  iPos*: int32
  iDelta*: int32
TNMUPDOWN* = NM_UPDOWNW
PNMUPDOWN* = ptr NM_UPDOWNW
NONCLIENTMETRICS* {.final, pure.} = object 
  cbSize*: UINT
  iBorderWidth*: int32
  iScrollWidth*: int32
  iScrollHeight*: int32
  iCaptionWidth*: int32
  iCaptionHeight*: int32
  lfCaptionFont*: LOGFONT
  iSmCaptionWidth*: int32
  iSmCaptionHeight*: int32
  lfSmCaptionFont*: LOGFONT
  iMenuWidth*: int32
  iMenuHeight*: int32
  lfMenuFont*: LOGFONT
  lfStatusFont*: LOGFONT
  lfMessageFont*: LOGFONT
LPNONCLIENTMETRICS* = ptr NONCLIENTMETRICS
TNONCLIENTMETRICS* = NONCLIENTMETRICS
PNONCLIENTMETRICS* = ptr NONCLIENTMETRICS
SERVICE_ADDRESS* {.final, pure.} = object 
  dwAddressType*: DWORD
  dwAddressFlags*: DWORD
  dwAddressLength*: DWORD
  dwPrincipalLength*: DWORD
  lpAddress*: ptr int8
  lpPrincipal*: ptr int8
TSERVICEADDRESS* = SERVICE_ADDRESS
PSERVICEADDRESS* = ptr SERVICE_ADDRESS
SERVICE_ADDRESSES* {.final, pure.} = object 
  dwAddressCount*: DWORD
  Addresses*: array[0 .. 0, SERVICE_ADDRESS]
LPSERVICE_ADDRESSES* = ptr SERVICE_ADDRESSES
TSERVICEADDRESSES* = SERVICE_ADDRESSES
PSERVICEADDRESSES* = ptr SERVICE_ADDRESSES
LPGUID* = ptr TGUID
PGUID* = ptr TGUID
CLSID* = TGUID
LPCLSID* = ptr CLSID
TCLSID* = CLSID
PCLSID* = ptr CLSID
SERVICE_INFO* {.final, pure.} = object 
  lpServiceType*: LPGUID
  lpServiceName*: LPTSTR
  lpComment*: LPTSTR
  lpLocale*: LPTSTR
  dwDisplayHint*: DWORD
  dwVersion*: DWORD
  dwTime*: DWORD
  lpMachineName*: LPTSTR
  lpServiceAddress*: LPSERVICE_ADDRESSES
  ServiceSpecificInfo*: BLOB
TSERVICEINFO* = SERVICE_INFO
PSERVICEINFO* = ptr SERVICE_INFO
NS_SERVICE_INFO* {.final, pure.} = object 
  dwNameSpace*: DWORD
  ServiceInfo*: SERVICE_INFO
TNSSERVICEINFO* = NS_SERVICE_INFO
PNSSERVICEINFO* = ptr NS_SERVICE_INFO
NUMBERFMT* {.final, pure.} = object 
  NumDigits*: UINT
  LeadingZero*: UINT
  Grouping*: UINT
  lpDecimalSep*: LPTSTR
  lpThousandSep*: LPTSTR
  NegativeOrder*: UINT
Tnumberfmt* = NUMBERFMT
Pnumberfmt* = ptr NUMBERFMT
OFSTRUCT* {.final, pure.} = object 
  cBytes*: int8
  fFixedDisk*: int8
  nErrCode*: int16
  Reserved1*: int16
  Reserved2*: int16
  szPathName*: array[0 .. (OFS_MAXPATHNAME) - 1, CHAR]
LPOFSTRUCT* = ptr OFSTRUCT
TOFSTRUCT* = OFSTRUCT
POFSTRUCT* = ptr OFSTRUCT
OPENFILENAME_NT4* {.final, pure.} = object 
  lStructSize*: DWORD
  hwndOwner*: HWND
  hInstance*: HINST
  lpstrFilter*: LPCTSTR
  lpstrCustomFilter*: LPTSTR
  nMaxCustFilter*: DWORD
  nFilterIndex*: DWORD
  lpstrFile*: LPTSTR
  nMaxFile*: DWORD
  lpstrFileTitle*: LPTSTR
  nMaxFileTitle*: DWORD
  lpstrInitialDir*: LPCTSTR
  lpstrTitle*: LPCTSTR
  Flags*: DWORD
  nFileOffset*: int16
  nFileExtension*: int16
  lpstrDefExt*: LPCTSTR
  lCustData*: LPARAM
  lpfnHook*: LPOFNHOOKPROC
  lpTemplateName*: LPCTSTR
LPOPENFILENAME_NT4* = ptr OPENFILENAME_NT4
TOPENFILENAME_NT4* = OPENFILENAME_NT4
POPENFILENAME_NT4* = ptr OPENFILENAME_NT4
TOPENFILENAME* {.final, pure.} = object 
  lStructSize*: DWORD
  hwndOwner*: HWND
  hInstance*: HINST
  lpstrFilter*: LPCTSTR
  lpstrCustomFilter*: LPTSTR
  nMaxCustFilter*: DWORD
  nFilterIndex*: DWORD
  lpstrFile*: LPTSTR
  nMaxFile*: DWORD
  lpstrFileTitle*: LPTSTR
  nMaxFileTitle*: DWORD
  lpstrInitialDir*: LPCTSTR
  lpstrTitle*: LPCTSTR
  Flags*: DWORD
  nFileOffset*: int16
  nFileExtension*: int16
  lpstrDefExt*: LPCTSTR
  lCustData*: LPARAM
  lpfnHook*: LPOFNHOOKPROC
  lpTemplateName*: LPCTSTR
  pvReserved*: pointer
  dwreserved*: dword
  FlagsEx*: dword
LPOPENFILENAME* = ptr TOPENFILENAME
POPENFILENAME* = ptr TOPENFILENAME
OFN* = TOPENFILENAME
POFN* = ptr TOPENFILENAME
OFNOTIFY* {.final, pure.} = object 
  hdr*: NMHDR
  lpOFN*: LPOPENFILENAME
  pszFile*: LPTSTR
LPOFNOTIFY* = ptr OFNOTIFY
TOFNOTIFY* = OFNOTIFY
POFNOTIFY* = ptr OFNOTIFY
OSVERSIONINFO* {.final, pure.} = object 
  dwOSVersionInfoSize*: DWORD
  dwMajorVersion*: DWORD
  dwMinorVersion*: DWORD
  dwBuildNumber*: DWORD
  dwPlatformId*: DWORD
  szCSDVersion*: array[0 .. 127, TCHAR]
LPOSVERSIONINFO* = ptr OSVERSIONINFO
TOSVERSIONINFO* = OSVERSIONINFO
POSVERSIONINFO* = ptr OSVERSIONINFO
OSVERSIONINFOW* {.final, pure.} = object 
  dwOSVersionInfoSize*: DWORD
  dwMajorVersion*: DWORD
  dwMinorVersion*: DWORD
  dwBuildNumber*: DWORD
  dwPlatformId*: DWORD
  szCSDVersion*: array[0 .. 127, WCHAR]
LPOSVERSIONINFOW* = ptr OSVERSIONINFOW
TOSVERSIONINFOW* = OSVERSIONINFOW
POSVERSIONINFOW* = ptr OSVERSIONINFOW
TEXTMETRIC* {.final, pure.} = object 
  tmHeight*: LONG
  tmAscent*: LONG
  tmDescent*: LONG
  tmInternalLeading*: LONG
  tmExternalLeading*: LONG
  tmAveCharWidth*: LONG
  tmMaxCharWidth*: LONG
  tmWeight*: LONG
  tmOverhang*: LONG
  tmDigitizedAspectX*: LONG
  tmDigitizedAspectY*: LONG
  tmFirstChar*: BCHAR
  tmLastChar*: BCHAR
  tmDefaultChar*: BCHAR
  tmBreakChar*: BCHAR
  tmItalic*: int8
  tmUnderlined*: int8
  tmStruckOut*: int8
  tmPitchAndFamily*: int8
  tmCharSet*: int8
LPTEXTMETRIC* = ptr TEXTMETRIC
TTEXTMETRIC* = TEXTMETRIC
PTEXTMETRIC* = ptr TEXTMETRIC
TEXTMETRICW* {.final, pure.} = object 
  tmHeight*: LONG
  tmAscent*: LONG
  tmDescent*: LONG
  tmInternalLeading*: LONG
  tmExternalLeading*: LONG
  tmAveCharWidth*: LONG
  tmMaxCharWidth*: LONG
  tmWeight*: LONG
  tmOverhang*: LONG
  tmDigitizedAspectX*: LONG
  tmDigitizedAspectY*: LONG
  tmFirstChar*: WCHAR
  tmLastChar*: WCHAR
  tmDefaultChar*: WCHAR
  tmBreakChar*: WCHAR
  tmItalic*: int8
  tmUnderlined*: int8
  tmStruckOut*: int8
  tmPitchAndFamily*: int8
  tmCharSet*: int8
LPTEXTMETRICW* = ptr TEXTMETRICW
TTEXTMETRICW* = TEXTMETRICW
PTEXTMETRICW* = ptr TEXTMETRICW
OUTLINETEXTMETRIC* {.final, pure.} = object 
  otmSize*: UINT
  otmTextMetrics*: TEXTMETRIC
  otmFiller*: int8
  otmPanoseNumber*: PANOSE
  otmfsSelection*: UINT
  otmfsType*: UINT
  otmsCharSlopeRise*: int32
  otmsCharSlopeRun*: int32
  otmItalicAngle*: int32
  otmEMSquare*: UINT
  otmAscent*: int32
  otmDescent*: int32
  otmLineGap*: UINT
  otmsCapEmHeight*: UINT
  otmsXHeight*: UINT
  otmrcFontBox*: RECT
  otmMacAscent*: int32
  otmMacDescent*: int32
  otmMacLineGap*: UINT
  otmusMinimumPPEM*: UINT
  otmptSubscriptSize*: POINT
  otmptSubscriptOffset*: POINT
  otmptSuperscriptSize*: POINT
  otmptSuperscriptOffset*: POINT
  otmsStrikeoutSize*: UINT
  otmsStrikeoutPosition*: int32
  otmsUnderscoreSize*: int32
  otmsUnderscorePosition*: int32
  otmpFamilyName*: PSTR
  otmpFaceName*: PSTR
  otmpStyleName*: PSTR
  otmpFullName*: PSTR
LPOUTLINETEXTMETRIC* = ptr OUTLINETEXTMETRIC
TOUTLINETEXTMETRIC* = OUTLINETEXTMETRIC
POUTLINETEXTMETRIC* = ptr OUTLINETEXTMETRIC
OVERLAPPED* {.final, pure.} = object 
  Internal*: DWORD
  InternalHigh*: DWORD
  Offset*: DWORD
  OffsetHigh*: DWORD
  hEvent*: HANDLE
LPOVERLAPPED* = ptr OVERLAPPED
TOVERLAPPED* = OVERLAPPED
POVERLAPPED* = ptr OVERLAPPED
TPAGESETUPDLG* {.final, pure.} = object 
  lStructSize*: DWORD
  hwndOwner*: HWND
  hDevMode*: HGLOBAL
  hDevNames*: HGLOBAL
  Flags*: DWORD
  ptPaperSize*: POINT
  rtMinMargin*: RECT
  rtMargin*: RECT
  hInstance*: HINST
  lCustData*: LPARAM
  lpfnPageSetupHook*: LPPAGESETUPHOOK
  lpfnPagePaintHook*: LPPAGEPAINTHOOK
  lpPageSetupTemplateName*: LPCTSTR
  hPageSetupTemplate*: HGLOBAL
LPPAGESETUPDLG* = ptr TPAGESETUPDLG
PPAGESETUPDLG* = ptr TPAGESETUPDLG
TPSD* = TPAGESETUPDLG
PPSD* = ptr TPAGESETUPDLG
PAINTSTRUCT* {.final, pure.} = object 
  hdc*: HDC
  fErase*: WINBOOL
  rcPaint*: RECT
  fRestore*: WINBOOL
  fIncUpdate*: WINBOOL
  rgbReserved*: array[0 .. 31, int8]
LPPAINTSTRUCT* = ptr PAINTSTRUCT
TPAINTSTRUCT* = PAINTSTRUCT
PPAINTSTRUCT* = ptr PAINTSTRUCT
PARAFORMAT* {.final, pure.} = object 
  cbSize*: UINT
  dwMask*: DWORD
  wNumbering*: int16
  wReserved*: int16
  dxStartIndent*: LONG
  dxRightIndent*: LONG
  dxOffset*: LONG
  wAlignment*: int16
  cTabCount*: SHORT
  rgxTabs*: array[0 .. (MAX_TAB_STOPS) - 1, LONG]
Tparaformat* = PARAFORMAT
Pparaformat* = ptr PARAFORMAT
PERF_COUNTER_BLOCK* {.final, pure.} = object 
  ByteLength*: DWORD
TPERFCOUNTERBLOCK* = PERF_COUNTER_BLOCK
PPERFCOUNTERBLOCK* = ptr PERF_COUNTER_BLOCK
PERF_COUNTER_DEFINITION* {.final, pure.} = object 
  ByteLength*: DWORD
  CounterNameTitleIndex*: DWORD
  CounterNameTitle*: LPWSTR
  CounterHelpTitleIndex*: DWORD
  CounterHelpTitle*: LPWSTR
  DefaultScale*: DWORD
  DetailLevel*: DWORD
  CounterType*: DWORD
  CounterSize*: DWORD
  CounterOffset*: DWORD
TPERFCOUNTERDEFINITION* = PERF_COUNTER_DEFINITION
PPERFCOUNTERDEFINITION* = ptr PERF_COUNTER_DEFINITION
PERF_DATA_BLOCK* {.final, pure.} = object 
  Signature*: array[0 .. 3, WCHAR]
  LittleEndian*: DWORD
  Version*: DWORD
  Revision*: DWORD
  TotalByteLength*: DWORD
  HeaderLength*: DWORD
  NumObjectTypes*: DWORD
  DefaultObject*: DWORD
  SystemTime*: SYSTEMTIME
  PerfTime*: LARGE_INTEGER
  PerfFreq*: LARGE_INTEGER
  PerfTime100nSec*: LARGE_INTEGER
  SystemNameLength*: DWORD
  SystemNameOffset*: DWORD
TPERFDATABLOCK* = PERF_DATA_BLOCK
PPERFDATABLOCK* = ptr PERF_DATA_BLOCK
PERF_INSTANCE_DEFINITION* {.final, pure.} = object 
  ByteLength*: DWORD
  ParentObjectTitleIndex*: DWORD
  ParentObjectInstance*: DWORD
  UniqueID*: DWORD
  NameOffset*: DWORD
  NameLength*: DWORD
TPERFINSTANCEDEFINITION* = PERF_INSTANCE_DEFINITION
PPERFINSTANCEDEFINITION* = PERF_INSTANCE_DEFINITION
PERF_OBJECT_TYPE* {.final, pure.} = object 
  TotalByteLength*: DWORD
  DefinitionLength*: DWORD
  HeaderLength*: DWORD
  ObjectNameTitleIndex*: DWORD
  ObjectNameTitle*: LPWSTR
  ObjectHelpTitleIndex*: DWORD
  ObjectHelpTitle*: LPWSTR
  DetailLevel*: DWORD
  NumCounters*: DWORD
  DefaultCounter*: DWORD
  NumInstances*: DWORD
  CodePage*: DWORD
  PerfTime*: LARGE_INTEGER
  PerfFreq*: LARGE_INTEGER
TPERFOBJECTTYPE* = PERF_OBJECT_TYPE
PPERFOBJECTTYPE* = ptr PERF_OBJECT_TYPE
POLYTEXT* {.final, pure.} = object 
  x*: int32
  y*: int32
  n*: UINT
  lpstr*: LPCTSTR
  uiFlags*: UINT
  rcl*: RECT
  pdx*: ptr int32
TPOLYTEXT* = POLYTEXT
PPOLYTEXT* = ptr POLYTEXT
PORT_INFO_1* {.final, pure.} = object 
  pName*: LPTSTR
TPORTINFO1* = PORT_INFO_1
PPORTINFO1* = ptr PORT_INFO_1
PORT_INFO_2* {.final, pure.} = object 
  pPortName*: LPSTR
  pMonitorName*: LPSTR
  pDescription*: LPSTR
  fPortType*: DWORD
  Reserved*: DWORD
TPORTINFO2* = PORT_INFO_2
PPORTINFO2* = ptr PORT_INFO_2
PREVENT_MEDIA_REMOVAL* {.final, pure.} = object 
  PreventMediaRemoval*: bool
TPREVENTMEDIAREMOVAL* = PREVENT_MEDIA_REMOVAL
PPREVENTMEDIAREMOVAL* = ptr PREVENT_MEDIA_REMOVAL
TPRINTDLG* {.final, pure.} = object 
  lStructSize*: DWORD
  hwndOwner*: HWND
  hDevMode*: HANDLE
  hDevNames*: HANDLE
  hDC*: HDC
  Flags*: DWORD
  nFromPage*: int16
  nToPage*: int16
  nMinPage*: int16
  nMaxPage*: int16
  nCopies*: int16
  hInstance*: HINST
  lCustData*: DWORD
  lpfnPrintHook*: LPPRINTHOOKPROC
  lpfnSetupHook*: LPSETUPHOOKPROC
  lpPrintTemplateName*: LPCTSTR
  lpSetupTemplateName*: LPCTSTR
  hPrintTemplate*: HANDLE
  hSetupTemplate*: HANDLE
LPPRINTDLG* = ptr TPRINTDLG
PPRINTDLG* = ptr TPRINTDLG
TPD* = TPRINTDLG
PPD* = ptr TPRINTDLG
PRINTER_DEFAULTS* {.final, pure.} = object 
  pDatatype*: LPTSTR
  pDevMode*: LPDEVMODE
  DesiredAccess*: ACCESS_MASK
TPRINTERDEFAULTS* = PRINTER_DEFAULTS
PPRINTERDEFAULTS* = ptr PRINTER_DEFAULTS
PRINTER_INFO_1* {.final, pure.} = object 
  Flags*: DWORD
  pDescription*: LPTSTR
  pName*: LPTSTR
  pComment*: LPTSTR
LPPRINTER_INFO_1* = ptr PRINTER_INFO_1
PPRINTER_INFO_1* = ptr PRINTER_INFO_1
TPRINTERINFO1* = PRINTER_INFO_1
PRINTER_INFO_2* {.final, pure.} = object 
  pServerName*: LPTSTR
  pPrinterName*: LPTSTR
  pShareName*: LPTSTR
  pPortName*: LPTSTR
  pDriverName*: LPTSTR
  pComment*: LPTSTR
  pLocation*: LPTSTR
  pDevMode*: LPDEVMODE
  pSepFile*: LPTSTR
  pPrintProcessor*: LPTSTR
  pDatatype*: LPTSTR
  pParameters*: LPTSTR
  pSecurityDescriptor*: PSECURITY_DESCRIPTOR
  Attributes*: DWORD
  Priority*: DWORD
  DefaultPriority*: DWORD
  StartTime*: DWORD
  UntilTime*: DWORD
  Status*: DWORD
  cJobs*: DWORD
  AveragePPM*: DWORD
TPRINTERINFO2* = PRINTER_INFO_2
PPRINTERINFO2* = ptr PRINTER_INFO_2
PRINTER_INFO_3* {.final, pure.} = object 
  pSecurityDescriptor*: PSECURITY_DESCRIPTOR
TPRINTERINFO3* = PRINTER_INFO_3
PPRINTERINFO3* = ptr PRINTER_INFO_3
PRINTER_INFO_4* {.final, pure.} = object 
  pPrinterName*: LPTSTR
  pServerName*: LPTSTR
  Attributes*: DWORD
TPRINTERINFO4* = PRINTER_INFO_4
PPRINTERINFO4* = ptr PRINTER_INFO_4
PRINTER_INFO_5* {.final, pure.} = object 
  pPrinterName*: LPTSTR
  pPortName*: LPTSTR
  Attributes*: DWORD
  DeviceNotSelectedTimeout*: DWORD
  TransmissionRetryTimeout*: DWORD
TPRINTERINFO5* = PRINTER_INFO_5
PPRINTERINFO5* = ptr PRINTER_INFO_5
PRINTER_NOTIFY_INFO_DATA* {.final, pure.} = object 
  `type`*: int16
  Field*: int16
  Reserved*: DWORD
  Id*: DWORD
  cbBuf*: DWORD
  pBuf*: LPVOID
TPRINTERNOTIFYINFODATA* = PRINTER_NOTIFY_INFO_DATA
PPRINTERNOTIFYINFODATA* = ptr PRINTER_NOTIFY_INFO_DATA
PRINTER_NOTIFY_INFO* {.final, pure.} = object 
  Version*: DWORD
  Flags*: DWORD
  Count*: DWORD
  aData*: array[0 .. 0, PRINTER_NOTIFY_INFO_DATA]
TPRINTERNOTIFYINFO* = PRINTER_NOTIFY_INFO
PPRINTERNOTIFYINFO* = ptr PRINTER_NOTIFY_INFO
PRINTER_NOTIFY_OPTIONS_TYPE* {.final, pure.} = object 
  `type`*: int16
  Reserved0*: int16
  Reserved1*: DWORD
  Reserved2*: DWORD
  Count*: DWORD
  pFields*: PWORD
PPRINTER_NOTIFY_OPTIONS_TYPE* = ptr PRINTER_NOTIFY_OPTIONS_TYPE
TPRINTERNOTIFYOPTIONSTYPE* = PRINTER_NOTIFY_OPTIONS_TYPE
PRINTER_NOTIFY_OPTIONS* {.final, pure.} = object 
  Version*: DWORD
  Flags*: DWORD
  Count*: DWORD
  pTypes*: PPRINTER_NOTIFY_OPTIONS_TYPE
TPRINTERNOTIFYOPTIONS* = PRINTER_NOTIFY_OPTIONS
PPRINTERNOTIFYOPTIONS* = ptr PRINTER_NOTIFY_OPTIONS
PRINTPROCESSOR_INFO_1* {.final, pure.} = object 
  pName*: LPTSTR
TPRINTPROCESSORINFO1* = PRINTPROCESSOR_INFO_1
PPRINTPROCESSORINFO1* = ptr PRINTPROCESSOR_INFO_1
PRIVILEGE_SET* {.final, pure.} = object 
  PrivilegeCount*: DWORD
  Control*: DWORD
  Privilege*: array[0 .. (ANYSIZE_ARRAY) - 1, LUID_AND_ATTRIBUTES]
LPPRIVILEGE_SET* = ptr PRIVILEGE_SET
PPRIVILEGE_SET* = ptr PRIVILEGE_SET
TPRIVILEGESET* = PRIVILEGE_SET
PROCESS_HEAPENTRY* {.final, pure.} = object 
  lpData*: PVOID
  cbData*: DWORD
  cbOverhead*: int8
  iRegionIndex*: int8
  wFlags*: int16
  dwCommittedSize*: DWORD
  dwUnCommittedSize*: DWORD
  lpFirstBlock*: LPVOID
  lpLastBlock*: LPVOID
  hMem*: HANDLE
LPPROCESS_HEAP_ENTRY* = ptr PROCESS_HEAPENTRY
TPROCESSHEAPENTRY* = PROCESS_HEAPENTRY
PPROCESSHEAPENTRY* = ptr PROCESS_HEAPENTRY
PROCESS_INFORMATION* {.final, pure.} = object 
  hProcess*: HANDLE
  hThread*: HANDLE
  dwProcessId*: DWORD
  dwThreadId*: DWORD
LPPROCESS_INFORMATION* = ptr PROCESS_INFORMATION
TPROCESSINFORMATION* = PROCESS_INFORMATION
PPROCESSINFORMATION* = ptr PROCESS_INFORMATION
LPFNPSPCALLBACK* = proc (para1: HWND; para2: UINT; para3: LPVOID): UINT {.
    stdcall.}
TFNPSPCALLBACK* = LPFNPSPCALLBACK
PROPSHEETPAGE* {.final, pure.} = object 
  dwSize*: DWORD
  dwFlags*: DWORD
  hInstance*: HINST
  pszIcon*: LPCTSTR
  pszTitle*: LPCTSTR
  pfnDlgProc*: DLGPROC
  lParam*: LPARAM
  pfnCallback*: LPFNPSPCALLBACK
  pcRefParent*: ptr UINT
LPPROPSHEETPAGE* = ptr PROPSHEETPAGE
LPCPROPSHEETPAGE* = ptr PROPSHEETPAGE
TPROPSHEETPAGE* = PROPSHEETPAGE
PPROPSHEETPAGE* = ptr PROPSHEETPAGE
emptyrecord* {.final, pure.} = object 
lpemptyrecord* = ptr emptyrecord
HPROPSHEETPAGE* = ptr emptyrecord
PROPSHEETHEADER* {.final, pure.} = object 
  dwSize*: DWORD
  dwFlags*: DWORD
  hwndParent*: HWND
  hInstance*: HINST
  pszIcon*: LPCTSTR
  pszCaption*: LPCTSTR
  nPages*: UINT
  pStartPage*: LPCTSTR
  phpage*: ptr HPROPSHEETPAGE
  pfnCallback*: PFNPROPSHEETCALLBACK
  pszbmWatermark*: LPCTSTR
  hplWatermark*: HPALETTE
  pszbmHeader*: cstring
LPPROPSHEETHEADER* = ptr PROPSHEETHEADER
LPCPROPSHEETHEADER* = ptr PROPSHEETHEADER
TPROPSHEETHEADER* = PROPSHEETHEADER
PPROPSHEETHEADER* = ptr PROPSHEETHEADER
LPFNADDPROPSHEETPAGE* = proc (para1: HPROPSHEETPAGE; para2: LPARAM): WINBOOL {.
    stdcall.}
TFNADDPROPSHEETPAGE* = LPFNADDPROPSHEETPAGE
LPFNADDPROPSHEETPAGES* = proc (para1: LPVOID; para2: LPFNADDPROPSHEETPAGE; 
                               para3: LPARAM): WINBOOL {.stdcall.}
TFNADDPROPSHEETPAGES* = LPFNADDPROPSHEETPAGES
PROTOCOL_INFO* {.final, pure.} = object 
  dwServiceFlags*: DWORD
  iAddressFamily*: WINT
  iMaxSockAddr*: WINT
  iMinSockAddr*: WINT
  iSocketType*: WINT
  iProtocol*: WINT
  dwMessageSize*: DWORD
  lpProtocol*: LPTSTR
TPROTOCOLINFO* = PROTOCOL_INFO
PPROTOCOLINFO* = ptr PROTOCOL_INFO
PROVIDOR_INFO_1* {.final, pure.} = object 
  pName*: LPTSTR
  pEnvironment*: LPTSTR
  pDLLName*: LPTSTR
TPROVIDORINFO1* = PROVIDOR_INFO_1
PPROVIDORINFO1* = ptr PROVIDOR_INFO_1
PSHNOTIFY* {.final, pure.} = object 
  hdr*: NMHDR
  lParam*: LPARAM
LPPSHNOTIFY* = ptr PSHNOTIFY
TPSHNOTIFY* = PSHNOTIFY
PPSHNOTIFY* = ptr PSHNOTIFY
PUNCTUATION* {.final, pure.} = object 
  iSize*: UINT
  szPunctuation*: LPSTR
Tpunctuation* = PUNCTUATION
Ppunctuation* = ptr PUNCTUATION
TQUERY_SERVICE_CONFIG* {.final, pure.} = object 
  dwServiceType*: DWORD
  dwStartType*: DWORD
  dwErrorControl*: DWORD
  lpBinaryPathName*: LPTSTR
  lpLoadOrderGroup*: LPTSTR
  dwTagId*: DWORD
  lpDependencies*: LPTSTR
  lpServiceStartName*: LPTSTR
  lpDisplayName*: LPTSTR
LPQUERY_SERVICE_CONFIG* = ptr TQUERY_SERVICE_CONFIG
PQUERYSERVICECONFIG* = ptr TQUERY_SERVICE_CONFIG
TQUERY_SERVICE_LOCK_STATUS* {.final, pure.} = object 
  fIsLocked*: DWORD
  lpLockOwner*: LPTSTR
  dwLockDuration*: DWORD
LPQUERY_SERVICE_LOCK_STATUS* = ptr TQUERY_SERVICE_LOCK_STATUS
PQUERYSERVICELOCKSTATUS* = ptr TQUERY_SERVICE_LOCK_STATUS
RASAMB* {.final, pure.} = object 
  dwSize*: DWORD
  dwError*: DWORD
  szNetBiosError*: array[0 .. (NETBIOS_NAME_LEN + 1) - 1, TCHAR]
  bLana*: int8
TRASAMB* = RASAMB
PRASAMB* = ptr RASAMB
RASCONN* {.final, pure.} = object 
  dwSize*: DWORD
  hrasconn*: HRASCONN
  szEntryName*: array[0 .. (RAS_MaxEntryName + 1) - 1, TCHAR]
  szDeviceType*: array[0 .. (RAS_MaxDeviceType + 1) - 1, CHAR]
  szDeviceName*: array[0 .. (RAS_MaxDeviceName + 1) - 1, CHAR]
TRASCONN* = RASCONN
PRASCONN* = ptr RASCONN
RASCONNSTATUS* {.final, pure.} = object 
  dwSize*: DWORD
  rasconnstate*: RASCONNSTATE
  dwError*: DWORD
  szDeviceType*: array[0 .. (RAS_MaxDeviceType + 1) - 1, TCHAR]
  szDeviceName*: array[0 .. (RAS_MaxDeviceName + 1) - 1, TCHAR]
TRASCONNSTATUS* = RASCONNSTATUS
PRASCONNSTATUS* = ptr RASCONNSTATUS
RASDIALEXTENSIONS* {.final, pure.} = object 
  dwSize*: DWORD
  dwfOptions*: DWORD
  hwndParent*: HWND
  reserved*: DWORD
TRASDIALEXTENSIONS* = RASDIALEXTENSIONS
PRASDIALEXTENSIONS* = ptr RASDIALEXTENSIONS
RASDIALPARAMS* {.final, pure.} = object 
  dwSize*: DWORD
  szEntryName*: array[0 .. (RAS_MaxEntryName + 1) - 1, TCHAR]
  szPhoneNumber*: array[0 .. (RAS_MaxPhoneNumber + 1) - 1, TCHAR]
  szCallbackNumber*: array[0 .. (RAS_MaxCallbackNumber + 1) - 1, TCHAR]
  szUserName*: array[0 .. (UNLEN + 1) - 1, TCHAR]
  szPassword*: array[0 .. (PWLEN + 1) - 1, TCHAR]
  szDomain*: array[0 .. (DNLEN + 1) - 1, TCHAR]
TRASDIALPARAMS* = RASDIALPARAMS
PRASDIALPARAMS* = ptr RASDIALPARAMS
RASENTRYNAME* {.final, pure.} = object 
  dwSize*: DWORD
  szEntryName*: array[0 .. (RAS_MaxEntryName + 1) - 1, TCHAR]
TRASENTRYNAME* = RASENTRYNAME
PRASENTRYNAME* = ptr RASENTRYNAME
RASPPPIP* {.final, pure.} = object 
  dwSize*: DWORD
  dwError*: DWORD
  szIpAddress*: array[0 .. (RAS_MaxIpAddress + 1) - 1, TCHAR]
TRASPPPIP* = RASPPPIP
PRASPPPIP* = ptr RASPPPIP
RASPPPIPX* {.final, pure.} = object 
  dwSize*: DWORD
  dwError*: DWORD
  szIpxAddress*: array[0 .. (RAS_MaxIpxAddress + 1) - 1, TCHAR]
TRASPPPIPX* = RASPPPIPX
PRASPPPIPX* = ptr RASPPPIPX
RASPPPNBF* {.final, pure.} = object 
  dwSize*: DWORD
  dwError*: DWORD
  dwNetBiosError*: DWORD
  szNetBiosError*: array[0 .. (NETBIOS_NAME_LEN + 1) - 1, TCHAR]
  szWorkstationName*: array[0 .. (NETBIOS_NAME_LEN + 1) - 1, TCHAR]
  bLana*: int8
TRASPPPNBF* = RASPPPNBF
PRASPPPNBF* = ptr RASPPPNBF
RASTERIZER_STATUS* {.final, pure.} = object 
  nSize*: short
  wFlags*: short
  nLanguageID*: short
LPRASTERIZER_STATUS* = ptr RASTERIZER_STATUS
TRASTERIZERSTATUS* = RASTERIZER_STATUS
PRASTERIZERSTATUS* = ptr RASTERIZER_STATUS
REASSIGN_BLOCKS* {.final, pure.} = object 
  Reserved*: int16
  Count*: int16
  BlockNumber*: array[0 .. 0, DWORD]
TREASSIGNBLOCKS* = REASSIGN_BLOCKS
PREASSIGNBLOCKS* = ptr REASSIGN_BLOCKS
REMOTE_NAME_INFO* {.final, pure.} = object 
  lpUniversalName*: LPTSTR
  lpConnectionName*: LPTSTR
  lpRemainingPath*: LPTSTR
TREMOTENAMEINFO* = REMOTE_NAME_INFO
PREMOTENAMEINFO* = ptr REMOTE_NAME_INFO
REPASTESPECIAL* {.final, pure.} = object 
  dwAspect*: DWORD
  dwParam*: DWORD
Trepastespecial* = REPASTESPECIAL
Prepastespecial* = ptr REPASTESPECIAL
REQRESIZE* {.final, pure.} = object 
  nmhdr*: NMHDR
  rc*: RECT
Treqresize* = REQRESIZE
Preqresize* = ptr REQRESIZE
RGNDATAHEADER* {.final, pure.} = object 
  dwSize*: DWORD
  iType*: DWORD
  nCount*: DWORD
  nRgnSize*: DWORD
  rcBound*: RECT
TRGNDATAHEADER* = RGNDATAHEADER
PRGNDATAHEADER* = ptr RGNDATAHEADER
RGNDATA* {.final, pure.} = object 
  rdh*: RGNDATAHEADER
  Buffer*: array[0 .. 0, char]
LPRGNDATA* = ptr RGNDATA
TRGNDATA* = RGNDATA
PRGNDATA* = ptr RGNDATA
SCROLLINFO* {.final, pure.} = object 
  cbSize*: UINT
  fMask*: UINT
  nMin*: int32
  nMax*: int32
  nPage*: UINT
  nPos*: int32
  nTrackPos*: int32
LPSCROLLINFO* = ptr SCROLLINFO
LPCSCROLLINFO* = ptr SCROLLINFO
TSCROLLINFO* = SCROLLINFO
PSCROLLINFO* = ptr SCROLLINFO
SECURITY_ATTRIBUTES* {.final, pure.} = object 
  nLength*: DWORD
  lpSecurityDescriptor*: LPVOID
  bInheritHandle*: WINBOOL
LPSECURITY_ATTRIBUTES* = ptr SECURITY_ATTRIBUTES
TSECURITYATTRIBUTES* = SECURITY_ATTRIBUTES
PSECURITYATTRIBUTES* = ptr SECURITY_ATTRIBUTES
SECURITY_INFORMATION* = DWORD
PSECURITY_INFORMATION* = ptr SECURITY_INFORMATION
TSECURITYINFORMATION* = SECURITY_INFORMATION
SELCHANGE* {.final, pure.} = object 
  nmhdr*: NMHDR
  chrg*: CHARRANGE
  seltyp*: int16
Tselchange* = SELCHANGE
Pselchange* = ptr SELCHANGE
SERIALKEYS* {.final, pure.} = object 
  cbSize*: DWORD
  dwFlags*: DWORD
  lpszActivePort*: LPSTR
  lpszPort*: LPSTR
  iBaudRate*: DWORD
  iPortState*: DWORD
LPSERIALKEYS* = ptr SERIALKEYS
TSERIALKEYS* = SERIALKEYS
PSERIALKEYS* = ptr SERIALKEYS
SERVICE_TABLE_ENTRY* {.final, pure.} = object 
  lpServiceName*: LPTSTR
  lpServiceProc*: LPSERVICE_MAIN_FUNCTION
LPSERVICE_TABLE_ENTRY* = ptr SERVICE_TABLE_ENTRY
TSERVICETABLEENTRY* = SERVICE_TABLE_ENTRY
PSERVICETABLEENTRY* = ptr SERVICE_TABLE_ENTRY
SERVICE_TYPE_VALUE_ABS* {.final, pure.} = object 
  dwNameSpace*: DWORD
  dwValueType*: DWORD
  dwValueSize*: DWORD
  lpValueName*: LPTSTR
  lpValue*: PVOID
TSERVICETYPEVALUEABS* = SERVICE_TYPE_VALUE_ABS
PSERVICETYPEVALUEABS* = ptr SERVICE_TYPE_VALUE_ABS
SERVICE_TYPE_INFO_ABS* {.final, pure.} = object 
  lpTypeName*: LPTSTR
  dwValueCount*: DWORD
  Values*: array[0 .. 0, SERVICE_TYPE_VALUE_ABS]
TSERVICETYPEINFOABS* = SERVICE_TYPE_INFO_ABS
PSERVICETYPEINFOABS* = ptr SERVICE_TYPE_INFO_ABS
SESSION_BUFFER* {.final, pure.} = object 
  lsn*: UCHAR
  state*: UCHAR
  local_name*: array[0 .. (NCBNAMSZ) - 1, UCHAR]
  remote_name*: array[0 .. (NCBNAMSZ) - 1, UCHAR]
  rcvs_outstanding*: UCHAR
  sends_outstanding*: UCHAR
TSESSIONBUFFER* = SESSION_BUFFER
PSESSIONBUFFER* = ptr SESSION_BUFFER
SESSION_HEADER* {.final, pure.} = object 
  sess_name*: UCHAR
  num_sess*: UCHAR
  rcv_dg_outstanding*: UCHAR
  rcv_any_outstanding*: UCHAR
TSESSIONHEADER* = SESSION_HEADER
PSESSIONHEADER* = ptr SESSION_HEADER
SET_PARTITION_INFORMATION* {.final, pure.} = object 
  PartitionType*: int8
TSETPARTITIONINFORMATION* = SET_PARTITION_INFORMATION
PSETPARTITIONINFORMATION* = ptr SET_PARTITION_INFORMATION
SHCONTF* = enum 
  SHCONTF_FOLDERS = 32, SHCONTF_NONFOLDERS = 64, SHCONTF_INCLUDEHIDDEN = 128
TSHCONTF* = SHCONTF
SHFILEINFO* {.final, pure.} = object 
  hIcon*: HICON
  iIcon*: int32
  dwAttributes*: DWORD
  szDisplayName*: array[0 .. (MAX_PATH) - 1, char]
  szTypeName*: array[0 .. 79, char]
TSHFILEINFO* = SHFILEINFO
PSHFILEINFO* = ptr SHFILEINFO
FILEOP_FLAGS* = int16
TFILEOPFLAGS* = FILEOP_FLAGS
PFILEOPFLAGS* = ptr FILEOP_FLAGS
SHFILEOPSTRUCT* {.final, pure.} = object 
  hwnd*: HWND
  wFunc*: UINT
  pFrom*: LPCSTR
  pTo*: LPCSTR
  fFlags*: FILEOP_FLAGS
  fAnyOperationsAborted*: WINBOOL
  hNameMappings*: LPVOID
  lpszProgressTitle*: LPCSTR
LPSHFILEOPSTRUCT* = ptr SHFILEOPSTRUCT
TSHFILEOPSTRUCT* = SHFILEOPSTRUCT
PSHFILEOPSTRUCT* = ptr SHFILEOPSTRUCT
SHGNO* = enum 
  SHGDN_NORMAL = 0, SHGDN_INFOLDER = 1, SHGDN_FORPARSING = 0x00008000
TSHGDN* = SHGNO
SHNAMEMAPPING* {.final, pure.} = object 
  pszOldPath*: LPSTR
  pszNewPath*: LPSTR
  cchOldPath*: int32
  cchNewPath*: int32
LPSHNAMEMAPPING* = ptr SHNAMEMAPPING
TSHNAMEMAPPING* = SHNAMEMAPPING
PSHNAMEMAPPING* = ptr SHNAMEMAPPING
SID_AND_ATTRIBUTES* {.final, pure.} = object 
  Sid*: PSID
  Attributes*: DWORD
TSIDANDATTRIBUTES* = SID_AND_ATTRIBUTES
PSIDANDATTRIBUTES* = ptr SID_AND_ATTRIBUTES
SID_AND_ATTRIBUTES_ARRAY* = array[0 .. (ANYSIZE_ARRAY) - 1, SID_AND_ATTRIBUTES]
PSID_AND_ATTRIBUTES_ARRAY* = ptr SID_AND_ATTRIBUTES_ARRAY
TSIDANDATTRIBUTESARRAY* = SID_AND_ATTRIBUTES_ARRAY
SINGLE_LIST_ENTRY* {.final, pure.} = object 
  Next*: ptr SINGLE_LIST_ENTRY
TSINGLELISTENTRY* = SINGLE_LIST_ENTRY
PSINGLELISTENTRY* = ptr SINGLE_LIST_ENTRY
SOUNDSENTRY* {.final, pure.} = object 
  cbSize*: UINT
  dwFlags*: DWORD
  iFSTextEffect*: DWORD
  iFSTextEffectMSec*: DWORD
  iFSTextEffectColorBits*: DWORD
  iFSGrafEffect*: DWORD
  iFSGrafEffectMSec*: DWORD
  iFSGrafEffectColor*: DWORD
  iWindowsEffect*: DWORD
  iWindowsEffectMSec*: DWORD
  lpszWindowsEffectDLL*: LPTSTR
  iWindowsEffectOrdinal*: DWORD
LPSOUNDSENTRY* = ptr SOUNDSENTRY
TSOUNDSENTRY* = SOUNDSENTRY
PSOUNDSENTRY* = ptr SOUNDSENTRY
STARTUPINFO* {.final, pure.} = object 
  cb*: DWORD
  lpReserved*: LPTSTR
  lpDesktop*: LPTSTR
  lpTitle*: LPTSTR
  dwX*: DWORD
  dwY*: DWORD
  dwXSize*: DWORD
  dwYSize*: DWORD
  dwXCountChars*: DWORD
  dwYCountChars*: DWORD
  dwFillAttribute*: DWORD
  dwFlags*: DWORD
  wShowWindow*: int16
  cbReserved2*: int16
  lpReserved2*: LPBYTE
  hStdInput*: HANDLE
  hStdOutput*: HANDLE
  hStdError*: HANDLE
LPSTARTUPINFO* = ptr STARTUPINFO
TSTARTUPINFO* = STARTUPINFO
PSTARTUPINFO* = ptr STARTUPINFO
STICKYKEYS* {.final, pure.} = object 
  cbSize*: DWORD
  dwFlags*: DWORD
LPSTICKYKEYS* = ptr STICKYKEYS
TSTICKYKEYS* = STICKYKEYS
PSTICKYKEYS* = ptr STICKYKEYS
STRRET* {.final, pure.} = object 
  uType*: UINT
  cStr*: array[0 .. (MAX_PATH) - 1, char]
LPSTRRET* = ptr STRRET
TSTRRET* = STRRET
PSTRRET* = ptr STRRET
STYLEBUF* {.final, pure.} = object 
  dwStyle*: DWORD
  szDescription*: array[0 .. 31, CHAR]
LPSTYLEBUF* = ptr STYLEBUF
TSTYLEBUF* = STYLEBUF
PSTYLEBUF* = ptr STYLEBUF
STYLESTRUCT* {.final, pure.} = object 
  styleOld*: DWORD
  styleNew*: DWORD
LPSTYLESTRUCT* = ptr STYLESTRUCT
TSTYLESTRUCT* = STYLESTRUCT
PSTYLESTRUCT* = ptr STYLESTRUCT
SYSTEM_AUDIT_ACE* {.final, pure.} = object 
  Header*: ACE_HEADER
  Mask*: ACCESS_MASK
  SidStart*: DWORD
TSYSTEMAUDITACE* = SYSTEM_AUDIT_ACE
PSYSTEMAUDITACE* = ptr SYSTEM_AUDIT_ACE
SYSTEM_INFO* {.final, pure.} = object 
  dwOemId*: DWORD
  dwPageSize*: DWORD
  lpMinimumApplicationAddress*: LPVOID
  lpMaximumApplicationAddress*: LPVOID
  dwActiveProcessorMask*: DWORD
  dwNumberOfProcessors*: DWORD
  dwProcessorType*: DWORD
  dwAllocationGranularity*: DWORD
  wProcessorLevel*: int16
  wProcessorRevision*: int16
LPSYSTEM_INFO* = ptr SYSTEM_INFO
TSYSTEMINFO* = SYSTEM_INFO
PSYSTEMINFO* = ptr SYSTEM_INFO
SYSTEM_POWER_STATUS* {.final, pure.} = object 
  ACLineStatus*: int8
  BatteryFlag*: int8
  BatteryLifePercent*: int8
  Reserved1*: int8
  BatteryLifeTime*: DWORD
  BatteryFullLifeTime*: DWORD
TSYSTEMPOWERSTATUS* = SYSTEM_POWER_STATUS
PSYSTEMPOWERSTATUS* = ptr SYSTEM_POWER_STATUS
LPSYSTEM_POWER_STATUS* = ptr emptyrecord
TAPE_ERASE* {.final, pure.} = object 
  `type`*: ULONG
TTAPEERASE* = TAPE_ERASE
PTAPEERASE* = ptr TAPE_ERASE
TAPE_GET_DRIVE_PARAMETERS* {.final, pure.} = object 
  ECC*: bool
  Compression*: bool
  DataPadding*: bool
  ReportSetmarks*: bool
  DefaultBlockSize*: ULONG
  MaximumBlockSize*: ULONG
  MinimumBlockSize*: ULONG
  MaximumPartitionCount*: ULONG
  FeaturesLow*: ULONG
  FeaturesHigh*: ULONG
  EOTWarningZoneSize*: ULONG
TTAPEGETDRIVEPARAMETERS* = TAPE_GET_DRIVE_PARAMETERS
PTAPEGETDRIVEPARAMETERS* = ptr TAPE_GET_DRIVE_PARAMETERS
TAPE_GET_MEDIA_PARAMETERS* {.final, pure.} = object 
  Capacity*: LARGE_INTEGER
  Remaining*: LARGE_INTEGER
  BlockSize*: DWORD
  PartitionCount*: DWORD
  WriteProtected*: bool
TTAPEGETMEDIAPARAMETERS* = TAPE_GET_MEDIA_PARAMETERS
PTAPEGETMEDIAPARAMETERS* = ptr TAPE_GET_MEDIA_PARAMETERS
TAPE_GET_POSITION* {.final, pure.} = object 
  `type`*: ULONG
  Partition*: ULONG
  OffsetLow*: ULONG
  OffsetHigh*: ULONG
TTAPEGETPOSITION* = TAPE_GET_POSITION
PTAPEGETPOSITION* = ptr TAPE_GET_POSITION
TAPE_PREPARE* {.final, pure.} = object 
  Operation*: ULONG
TTAPEPREPARE* = TAPE_PREPARE
PTAPEPREPARE* = ptr TAPE_PREPARE
TAPE_SET_DRIVE_PARAMETERS* {.final, pure.} = object 
  ECC*: bool
  Compression*: bool
  DataPadding*: bool
  ReportSetmarks*: bool
  EOTWarningZoneSize*: ULONG
TTAPESETDRIVEPARAMETERS* = TAPE_SET_DRIVE_PARAMETERS
PTAPESETDRIVEPARAMETERS* = ptr TAPE_SET_DRIVE_PARAMETERS
TAPE_SET_MEDIA_PARAMETERS* {.final, pure.} = object 
  BlockSize*: ULONG
TTAPESETMEDIAPARAMETERS* = TAPE_SET_MEDIA_PARAMETERS
PTAPESETMEDIAPARAMETERS* = ptr TAPE_SET_MEDIA_PARAMETERS
TAPE_SET_POSITION* {.final, pure.} = object 
  `Method`*: ULONG
  Partition*: ULONG
  OffsetLow*: ULONG
  OffsetHigh*: ULONG
TTAPESETPOSITION* = TAPE_SET_POSITION
PTAPESETPOSITION* = ptr TAPE_SET_POSITION
TAPE_WRITE_MARKS* {.final, pure.} = object 
  `type`*: ULONG
  Count*: ULONG
TTAPEWRITEMARKS* = TAPE_WRITE_MARKS
PTAPEWRITEMARKS* = ptr TAPE_WRITE_MARKS
TTBADDBITMAP* {.final, pure.} = object 
  hInst*: HINST
  nID*: UINT
LPTBADDBITMAP* = ptr TTBADDBITMAP
PTBADDBITMAP* = ptr TTBADDBITMAP
TBBUTTON* {.final, pure.} = object 
  iBitmap*: int32
  idCommand*: int32
  fsState*: int8
  fsStyle*: int8
  dwData*: DWORD
  iString*: int32
LPTBBUTTON* = ptr TBBUTTON
LPCTBBUTTON* = ptr TBBUTTON
TTBBUTTON* = TBBUTTON
PTBBUTTON* = ptr TBBUTTON
TBNOTIFY* {.final, pure.} = object 
  hdr*: NMHDR
  iItem*: int32
  tbButton*: TBBUTTON
  cchText*: int32
  pszText*: LPTSTR
LPTBNOTIFY* = ptr TBNOTIFY
TTBNOTIFY* = TBNOTIFY
PTBNOTIFY* = ptr TBNOTIFY
TBSAVEPARAMS* {.final, pure.} = object 
  hkr*: HKEY
  pszSubKey*: LPCTSTR
  pszValueName*: LPCTSTR
TTBSAVEPARAMS* = TBSAVEPARAMS
PTBSAVEPARAMS* = ptr TBSAVEPARAMS
TC_HITTESTINFO* {.final, pure.} = object 
  pt*: POINT
  flags*: UINT
TTCHITTESTINFO* = TC_HITTESTINFO
PTCHITTESTINFO* = ptr TC_HITTESTINFO
TC_ITEM* {.final, pure.} = object 
  mask*: UINT
  lpReserved1*: UINT
  lpReserved2*: UINT
  pszText*: LPTSTR
  cchTextMax*: int32
  iImage*: int32
  lParam*: LPARAM
TTCITEM* = TC_ITEM
PTCITEM* = ptr TC_ITEM
TC_ITEMHEADER* {.final, pure.} = object 
  mask*: UINT
  lpReserved1*: UINT
  lpReserved2*: UINT
  pszText*: LPTSTR
  cchTextMax*: int32
  iImage*: int32
TTCITEMHEADER* = TC_ITEMHEADER
PTCITEMHEADER* = ptr TC_ITEMHEADER
TC_KEYDOWN* {.final, pure.} = object 
  hdr*: NMHDR
  wVKey*: int16
  flags*: UINT
TTCKEYDOWN* = TC_KEYDOWN
PTCKEYDOWN* = ptr TC_KEYDOWN
TEXTRANGE* {.final, pure.} = object 
  chrg*: CHARRANGE
  lpstrText*: LPSTR
Ttextrange* = TEXTRANGE
Ptextrange* = ptr TEXTRANGE
TIME_ZONE_INFORMATION* {.final, pure.} = object 
  Bias*: LONG
  StandardName*: array[0 .. 31, WCHAR]
  StandardDate*: SYSTEMTIME
  StandardBias*: LONG
  DaylightName*: array[0 .. 31, WCHAR]
  DaylightDate*: SYSTEMTIME
  DaylightBias*: LONG
LPTIME_ZONE_INFORMATION* = ptr TIME_ZONE_INFORMATION
TTIMEZONEINFORMATION* = TIME_ZONE_INFORMATION
PTIMEZONEINFORMATION* = ptr TIME_ZONE_INFORMATION
TOGGLEKEYS* {.final, pure.} = object 
  cbSize*: DWORD
  dwFlags*: DWORD
TTOGGLEKEYS* = TOGGLEKEYS
PTOGGLEKEYS* = ptr TOGGLEKEYS
TTOKEN_SOURCE* {.final, pure.} = object 
  SourceName*: array[0 .. 7, CHAR]
  SourceIdentifier*: LUID
PTOKENSOURCE* = ptr TTOKEN_SOURCE
TOKEN_CONTROL* {.final, pure.} = object 
  TokenId*: LUID
  AuthenticationId*: LUID
  ModifiedId*: LUID
  TokenSource*: TTOKEN_SOURCE
TTOKENCONTROL* = TOKEN_CONTROL
PTOKENCONTROL* = ptr TOKEN_CONTROL
TTOKEN_DEFAULT_DACL* {.final, pure.} = object 
  DefaultDacl*: PACL
PTOKENDEFAULTDACL* = ptr TTOKEN_DEFAULT_DACL
TTOKEN_GROUPS* {.final, pure.} = object 
  GroupCount*: DWORD
  Groups*: array[0 .. (ANYSIZE_ARRAY) - 1, SID_AND_ATTRIBUTES]
LPTOKEN_GROUPS* = ptr TTOKEN_GROUPS
PTOKENGROUPS* = ptr TTOKEN_GROUPS
TTOKEN_OWNER* {.final, pure.} = object 
  Owner*: PSID
PTOKENOWNER* = ptr TTOKEN_OWNER
TTOKEN_PRIMARY_GROUP* {.final, pure.} = object 
  PrimaryGroup*: PSID
PTOKENPRIMARYGROUP* = ptr TTOKEN_PRIMARY_GROUP
TTOKEN_PRIVILEGES* {.final, pure.} = object 
  PrivilegeCount*: DWORD
  Privileges*: array[0 .. (ANYSIZE_ARRAY) - 1, LUID_AND_ATTRIBUTES]
PTOKEN_PRIVILEGES* = ptr TTOKEN_PRIVILEGES
LPTOKEN_PRIVILEGES* = ptr TTOKEN_PRIVILEGES
TTOKEN_STATISTICS* {.final, pure.} = object 
  TokenId*: LUID
  AuthenticationId*: LUID
  ExpirationTime*: LARGE_INTEGER
  TokenType*: TTOKEN_TYPE
  ImpersonationLevel*: SECURITY_IMPERSONATION_LEVEL
  DynamicCharged*: DWORD
  DynamicAvailable*: DWORD
  GroupCount*: DWORD
  PrivilegeCount*: DWORD
  ModifiedId*: LUID
PTOKENSTATISTICS* = ptr TTOKEN_STATISTICS
TTOKEN_USER* {.final, pure.} = object 
  User*: SID_AND_ATTRIBUTES
PTOKENUSER* = ptr TTOKEN_USER
TOOLINFO* {.final, pure.} = object 
  cbSize*: UINT
  uFlags*: UINT
  hwnd*: HWND
  uId*: UINT
  rect*: RECT
  hinst*: HINST
  lpszText*: LPTSTR
LPTOOLINFO* = ptr TOOLINFO
TTOOLINFO* = TOOLINFO
PTOOLINFO* = ptr TOOLINFO
TOOLTIPTEXT* {.final, pure.} = object 
  hdr*: NMHDR
  lpszText*: LPTSTR
  szText*: array[0 .. 79, char]
  hinst*: HINST
  uFlags*: UINT
LPTOOLTIPTEXT* = ptr TOOLTIPTEXT
TTOOLTIPTEXT* = TOOLTIPTEXT
PTOOLTIPTEXT* = ptr TOOLTIPTEXT
TPMPARAMS* {.final, pure.} = object 
  cbSize*: UINT
  rcExclude*: RECT
LPTPMPARAMS* = ptr TPMPARAMS
TTPMPARAMS* = TPMPARAMS
PTPMPARAMS* = ptr TPMPARAMS
TRANSMIT_FILE_BUFFERS* {.final, pure.} = object 
  Head*: PVOID
  HeadLength*: DWORD
  Tail*: PVOID
  TailLength*: DWORD
TTRANSMITFILEBUFFERS* = TRANSMIT_FILE_BUFFERS
PTRANSMITFILEBUFFERS* = ptr TRANSMIT_FILE_BUFFERS
TTHITTESTINFO* {.final, pure.} = object 
  hwnd*: HWND
  pt*: POINT
  ti*: TOOLINFO
LPHITTESTINFO* = ptr TTHITTESTINFO
TTTHITTESTINFO* = TTHITTESTINFO
PTTHITTESTINFO* = ptr TTHITTESTINFO
TTPOLYCURVE* {.final, pure.} = object 
  wType*: int16
  cpfx*: int16
  apfx*: array[0 .. 0, POINTFX]
LPTTPOLYCURVE* = ptr TTPOLYCURVE
TTTPOLYCURVE* = TTPOLYCURVE
PTTPOLYCURVE* = ptr TTPOLYCURVE
TTPOLYGONHEADER* {.final, pure.} = object 
  cb*: DWORD
  dwType*: DWORD
  pfxStart*: POINTFX
LPTTPOLYGONHEADER* = ptr TTPOLYGONHEADER
TTTPOLYGONHEADER* = TTPOLYGONHEADER
PTTPOLYGONHEADER* = ptr TTPOLYGONHEADER
TV_DISPINFO* {.final, pure.} = object 
  hdr*: NMHDR
  item*: TV_ITEM
TTVDISPINFO* = TV_DISPINFO
PTVDISPINFO* = ptr TV_DISPINFO
TV_HITTESTINFO* {.final, pure.} = object 
  pt*: POINT
  flags*: UINT
  hItem*: HTREEITEM
LPTV_HITTESTINFO* = ptr TV_HITTESTINFO
TTVHITTESTINFO* = TV_HITTESTINFO
PTVHITTESTINFO* = ptr TV_HITTESTINFO
TV_INSERTSTRUCT* {.final, pure.} = object 
  hParent*: HTREEITEM
  hInsertAfter*: HTREEITEM
  item*: TV_ITEM
LPTV_INSERTSTRUCT* = ptr TV_INSERTSTRUCT
TTVINSERTSTRUCT* = TV_INSERTSTRUCT
PTVINSERTSTRUCT* = ptr TV_INSERTSTRUCT
TV_KEYDOWN* {.final, pure.} = object 
  hdr*: NMHDR
  wVKey*: int16
  flags*: UINT
TTVKEYDOWN* = TV_KEYDOWN
PTVKEYDOWN* = ptr TV_KEYDOWN
TV_SORTCB* {.final, pure.} = object 
  hParent*: HTREEITEM
  lpfnCompare*: PFNTVCOMPARE
  lParam*: LPARAM
LPTV_SORTCB* = ptr TV_SORTCB
TTVSORTCB* = TV_SORTCB
PTVSORTCB* = ptr TV_SORTCB
UDACCEL* {.final, pure.} = object 
  nSec*: UINT
  nInc*: UINT
TUDACCEL* = UDACCEL
PUDACCEL* = ptr UDACCEL
UNIVERSAL_NAME_INFO* {.final, pure.} = object 
  lpUniversalName*: LPTSTR
TUNIVERSALNAMEINFO* = UNIVERSAL_NAME_INFO
PUNIVERSALNAMEINFO* = ptr UNIVERSAL_NAME_INFO
USEROBJECTFLAGS* {.final, pure.} = object 
  fInherit*: WINBOOL
  fReserved*: WINBOOL
  dwFlags*: DWORD
TUSEROBJECTFLAGS* = USEROBJECTFLAGS
PUSEROBJECTFLAGS* = ptr USEROBJECTFLAGS
VALENT* {.final, pure.} = object 
  ve_valuename*: LPTSTR
  ve_valuelen*: DWORD
  ve_valueptr*: DWORD
  ve_type*: DWORD
TVALENT* = VALENT
PVALENT* = ptr VALENT
value_ent* = VALENT
Tvalue_ent* = VALENT
Pvalue_ent* = ptr VALENT
VERIFY_INFORMATION* {.final, pure.} = object 
  StartingOffset*: LARGE_INTEGER
  len*: DWORD
TVERIFYINFORMATION* = VERIFY_INFORMATION
PVERIFYINFORMATION* = ptr VERIFY_INFORMATION
VS_FIXEDFILEINFO* {.final, pure.} = object 
  dwSignature*: DWORD
  dwStrucVersion*: DWORD
  dwFileVersionMS*: DWORD
  dwFileVersionLS*: DWORD
  dwProductVersionMS*: DWORD
  dwProductVersionLS*: DWORD
  dwFileFlagsMask*: DWORD
  dwFileFlags*: DWORD
  dwFileOS*: DWORD
  dwFileType*: DWORD
  dwFileSubtype*: DWORD
  dwFileDateMS*: DWORD
  dwFileDateLS*: DWORD
TVSFIXEDFILEINFO* = VS_FIXEDFILEINFO
PVSFIXEDFILEINFO* = ptr VS_FIXEDFILEINFO
WIN32_FIND_DATA* {.final, pure.} = object 
  dwFileAttributes*: DWORD
  ftCreationTime*: FILETIME
  ftLastAccessTime*: FILETIME
  ftLastWriteTime*: FILETIME
  nFileSizeHigh*: DWORD
  nFileSizeLow*: DWORD
  dwReserved0*: DWORD
  dwReserved1*: DWORD
  cFileName*: array[0 .. (MAX_PATH) - 1, TCHAR]
  cAlternateFileName*: array[0 .. 13, TCHAR]
LPWIN32_FIND_DATA* = ptr WIN32_FIND_DATA
PWIN32_FIND_DATA* = ptr WIN32_FIND_DATA
TWIN32FINDDATA* = WIN32_FIND_DATA
TWIN32FINDDATAA* = WIN32_FIND_DATA
WIN32_FIND_DATAW* {.final, pure.} = object 
  dwFileAttributes*: DWORD
  ftCreationTime*: FILETIME
  ftLastAccessTime*: FILETIME
  ftLastWriteTime*: FILETIME
  nFileSizeHigh*: DWORD
  nFileSizeLow*: DWORD
  dwReserved0*: DWORD
  dwReserved1*: DWORD
  cFileName*: array[0 .. (MAX_PATH) - 1, WCHAR]
  cAlternateFileName*: array[0 .. 13, WCHAR]
LPWIN32_FIND_DATAW* = ptr WIN32_FIND_DATAW
PWIN32_FIND_DATAW* = ptr WIN32_FIND_DATAW
TWIN32FINDDATAW* = WIN32_FIND_DATAW
WIN32_STREAM_ID* {.final, pure.} = object 
  dwStreamId*: DWORD
  dwStreamAttributes*: DWORD
  Size*: LARGE_INTEGER
  dwStreamNameSize*: DWORD
  cStreamName*: ptr WCHAR
TWIN32STREAMID* = WIN32_STREAM_ID
PWIN32STREAMID* = ptr WIN32_STREAM_ID
WINDOWPLACEMENT* {.final, pure.} = object 
  len*: UINT
  flags*: UINT
  showCmd*: UINT
  ptMinPosition*: POINT
  ptMaxPosition*: POINT
  rcNormalPosition*: RECT
TWINDOWPLACEMENT* = WINDOWPLACEMENT
PWINDOWPLACEMENT* = ptr WINDOWPLACEMENT
WNDCLASS* {.final, pure.} = object 
  style*: UINT
  lpfnWndProc*: WNDPROC
  cbClsExtra*: int32
  cbWndExtra*: int32
  hInstance*: HANDLE
  hIcon*: HICON
  hCursor*: HCURSOR
  hbrBackground*: HBRUSH
  lpszMenuName*: LPCTSTR
  lpszClassName*: LPCTSTR
LPWNDCLASS* = ptr WNDCLASS
TWNDCLASS* = WNDCLASS
TWNDCLASSA* = WNDCLASS
PWNDCLASS* = ptr WNDCLASS
WNDCLASSW* {.final, pure.} = object 
  style*: UINT
  lpfnWndProc*: WNDPROC
  cbClsExtra*: int32
  cbWndExtra*: int32
  hInstance*: HANDLE
  hIcon*: HICON
  hCursor*: HCURSOR
  hbrBackground*: HBRUSH
  lpszMenuName*: LPCWSTR
  lpszClassName*: LPCWSTR
LPWNDCLASSW* = ptr WNDCLASSW
TWNDCLASSW* = WNDCLASSW
PWNDCLASSW* = ptr WNDCLASSW
WNDCLASSEX* {.final, pure.} = object 
  cbSize*: UINT
  style*: UINT
  lpfnWndProc*: WNDPROC
  cbClsExtra*: int32
  cbWndExtra*: int32
  hInstance*: HANDLE
  hIcon*: HICON
  hCursor*: HCURSOR
  hbrBackground*: HBRUSH
  lpszMenuName*: LPCTSTR
  lpszClassName*: LPCTSTR
  hIconSm*: HANDLE
LPWNDCLASSEX* = ptr WNDCLASSEX
TWNDCLASSEX* = WNDCLASSEX
TWNDCLASSEXA* = WNDCLASSEX
PWNDCLASSEX* = ptr WNDCLASSEX
WNDCLASSEXW* {.final, pure.} = object 
  cbSize*: UINT
  style*: UINT
  lpfnWndProc*: WNDPROC
  cbClsExtra*: int32
  cbWndExtra*: int32
  hInstance*: HANDLE
  hIcon*: HICON
  hCursor*: HCURSOR
  hbrBackground*: HBRUSH
  lpszMenuName*: LPCWSTR
  lpszClassName*: LPCWSTR
  hIconSm*: HANDLE
LPWNDCLASSEXW* = ptr WNDCLASSEXW
TWNDCLASSEXW* = WNDCLASSEXW
PWNDCLASSEXW* = ptr WNDCLASSEXW
CONNECTDLGSTRUCT* {.final, pure.} = object 
  cbStructure*: DWORD
  hwndOwner*: HWND
  lpConnRes*: LPNETRESOURCE
  dwFlags*: DWORD
  dwDevNum*: DWORD
LPCONNECTDLGSTRUCT* = ptr CONNECTDLGSTRUCT
TCONNECTDLGSTRUCT* = CONNECTDLGSTRUCT
PCONNECTDLGSTRUCT* = ptr CONNECTDLGSTRUCT
DISCDLGSTRUCT* {.final, pure.} = object 
  cbStructure*: DWORD
  hwndOwner*: HWND
  lpLocalName*: LPTSTR
  lpRemoteName*: LPTSTR
  dwFlags*: DWORD
LPDISCDLGSTRUCT* = ptr DISCDLGSTRUCT
TDISCDLGSTRUCT* = DISCDLGSTRUCT
TDISCDLGSTRUCTA* = DISCDLGSTRUCT
PDISCDLGSTRUCT* = ptr DISCDLGSTRUCT
NETINFOSTRUCT* {.final, pure.} = object 
  cbStructure*: DWORD
  dwProviderVersion*: DWORD
  dwStatus*: DWORD
  dwCharacteristics*: DWORD
  dwHandle*: DWORD
  wNetType*: int16
  dwPrinters*: DWORD
  dwDrives*: DWORD
LPNETINFOSTRUCT* = ptr NETINFOSTRUCT
TNETINFOSTRUCT* = NETINFOSTRUCT
PNETINFOSTRUCT* = ptr NETINFOSTRUCT
NETCONNECTINFOSTRUCT* {.final, pure.} = object 
  cbStructure*: DWORD
  dwFlags*: DWORD
  dwSpeed*: DWORD
  dwDelay*: DWORD
  dwOptDataSize*: DWORD
LPNETCONNECTINFOSTRUCT* = ptr NETCONNECTINFOSTRUCT
TNETCONNECTINFOSTRUCT* = NETCONNECTINFOSTRUCT
PNETCONNECTINFOSTRUCT* = ptr NETCONNECTINFOSTRUCT
ENUMMETAFILEPROC* = proc (para1: HDC; para2: HANDLETABLE; para3: METARECORD; 
                          para4: int32; para5: LPARAM): int32 {.stdcall.}
ENHMETAFILEPROC* = proc (para1: HDC; para2: HANDLETABLE; para3: TENHMETARECORD; 
                         para4: int32; para5: LPARAM): int32 {.stdcall.}
ENUMFONTSPROC* = proc (para1: LPLOGFONT; para2: LPTEXTMETRIC; para3: DWORD; 
                       para4: LPARAM): int32 {.stdcall.}
FONTENUMPROC* = proc (para1: var ENUMLOGFONT; para2: var NEWTEXTMETRIC; 
                      para3: int32; para4: LPARAM): int32 {.stdcall.}
FONTENUMEXPROC* = proc (para1: var ENUMLOGFONTEX; para2: var NEWTEXTMETRICEX; 
                        para3: int32; para4: LPARAM): int32 {.stdcall.}
LPOVERLAPPED_COMPLETION_ROUTINE* = proc (para1: DWORD; para2: DWORD; 
    para3: LPOVERLAPPED) {.stdcall.}
POINTFLOAT* {.final, pure.} = object 
  x*: float32
  y*: float32
TPOINTFLOAT* = POINTFLOAT
PPOINTFLOAT* = ptr POINTFLOAT
GLYPHMETRICSFLOAT* {.final, pure.} = object 
  gmfBlackBoxX*: float32
  gmfBlackBoxY*: float32
  gmfptGlyphOrigin*: POINTFLOAT
  gmfCellIncX*: float32
  gmfCellIncY*: float32
LPGLYPHMETRICSFLOAT* = ptr GLYPHMETRICSFLOAT
TGLYPHMETRICSFLOAT* = GLYPHMETRICSFLOAT
PGLYPHMETRICSFLOAT* = ptr GLYPHMETRICSFLOAT
LAYERPLANEDESCRIPTOR* {.final, pure.} = object 
  nSize*: int16
  nVersion*: int16
  dwFlags*: DWORD
  iPixelType*: int8
  cColorBits*: int8
  cRedBits*: int8
  cRedShift*: int8
  cGreenBits*: int8
  cGreenShift*: int8
  cBlueBits*: int8
  cBlueShift*: int8
  cAlphaBits*: int8
  cAlphaShift*: int8
  cAccumBits*: int8
  cAccumRedBits*: int8
  cAccumGreenBits*: int8
  cAccumBlueBits*: int8
  cAccumAlphaBits*: int8
  cDepthBits*: int8
  cStencilBits*: int8
  cAuxBuffers*: int8
  iLayerPlane*: int8
  bReserved*: int8
  crTransparent*: COLORREF
LPLAYERPLANEDESCRIPTOR* = ptr LAYERPLANEDESCRIPTOR
TLAYERPLANEDESCRIPTOR* = LAYERPLANEDESCRIPTOR
PLAYERPLANEDESCRIPTOR* = ptr LAYERPLANEDESCRIPTOR
PIXELFORMATDESCRIPTOR* {.final, pure.} = object 
  nSize*: int16
  nVersion*: int16
  dwFlags*: DWORD
  iPixelType*: int8
  cColorBits*: int8
  cRedBits*: int8
  cRedShift*: int8
  cGreenBits*: int8
  cGreenShift*: int8
  cBlueBits*: int8
  cBlueShift*: int8
  cAlphaBits*: int8
  cAlphaShift*: int8
  cAccumBits*: int8
  cAccumRedBits*: int8
  cAccumGreenBits*: int8
  cAccumBlueBits*: int8
  cAccumAlphaBits*: int8
  cDepthBits*: int8
  cStencilBits*: int8
  cAuxBuffers*: int8
  iLayerType*: int8
  bReserved*: int8
  dwLayerMask*: DWORD
  dwVisibleMask*: DWORD
  dwDamageMask*: DWORD
LPPIXELFORMATDESCRIPTOR* = ptr PIXELFORMATDESCRIPTOR
TPIXELFORMATDESCRIPTOR* = PIXELFORMATDESCRIPTOR
PPIXELFORMATDESCRIPTOR* = ptr PIXELFORMATDESCRIPTOR
USER_INFO_2* {.final, pure.} = object 
  usri2_name*: LPWSTR
  usri2_password*: LPWSTR
  usri2_password_age*: DWORD
  usri2_priv*: DWORD
  usri2_home_dir*: LPWSTR
  usri2_comment*: LPWSTR
  usri2_flags*: DWORD
  usri2_script_path*: LPWSTR
  usri2_auth_flags*: DWORD
  usri2_full_name*: LPWSTR
  usri2_usr_comment*: LPWSTR
  usri2_parms*: LPWSTR
  usri2_workstations*: LPWSTR
  usri2_last_logon*: DWORD
  usri2_last_logoff*: DWORD
  usri2_acct_expires*: DWORD
  usri2_max_storage*: DWORD
  usri2_units_per_week*: DWORD
  usri2_logon_hours*: PBYTE
  usri2_bad_pw_count*: DWORD
  usri2_num_logons*: DWORD
  usri2_logon_server*: LPWSTR
  usri2_country_code*: DWORD
  usri2_code_page*: DWORD
PUSER_INFO_2* = ptr USER_INFO_2
LPUSER_INFO_2* = ptr USER_INFO_2
TUSERINFO2* = USER_INFO_2
USER_INFO_0* {.final, pure.} = object 
  usri0_name*: LPWSTR
PUSER_INFO_0* = ptr USER_INFO_0
LPUSER_INFO_0* = ptr USER_INFO_0
TUSERINFO0* = USER_INFO_0
USER_INFO_3* {.final, pure.} = object 
  usri3_name*: LPWSTR
  usri3_password*: LPWSTR
  usri3_password_age*: DWORD
  usri3_priv*: DWORD
  usri3_home_dir*: LPWSTR
  usri3_comment*: LPWSTR
  usri3_flags*: DWORD
  usri3_script_path*: LPWSTR
  usri3_auth_flags*: DWORD
  usri3_full_name*: LPWSTR
  usri3_usr_comment*: LPWSTR
  usri3_parms*: LPWSTR
  usri3_workstations*: LPWSTR
  usri3_last_logon*: DWORD
  usri3_last_logoff*: DWORD
  usri3_acct_expires*: DWORD
  usri3_max_storage*: DWORD
  usri3_units_per_week*: DWORD
  usri3_logon_hours*: PBYTE
  usri3_bad_pw_count*: DWORD
  usri3_num_logons*: DWORD
  usri3_logon_server*: LPWSTR
  usri3_country_code*: DWORD
  usri3_code_page*: DWORD
  usri3_user_id*: DWORD
  usri3_primary_group_id*: DWORD
  usri3_profile*: LPWSTR
  usri3_home_dir_drive*: LPWSTR
  usri3_password_expired*: DWORD
PUSER_INFO_3* = ptr USER_INFO_3
LPUSER_INFO_3* = ptr USER_INFO_3
TUSERINFO3* = USER_INFO_3
GROUP_INFO_2* {.final, pure.} = object 
  grpi2_name*: LPWSTR
  grpi2_comment*: LPWSTR
  grpi2_group_id*: DWORD
  grpi2_attributes*: DWORD
PGROUP_INFO_2* = ptr GROUP_INFO_2
TGROUPINFO2* = GROUP_INFO_2
LOCALGROUP_INFO_0* {.final, pure.} = object 
  lgrpi0_name*: LPWSTR
PLOCALGROUP_INFO_0* = ptr LOCALGROUP_INFO_0
LPLOCALGROUP_INFO_0* = ptr LOCALGROUP_INFO_0
TLOCALGROUPINFO0* = LOCALGROUP_INFO_0
IMAGE_DOS_HEADER* {.final, pure.} = object 
  e_magic*: int16
  e_cblp*: int16
  e_cp*: int16
  e_crlc*: int16
  e_cparhdr*: int16
  e_minalloc*: int16
  e_maxalloc*: int16
  e_ss*: int16
  e_sp*: int16
  e_csum*: int16
  e_ip*: int16
  e_cs*: int16
  e_lfarlc*: int16
  e_ovno*: int16
  e_res*: array[0 .. 3, int16]
  e_oemid*: int16
  e_oeminfo*: int16
  e_res2*: array[0 .. 9, int16]
  e_lfanew*: LONG
PIMAGE_DOS_HEADER* = ptr IMAGE_DOS_HEADER
TIMAGEDOSHEADER* = IMAGE_DOS_HEADER
NOTIFYICONDATAA* {.final, pure.} = object 
  cbSize*: DWORD
  Wnd*: HWND
  uID*: UINT
  uFlags*: UINT
  uCallbackMessage*: UINT
  hIcon*: HICON
  szTip*: array[0 .. 63, Char]
NOTIFYICONDATA* = NOTIFYICONDATAA
NOTIFYICONDATAW* {.final, pure.} = object 
  cbSize*: DWORD
  Wnd*: HWND
  uID*: UINT
  uFlags*: UINT
  uCallbackMessage*: UINT
  hIcon*: HICON
  szTip*: array[0 .. 63, int16]
TNotifyIconDataA* = NOTIFYICONDATAA
TNotifyIconDataW* = NOTIFYICONDATAW
TNotifyIconData* = TNotifyIconDataA
PNotifyIconDataA* = ptr TNotifyIconDataA
PNotifyIconDataW* = ptr TNotifyIconDataW
PNotifyIconData* = PNotifyIconDataA
TWOHandleArray* = array[0 .. MAXIMUM_WAIT_OBJECTS - 1, HANDLE]
PWOHandleArray* = ptr TWOHandleArray
MMRESULT* = int32
PWaveFormatEx* = ptr TWaveFormatEx
TWaveFormatEx* {.final, pure.} = object 
  wFormatTag*: int16
  nChannels*: int16
  nSamplesPerSec*: DWORD
  nAvgBytesPerSec*: DWORD
  nBlockAlign*: int16
  wBitsPerSample*: int16
  cbSize*: int16
WIN32_FILE_ATTRIBUTE_DATA* {.final, pure.} = object 
  dwFileAttributes*: DWORD
  ftCreationTime*: FILETIME
  ftLastAccessTime*: FILETIME
  ftLastWriteTime*: FILETIME
  nFileSizeHigh*: DWORD
  nFileSizeLow*: DWORD
LPWIN32_FILE_ATTRIBUTE_DATA* = ptr WIN32_FILE_ATTRIBUTE_DATA
TWIN32FILEATTRIBUTEDATA* = WIN32_FILE_ATTRIBUTE_DATA
PWIN32FILEATTRIBUTEDATA* = ptr WIN32_FILE_ATTRIBUTE_DATA
TTrackMouseEvent* {.final, pure.} = object 
  cbSize*: DWORD
  dwFlags*: DWORD
  hwndTrack*: HWND
  dwHoverTime*: DWORD
PTrackMouseEvent* = ptr TTrackMouseEvent
HALFLRESULT* = DWORD
HALFPARAM* = DWORD
HALFPARAMBOOL* = WINBOOL
MSG* {.final, pure.} = object 
  hwnd*: HWND
  message*: UINT
  wParam*: WPARAM
  lParam*: LPARAM
  time*: DWORD
  pt*: POINT
LPMSG* = ptr MSG
TMSG* = MSG
PMSG* = ptr MSG
PMessage* = ptr TMessage
TMessage* {.final, pure.} = object 
  msg*: UINT
  wParam*: WPARAM
  lParam*: LPARAM
  Result*: LRESULT
TWMSize* {.final, pure.} = object 
  Msg*: UINT
  SizeType*: WPARAM
  Width*: HALFPARAM
  Height*: HALFPARAM
  Result*: LRESULT
TWMNoParams* {.final, pure.} = object 
  Msg*: UINT
  Unused*: array[0 .. 3, HALFPARAM]
  Result*: LRESULT
TWMCancelMode* = TWMNoParams
TWMNCDestroy* = TWMNoParams
TWMDestroy* = TWMNoParams
TWMClose* = TWMNoParams
TWMQueryUIState* = TWMNoParams
TWMUIState* {.final, pure.} = object 
  Msg*: UINT
  Action*: int16
  Flags*: int16
  Unused*: HRESULT
TWMChangeUIState* = TWMUIState
TWMUpdateUIState* = TWMUIState
TWMKey* {.final, pure.} = object 
  Msg*: UINT
  CharCode*: int16
  Unused*: int16
  KeyData*: int32
  Result*: LRESULT
TWMKeyDown* = TWMKey
TWMKeyUp* = TWMKey
TWMChar* = TWMKey
TWMSysChar* = TWMKey
TWMSysKeyDown* = TWMKey
TWMSysKeyUp* = TWMKey
TWMMenuChar* {.final, pure.} = object 
  Msg*: UINT
  User*: Char
  MenuFlag*: int16
  Menu*: HMENU
  Result*: LRESULT
TWMGetDlgCode* = TWMNoParams
TWMFontChange* = TWMNoParams
TWMGetFont* = TWMNoParams
TWMSysColorChange* = TWMNoParams
TWMQueryDragIcon* = TWMNoParams
TWMScroll* {.final, pure.} = object 
  Msg*: UINT
  ScrollCode*: HALFPARAM
  Pos*: HALFPARAM
  ScrollBar*: HWND
  Result*: LRESULT
TWMHScroll* = TWMScroll
TWMVScroll* = TWMScroll
TWMGetText* {.final, pure.} = object 
  Msg*: UINT
  TextMax*: LPARAM
  Text*: cstring
  Result*: LRESULT
TWMGetTextLength* = TWMNoParams
TWMKillFocus* {.final, pure.} = object 
  Msg*: UINT
  FocusedWnd*: HWND
  UnUsed*: WPARAM
  Result*: LRESULT
TWMSetCursor* {.final, pure.} = object 
  Msg*: UINT
  CursorWnd*: HWND
  HitTest*: HALFPARAM
  MouseMsg*: HALFPARAM
  Result*: LRESULT
TWMSetFocus* {.final, pure.} = object 
  Msg*: UINT
  FocusedWnd*: HWND
  Unused*: WPARAM
  Result*: LRESULT
TWMSetFont* {.final, pure.} = object 
  Msg*: UINT
  Font*: HFONT
  Redraw*: HALFPARAMBOOL
  Unused*: HALFPARAM
  Result*: LRESULT
TWMShowWindow* {.final, pure.} = object 
  Msg*: UINT
  Show*: HALFPARAMBOOL
  Unused*: HALFPARAM
  Status*: WPARAM
  Result*: LRESULT
TWMEraseBkgnd* {.final, pure.} = object 
  Msg*: UINT
  DC*: HDC
  Unused*: LPARAM
  Result*: LRESULT
TWMNCHitTest* {.final, pure.} = object 
  Msg*: UINT
  Unused*: int32
  Pos*: TSmallPoint
  Result*: LRESULT
TWMMouse* {.final, pure.} = object 
  Msg*: UINT
  Keys*: int32
  Pos*: TSmallPoint
  Result*: LRESULT
TWMLButtonDblClk* = TWMMouse
TWMLButtonDown* = TWMMouse
TWMLButtonUp* = TWMMouse
TWMMButtonDblClk* = TWMMouse
TWMMButtonDown* = TWMMouse
TWMMButtonUp* = TWMMouse
TWMMouseWheel* {.final, pure.} = object 
  Msg*: UINT
  Keys*: int16
  WheelDelta*: int16
  Pos*: TSmallPoint
  Result*: LRESULT
TWMNCHitMessage* {.final, pure.} = object 
  Msg*: UINT
  HitTest*: int32
  XCursor*: int16
  YCursor*: int16
  Result*: LRESULT
TWMNCLButtonDblClk* = TWMNCHitMessage
TWMNCLButtonDown* = TWMNCHitMessage
TWMNCLButtonUp* = TWMNCHitMessage
TWMNCMButtonDblClk* = TWMNCHitMessage
TWMNCMButtonDown* = TWMNCHitMessage
TWMNCMButtonUp* = TWMNCHitMessage
TWMNCMouseMove* = TWMNCHitMessage
TWMRButtonDblClk* = TWMMouse
TWMRButtonDown* = TWMMouse
TWMRButtonUp* = TWMMouse
TWMMouseMove* = TWMMouse
TWMPaint* {.final, pure.} = object 
  Msg*: UINT
  DC*: HDC
  Unused*: int32
  Result*: LRESULT
TWMCommand* {.final, pure.} = object 
  Msg*: UINT
  ItemID*: int16
  NotifyCode*: int16
  Ctl*: HWND
  Result*: LRESULT
TWMNotify* {.final, pure.} = object 
  Msg*: UINT
  IDCtrl*: int32
  NMHdr*: PNMHdr
  Result*: LRESULT
TWMPrint* {.final, pure.} = object 
  Msg*: UINT
  DC*: HDC
  Flags*: int
  Result*: LRESULT
TWMPrintClient* = TWMPrint
TWMWinIniChange* {.final, pure.} = object 
  Msg*: UINT
  Unused*: int
  Section*: cstring
  Result*: LRESULT
TWMContextMenu* {.final, pure.} = object 
  Msg*: UINT
  hWnd*: HWND
  Pos*: TSmallPoint
  Result*: LRESULT
TWMNCCalcSize* {.final, pure.} = object 
  Msg*: UINT
  CalcValidRects*: WINBOOL
  CalcSize_Params*: PNCCalcSizeParams
  Result*: LRESULT
TWMCharToItem* {.final, pure.} = object 
  Msg*: UINT
  Key*: int16
  CaretPos*: int16
  ListBox*: HWND
  Result*: LRESULT
TWMVKeyToItem* = TWMCharToItem
TWMParentNotify* {.final, pure.} = object 
  Msg*: UINT
  case Event*: TMyEventRange
  of TMyEventRange(WM_CREATE), TMyEventRange(WM_DESTROY): 
      ChildID*: int16
      ChildWnd*: HWnd

  of TMyEventRange(WM_LBUTTONDOWN), TMyEventRange(WM_MBUTTONDOWN), 
     TMyEventRange(WM_RBUTTONDOWN): 
      Value*: int16
      XPos*: int16
      YPos*: int16

  else: 
      Value1*: int16
      Value2*: int32
      Result*: LRESULT

  
TWMSysCommand* {.final, pure.} = object 
  Msg*: UINT
  CmdType*: int32
  XPos*: int16
  YPos*: int16
  Result*: LRESULT
TWMMove* {.final, pure.} = object 
  Msg*: UINT
  Unused*: int
  Pos*: TSmallPoint
  Result*: LRESULT
TWMWindowPosMsg* {.final, pure.} = object 
  Msg*: UINT
  Unused*: int
  WindowPos*: PWindowPos
  Result*: LRESULT
TWMWindowPosChanged* = TWMWindowPosMsg
TWMWindowPosChanging* = TWMWindowPosMsg
TWMCompareItem* {.final, pure.} = object 
  Msg*: UINT
  Ctl*: HWnd
  CompareItemStruct*: PCompareItemStruct
  Result*: LRESULT
TWMDeleteItem* {.final, pure.} = object 
  Msg*: UINT
  Ctl*: HWND
  DeleteItemStruct*: PDeleteItemStruct
  Result*: LRESULT
TWMDrawItem* {.final, pure.} = object 
  Msg*: UINT
  Ctl*: HWND
  DrawItemStruct*: PDrawItemStruct
  Result*: LRESULT
TWMMeasureItem* {.final, pure.} = object 
  Msg*: UINT
  IDCtl*: HWnd
  MeasureItemStruct*: PMeasureItemStruct
  Result*: LRESULT
TWMNCCreate* {.final, pure.} = object 
  Msg*: UINT
  Unused*: int
  CreateStruct*: PCreateStruct
  Result*: LRESULT
TWMInitMenuPopup* {.final, pure.} = object 
  Msg*: UINT
  MenuPopup*: HMENU
  Pos*: int16
  SystemMenu*: WordBool
  Result*: LRESULT
TWMMenuSelect* {.final, pure.} = object 
  Msg*: UINT
  IDItem*: int16
  MenuFlag*: int16
  Menu*: HMENU
  Result*: LRESULT
TWMActivate* {.final, pure.} = object 
  Msg*: UINT
  Active*: int16
  Minimized*: WordBool
  ActiveWindow*: HWND
  Result*: LRESULT
TWMQueryEndSession* {.final, pure.} = object 
  Msg*: UINT
  Source*: int32
  Unused*: int32
  Result*: LRESULT
TWMMDIActivate* {.final, pure.} = object 
  Msg*: UINT
  DeactiveWnd*: HWND
  ActiveWnd*: HWND
  Result*: LRESULT
TWMNextDlgCtl* {.final, pure.} = object 
  Msg*: UINT
  CtlFocus*: int32
  Handle*: WordBool
  Unused*: int16
  Result*: LRESULT
TWMHelp* {.final, pure.} = object 
  Msg*: UINT
  Unused*: int
  HelpInfo*: PHelpInfo
  Result*: LRESULT
TWMGetMinMaxInfo* {.final, pure.} = object 
  Msg*: UINT
  Unused*: int
  MinMaxInfo*: PMinMaxInfo
  Result*: LRESULT
TWMSettingChange* {.final, pure.} = object 
  Msg*: UINT
  Flag*: int
  Section*: cstring
  Result*: LRESULT
TWMCreate* {.final, pure.} = object 
  Msg*: UINT
  Unused*: int
  CreateStruct*: PCreateStruct
  Result*: LRESULT
TWMCtlColor* {.final, pure.} = object 
  Msg*: UINT
  ChildDC*: HDC
  ChildWnd*: HWND
  Result*: LRESULT
TWMCtlColorScrollbar* = TWMCtlColor
TWMCtlColorStatic* = TWMCtlColor
TWMCtlColorBtn* = TWMCtlColor
TWMCtlColorListbox* = TWMCtlColor
TWMCtlColorMsgbox* = TWMCtlColor
TWMCtlColorDlg* = TWMCtlColor
TWMCtlColorEdit* = TWMCtlColor
TWMInitDialog* {.final, pure.} = object 
  Msg*: UINT
  Focus*: HWND
  InitParam*: int32
  Result*: LRESULT
TWMNCPaint* {.final, pure.} = object 
  Msg*: UINT
  RGN*: HRGN
  Unused*: int32
  Result*: LRESULT
TWMSetText* {.final, pure.} = object 
  Msg*: UINT
  Unused*: int32
  Text*: cstring
  Result*: LRESULT
TWMSizeClipboard* {.final, pure.} = object 
  Msg*: UINT
  Viewer*: HWND
  RC*: THandle
  Result*: LRESULT
TWMSpoolerStatus* {.final, pure.} = object 
  Msg*: UINT
  JobStatus*: LPARAM
  JobsLeft*: WPARAM
  Unused*: WPARAM
  Result*: LRESULT
TWMStyleChange* {.final, pure.} = object 
  Msg*: UINT
  StyleType*: LPARAM
  StyleStruct*: PStyleStruct
  Result*: LRESULT
TWMStyleChanged* = TWMStyleChange
TWMStyleChanging* = TWMStyleChange
TWMSysDeadChar* {.final, pure.} = object 
  Msg*: UINT
  CharCode*: WPARAM
  Unused*: WPARAM
  KeyData*: LPARAM
  Result*: LRESULT
TWMSystemError* {.final, pure.} = object 
  Msg*: UINT
  ErrSpec*: WPARAM
  Unused*: LPARAM
  Result*: LRESULT
TWMTimeChange* = TWMNoParams
TWMTimer* {.final, pure.} = object 
  Msg*: UINT
  TimerID*: LPARAM
  TimerProc*: TFarProc
  Result*: LRESULT
TWMUndo* = TWMNoParams
TWMVScrollClipboard* {.final, pure.} = object 
  Msg*: UINT
  Viewer*: HWND
  ScollCode*: WPARAM
  ThumbPos*: WPARAM
  Result*: LRESULT
TWMDisplayChange* {.final, pure.} = object 
  Msg*: UINT
  BitsPerPixel*: int
  Width*: WPARAM
  Height*: WPARAM
  Result*: LRESULT
TWMDropFiles* {.final, pure.} = object 
  Msg*: UINT
  Drop*: THANDLE
  Unused*: LPARAM
  Result*: LRESULT
TWMEnable* {.final, pure.} = object 
  Msg*: int
  Enabled*: WINBOOL
  Unused*: int32
  Result*: int32
TWMMouseActivate* {.final, pure.} = object 
  Msg*: int
  TopLevel*: HWND
  HitTestCode*: int16
  MouseMsg*: int16
  Result*: int32
PIID* = PGUID
TIID* = TGUID
TFNDlgProc* = FARPROC
TFNThreadStartRoutine* = FARPROC
TFNTimerAPCRoutine* = FARPROC
TFNFiberStartRoutine* = FARPROC
TFNHookProc* = HOOKPROC
PObjectTypeList* = ptr TObjectTypeList
OBJECT_TYPE_LIST* {.final, pure.} = object 
  Level*: int16
  Sbz*: int16
  ObjectType*: PGUID
TObjectTypeList* = OBJECT_TYPE_LIST
AUDIT_EVENT_TYPE* = DWORD
PBlendFunction* = ptr TBlendFunction
BLENDFUNCTION* {.final, pure.} = object 
  BlendOp*: int8
  BlendFlags*: int8
  SourceConstantAlpha*: int8
  AlphaFormat*: int8
TBlendFunction* = BLENDFUNCTION
WIN_CERTIFICATE* {.final, pure.} = object 
  dwLength*: DWord
  wRevision*: int16
  wCertificateType*: int16
  bCertificate*: array[0 .. 0, int8]
TWinCertificate* = WIN_CERTIFICATE
PWinCertificate* = ptr TWinCertificate
TMaxLogPalette* {.final, pure.} = object 
  palVersion*: int16
  palNumEntries*: int16
  palPalEntry*: array[int8, TPaletteEntry]
PMaxLogPalette* = ptr TMaxLogPalette
POSVersionInfoA* = POSVERSIONINFO
TBitmapFileHeader* = BITMAPFILEHEADER
PBitmapFileHeader* = ptr TBitmapFileHeader

Consts

MAX_PATH* = 260
HFILE_ERROR* = HFILE(- 1)
DM_UPDATE* = 1
DM_COPY* = 2
DM_PROMPT* = 4
DM_MODIFY* = 8
DM_IN_BUFFER* = DM_MODIFY
DM_IN_PROMPT* = DM_PROMPT
DM_OUT_BUFFER* = DM_COPY
DM_OUT_DEFAULT* = DM_UPDATE
DC_FIELDS* = 1
DC_PAPERS* = 2
DC_PAPERSIZE* = 3
DC_MINEXTENT* = 4
DC_MAXEXTENT* = 5
DC_BINS* = 6
DC_DUPLEX* = 7
DC_SIZE* = 8
DC_EXTRA* = 9
DC_VERSION* = 10
DC_DRIVER* = 11
DC_BINNAMES* = 12
DC_ENUMRESOLUTIONS* = 13
DC_FILEDEPENDENCIES* = 14
DC_TRUETYPE* = 15
DC_PAPERNAMES* = 16
DC_ORIENTATION* = 17
DC_COPIES* = 18
DC_BINADJUST* = 19
DC_EMF_COMPLIANT* = 20
DC_DATATYPE_PRODUCED* = 21
RASCS_DONE* = 0x00002000
RASCS_PAUSED* = 0x00001000
SE_CREATE_TOKEN_NAME* = "SeCreateTokenPrivilege"
SE_ASSIGNPRIMARYTOKEN_NAME* = "SeAssignPrimaryTokenPrivilege"
SE_LOCK_MEMORY_NAME* = "SeLockMemoryPrivilege"
SE_INCREASE_QUOTA_NAME* = "SeIncreaseQuotaPrivilege"
SE_UNSOLICITED_INPUT_NAME* = "SeUnsolicitedInputPrivilege"
SE_MACHINE_ACCOUNT_NAME* = "SeMachineAccountPrivilege"
SE_TCB_NAME* = "SeTcbPrivilege"
SE_SECURITY_NAME* = "SeSecurityPrivilege"
SE_TAKE_OWNERSHIP_NAME* = "SeTakeOwnershipPrivilege"
SE_LOAD_DRIVER_NAME* = "SeLoadDriverPrivilege"
SE_SYSTEM_PROFILE_NAME* = "SeSystemProfilePrivilege"
SE_SYSTEMTIME_NAME* = "SeSystemtimePrivilege"
SE_PROF_SINGLE_PROCESS_NAME* = "SeProfileSingleProcessPrivilege"
SE_INC_BASE_PRIORITY_NAME* = "SeIncreaseBasePriorityPrivilege"
SE_CREATE_PAGEFILE_NAME* = "SeCreatePagefilePrivilege"
SE_CREATE_PERMANENT_NAME* = "SeCreatePermanentPrivilege"
SE_BACKUP_NAME* = "SeBackupPrivilege"
SE_RESTORE_NAME* = "SeRestorePrivilege"
SE_SHUTDOWN_NAME* = "SeShutdownPrivilege"
SE_DEBUG_NAME* = "SeDebugPrivilege"
SE_AUDIT_NAME* = "SeAuditPrivilege"
SE_SYSTEM_ENVIRONMENT_NAME* = "SeSystemEnvironmentPrivilege"
SE_CHANGE_NOTIFY_NAME* = "SeChangeNotifyPrivilege"
SE_REMOTE_SHUTDOWN_NAME* = "SeRemoteShutdownPrivilege"
SERVICES_ACTIVE_DATABASEW* = "ServicesActive"
SERVICES_FAILED_DATABASEW* = "ServicesFailed"
SERVICES_ACTIVE_DATABASEA* = "ServicesActive"
SERVICES_FAILED_DATABASEA* = "ServicesFailed"
SC_GROUP_IDENTIFIERW* = "+"
SC_GROUP_IDENTIFIERA* = "+"
SERVICES_ACTIVE_DATABASE* = SERVICES_ACTIVE_DATABASEW
SERVICES_FAILED_DATABASE* = SERVICES_FAILED_DATABASEW
SC_GROUP_IDENTIFIER* = SC_GROUP_IDENTIFIERW
LZERROR_UNKNOWNALG* = - 8
LZERROR_BADVALUE* = - 7
LZERROR_GLOBLOCK* = - 6
LZERROR_GLOBALLOC* = - 5
LZERROR_WRITE* = - 4
LZERROR_READ* = - 3
LZERROR_BADOUTHANDLE* = - 2
LZERROR_BADINHANDLE* = - 1
NO_ERROR* = 0
ERROR_SUCCESS* = 0
ERROR_INVALID_FUNCTION* = 1
ERROR_FILE_NOT_FOUND* = 2
ERROR_PATH_NOT_FOUND* = 3
ERROR_TOO_MANY_OPEN_FILES* = 4
ERROR_ACCESS_DENIED* = 5
ERROR_INVALID_HANDLE* = 6
ERROR_ARENA_TRASHED* = 7
ERROR_NOT_ENOUGH_MEMORY* = 8
ERROR_INVALID_BLOCK* = 9
ERROR_BAD_ENVIRONMENT* = 10
ERROR_BAD_FORMAT* = 11
ERROR_INVALID_ACCESS* = 12
ERROR_INVALID_DATA* = 13
ERROR_OUTOFMEMORY* = 14
ERROR_INVALID_DRIVE* = 15
ERROR_CURRENT_DIRECTORY* = 16
ERROR_NOT_SAME_DEVICE* = 17
ERROR_NO_MORE_FILES* = 18
ERROR_WRITE_PROTECT* = 19
ERROR_BAD_UNIT* = 20
ERROR_NOT_READY* = 21
ERROR_BAD_COMMAND* = 22
ERROR_CRC* = 23
ERROR_BAD_LENGTH* = 24
ERROR_SEEK* = 25
ERROR_NOT_DOS_DISK* = 26
ERROR_SECTOR_NOT_FOUND* = 27
ERROR_OUT_OF_PAPER* = 28
ERROR_WRITE_FAULT* = 29
ERROR_READ_FAULT* = 30
ERROR_GEN_FAILURE* = 31
ERROR_SHARING_VIOLATION* = 32
ERROR_LOCK_VIOLATION* = 33
ERROR_WRONG_DISK* = 34
ERROR_SHARING_BUFFER_EXCEEDED* = 36
ERROR_HANDLE_EOF* = 38
ERROR_HANDLE_DISK_FULL* = 39
ERROR_NOT_SUPPORTED* = 50
ERROR_REM_NOT_LIST* = 51
ERROR_DUP_NAME* = 52
ERROR_BAD_NETPATH* = 53
ERROR_NETWORK_BUSY* = 54
ERROR_DEV_NOT_EXIST* = 55
ERROR_TOO_MANY_CMDS* = 56
ERROR_ADAP_HDW_ERR* = 57
ERROR_BAD_NET_RESP* = 58
ERROR_UNEXP_NET_ERR* = 59
ERROR_BAD_REM_ADAP* = 60
ERROR_PRINTQ_FULL* = 61
ERROR_NO_SPOOL_SPACE* = 62
ERROR_PRINT_CANCELLED* = 63
ERROR_NETNAME_DELETED* = 64
ERROR_NETWORK_ACCESS_DENIED* = 65
ERROR_BAD_DEV_TYPE* = 66
ERROR_BAD_NET_NAME* = 67
ERROR_TOO_MANY_NAMES* = 68
ERROR_TOO_MANY_SESS* = 69
ERROR_SHARING_PAUSED* = 70
ERROR_REQ_NOT_ACCEP* = 71
ERROR_REDIR_PAUSED* = 72
ERROR_FILE_EXISTS* = 80
ERROR_CANNOT_MAKE* = 82
ERROR_FAIL_I24* = 83
ERROR_OUT_OF_STRUCTURES* = 84
ERROR_ALREADY_ASSIGNED* = 85
ERROR_INVALID_PASSWORD* = 86
ERROR_INVALID_PARAMETER* = 87
ERROR_NET_WRITE_FAULT* = 88
ERROR_NO_PROC_SLOTS* = 89
ERROR_TOO_MANY_SEMAPHORES* = 100
ERROR_EXCL_SEM_ALREADY_OWNED* = 101
ERROR_SEM_IS_SET* = 102
ERROR_TOO_MANY_SEM_REQUESTS* = 103
ERROR_INVALID_AT_INTERRUPT_TIME* = 104
ERROR_SEM_OWNER_DIED* = 105
ERROR_SEM_USER_LIMIT* = 106
ERROR_DISK_CHANGE* = 107
ERROR_DRIVE_LOCKED* = 108
ERROR_BROKEN_PIPE* = 109
ERROR_OPEN_FAILED* = 110
ERROR_BUFFER_OVERFLOW* = 111
ERROR_DISK_FULL* = 112
ERROR_NO_MORE_SEARCH_HANDLES* = 113
ERROR_INVALID_TARGET_HANDLE* = 114
ERROR_INVALID_CATEGORY* = 117
ERROR_INVALID_VERIFY_SWITCH* = 118
ERROR_BAD_DRIVER_LEVEL* = 119
ERROR_CALL_NOT_IMPLEMENTED* = 120
ERROR_SEM_TIMEOUT* = 121
ERROR_INSUFFICIENT_BUFFER* = 122
ERROR_INVALID_NAME* = 123
ERROR_INVALID_LEVEL* = 124
ERROR_NO_VOLUME_LABEL* = 125
ERROR_MOD_NOT_FOUND* = 126
ERROR_PROC_NOT_FOUND* = 127
ERROR_WAIT_NO_CHILDREN* = 128
ERROR_CHILD_NOT_COMPLETE* = 129
ERROR_DIRECT_ACCESS_HANDLE* = 130
ERROR_NEGATIVE_SEEK* = 131
ERROR_SEEK_ON_DEVICE* = 132
ERROR_IS_JOIN_TARGET* = 133
ERROR_IS_JOINED* = 134
ERROR_IS_SUBSTED* = 135
ERROR_NOT_JOINED* = 136
ERROR_NOT_SUBSTED* = 137
ERROR_JOIN_TO_JOIN* = 138
ERROR_SUBST_TO_SUBST* = 139
ERROR_JOIN_TO_SUBST* = 140
ERROR_SUBST_TO_JOIN* = 141
ERROR_BUSY_DRIVE* = 142
ERROR_SAME_DRIVE* = 143
ERROR_DIR_NOT_ROOT* = 144
ERROR_DIR_NOT_EMPTY* = 145
ERROR_IS_SUBST_PATH* = 146
ERROR_IS_JOIN_PATH* = 147
ERROR_PATH_BUSY* = 148
ERROR_IS_SUBST_TARGET* = 149
ERROR_SYSTEM_TRACE* = 150
ERROR_INVALID_EVENT_COUNT* = 151
ERROR_TOO_MANY_MUXWAITERS* = 152
ERROR_INVALID_LIST_FORMAT* = 153
ERROR_LABEL_TOO_LONG* = 154
ERROR_TOO_MANY_TCBS* = 155
ERROR_SIGNAL_REFUSED* = 156
ERROR_DISCARDED* = 157
ERROR_NOT_LOCKED* = 158
ERROR_BAD_THREADID_ADDR* = 159
ERROR_BAD_ARGUMENTS* = 160
ERROR_BAD_PATHNAME* = 161
ERROR_SIGNAL_PENDING* = 162
ERROR_MAX_THRDS_REACHED* = 164
ERROR_LOCK_FAILED* = 167
ERROR_BUSY* = 170
ERROR_CANCEL_VIOLATION* = 173
ERROR_ATOMIC_LOCKS_NOT_SUPPORTED* = 174
ERROR_INVALID_SEGMENT_NUMBER* = 180
ERROR_INVALID_ORDINAL* = 182
ERROR_ALREADY_EXISTS* = 183
ERROR_INVALID_FLAG_NUMBER* = 186
ERROR_SEM_NOT_FOUND* = 187
ERROR_INVALID_STARTING_CODESEG* = 188
ERROR_INVALID_STACKSEG* = 189
ERROR_INVALID_MODULETYPE* = 190
ERROR_INVALID_EXE_SIGNATURE* = 191
ERROR_EXE_MARKED_INVALID* = 192
ERROR_BAD_EXE_FORMAT* = 193
ERROR_ITERATED_DATA_EXCEEDS_64k* = 194
ERROR_INVALID_MINALLOCSIZE* = 195
ERROR_DYNLINK_FROM_INVALID_RING* = 196
ERROR_IOPL_NOT_ENABLED* = 197
ERROR_INVALID_SEGDPL* = 198
ERROR_AUTODATASEG_EXCEEDS_64k* = 199
ERROR_RING2SEG_MUST_BE_MOVABLE* = 200
ERROR_RELOC_CHAIN_XEEDS_SEGLIM* = 201
ERROR_INFLOOP_IN_RELOC_CHAIN* = 202
ERROR_ENVVAR_NOT_FOUND* = 203
ERROR_NO_SIGNAL_SENT* = 205
ERROR_FILENAME_EXCED_RANGE* = 206
ERROR_RING2_STACK_IN_USE* = 207
ERROR_META_EXPANSION_TOO_LONG* = 208
ERROR_INVALID_SIGNAL_NUMBER* = 209
ERROR_THREAD_1_INACTIVE* = 210
ERROR_LOCKED* = 212
ERROR_TOO_MANY_MODULES* = 214
ERROR_NESTING_NOT_ALLOWED* = 215
ERROR_BAD_PIPE* = 230
ERROR_PIPE_BUSY* = 231
ERROR_NO_DATA* = 232
ERROR_PIPE_NOT_CONNECTED* = 233
ERROR_MORE_DATA* = 234
ERROR_VC_DISCONNECTED* = 240
ERROR_INVALID_EA_NAME* = 254
ERROR_EA_LIST_INCONSISTENT* = 255
ERROR_NO_MORE_ITEMS* = 259
ERROR_CANNOT_COPY* = 266
ERROR_DIRECTORY* = 267
ERROR_EAS_DIDNT_FIT* = 275
ERROR_EA_FILE_CORRUPT* = 276
ERROR_EA_TABLE_FULL* = 277
ERROR_INVALID_EA_HANDLE* = 278
ERROR_EAS_NOT_SUPPORTED* = 282
ERROR_NOT_OWNER* = 288
ERROR_TOO_MANY_POSTS* = 298
ERROR_PARTIAL_COPY* = 299
ERROR_MR_MID_NOT_FOUND* = 317
ERROR_INVALID_ADDRESS* = 487
ERROR_ARITHMETIC_OVERFLOW* = 534
ERROR_PIPE_CONNECTED* = 535
ERROR_PIPE_LISTENING* = 536
ERROR_EA_ACCESS_DENIED* = 994
ERROR_OPERATION_ABORTED* = 995
ERROR_IO_INCOMPLETE* = 996
ERROR_IO_PENDING* = 997
ERROR_NOACCESS* = 998
ERROR_SWAPERROR* = 999
ERROR_STACK_OVERFLOW* = 1001
ERROR_INVALID_MESSAGE* = 1002
ERROR_CAN_NOT_COMPLETE* = 1003
ERROR_INVALID_FLAGS* = 1004
ERROR_UNRECOGNIZED_VOLUME* = 1005
ERROR_FILE_INVALID* = 1006
ERROR_FULLSCREEN_MODE* = 1007
ERROR_NO_TOKEN* = 1008
ERROR_BADDB* = 1009
ERROR_BADKEY* = 1010
ERROR_CANTOPEN* = 1011
ERROR_CANTREAD* = 1012
ERROR_CANTWRITE* = 1013
ERROR_REGISTRY_RECOVERED* = 1014
ERROR_REGISTRY_CORRUPT* = 1015
ERROR_REGISTRY_IO_FAILED* = 1016
ERROR_NOT_REGISTRY_FILE* = 1017
ERROR_KEY_DELETED* = 1018
ERROR_NO_LOG_SPACE* = 1019
ERROR_KEY_HAS_CHILDREN* = 1020
ERROR_CHILD_MUST_BE_VOLATILE* = 1021
ERROR_NOTIFY_ENUM_DIR* = 1022
ERROR_DEPENDENT_SERVICES_RUNNING* = 1051
ERROR_INVALID_SERVICE_CONTROL* = 1052
ERROR_SERVICE_REQUEST_TIMEOUT* = 1053
ERROR_SERVICE_NO_THREAD* = 1054
ERROR_SERVICE_DATABASE_LOCKED* = 1055
ERROR_SERVICE_ALREADY_RUNNING* = 1056
ERROR_INVALID_SERVICE_ACCOUNT* = 1057
ERROR_SERVICE_DISABLED* = 1058
ERROR_CIRCULAR_DEPENDENCY* = 1059
ERROR_SERVICE_DOES_NOT_EXIST* = 1060
ERROR_SERVICE_CANNOT_ACCEPT_CTRL* = 1061
ERROR_SERVICE_NOT_ACTIVE* = 1062
ERROR_FAILED_SERVICE_CONTROLLER_CONNECT* = 1063
ERROR_EXCEPTION_IN_SERVICE* = 1064
ERROR_DATABASE_DOES_NOT_EXIST* = 1065
ERROR_SERVICE_SPECIFIC_ERROR* = 1066
ERROR_PROCESS_ABORTED* = 1067
ERROR_SERVICE_DEPENDENCY_FAIL* = 1068
ERROR_SERVICE_LOGON_FAILED* = 1069
ERROR_SERVICE_START_HANG* = 1070
ERROR_INVALID_SERVICE_LOCK* = 1071
ERROR_SERVICE_MARKED_FOR_DELETE* = 1072
ERROR_SERVICE_EXISTS* = 1073
ERROR_ALREADY_RUNNING_LKG* = 1074
ERROR_SERVICE_DEPENDENCY_DELETED* = 1075
ERROR_BOOT_ALREADY_ACCEPTED* = 1076
ERROR_SERVICE_NEVER_STARTED* = 1077
ERROR_DUPLICATE_SERVICE_NAME* = 1078
ERROR_END_OF_MEDIA* = 1100
ERROR_FILEMARK_DETECTED* = 1101
ERROR_BEGINNING_OF_MEDIA* = 1102
ERROR_SETMARK_DETECTED* = 1103
ERROR_NO_DATA_DETECTED* = 1104
ERROR_PARTITION_FAILURE* = 1105
ERROR_INVALID_BLOCK_LENGTH* = 1106
ERROR_DEVICE_NOT_PARTITIONED* = 1107
ERROR_UNABLE_TO_LOCK_MEDIA* = 1108
ERROR_UNABLE_TO_UNLOAD_MEDIA* = 1109
ERROR_MEDIA_CHANGED* = 1110
ERROR_BUS_RESET* = 1111
ERROR_NO_MEDIA_IN_DRIVE* = 1112
ERROR_NO_UNICODE_TRANSLATION* = 1113
ERROR_DLL_INIT_FAILED* = 1114
ERROR_SHUTDOWN_IN_PROGRESS* = 1115
ERROR_NO_SHUTDOWN_IN_PROGRESS* = 1116
ERROR_IO_DEVICE* = 1117
ERROR_SERIAL_NO_DEVICE* = 1118
ERROR_IRQ_BUSY* = 1119
ERROR_MORE_WRITES* = 1120
ERROR_COUNTER_TIMEOUT* = 1121
ERROR_FLOPPY_ID_MARK_NOT_FOUND* = 1122
ERROR_FLOPPY_WRONG_CYLINDER* = 1123
ERROR_FLOPPY_UNKNOWN_ERROR* = 1124
ERROR_FLOPPY_BAD_REGISTERS* = 1125
ERROR_DISK_RECALIBRATE_FAILED* = 1126
ERROR_DISK_OPERATION_FAILED* = 1127
ERROR_DISK_RESET_FAILED* = 1128
ERROR_EOM_OVERFLOW* = 1129
ERROR_NOT_ENOUGH_SERVER_MEMORY* = 1130
ERROR_POSSIBLE_DEADLOCK* = 1131
ERROR_MAPPED_ALIGNMENT* = 1132
ERROR_SET_POWER_STATE_VETOED* = 1140
ERROR_SET_POWER_STATE_FAILED* = 1141
ERROR_OLD_WIN_VERSION* = 1150
ERROR_APP_WRONG_OS* = 1151
ERROR_SINGLE_INSTANCE_APP* = 1152
ERROR_RMODE_APP* = 1153
ERROR_INVALID_DLL* = 1154
ERROR_NO_ASSOCIATION* = 1155
ERROR_DDE_FAIL* = 1156
ERROR_DLL_NOT_FOUND* = 1157
ERROR_BAD_USERNAME* = 2202
ERROR_NOT_CONNECTED* = 2250
ERROR_OPEN_FILES* = 2401
ERROR_ACTIVE_CONNECTIONS* = 2402
ERROR_DEVICE_IN_USE* = 2404
ERROR_BAD_DEVICE* = 1200
ERROR_CONNECTION_UNAVAIL* = 1201
ERROR_DEVICE_ALREADY_REMEMBERED* = 1202
ERROR_NO_NET_OR_BAD_PATH* = 1203
ERROR_BAD_PROVIDER* = 1204
ERROR_CANNOT_OPEN_PROFILE* = 1205
ERROR_BAD_PROFILE* = 1206
ERROR_NOT_CONTAINER* = 1207
ERROR_EXTENDED_ERROR* = 1208
ERROR_INVALID_GROUPNAME* = 1209
ERROR_INVALID_COMPUTERNAME* = 1210
ERROR_INVALID_EVENTNAME* = 1211
ERROR_INVALID_DOMAINNAME* = 1212
ERROR_INVALID_SERVICENAME* = 1213
ERROR_INVALID_NETNAME* = 1214
ERROR_INVALID_SHARENAME* = 1215
ERROR_INVALID_PASSWORDNAME* = 1216
ERROR_INVALID_MESSAGENAME* = 1217
ERROR_INVALID_MESSAGEDEST* = 1218
ERROR_SESSION_CREDENTIAL_CONFLICT* = 1219
ERROR_REMOTE_SESSION_LIMIT_EXCEEDED* = 1220
ERROR_DUP_DOMAINNAME* = 1221
ERROR_NO_NETWORK* = 1222
ERROR_CANCELLED* = 1223
ERROR_USER_MAPPED_FILE* = 1224
ERROR_CONNECTION_REFUSED* = 1225
ERROR_GRACEFUL_DISCONNECT* = 1226
ERROR_ADDRESS_ALREADY_ASSOCIATED* = 1227
ERROR_ADDRESS_NOT_ASSOCIATED* = 1228
ERROR_CONNECTION_INVALID* = 1229
ERROR_CONNECTION_ACTIVE* = 1230
ERROR_NETWORK_UNREACHABLE* = 1231
ERROR_HOST_UNREACHABLE* = 1232
ERROR_PROTOCOL_UNREACHABLE* = 1233
ERROR_PORT_UNREACHABLE* = 1234
ERROR_REQUEST_ABORTED* = 1235
ERROR_CONNECTION_ABORTED* = 1236
ERROR_RETRY* = 1237
ERROR_CONNECTION_COUNT_LIMIT* = 1238
ERROR_LOGIN_TIME_RESTRICTION* = 1239
ERROR_LOGIN_WKSTA_RESTRICTION* = 1240
ERROR_INCORRECT_ADDRESS* = 1241
ERROR_ALREADY_REGISTERED* = 1242
ERROR_SERVICE_NOT_FOUND* = 1243
ERROR_NOT_AUTHENTICATED* = 1244
ERROR_NOT_LOGGED_ON* = 1245
ERROR_CONTINUE* = 1246
ERROR_ALREADY_INITIALIZED* = 1247
ERROR_NO_MORE_DEVICES* = 1248
ERROR_NOT_ALL_ASSIGNED* = 1300
ERROR_SOME_NOT_MAPPED* = 1301
ERROR_NO_QUOTAS_FOR_ACCOUNT* = 1302
ERROR_LOCAL_USER_SESSION_KEY* = 1303
ERROR_NULL_LM_PASSWORD* = 1304
ERROR_UNKNOWN_REVISION* = 1305
ERROR_REVISION_MISMATCH* = 1306
ERROR_INVALID_OWNER* = 1307
ERROR_INVALID_PRIMARY_GROUP* = 1308
ERROR_NO_IMPERSONATION_TOKEN* = 1309
ERROR_CANT_DISABLE_MANDATORY* = 1310
ERROR_NO_LOGON_SERVERS* = 1311
ERROR_NO_SUCH_LOGON_SESSION* = 1312
ERROR_NO_SUCH_PRIVILEGE* = 1313
ERROR_PRIVILEGE_NOT_HELD* = 1314
ERROR_INVALID_ACCOUNT_NAME* = 1315
ERROR_USER_EXISTS* = 1316
ERROR_NO_SUCH_USER* = 1317
ERROR_GROUP_EXISTS* = 1318
ERROR_NO_SUCH_GROUP* = 1319
ERROR_MEMBER_IN_GROUP* = 1320
ERROR_MEMBER_NOT_IN_GROUP* = 1321
ERROR_LAST_ADMIN* = 1322
ERROR_WRONG_PASSWORD* = 1323
ERROR_ILL_FORMED_PASSWORD* = 1324
ERROR_PASSWORD_RESTRICTION* = 1325
ERROR_LOGON_FAILURE* = 1326
ERROR_ACCOUNT_RESTRICTION* = 1327
ERROR_INVALID_LOGON_HOURS* = 1328
ERROR_INVALID_WORKSTATION* = 1329
ERROR_PASSWORD_EXPIRED* = 1330
ERROR_ACCOUNT_DISABLED* = 1331
ERROR_NONE_MAPPED* = 1332
ERROR_TOO_MANY_LUIDS_REQUESTED* = 1333
ERROR_LUIDS_EXHAUSTED* = 1334
ERROR_INVALID_SUB_AUTHORITY* = 1335
ERROR_INVALID_ACL* = 1336
ERROR_INVALID_SID* = 1337
ERROR_INVALID_SECURITY_DESCR* = 1338
ERROR_BAD_INHERITANCE_ACL* = 1340
ERROR_SERVER_DISABLED* = 1341
ERROR_SERVER_NOT_DISABLED* = 1342
ERROR_INVALID_ID_AUTHORITY* = 1343
ERROR_ALLOTTED_SPACE_EXCEEDED* = 1344
ERROR_INVALID_GROUP_ATTRIBUTES* = 1345
ERROR_BAD_IMPERSONATION_LEVEL* = 1346
ERROR_CANT_OPEN_ANONYMOUS* = 1347
ERROR_BAD_VALIDATION_CLASS* = 1348
ERROR_BAD_TOKEN_TYPE* = 1349
ERROR_NO_SECURITY_ON_OBJECT* = 1350
ERROR_CANT_ACCESS_DOMAIN_INFO* = 1351
ERROR_INVALID_SERVER_STATE* = 1352
ERROR_INVALID_DOMAIN_STATE* = 1353
ERROR_INVALID_DOMAIN_ROLE* = 1354
ERROR_NO_SUCH_DOMAIN* = 1355
ERROR_DOMAIN_EXISTS* = 1356
ERROR_DOMAIN_LIMIT_EXCEEDED* = 1357
ERROR_INTERNAL_DB_CORRUPTION* = 1358
ERROR_INTERNAL_ERROR* = 1359
ERROR_GENERIC_NOT_MAPPED* = 1360
ERROR_BAD_DESCRIPTOR_FORMAT* = 1361
ERROR_NOT_LOGON_PROCESS* = 1362
ERROR_LOGON_SESSION_EXISTS* = 1363
ERROR_NO_SUCH_PACKAGE* = 1364
ERROR_BAD_LOGON_SESSION_STATE* = 1365
ERROR_LOGON_SESSION_COLLISION* = 1366
ERROR_INVALID_LOGON_TYPE* = 1367
ERROR_CANNOT_IMPERSONATE* = 1368
ERROR_RXACT_INVALID_STATE* = 1369
ERROR_RXACT_COMMIT_FAILURE* = 1370
ERROR_SPECIAL_ACCOUNT* = 1371
ERROR_SPECIAL_GROUP* = 1372
ERROR_SPECIAL_USER* = 1373
ERROR_MEMBERS_PRIMARY_GROUP* = 1374
ERROR_TOKEN_ALREADY_IN_USE* = 1375
ERROR_NO_SUCH_ALIAS* = 1376
ERROR_MEMBER_NOT_IN_ALIAS* = 1377
ERROR_MEMBER_IN_ALIAS* = 1378
ERROR_ALIAS_EXISTS* = 1379
ERROR_LOGON_NOT_GRANTED* = 1380
ERROR_TOO_MANY_SECRETS* = 1381
ERROR_SECRET_TOO_LONG* = 1382
ERROR_INTERNAL_DB_ERROR* = 1383
ERROR_TOO_MANY_CONTEXT_IDS* = 1384
ERROR_LOGON_TYPE_NOT_GRANTED* = 1385
ERROR_NT_CROSS_ENCRYPTION_REQUIRED* = 1386
ERROR_NO_SUCH_MEMBER* = 1387
ERROR_INVALID_MEMBER* = 1388
ERROR_TOO_MANY_SIDS* = 1389
ERROR_LM_CROSS_ENCRYPTION_REQUIRED* = 1390
ERROR_NO_INHERITANCE* = 1391
ERROR_FILE_CORRUPT* = 1392
ERROR_DISK_CORRUPT* = 1393
ERROR_NO_USER_SESSION_KEY* = 1394
ERROR_LICENSE_QUOTA_EXCEEDED* = 1395
ERROR_INVALID_WINDOW_HANDLE* = 1400
ERROR_INVALID_MENU_HANDLE* = 1401
ERROR_INVALID_CURSOR_HANDLE* = 1402
ERROR_INVALID_ACCEL_HANDLE* = 1403
ERROR_INVALID_HOOK_HANDLE* = 1404
ERROR_INVALID_DWP_HANDLE* = 1405
ERROR_TLW_WITH_WSCHILD* = 1406
ERROR_CANNOT_FIND_WND_CLASS* = 1407
ERROR_WINDOW_OF_OTHER_THREAD* = 1408
ERROR_HOTKEY_ALREADY_REGISTERED* = 1409
ERROR_CLASS_ALREADY_EXISTS* = 1410
ERROR_CLASS_DOES_NOT_EXIST* = 1411
ERROR_CLASS_HAS_WINDOWS* = 1412
ERROR_INVALID_INDEX* = 1413
ERROR_INVALID_ICON_HANDLE* = 1414
ERROR_PRIVATE_DIALOG_INDEX* = 1415
ERROR_LISTBOX_ID_NOT_FOUND* = 1416
ERROR_NO_WILDCARD_CHARACTERS* = 1417
ERROR_CLIPBOARD_NOT_OPEN* = 1418
ERROR_HOTKEY_NOT_REGISTERED* = 1419
ERROR_WINDOW_NOT_DIALOG* = 1420
ERROR_CONTROL_ID_NOT_FOUND* = 1421
ERROR_INVALID_COMBOBOX_MESSAGE* = 1422
ERROR_WINDOW_NOT_COMBOBOX* = 1423
ERROR_INVALID_EDIT_HEIGHT* = 1424
ERROR_DC_NOT_FOUND* = 1425
ERROR_INVALID_HOOK_FILTER* = 1426
ERROR_INVALID_FILTER_PROC* = 1427
ERROR_HOOK_NEEDS_HMOD* = 1428
ERROR_GLOBAL_ONLY_HOOK* = 1429
ERROR_JOURNAL_HOOK_SET* = 1430
ERROR_HOOK_NOT_INSTALLED* = 1431
ERROR_INVALID_LB_MESSAGE* = 1432
ERROR_SETCOUNT_ON_BAD_LB* = 1433
ERROR_LB_WITHOUT_TABSTOPS* = 1434
ERROR_DESTROY_OBJECT_OF_OTHER_THREAD* = 1435
ERROR_CHILD_WINDOW_MENU* = 1436
ERROR_NO_SYSTEM_MENU* = 1437
ERROR_INVALID_MSGBOX_STYLE* = 1438
ERROR_INVALID_SPI_VALUE* = 1439
ERROR_SCREEN_ALREADY_LOCKED* = 1440
ERROR_HWNDS_HAVE_DIFF_PARENT* = 1441
ERROR_NOT_CHILD_WINDOW* = 1442
ERROR_INVALID_GW_COMMAND* = 1443
ERROR_INVALID_THREAD_ID* = 1444
ERROR_NON_MDICHILD_WINDOW* = 1445
ERROR_POPUP_ALREADY_ACTIVE* = 1446
ERROR_NO_SCROLLBARS* = 1447
ERROR_INVALID_SCROLLBAR_RANGE* = 1448
ERROR_INVALID_SHOWWIN_COMMAND* = 1449
ERROR_NO_SYSTEM_RESOURCES* = 1450
ERROR_NONPAGED_SYSTEM_RESOURCES* = 1451
ERROR_PAGED_SYSTEM_RESOURCES* = 1452
ERROR_WORKING_SET_QUOTA* = 1453
ERROR_PAGEFILE_QUOTA* = 1454
ERROR_COMMITMENT_LIMIT* = 1455
ERROR_MENU_ITEM_NOT_FOUND* = 1456
ERROR_INVALID_KEYBOARD_HANDLE* = 1457
ERROR_HOOK_TYPE_NOT_ALLOWED* = 1458
ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION* = 1459
ERROR_TIMEOUT* = 1460
ERROR_EVENTLOG_FILE_CORRUPT* = 1500
ERROR_EVENTLOG_CANT_START* = 1501
ERROR_LOG_FILE_FULL* = 1502
ERROR_EVENTLOG_FILE_CHANGED* = 1503
RPC_S_INVALID_STRING_BINDING* = 1700
RPC_S_WRONG_KIND_OF_BINDING* = 1701
RPC_S_INVALID_BINDING* = 1702
RPC_S_PROTSEQ_NOT_SUPPORTED* = 1703
RPC_S_INVALID_RPC_PROTSEQ* = 1704
RPC_S_INVALID_STRING_UUID* = 1705
RPC_S_INVALID_ENDPOINT_FORMAT* = 1706
RPC_S_INVALID_NET_ADDR* = 1707
RPC_S_NO_ENDPOINT_FOUND* = 1708
RPC_S_INVALID_TIMEOUT* = 1709
RPC_S_OBJECT_NOT_FOUND* = 1710
RPC_S_ALREADY_REGISTERED* = 1711
RPC_S_TYPE_ALREADY_REGISTERED* = 1712
RPC_S_ALREADY_LISTENING* = 1713
RPC_S_NO_PROTSEQS_REGISTERED* = 1714
RPC_S_NOT_LISTENING* = 1715
RPC_S_UNKNOWN_MGR_TYPE* = 1716
RPC_S_UNKNOWN_IF* = 1717
RPC_S_NO_BINDINGS* = 1718
RPC_S_NO_PROTSEQS* = 1719
RPC_S_CANT_CREATE_ENDPOINT* = 1720
RPC_S_OUT_OF_RESOURCES* = 1721
RPC_S_SERVER_UNAVAILABLE* = 1722
RPC_S_SERVER_TOO_BUSY* = 1723
RPC_S_INVALID_NETWORK_OPTIONS* = 1724
RPC_S_NO_CALL_ACTIVE* = 1725
RPC_S_CALL_FAILED* = 1726
RPC_S_CALL_FAILED_DNE* = 1727
RPC_S_PROTOCOL_ERROR* = 1728
RPC_S_UNSUPPORTED_TRANS_SYN* = 1730
RPC_S_UNSUPPORTED_TYPE* = 1732
RPC_S_INVALID_TAG* = 1733
RPC_S_INVALID_BOUND* = 1734
RPC_S_NO_ENTRY_NAME* = 1735
RPC_S_INVALID_NAME_SYNTAX* = 1736
RPC_S_UNSUPPORTED_NAME_SYNTAX* = 1737
RPC_S_UUID_NO_ADDRESS* = 1739
RPC_S_DUPLICATE_ENDPOINT* = 1740
RPC_S_UNKNOWN_AUTHN_TYPE* = 1741
RPC_S_MAX_CALLS_TOO_SMALL* = 1742
RPC_S_STRING_TOO_LONG* = 1743
RPC_S_PROTSEQ_NOT_FOUND* = 1744
RPC_S_PROCNUM_OUT_OF_RANGE* = 1745
RPC_S_BINDING_HAS_NO_AUTH* = 1746
RPC_S_UNKNOWN_AUTHN_SERVICE* = 1747
RPC_S_UNKNOWN_AUTHN_LEVEL* = 1748
RPC_S_INVALID_AUTH_IDENTITY* = 1749
RPC_S_UNKNOWN_AUTHZ_SERVICE* = 1750
EPT_S_INVALID_ENTRY* = 1751
EPT_S_CANT_PERFORM_OP* = 1752
EPT_S_NOT_REGISTERED* = 1753
RPC_S_NOTHING_TO_EXPORT* = 1754
RPC_S_INCOMPLETE_NAME* = 1755
RPC_S_INVALID_VERS_OPTION* = 1756
RPC_S_NO_MORE_MEMBERS* = 1757
RPC_S_NOT_ALL_OBJS_UNEXPORTED* = 1758
RPC_S_INTERFACE_NOT_FOUND* = 1759
RPC_S_ENTRY_ALREADY_EXISTS* = 1760
RPC_S_ENTRY_NOT_FOUND* = 1761
RPC_S_NAME_SERVICE_UNAVAILABLE* = 1762
RPC_S_INVALID_NAF_ID* = 1763
RPC_S_CANNOT_SUPPORT* = 1764
RPC_S_NO_CONTEXT_AVAILABLE* = 1765
RPC_S_INTERNAL_ERROR* = 1766
RPC_S_ZERO_DIVIDE* = 1767
RPC_S_ADDRESS_ERROR* = 1768
RPC_S_FP_DIV_ZERO* = 1769
RPC_S_FP_UNDERFLOW* = 1770
RPC_S_FP_OVERFLOW* = 1771
RPC_X_NO_MORE_ENTRIES* = 1772
RPC_X_SS_CHAR_TRANS_OPEN_FAIL* = 1773
RPC_X_SS_CHAR_TRANS_SHORT_FILE* = 1774
RPC_X_SS_IN_NULL_CONTEXT* = 1775
RPC_X_SS_CONTEXT_DAMAGED* = 1777
RPC_X_SS_HANDLES_MISMATCH* = 1778
RPC_X_SS_CANNOT_GET_CALL_HANDLE* = 1779
RPC_X_NULL_REF_POINTER* = 1780
RPC_X_ENUM_VALUE_OUT_OF_RANGE* = 1781
RPC_X_BYTE_COUNT_TOO_SMALL* = 1782
RPC_X_BAD_STUB_DATA* = 1783
ERROR_INVALID_USER_BUFFER* = 1784
ERROR_UNRECOGNIZED_MEDIA* = 1785
ERROR_NO_TRUST_LSA_SECRET* = 1786
ERROR_NO_TRUST_SAM_ACCOUNT* = 1787
ERROR_TRUSTED_DOMAIN_FAILURE* = 1788
ERROR_TRUSTED_RELATIONSHIP_FAILURE* = 1789
ERROR_TRUST_FAILURE* = 1790
RPC_S_CALL_IN_PROGRESS* = 1791
ERROR_NETLOGON_NOT_STARTED* = 1792
ERROR_ACCOUNT_EXPIRED* = 1793
ERROR_REDIRECTOR_HAS_OPEN_HANDLES* = 1794
ERROR_PRINTER_DRIVER_ALREADY_INSTALLED* = 1795
ERROR_UNKNOWN_PORT* = 1796
ERROR_UNKNOWN_PRINTER_DRIVER* = 1797
ERROR_UNKNOWN_PRINTPROCESSOR* = 1798
ERROR_INVALID_SEPARATOR_FILE* = 1799
ERROR_INVALID_PRIORITY* = 1800
ERROR_INVALID_PRINTER_NAME* = 1801
ERROR_PRINTER_ALREADY_EXISTS* = 1802
ERROR_INVALID_PRINTER_COMMAND* = 1803
ERROR_INVALID_DATATYPE* = 1804
ERROR_INVALID_ENVIRONMENT* = 1805
RPC_S_NO_MORE_BINDINGS* = 1806
ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT* = 1807
ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT* = 1808
ERROR_NOLOGON_SERVER_TRUST_ACCOUNT* = 1809
ERROR_DOMAIN_TRUST_INCONSISTENT* = 1810
ERROR_SERVER_HAS_OPEN_HANDLES* = 1811
ERROR_RESOURCE_DATA_NOT_FOUND* = 1812
ERROR_RESOURCE_TYPE_NOT_FOUND* = 1813
ERROR_RESOURCE_NAME_NOT_FOUND* = 1814
ERROR_RESOURCE_LANG_NOT_FOUND* = 1815
ERROR_NOT_ENOUGH_QUOTA* = 1816
RPC_S_NO_INTERFACES* = 1817
RPC_S_CALL_CANCELLED* = 1818
RPC_S_BINDING_INCOMPLETE* = 1819
RPC_S_COMM_FAILURE* = 1820
RPC_S_UNSUPPORTED_AUTHN_LEVEL* = 1821
RPC_S_NO_PRINC_NAME* = 1822
RPC_S_NOT_RPC_ERROR* = 1823
RPC_S_UUID_LOCAL_ONLY* = 1824
RPC_S_SEC_PKG_ERROR* = 1825
RPC_S_NOT_CANCELLED* = 1826
RPC_X_INVALID_ES_ACTION* = 1827
RPC_X_WRONG_ES_VERSION* = 1828
RPC_X_WRONG_STUB_VERSION* = 1829
RPC_X_INVALID_PIPE_OBJECT* = 1830
RPC_X_INVALID_PIPE_OPERATION* = 1831
RPC_S_GROUP_MEMBER_NOT_FOUND* = 1898
EPT_S_CANT_CREATE* = 1899
RPC_S_INVALID_OBJECT* = 1900
ERROR_INVALID_TIME* = 1901
ERROR_INVALID_FORM_NAME* = 1902
ERROR_INVALID_FORM_SIZE* = 1903
ERROR_ALREADY_WAITING* = 1904
ERROR_PRINTER_DELETED* = 1905
ERROR_INVALID_PRINTER_STATE* = 1906
ERROR_PASSWORD_MUST_CHANGE* = 1907
ERROR_DOMAIN_CONTROLLER_NOT_FOUND* = 1908
ERROR_ACCOUNT_LOCKED_OUT* = 1909
OR_INVALID_OXID* = 1910
OR_INVALID_OID* = 1911
OR_INVALID_SET* = 1912
RPC_S_SEND_INCOMPLETE* = 1913
ERROR_NO_BROWSER_SERVERS_FOUND* = 6118
ERROR_INVALID_PIXEL_FORMAT* = 2000
ERROR_BAD_DRIVER* = 2001
ERROR_INVALID_WINDOW_STYLE* = 2002
ERROR_METAFILE_NOT_SUPPORTED* = 2003
ERROR_TRANSFORM_NOT_SUPPORTED* = 2004
ERROR_CLIPPING_NOT_SUPPORTED* = 2005
ERROR_UNKNOWN_PRINT_MONITOR* = 3000
ERROR_PRINTER_DRIVER_IN_USE* = 3001
ERROR_SPOOL_FILE_NOT_FOUND* = 3002
ERROR_SPL_NO_STARTDOC* = 3003
ERROR_SPL_NO_ADDJOB* = 3004
ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED* = 3005
ERROR_PRINT_MONITOR_ALREADY_INSTALLED* = 3006
ERROR_INVALID_PRINT_MONITOR* = 3007
ERROR_PRINT_MONITOR_IN_USE* = 3008
ERROR_PRINTER_HAS_JOBS_QUEUED* = 3009
ERROR_SUCCESS_REBOOT_REQUIRED* = 3010
ERROR_SUCCESS_RESTART_REQUIRED* = 3011
ERROR_WINS_INTERNAL* = 4000
ERROR_CAN_NOT_DEL_LOCAL_WINS* = 4001
ERROR_STATIC_INIT* = 4002
ERROR_INC_BACKUP* = 4003
ERROR_FULL_BACKUP* = 4004
ERROR_REC_NON_EXISTENT* = 4005
ERROR_RPL_NOT_ALLOWED* = 4006
E_UNEXPECTED* = HRESULT(0x8000FFFF)
E_NOTIMPL* = HRESULT(0x80004001)
E_OUTOFMEMORY* = HRESULT(0x8007000E)
E_INVALIDARG* = HRESULT(0x80070057)
E_NOINTERFACE* = HRESULT(0x80004002)
E_POINTER* = HRESULT(0x80004003)
E_HANDLE* = HRESULT(0x80070006)
E_ABORT* = HRESULT(0x80004004)
E_FAIL* = HRESULT(0x80004005)
E_ACCESSDENIED* = HRESULT(0x80070005)
E_PENDING* = HRESULT(0x8000000A)
CO_E_INIT_TLS* = HRESULT(0x80004006)
CO_E_INIT_SHARED_ALLOCATOR* = HRESULT(0x80004007)
CO_E_INIT_MEMORY_ALLOCATOR* = HRESULT(0x80004008)
CO_E_INIT_CLASS_CACHE* = HRESULT(0x80004009)
CO_E_INIT_RPC_CHANNEL* = HRESULT(0x8000400A)
CO_E_INIT_TLS_SET_CHANNEL_CONTROL* = HRESULT(0x8000400B)
CO_E_INIT_TLS_CHANNEL_CONTROL* = HRESULT(0x8000400C)
CO_E_INIT_UNACCEPTED_USER_ALLOCATOR* = HRESULT(0x8000400D)
CO_E_INIT_SCM_MUTEX_EXISTS* = HRESULT(0x8000400E)
CO_E_INIT_SCM_FILE_MAPPING_EXISTS* = HRESULT(0x8000400F)
CO_E_INIT_SCM_MAP_VIEW_OF_FILE* = HRESULT(0x80004010)
CO_E_INIT_SCM_EXEC_FAILURE* = HRESULT(0x80004011)
CO_E_INIT_ONLY_SINGLE_THREADED* = HRESULT(0x80004012)
CO_E_CANT_REMOTE* = HRESULT(0x80004013)
CO_E_BAD_SERVER_NAME* = HRESULT(0x80004014)
CO_E_WRONG_SERVER_IDENTITY* = HRESULT(0x80004015)
CO_E_OLE1DDE_DISABLED* = HRESULT(0x80004016)
CO_E_RUNAS_SYNTAX* = HRESULT(0x80004017)
CO_E_CREATEPROCESS_FAILURE* = HRESULT(0x80004018)
CO_E_RUNAS_CREATEPROCESS_FAILURE* = HRESULT(0x80004019)
CO_E_RUNAS_LOGON_FAILURE* = HRESULT(0x8000401A)
CO_E_LAUNCH_PERMSSION_DENIED* = HRESULT(0x8000401B)
CO_E_START_SERVICE_FAILURE* = HRESULT(0x8000401C)
CO_E_REMOTE_COMMUNICATION_FAILURE* = HRESULT(0x8000401D)
CO_E_SERVER_START_TIMEOUT* = HRESULT(0x8000401E)
CO_E_CLSREG_INCONSISTENT* = HRESULT(0x8000401F)
CO_E_IIDREG_INCONSISTENT* = HRESULT(0x80004020)
CO_E_NOT_SUPPORTED* = HRESULT(0x80004021)
CO_E_FIRST* = DWORD(0x800401F0)
CO_E_LAST* = DWORD(0x800401FF)
CO_S_FIRST* = DWORD(0x000401F0)
CO_S_LAST* = DWORD(0x000401FF)
S_OK* = HRESULT(0x00000000)
S_FALSE* = HRESULT(0x00000001)
CO_E_NOTINITIALIZED* = HRESULT(0x800401F0)
CO_E_ALREADYINITIALIZED* = HRESULT(0x800401F1)
CO_E_CANTDETERMINECLASS* = HRESULT(0x800401F2)
CO_E_CLASSSTRING* = HRESULT(0x800401F3)
CO_E_IIDSTRING* = HRESULT(0x800401F4)
CO_E_APPNOTFOUND* = HRESULT(0x800401F5)
CO_E_APPSINGLEUSE* = HRESULT(0x800401F6)
CO_E_ERRORINAPP* = HRESULT(0x800401F7)
CO_E_DLLNOTFOUND* = HRESULT(0x800401F8)
CO_E_ERRORINDLL* = HRESULT(0x800401F9)
CO_E_WRONGOSFORAPP* = HRESULT(0x800401FA)
CO_E_OBJNOTREG* = HRESULT(0x800401FB)
CO_E_OBJISREG* = HRESULT(0x800401FC)
CO_E_OBJNOTCONNECTED* = HRESULT(0x800401FD)
CO_E_APPDIDNTREG* = HRESULT(0x800401FE)
CO_E_RELEASED* = HRESULT(0x800401FF)
OLE_E_FIRST* = HRESULT(0x80040000)
OLE_E_LAST* = HRESULT(0x800400FF)
OLE_S_FIRST* = HRESULT(0x00040000)
OLE_S_LAST* = HRESULT(0x000400FF)
OLE_E_OLEVERB* = HRESULT(0x80040000)
OLE_E_ADVF* = HRESULT(0x80040001)
OLE_E_ENUM_NOMORE* = HRESULT(0x80040002)
OLE_E_ADVISENOTSUPPORTED* = HRESULT(0x80040003)
OLE_E_NOCONNECTION* = HRESULT(0x80040004)
OLE_E_NOTRUNNING* = HRESULT(0x80040005)
OLE_E_NOCACHE* = HRESULT(0x80040006)
OLE_E_BLANK* = HRESULT(0x80040007)
OLE_E_CLASSDIFF* = HRESULT(0x80040008)
OLE_E_CANT_GETMONIKER* = HRESULT(0x80040009)
OLE_E_CANT_BINDTOSOURCE* = HRESULT(0x8004000A)
OLE_E_STATIC* = HRESULT(0x8004000B)
OLE_E_PROMPTSAVECANCELLED* = HRESULT(0x8004000C)
OLE_E_INVALIDRECT* = HRESULT(0x8004000D)
OLE_E_WRONGCOMPOBJ* = HRESULT(0x8004000E)
OLE_E_INVALIDHWND* = HRESULT(0x8004000F)
OLE_E_NOT_INPLACEACTIVE* = HRESULT(0x80040010)
OLE_E_CANTCONVERT* = HRESULT(0x80040011)
OLE_E_NOSTORAGE* = HRESULT(0x80040012)
DV_E_FORMATETC* = HRESULT(0x80040064)
DV_E_DVTARGETDEVICE* = HRESULT(0x80040065)
DV_E_STGMEDIUM* = HRESULT(0x80040066)
DV_E_STATDATA* = HRESULT(0x80040067)
DV_E_LINDEX* = HRESULT(0x80040068)
DV_E_TYMED* = HRESULT(0x80040069)
DV_E_CLIPFORMAT* = HRESULT(0x8004006A)
DV_E_DVASPECT* = HRESULT(0x8004006B)
DV_E_DVTARGETDEVICE_SIZE* = HRESULT(0x8004006C)
DV_E_NOIVIEWOBJECT* = HRESULT(0x8004006D)
DRAGDROP_E_FIRST* = DWORD(0x80040100)
DRAGDROP_E_LAST* = DWORD(0x8004010F)
DRAGDROP_S_FIRST* = DWORD(0x00040100)
DRAGDROP_S_LAST* = DWORD(0x0004010F)
DRAGDROP_E_NOTREGISTERED* = HRESULT(0x80040100)
DRAGDROP_E_ALREADYREGISTERED* = HRESULT(0x80040101)
DRAGDROP_E_INVALIDHWND* = HRESULT(0x80040102)
CLASSFACTORY_E_FIRST* = DWORD(0x80040110)
CLASSFACTORY_E_LAST* = DWORD(0x8004011F)
CLASSFACTORY_S_FIRST* = DWORD(0x00040110)
CLASSFACTORY_S_LAST* = DWORD(0x0004011F)
CLASS_E_NOAGGREGATION* = HRESULT(0x80040110)
CLASS_E_CLASSNOTAVAILABLE* = HRESULT(0x80040111)
MARSHAL_E_FIRST* = DWORD(0x80040120)
MARSHAL_E_LAST* = DWORD(0x8004012F)
MARSHAL_S_FIRST* = DWORD(0x00040120)
MARSHAL_S_LAST* = DWORD(0x0004012F)
DATA_E_FIRST* = DWORD(0x80040130)
DATA_E_LAST* = DWORD(0x8004013F)
DATA_S_FIRST* = DWORD(0x00040130)
DATA_S_LAST* = DWORD(0x0004013F)
VIEW_E_FIRST* = DWORD(0x80040140)
VIEW_E_LAST* = DWORD(0x8004014F)
VIEW_S_FIRST* = DWORD(0x00040140)
VIEW_S_LAST* = DWORD(0x0004014F)
VIEW_E_DRAW* = HRESULT(0x80040140)
REGDB_E_FIRST* = DWORD(0x80040150)
REGDB_E_LAST* = DWORD(0x8004015F)
REGDB_S_FIRST* = DWORD(0x00040150)
REGDB_S_LAST* = DWORD(0x0004015F)
REGDB_E_READREGDB* = HRESULT(0x80040150)
REGDB_E_WRITEREGDB* = HRESULT(0x80040151)
REGDB_E_KEYMISSING* = HRESULT(0x80040152)
REGDB_E_INVALIDVALUE* = HRESULT(0x80040153)
REGDB_E_CLASSNOTREG* = HRESULT(0x80040154)
REGDB_E_IIDNOTREG* = HRESULT(0x80040155)
CACHE_E_FIRST* = DWORD(0x80040170)
CACHE_E_LAST* = DWORD(0x8004017F)
CACHE_S_FIRST* = DWORD(0x00040170)
CACHE_S_LAST* = DWORD(0x0004017F)
CACHE_E_NOCACHE_UPDATED* = HRESULT(0x80040170)
OLEOBJ_E_FIRST* = DWORD(0x80040180)
OLEOBJ_E_LAST* = DWORD(0x8004018F)
OLEOBJ_S_FIRST* = DWORD(0x00040180)
OLEOBJ_S_LAST* = DWORD(0x0004018F)
OLEOBJ_E_NOVERBS* = HRESULT(0x80040180)
OLEOBJ_E_INVALIDVERB* = HRESULT(0x80040181)
CLIENTSITE_E_FIRST* = DWORD(0x80040190)
CLIENTSITE_E_LAST* = DWORD(0x8004019F)
CLIENTSITE_S_FIRST* = DWORD(0x00040190)
CLIENTSITE_S_LAST* = DWORD(0x0004019F)
INPLACE_E_NOTUNDOABLE* = HRESULT(0x800401A0)
INPLACE_E_NOTOOLSPACE* = HRESULT(0x800401A1)
INPLACE_E_FIRST* = DWORD(0x800401A0)
INPLACE_E_LAST* = DWORD(0x800401AF)
INPLACE_S_FIRST* = DWORD(0x000401A0)
INPLACE_S_LAST* = DWORD(0x000401AF)
ENUM_E_FIRST* = DWORD(0x800401B0)
ENUM_E_LAST* = DWORD(0x800401BF)
ENUM_S_FIRST* = DWORD(0x000401B0)
ENUM_S_LAST* = DWORD(0x000401BF)
CONVERT10_E_FIRST* = DWORD(0x800401C0)
CONVERT10_E_LAST* = DWORD(0x800401CF)
CONVERT10_S_FIRST* = DWORD(0x000401C0)
CONVERT10_S_LAST* = DWORD(0x000401CF)
CONVERT10_E_OLESTREAM_GET* = HRESULT(0x800401C0)
CONVERT10_E_OLESTREAM_PUT* = HRESULT(0x800401C1)
CONVERT10_E_OLESTREAM_FMT* = HRESULT(0x800401C2)
CONVERT10_E_OLESTREAM_BITMAP_TO_DIB* = HRESULT(0x800401C3)
CONVERT10_E_STG_FMT* = HRESULT(0x800401C4)
CONVERT10_E_STG_NO_STD_STREAM* = HRESULT(0x800401C5)
CONVERT10_E_STG_DIB_TO_BITMAP* = HRESULT(0x800401C6)
CLIPBRD_E_FIRST* = DWORD(0x800401D0)
CLIPBRD_E_LAST* = DWORD(0x800401DF)
CLIPBRD_S_FIRST* = DWORD(0x000401D0)
CLIPBRD_S_LAST* = DWORD(0x000401DF)
CLIPBRD_E_CANT_OPEN* = HRESULT(0x800401D0)
CLIPBRD_E_CANT_EMPTY* = HRESULT(0x800401D1)
CLIPBRD_E_CANT_SET* = HRESULT(0x800401D2)
CLIPBRD_E_BAD_DATA* = HRESULT(0x800401D3)
CLIPBRD_E_CANT_CLOSE* = HRESULT(0x800401D4)
MK_E_FIRST* = DWORD(0x800401E0)
MK_E_LAST* = DWORD(0x800401EF)
MK_S_FIRST* = DWORD(0x000401E0)
MK_S_LAST* = DWORD(0x000401EF)
MK_E_CONNECTMANUALLY* = HRESULT(0x800401E0)
MK_E_EXCEEDEDDEADLINE* = HRESULT(0x800401E1)
MK_E_NEEDGENERIC* = HRESULT(0x800401E2)
MK_E_UNAVAILABLE* = HRESULT(0x800401E3)
MK_E_SYNTAX* = HRESULT(0x800401E4)
MK_E_NOOBJECT* = HRESULT(0x800401E5)
MK_E_INVALIDEXTENSION* = HRESULT(0x800401E6)
MK_E_INTERMEDIATEINTERFACENOTSUPPORTED* = HRESULT(0x800401E7)
MK_E_NOTBINDABLE* = HRESULT(0x800401E8)
MK_E_NOTBOUND* = HRESULT(0x800401E9)
MK_E_CANTOPENFILE* = HRESULT(0x800401EA)
MK_E_MUSTBOTHERUSER* = HRESULT(0x800401EB)
MK_E_NOINVERSE* = HRESULT(0x800401EC)
MK_E_NOSTORAGE* = HRESULT(0x800401ED)
MK_E_NOPREFIX* = HRESULT(0x800401EE)
MK_E_ENUMERATION_FAILED* = HRESULT(0x800401EF)
OLE_S_USEREG* = HRESULT(0x00040000)
OLE_S_STATIC* = HRESULT(0x00040001)
OLE_S_MAC_CLIPFORMAT* = HRESULT(0x00040002)
DRAGDROP_S_DROP* = HRESULT(0x00040100)
DRAGDROP_S_CANCEL* = HRESULT(0x00040101)
DRAGDROP_S_USEDEFAULTCURSORS* = HRESULT(0x00040102)
DATA_S_SAMEFORMATETC* = HRESULT(0x00040130)
VIEW_S_ALREADY_FROZEN* = HRESULT(0x00040140)
CACHE_S_FORMATETC_NOTSUPPORTED* = HRESULT(0x00040170)
CACHE_S_SAMECACHE* = HRESULT(0x00040171)
CACHE_S_SOMECACHES_NOTUPDATED* = HRESULT(0x00040172)
OLEOBJ_S_INVALIDVERB* = HRESULT(0x00040180)
OLEOBJ_S_CANNOT_DOVERB_NOW* = HRESULT(0x00040181)
OLEOBJ_S_INVALIDHWND* = HRESULT(0x00040182)
INPLACE_S_TRUNCATED* = HRESULT(0x000401A0)
CONVERT10_S_NO_PRESENTATION* = HRESULT(0x000401C0)
MK_S_REDUCED_TO_SELF* = HRESULT(0x000401E2)
MK_S_ME* = HRESULT(0x000401E4)
MK_S_HIM* = HRESULT(0x000401E5)
MK_S_US* = HRESULT(0x000401E6)
MK_S_MONIKERALREADYREGISTERED* = HRESULT(0x000401E7)
CO_E_CLASS_CREATE_FAILED* = HRESULT(0x80080001)
CO_E_SCM_ERROR* = HRESULT(0x80080002)
CO_E_SCM_RPC_FAILURE* = HRESULT(0x80080003)
CO_E_BAD_PATH* = HRESULT(0x80080004)
CO_E_SERVER_EXEC_FAILURE* = HRESULT(0x80080005)
CO_E_OBJSRV_RPC_FAILURE* = HRESULT(0x80080006)
MK_E_NO_NORMALIZED* = HRESULT(0x80080007)
CO_E_SERVER_STOPPING* = HRESULT(0x80080008)
MEM_E_INVALID_ROOT* = HRESULT(0x80080009)
MEM_E_INVALID_LINK* = HRESULT(0x80080010)
MEM_E_INVALID_SIZE* = HRESULT(0x80080011)
CO_S_NOTALLINTERFACES* = HRESULT(0x00080012)
DISP_E_UNKNOWNINTERFACE* = HRESULT(0x80020001)
DISP_E_MEMBERNOTFOUND* = HRESULT(0x80020003)
DISP_E_PARAMNOTFOUND* = HRESULT(0x80020004)
DISP_E_TYPEMISMATCH* = HRESULT(0x80020005)
DISP_E_UNKNOWNNAME* = HRESULT(0x80020006)
DISP_E_NONAMEDARGS* = HRESULT(0x80020007)
DISP_E_BADVARTYPE* = HRESULT(0x80020008)
DISP_E_EXCEPTION* = HRESULT(0x80020009)
DISP_E_OVERFLOW* = HRESULT(0x8002000A)
DISP_E_BADINDEX* = HRESULT(0x8002000B)
DISP_E_UNKNOWNLCID* = HRESULT(0x8002000C)
DISP_E_ARRAYISLOCKED* = HRESULT(0x8002000D)
DISP_E_BADPARAMCOUNT* = HRESULT(0x8002000E)
DISP_E_PARAMNOTOPTIONAL* = HRESULT(0x8002000F)
DISP_E_BADCALLEE* = HRESULT(0x80020010)
DISP_E_NOTACOLLECTION* = HRESULT(0x80020011)
TYPE_E_BUFFERTOOSMALL* = HRESULT(0x80028016)
TYPE_E_INVDATAREAD* = HRESULT(0x80028018)
TYPE_E_UNSUPFORMAT* = HRESULT(0x80028019)
TYPE_E_REGISTRYACCESS* = HRESULT(0x8002801C)
TYPE_E_LIBNOTREGISTERED* = HRESULT(0x8002801D)
TYPE_E_UNDEFINEDTYPE* = HRESULT(0x80028027)
TYPE_E_QUALIFIEDNAMEDISALLOWED* = HRESULT(0x80028028)
TYPE_E_INVALIDSTATE* = HRESULT(0x80028029)
TYPE_E_WRONGTYPEKIND* = HRESULT(0x8002802A)
TYPE_E_ELEMENTNOTFOUND* = HRESULT(0x8002802B)
TYPE_E_AMBIGUOUSNAME* = HRESULT(0x8002802C)
TYPE_E_NAMECONFLICT* = HRESULT(0x8002802D)
TYPE_E_UNKNOWNLCID* = HRESULT(0x8002802E)
TYPE_E_DLLFUNCTIONNOTFOUND* = HRESULT(0x8002802F)
TYPE_E_BADMODULEKIND* = HRESULT(0x800288BD)
TYPE_E_SIZETOOBIG* = HRESULT(0x800288C5)
TYPE_E_DUPLICATEID* = HRESULT(0x800288C6)
TYPE_E_INVALIDID* = HRESULT(0x800288CF)
TYPE_E_TYPEMISMATCH* = HRESULT(0x80028CA0)
TYPE_E_OUTOFBOUNDS* = HRESULT(0x80028CA1)
TYPE_E_IOERROR* = HRESULT(0x80028CA2)
TYPE_E_CANTCREATETMPFILE* = HRESULT(0x80028CA3)
TYPE_E_CANTLOADLIBRARY* = HRESULT(0x80029C4A)
TYPE_E_INCONSISTENTPROPFUNCS* = HRESULT(0x80029C83)
TYPE_E_CIRCULARTYPE* = HRESULT(0x80029C84)
STG_E_INVALIDFUNCTION* = HRESULT(0x80030001)
STG_E_FILENOTFOUND* = HRESULT(0x80030002)
STG_E_PATHNOTFOUND* = HRESULT(0x80030003)
STG_E_TOOMANYOPENFILES* = HRESULT(0x80030004)
STG_E_ACCESSDENIED* = HRESULT(0x80030005)
STG_E_INVALIDHANDLE* = HRESULT(0x80030006)
STG_E_INSUFFICIENTMEMORY* = HRESULT(0x80030008)
STG_E_INVALIDPOINTER* = HRESULT(0x80030009)
STG_E_NOMOREFILES* = HRESULT(0x80030012)
STG_E_DISKISWRITEPROTECTED* = HRESULT(0x80030013)
STG_E_SEEKERROR* = HRESULT(0x80030019)
STG_E_WRITEFAULT* = HRESULT(0x8003001D)
STG_E_READFAULT* = HRESULT(0x8003001E)
STG_E_SHAREVIOLATION* = HRESULT(0x80030020)
STG_E_LOCKVIOLATION* = HRESULT(0x80030021)
STG_E_FILEALREADYEXISTS* = HRESULT(0x80030050)
STG_E_INVALIDPARAMETER* = HRESULT(0x80030057)
STG_E_MEDIUMFULL* = HRESULT(0x80030070)
STG_E_PROPSETMISMATCHED* = HRESULT(0x800300F0)
STG_E_ABNORMALAPIEXIT* = HRESULT(0x800300FA)
STG_E_INVALIDHEADER* = HRESULT(0x800300FB)
STG_E_INVALIDNAME* = HRESULT(0x800300FC)
STG_E_UNKNOWN* = HRESULT(0x800300FD)
STG_E_UNIMPLEMENTEDFUNCTION* = HRESULT(0x800300FE)
STG_E_INVALIDFLAG* = HRESULT(0x800300FF)
STG_E_INUSE* = HRESULT(0x80030100)
STG_E_NOTCURRENT* = HRESULT(0x80030101)
STG_E_REVERTED* = HRESULT(0x80030102)
STG_E_CANTSAVE* = HRESULT(0x80030103)
STG_E_OLDFORMAT* = HRESULT(0x80030104)
STG_E_OLDDLL* = HRESULT(0x80030105)
STG_E_SHAREREQUIRED* = HRESULT(0x80030106)
STG_E_NOTFILEBASEDSTORAGE* = HRESULT(0x80030107)
STG_E_EXTANTMARSHALLINGS* = HRESULT(0x80030108)
STG_E_DOCFILECORRUPT* = HRESULT(0x80030109)
STG_E_BADBASEADDRESS* = HRESULT(0x80030110)
STG_E_INCOMPLETE* = HRESULT(0x80030201)
STG_E_TERMINATED* = HRESULT(0x80030202)
STG_S_CONVERTED* = HRESULT(0x00030200)
STG_S_BLOCK* = HRESULT(0x00030201)
STG_S_RETRYNOW* = HRESULT(0x00030202)
STG_S_MONITORING* = HRESULT(0x00030203)
RPC_E_CALL_REJECTED* = HRESULT(0x80010001)
RPC_E_CALL_CANCELED* = HRESULT(0x80010002)
RPC_E_CANTPOST_INSENDCALL* = HRESULT(0x80010003)
RPC_E_CANTCALLOUT_INASYNCCALL* = HRESULT(0x80010004)
RPC_E_CANTCALLOUT_INEXTERNALCALL* = HRESULT(0x80010005)
RPC_E_CONNECTION_TERMINATED* = HRESULT(0x80010006)
RPC_E_SERVER_DIED* = HRESULT(0x80010007)
RPC_E_CLIENT_DIED* = HRESULT(0x80010008)
RPC_E_INVALID_DATAPACKET* = HRESULT(0x80010009)
RPC_E_CANTTRANSMIT_CALL* = HRESULT(0x8001000A)
RPC_E_CLIENT_CANTMARSHAL_DATA* = HRESULT(0x8001000B)
RPC_E_CLIENT_CANTUNMARSHAL_DATA* = HRESULT(0x8001000C)
RPC_E_SERVER_CANTMARSHAL_DATA* = HRESULT(0x8001000D)
RPC_E_SERVER_CANTUNMARSHAL_DATA* = HRESULT(0x8001000E)
RPC_E_INVALID_DATA* = HRESULT(0x8001000F)
RPC_E_INVALID_PARAMETER* = HRESULT(0x80010010)
RPC_E_CANTCALLOUT_AGAIN* = HRESULT(0x80010011)
RPC_E_SERVER_DIED_DNE* = HRESULT(0x80010012)
RPC_E_SYS_CALL_FAILED* = HRESULT(0x80010100)
RPC_E_OUT_OF_RESOURCES* = HRESULT(0x80010101)
RPC_E_ATTEMPTED_MULTITHREAD* = HRESULT(0x80010102)
RPC_E_NOT_REGISTERED* = HRESULT(0x80010103)
RPC_E_FAULT* = HRESULT(0x80010104)
RPC_E_SERVERFAULT* = HRESULT(0x80010105)
RPC_E_CHANGED_MODE* = HRESULT(0x80010106)
RPC_E_INVALIDMETHOD* = HRESULT(0x80010107)
RPC_E_DISCONNECTED* = HRESULT(0x80010108)
RPC_E_RETRY* = HRESULT(0x80010109)
RPC_E_SERVERCALL_RETRYLATER* = HRESULT(0x8001010A)
RPC_E_SERVERCALL_REJECTED* = HRESULT(0x8001010B)
RPC_E_INVALID_CALLDATA* = HRESULT(0x8001010C)
RPC_E_CANTCALLOUT_ININPUTSYNCCALL* = HRESULT(0x8001010D)
RPC_E_WRONG_THREAD* = HRESULT(0x8001010E)
RPC_E_THREAD_NOT_INIT* = HRESULT(0x8001010F)
RPC_E_VERSION_MISMATCH* = HRESULT(0x80010110)
RPC_E_INVALID_HEADER* = HRESULT(0x80010111)
RPC_E_INVALID_EXTENSION* = HRESULT(0x80010112)
RPC_E_INVALID_IPID* = HRESULT(0x80010113)
RPC_E_INVALID_OBJECT* = HRESULT(0x80010114)
RPC_S_CALLPENDING* = HRESULT(0x80010115)
RPC_S_WAITONTIMER* = HRESULT(0x80010116)
RPC_E_CALL_COMPLETE* = HRESULT(0x80010117)
RPC_E_UNSECURE_CALL* = HRESULT(0x80010118)
RPC_E_TOO_LATE* = HRESULT(0x80010119)
RPC_E_NO_GOOD_SECURITY_PACKAGES* = HRESULT(0x8001011A)
RPC_E_ACCESS_DENIED* = HRESULT(0x8001011B)
RPC_E_REMOTE_DISABLED* = HRESULT(0x8001011C)
RPC_E_INVALID_OBJREF* = HRESULT(0x8001011D)
RPC_E_UNEXPECTED* = HRESULT(0x8001FFFF)
NTE_BAD_UID* = HRESULT(0x80090001)
NTE_BAD_HASH* = HRESULT(0x80090002)
NTE_BAD_KEY* = HRESULT(0x80090003)
NTE_BAD_LEN* = HRESULT(0x80090004)
NTE_BAD_DATA* = HRESULT(0x80090005)
NTE_BAD_SIGNATURE* = HRESULT(0x80090006)
NTE_BAD_VER* = HRESULT(0x80090007)
NTE_BAD_ALGID* = HRESULT(0x80090008)
NTE_BAD_FLAGS* = HRESULT(0x80090009)
NTE_BAD_TYPE* = HRESULT(0x8009000A)
NTE_BAD_KEY_STATE* = HRESULT(0x8009000B)
NTE_BAD_HASH_STATE* = HRESULT(0x8009000C)
NTE_NO_KEY* = HRESULT(0x8009000D)
NTE_NO_MEMORY* = HRESULT(0x8009000E)
NTE_EXISTS* = HRESULT(0x8009000F)
NTE_PERM* = HRESULT(0x80090010)
NTE_NOT_FOUND* = HRESULT(0x80090011)
NTE_DOUBLE_ENCRYPT* = HRESULT(0x80090012)
NTE_BAD_PROVIDER* = HRESULT(0x80090013)
NTE_BAD_PROV_TYPE* = HRESULT(0x80090014)
NTE_BAD_PUBLIC_KEY* = HRESULT(0x80090015)
NTE_BAD_KEYSET* = HRESULT(0x80090016)
NTE_PROV_TYPE_NOT_DEF* = HRESULT(0x80090017)
NTE_PROV_TYPE_ENTRY_BAD* = HRESULT(0x80090018)
NTE_KEYSET_NOT_DEF* = HRESULT(0x80090019)
NTE_KEYSET_ENTRY_BAD* = HRESULT(0x8009001A)
NTE_PROV_TYPE_NO_MATCH* = HRESULT(0x8009001B)
NTE_SIGNATURE_FILE_BAD* = HRESULT(0x8009001C)
NTE_PROVIDER_DLL_FAIL* = HRESULT(0x8009001D)
NTE_PROV_DLL_NOT_FOUND* = HRESULT(0x8009001E)
NTE_BAD_KEYSET_PARAM* = HRESULT(0x8009001F)
NTE_FAIL* = HRESULT(0x80090020)
NTE_SYS_ERR* = HRESULT(0x80090021)
NTE_OP_OK* = HRESULT(0)
TRUST_E_PROVIDER_UNKNOWN* = HRESULT(0x800B0001)
TRUST_E_ACTION_UNKNOWN* = HRESULT(0x800B0002)
TRUST_E_SUBJECT_FORM_UNKNOWN* = HRESULT(0x800B0003)
TRUST_E_SUBJECT_NOT_TRUSTED* = HRESULT(0x800B0004)
DIGSIG_E_ENCODE* = HRESULT(0x800B0005)
DIGSIG_E_DECODE* = HRESULT(0x800B0006)
DIGSIG_E_EXTENSIBILITY* = HRESULT(0x800B0007)
DIGSIG_E_CRYPTO* = HRESULT(0x800B0008)
PERSIST_E_SIZEDEFINITE* = HRESULT(0x800B0009)
PERSIST_E_SIZEINDEFINITE* = HRESULT(0x800B000A)
PERSIST_E_NOTSELFSIZING* = HRESULT(0x800B000B)
TRUST_E_NOSIGNATURE* = HRESULT(0x800B0100)
CERT_E_EXPIRED* = HRESULT(0x800B0101)
CERT_E_VALIDIYPERIODNESTING* = HRESULT(0x800B0102)
CERT_E_ROLE* = HRESULT(0x800B0103)
CERT_E_PATHLENCONST* = HRESULT(0x800B0104)
CERT_E_CRITICAL* = HRESULT(0x800B0105)
CERT_E_PURPOSE* = HRESULT(0x800B0106)
CERT_E_ISSUERCHAINING* = HRESULT(0x800B0107)
CERT_E_MALFORMED* = HRESULT(0x800B0108)
CERT_E_UNTRUSTEDROOT* = HRESULT(0x800B0109)
CERT_E_CHAINING* = HRESULT(0x800B010A)
LF_FACESIZE* = 32
LF_FULLFACESIZE* = 64
ELF_VENDOR_SIZE* = 4
SECURITY_STATIC_TRACKING* = 0
SECURITY_DYNAMIC_TRACKING* = 1
MAX_DEFAULTCHAR* = 2
MAX_LEADBYTES* = 12
EXCEPTION_MAXIMUM_PARAMETERS* = 15
CCHDEVICENAME* = 32
CCHFORMNAME* = 32
MENU_TEXT_LEN* = 40
MAX_LANA* = 254
NCBNAMSZ* = 16
NETBIOS_NAME_LEN* = 16
OFS_MAXPATHNAME* = 128
MAX_TAB_STOPS* = 32
ANYSIZE_ARRAY* = 1
RAS_MaxCallbackNumber* = 128
RAS_MaxDeviceName* = 128
RAS_MaxDeviceType* = 16
RAS_MaxEntryName* = 256
RAS_MaxIpAddress* = 15
RAS_MaxIpxAddress* = 21
RAS_MaxPhoneNumber* = 128
UNLEN* = 256
PWLEN* = 256
CNLEN* = 15
DNLEN* = 15
MAXDWORD* = 0xFFFFFFFF
MAXWORD* = 0x0000FFFF
MAXBYTE* = 0x000000FF
MINCHAR* = 0x00000080
MAXCHAR* = 0x0000007F
MINSHORT* = 0x00008000
MAXSHORT* = 0x00007FFF
MINLONG* = 0x80000000
MAXLONG* = 0x7FFFFFFF
FILE_BEGIN* = 0
FILE_CURRENT* = 1
FILE_END* = 2
OF_READ* = 0
OF_READWRITE* = 2
OF_WRITE* = 1
OF_SHARE_COMPAT* = 0
OF_SHARE_DENY_NONE* = 64
OF_SHARE_DENY_READ* = 48
OF_SHARE_DENY_WRITE* = 32
OF_SHARE_EXCLUSIVE* = 16
OF_CANCEL* = 2048
OF_CREATE* = 4096
OF_DELETE* = 512
OF_EXIST* = 16384
OF_PARSE* = 256
OF_PROMPT* = 8192
OF_REOPEN* = 32768
OF_VERIFY* = 1024
HKL_NEXT* = 1
HKL_PREV* = 0
KLF_REORDER* = 8
KLF_UNLOADPREVIOUS* = 4
KLF_ACTIVATE* = 1
KLF_NOTELLSHELL* = 128
KLF_REPLACELANG* = 16
KLF_SUBSTITUTE_OK* = 2
MF_BITMAP* = 0x00000004
MF_DISABLED* = 0x00000002
MF_ENABLED* = 0
MF_GRAYED* = 0x00000001
MF_HELP* = 0x00004000
MF_MENUBARBREAK* = 0x00000020
MF_MENUBREAK* = 0x00000040
MF_MOUSESELECT* = 0x00008000
MF_OWNERDRAW* = 0x00000100
MF_POPUP* = 0x00000010
MF_SEPARATOR* = 0x00000800
MF_STRING* = 0
MF_SYSMENU* = 0x00002000
MF_USECHECKBITMAPS* = 0x00000200
BLACKNESS* = 0x00000042
NOTSRCERASE* = 0x001100A6
NOTSRCCOPY* = 0x00330008
SRCERASE* = 0x00440328
DSTINVERT* = 0x00550009
PATINVERT* = 0x005A0049
SRCINVERT* = 0x00660046
SRCAND* = 0x008800C6
MERGEPAINT* = 0x00BB0226
MERGECOPY* = 0x00C000CA
SRCCOPY* = 0x00CC0020
SRCPAINT* = 0x00EE0086
PATCOPY* = 0x00F00021
PATPAINT* = 0x00FB0A09
WHITENESS* = 0x00FF0062
R2_BLACK* = 1
R2_COPYPEN* = 13
R2_MASKNOTPEN* = 3
R2_MASKPEN* = 9
R2_MASKPENNOT* = 5
R2_MERGENOTPEN* = 12
R2_MERGEPEN* = 15
R2_MERGEPENNOT* = 14
R2_NOP* = 11
R2_NOT* = 6
R2_NOTCOPYPEN* = 4
R2_NOTMASKPEN* = 8
R2_NOTMERGEPEN* = 2
R2_NOTXORPEN* = 10
R2_WHITE* = 16
R2_XORPEN* = 7
BSF_FLUSHDISK* = 4
BSF_FORCEIFHUNG* = 32
BSF_IGNORECURRENTTASK* = 2
BSF_NOHANG* = 8
BSF_POSTMESSAGE* = 16
BSF_QUERY* = 1
BSM_ALLCOMPONENTS* = 0
BSM_APPLICATIONS* = 8
BSM_INSTALLABLEDRIVERS* = 4
BSM_NETDRIVER* = 2
BSM_VXDS* = 1
BROADCAST_QUERY_DENY* = 1112363332
NMPWAIT_NOWAIT* = 1
NMPWAIT_WAIT_FOREVER* = - 1
NMPWAIT_USE_DEFAULT_WAIT* = 0
MDITILE_SKIPDISABLED* = 2
MDITILE_HORIZONTAL* = 1
MDITILE_VERTICAL* = 0
HCBT_ACTIVATE* = 5
HCBT_CLICKSKIPPED* = 6
HCBT_CREATEWND* = 3
HCBT_DESTROYWND* = 4
HCBT_KEYSKIPPED* = 7
HCBT_MINMAX* = 1
HCBT_MOVESIZE* = 0
HCBT_QS* = 2
HCBT_SETFOCUS* = 9
HCBT_SYSCOMMAND* = 8
CDS_UPDATEREGISTRY* = 1
CDS_TEST* = 2
CDS_FULLSCREEN* = 4
CDS_GLOBAL* = 8
CDS_SET_PRIMARY* = 0x00000010
CDS_RESET* = 0x40000000
CDS_SETRECT* = 0x20000000
CDS_NORESET* = 0x10000000
DISP_CHANGE_SUCCESSFUL* = 0
DISP_CHANGE_RESTART* = 1
DISP_CHANGE_BADFLAGS* = - 4
DISP_CHANGE_FAILED* = - 1
DISP_CHANGE_BADMODE* = - 2
DISP_CHANGE_NOTUPDATED* = - 3
SERVICE_NO_CHANGE* = - 1
SERVICE_WIN32_OWN_PROCESS* = 16
SERVICE_WIN32_SHARE_PROCESS* = 32
SERVICE_KERNEL_DRIVER* = 1
SERVICE_FILE_SYSTEM_DRIVER* = 2
SERVICE_INTERACTIVE_PROCESS* = 256
SERVICE_BOOT_START* = 0
SERVICE_SYSTEM_START* = 1
SERVICE_AUTO_START* = 2
SERVICE_DEMAND_START* = 3
SERVICE_DISABLED* = 4
SERVICE_STOPPED* = 1
SERVICE_START_PENDING* = 2
SERVICE_STOP_PENDING* = 3
SERVICE_RUNNING* = 4
SERVICE_CONTINUE_PENDING* = 5
SERVICE_PAUSE_PENDING* = 6
SERVICE_PAUSED* = 7
SERVICE_ACCEPT_STOP* = 1
SERVICE_ACCEPT_PAUSE_CONTINUE* = 2
SERVICE_ACCEPT_SHUTDOWN* = 4
BST_CHECKED* = 1
BST_INDETERMINATE* = 2
BST_UNCHECKED* = 0
BST_FOCUS* = 8
BST_PUSHED* = 4
MF_BYCOMMAND* = 0
MF_BYPOSITION* = 0x00000400
MF_CHECKED* = 0x00000008
MF_UNCHECKED* = 0
MF_HILITE* = 0x00000080
MF_UNHILITE* = 0
CWP_ALL* = 0
CWP_SKIPINVISIBLE* = 1
CWP_SKIPDISABLED* = 2
CWP_SKIPTRANSPARENT* = 4
CE_BREAK* = 16
CE_DNS* = 2048
CE_FRAME* = 8
CE_IOE* = 1024
CE_MODE* = 32768
CE_OOP* = 4096
CE_OVERRUN* = 2
CE_PTO* = 512
CE_RXOVER* = 1
CE_RXPARITY* = 4
CE_TXFULL* = 256
RGN_AND* = 1
RGN_COPY* = 5
RGN_DIFF* = 4
RGN_OR* = 2
RGN_XOR* = 3
NULLREGION* = 1
SIMPLEREGION* = 2
COMPLEXREGION* = 3
ERROR* = 0
CDERR_DIALOGFAILURE* = 0x0000FFFF
CDERR_FINDRESFAILURE* = 6
CDERR_INITIALIZATION* = 2
CDERR_LOADRESFAILURE* = 7
CDERR_LOADSTRFAILURE* = 5
CDERR_LOCKRESFAILURE* = 8
CDERR_MEMALLOCFAILURE* = 9
CDERR_MEMLOCKFAILURE* = 10
CDERR_NOHINSTANCE* = 4
CDERR_NOHOOK* = 11
CDERR_NOTEMPLATE* = 3
CDERR_REGISTERMSGFAIL* = 12
CDERR_STRUCTSIZE* = 1
PDERR_CREATEICFAILURE* = 0x00001000 + 10
PDERR_DEFAULTDIFFERENT* = 0x00001000 + 12
PDERR_DNDMMISMATCH* = 0x00001000 + 9
PDERR_GETDEVMODEFAIL* = 0x00001000 + 5
PDERR_INITFAILURE* = 0x00001000 + 6
PDERR_LOADDRVFAILURE* = 0x00001000 + 4
PDERR_NODEFAULTPRN* = 0x00001000 + 8
PDERR_NODEVICES* = 0x00001000 + 7
PDERR_PARSEFAILURE* = 0x00001000 + 2
PDERR_PRINTERNOTFOUND* = 0x00001000 + 11
PDERR_RETDEFFAILURE* = 0x00001000 + 3
PDERR_SETUPFAILURE* = 0x00001000 + 1
CFERR_MAXLESSTHANMIN* = 0x00002000 + 2
CFERR_NOFONTS* = 0x00002000 + 1
FNERR_BUFFERTOOSMALL* = 0x00003000 + 3
FNERR_INVALIDFILENAME* = 0x00003000 + 2
FNERR_SUBCLASSFAILURE* = 0x00003000 + 1
FRERR_BUFFERLENGTHZERO* = 0x00004000 + 1
LOCALE_SYSTEM_DEFAULT* = 0x00000800
LOCALE_USER_DEFAULT* = 0x00000400
NORM_IGNORECASE* = 1
NORM_IGNOREKANATYPE* = 65536
NORM_IGNORENONSPACE* = 2
NORM_IGNORESYMBOLS* = 4
NORM_IGNOREWIDTH* = 131072
SORT_STRINGSORT* = 4096
LCMAP_BYTEREV* = 2048
LCMAP_FULLWIDTH* = 8388608
LCMAP_HALFWIDTH* = 4194304
LCMAP_HIRAGANA* = 1048576
LCMAP_KATAKANA* = 2097152
LCMAP_LOWERCASE* = 256
LCMAP_SORTKEY* = 1024
LCMAP_UPPERCASE* = 512
DBG_CONTINUE* = 0x00010002
DBG_CONTROL_BREAK* = 0x40010008
DBG_CONTROL_C* = 0x40010005
DBG_EXCEPTION_NOT_HANDLED* = 0x80010001
DBG_TERMINATE_THREAD* = 0x40010003
DBG_TERMINATE_PROCESS* = 0x40010004
SERVICE_CONTROL_STOP* = 1
SERVICE_CONTROL_PAUSE* = 2
SERVICE_CONTROL_CONTINUE* = 3
SERVICE_CONTROL_INTERROGATE* = 4
SERVICE_CONTROL_SHUTDOWN* = 5
IMAGE_BITMAP* = 0
IMAGE_CURSOR* = 2
IMAGE_ENHMETAFILE* = 1
IMAGE_ICON* = 1
LR_MONOCHROME* = 1
LR_COLOR* = 2
LR_COPYRETURNORG* = 4
LR_COPYDELETEORG* = 8
LR_DEFAULTSIZE* = 64
LR_CREATEDIBSECTION* = 8192
LR_COPYFROMRESOURCE* = 0x00004000
LR_SHARED* = 0x00008000
DF_ALLOWOTHERACCOUNTHOOK* = 0x00000001
DESKTOP_CREATEMENU* = 0x00000004
DESKTOP_CREATEWINDOW* = 0x00000002
DESKTOP_ENUMERATE* = 0x00000040
DESKTOP_HOOKCONTROL* = 0x00000008
DESKTOP_JOURNALPLAYBACK* = 0x00000020
DESKTOP_JOURNALRECORD* = 0x00000010
DESKTOP_READOBJECTS* = 0x00000001
DESKTOP_SWITCHDESKTOP* = 0x00000100
DESKTOP_WRITEOBJECTS* = 0x00000080
WSF_VISIBLE* = 0x00000001
CBM_INIT* = 0x00000004
DIB_PAL_COLORS* = 1
DIB_RGB_COLORS* = 0
GENERIC_READ* = 0x80000000
GENERIC_WRITE* = 0x40000000
FILE_READ_DATA* = 0x00000001
FILE_LIST_DIRECTORY* = 0x00000001
FILE_WRITE_DATA* = 0x00000002
FILE_ADD_FILE* = 0x00000002
FILE_APPEND_DATA* = 0x00000004
FILE_ADD_SUBDIRECTORY* = 0x00000004
FILE_CREATE_PIPE_INSTANCE* = 0x00000004
FILE_READ_EA* = 0x00000008
FILE_READ_PROPERTIES* = FILE_READ_EA
FILE_WRITE_EA* = 0x00000010
FILE_WRITE_PROPERTIES* = FILE_WRITE_EA
FILE_EXECUTE* = 0x00000020
FILE_TRAVERSE* = 0x00000020
FILE_DELETE_CHILD* = 0x00000040
FILE_READ_ATTRIBUTES* = 0x00000080
FILE_WRITE_ATTRIBUTES* = 0x00000100
FILE_SHARE_DELETE* = 4
FILE_SHARE_READ* = 1
FILE_SHARE_WRITE* = 2
CONSOLE_TEXTMODE_BUFFER* = 1
CREATE_NEW* = 1
CREATE_ALWAYS* = 2
OPEN_EXISTING* = 3
OPEN_ALWAYS* = 4
TRUNCATE_EXISTING* = 5
FILE_ATTRIBUTE_ARCHIVE* = 32
FILE_ATTRIBUTE_COMPRESSED* = 2048
FILE_ATTRIBUTE_NORMAL* = 128
FILE_ATTRIBUTE_DIRECTORY* = 16
FILE_ATTRIBUTE_HIDDEN* = 2
FILE_ATTRIBUTE_READONLY* = 1
FILE_ATTRIBUTE_SYSTEM* = 4
FILE_ATTRIBUTE_TEMPORARY* = 256
FILE_FLAG_WRITE_THROUGH* = 0x80000000
FILE_FLAG_OVERLAPPED* = 1073741824
FILE_FLAG_NO_BUFFERING* = 536870912
FILE_FLAG_RANDOM_ACCESS* = 268435456
FILE_FLAG_SEQUENTIAL_SCAN* = 134217728
FILE_FLAG_DELETE_ON_CLOSE* = 67108864
FILE_FLAG_BACKUP_SEMANTICS* = 33554432
FILE_FLAG_POSIX_SEMANTICS* = 16777216
cSECURITY_ANONYMOUS* = 0
cSECURITY_IDENTIFICATION* = 65536
cSECURITY_IMPERSONATION* = 131072
cSECURITY_DELEGATION* = 196608
cSECURITY_CONTEXT_TRACKING* = 262144
cSECURITY_EFFECTIVE_ONLY* = 524288
cSECURITY_SQOS_PRESENT* = 1048576
SEC_COMMIT* = 134217728
SEC_IMAGE* = 16777216
SEC_NOCACHE* = 268435456
SEC_RESERVE* = 67108864
PAGE_READONLY* = 2
PAGE_READWRITE* = 4
PAGE_WRITECOPY* = 8
PAGE_EXECUTE* = 16
PAGE_EXECUTE_READ* = 32
PAGE_EXECUTE_READWRITE* = 64
PAGE_EXECUTE_WRITECOPY* = 128
PAGE_GUARD* = 256
PAGE_NOACCESS* = 1
PAGE_NOCACHE* = 512
MEM_COMMIT* = 4096
MEM_FREE* = 65536
MEM_RESERVE* = 8192
MEM_IMAGE* = 16777216
MEM_MAPPED* = 262144
MEM_PRIVATE* = 131072
MEM_DECOMMIT* = 16384
MEM_RELEASE* = 32768
MEM_TOP_DOWN* = 1048576
EXCEPTION_GUARD_PAGE* = 0x80000001
SECTION_EXTEND_SIZE* = 0x00000010
SECTION_MAP_READ* = 0x00000004
SECTION_MAP_WRITE* = 0x00000002
SECTION_QUERY* = 0x00000001
SECTION_ALL_ACCESS* = 0x000F001F
FW_DONTCARE* = 0
FW_THIN* = 100
FW_EXTRALIGHT* = 200
FW_LIGHT* = 300
FW_NORMAL* = 400
FW_REGULAR* = FW_NORMAL
FW_MEDIUM* = 500
FW_SEMIBOLD* = 600
FW_BOLD* = 700
FW_EXTRABOLD* = 800
FW_HEAVY* = 900
ANSI_CHARSET* = 0
DEFAULT_CHARSET* = 1
SYMBOL_CHARSET* = 2
SHIFTJIS_CHARSET* = 128
HANGEUL_CHARSET* = 129
GB2312_CHARSET* = 134
CHINESEBIG5_CHARSET* = 136
GREEK_CHARSET* = 161
TURKISH_CHARSET* = 162
HEBREW_CHARSET* = 177
ARABIC_CHARSET* = 178
BALTIC_CHARSET* = 186
RUSSIAN_CHARSET* = 204
THAI_CHARSET* = 222
EASTEUROPE_CHARSET* = 238
OEM_CHARSET* = 255
OUT_DEFAULT_PRECIS* = 0
OUT_STRING_PRECIS* = 1
OUT_CHARACTER_PRECIS* = 2
OUT_STROKE_PRECIS* = 3
OUT_TT_PRECIS* = 4
OUT_DEVICE_PRECIS* = 5
OUT_RASTER_PRECIS* = 6
OUT_TT_ONLY_PRECIS* = 7
OUT_OUTLINE_PRECIS* = 8
CLIP_DEFAULT_PRECIS* = 0
CLIP_CHARACTER_PRECIS* = 1
CLIP_STROKE_PRECIS* = 2
CLIP_MASK* = 15
CLIP_LH_ANGLES* = 16
CLIP_TT_ALWAYS* = 32
CLIP_EMBEDDED* = 128
DEFAULT_QUALITY* = 0
DRAFT_QUALITY* = 1
PROOF_QUALITY* = 2
NONANTIALIASED_QUALITY* = 3
ANTIALIASED_QUALITY* = 4
DEFAULT_PITCH* = 0
FIXED_PITCH* = 1
VARIABLE_PITCH* = 2
MONO_FONT* = 8
FF_DECORATIVE* = 80
FF_DONTCARE* = 0
FF_MODERN* = 48
FF_ROMAN* = 16
FF_SCRIPT* = 64
FF_SWISS* = 32
HS_BDIAGONAL* = 3
HS_CROSS* = 4
HS_DIAGCROSS* = 5
HS_FDIAGONAL* = 2
HS_HORIZONTAL* = 0
HS_VERTICAL* = 1
LR_DEFAULTCOLOR* = 0
LR_LOADREALSIZE* = 128
MAILSLOT_WAIT_FOREVER* = 0xFFFFFFFF
MAILSLOT_NO_MESSAGE* = 0xFFFFFFFF
CMB_MASKED* = 2
PIPE_ACCESS_DUPLEX* = 3
PIPE_ACCESS_INBOUND* = 1
PIPE_ACCESS_OUTBOUND* = 2
WRITE_DAC* = 0x00040000
WRITE_OWNER* = 0x00080000
ACCESS_SYSTEM_SECURITY* = 0x01000000
PIPE_TYPE_BYTE* = 0
PIPE_TYPE_MESSAGE* = 4
PIPE_READMODE_BYTE* = 0
PIPE_READMODE_MESSAGE* = 2
PIPE_WAIT* = 0
PIPE_NOWAIT* = 1
PS_GEOMETRIC* = 65536
PS_COSMETIC* = 0
PS_ALTERNATE* = 8
PS_SOLID* = 0
PS_DASH* = 1
PS_DOT* = 2
PS_DASHDOT* = 3
PS_DASHDOTDOT* = 4
PS_NULL* = 5
PS_USERSTYLE* = 7
PS_INSIDEFRAME* = 6
PS_ENDCAP_ROUND* = 0
PS_ENDCAP_SQUARE* = 256
PS_ENDCAP_FLAT* = 512
PS_JOIN_BEVEL* = 4096
PS_JOIN_MITER* = 8192
PS_JOIN_ROUND* = 0
PS_STYLE_MASK* = 15
PS_ENDCAP_MASK* = 3840
PS_TYPE_MASK* = 983040
ALTERNATE* = 1
WINDING* = 2
CREATE_DEFAULT_ERROR_MODE* = 67108864
CREATE_NEW_CONSOLE* = 16
CREATE_NEW_PROCESS_GROUP* = 512
CREATE_SEPARATE_WOW_VDM* = 2048
CREATE_SUSPENDED* = 4
CREATE_UNICODE_ENVIRONMENT* = 1024
DEBUG_PROCESS* = 1
DEBUG_ONLY_THIS_PROCESS* = 2
DETACHED_PROCESS* = 8
HIGH_PRIORITY_CLASS* = 128
IDLE_PRIORITY_CLASS* = 64
NORMAL_PRIORITY_CLASS* = 32
REALTIME_PRIORITY_CLASS* = 256
SERVICE_ALL_ACCESS* = 0x000F01FF
SERVICE_CHANGE_CONFIG* = 2
SERVICE_ENUMERATE_DEPENDENTS* = 8
SERVICE_INTERROGATE* = 128
SERVICE_PAUSE_CONTINUE* = 64
SERVICE_QUERY_CONFIG* = 1
SERVICE_QUERY_STATUS* = 4
SERVICE_START* = 16
SERVICE_STOP* = 32
SERVICE_USER_DEFINED_CONTROL* = 256
SERVICE_DELETE* = 0x00010000
SERVICE_READ_CONTROL* = 0x00020000
SERVICE_GENERIC_EXECUTE* = 0x20000000
SERVICE_ERROR_IGNORE* = 0
SERVICE_ERROR_NORMAL* = 1
SERVICE_ERROR_SEVERE* = 2
SERVICE_ERROR_CRITICAL* = 3
TAPE_FIXED_PARTITIONS* = 0
TAPE_INITIATOR_PARTITIONS* = 0x00000002
TAPE_SELECT_PARTITIONS* = 0x00000001
TAPE_FILEMARKS* = 0x00000001
TAPE_LONG_FILEMARKS* = 0x00000003
TAPE_SETMARKS* = 0
TAPE_SHORT_FILEMARKS* = 0x00000002
CW_USEDEFAULT* = int32(0x80000000)
WS_BORDER* = 0x00800000
WS_CAPTION* = 0x00C00000
WS_CHILD* = 0x40000000
WS_CHILDWINDOW* = 0x40000000
WS_CLIPCHILDREN* = 0x02000000
WS_CLIPSIBLINGS* = 0x04000000
WS_DISABLED* = 0x08000000
WS_DLGFRAME* = 0x00400000
WS_GROUP* = 0x00020000
WS_HSCROLL* = 0x00100000
WS_ICONIC* = 0x20000000
WS_MAXIMIZE* = 0x01000000
WS_MAXIMIZEBOX* = 0x00010000
WS_MINIMIZE* = 0x20000000
WS_MINIMIZEBOX* = 0x00020000
WS_OVERLAPPED* = 0
WS_OVERLAPPEDWINDOW* = 0x00CF0000
WS_POPUP* = LONG(0x80000000)
WS_POPUPWINDOW* = LONG(0x80880000)
WS_SIZEBOX* = 0x00040000
WS_SYSMENU* = 0x00080000
WS_TABSTOP* = 0x00010000
WS_THICKFRAME* = 0x00040000
WS_TILED* = 0
WS_TILEDWINDOW* = 0x00CF0000
WS_VISIBLE* = 0x10000000
WS_VSCROLL* = 0x00200000
MDIS_ALLCHILDSTYLES* = 0x00000001
BS_3STATE* = 0x00000005
BS_AUTO3STATE* = 0x00000006
BS_AUTOCHECKBOX* = 0x00000003
BS_AUTORADIOBUTTON* = 0x00000009
BS_BITMAP* = 0x00000080
BS_BOTTOM* = 0x00000800
BS_CENTER* = 0x00000300
BS_CHECKBOX* = 0x00000002
BS_DEFPUSHBUTTON* = 0x00000001
BS_GROUPBOX* = 0x00000007
BS_ICON* = 0x00000040
BS_LEFT* = 0x00000100
BS_LEFTTEXT* = 0x00000020
BS_MULTILINE* = 0x00002000
BS_NOTIFY* = 0x00004000
BS_OWNERDRAW* = 0x0000000B
BS_PUSHBUTTON* = 0
BS_PUSHLIKE* = 0x00001000
BS_RADIOBUTTON* = 0x00000004
BS_RIGHT* = 0x00000200
BS_RIGHTBUTTON* = 0x00000020
BS_TEXT* = 0
BS_TOP* = 0x00000400
BS_USERBUTTON* = 0x00000008
BS_VCENTER* = 0x00000C00
BS_FLAT* = 0x00008000
CBS_AUTOHSCROLL* = 0x00000040
CBS_DISABLENOSCROLL* = 0x00000800
CBS_DROPDOWN* = 0x00000002
CBS_DROPDOWNLIST* = 0x00000003
CBS_HASSTRINGS* = 0x00000200
CBS_LOWERCASE* = 0x00004000
CBS_NOINTEGRALHEIGHT* = 0x00000400
CBS_OEMCONVERT* = 0x00000080
CBS_OWNERDRAWFIXED* = 0x00000010
CBS_OWNERDRAWVARIABLE* = 0x00000020
CBS_SIMPLE* = 0x00000001
CBS_SORT* = 0x00000100
CBS_UPPERCASE* = 0x00002000
ES_AUTOHSCROLL* = 0x00000080
ES_AUTOVSCROLL* = 0x00000040
ES_CENTER* = 0x00000001
ES_LEFT* = 0
ES_LOWERCASE* = 0x00000010
ES_MULTILINE* = 0x00000004
ES_NOHIDESEL* = 0x00000100
ES_NUMBER* = 0x00002000
ES_OEMCONVERT* = 0x00000400
ES_PASSWORD* = 0x00000020
ES_READONLY* = 0x00000800
ES_RIGHT* = 0x00000002
ES_UPPERCASE* = 0x00000008
ES_WANTRETURN* = 0x00001000
LBS_DISABLENOSCROLL* = 0x00001000
LBS_EXTENDEDSEL* = 0x00000800
LBS_HASSTRINGS* = 0x00000040
LBS_MULTICOLUMN* = 0x00000200
LBS_MULTIPLESEL* = 0x00000008
LBS_NODATA* = 0x00002000
LBS_NOINTEGRALHEIGHT* = 0x00000100
LBS_NOREDRAW* = 0x00000004
LBS_NOSEL* = 0x00004000
LBS_NOTIFY* = 0x00000001
LBS_OWNERDRAWFIXED* = 0x00000010
LBS_OWNERDRAWVARIABLE* = 0x00000020
LBS_SORT* = 0x00000002
LBS_STANDARD* = 0x00A00003
LBS_USETABSTOPS* = 0x00000080
LBS_WANTKEYBOARDINPUT* = 0x00000400
SBS_BOTTOMALIGN* = 0x00000004
SBS_HORZ* = 0
SBS_LEFTALIGN* = 0x00000002
SBS_RIGHTALIGN* = 0x00000004
SBS_SIZEBOX* = 0x00000008
SBS_SIZEBOXBOTTOMRIGHTALIGN* = 0x00000004
SBS_SIZEBOXTOPLEFTALIGN* = 0x00000002
SBS_SIZEGRIP* = 0x00000010
SBS_TOPALIGN* = 0x00000002
SBS_VERT* = 0x00000001
SS_BITMAP* = 0x0000000E
SS_BLACKFRAME* = 0x00000007
SS_BLACKRECT* = 0x00000004
SS_CENTER* = 0x00000001
SS_CENTERIMAGE* = 0x00000200
SS_ENHMETAFILE* = 0x0000000F
SS_ETCHEDFRAME* = 0x00000012
SS_ETCHEDHORZ* = 0x00000010
SS_ETCHEDVERT* = 0x00000011
SS_GRAYFRAME* = 0x00000008
SS_GRAYRECT* = 0x00000005
SS_ICON* = 0x00000003
SS_LEFT* = 0
SS_LEFTNOWORDWRAP* = 0x0000000C
SS_NOPREFIX* = 0x00000080
SS_NOTIFY* = 0x00000100
SS_OWNERDRAW* = 0x0000000D
SS_REALSIZEIMAGE* = 0x00000800
SS_RIGHT* = 0x00000002
SS_RIGHTJUST* = 0x00000400
SS_SIMPLE* = 0x0000000B
SS_SUNKEN* = 0x00001000
SS_USERITEM* = 0x0000000A
SS_WHITEFRAME* = 0x00000009
SS_WHITERECT* = 0x00000006
DS_3DLOOK* = 0x00000004
DS_ABSALIGN* = 0x00000001
DS_CENTER* = 0x00000800
DS_CENTERMOUSE* = 0x00001000
DS_CONTEXTHELP* = 0x00002000
DS_CONTROL* = 0x00000400
DS_FIXEDSYS* = 0x00000008
DS_LOCALEDIT* = 0x00000020
DS_MODALFRAME* = 0x00000080
DS_NOFAILCREATE* = 0x00000010
DS_NOIDLEMSG* = 0x00000100
DS_SETFONT* = 0x00000040
DS_SETFOREGROUND* = 0x00000200
DS_SYSMODAL* = 0x00000002
WS_EX_ACCEPTFILES* = 0x00000010
WS_EX_APPWINDOW* = 0x00040000
WS_EX_CLIENTEDGE* = 0x00000200
WS_EX_CONTEXTHELP* = 0x00000400
WS_EX_CONTROLPARENT* = 0x00010000
WS_EX_DLGMODALFRAME* = 0x00000001
WS_EX_LEFT* = 0
WS_EX_LEFTSCROLLBAR* = 0x00004000
WS_EX_LTRREADING* = 0
WS_EX_MDICHILD* = 0x00000040
WS_EX_NOPARENTNOTIFY* = 0x00000004
WS_EX_OVERLAPPEDWINDOW* = 0x00000300
WS_EX_PALETTEWINDOW* = 0x00000188
WS_EX_RIGHT* = 0x00001000
WS_EX_RIGHTSCROLLBAR* = 0
WS_EX_RTLREADING* = 0x00002000
WS_EX_STATICEDGE* = 0x00020000
WS_EX_TOOLWINDOW* = 0x00000080
WS_EX_TOPMOST* = 0x00000008
WS_EX_TRANSPARENT* = 0x00000020
WS_EX_WINDOWEDGE* = 0x00000100
WINSTA_ACCESSCLIPBOARD* = 0x00000004
WINSTA_ACCESSGLOBALATOMS* = 0x00000020
WINSTA_CREATEDESKTOP* = 0x00000008
WINSTA_ENUMDESKTOPS* = 0x00000001
WINSTA_ENUMERATE* = 0x00000100
WINSTA_EXITWINDOWS* = 0x00000040
WINSTA_READATTRIBUTES* = 0x00000002
WINSTA_READSCREEN* = 0x00000200
WINSTA_WRITEATTRIBUTES* = 0x00000010
WH_CALLWNDPROC* = 4
WH_CALLWNDPROCRET* = 12
WH_CBT* = 5
WH_DEBUG* = 9
WH_GETMESSAGE* = 3
WH_JOURNALPLAYBACK* = 1
WH_JOURNALRECORD* = 0
WH_KEYBOARD* = 2
WH_MOUSE* = 7
WH_MSGFILTER* = - 1
WH_SHELL* = 10
WH_SYSMSGFILTER* = 6
WH_FOREGROUNDIDLE* = 11
DDD_RAW_TARGET_PATH* = 1
DDD_REMOVE_DEFINITION* = 2
DDD_EXACT_MATCH_ON_REMOVE* = 4
DCTT_BITMAP* = 0x00000001
DCTT_DOWNLOAD* = 0x00000002
DCTT_SUBDEV* = 0x00000004
DDL_ARCHIVE* = 32
DDL_DIRECTORY* = 16
DDL_DRIVES* = 16384
DDL_EXCLUSIVE* = 32768
DDL_HIDDEN* = 2
DDL_READONLY* = 1
DDL_READWRITE* = 0
DDL_SYSTEM* = 4
DDL_POSTMSGS* = 8192
DLL_PROCESS_ATTACH* = 1
DLL_THREAD_ATTACH* = 2
DLL_PROCESS_DETACH* = 0
DLL_THREAD_DETACH* = 3
IDANI_OPEN* = 1
IDANI_CLOSE* = 2
DC_ACTIVE* = 1
DC_SMALLCAP* = 2
BDR_RAISEDINNER* = 4
BDR_SUNKENINNER* = 8
BDR_RAISEDOUTER* = 1
BDR_SUNKENOUTER* = 2
BDR_OUTER* = BDR_RAISEDOUTER or BDR_SUNKENOUTER
BDR_INNER* = BDR_RAISEDINNER or BDR_SUNKENINNER
BDR_RAISED* = BDR_RAISEDOUTER or BDR_RAISEDINNER
BDR_SUNKEN* = BDR_SUNKENOUTER or BDR_SUNKENINNER
EDGE_BUMP* = 9
EDGE_ETCHED* = 6
EDGE_RAISED* = 5
EDGE_SUNKEN* = 10
BF_ADJUST* = 8192
BF_BOTTOM* = 8
BF_BOTTOMLEFT* = 9
BF_BOTTOMRIGHT* = 12
BF_DIAGONAL* = 16
BF_DIAGONAL_ENDBOTTOMLEFT* = 25
BF_DIAGONAL_ENDBOTTOMRIGHT* = 28
BF_DIAGONAL_ENDTOPLEFT* = 19
BF_DIAGONAL_ENDTOPRIGHT* = 22
BF_FLAT* = 16384
BF_LEFT* = 1
BF_MIDDLE* = 2048
BF_MONO* = 32768
BF_RECT* = 15
BF_RIGHT* = 4
BF_SOFT* = 4096
BF_TOP* = 2
BF_TOPLEFT* = 3
BF_TOPRIGHT* = 6
DFC_BUTTON* = 4
DFC_CAPTION* = 1
DFC_MENU* = 2
DFC_SCROLL* = 3
DFCS_BUTTON3STATE* = 8
DFCS_BUTTONCHECK* = 0
DFCS_BUTTONPUSH* = 16
DFCS_BUTTONRADIO* = 4
DFCS_BUTTONRADIOIMAGE* = 1
DFCS_BUTTONRADIOMASK* = 2
DFCS_CAPTIONCLOSE* = 0
DFCS_CAPTIONHELP* = 4
DFCS_CAPTIONMAX* = 2
DFCS_CAPTIONMIN* = 1
DFCS_CAPTIONRESTORE* = 3
DFCS_MENUARROW* = 0
DFCS_MENUBULLET* = 2
DFCS_MENUCHECK* = 1
DFCS_SCROLLCOMBOBOX* = 5
DFCS_SCROLLDOWN* = 1
DFCS_SCROLLLEFT* = 2
DFCS_SCROLLRIGHT* = 3
DFCS_SCROLLSIZEGRIP* = 8
DFCS_SCROLLUP* = 0
DFCS_ADJUSTRECT* = 8192
DFCS_CHECKED* = 1024
DFCS_FLAT* = 16384
DFCS_INACTIVE* = 256
DFCS_MONO* = 32768
DFCS_PUSHED* = 512
DI_COMPAT* = 4
DI_DEFAULTSIZE* = 8
DI_IMAGE* = 2
DI_MASK* = 1
DI_NORMAL* = 3
DST_BITMAP* = 4
DST_COMPLEX* = 0
DST_ICON* = 3
DST_PREFIXTEXT* = 2
DST_TEXT* = 1
DSS_NORMAL* = 0
DSS_UNION* = 16
DSS_DISABLED* = 32
DSS_MONO* = 128
SBT_NOBORDERS* = 256
SBT_OWNERDRAW* = 4096
SBT_POPOUT* = 512
SBT_RTLREADING* = 1024
DT_BOTTOM* = 8
DT_CALCRECT* = 1024
DT_CENTER* = 1
DT_EDITCONTROL* = 8192
DT_END_ELLIPSIS* = 32768
DT_PATH_ELLIPSIS* = 16384
DT_EXPANDTABS* = 64
DT_EXTERNALLEADING* = 512
DT_LEFT* = 0
DT_MODIFYSTRING* = 65536
DT_NOCLIP* = 256
DT_NOPREFIX* = 2048
DT_RIGHT* = 2
DT_RTLREADING* = 131072
DT_SINGLELINE* = 32
DT_TABSTOP* = 128
DT_TOP* = 0
DT_VCENTER* = 4
DT_WORDBREAK* = 16
DT_INTERNAL* = 4096
DT_WORD_ELLIPSIS* = 0x00040000
DT_HIDEPREFIX* = 0x00100000
DT_PREFIXONLY* = 0x00200000
DUPLICATE_CLOSE_SOURCE* = 1
DUPLICATE_SAME_ACCESS* = 2
FILE_MAP_ALL_ACCESS* = 0x000F001F
FILE_MAP_READ* = 4
FILE_MAP_WRITE* = 2
FILE_MAP_COPY* = 1
MUTEX_ALL_ACCESS* = 0x001F0001
MUTEX_MODIFY_STATE* = 1
SYNCHRONIZE* = 0x00100000
SEMAPHORE_ALL_ACCESS* = 0x001F0003
SEMAPHORE_MODIFY_STATE* = 2
EVENT_ALL_ACCESS* = 0x001F0003
EVENT_MODIFY_STATE* = 2
KEY_ALL_ACCESS* = 0x000F003F
KEY_CREATE_LINK* = 32
KEY_CREATE_SUB_KEY* = 4
KEY_ENUMERATE_SUB_KEYS* = 8
KEY_EXECUTE* = 0x00020019
KEY_NOTIFY* = 16
KEY_QUERY_VALUE* = 1
KEY_READ* = 0x00020019
KEY_SET_VALUE* = 2
KEY_WRITE* = 0x00020006
PROCESS_ALL_ACCESS* = 0x001F0FFF
PROCESS_CREATE_PROCESS* = 128
PROCESS_CREATE_THREAD* = 2
PROCESS_DUP_HANDLE* = 64
PROCESS_QUERY_INFORMATION* = 1024
PROCESS_SET_INFORMATION* = 512
PROCESS_TERMINATE* = 1
PROCESS_VM_OPERATION* = 8
PROCESS_VM_READ* = 16
PROCESS_VM_WRITE* = 32
THREAD_ALL_ACCESS* = 0x001F03FF
THREAD_DIRECT_IMPERSONATION* = 512
THREAD_GET_CONTEXT* = 8
THREAD_IMPERSONATE* = 256
THREAD_QUERY_INFORMATION* = 64
THREAD_SET_CONTEXT* = 16
THREAD_SET_INFORMATION* = 32
THREAD_SET_THREAD_TOKEN* = 128
THREAD_SUSPEND_RESUME* = 2
THREAD_TERMINATE* = 1
WB_ISDELIMITER* = 2
WB_LEFT* = 0
WB_RIGHT* = 1
SB_BOTH* = 3
SB_CTL* = 2
SB_HORZ* = 0
SB_VERT* = 1
ESB_DISABLE_BOTH* = 3
ESB_DISABLE_DOWN* = 2
ESB_DISABLE_LEFT* = 1
ESB_DISABLE_LTUP* = 1
ESB_DISABLE_RIGHT* = 2
ESB_DISABLE_RTDN* = 2
ESB_DISABLE_UP* = 1
ESB_ENABLE_BOTH* = 0
SB_LINEUP* = 0
SB_LINEDOWN* = 1
SB_LINELEFT* = 0
SB_LINERIGHT* = 1
SB_PAGEUP* = 2
SB_PAGEDOWN* = 3
SB_PAGELEFT* = 2
SB_PAGERIGHT* = 3
SB_THUMBPOSITION* = 4
SB_THUMBTRACK* = 5
SB_ENDSCROLL* = 8
SB_LEFT* = 6
SB_RIGHT* = 7
SB_BOTTOM* = 7
SB_TOP* = 6
ENUM_ALL_CALENDARS* = - 1
DATE_SHORTDATE* = 1
DATE_LONGDATE* = 2
DATE_USE_ALT_CALENDAR* = 4
SERVICE_ACTIVE* = 1
SERVICE_INACTIVE* = 2
DEVICE_FONTTYPE* = 2
RASTER_FONTTYPE* = 1
TRUETYPE_FONTTYPE* = 4
OBJ_BRUSH* = 2
OBJ_PEN* = 1
OBJ_PAL* = 5
OBJ_FONT* = 6
OBJ_BITMAP* = 7
OBJ_EXTPEN* = 11
OBJ_REGION* = 8
OBJ_DC* = 3
OBJ_MEMDC* = 10
OBJ_METAFILE* = 9
OBJ_METADC* = 4
OBJ_ENHMETAFILE* = 13
OBJ_ENHMETADC* = 12
RT_CURSOR* = cast[MAKEINTRESOURCE](1)
RT_BITMAP* = cast[MAKEINTRESOURCE](2)
RT_ICON* = cast[MAKEINTRESOURCE](3)
RT_MENU* = cast[MAKEINTRESOURCE](4)
RT_DIALOG* = cast[MAKEINTRESOURCE](5)
RT_STRING* = cast[MAKEINTRESOURCE](6)
RT_FONTDIR* = cast[MAKEINTRESOURCE](7)
RT_FONT* = cast[MAKEINTRESOURCE](8)
RT_ACCELERATOR* = cast[MAKEINTRESOURCE](9)
RT_RCDATA* = cast[MAKEINTRESOURCE](10)
RT_MESSAGETABLE* = cast[MAKEINTRESOURCE](11)
DIFFERENCE* = 11
RT_GROUP_CURSOR* = cast[MAKEINTRESOURCE](12)
RT_GROUP_ICON* = cast[MAKEINTRESOURCE](14)
RT_VERSION* = cast[MAKEINTRESOURCE](16)
RT_DLGINCLUDE* = cast[MAKEINTRESOURCE](17)
RT_PLUGPLAY* = cast[MAKEINTRESOURCE](19)
RT_VXD* = cast[MAKEINTRESOURCE](20)
RT_ANICURSOR* = cast[MAKEINTRESOURCE](21)
RT_ANIICON* = cast[MAKEINTRESOURCE](22)
RT_HTML* = cast[MAKEINTRESOURCE](23)
RT_MANIFEST* = cast[MAKEINTRESOURCE](24)
SERVICE_WIN32* = 48
SERVICE_DRIVER* = 11
CP_INSTALLED* = 1
CP_SUPPORTED* = 2
LCID_INSTALLED* = 1
LCID_SUPPORTED* = 2
TAPE_ERASE_LONG* = 0x00000001
TAPE_ERASE_SHORT* = 0
SP_ERROR* = - 1
SP_OUTOFDISK* = - 4
SP_OUTOFMEMORY* = - 5
SP_USERABORT* = - 3
PHYSICALWIDTH* = 110
PHYSICALHEIGHT* = 111
PHYSICALOFFSETX* = 112
PHYSICALOFFSETY* = 113
SCALINGFACTORX* = 114
SCALINGFACTORY* = 115
QUERYESCSUPPORT* = 8
cABORTDOC* = 2
cENDDOC* = 11
GETPHYSPAGESIZE* = 12
GETPRINTINGOFFSET* = 13
GETSCALINGFACTOR* = 14
NEWFRAME* = 1
NEXTBAND* = 3
PASSTHROUGH* = 19
cSETABORTPROC* = 9
cSTARTDOC* = 10
CLRDTR* = 6
CLRRTS* = 4
SETDTR* = 5
SETRTS* = 3
SETXOFF* = 1
SETXON* = 2
SETBREAK* = 8
CLRBREAK* = 9
EWX_FORCE* = 4
EWX_LOGOFF* = 0
EWX_POWEROFF* = 8
EWX_REBOOT* = 2
EWX_SHUTDOWN* = 1
FLOODFILLBORDER* = 0
FLOODFILLSURFACE* = 1
ETO_CLIPPED* = 4
ETO_GLYPH_INDEX* = 16
ETO_OPAQUE* = 2
ETO_RTLREADING* = 128
FOREGROUND_BLUE* = 1
FOREGROUND_GREEN* = 2
FOREGROUND_RED* = 4
FOREGROUND_INTENSITY* = 8
BACKGROUND_BLUE* = 16
BACKGROUND_GREEN* = 32
BACKGROUND_RED* = 64
BACKGROUND_INTENSITY* = 128
FILE_NOTIFY_CHANGE_FILE_NAME* = 1
FILE_NOTIFY_CHANGE_DIR_NAME* = 2
FILE_NOTIFY_CHANGE_ATTRIBUTES* = 4
FILE_NOTIFY_CHANGE_SIZE* = 8
FILE_NOTIFY_CHANGE_LAST_WRITE* = 16
FILE_NOTIFY_CHANGE_SECURITY* = 256
MAP_FOLDCZONE* = 16
MAP_FOLDDIGITS* = 128
MAP_PRECOMPOSED* = 32
MAP_COMPOSITE* = 64
HC_ACTION* = 0
FORMAT_MESSAGE_ALLOCATE_BUFFER* = 256
FORMAT_MESSAGE_IGNORE_INSERTS* = 512
FORMAT_MESSAGE_FROM_STRING* = 1024
FORMAT_MESSAGE_FROM_HMODULE* = 2048
FORMAT_MESSAGE_FROM_SYSTEM* = 4096
FORMAT_MESSAGE_ARGUMENT_ARRAY* = 8192
FORMAT_MESSAGE_MAX_WIDTH_MASK* = 255
GDICOMMENT_WINDOWS_METAFILE* = - 2147483647
GDICOMMENT_BEGINGROUP* = 2
GDICOMMENT_ENDGROUP* = 3
GDICOMMENT_MULTIFORMATS* = 1073741828
GDICOMMENT_IDENTIFIER* = 1128875079
CTRL_C_EVENT* = 0
CTRL_BREAK_EVENT* = 1
CTRL_CLOSE_EVENT* = 2
CTRL_LOGOFF_EVENT* = 5
CTRL_SHUTDOWN_EVENT* = 6
AD_COUNTERCLOCKWISE* = 1
AD_CLOCKWISE* = 2
SCS_32BIT_BINARY* = 0
SCS_DOS_BINARY* = 1
SCS_OS216_BINARY* = 5
SCS_PIF_BINARY* = 3
SCS_POSIX_BINARY* = 4
SCS_WOW_BINARY* = 2
DCB_DISABLE* = 8
DCB_ENABLE* = 4
DCB_RESET* = 1
DCB_SET* = 3
DCB_ACCUMULATE* = 2
GCP_DBCS* = 1
GCP_ERROR* = 0x00008000
GCP_CLASSIN* = 0x00080000
GCP_DIACRITIC* = 256
GCP_DISPLAYZWG* = 0x00400000
GCP_GLYPHSHAPE* = 16
GCP_JUSTIFY* = 0x00010000
GCP_JUSTIFYIN* = 0x00200000
GCP_KASHIDA* = 1024
GCP_LIGATE* = 32
GCP_MAXEXTENT* = 0x00100000
GCP_NEUTRALOVERRIDE* = 0x02000000
GCP_NUMERICOVERRIDE* = 0x01000000
GCP_NUMERICSLATIN* = 0x04000000
GCP_NUMERICSLOCAL* = 0x08000000
GCP_REORDER* = 2
GCP_SYMSWAPOFF* = 0x00800000
GCP_USEKERNING* = 8
FLI_GLYPHS* = 0x00040000
FLI_MASK* = 0x0000103B
GCW_ATOM* = - 32
GCL_CBCLSEXTRA* = - 20
GCL_CBWNDEXTRA* = - 18
GCL_HBRBACKGROUND* = - 10
GCL_HCURSOR* = - 12
GCL_HICON* = - 14
GCL_HICONSM* = - 34
GCL_HMODULE* = - 16
GCL_MENUNAME* = - 8
GCL_STYLE* = - 26
GCL_WNDPROC* = - 24
CF_BITMAP* = 2
CF_DIB* = 8
CF_PALETTE* = 9
CF_ENHMETAFILE* = 14
CF_METAFILEPICT* = 3
CF_OEMTEXT* = 7
CF_TEXT* = 1
CF_UNICODETEXT* = 13
CF_DIF* = 5
CF_DSPBITMAP* = 130
CF_DSPENHMETAFILE* = 142
CF_DSPMETAFILEPICT* = 131
CF_DSPTEXT* = 129
CF_GDIOBJFIRST* = 768
CF_GDIOBJLAST* = 1023
CF_HDROP* = 15
CF_LOCALE* = 16
CF_OWNERDISPLAY* = 128
CF_PENDATA* = 10
CF_PRIVATEFIRST* = 512
CF_PRIVATELAST* = 767
CF_RIFF* = 11
CF_SYLK* = 4
CF_WAVE* = 12
CF_TIFF* = 6
EV_BREAK* = 64
EV_CTS* = 8
EV_DSR* = 16
EV_ERR* = 128
EV_EVENT1* = 2048
EV_EVENT2* = 4096
EV_PERR* = 512
EV_RING* = 256
EV_RLSD* = 32
EV_RX80FULL* = 1024
EV_RXCHAR* = 1
EV_RXFLAG* = 2
EV_TXEMPTY* = 4
MS_CTS_ON* = 0x00000010
MS_DSR_ON* = 0x00000020
MS_RING_ON* = 0x00000040
MS_RLSD_ON* = 0x00000080
MAX_COMPUTERNAME_LENGTH* = 15
ENABLE_LINE_INPUT* = 2
ENABLE_ECHO_INPUT* = 4
ENABLE_PROCESSED_INPUT* = 1
ENABLE_WINDOW_INPUT* = 8
ENABLE_MOUSE_INPUT* = 16
ENABLE_PROCESSED_OUTPUT* = 1
ENABLE_WRAP_AT_EOL_OUTPUT* = 2
CP_ACP* = 0
CP_MACCP* = 2
CP_OEMCP* = 1
DCX_WINDOW* = 0x00000001
DCX_CACHE* = 0x00000002
DCX_PARENTCLIP* = 0x00000020
DCX_CLIPSIBLINGS* = 0x00000010
DCX_CLIPCHILDREN* = 0x00000008
DCX_NORESETATTRS* = 0x00000004
DCX_LOCKWINDOWUPDATE* = 0x00000400
DCX_EXCLUDERGN* = 0x00000040
DCX_INTERSECTRGN* = 0x00000080
DCX_VALIDATE* = 0x00200000
DRIVERVERSION* = 0
TECHNOLOGY* = 2
DT_PLOTTER* = 0
DT_RASDISPLAY* = 1
DT_RASPRINTER* = 2
DT_RASCAMERA* = 3
DT_CHARSTREAM* = 4
DT_METAFILE* = 5
DT_DISPFILE* = 6
HORZSIZE* = 4
VERTSIZE* = 6
HORZRES* = 8
VERTRES* = 10
LOGPIXELSX* = 88
LOGPIXELSY* = 90
BITSPIXEL* = 12
PLANES* = 14
NUMBRUSHES* = 16
NUMPENS* = 18
NUMFONTS* = 22
NUMCOLORS* = 24
ASPECTX* = 40
ASPECTY* = 42
ASPECTXY* = 44
PDEVICESIZE* = 26
CLIPCAPS* = 36
SIZEPALETTE* = 104
NUMRESERVED* = 106
COLORRES* = 108
VREFRESH* = 116
DESKTOPHORZRES* = 118
DESKTOPVERTRES* = 117
BLTALIGNMENT* = 119
RASTERCAPS* = 38
RC_BANDING* = 2
RC_BITBLT* = 1
RC_BITMAP64* = 8
RC_DI_BITMAP* = 128
RC_DIBTODEV* = 512
RC_FLOODFILL* = 4096
RC_GDI20_OUTPUT* = 16
RC_PALETTE* = 256
RC_SCALING* = 4
RC_STRETCHBLT* = 2048
RC_STRETCHDIB* = 8192
CURVECAPS* = 28
CC_NONE* = 0
CC_CIRCLES* = 1
CC_PIE* = 2
CC_CHORD* = 4
CC_ELLIPSES* = 8
CC_WIDE* = 16
CC_STYLED* = 32
CC_WIDESTYLED* = 64
CC_INTERIORS* = 128
CC_ROUNDRECT* = 256
LINECAPS* = 30
LC_NONE* = 0
LC_POLYLINE* = 2
LC_MARKER* = 4
LC_POLYMARKER* = 8
LC_WIDE* = 16
LC_STYLED* = 32
LC_WIDESTYLED* = 64
LC_INTERIORS* = 128
POLYGONALCAPS* = 32
PC_NONE* = 0
PC_POLYGON* = 1
PC_RECTANGLE* = 2
PC_WINDPOLYGON* = 4
PC_SCANLINE* = 8
PC_WIDE* = 16
PC_STYLED* = 32
PC_WIDESTYLED* = 64
PC_INTERIORS* = 128
TEXTCAPS* = 34
TC_OP_CHARACTER* = 1
TC_OP_STROKE* = 2
TC_CP_STROKE* = 4
TC_CR_90* = 8
TC_CR_ANY* = 16
TC_SF_X_YINDEP* = 32
TC_SA_DOUBLE* = 64
TC_SA_INTEGER* = 128
TC_SA_CONTIN* = 256
TC_EA_DOUBLE* = 512
TC_IA_ABLE* = 1024
TC_UA_ABLE* = 2048
TC_SO_ABLE* = 4096
TC_RA_ABLE* = 8192
TC_VA_ABLE* = 16384
TC_RESERVED* = 32768
TC_SCROLLBLT* = 65536
PC_PATHS* = 512
DRIVE_REMOVABLE* = 2
DRIVE_FIXED* = 3
DRIVE_REMOTE* = 4
DRIVE_CDROM* = 5
DRIVE_RAMDISK* = 6
DRIVE_UNKNOWN* = 0
DRIVE_NO_ROOT_DIR* = 1
EXCEPTION_ACCESS_VIOLATION* = 0xC0000005
EXCEPTION_BREAKPOINT* = 0x80000003
EXCEPTION_DATATYPE_MISALIGNMENT* = 0x80000002
EXCEPTION_SINGLE_STEP* = 0x80000004
EXCEPTION_ARRAY_BOUNDS_EXCEEDED* = 0xC000008C
EXCEPTION_FLT_DENORMAL_OPERAND* = 0xC000008D
EXCEPTION_FLT_DIVIDE_BY_ZERO* = 0xC000008E
EXCEPTION_FLT_INEXACT_RESULT* = 0xC000008F
EXCEPTION_FLT_INVALID_OPERATION* = 0xC0000090
EXCEPTION_FLT_OVERFLOW* = 0xC0000091
EXCEPTION_FLT_STACK_CHECK* = 0xC0000092
EXCEPTION_FLT_UNDERFLOW* = 0xC0000093
EXCEPTION_INT_DIVIDE_BY_ZERO* = 0xC0000094
EXCEPTION_INT_OVERFLOW* = 0xC0000095
EXCEPTION_INVALID_HANDLE* = 0xC0000008
EXCEPTION_PRIV_INSTRUCTION* = 0xC0000096
EXCEPTION_NONCONTINUABLE_EXCEPTION* = 0xC0000025
EXCEPTION_NONCONTINUABLE* = 0x00000001
EXCEPTION_STACK_OVERFLOW* = 0xC00000FD
EXCEPTION_INVALID_DISPOSITION* = 0xC0000026
EXCEPTION_IN_PAGE_ERROR* = 0xC0000006
EXCEPTION_ILLEGAL_INSTRUCTION* = 0xC000001D
EXCEPTION_POSSIBLE_DEADLOCK* = 0xC0000194
FILE_TYPE_UNKNOWN* = 0
FILE_TYPE_DISK* = 1
FILE_TYPE_CHAR* = 2
FILE_TYPE_PIPE* = 3
GGO_BITMAP* = 1
GGO_NATIVE* = 2
GGO_METRICS* = 0
GGO_GRAY2_BITMAP* = 4
GGO_GRAY4_BITMAP* = 5
GGO_GRAY8_BITMAP* = 6
GDI_ERROR* = 0xFFFFFFFF
GM_COMPATIBLE* = 1
GM_ADVANCED* = 2
HANDLE_FLAG_INHERIT* = 1
HANDLE_FLAG_PROTECT_FROM_CLOSE* = 2
IDC_ARROW* = cast[MAKEINTRESOURCE](32512)
IDC_IBEAM* = cast[MAKEINTRESOURCE](32513)
IDC_WAIT* = cast[MAKEINTRESOURCE](32514)
IDC_CROSS* = cast[MAKEINTRESOURCE](32515)
IDC_UPARROW* = cast[MAKEINTRESOURCE](32516)
IDC_SIZE* = cast[MAKEINTRESOURCE](32640)
IDC_ICON* = cast[MAKEINTRESOURCE](32641)
IDC_SIZENWSE* = cast[MAKEINTRESOURCE](32642)
IDC_SIZENESW* = cast[MAKEINTRESOURCE](32643)
IDC_SIZEWE* = cast[MAKEINTRESOURCE](32644)
IDC_SIZENS* = cast[MAKEINTRESOURCE](32645)
IDC_SIZEALL* = cast[MAKEINTRESOURCE](32646)
IDC_NO* = cast[MAKEINTRESOURCE](32648)
IDC_HAND* = cast[MAKEINTRESOURCE](32649)
IDC_APPSTARTING* = cast[MAKEINTRESOURCE](32650)
IDC_HELP* = cast[MAKEINTRESOURCE](32651)
IDI_APPLICATION* = cast[MAKEINTRESOURCE](32512)
IDI_HAND* = cast[MAKEINTRESOURCE](32513)
IDI_QUESTION* = cast[MAKEINTRESOURCE](32514)
IDI_EXCLAMATION* = cast[MAKEINTRESOURCE](32515)
IDI_ASTERISK* = cast[MAKEINTRESOURCE](32516)
IDI_WINLOGO* = cast[MAKEINTRESOURCE](32517)
IDI_WARNING* = IDI_EXCLAMATION
IDI_ERROR* = IDI_HAND
IDI_INFORMATION* = IDI_ASTERISK
MM_ANISOTROPIC* = 8
MM_HIENGLISH* = 5
MM_HIMETRIC* = 3
MM_ISOTROPIC* = 7
MM_LOENGLISH* = 4
MM_LOMETRIC* = 2
MM_TEXT* = 1
MM_TWIPS* = 6
GMDI_GOINTOPOPUPS* = 0x00000002
GMDI_USEDISABLED* = 0x00000001
PM_NOREMOVE* = 0
PM_REMOVE* = 1
PM_NOYIELD* = 2
PIPE_CLIENT_END* = 0
PIPE_SERVER_END* = 1
GW_HWNDNEXT* = 2
GW_HWNDPREV* = 3
GW_CHILD* = 5
GW_HWNDFIRST* = 0
GW_HWNDLAST* = 1
GW_OWNER* = 4
PT_MOVETO* = 6
PT_LINETO* = 2
PT_BEZIERTO* = 4
PT_CLOSEFIGURE* = 1
SHUTDOWN_NORETRY* = 1
QS_ALLEVENTS* = 191
QS_ALLINPUT* = 255
QS_HOTKEY* = 128
QS_INPUT* = 7
QS_KEY* = 1
QS_MOUSE* = 6
QS_MOUSEBUTTON* = 4
QS_MOUSEMOVE* = 2
QS_PAINT* = 32
QS_POSTMESSAGE* = 8
QS_SENDMESSAGE* = 64
QS_TIMER* = 16
SIF_ALL* = 23
SIF_PAGE* = 2
SIF_POS* = 4
SIF_RANGE* = 1
SIF_DISABLENOSCROLL* = 8
STD_INPUT_HANDLE* = DWORD(- 10)
STD_OUTPUT_HANDLE* = DWORD(- 11)
STD_ERROR_HANDLE* = DWORD(- 12)
INVALID_HANDLE_VALUE* = HANDLE(- 1)
INVALID_SET_FILE_POINTER* = ULONG(- 1)
INVALID_FILE_SIZE* = ULONG(- 1)
INVALID_FILE_ATTRIBUTES* = ULONG(- 1)
BLACK_BRUSH* = 4
DKGRAY_BRUSH* = 3
GRAY_BRUSH* = 2
HOLLOW_BRUSH* = 5
LTGRAY_BRUSH* = 1
NULL_BRUSH* = 5
WHITE_BRUSH* = 0
BLACK_PEN* = 7
NULL_PEN* = 8
WHITE_PEN* = 6
ANSI_FIXED_FONT* = 11
ANSI_VAR_FONT* = 12
DEVICE_DEFAULT_FONT* = 14
DEFAULT_GUI_FONT* = 17
OEM_FIXED_FONT* = 10
SYSTEM_FONT* = 13
SYSTEM_FIXED_FONT* = 16
DEFAULT_PALETTE* = 15
CT_CTYPE1* = 1
CT_CTYPE2* = 2
CT_CTYPE3* = 4
C1_UPPER* = 1
C1_LOWER* = 2
C1_DIGIT* = 4
C1_SPACE* = 8
C1_PUNCT* = 16
C1_CNTRL* = 32
C1_BLANK* = 64
C1_XDIGIT* = 128
C1_ALPHA* = 256
C2_LEFTTORIGHT* = 1
C2_RIGHTTOLEFT* = 2
C2_EUROPENUMBER* = 3
C2_EUROPESEPARATOR* = 4
C2_EUROPETERMINATOR* = 5
C2_ARABICNUMBER* = 6
C2_COMMONSEPARATOR* = 7
C2_BLOCKSEPARATOR* = 8
C2_SEGMENTSEPARATOR* = 9
C2_WHITESPACE* = 10
C2_OTHERNEUTRAL* = 11
C2_NOTAPPLICABLE* = 0
C3_NONSPACING* = 1
C3_DIACRITIC* = 2
C3_VOWELMARK* = 4
C3_SYMBOL* = 8
C3_KATAKANA* = 16
C3_HIRAGANA* = 32
C3_HALFWIDTH* = 64
C3_FULLWIDTH* = 128
C3_IDEOGRAPH* = 256
C3_KASHIDA* = 512
C3_ALPHA* = 32768
C3_NOTAPPLICABLE* = 0
COLOR_3DDKSHADOW* = 21
COLOR_3DFACE* = 15
COLOR_3DHILIGHT* = 20
COLOR_3DLIGHT* = 22
COLOR_BTNHILIGHT* = 20
COLOR_3DSHADOW* = 16
COLOR_ACTIVEBORDER* = 10
COLOR_ACTIVECAPTION* = 2
COLOR_APPWORKSPACE* = 12
COLOR_BACKGROUND* = 1
COLOR_DESKTOP* = 1
COLOR_BTNFACE* = 15
COLOR_BTNHIGHLIGHT* = 20
COLOR_BTNSHADOW* = 16
COLOR_BTNTEXT* = 18
COLOR_CAPTIONTEXT* = 9
COLOR_GRAYTEXT* = 17
COLOR_HIGHLIGHT* = 13
COLOR_HIGHLIGHTTEXT* = 14
COLOR_INACTIVEBORDER* = 11
COLOR_INACTIVECAPTION* = 3
COLOR_INACTIVECAPTIONTEXT* = 19
COLOR_INFOBK* = 24
COLOR_INFOTEXT* = 23
COLOR_MENU* = 4
COLOR_MENUTEXT* = 7
COLOR_SCROLLBAR* = 0
COLOR_WINDOW* = 5
COLOR_WINDOWFRAME* = 6
COLOR_WINDOWTEXT* = 8
SM_CYMIN* = 29
SM_CXMIN* = 28
SM_ARRANGE* = 56
SM_CLEANBOOT* = 67
SM_CMETRICS* = 76
SM_CMOUSEBUTTONS* = 43
SM_CXBORDER* = 5
SM_CYBORDER* = 6
SM_CXCURSOR* = 13
SM_CYCURSOR* = 14
SM_CXDLGFRAME* = 7
SM_CYDLGFRAME* = 8
SM_CXDOUBLECLK* = 36
SM_CYDOUBLECLK* = 37
SM_CXDRAG* = 68
SM_CYDRAG* = 69
SM_CXEDGE* = 45
SM_CYEDGE* = 46
SM_CXFIXEDFRAME* = 7
SM_CYFIXEDFRAME* = 8
SM_CXFRAME* = 32
SM_CYFRAME* = 33
SM_CXFULLSCREEN* = 16
SM_CYFULLSCREEN* = 17
SM_CXHSCROLL* = 21
SM_CYHSCROLL* = 3
SM_CXHTHUMB* = 10
SM_CXICON* = 11
SM_CYICON* = 12
SM_CXICONSPACING* = 38
SM_CYICONSPACING* = 39
SM_CXMAXIMIZED* = 61
SM_CYMAXIMIZED* = 62
SM_CXMAXTRACK* = 59
SM_CYMAXTRACK* = 60
SM_CXMENUCHECK* = 71
SM_CYMENUCHECK* = 72
SM_CXMENUSIZE* = 54
SM_CYMENUSIZE* = 55
SM_CXMINIMIZED* = 57
SM_CYMINIMIZED* = 58
SM_CXMINSPACING* = 47
SM_CYMINSPACING* = 48
SM_CXMINTRACK* = 34
SM_CYMINTRACK* = 35
SM_CXSCREEN* = 0
SM_CYSCREEN* = 1
SM_CXSIZE* = 30
SM_CYSIZE* = 31
SM_CXSIZEFRAME* = 32
SM_CYSIZEFRAME* = 33
SM_CXSMICON* = 49
SM_CYSMICON* = 50
SM_CXSMSIZE* = 52
SM_CYSMSIZE* = 53
SM_CXVSCROLL* = 2
SM_CYVSCROLL* = 20
SM_CYVTHUMB* = 9
SM_CYCAPTION* = 4
SM_CYKANJIWINDOW* = 18
SM_CYMENU* = 15
SM_CYSMCAPTION* = 51
SM_DBCSENABLED* = 42
SM_DEBUG* = 22
SM_MENUDROPALIGNMENT* = 40
SM_MIDEASTENABLED* = 74
SM_MOUSEPRESENT* = 19
SM_MOUSEWHEELPRESENT* = 75
SM_NETWORK* = 63
SM_PENWINDOWS* = 41
SM_SECURE* = 44
SM_SHOWSOUNDS* = 70
SM_SLOWMACHINE* = 73
SM_SWAPBUTTON* = 23
ARW_BOTTOMLEFT* = 0
ARW_BOTTOMRIGHT* = 0x00000001
ARW_HIDE* = 0x00000008
ARW_TOPLEFT* = 0x00000002
ARW_TOPRIGHT* = 0x00000003
ARW_DOWN* = 0x00000004
ARW_LEFT* = 0
ARW_RIGHT* = 0
ARW_UP* = 0x00000004
SYSPAL_NOSTATIC* = 2
SYSPAL_STATIC* = 1
SYSPAL_ERROR* = 0
GET_TAPE_MEDIA_INFORMATION* = 0
GET_TAPE_DRIVE_INFORMATION* = 1
SET_TAPE_MEDIA_INFORMATION* = 0
SET_TAPE_DRIVE_INFORMATION* = 1
TAPE_ABSOLUTE_POSITION* = 0
TAPE_LOGICAL_POSITION* = 0x00000001
TA_BASELINE* = 24
TA_BOTTOM* = 8
TA_TOP* = 0
TA_CENTER* = 6
TA_LEFT* = 0
TA_RIGHT* = 2
TA_RTLREADING* = 256
TA_NOUPDATECP* = 0
TA_UPDATECP* = 1
VTA_BASELINE* = 24
VTA_CENTER* = 6
THREAD_PRIORITY_ABOVE_NORMAL* = 1
THREAD_PRIORITY_BELOW_NORMAL* = - 1
THREAD_PRIORITY_HIGHEST* = 2
THREAD_PRIORITY_IDLE* = - 15
THREAD_PRIORITY_LOWEST* = - 2
THREAD_PRIORITY_NORMAL* = 0
THREAD_PRIORITY_TIME_CRITICAL* = 15
THREAD_PRIORITY_ERROR_RETURN* = 2147483647
TLS_MINIMUM_AVAILABLE* = 64
TIME_NOMINUTESORSECONDS* = 1
TIME_NOSECONDS* = 2
TIME_NOTIMEMARKER* = 4
TIME_FORCE24HOURFORMAT* = 8
TIME_ZONE_ID_INVALID* = DWORD(- 1)
TIME_ZONE_ID_UNKNOWN* = 0
TIME_ZONE_ID_STANDARD* = 1
TIME_ZONE_ID_DAYLIGHT* = 2
UOI_FLAGS* = 1
UOI_NAME* = 2
UOI_TYPE* = 3
FS_CASE_IS_PRESERVED* = 2
FS_CASE_SENSITIVE* = 1
FS_UNICODE_STORED_ON_DISK* = 4
FS_PERSISTENT_ACLS* = 8
FS_FILE_COMPRESSION* = 16
FS_VOL_IS_COMPRESSED* = 32768
GWL_EXSTYLE* = - 20
GWL_STYLE* = - 16
GWL_WNDPROC* = - 4
GWL_HINSTANCE* = - 6
GWL_HWNDPARENT* = - 8
GWL_ID* = - 12
GWL_USERDATA* = - 21
DWL_DLGPROC* = 4
DWL_MSGRESULT* = 0
DWL_USER* = 8
GMEM_FIXED* = 0
GMEM_MOVEABLE* = 2
GPTR* = 64
GHND* = 66
GMEM_DDESHARE* = 8192
GMEM_DISCARDABLE* = 256
GMEM_LOWER* = 4096
GMEM_NOCOMPACT* = 16
GMEM_NODISCARD* = 32
GMEM_NOT_BANKED* = 4096
GMEM_NOTIFY* = 16384
GMEM_SHARE* = 8192
GMEM_ZEROINIT* = 64
GMEM_DISCARDED* = 16384
GMEM_INVALID_HANDLE* = 32768
GMEM_LOCKCOUNT* = 255
HEAP_GENERATE_EXCEPTIONS* = 4
HEAP_NO_SERIALIZE* = 1
HEAP_ZERO_MEMORY* = 8
STATUS_NO_MEMORY* = 0xC0000017
STATUS_ACCESS_VIOLATION* = 0xC0000005
HEAP_REALLOC_IN_PLACE_ONLY* = 16
ILC_COLOR* = 0
ILC_COLOR4* = 4
ILC_COLOR8* = 8
ILC_COLOR16* = 16
ILC_COLOR24* = 24
ILC_COLOR32* = 32
ILC_COLORDDB* = 254
ILC_MASK* = 1
ILC_PALETTE* = 2048
ILD_BLEND25* = 2
ILD_BLEND50* = 4
ILD_SELECTED* = 4
ILD_BLEND* = 4
ILD_FOCUS* = 2
ILD_MASK* = 16
ILD_NORMAL* = 0
ILD_TRANSPARENT* = 1
CLR_NONE* = 0xFFFFFFFF
CLR_DEFAULT* = 0xFF000000
CLR_INVALID* = 0xFFFFFFFF
LR_LOADFROMFILE* = 16
LR_LOADMAP3DCOLORS* = 4096
LR_LOADTRANSPARENT* = 32
IME_CONFIG_GENERAL* = 1
IME_CONFIG_REGISTERWORD* = 2
IME_CONFIG_SELECTDICTIONARY* = 3
GCL_CONVERSION* = 1
GCL_REVERSECONVERSION* = 2
GCL_REVERSE_LENGTH* = 3
GGL_LEVEL* = 1
GGL_INDEX* = 2
GGL_STRING* = 3
GGL_PRIVATE* = 4
GL_LEVEL_ERROR* = 2
GL_LEVEL_FATAL* = 1
GL_LEVEL_INFORMATION* = 4
GL_LEVEL_NOGUIDELINE* = 0
GL_LEVEL_WARNING* = 3
GL_ID_CANNOTSAVE* = 17
GL_ID_NOCONVERT* = 32
GL_ID_NODICTIONARY* = 16
GL_ID_NOMODULE* = 1
GL_ID_READINGCONFLICT* = 35
GL_ID_TOOMANYSTROKE* = 34
GL_ID_TYPINGERROR* = 33
GL_ID_UNKNOWN* = 0
GL_ID_INPUTREADING* = 36
GL_ID_INPUTRADICAL* = 37
GL_ID_INPUTCODE* = 38
GL_ID_CHOOSECANDIDATE* = 40
GL_ID_REVERSECONVERSION* = 41
IGP_PROPERTY* = 4
IGP_CONVERSION* = 8
IGP_SENTENCE* = 12
IGP_UI* = 16
IGP_SETCOMPSTR* = 20
IGP_SELECT* = 24
IME_PROP_AT_CARET* = 65536
IME_PROP_SPECIAL_UI* = 131072
IME_PROP_CANDLIST_START_FROM_1* = 262144
IME_PROP_UNICODE* = 524288
UI_CAP_2700* = 1
UI_CAP_ROT90* = 2
UI_CAP_ROTANY* = 4
SCS_CAP_COMPSTR* = 1
SCS_CAP_MAKEREAD* = 2
SELECT_CAP_CONVERSION* = 1
SELECT_CAP_SENTENCE* = 2
NI_CHANGECANDIDATELIST* = 19
NI_CLOSECANDIDATE* = 17
NI_COMPOSITIONSTR* = 21
NI_OPENCANDIDATE* = 16
NI_SELECTCANDIDATESTR* = 18
NI_SETCANDIDATE_PAGESIZE* = 23
NI_SETCANDIDATE_PAGESTART* = 22
CPS_CANCEL* = 4
CPS_COMPLETE* = 1
CPS_CONVERT* = 2
CPS_REVERT* = 3
SCS_SETSTR* = 9
SCS_CHANGEATTR* = 18
SCS_CHANGECLAUSE* = 36
IME_REGWORD_STYLE_EUDC* = 1
IME_REGWORD_STYLE_USER_FIRST* = 0x80000000
IME_REGWORD_STYLE_USER_LAST* = - 1
SECURITY_DESCRIPTOR_REVISION* = 1
IS_TEXT_UNICODE_ASCII16* = 1
IS_TEXT_UNICODE_REVERSE_ASCII16* = 16
IS_TEXT_UNICODE_STATISTICS* = 2
IS_TEXT_UNICODE_REVERSE_STATISTICS* = 32
IS_TEXT_UNICODE_CONTROLS* = 4
IS_TEXT_UNICODE_REVERSE_CONTROLS* = 64
IS_TEXT_UNICODE_SIGNATURE* = 8
IS_TEXT_UNICODE_REVERSE_SIGNATURE* = 128
IS_TEXT_UNICODE_ILLEGAL_CHARS* = 256
IS_TEXT_UNICODE_ODD_LENGTH* = 512
IS_TEXT_UNICODE_NULL_BYTES* = 4096
IS_TEXT_UNICODE_UNICODE_MASK* = 15
IS_TEXT_UNICODE_REVERSE_MASK* = 240
IS_TEXT_UNICODE_NOT_UNICODE_MASK* = 3840
IS_TEXT_UNICODE_NOT_ASCII_MASK* = 61440
HC_GETNEXT* = 1
HC_SKIP* = 2
HC_SYSMODALOFF* = 5
HC_SYSMODALON* = 4
HC_NOREMOVE* = 3
KEYEVENTF_EXTENDEDKEY* = 1
KEYEVENTF_KEYUP* = 2
OBM_BTNCORNERS* = 32758
OBM_BTSIZE* = 32761
OBM_CHECK* = 32760
OBM_CHECKBOXES* = 32759
OBM_CLOSE* = 32754
OBM_COMBO* = 32738
OBM_DNARROW* = 32752
OBM_DNARROWD* = 32742
OBM_DNARROWI* = 32736
OBM_LFARROW* = 32750
OBM_LFARROWI* = 32734
OBM_LFARROWD* = 32740
OBM_MNARROW* = 32739
OBM_OLD_CLOSE* = 32767
OBM_OLD_DNARROW* = 32764
OBM_OLD_LFARROW* = 32762
OBM_OLD_REDUCE* = 32757
OBM_OLD_RESTORE* = 32755
OBM_OLD_RGARROW* = 32763
OBM_OLD_UPARROW* = 32765
OBM_OLD_ZOOM* = 32756
OBM_REDUCE* = 32749
OBM_REDUCED* = 32746
OBM_RESTORE* = 32747
OBM_RESTORED* = 32744
OBM_RGARROW* = 32751
OBM_RGARROWD* = 32741
OBM_RGARROWI* = 32735
OBM_SIZE* = 32766
OBM_UPARROW* = 32753
OBM_UPARROWD* = 32743
OBM_UPARROWI* = 32737
OBM_ZOOM* = 32748
OBM_ZOOMD* = 32745
DONT_RESOLVE_DLL_REFERENCES* = 1
LOAD_LIBRARY_AS_DATAFILE* = 2
LOAD_WITH_ALTERED_SEARCH_PATH* = 8
LPTR* = 64
LHND* = 66
NONZEROLHND* = 2
NONZEROLPTR* = 0
LMEM_NONZEROLHND* = 2
LMEM_NONZEROLPTR* = 0
LMEM_FIXED* = 0
LMEM_MOVEABLE* = 2
LMEM_NOCOMPACT* = 16
LMEM_NODISCARD* = 32
LMEM_ZEROINIT* = 64
LMEM_MODIFY* = 128
LMEM_LOCKCOUNT* = 255
LMEM_DISCARDABLE* = 3840
LMEM_DISCARDED* = 16384
LMEM_INVALID_HANDLE* = 32768
LOCKFILE_FAIL_IMMEDIATELY* = 1
LOCKFILE_EXCLUSIVE_LOCK* = 2
MB_USERICON* = 0x00000080
MB_ICONASTERISK* = 0x00000040
MB_ICONEXCLAMATION* = 0x00000030
MB_ICONWARNING* = 0x00000030
MB_ICONERROR* = 0x00000010
MB_ICONHAND* = 0x00000010
MB_ICONQUESTION* = 0x00000020
MB_OK* = 0
MB_ABORTRETRYIGNORE* = 0x00000002
MB_APPLMODAL* = 0
MB_DEFAULT_DESKTOP_ONLY* = 0x00020000
MB_HELP* = 0x00004000
MB_RIGHT* = 0x00080000
MB_RTLREADING* = 0x00100000
MB_TOPMOST* = 0x00040000
MB_DEFBUTTON1* = 0
MB_DEFBUTTON2* = 0x00000100
MB_DEFBUTTON3* = 0x00000200
MB_DEFBUTTON4* = 0x00000300
MB_ICONINFORMATION* = 0x00000040
MB_ICONSTOP* = 0x00000010
MB_OKCANCEL* = 0x00000001
MB_RETRYCANCEL* = 0x00000005
MB_SERVICE_NOTIFICATION* = 0x00040000
MB_SETFOREGROUND* = 0x00010000
MB_SYSTEMMODAL* = 0x00001000
MB_TASKMODAL* = 0x00002000
MB_YESNO* = 0x00000004
MB_YESNOCANCEL* = 0x00000003
IDABORT* = 3
IDCANCEL* = 2
IDCLOSE* = 8
IDHELP* = 9
IDIGNORE* = 5
IDNO* = 7
IDOK* = 1
IDRETRY* = 4
IDYES* = 6
MSGF_DIALOGBOX* = 0
MSGF_MENU* = 2
MSGF_NEXTWINDOW* = 6
MSGF_SCROLLBAR* = 5
MSGF_MAINLOOP* = 8
MSGF_USER* = 4096
MWT_IDENTITY* = 1
MWT_LEFTMULTIPLY* = 2
MWT_RIGHTMULTIPLY* = 3
MOUSEEVENTF_ABSOLUTE* = 32768
MOUSEEVENTF_MOVE* = 1
MOUSEEVENTF_LEFTDOWN* = 2
MOUSEEVENTF_LEFTUP* = 4
MOUSEEVENTF_RIGHTDOWN* = 8
MOUSEEVENTF_RIGHTUP* = 16
MOUSEEVENTF_MIDDLEDOWN* = 32
MOUSEEVENTF_MIDDLEUP* = 64
MOVEFILE_REPLACE_EXISTING* = 1
MOVEFILE_COPY_ALLOWED* = 2
MOVEFILE_DELAY_UNTIL_REBOOT* = 4
WAIT_OBJECT_0* = 0
WAIT_ABANDONED_0* = 0x00000080
WAIT_TIMEOUT* = 0x00000102
WAIT_IO_COMPLETION* = 0x000000C0
WAIT_ABANDONED* = 0x00000080
WAIT_FAILED* = 0xFFFFFFFF
MAXIMUM_WAIT_OBJECTS* = 0x00000040
MAXIMUM_SUSPEND_COUNT* = 0x0000007F
MB_PRECOMPOSED* = 1
MB_COMPOSITE* = 2
MB_ERR_INVALID_CHARS* = 8
MB_USEGLYPHCHARS* = 4
TOKEN_ADJUST_DEFAULT* = 128
TOKEN_ADJUST_GROUPS* = 64
TOKEN_ADJUST_PRIVILEGES* = 32
TOKEN_ALL_ACCESS* = 0x000F00FF
TOKEN_ASSIGN_PRIMARY* = 1
TOKEN_DUPLICATE* = 2
TOKEN_EXECUTE* = 0x00020000
TOKEN_IMPERSONATE* = 4
TOKEN_QUERY* = 8
TOKEN_QUERY_SOURCE* = 16
TOKEN_READ* = 0x00020008
TOKEN_WRITE* = 0x000200E0
SC_MANAGER_ALL_ACCESS* = 0x000F003F
SC_MANAGER_CONNECT* = 1
SC_MANAGER_CREATE_SERVICE* = 2
SC_MANAGER_ENUMERATE_SERVICE* = 4
SC_MANAGER_LOCK* = 8
SC_MANAGER_QUERY_LOCK_STATUS* = 16
SC_MANAGER_MODIFY_BOOT_CONFIG* = 32
HWND_BROADCAST* = HWND(0x0000FFFF)
TAPE_FORMAT* = 0x00000005
TAPE_LOAD* = 0
TAPE_LOCK* = 0x00000003
TAPE_TENSION* = 0x00000002
TAPE_UNLOAD* = 0x00000001
TAPE_UNLOCK* = 0x00000004
IS_PSREBOOTSYSTEM* = 3
IS_PSRESTARTWINDOWS* = 2
PSPCB_CREATE* = 2
PSPCB_RELEASE* = 1
PURGE_TXABORT* = 1
PURGE_RXABORT* = 2
PURGE_TXCLEAR* = 4
PURGE_RXCLEAR* = 8
OWNER_SECURITY_INFORMATION* = 0x00000001
GROUP_SECURITY_INFORMATION* = 0x00000002
DACL_SECURITY_INFORMATION* = 0x00000004
SACL_SECURITY_INFORMATION* = 0x00000008
EVENTLOG_FORWARDS_READ* = 4
EVENTLOG_BACKWARDS_READ* = 8
EVENTLOG_SEEK_READ* = 2
EVENTLOG_SEQUENTIAL_READ* = 1
EVENTLOG_ERROR_TYPE* = 1
EVENTLOG_WARNING_TYPE* = 2
EVENTLOG_INFORMATION_TYPE* = 4
EVENTLOG_AUDIT_SUCCESS* = 8
EVENTLOG_AUDIT_FAILURE* = 16
RDW_ERASE* = 4
RDW_FRAME* = 1024
RDW_INTERNALPAINT* = 2
RDW_INVALIDATE* = 1
RDW_NOERASE* = 32
RDW_NOFRAME* = 2048
RDW_NOINTERNALPAINT* = 16
RDW_VALIDATE* = 8
RDW_ERASENOW* = 512
RDW_UPDATENOW* = 256
RDW_ALLCHILDREN* = 128
RDW_NOCHILDREN* = 64
HKEY_CLASSES_ROOT* = HKEY(0x80000000)
HKEY_CURRENT_USER* = HKEY(0x80000001)
HKEY_LOCAL_MACHINE* = HKEY(0x80000002)
HKEY_USERS* = HKEY(0x80000003)
HKEY_PERFORMANCE_DATA* = HKEY(0x80000004)
HKEY_CURRENT_CONFIG* = HKEY(0x80000005)
HKEY_DYN_DATA* = HKEY(0x80000006)
REG_OPTION_VOLATILE* = 0x00000001
REG_OPTION_NON_VOLATILE* = 0
REG_CREATED_NEW_KEY* = 0x00000001
REG_OPENED_EXISTING_KEY* = 0x00000002
REG_BINARY* = 3
REG_DWORD* = 4
REG_DWORD_LITTLE_ENDIAN* = 4
REG_DWORD_BIG_ENDIAN* = 5
REG_EXPAND_SZ* = 2
REG_FULL_RESOURCE_DESCRIPTOR* = 9
REG_LINK* = 6
REG_MULTI_SZ* = 7
REG_NONE* = 0
REG_RESOURCE_LIST* = 8
REG_RESOURCE_REQUIREMENTS_LIST* = 10
REG_SZ* = 1
MOD_ALT* = 1
MOD_CONTROL* = 2
MOD_SHIFT* = 4
MOD_WIN* = 8
IDHOT_SNAPDESKTOP* = - 2
IDHOT_SNAPWINDOW* = - 1
REG_NOTIFY_CHANGE_NAME* = 0x00000001
REG_NOTIFY_CHANGE_ATTRIBUTES* = 0x00000002
REG_NOTIFY_CHANGE_LAST_SET* = 0x00000004
REG_NOTIFY_CHANGE_SECURITY* = 0x00000008
SW_ERASE* = 4
SW_INVALIDATE* = 2
SW_SCROLLCHILDREN* = 1
SMTO_ABORTIFHUNG* = 2
SMTO_BLOCK* = 1
SMTO_NORMAL* = 0
OPAQUE* = 2
TRANSPARENT* = 1
SLE_ERROR* = 1
SLE_MINORERROR* = 2
SLE_WARNING* = 3
SEM_FAILCRITICALERRORS* = 1
SEM_NOALIGNMENTFAULTEXCEPT* = 4
SEM_NOGPFAULTERRORBOX* = 2
SEM_NOOPENFILEERRORBOX* = 32768
ICM_ON* = 2
ICM_OFF* = 1
ICM_QUERY* = 3
LOCALE_ILANGUAGE* = 1
LOCALE_SLANGUAGE* = 2
LOCALE_SENGLANGUAGE* = 4097
LOCALE_SABBREVLANGNAME* = 3
LOCALE_SNATIVELANGNAME* = 4
LOCALE_ICOUNTRY* = 5
LOCALE_SCOUNTRY* = 6
LOCALE_SENGCOUNTRY* = 4098
LOCALE_SABBREVCTRYNAME* = 7
LOCALE_SNATIVECTRYNAME* = 8
LOCALE_IDEFAULTLANGUAGE* = 9
LOCALE_IDEFAULTCOUNTRY* = 10
LOCALE_IDEFAULTANSICODEPAGE* = 4100
LOCALE_IDEFAULTCODEPAGE* = 11
LOCALE_SLIST* = 12
LOCALE_IMEASURE* = 13
LOCALE_SDECIMAL* = 14
LOCALE_STHOUSAND* = 15
LOCALE_SGROUPING* = 16
LOCALE_IDIGITS* = 17
LOCALE_ILZERO* = 18
LOCALE_INEGNUMBER* = 4112
LOCALE_SCURRENCY* = 20
LOCALE_SMONDECIMALSEP* = 22
LOCALE_SMONTHOUSANDSEP* = 23
LOCALE_SMONGROUPING* = 24
LOCALE_ICURRDIGITS* = 25
LOCALE_ICURRENCY* = 27
LOCALE_INEGCURR* = 28
LOCALE_SDATE* = 29
LOCALE_STIME* = 30
LOCALE_STIMEFORMAT* = 4099
LOCALE_SSHORTDATE* = 31
LOCALE_SLONGDATE* = 32
LOCALE_IDATE* = 33
LOCALE_ILDATE* = 34
LOCALE_ITIME* = 35
LOCALE_ITLZERO* = 37
LOCALE_IDAYLZERO* = 38
LOCALE_IMONLZERO* = 39
LOCALE_S1159* = 40
LOCALE_S2359* = 41
LOCALE_ICALENDARTYPE* = 4105
LOCALE_IOPTIONALCALENDAR* = 4107
LOCALE_IFIRSTDAYOFWEEK* = 4108
LOCALE_IFIRSTWEEKOFYEAR* = 4109
LOCALE_SDAYNAME1* = 42
LOCALE_SDAYNAME2* = 43
LOCALE_SDAYNAME3* = 44
LOCALE_SDAYNAME4* = 45
LOCALE_SDAYNAME5* = 46
LOCALE_SDAYNAME6* = 47
LOCALE_SDAYNAME7* = 48
LOCALE_SABBREVDAYNAME1* = 49
LOCALE_SABBREVDAYNAME2* = 50
LOCALE_SABBREVDAYNAME3* = 51
LOCALE_SABBREVDAYNAME4* = 52
LOCALE_SABBREVDAYNAME5* = 53
LOCALE_SABBREVDAYNAME6* = 54
LOCALE_SABBREVDAYNAME7* = 55
LOCALE_SMONTHNAME1* = 56
LOCALE_SMONTHNAME2* = 57
LOCALE_SMONTHNAME3* = 58
LOCALE_SMONTHNAME4* = 59
LOCALE_SMONTHNAME5* = 60
LOCALE_SMONTHNAME6* = 61
LOCALE_SMONTHNAME7* = 62
LOCALE_SMONTHNAME8* = 63
LOCALE_SMONTHNAME9* = 64
LOCALE_SMONTHNAME10* = 65
LOCALE_SMONTHNAME11* = 66
LOCALE_SMONTHNAME12* = 67
LOCALE_SMONTHNAME13* = 4110
LOCALE_SABBREVMONTHNAME1* = 68
LOCALE_SABBREVMONTHNAME2* = 69
LOCALE_SABBREVMONTHNAME3* = 70
LOCALE_SABBREVMONTHNAME4* = 71
LOCALE_SABBREVMONTHNAME5* = 72
LOCALE_SABBREVMONTHNAME6* = 73
LOCALE_SABBREVMONTHNAME7* = 74
LOCALE_SABBREVMONTHNAME8* = 75
LOCALE_SABBREVMONTHNAME9* = 76
LOCALE_SABBREVMONTHNAME10* = 77
LOCALE_SABBREVMONTHNAME11* = 78
LOCALE_SABBREVMONTHNAME12* = 79
LOCALE_SABBREVMONTHNAME13* = 4111
LOCALE_SPOSITIVESIGN* = 80
LOCALE_SNEGATIVESIGN* = 81
LOCALE_IPOSSIGNPOSN* = 82
LOCALE_INEGSIGNPOSN* = 83
LOCALE_IPOSSYMPRECEDES* = 84
LOCALE_IPOSSEPBYSPACE* = 85
LOCALE_INEGSYMPRECEDES* = 86
LOCALE_INEGSEPBYSPACE* = 87
LOCALE_NOUSEROVERRIDE* = 0x80000000
LOCALE_USE_CP_ACP* = 0x40000000
LOCALE_RETURN_NUMBER* = 0x20000000
LOCALE_SISO639LANGNAME* = 0x00000059
LOCALE_SISO3166CTRYNAME* = 0x0000005A
CAL_ICALINTVALUE* = 1
CAL_IYEAROFFSETRANGE* = 3
CAL_SABBREVDAYNAME1* = 14
CAL_SABBREVDAYNAME2* = 15
CAL_SABBREVDAYNAME3* = 16
CAL_SABBREVDAYNAME4* = 17
CAL_SABBREVDAYNAME5* = 18
CAL_SABBREVDAYNAME6* = 19
CAL_SABBREVDAYNAME7* = 20
CAL_SABBREVMONTHNAME1* = 34
CAL_SABBREVMONTHNAME2* = 35
CAL_SABBREVMONTHNAME3* = 36
CAL_SABBREVMONTHNAME4* = 37
CAL_SABBREVMONTHNAME5* = 38
CAL_SABBREVMONTHNAME6* = 39
CAL_SABBREVMONTHNAME7* = 40
CAL_SABBREVMONTHNAME8* = 41
CAL_SABBREVMONTHNAME9* = 42
CAL_SABBREVMONTHNAME10* = 43
CAL_SABBREVMONTHNAME11* = 44
CAL_SABBREVMONTHNAME12* = 45
CAL_SABBREVMONTHNAME13* = 46
CAL_SCALNAME* = 2
CAL_SDAYNAME1* = 7
CAL_SDAYNAME2* = 8
CAL_SDAYNAME3* = 9
CAL_SDAYNAME4* = 10
CAL_SDAYNAME5* = 11
CAL_SDAYNAME6* = 12
CAL_SDAYNAME7* = 13
CAL_SERASTRING* = 4
CAL_SLONGDATE* = 6
CAL_SMONTHNAME1* = 21
CAL_SMONTHNAME2* = 22
CAL_SMONTHNAME3* = 23
CAL_SMONTHNAME4* = 24
CAL_SMONTHNAME5* = 25
CAL_SMONTHNAME6* = 26
CAL_SMONTHNAME7* = 27
CAL_SMONTHNAME8* = 28
CAL_SMONTHNAME9* = 29
CAL_SMONTHNAME10* = 30
CAL_SMONTHNAME11* = 31
CAL_SMONTHNAME12* = 32
CAL_SMONTHNAME13* = 33
CAL_SSHORTDATE* = 5
PROCESS_SET_QUOTA* = 256
BLACKONWHITE* = 1
COLORONCOLOR* = 3
HALFTONE* = 4
STRETCH_ANDSCANS* = 1
STRETCH_DELETESCANS* = 3
STRETCH_HALFTONE* = 4
STRETCH_ORSCANS* = 2
WHITEONBLACK* = 2
OCR_NORMAL* = 32512
OCR_IBEAM* = 32513
OCR_WAIT* = 32514
OCR_CROSS* = 32515
OCR_UP* = 32516
OCR_SIZE* = 32640
OCR_ICON* = 32641
OCR_SIZENWSE* = 32642
OCR_SIZENESW* = 32643
OCR_SIZEWE* = 32644
OCR_SIZENS* = 32645
OCR_SIZEALL* = 32646
OCR_NO* = 32648
OCR_APPSTARTING* = 32650
TAPE_ABSOLUTE_BLOCK* = 0x00000001
TAPE_LOGICAL_BLOCK* = 0x00000002
TAPE_REWIND* = 0
TAPE_SPACE_END_OF_DATA* = 0x00000004
TAPE_SPACE_FILEMARKS* = 0x00000006
TAPE_SPACE_RELATIVE_BLOCKS* = 0x00000005
TAPE_SPACE_SEQUENTIAL_FMKS* = 0x00000007
TAPE_SPACE_SEQUENTIAL_SMKS* = 0x00000009
TAPE_SPACE_SETMARKS* = 0x00000008
EXCEPTION_EXECUTE_HANDLER* = 1
EXCEPTION_CONTINUE_EXECUTION* = - 1
EXCEPTION_CONTINUE_SEARCH* = 0
HWND_BOTTOM* = HWND(1)
HWND_NOTOPMOST* = HWND(- 2)
HWND_TOP* = HWND(0)
HWND_TOPMOST* = HWND(- 1)
SWP_DRAWFRAME* = 32
SWP_FRAMECHANGED* = 32
SWP_HIDEWINDOW* = 128
SWP_NOACTIVATE* = 16
SWP_NOCOPYBITS* = 256
SWP_NOMOVE* = 2
SWP_NOSIZE* = 1
SWP_NOREDRAW* = 8
SWP_NOZORDER* = 4
SWP_SHOWWINDOW* = 64
SWP_NOOWNERZORDER* = 512
SWP_NOREPOSITION* = 512
SWP_NOSENDCHANGING* = 1024
HSHELL_ACTIVATESHELLWINDOW* = 3
HSHELL_GETMINRECT* = 5
HSHELL_LANGUAGE* = 8
HSHELL_REDRAW* = 6
HSHELL_TASKMAN* = 7
HSHELL_WINDOWACTIVATED* = 4
HSHELL_WINDOWCREATED* = 1
HSHELL_WINDOWDESTROYED* = 2
SW_HIDE* = 0
SW_MAXIMIZE* = 3
SW_MINIMIZE* = 6
SW_NORMAL* = 1
SW_RESTORE* = 9
SW_SHOW* = 5
SW_SHOWDEFAULT* = 10
SW_SHOWMAXIMIZED* = 3
SW_SHOWMINIMIZED* = 2
SW_SHOWMINNOACTIVE* = 7
SW_SHOWNA* = 8
SW_SHOWNOACTIVATE* = 4
SW_SHOWNORMAL* = 1
WPF_RESTORETOMAXIMIZED* = 2
WPF_SETMINPOSITION* = 1
INFINITE* = - 1'i32
SPI_GETBEEP* = 1
SPI_SETBEEP* = 2
SPI_GETMOUSE* = 3
SPI_SETMOUSE* = 4
SPI_GETBORDER* = 5
SPI_SETBORDER* = 6
SPI_GETKEYBOARDSPEED* = 10
SPI_SETKEYBOARDSPEED* = 11
SPI_LANGDRIVER* = 12
SPI_ICONHORIZONTALSPACING* = 13
SPI_GETSCREENSAVETIMEOUT* = 14
SPI_SETSCREENSAVETIMEOUT* = 15
SPI_GETSCREENSAVEACTIVE* = 16
SPI_SETSCREENSAVEACTIVE* = 17
SPI_GETGRIDGRANULARITY* = 18
SPI_SETGRIDGRANULARITY* = 19
SPI_SETDESKWALLPAPER* = 20
SPI_SETDESKPATTERN* = 21
SPI_GETKEYBOARDDELAY* = 22
SPI_SETKEYBOARDDELAY* = 23
SPI_ICONVERTICALSPACING* = 24
SPI_GETICONTITLEWRAP* = 25
SPI_SETICONTITLEWRAP* = 26
SPI_GETMENUDROPALIGNMENT* = 27
SPI_SETMENUDROPALIGNMENT* = 28
SPI_SETDOUBLECLKWIDTH* = 29
SPI_SETDOUBLECLKHEIGHT* = 30
SPI_GETICONTITLELOGFONT* = 31
SPI_SETDOUBLECLICKTIME* = 32
SPI_SETMOUSEBUTTONSWAP* = 33
SPI_SETICONTITLELOGFONT* = 34
SPI_GETFASTTASKSWITCH* = 35
SPI_SETFASTTASKSWITCH* = 36
SPI_SETDRAGFULLWINDOWS* = 37
SPI_GETDRAGFULLWINDOWS* = 38
SPI_GETNONCLIENTMETRICS* = 41
SPI_SETNONCLIENTMETRICS* = 42
SPI_GETMINIMIZEDMETRICS* = 43
SPI_SETMINIMIZEDMETRICS* = 44
SPI_GETICONMETRICS* = 45
SPI_SETICONMETRICS* = 46
SPI_SETWORKAREA* = 47
SPI_GETWORKAREA* = 48
SPI_SETPENWINDOWS* = 49
SPI_GETFILTERKEYS* = 50
SPI_SETFILTERKEYS* = 51
SPI_GETTOGGLEKEYS* = 52
SPI_SETTOGGLEKEYS* = 53
SPI_GETMOUSEKEYS* = 54
SPI_SETMOUSEKEYS* = 55
SPI_GETSHOWSOUNDS* = 56
SPI_SETSHOWSOUNDS* = 57
SPI_GETSTICKYKEYS* = 58
SPI_SETSTICKYKEYS* = 59
SPI_GETACCESSTIMEOUT* = 60
SPI_SETACCESSTIMEOUT* = 61
SPI_GETSERIALKEYS* = 62
SPI_SETSERIALKEYS* = 63
SPI_GETSOUNDSENTRY* = 64
SPI_SETSOUNDSENTRY* = 65
SPI_GETHIGHCONTRAST* = 66
SPI_SETHIGHCONTRAST* = 67
SPI_GETKEYBOARDPREF* = 68
SPI_SETKEYBOARDPREF* = 69
SPI_GETSCREENREADER* = 70
SPI_SETSCREENREADER* = 71
SPI_GETANIMATION* = 72
SPI_SETANIMATION* = 73
SPI_GETFONTSMOOTHING* = 74
SPI_SETFONTSMOOTHING* = 75
SPI_SETDRAGWIDTH* = 76
SPI_SETDRAGHEIGHT* = 77
SPI_SETHANDHELD* = 78
SPI_GETLOWPOWERTIMEOUT* = 79
SPI_GETPOWEROFFTIMEOUT* = 80
SPI_SETLOWPOWERTIMEOUT* = 81
SPI_SETPOWEROFFTIMEOUT* = 82
SPI_GETLOWPOWERACTIVE* = 83
SPI_GETPOWEROFFACTIVE* = 84
SPI_SETLOWPOWERACTIVE* = 85
SPI_SETPOWEROFFACTIVE* = 86
SPI_SETCURSORS* = 87
SPI_SETICONS* = 88
SPI_GETDEFAULTINPUTLANG* = 89
SPI_SETDEFAULTINPUTLANG* = 90
SPI_SETLANGTOGGLE* = 91
SPI_GETWINDOWSEXTENSION* = 92
SPI_SETMOUSETRAILS* = 93
SPI_GETMOUSETRAILS* = 94
SPI_GETSNAPTODEFBUTTON* = 95
SPI_SETSNAPTODEFBUTTON* = 96
SPI_SCREENSAVERRUNNING* = 97
SPI_SETSCREENSAVERRUNNING* = 97
SPI_GETMOUSEHOVERWIDTH* = 98
SPI_SETMOUSEHOVERWIDTH* = 99
SPI_GETMOUSEHOVERHEIGHT* = 100
SPI_SETMOUSEHOVERHEIGHT* = 101
SPI_GETMOUSEHOVERTIME* = 102
SPI_SETMOUSEHOVERTIME* = 103
SPI_GETWHEELSCROLLLINES* = 104
SPI_SETWHEELSCROLLLINES* = 105
SPI_GETMENUSHOWDELAY* = 106
SPI_SETMENUSHOWDELAY* = 107
SPI_GETSHOWIMEUI* = 110
SPI_SETSHOWIMEUI* = 111
SPI_GETMOUSESPEED* = 112
SPI_SETMOUSESPEED* = 113
SPI_GETSCREENSAVERRUNNING* = 114
SPI_GETDESKWALLPAPER* = 115
SPI_GETACTIVEWINDOWTRACKING* = 4096
SPI_SETACTIVEWINDOWTRACKING* = 4097
SPI_GETMENUANIMATION* = 4098
SPI_SETMENUANIMATION* = 4099
SPI_GETCOMBOBOXANIMATION* = 4100
SPI_SETCOMBOBOXANIMATION* = 4101
SPI_GETLISTBOXSMOOTHSCROLLING* = 4102
SPI_SETLISTBOXSMOOTHSCROLLING* = 4103
SPI_GETGRADIENTCAPTIONS* = 4104
SPI_SETGRADIENTCAPTIONS* = 4105
SPI_GETKEYBOARDCUES* = 4106
SPI_SETKEYBOARDCUES* = 4107
SPI_GETMENUUNDERLINES* = 4106
SPI_SETMENUUNDERLINES* = 4107
SPI_GETACTIVEWNDTRKZORDER* = 4108
SPI_SETACTIVEWNDTRKZORDER* = 4109
SPI_GETHOTTRACKING* = 4110
SPI_SETHOTTRACKING* = 4111
SPI_GETMENUFADE* = 4114
SPI_SETMENUFADE* = 4115
SPI_GETSELECTIONFADE* = 4116
SPI_SETSELECTIONFADE* = 4117
SPI_GETTOOLTIPANIMATION* = 4118
SPI_SETTOOLTIPANIMATION* = 4119
SPI_GETTOOLTIPFADE* = 4120
SPI_SETTOOLTIPFADE* = 4121
SPI_GETCURSORSHADOW* = 4122
SPI_SETCURSORSHADOW* = 4123
SPI_GETUIEFFECTS* = 4158
SPI_SETUIEFFECTS* = 4159
SPI_GETFOREGROUNDLOCKTIMEOUT* = 8192
SPI_SETFOREGROUNDLOCKTIMEOUT* = 8193
SPI_GETACTIVEWNDTRKTIMEOUT* = 8194
SPI_SETACTIVEWNDTRKTIMEOUT* = 8195
SPI_GETFOREGROUNDFLASHCOUNT* = 8196
SPI_SETFOREGROUNDFLASHCOUNT* = 8197
SPI_GETCARETWIDTH* = 8198
SPI_SETCARETWIDTH* = 8199
SPI_GETMOUSESONAR* = 4124
SPI_SETMOUSESONAR* = 4125
SPI_GETMOUSECLICKLOCK* = 4126
SPI_SETMOUSECLICKLOCK* = 4127
SPI_GETMOUSEVANISH* = 4128
SPI_SETMOUSEVANISH* = 4129
SPI_GETFLATMENU* = 4130
SPI_SETFLATMENU* = 4131
SPI_GETDROPSHADOW* = 4132
SPI_SETDROPSHADOW* = 4133
SPI_GETBLOCKSENDINPUTRESETS* = 4134
SPI_SETBLOCKSENDINPUTRESETS* = 4135
SPI_GETMOUSECLICKLOCKTIME* = 8200
SPI_SETMOUSECLICKLOCKTIME* = 8201
SPI_GETFONTSMOOTHINGTYPE* = 8202
SPI_SETFONTSMOOTHINGTYPE* = 8203
SPI_GETFONTSMOOTHINGCONTRAST* = 8204
SPI_SETFONTSMOOTHINGCONTRAST* = 8205
SPI_GETFOCUSBORDERWIDTH* = 8206
SPI_SETFOCUSBORDERWIDTH* = 8207
SPI_GETFOCUSBORDERHEIGHT* = 8208
SPI_SETFOCUSBORDERHEIGHT* = 8209
SPI_GETFONTSMOOTHINGORIENTATION* = 8210
SPI_SETFONTSMOOTHINGORIENTATION* = 8211
FE_FONTSMOOTHINGSTANDARD* = 1
FE_FONTSMOOTHINGCLEARTYPE* = 2
FE_FONTSMOOTHINGDOCKING* = 32768
FE_FONTSMOOTHINGORIENTATIONBGR* = 0
FE_FONTSMOOTHINGORIENTATIONRGB* = 1
SPIF_UPDATEINIFILE* = 1
SPIF_SENDWININICHANGE* = 2
SPIF_SENDCHANGE* = 2
TPM_CENTERALIGN* = 0x00000004
TPM_LEFTALIGN* = 0
TPM_RIGHTALIGN* = 0x00000008
TPM_LEFTBUTTON* = 0
TPM_RIGHTBUTTON* = 0x00000002
TPM_HORIZONTAL* = 0
TPM_VERTICAL* = 0x00000040
TCI_SRCCHARSET* = 1
TCI_SRCCODEPAGE* = 2
TCI_SRCFONTSIG* = 3
VFFF_ISSHAREDFILE* = 1
VFF_CURNEDEST* = 1
VFF_FILEINUSE* = 2
VFF_BUFFTOOSMALL* = 4
VIFF_FORCEINSTALL* = 1
VIFF_DONTDELETEOLD* = 2
VIF_TEMPFILE* = 0x00000001
VIF_MISMATCH* = 0x00000002
VIF_SRCOLD* = 0x00000004
VIF_DIFFLANG* = 0x00000008
VIF_DIFFCODEPG* = 0x00000010
VIF_DIFFTYPE* = 0x00000020
VIF_WRITEPROT* = 0x00000040
VIF_FILEINUSE* = 0x00000080
VIF_OUTOFSPACE* = 0x00000100
VIF_ACCESSVIOLATION* = 0x00000200
VIF_SHARINGVIOLATION* = 0x00000400
VIF_CANNOTCREATE* = 0x00000800
VIF_CANNOTDELETE* = 0x00001000
VIF_CANNOTDELETECUR* = 0x00004000
VIF_CANNOTRENAME* = 0x00002000
VIF_OUTOFMEMORY* = 0x00008000
VIF_CANNOTREADSRC* = 0x00010000
VIF_CANNOTREADDST* = 0x00020000
VIF_BUFFTOOSMALL* = 0x00040000
WC_COMPOSITECHECK* = 512
WC_DISCARDNS* = 16
WC_SEPCHARS* = 32
WC_DEFAULTCHAR* = 64
HELP_COMMAND* = 0x00000102
HELP_CONTENTS* = 0x00000003
HELP_CONTEXT* = 0x00000001
HELP_CONTEXTPOPUP* = 0x00000008
HELP_FORCEFILE* = 0x00000009
HELP_HELPONHELP* = 0x00000004
HELP_INDEX* = 0x00000003
HELP_KEY* = 0x00000101
HELP_MULTIKEY* = 0x00000201
HELP_PARTIALKEY* = 0x00000105
HELP_QUIT* = 0x00000002
HELP_SETCONTENTS* = 0x00000005
HELP_SETINDEX* = 0x00000005
HELP_CONTEXTMENU* = 0x0000000A
HELP_FINDER* = 0x0000000B
HELP_WM_HELP* = 0x0000000C
HELP_TCARD* = 0x00008000
HELP_TCARD_DATA* = 0x00000010
HELP_TCARD_OTHER_CALLER* = 0x00000011
CONNECT_UPDATE_PROFILE* = 1
RESOURCETYPE_DISK* = 1
RESOURCETYPE_PRINT* = 2
RESOURCETYPE_ANY* = 0
RESOURCE_CONNECTED* = 1
RESOURCE_GLOBALNET* = 2
RESOURCE_REMEMBERED* = 3
RESOURCEUSAGE_CONNECTABLE* = 1
RESOURCEUSAGE_CONTAINER* = 2
WN_BAD_NETNAME* = 0x00000043
WN_EXTENDED_ERROR* = 0x000004B8
WN_MORE_DATA* = 0x000000EA
WN_NO_NETWORK* = 0x000004C6
WN_SUCCESS* = 0
WN_ACCESS_DENIED* = 0x00000005
WN_BAD_PROVIDER* = 0x000004B4
WN_NOT_AUTHENTICATED* = 0x000004DC
UNIVERSAL_NAME_INFO_LEVEL* = 1
REMOTE_NAME_INFO_LEVEL* = 2
STILL_ACTIVE* = 0x00000103
SP_SERIALCOMM* = 0x00000001
BAUD_075* = 0x00000001
BAUD_110* = 0x00000002
BAUD_134_5* = 0x00000004
BAUD_150* = 0x00000008
BAUD_300* = 0x00000010
BAUD_600* = 0x00000020
BAUD_1200* = 0x00000040
BAUD_1800* = 0x00000080
BAUD_2400* = 0x00000100
BAUD_4800* = 0x00000200
BAUD_7200* = 0x00000400
BAUD_9600* = 0x00000800
BAUD_14400* = 0x00001000
BAUD_19200* = 0x00002000
BAUD_38400* = 0x00004000
BAUD_56K* = 0x00008000
BAUD_57600* = 0x00040000
BAUD_115200* = 0x00020000
BAUD_128K* = 0x00010000
BAUD_USER* = 0x10000000
PST_FAX* = 0x00000021
PST_LAT* = 0x00000101
PST_MODEM* = 0x00000006
PST_NETWORK_BRIDGE* = 0x00000100
PST_PARALLELPORT* = 0x00000002
PST_RS232* = 0x00000001
PST_RS422* = 0x00000003
PST_RS423* = 0x00000004
PST_RS449* = 0x00000005
PST_SCANNER* = 0x00000022
PST_TCPIP_TELNET* = 0x00000102
PST_UNSPECIFIED* = 0
PST_X25* = 0x00000103
PCF_16BITMODE* = 0x00000200
PCF_DTRDSR* = 0x00000001
PCF_INTTIMEOUTS* = 0x00000080
PCF_PARITY_CHECK* = 0x00000008
PCF_RLSD* = 0x00000004
PCF_RTSCTS* = 0x00000002
PCF_SETXCHAR* = 0x00000020
PCF_SPECIALCHARS* = 0x00000100
PCF_TOTALTIMEOUTS* = 0x00000040
PCF_XONXOFF* = 0x00000010
SP_BAUD* = 0x00000002
SP_DATABITS* = 0x00000004
SP_HANDSHAKING* = 0x00000010
SP_PARITY* = 0x00000001
SP_PARITY_CHECK* = 0x00000020
SP_RLSD* = 0x00000040
SP_STOPBITS* = 0x00000008
DATABITS_5* = 1
DATABITS_6* = 2
DATABITS_7* = 4
DATABITS_8* = 8
DATABITS_16* = 16
DATABITS_16X* = 32
STOPBITS_10* = 1
STOPBITS_15* = 2
STOPBITS_20* = 4
PARITY_NONE* = 256
PARITY_ODD* = 512
PARITY_EVEN* = 1024
PARITY_MARK* = 2048
PARITY_SPACE* = 4096
COMMPROP_INITIALIZED* = 0xE73CF52E
CBR_110* = 110
CBR_300* = 300
CBR_600* = 600
CBR_1200* = 1200
CBR_2400* = 2400
CBR_4800* = 4800
CBR_9600* = 9600
CBR_14400* = 14400
CBR_19200* = 19200
CBR_38400* = 38400
CBR_56000* = 56000
CBR_57600* = 57600
CBR_115200* = 115200
CBR_128000* = 128000
CBR_256000* = 256000
DTR_CONTROL_DISABLE* = 0
DTR_CONTROL_ENABLE* = 1
DTR_CONTROL_HANDSHAKE* = 2
RTS_CONTROL_DISABLE* = 0
RTS_CONTROL_ENABLE* = 1
RTS_CONTROL_HANDSHAKE* = 2
RTS_CONTROL_TOGGLE* = 3
EVENPARITY* = 2
MARKPARITY* = 3
NOPARITY* = 0
ODDPARITY* = 1
SPACEPARITY* = 4
ONESTOPBIT* = 0
ONE5STOPBITS* = 1
TWOSTOPBITS* = 2
CREATE_PROCESS_DEBUG_EVENT* = 3
CREATE_THREAD_DEBUG_EVENT* = 2
EXCEPTION_DEBUG_EVENT* = 1
EXIT_PROCESS_DEBUG_EVENT* = 5
EXIT_THREAD_DEBUG_EVENT* = 4
LOAD_DLL_DEBUG_EVENT* = 6
OUTPUT_DEBUG_STRING_EVENT* = 8
UNLOAD_DLL_DEBUG_EVENT* = 7
RIP_EVENT* = 9
PROCESS_HEAP_REGION* = 1
PROCESS_HEAP_UNCOMMITTED_RANGE* = 2
PROCESS_HEAP_ENTRY_BUSY* = 4
PROCESS_HEAP_ENTRY_MOVEABLE* = 16
PROCESS_HEAP_ENTRY_DDESHARE* = 32
HINSTANCE_ERROR* = 32
BACKUP_DATA* = 1
BACKUP_EA_DATA* = 2
BACKUP_SECURITY_DATA* = 3
BACKUP_ALTERNATE_DATA* = 4
BACKUP_LINK* = 5
STREAM_MODIFIED_WHEN_READ* = 1
STREAM_CONTAINS_SECURITY* = 2
STARTF_USESHOWWINDOW* = 1
STARTF_USEPOSITION* = 4
STARTF_USESIZE* = 2
STARTF_USECOUNTCHARS* = 8
STARTF_USEFILLATTRIBUTE* = 16
STARTF_RUNFULLSCREEN* = 32
STARTF_FORCEONFEEDBACK* = 64
STARTF_FORCEOFFFEEDBACK* = 128
STARTF_USESTDHANDLES* = 256
STARTF_USEHOTKEY* = 512
VER_PLATFORM_WIN32s* = 0
VER_PLATFORM_WIN32_WINDOWS* = 1
VER_PLATFORM_WIN32_NT* = 2
VER_SERVER_NT* = 0x80000000
VER_WORKSTATION_NT* = 0x40000000
VER_SUITE_SMALLBUSINESS* = 0x00000001
VER_SUITE_ENTERPRISE* = 0x00000002
VER_SUITE_BACKOFFICE* = 0x00000004
VER_SUITE_COMMUNICATIONS* = 0x00000008
VER_SUITE_TERMINAL* = 0x00000010
VER_SUITE_SMALLBUSINESS_RESTRICTED* = 0x00000020
VER_SUITE_EMBEDDEDNT* = 0x00000040
VER_SUITE_DATACENTER* = 0x00000080
VER_SUITE_SINGLEUSERTS* = 0x00000100
VER_SUITE_PERSONAL* = 0x00000200
VER_SUITE_BLADE* = 0x00000400
VER_SUITE_EMBEDDED_RESTRICTED* = 0x00000800
MAXPROPPAGES* = 100
PSP_DEFAULT* = 0
PSP_DLGINDIRECT* = 1
PSP_HASHELP* = 32
PSP_USECALLBACK* = 128
PSP_USEHICON* = 2
PSP_USEICONID* = 4
PSP_USEREFPARENT* = 64
PSP_USETITLE* = 8
PSP_RTLREADING* = 16
PSH_DEFAULT* = 0
PSH_HASHELP* = 512
PSH_MODELESS* = 1024
PSH_NOAPPLYNOW* = 128
PSH_PROPSHEETPAGE* = 8
PSH_PROPTITLE* = 1
PSH_USECALLBACK* = 256
PSH_USEHICON* = 2
PSH_USEICONID* = 4
PSH_USEPSTARTPAGE* = 64
PSH_WIZARD* = 32
PSH_RTLREADING* = 2048
PSCB_INITIALIZED* = 1
PSCB_PRECREATE* = 2
PSNRET_NOERROR* = 0
PSNRET_INVALID_NOCHANGEPAGE* = 2
PSBTN_APPLYNOW* = 4
PSBTN_BACK* = 0
PSBTN_CANCEL* = 5
PSBTN_FINISH* = 2
PSBTN_HELP* = 6
PSBTN_NEXT* = 1
PSBTN_OK* = 3
PSWIZB_BACK* = 1
PSWIZB_NEXT* = 2
PSWIZB_FINISH* = 4
PSWIZB_DISABLEDFINISH* = 8
ID_PSREBOOTSYSTEM* = 3
ID_PSRESTARTWINDOWS* = 2
WIZ_BODYCX* = 184
WIZ_BODYX* = 92
WIZ_CXBMP* = 80
WIZ_CXDLG* = 276
WIZ_CYDLG* = 140
VS_FILE_INFO* = cast[MAKEINTRESOURCE](16)
VS_VERSION_INFO* = 1
VS_FF_DEBUG* = 0x00000001
VS_FF_INFOINFERRED* = 0x00000010
VS_FF_PATCHED* = 0x00000004
VS_FF_PRERELEASE* = 0x00000002
VS_FF_PRIVATEBUILD* = 0x00000008
VS_FF_SPECIALBUILD* = 0x00000020
VOS_UNKNOWN* = 0
VOS_DOS* = 0x00010000
VOS_OS216* = 0x00020000
VOS_OS232* = 0x00030000
VOS_NT* = 0x00040000
VOS_DOS_WINDOWS16* = 0x00010001
VOS_DOS_WINDOWS32* = 0x00010004
VOS_OS216_PM16* = 0x00020002
VOS_OS232_PM32* = 0x00030003
VOS_NT_WINDOWS32* = 0x00040004
VFT_UNKNOWN* = 0
VFT_APP* = 0x00000001
VFT_DLL* = 0x00000002
VFT_DRV* = 0x00000003
VFT_FONT* = 0x00000004
VFT_VXD* = 0x00000005
VFT_STATIC_LIB* = 0x00000007
VFT2_UNKNOWN* = 0
VFT2_DRV_PRINTER* = 0x00000001
VFT2_DRV_KEYBOARD* = 0x00000002
VFT2_DRV_LANGUAGE* = 0x00000003
VFT2_DRV_DISPLAY* = 0x00000004
VFT2_DRV_MOUSE* = 0x00000005
VFT2_DRV_NETWORK* = 0x00000006
VFT2_DRV_SYSTEM* = 0x00000007
VFT2_DRV_INSTALLABLE* = 0x00000008
VFT2_DRV_SOUND* = 0x00000009
VFT2_FONT_RASTER* = 0x00000001
VFT2_FONT_VECTOR* = 0x00000002
VFT2_FONT_TRUETYPE* = 0x00000003
PAN_ANY* = 0
PAN_NO_FIT* = 1
PAN_FAMILY_TEXT_DISPLAY* = 2
PAN_FAMILY_SCRIPT* = 3
PAN_FAMILY_DECORATIVE* = 4
PAN_FAMILY_PICTORIAL* = 5
PAN_SERIF_COVE* = 2
PAN_SERIF_OBTUSE_COVE* = 3
PAN_SERIF_SQUARE_COVE* = 4
PAN_SERIF_OBTUSE_SQUARE_COVE* = 5
PAN_SERIF_SQUARE* = 6
PAN_SERIF_THIN* = 7
PAN_SERIF_BONE* = 8
PAN_SERIF_EXAGGERATED* = 9
PAN_SERIF_TRIANGLE* = 10
PAN_SERIF_NORMAL_SANS* = 11
PAN_SERIF_OBTUSE_SANS* = 12
PAN_SERIF_PERP_SANS* = 13
PAN_SERIF_FLARED* = 14
PAN_SERIF_ROUNDED* = 15
PAN_WEIGHT_VERY_LIGHT* = 2
PAN_WEIGHT_LIGHT* = 3
PAN_WEIGHT_THIN* = 4
PAN_WEIGHT_BOOK* = 5
PAN_WEIGHT_MEDIUM* = 6
PAN_WEIGHT_DEMI* = 7
PAN_WEIGHT_BOLD* = 8
PAN_WEIGHT_HEAVY* = 9
PAN_WEIGHT_BLACK* = 10
PAN_WEIGHT_NORD* = 11
PAN_PROP_OLD_STYLE* = 2
PAN_PROP_MODERN* = 3
PAN_PROP_EVEN_WIDTH* = 4
PAN_PROP_EXPANDED* = 5
PAN_PROP_CONDENSED* = 6
PAN_PROP_VERY_EXPANDED* = 7
PAN_PROP_VERY_CONDENSED* = 8
PAN_PROP_MONOSPACED* = 9
PAN_CONTRAST_NONE* = 2
PAN_CONTRAST_VERY_LOW* = 3
PAN_CONTRAST_LOW* = 4
PAN_CONTRAST_MEDIUM_LOW* = 5
PAN_CONTRAST_MEDIUM* = 6
PAN_CONTRAST_MEDIUM_HIGH* = 7
PAN_CONTRAST_HIGH* = 8
PAN_CONTRAST_VERY_HIGH* = 9
PAN_STROKE_GRADUAL_DIAG* = 2
PAN_STROKE_GRADUAL_TRAN* = 3
PAN_STROKE_GRADUAL_VERT* = 4
PAN_STROKE_GRADUAL_HORZ* = 5
PAN_STROKE_RAPID_VERT* = 6
PAN_STROKE_RAPID_HORZ* = 7
PAN_STROKE_INSTANT_VERT* = 8
PAN_STRAIGHT_ARMS_HORZ* = 2
PAN_STRAIGHT_ARMS_WEDGE* = 3
PAN_STRAIGHT_ARMS_VERT* = 4
PAN_STRAIGHT_ARMS_SINGLE_SERIF* = 5
PAN_STRAIGHT_ARMS_DOUBLE_SERIF* = 6
PAN_BENT_ARMS_HORZ* = 7
PAN_BENT_ARMS_VERT* = 9
PAN_BENT_ARMS_WEDGE* = 8
PAN_BENT_ARMS_SINGLE_SERIF* = 10
PAN_BENT_ARMS_DOUBLE_SERIF* = 11
PAN_LETT_NORMAL_CONTACT* = 2
PAN_LETT_NORMAL_WEIGHTED* = 3
PAN_LETT_NORMAL_BOXED* = 4
PAN_LETT_NORMAL_FLATTENED* = 5
PAN_LETT_NORMAL_ROUNDED* = 6
PAN_LETT_NORMAL_OFF_CENTER* = 7
PAN_LETT_NORMAL_SQUARE* = 8
PAN_LETT_OBLIQUE_CONTACT* = 9
PAN_LETT_OBLIQUE_WEIGHTED* = 10
PAN_LETT_OBLIQUE_BOXED* = 11
PAN_LETT_OBLIQUE_FLATTENED* = 12
PAN_LETT_OBLIQUE_ROUNDED* = 13
PAN_LETT_OBLIQUE_OFF_CENTER* = 14
PAN_LETT_OBLIQUE_SQUARE* = 15
PAN_MIDLINE_STANDARD_TRIMMED* = 2
PAN_MIDLINE_STANDARD_POINTED* = 3
PAN_MIDLINE_STANDARD_SERIFED* = 4
PAN_MIDLINE_HIGH_TRIMMED* = 5
PAN_MIDLINE_HIGH_POINTED* = 6
PAN_MIDLINE_HIGH_SERIFED* = 7
PAN_MIDLINE_CONSTANT_TRIMMED* = 8
PAN_MIDLINE_CONSTANT_POINTED* = 9
PAN_MIDLINE_CONSTANT_SERIFED* = 10
PAN_MIDLINE_LOW_TRIMMED* = 11
PAN_MIDLINE_LOW_POINTED* = 12
PAN_MIDLINE_LOW_SERIFED* = 13
PAN_XHEIGHT_CONSTANT_SMALL* = 2
PAN_XHEIGHT_CONSTANT_STD* = 3
PAN_XHEIGHT_CONSTANT_LARGE* = 4
PAN_XHEIGHT_DUCKING_SMALL* = 5
PAN_XHEIGHT_DUCKING_STD* = 6
PAN_XHEIGHT_DUCKING_LARGE* = 7
PC_EXPLICIT* = 2
PC_NOCOLLAPSE* = 4
PC_RESERVED* = 1
BS_DIBPATTERN* = 5
BS_DIBPATTERN8X8* = 8
BS_DIBPATTERNPT* = 6
BS_HATCHED* = 2
BS_HOLLOW* = 1
BS_NULL* = 1
BS_PATTERN* = 3
BS_PATTERN8X8* = 7
BS_SOLID* = 0
DM_ORIENTATION* = 0x00000001
DM_PAPERSIZE* = 0x00000002
DM_PAPERLENGTH* = 0x00000004
DM_PAPERWIDTH* = 0x00000008
DM_SCALE* = 0x00000010
DM_POSITION* = 0x00000020
DM_NUP* = 0x00000040
DM_DISPLAYORIENTATION* = 0x00000080
DM_COPIES* = 0x00000100
DM_DEFAULTSOURCE* = 0x00000200
DM_PRINTQUALITY* = 0x00000400
DM_COLOR* = 0x00000800
DM_DUPLEX* = 0x00001000
DM_YRESOLUTION* = 0x00002000
DM_TTOPTION* = 0x00004000
DM_COLLATE* = 0x00008000
DM_FORMNAME* = 0x00010000
DM_LOGPIXELS* = 0x00020000
DM_BITSPERPEL* = 0x00040000
DM_PELSWIDTH* = 0x00080000
DM_PELSHEIGHT* = 0x00100000
DM_DISPLAYFLAGS* = 0x00200000
DM_DISPLAYFREQUENCY* = 0x00400000
DM_ICMMETHOD* = 0x00800000
DM_ICMINTENT* = 0x01000000
DM_MEDIATYPE* = 0x02000000
DM_DITHERTYPE* = 0x04000000
DM_PANNINGWIDTH* = 0x08000000
DM_PANNINGHEIGHT* = 0x10000000
DM_DISPLAYFIXEDOUTPUT* = 0x20000000
DMORIENT_LANDSCAPE* = 2
DMORIENT_PORTRAIT* = 1
DMPAPER_LETTER* = 1
DMPAPER_LEGAL* = 5
DMPAPER_A4* = 9
DMPAPER_CSHEET* = 24
DMPAPER_DSHEET* = 25
DMPAPER_ESHEET* = 26
DMPAPER_LETTERSMALL* = 2
DMPAPER_TABLOID* = 3
DMPAPER_LEDGER* = 4
DMPAPER_STATEMENT* = 6
DMPAPER_EXECUTIVE* = 7
DMPAPER_A3* = 8
DMPAPER_A4SMALL* = 10
DMPAPER_A5* = 11
DMPAPER_B4* = 12
DMPAPER_B5* = 13
DMPAPER_FOLIO* = 14
DMPAPER_QUARTO* = 15
DMPAPER_10X14* = 16
DMPAPER_11X17* = 17
DMPAPER_NOTE* = 18
DMPAPER_ENV_9* = 19
DMPAPER_ENV_10* = 20
DMPAPER_ENV_11* = 21
DMPAPER_ENV_12* = 22
DMPAPER_ENV_14* = 23
DMPAPER_ENV_DL* = 27
DMPAPER_ENV_C5* = 28
DMPAPER_ENV_C3* = 29
DMPAPER_ENV_C4* = 30
DMPAPER_ENV_C6* = 31
DMPAPER_ENV_C65* = 32
DMPAPER_ENV_B4* = 33
DMPAPER_ENV_B5* = 34
DMPAPER_ENV_B6* = 35
DMPAPER_ENV_ITALY* = 36
DMPAPER_ENV_MONARCH* = 37
DMPAPER_ENV_PERSONAL* = 38
DMPAPER_FANFOLD_US* = 39
DMPAPER_FANFOLD_STD_GERMAN* = 40
DMPAPER_FANFOLD_LGL_GERMAN* = 41
DMPAPER_ISO_B4* = 42
DMPAPER_JAPANESE_POSTCARD* = 43
DMPAPER_9X11* = 44
DMPAPER_10X11* = 45
DMPAPER_15X11* = 46
DMPAPER_ENV_INVITE* = 47
DMPAPER_RESERVED_48* = 48
DMPAPER_RESERVED_49* = 49
DMPAPER_LETTER_EXTRA* = 50
DMPAPER_LEGAL_EXTRA* = 51
DMPAPER_TABLOID_EXTRA* = 52
DMPAPER_A4_EXTRA* = 53
DMPAPER_LETTER_TRANSVERSE* = 54
DMPAPER_A4_TRANSVERSE* = 55
DMPAPER_LETTER_EXTRA_TRANSVERSE* = 56
DMPAPER_A_PLUS* = 57
DMPAPER_B_PLUS* = 58
DMPAPER_LETTER_PLUS* = 59
DMPAPER_A4_PLUS* = 60
DMPAPER_A5_TRANSVERSE* = 61
DMPAPER_B5_TRANSVERSE* = 62
DMPAPER_A3_EXTRA* = 63
DMPAPER_A5_EXTRA* = 64
DMPAPER_B5_EXTRA* = 65
DMPAPER_A2* = 66
DMPAPER_A3_TRANSVERSE* = 67
DMPAPER_A3_EXTRA_TRANSVERSE* = 68
DMPAPER_DBL_JAPANESE_POSTCARD* = 69
DMPAPER_A6* = 70
DMPAPER_JENV_KAKU2* = 71
DMPAPER_JENV_KAKU3* = 72
DMPAPER_JENV_CHOU3* = 73
DMPAPER_JENV_CHOU4* = 74
DMPAPER_LETTER_ROTATED* = 75
DMPAPER_A3_ROTATED* = 76
DMPAPER_A4_ROTATED* = 77
DMPAPER_A5_ROTATED* = 78
DMPAPER_B4_JIS_ROTATED* = 79
DMPAPER_B5_JIS_ROTATED* = 80
DMPAPER_JAPANESE_POSTCARD_ROTATED* = 81
DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED* = 82
DMPAPER_A6_ROTATED* = 83
DMPAPER_JENV_KAKU2_ROTATED* = 84
DMPAPER_JENV_KAKU3_ROTATED* = 85
DMPAPER_JENV_CHOU3_ROTATED* = 86
DMPAPER_JENV_CHOU4_ROTATED* = 87
DMPAPER_B6_JIS* = 88
DMPAPER_B6_JIS_ROTATED* = 89
DMPAPER_12X11* = 90
DMPAPER_JENV_YOU4* = 91
DMPAPER_JENV_YOU4_ROTATED* = 92
DMPAPER_P16K* = 93
DMPAPER_P32K* = 94
DMPAPER_P32KBIG* = 95
DMPAPER_PENV_1* = 96
DMPAPER_PENV_2* = 97
DMPAPER_PENV_3* = 98
DMPAPER_PENV_4* = 99
DMPAPER_PENV_5* = 100
DMPAPER_PENV_6* = 101
DMPAPER_PENV_7* = 102
DMPAPER_PENV_8* = 103
DMPAPER_PENV_9* = 104
DMPAPER_PENV_10* = 105
DMPAPER_P16K_ROTATED* = 106
DMPAPER_P32K_ROTATED* = 107
DMPAPER_P32KBIG_ROTATED* = 108
DMPAPER_PENV_1_ROTATED* = 109
DMPAPER_PENV_2_ROTATED* = 110
DMPAPER_PENV_3_ROTATED* = 111
DMPAPER_PENV_4_ROTATED* = 112
DMPAPER_PENV_5_ROTATED* = 113
DMPAPER_PENV_6_ROTATED* = 114
DMPAPER_PENV_7_ROTATED* = 115
DMPAPER_PENV_8_ROTATED* = 116
DMPAPER_PENV_9_ROTATED* = 117
DMPAPER_PENV_10_ROTATED* = 118
DMPAPER_USER* = 256
DMBIN_UPPER* = 1
DMBIN_ONLYONE* = 1
DMBIN_LOWER* = 2
DMBIN_MIDDLE* = 3
DMBIN_MANUAL* = 4
DMBIN_ENVELOPE* = 5
DMBIN_ENVMANUAL* = 6
DMBIN_AUTO* = 7
DMBIN_TRACTOR* = 8
DMBIN_SMALLFMT* = 9
DMBIN_LARGEFMT* = 10
DMBIN_LARGECAPACITY* = 11
DMBIN_CASSETTE* = 14
DMBIN_FORMSOURCE* = 15
DMBIN_USER* = 256
DMRES_DRAFT* = - 1
DMRES_LOW* = - 2
DMRES_MEDIUM* = - 3
DMRES_HIGH* = - 4
DMCOLOR_MONOCHROME* = 1
DMCOLOR_COLOR* = 2
DMDUP_SIMPLEX* = 1
DMDUP_VERTICAL* = 2
DMDUP_HORIZONTAL* = 3
DMTT_BITMAP* = 1
DMTT_DOWNLOAD* = 2
DMTT_SUBDEV* = 3
DMCOLLATE_TRUE* = 1
DMCOLLATE_FALSE* = 0
DMDO_DEFAULT* = 0
DMDO_90* = 1
DMDO_180* = 2
DMDO_270* = 3
DMDFO_DEFAULT* = 0
DMDFO_STRETCH* = 1
DMDFO_CENTER* = 2
DMDISPLAYFLAGS_TEXTMODE* = 0x00000004
DMNUP_SYSTEM* = 1
DMNUP_ONEUP* = 2
DMICMMETHOD_NONE* = 1
DMICMMETHOD_SYSTEM* = 2
DMICMMETHOD_DRIVER* = 3
DMICMMETHOD_DEVICE* = 4
DMICMMETHOD_USER* = 256
DMICM_SATURATE* = 1
DMICM_CONTRAST* = 2
DMICM_COLORMETRIC* = 3
DMICM_USER* = 256
DMMEDIA_STANDARD* = 1
DMMEDIA_TRANSPARENCY* = 2
DMMEDIA_GLOSSY* = 3
DMMEDIA_USER* = 256
DMDITHER_NONE* = 1
DMDITHER_COARSE* = 2
DMDITHER_FINE* = 3
DMDITHER_LINEART* = 4
DMDITHER_GRAYSCALE* = 10
DMDITHER_USER* = 256
RDH_RECTANGLES* = 1
TT_POLYGON_TYPE* = 24
TT_PRIM_LINE* = 1
TT_PRIM_QSPLINE* = 2
GCPCLASS_ARABIC* = 2
GCPCLASS_HEBREW* = 2
GCPCLASS_LATIN* = 1
GCPCLASS_LATINNUMBER* = 5
GCPCLASS_LOCALNUMBER* = 4
GCPCLASS_LATINNUMERICSEPARATOR* = 7
GCPCLASS_LATINNUMERICTERMINATOR* = 6
GCPCLASS_NEUTRAL* = 3
GCPCLASS_NUMERICSEPARATOR* = 8
GCPCLASS_PREBOUNDLTR* = 128
GCPCLASS_PREBOUNDRTL* = 64
GCPCLASS_POSTBOUNDLTR* = 32
GCPCLASS_POSTBOUNDRTL* = 16
GCPGLYPH_LINKBEFORE* = 32768
GCPGLYPH_LINKAFTER* = 16384
TT_AVAILABLE* = 1
TT_ENABLED* = 2
CA_NEGATIVE* = 1
CA_LOG_FILTER* = 2
ILLUMINANT_DEVICE_DEFAULT* = 0
ILLUMINANT_A* = 1
ILLUMINANT_B* = 2
ILLUMINANT_C* = 3
ILLUMINANT_D50* = 4
ILLUMINANT_D55* = 5
ILLUMINANT_D65* = 6
ILLUMINANT_D75* = 7
ILLUMINANT_F2* = 8
ILLUMINANT_TUNGSTEN* = 1
ILLUMINANT_DAYLIGHT* = 3
ILLUMINANT_FLUORESCENT* = 8
ILLUMINANT_NTSC* = 3
DI_APPBANDING* = 1
EMR_HEADER* = 1
ENHMETA_SIGNATURE* = 1179469088
ENM_CHANGE* = 1
ENM_CORRECTTEXT* = 4194304
ENM_DROPFILES* = 1048576
ENM_KEYEVENTS* = 65536
ENM_MOUSEEVENTS* = 131072
ENM_PROTECTED* = 2097152
ENM_REQUESTRESIZE* = 262144
ENM_SCROLL* = 4
ENM_SELCHANGE* = 524288
ENM_UPDATE* = 2
ENM_NONE* = 0
ES_DISABLENOSCROLL* = 8192
ES_EX_NOCALLOLEINIT* = 16777216
ES_NOIME* = 524288
ES_SAVESEL* = 32768
ES_SELFIME* = 262144
ES_SUNKEN* = 16384
ES_VERTICAL* = 4194304
ES_SELECTIONBAR* = 16777216
ECOOP_SET* = 1
ECOOP_OR* = 2
ECOOP_AND* = 3
ECOOP_XOR* = 4
ECO_AUTOWORDSELECTION* = 1
ECO_AUTOVSCROLL* = 64
ECO_AUTOHSCROLL* = 128
ECO_NOHIDESEL* = 256
ECO_READONLY* = 2048
ECO_WANTRETURN* = 4096
ECO_SAVESEL* = 32768
ECO_SELECTIONBAR* = 16777216
ECO_VERTICAL* = 4194304
SCF_WORD* = 2
SCF_SELECTION* = 1
SF_TEXT* = 1
SF_RTF* = 2
SF_RTFNOOBJS* = 3
SF_TEXTIZED* = 4
SFF_SELECTION* = 32768
SFF_PLAINRTF* = 16384
WB_CLASSIFY* = 3
WB_LEFTBREAK* = 6
WB_PREVBREAK* = 6
WB_MOVEWORDLEFT* = 4
WB_MOVEWORDPREV* = 4
WB_MOVEWORDRIGHT* = 5
WB_MOVEWORDNEXT* = 5
WB_RIGHTBREAK* = 7
WB_NEXTBREAK* = 7
PC_LEADING* = 2
PC_FOLLOWING* = 1
PC_DELIMITER* = 4
PC_OVERFLOW* = 3
WBF_WORDWRAP* = 16
WBF_WORDBREAK* = 32
WBF_OVERFLOW* = 64
WBF_LEVEL1* = 128
WBF_LEVEL2* = 256
WBF_CUSTOM* = 512
WBF_BREAKAFTER* = 64
WBF_BREAKLINE* = 32
WBF_ISWHITE* = 16
CFM_BOLD* = 1
CFM_COLOR* = 1073741824
CFM_FACE* = 536870912
CFM_ITALIC* = 2
CFM_OFFSET* = 268435456
CFM_PROTECTED* = 16
CFM_SIZE* = 0x80000000
CFM_STRIKEOUT* = 8
CFM_UNDERLINE* = 4
CFE_AUTOCOLOR* = 1073741824
CFE_BOLD* = 1
CFE_ITALIC* = 2
CFE_STRIKEOUT* = 8
CFE_UNDERLINE* = 4
CFE_PROTECTED* = 16
PFM_ALIGNMENT* = 8
PFM_NUMBERING* = 32
PFM_OFFSET* = 4
PFM_OFFSETINDENT* = 0x80000000
PFM_RIGHTINDENT* = 2
PFM_STARTINDENT* = 1
PFM_TABSTOPS* = 16
PFN_BULLET* = 1
PFA_LEFT* = 1
PFA_RIGHT* = 2
PFA_CENTER* = 3
SEL_EMPTY* = 0
SEL_TEXT* = 1
SEL_OBJECT* = 2
SEL_MULTICHAR* = 4
SEL_MULTIOBJECT* = 8
CF_RTF* = "Rich Text Format"
CF_RETEXTOBJ* = "RichEdit Text and Objects"
ODT_BUTTON* = 4
ODT_COMBOBOX* = 3
ODT_LISTBOX* = 2
ODT_LISTVIEW* = 102
ODT_MENU* = 1
ODT_STATIC* = 5
ODT_TAB* = 101
ODT_HEADER* = 100
ODA_DRAWENTIRE* = 1
ODA_FOCUS* = 4
ODA_SELECT* = 2
ODS_SELECTED* = 1
ODS_GRAYED* = 2
ODS_DISABLED* = 4
ODS_CHECKED* = 8
ODS_FOCUS* = 16
ODS_DEFAULT* = 32
ODS_HOTLIGHT* = 0x00000040
ODS_INACTIVE* = 0x00000080
ODS_NOACCEL* = 0x00000100
ODS_NOFOCUSRECT* = 0x00000200
ODS_COMBOBOXEDIT* = 0x00001000
CCS_ADJUSTABLE* = 0x00000020
CCS_BOTTOM* = 0x00000003
CCS_NODIVIDER* = 0x00000040
CCS_NOMOVEY* = 0x00000002
CCS_NOPARENTALIGN* = 0x00000008
CCS_NORESIZE* = 0x00000004
CCS_TOP* = 0x00000001
ANIMATE_CLASSW* = "SysAnimate32"
HOTKEY_CLASSW* = "msctls_hotkey32"
PROGRESS_CLASSW* = "msctls_progress32"
STATUSCLASSNAMEW* = "msctls_statusbar32"
TOOLBARCLASSNAMEW* = "ToolbarWindow32"
TOOLTIPS_CLASSW* = "tooltips_class32"
TRACKBAR_CLASSW* = "msctls_trackbar32"
UPDOWN_CLASSW* = "msctls_updown32"
WC_HEADERW* = "SysHeader32"
WC_LISTVIEWW* = "SysListView32"
WC_TABCONTROLW* = "SysTabControl32"
WC_TREEVIEWW* = "SysTreeView32"
ANIMATE_CLASSA* = "SysAnimate32"
HOTKEY_CLASSA* = "msctls_hotkey32"
PROGRESS_CLASSA* = "msctls_progress32"
STATUSCLASSNAMEA* = "msctls_statusbar32"
TOOLBARCLASSNAMEA* = "ToolbarWindow32"
TOOLTIPS_CLASSA* = "tooltips_class32"
TRACKBAR_CLASSA* = "msctls_trackbar32"
UPDOWN_CLASSA* = "msctls_updown32"
WC_HEADERA* = "SysHeader32"
WC_LISTVIEWA* = "SysListView32"
WC_TABCONTROLA* = "SysTabControl32"
WC_TREEVIEWA* = "SysTreeView32"
ANIMATE_CLASS* = ANIMATE_CLASSW
HOTKEY_CLASS* = HOTKEY_CLASSW
PROGRESS_CLASS* = PROGRESS_CLASSW
STATUSCLASSNAME* = STATUSCLASSNAMEW
TOOLBARCLASSNAME* = TOOLBARCLASSNAMEW
TOOLTIPS_CLASS* = TOOLTIPS_CLASSW
TRACKBAR_CLASS* = TRACKBAR_CLASSW
UPDOWN_CLASS* = UPDOWN_CLASSW
WC_HEADER* = WC_HEADERW
WC_LISTVIEW* = WC_LISTVIEWW
WC_TABCONTROL* = WC_TABCONTROLW
WC_TREEVIEW* = WC_TREEVIEWW
HDS_BUTTONS* = 2
HDS_HIDDEN* = 8
HDS_HORZ* = 0
HDI_BITMAP* = 16
HDI_FORMAT* = 4
HDI_HEIGHT* = 1
HDI_LPARAM* = 8
HDI_TEXT* = 2
HDI_WIDTH* = 1
HDF_CENTER* = 2
HDF_LEFT* = 0
HDF_RIGHT* = 1
HDF_RTLREADING* = 4
HDF_BITMAP* = 8192
HDF_OWNERDRAW* = 32768
HDF_STRING* = 16384
HDF_JUSTIFYMASK* = 3
HHT_NOWHERE* = 1
HHT_ONDIVIDER* = 4
HHT_ONDIVOPEN* = 8
HHT_ONHEADER* = 2
HHT_TOLEFT* = 2048
HHT_TORIGHT* = 1024
HINST_COMMCTRL* = HINST(- 1)
IDB_STD_LARGE_COLOR* = 1
IDB_STD_SMALL_COLOR* = 0
IDB_VIEW_LARGE_COLOR* = 5
IDB_VIEW_SMALL_COLOR* = 4
STD_COPY* = 1
STD_CUT* = 0
STD_DELETE* = 5
STD_FILENEW* = 6
STD_FILEOPEN* = 7
STD_FILESAVE* = 8
STD_FIND* = 12
STD_HELP* = 11
STD_PASTE* = 2
STD_PRINT* = 14
STD_PRINTPRE* = 9
STD_PROPERTIES* = 10
STD_REDOW* = 4
STD_REPLACE* = 13
STD_UNDO* = 3
VIEW_LARGEICONS* = 0
VIEW_SMALLICONS* = 1
VIEW_LIST* = 2
VIEW_DETAILS* = 3
VIEW_SORTNAME* = 4
VIEW_SORTSIZE* = 5
VIEW_SORTDATE* = 6
VIEW_SORTTYPE* = 7
TBSTYLE_ALTDRAG* = 1024
TBSTYLE_TOOLTIPS* = 256
TBSTYLE_WRAPABLE* = 512
TBSTYLE_BUTTON* = 0
TBSTYLE_CHECK* = 2
TBSTYLE_CHECKGROUP* = 6
TBSTYLE_GROUP* = 4
TBSTYLE_SEP* = 1
TBSTATE_CHECKED* = 1
TBSTATE_ENABLED* = 4
TBSTATE_HIDDEN* = 8
TBSTATE_INDETERMINATE* = 16
TBSTATE_PRESSED* = 2
TBSTATE_WRAP* = 32
TTS_ALWAYSTIP* = 1
TTS_NOPREFIX* = 2
TTF_IDISHWND* = 1
TTF_CENTERTIP* = 2
TTF_RTLREADING* = 4
TTF_SUBCLASS* = 16
TTDT_AUTOMATIC* = 0
TTDT_AUTOPOP* = 2
TTDT_INITIAL* = 3
TTDT_RESHOW* = 1
SBARS_SIZEGRIP* = 256
DL_MOVECURSOR* = 3
DL_COPYCURSOR* = 2
DL_STOPCURSOR* = 1
UDS_ALIGNLEFT* = 8
UDS_ALIGNRIGHT* = 4
UDS_ARROWKEYS* = 32
UDS_AUTOBUDDY* = 16
UDS_HORZ* = 64
UDS_NOTHOUSANDS* = 128
UDS_SETBUDDYINT* = 2
UDS_WRAP* = 1
UD_MAXVAL* = 32767
UD_MINVAL* = - 32767
HOTKEYF_ALT* = 4
HOTKEYF_CONTROL* = 2
HOTKEYF_EXT* = 8
HOTKEYF_SHIFT* = 1
HKCOMB_A* = 8
HKCOMB_C* = 4
HKCOMB_CA* = 64
HKCOMB_NONE* = 1
HKCOMB_S* = 2
HKCOMB_SA* = 32
HKCOMB_SC* = 16
HKCOMB_SCA* = 128
TBS_HORZ* = 0
TBS_VERT* = 2
TBS_AUTOTICKS* = 1
TBS_NOTICKS* = 16
TBS_TOP* = 4
TBS_BOTTOM* = 0
TBS_LEFT* = 4
TBS_RIGHT* = 0
TBS_BOTH* = 8
TBS_ENABLESELRANGE* = 32
TBS_FIXEDLENGTH* = 64
TBS_NOTHUMB* = 128
TB_BOTTOM* = 7
TB_ENDTRACK* = 8
TB_LINEDOWN* = 1
TB_LINEUP* = 0
TB_PAGEDOWN* = 3
TB_PAGEUP* = 2
TB_THUMBPOSITION* = 4
TB_THUMBTRACK* = 5
TB_TOP* = 6
LVS_ALIGNLEFT* = 2048
LVS_ALIGNTOP* = 0
LVS_AUTOARRANGE* = 256
LVS_EDITLABELS* = 512
LVS_ICON* = 0
LVS_LIST* = 3
LVS_NOCOLUMNHEADER* = 16384
LVS_NOLABELWRAP* = 128
LVS_NOSCROLL* = 8192
LVS_NOSORTHEADER* = 32768
LVS_OWNERDRAWFIXED* = 1024
LVS_REPORT* = 1
LVS_SHAREIMAGELISTS* = 64
LVS_SHOWSELALWAYS* = 8
LVS_SINGLESEL* = 4
LVS_SMALLICON* = 2
LVS_SORTASCENDING* = 16
LVS_SORTDESCENDING* = 32
LVS_TYPESTYLEMASK* = 64512
LVSIL_NORMAL* = 0
LVSIL_SMALL* = 1
LVSIL_STATE* = 2
LVIS_CUT* = 4
LVIS_DROPHILITED* = 8
LVIS_FOCUSED* = 1
LVIS_SELECTED* = 2
LVIS_OVERLAYMASK* = 3840
LVIS_STATEIMAGEMASK* = 61440
LPSTR_TEXTCALLBACKW* = cast[LPWSTR](- 1)
LPSTR_TEXTCALLBACKA* = cast[LPSTR](- 1)
LPSTR_TEXTCALLBACK* = cast[LPWSTR](- 1)
LVIF_TEXT* = 1
LVIF_IMAGE* = 2
LVIF_PARAM* = 4
LVIF_STATE* = 8
LVIF_DI_SETITEM* = 4096
LVNI_ABOVE* = 256
LVNI_ALL* = 0
LVNI_BELOW* = 512
LVNI_TOLEFT* = 1024
LVNI_TORIGHT* = 2048
LVNI_CUT* = 4
LVNI_DROPHILITED* = 8
LVNI_FOCUSED* = 1
LVNI_SELECTED* = 2
LVFI_PARAM* = 1
LVFI_PARTIAL* = 8
LVFI_STRING* = 2
LVFI_WRAP* = 32
LVFI_NEARESTXY* = 64
LVHT_ABOVE* = 8
LVHT_BELOW* = 16
LVHT_NOWHERE* = 1
LVHT_ONITEMICON* = 2
LVHT_ONITEMLABEL* = 4
LVHT_ONITEMSTATEICON* = 8
LVHT_TOLEFT* = 64
LVHT_TORIGHT* = 32
LVCF_FMT* = 1
LVCF_SUBITEM* = 8
LVCF_TEXT* = 4
LVCF_WIDTH* = 2
LVCFMT_CENTER* = 2
LVCFMT_LEFT* = 0
LVCFMT_RIGHT* = 1
LVIR_BOUNDS* = 0
LVIR_ICON* = 1
LVIR_LABEL* = 2
LVIR_SELECTBOUNDS* = 3
LVA_ALIGNLEFT* = 1
LVA_ALIGNTOP* = 2
LVA_DEFAULT* = 0
LVA_SNAPTOGRID* = 5
LVSCW_AUTOSIZE* = - 1
LVSCW_AUTOSIZE_USEHEADER* = - 2
TVS_DISABLEDRAGDROP* = 16
TVS_EDITLABELS* = 8
TVS_HASBUTTONS* = 1
TVS_HASLINES* = 2
TVS_LINESATROOT* = 4
TVS_SHOWSELALWAYS* = 32
TVIS_BOLD* = 16
TVIS_CUT* = 4
TVIS_DROPHILITED* = 8
TVIS_EXPANDED* = 32
TVIS_EXPANDEDONCE* = 64
TVIS_FOCUSED* = 1
TVIS_OVERLAYMASK* = 3840
TVIS_SELECTED* = 2
TVIS_STATEIMAGEMASK* = 61440
TVIS_USERMASK* = 61440
TVIF_CHILDREN* = 64
TVIF_HANDLE* = 16
TVIF_IMAGE* = 2
TVIF_PARAM* = 4
TVIF_SELECTEDIMAGE* = 32
TVIF_STATE* = 8
TVIF_TEXT* = 1
I_CHILDRENCALLBACK* = - 1
I_IMAGECALLBACK* = - 1
TVI_ROOT* = cast[HTREEITEM](0xFFFF0000)
TVI_FIRST* = cast[HTREEITEM](0xFFFF0001)
TVI_LAST* = cast[HTREEITEM](0xFFFF0002)
TVI_SORT* = cast[HTREEITEM](0xFFFF0003)
TVHT_ABOVE* = 256
TVHT_BELOW* = 512
TVHT_NOWHERE* = 1
TVHT_ONITEM* = 70
TVHT_ONITEMBUTTON* = 16
TVHT_ONITEMICON* = 2
TVHT_ONITEMINDENT* = 8
TVHT_ONITEMLABEL* = 4
TVHT_ONITEMRIGHT* = 32
TVHT_ONITEMSTATEICON* = 64
TVHT_TOLEFT* = 2048
TVHT_TORIGHT* = 1024
TVE_COLLAPSE* = 1
TVE_COLLAPSERESET* = 32768
TVE_EXPAND* = 2
TVE_TOGGLE* = 3
TVSIL_NORMAL* = 0
TVSIL_STATE* = 2
TVGN_CARET* = 9
TVGN_CHILD* = 4
TVGN_DROPHILITE* = 8
TVGN_FIRSTVISIBLE* = 5
TVGN_NEXT* = 1
TVGN_NEXTVISIBLE* = 6
TVGN_PARENT* = 3
TVGN_PREVIOUS* = 2
TVGN_PREVIOUSVISIBLE* = 7
TVGN_ROOT* = 0
TVC_BYKEYBOARD* = 2
TVC_BYMOUSE* = 1
TVC_UNKNOWN* = 0
TCS_BUTTONS* = 256
TCS_FIXEDWIDTH* = 1024
TCS_FOCUSNEVER* = 32768
TCS_FOCUSONBUTTONDOWN* = 4096
TCS_FORCEICONLEFT* = 16
TCS_FORCELABELLEFT* = 32
TCS_MULTILINE* = 512
TCS_OWNERDRAWFIXED* = 8192
TCS_RAGGEDRIGHT* = 2048
TCS_RIGHTJUSTIFY* = 0
TCS_SINGLELINE* = 0
TCS_TABS* = 0
TCS_TOOLTIPS* = 16384
TCIF_TEXT* = 1
TCIF_IMAGE* = 2
TCIF_PARAM* = 8
TCIF_RTLREADING* = 4
TCHT_NOWHERE* = 1
TCHT_ONITEM* = 6
TCHT_ONITEMICON* = 2
TCHT_ONITEMLABEL* = 4
ACS_AUTOPLAY* = 4
ACS_CENTER* = 1
ACS_TRANSPARENT* = 2
DIALOPTION_BILLING* = 64
DIALOPTION_QUIET* = 128
DIALOPTION_DIALTONE* = 256
MDMVOLFLAG_LOW* = 1
MDMVOLFLAG_MEDIUM* = 2
MDMVOLFLAG_HIGH* = 4
MDMVOL_LOW* = 0
MDMVOL_MEDIUM* = 1
MDMVOL_HIGH* = 2
MDMSPKRFLAG_OFF* = 1
MDMSPKRFLAG_DIAL* = 2
MDMSPKRFLAG_ON* = 4
MDMSPKRFLAG_CALLSETUP* = 8
MDMSPKR_OFF* = 0
MDMSPKR_DIAL* = 1
MDMSPKR_ON* = 2
MDMSPKR_CALLSETUP* = 3
MDM_BLIND_DIAL* = 512
MDM_CCITT_OVERRIDE* = 64
MDM_CELLULAR* = 8
MDM_COMPRESSION* = 1
MDM_ERROR_CONTROL* = 2
MDM_FLOWCONTROL_HARD* = 16
MDM_FLOWCONTROL_SOFT* = 32
MDM_FORCED_EC* = 4
MDM_SPEED_ADJUST* = 128
MDM_TONE_DIAL* = 256
MDM_V23_OVERRIDE* = 1024
LANG_NEUTRAL* = 0x00000000
LANG_INVARIANT* = 0x0000007F
LANG_AFRIKAANS* = 0x00000036
LANG_ALBANIAN* = 0x0000001C
LANG_ARABIC* = 0x00000001
LANG_ARMENIAN* = 0x0000002B
LANG_ASSAMESE* = 0x0000004D
LANG_AZERI* = 0x0000002C
LANG_BASQUE* = 0x0000002D
LANG_BELARUSIAN* = 0x00000023
LANG_BENGALI* = 0x00000045
LANG_BULGARIAN* = 0x00000002
LANG_CATALAN* = 0x00000003
LANG_CHINESE* = 0x00000004
LANG_CROATIAN* = 0x0000001A
LANG_CZECH* = 0x00000005
LANG_DANISH* = 0x00000006
LANG_DIVEHI* = 0x00000065
LANG_DUTCH* = 0x00000013
LANG_ENGLISH* = 0x00000009
LANG_ESTONIAN* = 0x00000025
LANG_FAEROESE* = 0x00000038
LANG_FARSI* = 0x00000029
LANG_FINNISH* = 0x0000000B
LANG_FRENCH* = 0x0000000C
LANG_GALICIAN* = 0x00000056
LANG_GEORGIAN* = 0x00000037
LANG_GERMAN* = 0x00000007
LANG_GREEK* = 0x00000008
LANG_GUJARATI* = 0x00000047
LANG_HEBREW* = 0x0000000D
LANG_HINDI* = 0x00000039
LANG_HUNGARIAN* = 0x0000000E
LANG_ICELANDIC* = 0x0000000F
LANG_INDONESIAN* = 0x00000021
LANG_ITALIAN* = 0x00000010
LANG_JAPANESE* = 0x00000011
LANG_KANNADA* = 0x0000004B
LANG_KASHMIRI* = 0x00000060
LANG_KAZAK* = 0x0000003F
LANG_KONKANI* = 0x00000057
LANG_KOREAN* = 0x00000012
LANG_KYRGYZ* = 0x00000040
LANG_LATVIAN* = 0x00000026
LANG_LITHUANIAN* = 0x00000027
LANG_MACEDONIAN* = 0x0000002F
LANG_MALAY* = 0x0000003E
LANG_MALAYALAM* = 0x0000004C
LANG_MANIPURI* = 0x00000058
LANG_MARATHI* = 0x0000004E
LANG_MONGOLIAN* = 0x00000050
LANG_NEPALI* = 0x00000061
LANG_NORWEGIAN* = 0x00000014
LANG_ORIYA* = 0x00000048
LANG_POLISH* = 0x00000015
LANG_PORTUGUESE* = 0x00000016
LANG_PUNJABI* = 0x00000046
LANG_ROMANIAN* = 0x00000018
LANG_RUSSIAN* = 0x00000019
LANG_SANSKRIT* = 0x0000004F
LANG_SERBIAN* = 0x0000001A
LANG_SINDHI* = 0x00000059
LANG_SLOVAK* = 0x0000001B
LANG_SLOVENIAN* = 0x00000024
LANG_SPANISH* = 0x0000000A
LANG_SWAHILI* = 0x00000041
LANG_SWEDISH* = 0x0000001D
LANG_SYRIAC* = 0x0000005A
LANG_TAMIL* = 0x00000049
LANG_TATAR* = 0x00000044
LANG_TELUGU* = 0x0000004A
LANG_THAI* = 0x0000001E
LANG_TURKISH* = 0x0000001F
LANG_UKRAINIAN* = 0x00000022
LANG_URDU* = 0x00000020
LANG_UZBEK* = 0x00000043
LANG_VIETNAMESE* = 0x0000002A
SUBLANG_NEUTRAL* = 0x00000000
SUBLANG_DEFAULT* = 0x00000001
SUBLANG_SYS_DEFAULT* = 0x00000002
SUBLANG_ARABIC_SAUDI_ARABIA* = 0x00000001
SUBLANG_ARABIC_IRAQ* = 0x00000002
SUBLANG_ARABIC_EGYPT* = 0x00000003
SUBLANG_ARABIC_LIBYA* = 0x00000004
SUBLANG_ARABIC_ALGERIA* = 0x00000005
SUBLANG_ARABIC_MOROCCO* = 0x00000006
SUBLANG_ARABIC_TUNISIA* = 0x00000007
SUBLANG_ARABIC_OMAN* = 0x00000008
SUBLANG_ARABIC_YEMEN* = 0x00000009
SUBLANG_ARABIC_SYRIA* = 0x0000000A
SUBLANG_ARABIC_JORDAN* = 0x0000000B
SUBLANG_ARABIC_LEBANON* = 0x0000000C
SUBLANG_ARABIC_KUWAIT* = 0x0000000D
SUBLANG_ARABIC_UAE* = 0x0000000E
SUBLANG_ARABIC_BAHRAIN* = 0x0000000F
SUBLANG_ARABIC_QATAR* = 0x00000010
SUBLANG_AZERI_LATIN* = 0x00000001
SUBLANG_AZERI_CYRILLIC* = 0x00000002
SUBLANG_CHINESE_TRADITIONAL* = 0x00000001
SUBLANG_CHINESE_SIMPLIFIED* = 0x00000002
SUBLANG_CHINESE_HONGKONG* = 0x00000003
SUBLANG_CHINESE_SINGAPORE* = 0x00000004
SUBLANG_CHINESE_MACAU* = 0x00000005
SUBLANG_DUTCH* = 0x00000001
SUBLANG_DUTCH_BELGIAN* = 0x00000002
SUBLANG_ENGLISH_US* = 0x00000001
SUBLANG_ENGLISH_UK* = 0x00000002
SUBLANG_ENGLISH_AUS* = 0x00000003
SUBLANG_ENGLISH_CAN* = 0x00000004
SUBLANG_ENGLISH_NZ* = 0x00000005
SUBLANG_ENGLISH_EIRE* = 0x00000006
SUBLANG_ENGLISH_SOUTH_AFRICA* = 0x00000007
SUBLANG_ENGLISH_JAMAICA* = 0x00000008
SUBLANG_ENGLISH_CARIBBEAN* = 0x00000009
SUBLANG_ENGLISH_BELIZE* = 0x0000000A
SUBLANG_ENGLISH_TRINIDAD* = 0x0000000B
SUBLANG_ENGLISH_ZIMBABWE* = 0x0000000C
SUBLANG_ENGLISH_PHILIPPINES* = 0x0000000D
SUBLANG_FRENCH* = 0x00000001
SUBLANG_FRENCH_BELGIAN* = 0x00000002
SUBLANG_FRENCH_CANADIAN* = 0x00000003
SUBLANG_FRENCH_SWISS* = 0x00000004
SUBLANG_FRENCH_LUXEMBOURG* = 0x00000005
SUBLANG_FRENCH_MONACO* = 0x00000006
SUBLANG_GERMAN* = 0x00000001
SUBLANG_GERMAN_SWISS* = 0x00000002
SUBLANG_GERMAN_AUSTRIAN* = 0x00000003
SUBLANG_GERMAN_LUXEMBOURG* = 0x00000004
SUBLANG_GERMAN_LIECHTENSTEIN* = 0x00000005
SUBLANG_ITALIAN* = 0x00000001
SUBLANG_ITALIAN_SWISS* = 0x00000002
SUBLANG_KASHMIRI_SASIA* = 0x00000002
SUBLANG_KASHMIRI_INDIA* = 0x00000002
SUBLANG_KOREAN* = 0x00000001
SUBLANG_LITHUANIAN* = 0x00000001
SUBLANG_MALAY_MALAYSIA* = 0x00000001
SUBLANG_MALAY_BRUNEI_DARUSSALAM* = 0x00000002
SUBLANG_NEPALI_INDIA* = 0x00000002
SUBLANG_NORWEGIAN_BOKMAL* = 0x00000001
SUBLANG_NORWEGIAN_NYNORSK* = 0x00000002
SUBLANG_PORTUGUESE* = 0x00000002
SUBLANG_PORTUGUESE_BRAZILIAN* = 0x00000001
SUBLANG_SERBIAN_LATIN* = 0x00000002
SUBLANG_SERBIAN_CYRILLIC* = 0x00000003
SUBLANG_SPANISH* = 0x00000001
SUBLANG_SPANISH_MEXICAN* = 0x00000002
SUBLANG_SPANISH_MODERN* = 0x00000003
SUBLANG_SPANISH_GUATEMALA* = 0x00000004
SUBLANG_SPANISH_COSTA_RICA* = 0x00000005
SUBLANG_SPANISH_PANAMA* = 0x00000006
SUBLANG_SPANISH_DOMINICAN_REPUBLIC* = 0x00000007
SUBLANG_SPANISH_VENEZUELA* = 0x00000008
SUBLANG_SPANISH_COLOMBIA* = 0x00000009
SUBLANG_SPANISH_PERU* = 0x0000000A
SUBLANG_SPANISH_ARGENTINA* = 0x0000000B
SUBLANG_SPANISH_ECUADOR* = 0x0000000C
SUBLANG_SPANISH_CHILE* = 0x0000000D
SUBLANG_SPANISH_URUGUAY* = 0x0000000E
SUBLANG_SPANISH_PARAGUAY* = 0x0000000F
SUBLANG_SPANISH_BOLIVIA* = 0x00000010
SUBLANG_SPANISH_EL_SALVADOR* = 0x00000011
SUBLANG_SPANISH_HONDURAS* = 0x00000012
SUBLANG_SPANISH_NICARAGUA* = 0x00000013
SUBLANG_SPANISH_PUERTO_RICO* = 0x00000014
SUBLANG_SWEDISH* = 0x00000001
SUBLANG_SWEDISH_FINLAND* = 0x00000002
SUBLANG_URDU_PAKISTAN* = 0x00000001
SUBLANG_URDU_INDIA* = 0x00000002
SUBLANG_UZBEK_LATIN* = 0x00000001
SUBLANG_UZBEK_CYRILLIC* = 0x00000002
SORT_DEFAULT* = 0x00000000
SORT_JAPANESE_XJIS* = 0x00000000
SORT_JAPANESE_UNICODE* = 0x00000001
SORT_CHINESE_BIG5* = 0x00000000
SORT_CHINESE_PRCP* = 0x00000000
SORT_CHINESE_UNICODE* = 0x00000001
SORT_CHINESE_PRC* = 0x00000002
SORT_CHINESE_BOPOMOFO* = 0x00000003
SORT_KOREAN_KSC* = 0x00000000
SORT_KOREAN_UNICODE* = 0x00000001
SORT_GERMAN_PHONE_BOOK* = 0x00000001
SORT_HUNGARIAN_DEFAULT* = 0x00000000
SORT_HUNGARIAN_TECHNICAL* = 0x00000001
SORT_GEORGIAN_TRADITIONAL* = 0x00000000
SORT_GEORGIAN_MODERN* = 0x00000001
PROCESSOR_INTEL_386* = 386
PROCESSOR_INTEL_486* = 486
PROCESSOR_INTEL_PENTIUM* = 586
PROCESSOR_MIPS_R4000* = 4000
PROCESSOR_ALPHA_21064* = 21064
COMPRESSION_FORMAT_NONE* = 0
COMPRESSION_FORMAT_DEFAULT* = 1
COMPRESSION_FORMAT_LZNT1* = 2
TAPE_DRIVE_COMPRESSION* = 131072
TAPE_DRIVE_ECC* = 65536
TAPE_DRIVE_ERASE_BOP_ONLY* = 64
TAPE_DRIVE_ERASE_LONG* = 32
TAPE_DRIVE_ERASE_IMMEDIATE* = 128
TAPE_DRIVE_ERASE_SHORT* = 16
TAPE_DRIVE_FIXED* = 1
TAPE_DRIVE_FIXED_BLOCK* = 1024
TAPE_DRIVE_INITIATOR* = 4
TAPE_DRIVE_PADDING* = 262144
TAPE_DRIVE_GET_ABSOLUTE_BLK* = 1048576
TAPE_DRIVE_GET_LOGICAL_BLK* = 2097152
TAPE_DRIVE_REPORT_SMKS* = 524288
TAPE_DRIVE_SELECT* = 2
TAPE_DRIVE_SET_EOT_WZ_SIZE* = 4194304
TAPE_DRIVE_TAPE_CAPACITY* = 256
TAPE_DRIVE_TAPE_REMAINING* = 512
TAPE_DRIVE_VARIABLE_BLOCK* = 2048
TAPE_DRIVE_WRITE_PROTECT* = 4096
TAPE_DRIVE_ABS_BLK_IMMED* = - 2147475456
TAPE_DRIVE_ABSOLUTE_BLK* = - 2147479552
TAPE_DRIVE_END_OF_DATA* = - 2147418112
TAPE_DRIVE_FILEMARKS* = - 2147221504
TAPE_DRIVE_LOAD_UNLOAD* = - 2147483647
TAPE_DRIVE_LOAD_UNLD_IMMED* = - 2147483616
TAPE_DRIVE_LOCK_UNLOCK* = - 2147483644
TAPE_DRIVE_LOCK_UNLK_IMMED* = - 2147483520
TAPE_DRIVE_LOG_BLK_IMMED* = - 2147450880
TAPE_DRIVE_LOGICAL_BLK* = - 2147467264
TAPE_DRIVE_RELATIVE_BLKS* = - 2147352576
TAPE_DRIVE_REVERSE_POSITION* = - 2143289344
TAPE_DRIVE_REWIND_IMMEDIATE* = - 2147483640
TAPE_DRIVE_SEQUENTIAL_FMKS* = - 2146959360
TAPE_DRIVE_SEQUENTIAL_SMKS* = - 2145386496
TAPE_DRIVE_SET_BLOCK_SIZE* = - 2147483632
TAPE_DRIVE_SET_COMPRESSION* = - 2147483136
TAPE_DRIVE_SET_ECC* = - 2147483392
TAPE_DRIVE_SET_PADDING* = - 2147482624
TAPE_DRIVE_SET_REPORT_SMKS* = - 2147481600
TAPE_DRIVE_SETMARKS* = - 2146435072
TAPE_DRIVE_SPACE_IMMEDIATE* = - 2139095040
TAPE_DRIVE_TENSION* = - 2147483646
TAPE_DRIVE_TENSION_IMMED* = - 2147483584
TAPE_DRIVE_WRITE_FILEMARKS* = - 2113929216
TAPE_DRIVE_WRITE_LONG_FMKS* = - 2013265920
TAPE_DRIVE_WRITE_MARK_IMMED* = - 1879048192
TAPE_DRIVE_WRITE_SETMARKS* = - 2130706432
TAPE_DRIVE_WRITE_SHORT_FMKS* = - 2080374784
STANDARD_RIGHTS_REQUIRED* = 0x000F0000
STANDARD_RIGHTS_WRITE* = 0x00020000
STANDARD_RIGHTS_READ* = 0x00020000
STANDARD_RIGHTS_EXECUTE* = 0x00020000
STANDARD_RIGHTS_ALL* = 0x001F0000
SPECIFIC_RIGHTS_ALL* = 0x0000FFFF
FILE_GENERIC_READ* = STANDARD_RIGHTS_READ or FILE_READ_DATA or
    FILE_READ_ATTRIBUTES or FILE_READ_EA or SYNCHRONIZE
FILE_GENERIC_WRITE* = STANDARD_RIGHTS_WRITE or FILE_WRITE_DATA or
    FILE_WRITE_ATTRIBUTES or FILE_WRITE_EA or FILE_APPEND_DATA or SYNCHRONIZE
FILE_GENERIC_EXECUTE* = STANDARD_RIGHTS_EXECUTE or FILE_READ_ATTRIBUTES or
    FILE_EXECUTE or SYNCHRONIZE
FILE_ALL_ACCESS* = STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or 0x000001FF
MAXIMUM_ALLOWED* = 0x02000000
GENERIC_ALL* = 0x10000000
SECURITY_NULL_RID* = 0
SECURITY_WORLD_RID* = 0
SECURITY_LOCAL_RID* = 0
SECURITY_CREATOR_OWNER_RID* = 0
SECURITY_CREATOR_GROUP_RID* = 0x00000001
SECURITY_DIALUP_RID* = 0x00000001
SECURITY_NETWORK_RID* = 0x00000002
SECURITY_BATCH_RID* = 0x00000003
SECURITY_INTERACTIVE_RID* = 0x00000004
SECURITY_LOGON_IDS_RID* = 0x00000005
SECURITY_LOGON_IDS_RID_COUNT* = 0x00000003
SECURITY_SERVICE_RID* = 0x00000006
SECURITY_LOCAL_SYSTEM_RID* = 0x00000012
SECURITY_BUILTIN_DOMAIN_RID* = 0x00000020
DOMAIN_USER_RID_ADMIN* = 0x000001F4
DOMAIN_USER_RID_GUEST* = 0x000001F5
DOMAIN_GROUP_RID_ADMINS* = 0x00000200
DOMAIN_GROUP_RID_USERS* = 0x00000201
DOMAIN_ALIAS_RID_ADMINS* = 0x00000220
DOMAIN_ALIAS_RID_USERS* = 0x00000221
DOMAIN_ALIAS_RID_GUESTS* = 0x00000222
DOMAIN_ALIAS_RID_POWER_USERS* = 0x00000223
DOMAIN_ALIAS_RID_ACCOUNT_OPS* = 0x00000224
DOMAIN_ALIAS_RID_SYSTEM_OPS* = 0x00000225
DOMAIN_ALIAS_RID_PRINT_OPS* = 0x00000226
DOMAIN_ALIAS_RID_BACKUP_OPS* = 0x00000227
DOMAIN_ALIAS_RID_REPLICATOR* = 0x00000228
SE_GROUP_MANDATORY* = 0x00000001
SE_GROUP_ENABLED_BY_DEFAULT* = 0x00000002
SE_GROUP_ENABLED* = 0x00000004
SE_GROUP_OWNER* = 0x00000008
SE_GROUP_LOGON_ID* = 0xC0000000
ACL_REVISION* = 2
ACCESS_ALLOWED_ACE_TYPE* = 0x00000000
ACCESS_DENIED_ACE_TYPE* = 0x00000001
SYSTEM_AUDIT_ACE_TYPE* = 0x00000002
SYSTEM_ALARM_ACE_TYPE* = 0x00000003
OBJECT_INHERIT_ACE* = 0x00000001
CONTAINER_INHERIT_ACE* = 0x00000002
NO_PROPAGATE_INHERIT_ACE* = 0x00000004
INHERIT_ONLY_ACE* = 0x00000008
SUCCESSFUL_ACCESS_ACE_FLAG* = 0x00000040
FAILED_ACCESS_ACE_FLAG* = 0x00000080
SECURITY_DESCRIPTOR_MIN_LENGTH* = 20
SE_OWNER_DEFAULTED* = 1
SE_GROUP_DEFAULTED* = 2
SE_DACL_PRESENT* = 4
SE_DACL_DEFAULTED* = 8
SE_SACL_PRESENT* = 16
SE_SACL_DEFAULTED* = 32
SE_SELF_RELATIVE* = 32768
SE_PRIVILEGE_ENABLED_BY_DEFAULT* = 0x00000001
SE_PRIVILEGE_ENABLED* = 0x00000002
SE_PRIVILEGE_USED_FOR_ACCESS* = 0x80000000
PRIVILEGE_SET_ALL_NECESSARY* = 0x00000001
OFN_ALLOWMULTISELECT* = 0x00000200
OFN_CREATEPROMPT* = 0x00002000
OFN_ENABLEHOOK* = 0x00000020
OFN_ENABLETEMPLATE* = 0x00000040
OFN_ENABLETEMPLATEHANDLE* = 0x00000080
OFN_EXPLORER* = 0x00080000
OFN_EXTENSIONDIFFERENT* = 0x00000400
OFN_FILEMUSTEXIST* = 0x00001000
OFN_HIDEREADONLY* = 0x00000004
OFN_LONGNAMES* = 0x00200000
OFN_NOCHANGEDIR* = 0x00000008
OFN_NODEREFERENCELINKS* = 0x00100000
OFN_NOLONGNAMES* = 0x00040000
OFN_NONETWORKBUTTON* = 0x00020000
OFN_NOREADONLYRETURN* = 0x00008000
OFN_NOTESTFILECREATE* = 0x00010000
OFN_NOVALIDATE* = 0x00000100
OFN_OVERWRITEPROMPT* = 0x00000002
OFN_PATHMUSTEXIST* = 0x00000800
OFN_READONLY* = 0x00000001
OFN_SHAREAWARE* = 0x00004000
OFN_SHOWHELP* = 0x00000010
OFN_SHAREFALLTHROUGH* = 0x00000002
OFN_SHARENOWARN* = 0x00000001
OFN_SHAREWARN* = 0
CDN_INITDONE* = 0xFFFFFDA7
CDN_SELCHANGE* = 0xFFFFFDA6
CDN_FOLDERCHANGE* = 0xFFFFFDA5
CDN_SHAREVIOLATION* = 0xFFFFFDA4
CDN_HELP* = 0xFFFFFDA3
CDN_FILEOK* = 0xFFFFFDA2
CDN_TYPECHANGE* = 0xFFFFFDA1
CDM_GETFILEPATH* = 0x00000465
CDM_GETFOLDERIDLIST* = 0x00000467
CDM_GETFOLDERPATH* = 0x00000466
CDM_GETSPEC* = 0x00000464
CDM_HIDECONTROL* = 0x00000469
CDM_SETCONTROLTEXT* = 0x00000468
CDM_SETDEFEXT* = 0x0000046A
CC_ENABLEHOOK* = 0x00000010
CC_ENABLETEMPLATE* = 0x00000020
CC_ENABLETEMPLATEHANDLE* = 0x00000040
CC_FULLOPEN* = 0x00000002
CC_PREVENTFULLOPEN* = 0x00000004
CC_RGBINIT* = 0x00000001
CC_SHOWHELP* = 0x00000008
CC_SOLIDCOLOR* = 0x00000080
FR_DIALOGTERM* = 0x00000040
FR_DOWN* = 0x00000001
FR_ENABLEHOOK* = 0x00000100
FR_ENABLETEMPLATE* = 0x00000200
FR_ENABLETEMPLATEHANDLE* = 0x00002000
FR_FINDNEXT* = 0x00000008
FR_HIDEUPDOWN* = 0x00004000
FR_HIDEMATCHCASE* = 0x00008000
FR_HIDEWHOLEWORD* = 0x00010000
FR_MATCHCASE* = 0x00000004
FR_NOMATCHCASE* = 0x00000800
FR_NOUPDOWN* = 0x00000400
FR_NOWHOLEWORD* = 0x00001000
FR_REPLACE* = 0x00000010
FR_REPLACEALL* = 0x00000020
FR_SHOWHELP* = 0x00000080
FR_WHOLEWORD* = 0x00000002
CF_APPLY* = 0x00000200
CF_ANSIONLY* = 0x00000400
CF_BOTH* = 0x00000003
CF_TTONLY* = 0x00040000
CF_EFFECTS* = 0x00000100
CF_ENABLEHOOK* = 0x00000008
CF_ENABLETEMPLATE* = 0x00000010
CF_ENABLETEMPLATEHANDLE* = 0x00000020
CF_FIXEDPITCHONLY* = 0x00004000
CF_FORCEFONTEXIST* = 0x00010000
CF_INITTOLOGFONTSTRUCT* = 0x00000040
CF_LIMITSIZE* = 0x00002000
CF_NOOEMFONTS* = 0x00000800
CF_NOFACESEL* = 0x00080000
CF_NOSCRIPTSEL* = 0x00800000
CF_NOSTYLESEL* = 0x00100000
CF_NOSIZESEL* = 0x00200000
CF_NOSIMULATIONS* = 0x00001000
CF_NOVECTORFONTS* = 0x00000800
CF_NOVERTFONTS* = 0x01000000
CF_PRINTERFONTS* = 0x00000002
CF_SCALABLEONLY* = 0x00020000
CF_SCREENFONTS* = 0x00000001
CF_SCRIPTSONLY* = 0x00000400
CF_SELECTSCRIPT* = 0x00400000
CF_SHOWHELP* = 0x00000004
CF_USESTYLE* = 0x00000080
CF_WYSIWYG* = 0x00008000
BOLD_FONTTYPE* = 0x00000100
ITALIC_FONTTYPE* = 0x00000200
PRINTER_FONTTYPE* = 0x00004000
REGULAR_FONTTYPE* = 0x00000400
SCREEN_FONTTYPE* = 0x00002000
SIMULATED_FONTTYPE* = 0x00008000
COLOROKSTRINGW* = "commdlg_ColorOK"
FILEOKSTRINGW* = "commdlg_FileNameOK"
FINDMSGSTRINGW* = "commdlg_FindReplace"
HELPMSGSTRINGW* = "commdlg_help"
LBSELCHSTRINGW* = "commdlg_LBSelChangedNotify"
SETRGBSTRINGW* = "commdlg_SetRGBColor"
SHAREVISTRINGW* = "commdlg_ShareViolation"
COLOROKSTRINGA* = "commdlg_ColorOK"
FILEOKSTRINGA* = "commdlg_FileNameOK"
FINDMSGSTRINGA* = "commdlg_FindReplace"
HELPMSGSTRINGA* = "commdlg_help"
LBSELCHSTRINGA* = "commdlg_LBSelChangedNotify"
SETRGBSTRINGA* = "commdlg_SetRGBColor"
SHAREVISTRINGA* = "commdlg_ShareViolation"
COLOROKSTRING* = COLOROKSTRINGW
FILEOKSTRING* = FILEOKSTRINGW
FINDMSGSTRING* = FINDMSGSTRINGW
HELPMSGSTRING* = HELPMSGSTRINGW
LBSELCHSTRING* = LBSELCHSTRINGW
SETRGBSTRING* = SETRGBSTRINGW
SHAREVISTRING* = SHAREVISTRINGW
CD_LBSELCHANGE* = 0
CD_LBSELADD* = 2
CD_LBSELSUB* = 1
CD_LBSELNOITEMS* = - 1
DN_DEFAULTPRN* = 1
PD_ALLPAGES* = 0
PD_COLLATE* = 16
PD_DISABLEPRINTTOFILE* = 524288
PD_ENABLEPRINTHOOK* = 4096
PD_ENABLEPRINTTEMPLATE* = 16384
PD_ENABLEPRINTTEMPLATEHANDLE* = 65536
PD_ENABLESETUPHOOK* = 8192
PD_ENABLESETUPTEMPLATE* = 32768
PD_ENABLESETUPTEMPLATEHANDLE* = 131072
PD_HIDEPRINTTOFILE* = 1048576
PD_NOPAGENUMS* = 8
PD_NOSELECTION* = 4
PD_NOWARNING* = 128
PD_PAGENUMS* = 2
PD_PRINTSETUP* = 64
PD_PRINTTOFILE* = 32
PD_RETURNDC* = 256
PD_RETURNDEFAULT* = 1024
PD_RETURNIC* = 512
PD_SELECTION* = 1
PD_SHOWHELP* = 2048
PD_USEDEVMODECOPIES* = 262144
PD_USEDEVMODECOPIESANDCOLLATE* = 262144
PSD_DEFAULTMINMARGINS* = 0
PSD_DISABLEMARGINS* = 16
PSD_DISABLEORIENTATION* = 256
PSD_DISABLEPAGEPAINTING* = 524288
PSD_DISABLEPAPER* = 512
PSD_DISABLEPRINTER* = 32
PSD_ENABLEPAGEPAINTHOOK* = 262144
PSD_ENABLEPAGESETUPHOOK* = 8192
PSD_ENABLEPAGESETUPTEMPLATE* = 32768
PSD_ENABLEPAGESETUPTEMPLATEHANDLE* = 131072
PSD_INHUNDREDTHSOFMILLIMETERS* = 8
PSD_INTHOUSANDTHSOFINCHES* = 4
PSD_INWININIINTLMEASURE* = 0
PSD_MARGINS* = 2
PSD_MINMARGINS* = 1
PSD_NOWARNING* = 128
PSD_RETURNDEFAULT* = 1024
PSD_SHOWHELP* = 2048
SW_OTHERUNZOOM* = 4
SW_OTHERZOOM* = 2
SW_PARENTCLOSING* = 1
SW_PARENTOPENING* = 3
VK_LBUTTON* = 1
VK_RBUTTON* = 2
VK_CANCEL* = 3
VK_MBUTTON* = 4
VK_BACK* = 8
VK_TAB* = 9
VK_CLEAR* = 12
VK_RETURN* = 13
VK_SHIFT* = 16
VK_CONTROL* = 17
VK_MENU* = 18
VK_PAUSE* = 19
VK_CAPITAL* = 20
VK_ESCAPE* = 27
VK_SPACE* = 32
VK_PRIOR* = 33
VK_NEXT* = 34
VK_END* = 35
VK_HOME* = 36
VK_LEFT* = 37
VK_UP* = 38
VK_RIGHT* = 39
VK_DOWN* = 40
VK_SELECT* = 41
VK_PRINT* = 42
VK_EXECUTE* = 43
VK_SNAPSHOT* = 44
VK_INSERT* = 45
VK_DELETE* = 46
VK_HELP* = 47
VK_0* = 48
VK_1* = 49
VK_2* = 50
VK_3* = 51
VK_4* = 52
VK_5* = 53
VK_6* = 54
VK_7* = 55
VK_8* = 56
VK_9* = 57
VK_A* = 65
VK_B* = 66
VK_C* = 67
VK_D* = 68
VK_E* = 69
VK_F* = 70
VK_G* = 71
VK_H* = 72
VK_I* = 73
VK_J* = 74
VK_K* = 75
VK_L* = 76
VK_M* = 77
VK_N* = 78
VK_O* = 79
VK_P* = 80
VK_Q* = 81
VK_R* = 82
VK_S* = 83
VK_T* = 84
VK_U* = 85
VK_V* = 86
VK_W* = 87
VK_X* = 88
VK_Y* = 89
VK_Z* = 90
VK_LWIN* = 91
VK_RWIN* = 92
VK_APPS* = 93
VK_NUMPAD0* = 96
VK_NUMPAD1* = 97
VK_NUMPAD2* = 98
VK_NUMPAD3* = 99
VK_NUMPAD4* = 100
VK_NUMPAD5* = 101
VK_NUMPAD6* = 102
VK_NUMPAD7* = 103
VK_NUMPAD8* = 104
VK_NUMPAD9* = 105
VK_MULTIPLY* = 106
VK_ADD* = 107
VK_SEPARATOR* = 108
VK_SUBTRACT* = 109
VK_DECIMAL* = 110
VK_DIVIDE* = 111
VK_F1* = 112
VK_F2* = 113
VK_F3* = 114
VK_F4* = 115
VK_F5* = 116
VK_F6* = 117
VK_F7* = 118
VK_F8* = 119
VK_F9* = 120
VK_F10* = 121
VK_F11* = 122
VK_F12* = 123
VK_F13* = 124
VK_F14* = 125
VK_F15* = 126
VK_F16* = 127
VK_F17* = 128
VK_F18* = 129
VK_F19* = 130
VK_F20* = 131
VK_F21* = 132
VK_F22* = 133
VK_F23* = 134
VK_F24* = 135
VK_NUMLOCK* = 144
VK_SCROLL* = 145
VK_LSHIFT* = 160
VK_LCONTROL* = 162
VK_LMENU* = 164
VK_RSHIFT* = 161
VK_RCONTROL* = 163
VK_RMENU* = 165
VK_PROCESSKEY* = 229
KF_ALTDOWN* = 8192
KF_DLGMODE* = 2048
KF_EXTENDED* = 256
KF_MENUMODE* = 4096
KF_REPEAT* = 16384
KF_UP* = 32768
KL_NAMELENGTH* = 9
WA_ACTIVE* = 1
WA_CLICKACTIVE* = 2
WA_INACTIVE* = 0
PWR_CRITICALRESUME* = 3
PWR_SUSPENDREQUEST* = 1
PWR_SUSPENDRESUME* = 2
PWR_FAIL* = - 1
PWR_OK* = 1
NF_QUERY* = 3
NF_REQUERY* = 4
NFR_ANSI* = 1
NFR_UNICODE* = 2
WMSZ_BOTTOM* = 6
WMSZ_BOTTOMLEFT* = 7
WMSZ_BOTTOMRIGHT* = 8
WMSZ_LEFT* = 1
WMSZ_RIGHT* = 2
WMSZ_TOP* = 3
WMSZ_TOPLEFT* = 4
WMSZ_TOPRIGHT* = 5
MA_ACTIVATE* = 1
MA_ACTIVATEANDEAT* = 2
MA_NOACTIVATE* = 3
MA_NOACTIVATEANDEAT* = 4
SIZE_MAXHIDE* = 4
SIZE_MAXIMIZED* = 2
SIZE_MAXSHOW* = 3
SIZE_MINIMIZED* = 1
SIZE_RESTORED* = 0
WVR_ALIGNTOP* = 16
WVR_ALIGNLEFT* = 32
WVR_ALIGNBOTTOM* = 64
WVR_ALIGNRIGHT* = 128
WVR_HREDRAW* = 256
WVR_VREDRAW* = 512
WVR_REDRAW* = 768
WVR_VALIDRECTS* = 1024
HTBOTTOM* = 15
HTBOTTOMLEFT* = 16
HTBOTTOMRIGHT* = 17
HTCAPTION* = 2
HTCLIENT* = 1
HTERROR* = - 2
HTGROWBOX* = 4
HTHSCROLL* = 6
HTLEFT* = 10
HTMENU* = 5
HTNOWHERE* = 0
HTREDUCE* = 8
HTRIGHT* = 11
HTSIZE* = 4
HTSYSMENU* = 3
HTTOP* = 12
HTTOPLEFT* = 13
HTTOPRIGHT* = 14
HTTRANSPARENT* = - 1
HTVSCROLL* = 7
HTZOOM* = 9
MK_CONTROL* = 8
MK_LBUTTON* = 1
MK_MBUTTON* = 16
MK_RBUTTON* = 2
MK_SHIFT* = 4
CS_BYTEALIGNCLIENT* = 4096
CS_BYTEALIGNWINDOW* = 8192
CS_CLASSDC* = 64
CS_DBLCLKS* = 8
CS_GLOBALCLASS* = 16384
CS_HREDRAW* = 2
CS_KEYCVTWINDOW* = 4
CS_NOCLOSE* = 512
CS_NOKEYCVT* = 256
CS_OWNDC* = 32
CS_PARENTDC* = 128
CS_SAVEBITS* = 2048
CS_VREDRAW* = 1
DLGWINDOWEXTRA* = 30
FALT* = 16
FCONTROL* = 8
FNOINVERT* = 2
FSHIFT* = 4
FVIRTKEY* = 1
MNC_IGNORE* = 0
MNC_CLOSE* = 1
MNC_EXECUTE* = 2
MNC_SELECT* = 3
MIM_MAXHEIGHT* = 1
MIM_BACKGROUND* = 2
MIM_HELPID* = 4
MIM_MENUDATA* = 8
MIM_STYLE* = 16
MIM_APPLYTOSUBMENUS* = 0x80000000
MNS_CHECKORBMP* = 0x04000000
MNS_NOTIFYBYPOS* = 0x08000000
MNS_AUTODISMISS* = 0x10000000
MNS_DRAGDROP* = 0x20000000
MNS_MODELESS* = 0x40000000
MNS_NOCHECK* = 0x80000000
MIIM_CHECKMARKS* = 8
MIIM_DATA* = 32
MIIM_ID* = 2
MIIM_STATE* = 1
MIIM_SUBMENU* = 4
MIIM_TYPE* = 16
MIIM_STRING* = 64
MIIM_BITMAP* = 128
MIIM_FTYPE* = 256
MFT_BITMAP* = 0x00000004
MFT_MENUBARBREAK* = 0x00000020
MFT_MENUBREAK* = 0x00000040
MFT_OWNERDRAW* = 0x00000100
MFT_RADIOCHECK* = 0x00000200
MFT_RIGHTJUSTIFY* = 0x00004000
MFT_SEPARATOR* = 0x00000800
MFT_RIGHTORDER* = 0x00002000
MFT_STRING* = 0
MFS_CHECKED* = 0x00000008
MFS_DEFAULT* = 0x00001000
MFS_DISABLED* = 0x00000003
MFS_ENABLED* = 0
MFS_GRAYED* = 0x00000003
MFS_HILITE* = 0x00000080
MFS_UNCHECKED* = 0
MFS_UNHILITE* = 0
HBMMENU_CALLBACK* = - 1
HBMMENU_SYSTEM* = 1
HBMMENU_MBAR_RESTORE* = 2
HBMMENU_MBAR_MINIMIZE* = 3
HBMMENU_MBAR_CLOSE* = 5
HBMMENU_MBAR_CLOSE_D* = 6
HBMMENU_MBAR_MINIMIZE_D* = 7
HBMMENU_POPUP_CLOSE* = 8
HBMMENU_POPUP_RESTORE* = 9
HBMMENU_POPUP_MAXIMIZE* = 10
HBMMENU_POPUP_MINIMIZE* = 11
SERKF_AVAILABLE* = 2
SERKF_INDICATOR* = 4
SERKF_SERIALKEYSON* = 1
FKF_AVAILABLE* = 2
FKF_CLICKON* = 64
FKF_FILTERKEYSON* = 1
FKF_HOTKEYACTIVE* = 4
FKF_HOTKEYSOUND* = 16
FKF_CONFIRMHOTKEY* = 8
FKF_INDICATOR* = 32
HELPINFO_MENUITEM* = 2
HELPINFO_WINDOW* = 1
PRF_CHECKVISIBLE* = 0x00000001
PRF_CHILDREN* = 0x00000010
PRF_CLIENT* = 0x00000004
PRF_ERASEBKGND* = 0x00000008
PRF_NONCLIENT* = 0x00000002
PRF_OWNED* = 0x00000020
HWND_DESKTOP* = HWND(0)
SC_CLOSE* = 61536
SC_CONTEXTHELP* = 61824
SC_DEFAULT* = 61792
SC_HOTKEY* = 61776
SC_HSCROLL* = 61568
SC_KEYMENU* = 61696
SC_MAXIMIZE* = 61488
SC_ZOOM* = 61488
SC_MINIMIZE* = 61472
SC_ICON* = 61472
SC_MONITORPOWER* = 61808
SC_MOUSEMENU* = 61584
SC_MOVE* = 61456
SC_NEXTWINDOW* = 61504
SC_PREVWINDOW* = 61520
SC_RESTORE* = 61728
SC_SCREENSAVE* = 61760
SC_SIZE* = 61440
SC_TASKLIST* = 61744
SC_VSCROLL* = 61552
DC_HASDEFID* = 21323
DLGC_BUTTON* = 8192
DLGC_DEFPUSHBUTTON* = 16
DLGC_HASSETSEL* = 8
DLGC_RADIOBUTTON* = 64
DLGC_STATIC* = 256
DLGC_UNDEFPUSHBUTTON* = 32
DLGC_WANTALLKEYS* = 4
DLGC_WANTARROWS* = 1
DLGC_WANTCHARS* = 128
DLGC_WANTMESSAGE* = 4
DLGC_WANTTAB* = 2
EC_LEFTMARGIN* = 1
EC_RIGHTMARGIN* = 2
EC_USEFONTINFO* = 65535
LB_ERR* = - 1
LB_ERRSPACE* = - 2
LB_OKAY* = 0
CB_ERR* = - 1
CB_ERRSPACE* = - 2
IMC_GETCANDIDATEPOS* = 7
IMC_GETCOMPOSITIONFONT* = 9
IMC_GETCOMPOSITIONWINDOW* = 11
IMC_GETSTATUSWINDOWPOS* = 15
IMC_CLOSESTATUSWINDOW* = 33
IMC_OPENSTATUSWINDOW* = 34
IMC_SETCANDIDATEPOS* = 8
IMC_SETCOMPOSITIONFONT* = 10
IMC_SETCOMPOSITIONWINDOW* = 12
IMC_SETSTATUSWINDOWPOS* = 16
IMN_CHANGECANDIDATE* = 3
IMN_CLOSECANDIDATE* = 4
IMN_CLOSESTATUSWINDOW* = 1
IMN_GUIDELINE* = 13
IMN_OPENCANDIDATE* = 5
IMN_OPENSTATUSWINDOW* = 2
IMN_SETCANDIDATEPOS* = 9
IMN_SETCOMPOSITIONFONT* = 10
IMN_SETCOMPOSITIONWINDOW* = 11
IMN_SETCONVERSIONMODE* = 6
IMN_SETOPENSTATUS* = 8
IMN_SETSENTENCEMODE* = 7
IMN_SETSTATUSWINDOWPOS* = 12
IMN_PRIVATE* = 14
SKF_AUDIBLEFEEDBACK* = 64
SKF_AVAILABLE* = 2
SKF_CONFIRMHOTKEY* = 8
SKF_HOTKEYACTIVE* = 4
SKF_HOTKEYSOUND* = 16
SKF_INDICATOR* = 32
SKF_STICKYKEYSON* = 1
SKF_TRISTATE* = 128
SKF_TWOKEYSOFF* = 256
MKF_AVAILABLE* = 2
MKF_CONFIRMHOTKEY* = 8
MKF_HOTKEYACTIVE* = 4
MKF_HOTKEYSOUND* = 16
MKF_INDICATOR* = 32
MKF_MOUSEKEYSON* = 1
MKF_MODIFIERS* = 64
MKF_REPLACENUMBERS* = 128
SSF_AVAILABLE* = 2
SSF_SOUNDSENTRYON* = 1
SSTF_BORDER* = 2
SSTF_CHARS* = 1
SSTF_DISPLAY* = 3
SSTF_NONE* = 0
SSGF_DISPLAY* = 3
SSGF_NONE* = 0
SSWF_CUSTOM* = 4
SSWF_DISPLAY* = 3
SSWF_NONE* = 0
SSWF_TITLE* = 1
SSWF_WINDOW* = 2
ATF_ONOFFFEEDBACK* = 2
ATF_TIMEOUTON* = 1
HCF_AVAILABLE* = 2
HCF_CONFIRMHOTKEY* = 8
HCF_HIGHCONTRASTON* = 1
HCF_HOTKEYACTIVE* = 4
HCF_HOTKEYAVAILABLE* = 64
HCF_HOTKEYSOUND* = 16
HCF_INDICATOR* = 32
TKF_AVAILABLE* = 2
TKF_CONFIRMHOTKEY* = 8
TKF_HOTKEYACTIVE* = 4
TKF_HOTKEYSOUND* = 16
TKF_TOGGLEKEYSON* = 1
PP_DISPLAYERRORS* = 1
RESOURCEDISPLAYTYPE_DOMAIN* = 1
RESOURCEDISPLAYTYPE_FILE* = 4
RESOURCEDISPLAYTYPE_GENERIC* = 0
RESOURCEDISPLAYTYPE_GROUP* = 5
RESOURCEDISPLAYTYPE_SERVER* = 2
RESOURCEDISPLAYTYPE_SHARE* = 3
CAPSLOCK_ON* = 128
ENHANCED_KEY* = 256
LEFT_ALT_PRESSED* = 2
LEFT_CTRL_PRESSED* = 8
NUMLOCK_ON* = 32
RIGHT_ALT_PRESSED* = 1
RIGHT_CTRL_PRESSED* = 4
SCROLLLOCK_ON* = 64
SHIFT_PRESSED* = 16
FROM_LEFT_1ST_BUTTON_PRESSED* = 1
RIGHTMOST_BUTTON_PRESSED* = 2
FROM_LEFT_2ND_BUTTON_PRESSED* = 4
FROM_LEFT_3RD_BUTTON_PRESSED* = 8
FROM_LEFT_4TH_BUTTON_PRESSED* = 16
DOUBLE_CLICK* = 2
MOUSE_MOVED* = 1
KEY_EVENT* = 1
cMOUSE_EVENT* = 2
WINDOW_BUFFER_SIZE_EVENT* = 4
MENU_EVENT* = 8
FOCUS_EVENT* = 16
BI_RGB* = 0
BI_RLE8* = 1
BI_RLE4* = 2
BI_BITFIELDS* = 3
PFD_DOUBLEBUFFER* = 0x00000001
PFD_STEREO* = 0x00000002
PFD_DRAW_TO_WINDOW* = 0x00000004
PFD_DRAW_TO_BITMAP* = 0x00000008
PFD_SUPPORT_GDI* = 0x00000010
PFD_SUPPORT_OPENGL* = 0x00000020
PFD_DEPTH_DONTCARE* = 0x20000000
PFD_DOUBLEBUFFER_DONTCARE* = 0x40000000
PFD_STEREO_DONTCARE* = 0x80000000
PFD_TYPE_RGBA* = 0
PFD_TYPE_COLORINDEX* = 1
PFD_MAIN_PLANE* = 0
PFD_OVERLAY_PLANE* = 1
PFD_UNDERLAY_PLANE* = - 1
WGL_FONT_LINES* = 0
WGL_FONT_POLYGONS* = 1
PFD_GENERIC_FORMAT* = 0x00000040
PFD_NEED_PALETTE* = 0x00000080
PFD_NEED_SYSTEM_PALETTE* = 0x00000100
PFD_SWAP_EXCHANGE* = 0x00000200
PFD_SWAP_COPY* = 0x00000400
PFD_SWAP_LAYER_BUFFERS* = 0x00000800
PFD_GENERIC_ACCELERATED* = 0x00001000
PFD_SUPPORT_DIRECTDRAW* = 0x00002000
TMPF_FIXED_PITCH* = 0x00000001
TMPF_VECTOR* = 0x00000002
TMPF_TRUETYPE* = 0x00000004
TMPF_DEVICE* = 0x00000008
WM_CTLCOLOR* = 25
LWA_COLORKEY* = 0x00000001
LWA_ALPHA* = 0x00000002
ULW_COLORKEY* = 0x00000001
ULW_ALPHA* = 0x00000002
ULW_OPAQUE* = 0x00000004
WS_EX_LAYERED* = 0x00080000
WS_EX_NOINHERITLAYOUT* = 0x00100000
WS_EX_LAYOUTRTL* = 0x00400000
WS_EX_COMPOSITED* = 0x02000000
WS_EX_NOACTIVATE* = 0x08000000
C3_LEXICAL* = 1024
SE_ERR_SHARE* = 26
SE_ERR_ASSOCINCOMPLETE* = 27
SE_ERR_DDETIMEOUT* = 28
SE_ERR_DDEFAIL* = 29
SE_ERR_DDEBUSY* = 30
SE_ERR_NOASSOC* = 31
XCLASS_BOOL* = 0x00001000
XCLASS_DATA* = 0x00002000
XCLASS_FLAGS* = 0x00004000
XCLASS_MASK* = 0x0000FC00
XCLASS_NOTIFICATION* = 0x00008000
XTYPF_NOBLOCK* = 0x00000002
XTYP_ADVDATA* = 0x00004010
XTYP_ADVREQ* = 0x00002022
XTYP_ADVSTART* = 0x00001030
XTYP_ADVSTOP* = 0x00008040
XTYP_CONNECT* = 0x00001062
XTYP_CONNECT_CONFIRM* = 0x00008072
XTYP_DISCONNECT* = 0x000080C2
XTYP_EXECUTE* = 0x00004050
XTYP_POKE* = 0x00004090
XTYP_REQUEST* = 0x000020B0
XTYP_WILDCONNECT* = 0x000020E2
XTYP_REGISTER* = 0x000080A2
XTYP_ERROR* = 0x00008002
XTYP_XACT_COMPLETE* = 0x00008080
XTYP_UNREGISTER* = 0x000080D2
DMLERR_DLL_USAGE* = 0x00004004
DMLERR_INVALIDPARAMETER* = 0x00004006
DMLERR_NOTPROCESSED* = 0x00004009
DMLERR_POSTMSG_FAILED* = 0x0000400C
DMLERR_SERVER_DIED* = 0x0000400E
DMLERR_SYS_ERROR* = 0x0000400F
DMLERR_BUSY* = 0x00004001
DMLERR_DATAACKTIMEOUT* = 0x00004002
DMLERR_ADVACKTIMEOUT* = 0x00004000
DMLERR_DLL_NOT_INITIALIZED* = 0x00004003
DMLERR_LOW_MEMORY* = 0x00004007
DMLERR_MEMORY_ERROR* = 0x00004008
DMLERR_POKEACKTIMEOUT* = 0x0000400B
DMLERR_NO_CONV_ESTABLISHED* = 0x0000400A
DMLERR_REENTRANCY* = 0x0000400D
DMLERR_UNFOUND_QUEUE_ID* = 0x00004011
DMLERR_UNADVACKTIMEOUT* = 0x00004010
DMLERR_EXECACKTIMEOUT* = 0x00004005
DDE_FACK* = 0x00008000
DDE_FNOTPROCESSED* = 0x00000000
DNS_REGISTER* = 0x00000001
DNS_UNREGISTER* = 0x00000002
CP_WINANSI* = 1004
CP_WINUNICODE* = 1200
APPCLASS_STANDARD* = 0x00000000
BKMODE_LAST* = 2
CTLCOLOR_MSGBOX* = 0
CTLCOLOR_EDIT* = 1
CTLCOLOR_LISTBOX* = 2
CTLCOLOR_BTN* = 3
CTLCOLOR_DLG* = 4
CTLCOLOR_SCROLLBAR* = 5
CTLCOLOR_STATIC* = 6
CTLCOLOR_MAX* = 7
META_SETMAPMODE* = 0x00000103
META_SETWINDOWORG* = 0x0000020B
META_SETWINDOWEXT* = 0x0000020C
POLYFILL_LAST* = 2
STATUS_WAIT_0* = 0x00000000
STATUS_ABANDONED_WAIT_0* = 0x00000080
STATUS_USER_APC* = 0x000000C0
STATUS_TIMEOUT* = 0x00000102
STATUS_PENDING* = 0x00000103
STATUS_GUARD_PAGE_VIOLATION* = 0x80000001
STATUS_DATATYPE_MISALIGNMENT* = 0x80000002
STATUS_BREAKPOINT* = 0x80000003
STATUS_SINGLE_STEP* = 0x80000004
STATUS_IN_PAGE_ERROR* = 0xC0000006
STATUS_INVALID_HANDLE* = 0xC0000008
STATUS_ILLEGAL_INSTRUCTION* = 0xC000001D
STATUS_NONCONTINUABLE_EXCEPTION* = 0xC0000025
STATUS_INVALID_DISPOSITION* = 0xC0000026
STATUS_ARRAY_BOUNDS_EXCEEDED* = 0xC000008C
STATUS_FLOAT_DENORMAL_OPERAND* = 0xC000008D
STATUS_FLOAT_DIVIDE_BY_ZERO* = 0xC000008E
STATUS_FLOAT_INEXACT_RESULT* = 0xC000008F
STATUS_FLOAT_INVALID_OPERATION* = 0xC0000090
STATUS_FLOAT_OVERFLOW* = 0xC0000091
STATUS_FLOAT_STACK_CHECK* = 0xC0000092
STATUS_FLOAT_UNDERFLOW* = 0xC0000093
STATUS_INTEGER_DIVIDE_BY_ZERO* = 0xC0000094
STATUS_INTEGER_OVERFLOW* = 0xC0000095
STATUS_PRIVILEGED_INSTRUCTION* = 0xC0000096
STATUS_STACK_OVERFLOW* = 0xC00000FD
STATUS_CONTROL_C_EXIT* = 0xC000013A
PROCESSOR_ARCHITECTURE_INTEL* = 0
PROCESSOR_ARCHITECTURE_MIPS* = 1
PROCESSOR_ARCHITECTURE_ALPHA* = 2
PROCESSOR_ARCHITECTURE_PPC* = 3
SIZEFULLSCREEN* = SIZE_MAXIMIZED
SIZENORMAL* = SIZE_RESTORED
SIZEICONIC* = SIZE_MINIMIZED
EXCEPTION_READ_FAULT* = 0
EXCEPTION_WRITE_FAULT* = 1
EXCEPTION_EXECUTE_FAULT* = 2
CONTEXT_CONTROL* = 1
CONTEXT_FLOATING_POINT* = 2
CONTEXT_INTEGER* = 4
CONTEXT_DEBUG_REGISTERS* = 8
CONTEXT_FULL* = CONTEXT_CONTROL or CONTEXT_FLOATING_POINT or CONTEXT_INTEGER
CONTEXT_DEBUGGER* = CONTEXT_FULL
SIZE_OF_80387_REGISTERS* = 80
CONTEXT_i386* = 0x00010000
CONTEXT_i486* = 0x00010000
CONTEXT_CONTROL* = CONTEXT_i386 or 1
CONTEXT_INTEGER* = CONTEXT_i386 or 2
CONTEXT_SEGMENTS* = CONTEXT_i386 or 4
CONTEXT_FLOATING_POINT* = CONTEXT_i386 or 8
CONTEXT_DEBUG_REGISTERS* = CONTEXT_i386 or 0x00000010
CONTEXT_EXTENDED_REGISTERS* = CONTEXT_i386 or 0x00000020
CONTEXT_FULL* = (CONTEXT_CONTROL or CONTEXT_INTEGER) or CONTEXT_SEGMENTS
CONTEXT_ALL* = CONTEXT_FULL or CONTEXT_FLOATING_POINT or
    CONTEXT_DEBUG_REGISTERS or CONTEXT_EXTENDED_REGISTERS
FLAG_TRACE_BIT* = 0x00000100
CONTEXT_DEBUGGER* = CONTEXT_FULL or CONTEXT_FLOATING_POINT
INITIAL_MXCSR* = 0x00001F80
INITIAL_FPCSR* = 0x0000027F
CONTEXT_AMD64* = 0x00100000
CONTEXT_CONTROL* = (CONTEXT_AMD64 or 0x00000001)
CONTEXT_INTEGER* = (CONTEXT_AMD64 or 0x00000002)
CONTEXT_SEGMENTS* = (CONTEXT_AMD64 or 0x00000004)
CONTEXT_FLOATING_POINT* = (CONTEXT_AMD64 or 0x00000008)
CONTEXT_DEBUG_REGISTERS* = (CONTEXT_AMD64 or 0x00000010)
CONTEXT_FULL* = CONTEXT_CONTROL or CONTEXT_INTEGER or CONTEXT_FLOATING_POINT
CONTEXT_ALL* = CONTEXT_CONTROL or CONTEXT_INTEGER or CONTEXT_SEGMENTS or
    CONTEXT_FLOATING_POINT or CONTEXT_DEBUG_REGISTERS
CONTEXT_EXCEPTION_ACTIVE* = 0x08000000
CONTEXT_SERVICE_ACTIVE* = 0x10000000
CONTEXT_EXCEPTION_REQUEST* = 0x40000000
CONTEXT_EXCEPTION_REPORTING* = 0x80000000
FILTER_TEMP_DUPLICATE_ACCOUNT* = 0x00000001
FILTER_NORMAL_ACCOUNT* = 0x00000002
FILTER_INTERDOMAIN_TRUST_ACCOUNT* = 0x00000008
FILTER_WORKSTATION_TRUST_ACCOUNT* = 0x00000010
FILTER_SERVER_TRUST_ACCOUNT* = 0x00000020
LOGON32_LOGON_INTERACTIVE* = 0x00000002
LOGON32_LOGON_BATCH* = 0x00000004
LOGON32_LOGON_SERVICE* = 0x00000005
LOGON32_PROVIDER_DEFAULT* = 0x00000000
LOGON32_PROVIDER_WINNT35* = 0x00000001
QID_SYNC* = 0xFFFFFFFF
IMAGE_DOS_SIGNATURE* = 0x00005A4D
IMAGE_NT_SIGNATURE* = 0x00004550
SEVERITY_SUCCESS* = 0
SEVERITY_ERROR* = 1
VT_EMPTY* = 0
VT_NULL* = 1
VT_I2* = 2
VT_I4* = 3
VT_R4* = 4
VT_R8* = 5
VT_BSTR* = 8
VT_ERROR* = 10
VT_BOOL* = 11
VT_UI1* = 17
VT_BYREF* = 0x00004000
VT_RESERVED* = 0x00008000
FACILITY_WINDOWS* = 8
FACILITY_STORAGE* = 3
FACILITY_RPC* = 1
FACILITY_SSPI* = 9
FACILITY_WIN32* = 7
FACILITY_CONTROL* = 10
FACILITY_NULL* = 0
FACILITY_INTERNET* = 12
FACILITY_ITF* = 4
FACILITY_DISPATCH* = 2
FACILITY_CERT* = 11
ICON_SMALL* = 0
ICON_BIG* = 1
TME_HOVER* = 0x00000001
TME_LEAVE* = 0x00000002
TME_QUERY* = 0x40000000
TME_CANCEL* = DWORD(0x80000000)
HOVER_DEFAULT* = DWORD(0xFFFFFFFF)
COLOR_HOTLIGHT* = 26
COLOR_GRADIENTACTIVECAPTION* = 27
COLOR_GRADIENTINACTIVECAPTION* = 28
COLOR_MENUHILIGHT* = 29
COLOR_MENUBAR* = 30
WM_APP* = 0x00008000
SYSRGN* = 4
UIS_SET* = 1
UIS_CLEAR* = 2
UIS_INITIALIZE* = 3
UISF_HIDEFOCUS* = 0x00000001
UISF_HIDEACCEL* = 0x00000002
UISF_ACTIVE* = 0x00000004
bm_DCB_fBinary* = 1
bp_DCB_fBinary* = 0'i32
bm_DCB_fParity* = 0x00000002
bp_DCB_fParity* = 1'i32
bm_DCB_fOutxCtsFlow* = 0x00000004
bp_DCB_fOutxCtsFlow* = 2'i32
bm_DCB_fOutxDsrFlow* = 0x00000008
bp_DCB_fOutxDsrFlow* = 3'i32
bm_DCB_fDtrControl* = 0x00000030
bp_DCB_fDtrControl* = 4'i32
bm_DCB_fDsrSensitivity* = 0x00000040
bp_DCB_fDsrSensitivity* = 6'i32
bm_DCB_fTXContinueOnXoff* = 0x00000080
bp_DCB_fTXContinueOnXoff* = 7'i32
bm_DCB_fOutX* = 0x00000100
bp_DCB_fOutX* = 8'i32
bm_DCB_fInX* = 0x00000200
bp_DCB_fInX* = 9'i32
bm_DCB_fErrorChar* = 0x00000400
bp_DCB_fErrorChar* = 10'i32
bm_DCB_fNull* = 0x00000800
bp_DCB_fNull* = 11'i32
bm_DCB_fRtsControl* = 0x00003000
bp_DCB_fRtsControl* = 12'i32
bm_DCB_fAbortOnError* = 0x00004000
bp_DCB_fAbortOnError* = 14'i32
bm_DCB_fDummy2* = 0xFFFF8000'i32
bp_DCB_fDummy2* = 15'i32
bm_COMSTAT_fCtsHold* = 0x00000001
bp_COMSTAT_fCtsHold* = 0'i32
bm_COMSTAT_fDsrHold* = 0x00000002
bp_COMSTAT_fDsrHold* = 1'i32
bm_COMSTAT_fRlsdHold* = 0x00000004
bp_COMSTAT_fRlsdHold* = 2'i32
bm_COMSTAT_fXoffHold* = 0x00000008
bp_COMSTAT_fXoffHold* = 3'i32
bm_COMSTAT_fXoffSent* = 0x00000010
bp_COMSTAT_fXoffSent* = 4'i32
bm_COMSTAT_fEof* = 0x00000020
bp_COMSTAT_fEof* = 5'i32
bm_COMSTAT_fTxim* = 0x00000040
bp_COMSTAT_fTxim* = 6'i32
bm_COMSTAT_fReserved* = 0xFFFFFF80'i32
bp_COMSTAT_fReserved* = 7'i32
bm_DDEACK_bAppReturnCode* = 0x00FF'i16
bp_DDEACK_bAppReturnCode* = 0'i16
bm_DDEACK_reserved* = 0x3F00'i16
bp_DDEACK_reserved* = 8'i16
bm_DDEACK_fBusy* = 0x4000'i16
bp_DDEACK_fBusy* = 14'i16
bm_DDEACK_fAck* = 0x8000'i16
bp_DDEACK_fAck* = 15'i16
bm_DDEADVISE_reserved* = 0x3FFF'i16
bp_DDEADVISE_reserved* = 0'i16
bm_DDEADVISE_fDeferUpd* = 0x4000'i16
bp_DDEADVISE_fDeferUpd* = 14'i16
bm_DDEADVISE_fAckReq* = 0x8000'i16
bp_DDEADVISE_fAckReq* = 15'i16
bm_DDEDATA_unused* = 0x0FFF'i16
bp_DDEDATA_unused* = 0'i16
bm_DDEDATA_fResponse* = 0x1000'i16
bp_DDEDATA_fResponse* = 12'i16
bm_DDEDATA_fRelease* = 0x2000'i16
bp_DDEDATA_fRelease* = 13'i16
bm_DDEDATA_reserved* = 0x4000'i16
bp_DDEDATA_reserved* = 14'i16
bm_DDEDATA_fAckReq* = 0x8000'i16
bp_DDEDATA_fAckReq* = 15'i16
bm_DDELN_unused* = 0x1FFF'i16
bp_DDELN_unused* = 0'i16
bm_DDELN_fRelease* = 0x2000'i16
bp_DDELN_fRelease* = 13'i16
bm_DDELN_fDeferUpd* = 0x4000'i16
bp_DDELN_fDeferUpd* = 14'i16
bm_DDELN_fAckReq* = 0x8000'i16
bp_DDELN_fAckReq* = 15'i16
bm_DDEPOKE_unused* = 0x1FFF'i16
bp_DDEPOKE_unused* = 0'i16
bm_DDEPOKE_fRelease* = 0x2000'i16
bp_DDEPOKE_fRelease* = 13'i16
bm_DDEPOKE_fReserved* = 0xC000'i16
bp_DDEPOKE_fReserved* = 14'i16
bm_DDEUP_unused* = 0x0FFF'i16
bp_DDEUP_unused* = 0'i16
bm_DDEUP_fAck* = 0x1000'i16
bp_DDEUP_fAck* = 12'i16
bm_DDEUP_fRelease* = 0x2000'i16
bp_DDEUP_fRelease* = 13'i16
bm_DDEUP_fReserved* = 0x4000'i16
bp_DDEUP_fReserved* = 14'i16
bm_DDEUP_fAckReq* = 0x8000'i16
bp_DDEUP_fAckReq* = 15'i16
bm_LDT_ENTRY_BaseMid* = 0x000000FF
bp_LDT_ENTRY_BaseMid* = 0'i32
bm_LDT_ENTRY_Type* = 0x00001F00
bp_LDT_ENTRY_Type* = 8'i32
bm_LDT_ENTRY_Dpl* = 0x00006000
bp_LDT_ENTRY_Dpl* = 13'i32
bm_LDT_ENTRY_Pres* = 0x00008000
bp_LDT_ENTRY_Pres* = 15'i32
bm_LDT_ENTRY_LimitHi* = 0x000F0000
bp_LDT_ENTRY_LimitHi* = 16'i32
bm_LDT_ENTRY_Sys* = 0x00100000
bp_LDT_ENTRY_Sys* = 20'i32
bm_LDT_ENTRY_Reserved_0* = 0x00200000
bp_LDT_ENTRY_Reserved_0* = 21'i32
bm_LDT_ENTRY_Default_Big* = 0x00400000
bp_LDT_ENTRY_Default_Big* = 22'i32
bm_LDT_ENTRY_Granularity* = 0x00800000
bp_LDT_ENTRY_Granularity* = 23'i32
bm_LDT_ENTRY_BaseHi* = 0xFF000000
bp_LDT_ENTRY_BaseHi* = 24'i32
ACM_OPENW* = 1127
ACM_OPENA* = 1124
ACM_OPEN* = ACM_OPENW
ACM_PLAY* = 1125
ACM_STOP* = 1126
ACN_START* = 1
ACN_STOP* = 2
BM_CLICK* = 245
BM_GETCHECK* = 240
BM_GETIMAGE* = 246
BM_GETSTATE* = 242
BM_SETCHECK* = 241
BM_SETIMAGE* = 247
BM_SETSTATE* = 243
BM_SETSTYLE* = 244
BN_CLICKED* = 0
BN_DBLCLK* = 5
BN_DISABLE* = 4
BN_DOUBLECLICKED* = 5
BN_HILITE* = 2
BN_KILLFOCUS* = 7
BN_PAINT* = 1
BN_PUSHED* = 2
BN_SETFOCUS* = 6
BN_UNHILITE* = 3
BN_UNPUSHED* = 3
CB_ADDSTRING* = 323
CB_DELETESTRING* = 324
CB_DIR* = 325
CB_FINDSTRING* = 332
CB_FINDSTRINGEXACT* = 344
CB_GETCOUNT* = 326
CB_GETCURSEL* = 327
CB_GETDROPPEDCONTROLRECT* = 338
CB_GETDROPPEDSTATE* = 343
CB_GETDROPPEDWIDTH* = 351
CB_GETEDITSEL* = 320
CB_GETEXTENDEDUI* = 342
CB_GETHORIZONTALEXTENT* = 349
CB_GETITEMDATA* = 336
CB_GETITEMHEIGHT* = 340
CB_GETLBTEXT* = 328
CB_GETLBTEXTLEN* = 329
CB_GETLOCALE* = 346
CB_GETTOPINDEX* = 347
CB_INITSTORAGE* = 353
CB_INSERTSTRING* = 330
CB_LIMITTEXT* = 321
CB_RESETCONTENT* = 331
CB_SELECTSTRING* = 333
CB_SETCURSEL* = 334
CB_SETDROPPEDWIDTH* = 352
CB_SETEDITSEL* = 322
CB_SETEXTENDEDUI* = 341
CB_SETHORIZONTALEXTENT* = 350
CB_SETITEMDATA* = 337
CB_SETITEMHEIGHT* = 339
CB_SETLOCALE* = 345
CB_SETTOPINDEX* = 348
CB_SHOWDROPDOWN* = 335
CBN_CLOSEUP* = 8
CBN_DBLCLK* = 2
CBN_DROPDOWN* = 7
CBN_EDITCHANGE* = 5
CBN_EDITUPDATE* = 6
CBN_ERRSPACE* = - 1
CBN_KILLFOCUS* = 4
CBN_SELCHANGE* = 1
CBN_SELENDCANCEL* = 10
CBN_SELENDOK* = 9
CBN_SETFOCUS* = 3
DL_BEGINDRAG* = 1157
DL_CANCELDRAG* = 1160
DL_DRAGGING* = 1158
DL_DROPPED* = 1159
DM_GETDEFID* = 1024
DM_REPOSITION* = 1026
DM_SETDEFID* = 1025
EM_CANPASTE* = 1074
EM_CANUNDO* = 198
EM_CHARFROMPOS* = 215
EM_DISPLAYBAND* = 1075
EM_EMPTYUNDOBUFFER* = 205
EM_EXGETSEL* = 1076
EM_EXLIMITTEXT* = 1077
EM_EXLINEFROMCHAR* = 1078
EM_EXSETSEL* = 1079
EM_FINDTEXT* = 1080
EM_FINDTEXTEX* = 1103
EM_FINDWORDBREAK* = 1100
EM_FMTLINES* = 200
EM_FORMATRANGE* = 1081
EM_GETCHARFORMAT* = 1082
EM_GETEVENTMASK* = 1083
EM_GETFIRSTVISIBLELINE* = 206
EM_GETHANDLE* = 189
EM_GETLIMITTEXT* = 213
EM_GETLINE* = 196
EM_GETLINECOUNT* = 186
EM_GETMARGINS* = 212
EM_GETMODIFY* = 184
EM_GETIMECOLOR* = 1129
EM_GETIMEOPTIONS* = 1131
EM_GETOPTIONS* = 1102
EM_GETOLEINTERFACE* = 1084
EM_GETPARAFORMAT* = 1085
EM_GETPASSWORDCHAR* = 210
EM_GETPUNCTUATION* = 1125
EM_GETRECT* = 178
EM_GETSEL* = 176
EM_GETSELTEXT* = 1086
EM_GETTEXTRANGE* = 1099
EM_GETTHUMB* = 190
EM_GETWORDBREAKPROC* = 209
EM_GETWORDBREAKPROCEX* = 1104
EM_GETWORDWRAPMODE* = 1127
EM_HIDESELECTION* = 1087
EM_LIMITTEXT* = 197
EM_LINEFROMCHAR* = 201
EM_LINEINDEX* = 187
EM_LINELENGTH* = 193
EM_LINESCROLL* = 182
EM_PASTESPECIAL* = 1088
EM_POSFROMCHAR* = 214
EM_REPLACESEL* = 194
EM_REQUESTRESIZE* = 1089
EM_SCROLL* = 181
EM_SCROLLCARET* = 183
EM_SELECTIONTYPE* = 1090
EM_SETBKGNDCOLOR* = 1091
EM_SETCHARFORMAT* = 1092
EM_SETEVENTMASK* = 1093
EM_SETHANDLE* = 188
EM_SETIMECOLOR* = 1128
EM_SETIMEOPTIONS* = 1130
EM_SETLIMITTEXT* = 197
EM_SETMARGINS* = 211
EM_SETMODIFY* = 185
EM_SETOLECALLBACK* = 1094
EM_SETOPTIONS* = 1101
EM_SETPARAFORMAT* = 1095
EM_SETPASSWORDCHAR* = 204
EM_SETPUNCTUATION* = 1124
EM_SETREADONLY* = 207
EM_SETRECT* = 179
EM_SETRECTNP* = 180
EM_SETSEL* = 177
EM_SETTABSTOPS* = 203
EM_SETTARGETDEVICE* = 1096
EM_SETWORDBREAKPROC* = 208
EM_SETWORDBREAKPROCEX* = 1105
EM_SETWORDWRAPMODE* = 1126
EM_STREAMIN* = 1097
EM_STREAMOUT* = 1098
EM_UNDO* = 199
EN_CHANGE* = 768
EN_CORRECTTEXT* = 1797
EN_DROPFILES* = 1795
EN_ERRSPACE* = 1280
EN_HSCROLL* = 1537
EN_IMECHANGE* = 1799
EN_KILLFOCUS* = 512
EN_MAXTEXT* = 1281
EN_MSGFILTER* = 1792
EN_OLEOPFAILED* = 1801
EN_PROTECTED* = 1796
EN_REQUESTRESIZE* = 1793
EN_SAVECLIPBOARD* = 1800
EN_SELCHANGE* = 1794
EN_SETFOCUS* = 256
EN_STOPNOUNDO* = 1798
EN_UPDATE* = 1024
EN_VSCROLL* = 1538
HDM_DELETEITEM* = 4610
HDM_GETITEMW* = 4619
HDM_INSERTITEMW* = 4618
HDM_SETITEMW* = 4620
HDM_GETITEMA* = 4611
HDM_INSERTITEMA* = 4609
HDM_SETITEMA* = 4612
HDM_GETITEM* = HDM_GETITEMW
HDM_INSERTITEM* = HDM_INSERTITEMW
HDM_SETITEM* = HDM_SETITEMW
HDM_GETITEMCOUNT* = 4608
HDM_HITTEST* = 4614
HDM_LAYOUT* = 4613
HDN_BEGINTRACKW* = - 326
HDN_DIVIDERDBLCLICKW* = - 325
HDN_ENDTRACKW* = - 327
HDN_ITEMCHANGEDW* = - 321
HDN_ITEMCHANGINGW* = - 320
HDN_ITEMCLICKW* = - 322
HDN_ITEMDBLCLICKW* = - 323
HDN_TRACKW* = - 328
HDN_BEGINTRACKA* = - 306
HDN_DIVIDERDBLCLICKA* = - 305
HDN_ENDTRACKA* = - 307
HDN_ITEMCHANGEDA* = - 301
HDN_ITEMCHANGINGA* = - 300
HDN_ITEMCLICKA* = - 302
HDN_ITEMDBLCLICKA* = - 303
HDN_TRACKA* = - 308
HDN_BEGINTRACK* = HDN_BEGINTRACKW
HDN_DIVIDERDBLCLICK* = HDN_DIVIDERDBLCLICKW
HDN_ENDTRACK* = HDN_ENDTRACKW
HDN_ITEMCHANGED* = HDN_ITEMCHANGEDW
HDN_ITEMCHANGING* = HDN_ITEMCHANGINGW
HDN_ITEMCLICK* = HDN_ITEMCLICKW
HDN_ITEMDBLCLICK* = HDN_ITEMDBLCLICKW
HDN_TRACK* = HDN_TRACKW
HKM_GETHOTKEY* = 1026
HKM_SETHOTKEY* = 1025
HKM_SETRULES* = 1027
LB_ADDFILE* = 406
LB_ADDSTRING* = 384
LB_DELETESTRING* = 386
LB_DIR* = 397
LB_FINDSTRING* = 399
LB_FINDSTRINGEXACT* = 418
LB_GETANCHORINDEX* = 413
LB_GETCARETINDEX* = 415
LB_GETCOUNT* = 395
LB_GETCURSEL* = 392
LB_GETHORIZONTALEXTENT* = 403
LB_GETITEMDATA* = 409
LB_GETITEMHEIGHT* = 417
LB_GETITEMRECT* = 408
LB_GETLOCALE* = 422
LB_GETSEL* = 391
LB_GETSELCOUNT* = 400
LB_GETSELITEMS* = 401
LB_GETTEXT* = 393
LB_GETTEXTLEN* = 394
LB_GETTOPINDEX* = 398
LB_INITSTORAGE* = 424
LB_INSERTSTRING* = 385
LB_ITEMFROMPOINT* = 425
LB_RESETCONTENT* = 388
LB_SELECTSTRING* = 396
LB_SELITEMRANGE* = 411
LB_SELITEMRANGEEX* = 387
LB_SETANCHORINDEX* = 412
LB_SETCARETINDEX* = 414
LB_SETCOLUMNWIDTH* = 405
LB_SETCOUNT* = 423
LB_SETCURSEL* = 390
LB_SETHORIZONTALEXTENT* = 404
LB_SETITEMDATA* = 410
LB_SETITEMHEIGHT* = 416
LB_SETLOCALE* = 421
LB_SETSEL* = 389
LB_SETTABSTOPS* = 402
LB_SETTOPINDEX* = 407
LBN_DBLCLK* = 2
LBN_ERRSPACE* = - 2
LBN_KILLFOCUS* = 5
LBN_SELCANCEL* = 3
LBN_SELCHANGE* = 1
LBN_SETFOCUS* = 4
LVM_ARRANGE* = 4118
LVM_CREATEDRAGIMAGE* = 4129
LVM_DELETEALLITEMS* = 4105
LVM_DELETECOLUMN* = 4124
LVM_DELETEITEM* = 4104
LVM_ENSUREVISIBLE* = 4115
LVM_GETBKCOLOR* = 4096
LVM_GETCALLBACKMASK* = 4106
LVM_GETCOLUMNWIDTH* = 4125
LVM_GETCOUNTPERPAGE* = 4136
LVM_GETEDITCONTROL* = 4120
LVM_GETIMAGELIST* = 4098
LVM_EDITLABELW* = 4214
LVM_FINDITEMW* = 4179
LVM_GETCOLUMNW* = 4191
LVM_GETISEARCHSTRINGW* = 4213
LVM_GETITEMW* = 4171
LVM_GETITEMTEXTW* = 4211
LVM_GETSTRINGWIDTHW* = 4183
LVM_INSERTCOLUMNW* = 4193
LVM_INSERTITEMW* = 4173
LVM_SETCOLUMNW* = 4192
LVM_SETITEMW* = 4172
LVM_SETITEMTEXTW* = 4212
LVM_EDITLABELA* = 4119
LVM_FINDITEMA* = 4109
LVM_GETCOLUMNA* = 4121
LVM_GETISEARCHSTRINGA* = 4148
LVM_GETITEMA* = 4101
LVM_GETITEMTEXTA* = 4141
LVM_GETSTRINGWIDTHA* = 4113
LVM_INSERTCOLUMNA* = 4123
LVM_INSERTITEMA* = 4103
LVM_SETCOLUMNA* = 4122
LVM_SETITEMA* = 4102
LVM_SETITEMTEXTA* = 4142
LVM_EDITLABEL* = LVM_EDITLABELW
LVM_FINDITEM* = LVM_FINDITEMW
LVM_GETCOLUMN* = LVM_GETCOLUMNW
LVM_GETISEARCHSTRING* = LVM_GETISEARCHSTRINGW
LVM_GETITEM* = LVM_GETITEMW
LVM_GETITEMTEXT* = LVM_GETITEMTEXTW
LVM_GETSTRINGWIDTH* = LVM_GETSTRINGWIDTHW
LVM_INSERTCOLUMN* = LVM_INSERTCOLUMNW
LVM_INSERTITEM* = LVM_INSERTITEMW
LVM_SETCOLUMN* = LVM_SETCOLUMNW
LVM_SETITEM* = LVM_SETITEMW
LVM_SETITEMTEXT* = LVM_SETITEMTEXTW
LVM_GETITEMCOUNT* = 4100
LVM_GETITEMPOSITION* = 4112
LVM_GETITEMRECT* = 4110
LVM_GETITEMSPACING* = 4147
LVM_GETITEMSTATE* = 4140
LVM_GETNEXTITEM* = 4108
LVM_GETORIGIN* = 4137
LVM_GETSELECTEDCOUNT* = 4146
LVM_GETTEXTBKCOLOR* = 4133
LVM_GETTEXTCOLOR* = 4131
LVM_GETTOPINDEX* = 4135
LVM_GETVIEWRECT* = 4130
LVM_HITTEST* = 4114
LVM_REDRAWITEMS* = 4117
LVM_SCROLL* = 4116
LVM_SETBKCOLOR* = 4097
LVM_SETCALLBACKMASK* = 4107
LVM_SETCOLUMNWIDTH* = 4126
LVM_SETIMAGELIST* = 4099
LVM_SETITEMCOUNT* = 4143
LVM_SETITEMPOSITION* = 4111
LVM_SETITEMPOSITION32* = 4145
LVM_SETITEMSTATE* = 4139
LVM_SETTEXTBKCOLOR* = 4134
LVM_SETTEXTCOLOR* = 4132
LVM_SORTITEMS* = 4144
LVM_UPDATE* = 4138
LVN_BEGINDRAG* = - 109
LVN_BEGINRDRAG* = - 111
LVN_COLUMNCLICK* = - 108
LVN_DELETEALLITEMS* = - 104
LVN_DELETEITEM* = - 103
LVN_BEGINLABELEDITW* = - 175
LVN_ENDLABELEDITW* = - 176
LVN_GETDISPINFOW* = - 177
LVN_SETDISPINFOW* = - 178
LVN_BEGINLABELEDITA* = - 105
LVN_ENDLABELEDITA* = - 106
LVN_GETDISPINFOA* = - 150
LVN_SETDISPINFOA* = - 151
LVN_BEGINLABELEDIT* = LVN_BEGINLABELEDITW
LVN_ENDLABELEDIT* = LVN_ENDLABELEDITW
LVN_GETDISPINFO* = LVN_GETDISPINFOW
LVN_SETDISPINFO* = LVN_SETDISPINFOW
LVN_INSERTITEM* = - 102
LVN_ITEMCHANGED* = - 101
LVN_ITEMCHANGING* = - 100
LVN_KEYDOWN* = - 155
NM_CLICK* = - 2
NM_DBLCLK* = - 3
NM_KILLFOCUS* = - 8
NM_OUTOFMEMORY* = - 1
NM_RCLICK* = - 5
NM_RDBLCLK* = - 6
NM_RETURN* = - 4
NM_SETFOCUS* = - 7
PBM_DELTAPOS* = 1027
PBM_SETPOS* = 1026
PBM_SETRANGE* = 1025
PBM_SETRANGE32* = 1030
PBM_SETSTEP* = 1028
PBM_STEPIT* = 1029
PSM_ADDPAGE* = 1127
PSM_APPLY* = 1134
PSM_CANCELTOCLOSE* = 1131
PSM_CHANGED* = 1128
PSM_GETTABCONTROL* = 1140
PSM_GETCURRENTPAGEHWND* = 1142
PSM_ISDIALOGMESSAGE* = 1141
PSM_PRESSBUTTON* = 1137
PSM_QUERYSIBLINGS* = 1132
PSM_REBOOTSYSTEM* = 1130
PSM_REMOVEPAGE* = 1126
PSM_RESTARTWINDOWS* = 1129
PSM_SETCURSEL* = 1125
PSM_SETCURSELID* = 1138
PSM_SETFINISHTEXTW* = 1145
PSM_SETTITLEW* = 1144
PSM_SETFINISHTEXTA* = 1139
PSM_SETTITLEA* = 1135
PSM_SETFINISHTEXT* = PSM_SETFINISHTEXTW
PSM_SETTITLE* = PSM_SETTITLEW
PSM_SETWIZBUTTONS* = 1136
PSM_UNCHANGED* = 1133
PSN_APPLY* = - 202
PSN_HELP* = - 205
PSN_KILLACTIVE* = - 201
PSN_QUERYCANCEL* = - 209
PSN_RESET* = - 203
PSN_SETACTIVE* = - 200
PSN_WIZBACK* = - 206
PSN_WIZFINISH* = - 208
PSN_WIZNEXT* = - 207
SB_GETBORDERS* = 1031
SB_GETPARTS* = 1030
SB_GETRECT* = 1034
SB_GETTEXTW* = 1037
SB_GETTEXTLENGTHW* = 1036
SB_SETTEXTW* = 1035
SB_GETTEXTA* = 1026
SB_GETTEXTLENGTHA* = 1027
SB_SETTEXTA* = 1025
SB_GETTEXT* = SB_GETTEXTW
SB_GETTEXTLENGTH* = SB_GETTEXTLENGTHW
SB_SETTEXT* = SB_SETTEXTW
SB_SETMINHEIGHT* = 1032
SB_SETPARTS* = 1028
SB_SIMPLE* = 1033
SBM_ENABLE_ARROWS* = 228
SBM_GETPOS* = 225
SBM_GETRANGE* = 227
SBM_GETSCROLLINFO* = 234
SBM_SETPOS* = 224
SBM_SETRANGE* = 226
SBM_SETRANGEREDRAW* = 230
SBM_SETSCROLLINFO* = 233
STM_GETICON* = 369
STM_GETIMAGE* = 371
STM_SETICON* = 368
STM_SETIMAGE* = 370
STN_CLICKED* = 0
STN_DBLCLK* = 1
STN_DISABLE* = 3
STN_ENABLE* = 2
TB_ADDBITMAP* = 1043
TB_ADDBUTTONS* = 1044
TB_AUTOSIZE* = 1057
TB_BUTTONCOUNT* = 1048
TB_BUTTONSTRUCTSIZE* = 1054
TB_CHANGEBITMAP* = 1067
TB_CHECKBUTTON* = 1026
TB_COMMANDTOINDEX* = 1049
TB_CUSTOMIZE* = 1051
TB_DELETEBUTTON* = 1046
TB_ENABLEBUTTON* = 1025
TB_GETBITMAP* = 1068
TB_GETBITMAPFLAGS* = 1065
TB_GETBUTTON* = 1047
TB_ADDSTRINGW* = 1101
TB_GETBUTTONTEXTW* = 1099
TB_SAVERESTOREW* = 1100
TB_ADDSTRINGA* = 1052
TB_GETBUTTONTEXTA* = 1069
TB_SAVERESTOREA* = 1050
TB_ADDSTRING* = TB_ADDSTRINGW
TB_GETBUTTONTEXT* = TB_GETBUTTONTEXTW
TB_SAVERESTORE* = TB_SAVERESTOREW
TB_GETITEMRECT* = 1053
TB_GETROWS* = 1064
TB_GETSTATE* = 1042
TB_GETTOOLTIPS* = 1059
TB_HIDEBUTTON* = 1028
TB_INDETERMINATE* = 1029
TB_INSERTBUTTON* = 1045
TB_ISBUTTONCHECKED* = 1034
TB_ISBUTTONENABLED* = 1033
TB_ISBUTTONHIDDEN* = 1036
TB_ISBUTTONINDETERMINATE* = 1037
TB_ISBUTTONPRESSED* = 1035
TB_PRESSBUTTON* = 1027
TB_SETBITMAPSIZE* = 1056
TB_SETBUTTONSIZE* = 1055
TB_SETCMDID* = 1066
TB_SETPARENT* = 1061
TB_SETROWS* = 1063
TB_SETSTATE* = 1041
TB_SETTOOLTIPS* = 1060
TBM_CLEARSEL* = 1043
TBM_CLEARTICS* = 1033
TBM_GETCHANNELRECT* = 1050
TBM_GETLINESIZE* = 1048
TBM_GETNUMTICS* = 1040
TBM_GETPAGESIZE* = 1046
TBM_GETPOS* = 1024
TBM_GETPTICS* = 1038
TBM_GETRANGEMAX* = 1026
TBM_GETRANGEMIN* = 1025
TBM_GETSELEND* = 1042
TBM_GETSELSTART* = 1041
TBM_GETTHUMBLENGTH* = 1052
TBM_GETTHUMBRECT* = 1049
TBM_GETTIC* = 1027
TBM_GETTICPOS* = 1039
TBM_SETLINESIZE* = 1047
TBM_SETPAGESIZE* = 1045
TBM_SETPOS* = 1029
TBM_SETRANGE* = 1030
TBM_SETRANGEMAX* = 1032
TBM_SETRANGEMIN* = 1031
TBM_SETSEL* = 1034
TBM_SETSELEND* = 1036
TBM_SETSELSTART* = 1035
TBM_SETTHUMBLENGTH* = 1051
TBM_SETTIC* = 1028
TBM_SETTICFREQ* = 1044
TBN_BEGINADJUST* = - 703
TBN_BEGINDRAG* = - 701
TBN_CUSTHELP* = - 709
TBN_ENDADJUST* = - 704
TBN_ENDDRAG* = - 702
TBN_GETBUTTONINFOW* = - 720
TBN_GETBUTTONINFOA* = - 700
TBN_GETBUTTONINFO* = TBN_GETBUTTONINFOW
TBN_QUERYDELETE* = - 707
TBN_QUERYINSERT* = - 706
TBN_RESET* = - 705
TBN_TOOLBARCHANGE* = - 708
TCM_ADJUSTRECT* = 4904
TCM_DELETEALLITEMS* = 4873
TCM_DELETEITEM* = 4872
TCM_GETCURFOCUS* = 4911
TCM_GETCURSEL* = 4875
TCM_GETIMAGELIST* = 4866
TCM_GETITEMW* = 4924
TCM_INSERTITEMW* = 4926
TCM_SETITEMW* = 4925
TCM_GETITEMA* = 4869
TCM_INSERTITEMA* = 4871
TCM_SETITEMA* = 4870
TCM_GETITEM* = TCM_GETITEM
TCM_INSERTITEM* = TCM_INSERTITEMW
TCM_SETITEM* = TCM_SETITEMW
TCM_GETITEMCOUNT* = 4868
TCM_GETITEMRECT* = 4874
TCM_GETROWCOUNT* = 4908
TCM_GETTOOLTIPS* = 4909
TCM_HITTEST* = 4877
TCM_REMOVEIMAGE* = 4906
TCM_SETCURFOCUS* = 4912
TCM_SETCURSEL* = 4876
TCM_SETIMAGELIST* = 4867
TCM_SETITEMEXTRA* = 4878
TCM_SETITEMSIZE* = 4905
TCM_SETPADDING* = 4907
TCM_SETTOOLTIPS* = 4910
TCN_KEYDOWN* = - 550
TCN_SELCHANGE* = - 551
TCN_SELCHANGING* = - 552
TTM_ACTIVATE* = 1025
TTM_ADDTOOLW* = 1074
TTM_DELTOOLW* = 1075
TTM_ENUMTOOLSW* = 1082
TTM_GETCURRENTTOOLW* = 1083
TTM_GETTEXTW* = 1080
TTM_GETTOOLINFOW* = 1077
TTM_HITTESTW* = 1079
TTM_NEWTOOLRECTW* = 1076
TTM_SETTOOLINFOW* = 1078
TTM_UPDATETIPTEXTW* = 1081
TTM_ADDTOOLA* = 1028
TTM_DELTOOLA* = 1029
TTM_ENUMTOOLSA* = 1038
TTM_GETCURRENTTOOLA* = 1039
TTM_GETTEXTA* = 1035
TTM_GETTOOLINFOA* = 1032
TTM_HITTESTA* = 1034
TTM_NEWTOOLRECTA* = 1030
TTM_SETTOOLINFOA* = 1033
TTM_UPDATETIPTEXTA* = 1036
TTM_ADDTOOL* = TTM_ADDTOOLW
TTM_DELTOOL* = TTM_DELTOOLW
TTM_ENUMTOOLS* = TTM_ENUMTOOLSW
TTM_GETCURRENTTOOL* = TTM_GETCURRENTTOOLW
TTM_GETTEXT* = TTM_GETTEXTW
TTM_GETTOOLINFO* = TTM_GETTOOLINFOW
TTM_HITTEST* = TTM_HITTESTW
TTM_NEWTOOLRECT* = TTM_NEWTOOLRECTW
TTM_SETTOOLINFO* = TTM_SETTOOLINFOW
TTM_UPDATETIPTEXT* = TTM_UPDATETIPTEXTW
TTM_GETTOOLCOUNT* = 1037
TTM_RELAYEVENT* = 1031
TTM_SETDELAYTIME* = 1027
TTM_WINDOWFROMPOINT* = 1040
TTN_NEEDTEXTW* = - 530
TTN_NEEDTEXTA* = - 520
TTN_NEEDTEXT* = TTN_NEEDTEXTW
TTN_POP* = - 522
TTN_SHOW* = - 521
TVM_CREATEDRAGIMAGE* = 4370
TVM_DELETEITEM* = 4353
TVM_ENDEDITLABELNOW* = 4374
TVM_ENSUREVISIBLE* = 4372
TVM_EXPAND* = 4354
TVM_GETCOUNT* = 4357
TVM_GETEDITCONTROL* = 4367
TVM_GETIMAGELIST* = 4360
TVM_GETINDENT* = 4358
TVM_GETITEMRECT* = 4356
TVM_GETNEXTITEM* = 4362
TVM_GETVISIBLECOUNT* = 4368
TVM_HITTEST* = 4369
TVM_EDITLABELW* = 4417
TVM_GETISEARCHSTRINGW* = 4416
TVM_GETITEMW* = 4414
TVM_INSERTITEMW* = 4402
TVM_SETITEMW* = 4415
TVM_EDITLABELA* = 4366
TVM_GETISEARCHSTRINGA* = 4375
TVM_GETITEMA* = 4364
TVM_INSERTITEMA* = 4352
TVM_SETITEMA* = 4365
TVM_EDITLABEL* = TVM_EDITLABELW
TVM_GETISEARCHSTRING* = TVM_GETISEARCHSTRINGW
TVM_GETITEM* = TVM_GETITEMW
TVM_INSERTITEM* = TVM_INSERTITEMW
TVM_SETITEM* = TVM_SETITEMW
TVM_SELECTITEM* = 4363
TVM_SETIMAGELIST* = 4361
TVM_SETINDENT* = 4359
TVM_SORTCHILDREN* = 4371
TVM_SORTCHILDRENCB* = 4373
TVN_KEYDOWN* = - 412
TVN_BEGINDRAGW* = - 456
TVN_BEGINLABELEDITW* = - 459
TVN_BEGINRDRAGW* = - 457
TVN_DELETEITEMW* = - 458
TVN_ENDLABELEDITW* = - 460
TVN_GETDISPINFOW* = - 452
TVN_ITEMEXPANDEDW* = - 455
TVN_ITEMEXPANDINGW* = - 454
TVN_SELCHANGEDW* = - 451
TVN_SELCHANGINGW* = - 450
TVN_SETDISPINFOW* = - 453
TVN_BEGINDRAGA* = - 407
TVN_BEGINLABELEDITA* = - 410
TVN_BEGINRDRAGA* = - 408
TVN_DELETEITEMA* = - 409
TVN_ENDLABELEDITA* = - 411
TVN_GETDISPINFOA* = - 403
TVN_ITEMEXPANDEDA* = - 406
TVN_ITEMEXPANDINGA* = - 405
TVN_SELCHANGEDA* = - 402
TVN_SELCHANGINGA* = - 401
TVN_SETDISPINFOA* = - 404
TVN_BEGINDRAG* = TVN_BEGINDRAGW
TVN_BEGINLABELEDIT* = TVN_BEGINLABELEDITW
TVN_BEGINRDRAG* = TVN_BEGINRDRAGW
TVN_DELETEITEM* = TVN_DELETEITEMW
TVN_ENDLABELEDIT* = TVN_ENDLABELEDITW
TVN_GETDISPINFO* = TVN_GETDISPINFOW
TVN_ITEMEXPANDED* = TVN_ITEMEXPANDEDW
TVN_ITEMEXPANDING* = TVN_ITEMEXPANDINGW
TVN_SELCHANGED* = TVN_SELCHANGEDW
TVN_SELCHANGING* = TVN_SELCHANGINGW
TVN_SETDISPINFO* = TVN_SETDISPINFOW
UDM_GETACCEL* = 1132
UDM_GETBASE* = 1134
UDM_GETBUDDY* = 1130
UDM_GETPOS* = 1128
UDM_GETPOS32* = 1138
UDM_GETRANGE* = 1126
UDM_GETRANGE32* = 1136
UDM_SETACCEL* = 1131
UDM_SETBASE* = 1133
UDM_SETBUDDY* = 1129
UDM_SETPOS* = 1127
UDM_SETPOS32* = 1137
UDM_SETRANGE* = 1125
UDM_SETRANGE32* = 1135
UDN_DELTAPOS* = - 722
WM_ACTIVATE* = 6
WM_ACTIVATEAPP* = 28
WM_ASKCBFORMATNAME* = 780
WM_CANCELJOURNAL* = 75
WM_CANCELMODE* = 31
WM_CAPTURECHANGED* = 533
WM_CHANGECBCHAIN* = 781
WM_CHAR* = 258
WM_CHARTOITEM* = 47
WM_CHILDACTIVATE* = 34
WM_CHOOSEFONT_GETLOGFONT* = 1025
WM_CHOOSEFONT_SETLOGFONT* = 1125
WM_CHOOSEFONT_SETFLAGS* = 1126
WM_CLEAR* = 771
WM_CLOSE* = 16
WM_COMMAND* = 273
WM_COMPACTING* = 65
WM_COMPAREITEM* = 57
WM_CONTEXTMENU* = 123
WM_COPY* = 769
WM_COPYDATA* = 74
WM_CREATE* = 1
WM_CTLCOLORBTN* = 309
WM_CTLCOLORDLG* = 310
WM_CTLCOLOREDIT* = 307
WM_CTLCOLORLISTBOX* = 308
WM_CTLCOLORMSGBOX* = 306
WM_CTLCOLORSCROLLBAR* = 311
WM_CTLCOLORSTATIC* = 312
WM_CUT* = 768
WM_DEADCHAR* = 259
WM_DELETEITEM* = 45
WM_DESTROY* = 2
WM_DESTROYCLIPBOARD* = 775
WM_DEVICECHANGE* = 537
WM_DEVMODECHANGE* = 27
WM_DISPLAYCHANGE* = 126
WM_DRAWCLIPBOARD* = 776
WM_DRAWITEM* = 43
WM_DROPFILES* = 563
WM_ENABLE* = 10
WM_ENDSESSION* = 22
WM_ENTERIDLE* = 289
WM_ENTERMENULOOP* = 529
WM_ENTERSIZEMOVE* = 561
WM_ERASEBKGND* = 20
WM_EXITMENULOOP* = 530
WM_EXITSIZEMOVE* = 562
WM_FONTCHANGE* = 29
WM_GETDLGCODE* = 135
WM_GETFONT* = 49
WM_GETHOTKEY* = 51
WM_GETICON* = 127
WM_GETMINMAXINFO* = 36
WM_GETTEXT* = 13
WM_GETTEXTLENGTH* = 14
WM_HELP* = 83
WM_HOTKEY* = 786
WM_HSCROLL* = 276
WM_HSCROLLCLIPBOARD* = 782
WM_ICONERASEBKGND* = 39
WM_IME_CHAR* = 646
WM_IME_COMPOSITION* = 271
WM_IME_COMPOSITIONFULL* = 644
WM_IME_CONTROL* = 643
WM_IME_ENDCOMPOSITION* = 270
WM_IME_KEYDOWN* = 656
WM_IME_KEYUP* = 657
WM_IME_NOTIFY* = 642
WM_IME_SELECT* = 645
WM_IME_SETCONTEXT* = 641
WM_IME_STARTCOMPOSITION* = 269
WM_INITDIALOG* = 272
WM_INITMENU* = 278
WM_INITMENUPOPUP* = 279
WM_INPUTLANGCHANGE* = 81
WM_INPUTLANGCHANGEREQUEST* = 80
WM_KEYDOWN* = 256
WM_KEYUP* = 257
WM_KILLFOCUS* = 8
WM_LBUTTONDBLCLK* = 515
WM_LBUTTONDOWN* = 513
WM_LBUTTONUP* = 514
WM_MBUTTONDBLCLK* = 521
WM_MBUTTONDOWN* = 519
WM_MBUTTONUP* = 520
WM_MDIACTIVATE* = 546
WM_MDICASCADE* = 551
WM_MDICREATE* = 544
WM_MDIDESTROY* = 545
WM_MDIGETACTIVE* = 553
WM_MDIICONARRANGE* = 552
WM_MDIMAXIMIZE* = 549
WM_MDINEXT* = 548
WM_MDIREFRESHMENU* = 564
WM_MDIRESTORE* = 547
WM_MDISETMENU* = 560
WM_MDITILE* = 550
WM_MEASUREITEM* = 44
WM_MENUCHAR* = 288
WM_MENUSELECT* = 287
WM_MOUSEACTIVATE* = 33
WM_MOUSEMOVE* = 512
WM_MOUSEWHEEL* = 522
WM_MOUSEHOVER* = 673
WM_MOUSELEAVE* = 675
WM_MOVE* = 3
WM_MOVING* = 534
WM_NCACTIVATE* = 134
WM_NCCALCSIZE* = 131
WM_NCCREATE* = 129
WM_NCDESTROY* = 130
WM_NCHITTEST* = 132
WM_NCLBUTTONDBLCLK* = 163
WM_NCLBUTTONDOWN* = 161
WM_NCLBUTTONUP* = 162
WM_NCMBUTTONDBLCLK* = 169
WM_NCMBUTTONDOWN* = 167
WM_NCMBUTTONUP* = 168
WM_NCMOUSEMOVE* = 160
WM_NCPAINT* = 133
WM_NCRBUTTONDBLCLK* = 166
WM_NCRBUTTONDOWN* = 164
WM_NCRBUTTONUP* = 165
WM_NEXTDLGCTL* = 40
WM_NOTIFY* = 78
WM_NOTIFYFORMAT* = 85
WM_NULL* = 0
WM_PAINT* = 15
WM_PAINTCLIPBOARD* = 777
WM_PAINTICON* = 38
WM_PALETTECHANGED* = 785
WM_PALETTEISCHANGING* = 784
WM_PARENTNOTIFY* = 528
WM_PASTE* = 770
WM_PENWINFIRST* = 896
WM_PENWINLAST* = 911
WM_POWER* = 72
WM_POWERBROADCAST* = 536
WM_PRINT* = 791
WM_PRINTCLIENT* = 792
WM_PSD_ENVSTAMPRECT* = 1029
WM_PSD_FULLPAGERECT* = 1025
WM_PSD_GREEKTEXTRECT* = 1028
WM_PSD_MARGINRECT* = 1027
WM_PSD_MINMARGINRECT* = 1026
WM_PSD_PAGESETUPDLG* = 1024
WM_PSD_YAFULLPAGERECT* = 1030
WM_QUERYDRAGICON* = 55
WM_QUERYENDSESSION* = 17
WM_QUERYNEWPALETTE* = 783
WM_QUERYOPEN* = 19
WM_QUEUESYNC* = 35
WM_QUIT* = 18
WM_RBUTTONDBLCLK* = 518
WM_RBUTTONDOWN* = 516
WM_RBUTTONUP* = 517
WM_RENDERALLFORMATS* = 774
WM_RENDERFORMAT* = 773
WM_SETCURSOR* = 32
WM_SETFOCUS* = 7
WM_SETFONT* = 48
WM_SETHOTKEY* = 50
WM_SETICON* = 128
WM_SETREDRAW* = 11
WM_SETTEXT* = 12
WM_SETTINGCHANGE* = 26
WM_SHOWWINDOW* = 24
WM_SIZE* = 5
WM_SIZECLIPBOARD* = 779
WM_SIZING* = 532
WM_SPOOLERSTATUS* = 42
WM_STYLECHANGED* = 125
WM_STYLECHANGING* = 124
WM_SYSCHAR* = 262
WM_SYSCOLORCHANGE* = 21
WM_SYSCOMMAND* = 274
WM_SYSDEADCHAR* = 263
WM_SYSKEYDOWN* = 260
WM_SYSKEYUP* = 261
WM_TCARD* = 82
WM_TIMECHANGE* = 30
WM_TIMER* = 275
WM_UNDO* = 772
WM_USER* = 1024
WM_USERCHANGED* = 84
WM_VKEYTOITEM* = 46
WM_VSCROLL* = 277
WM_VSCROLLCLIPBOARD* = 778
WM_WINDOWPOSCHANGED* = 71
WM_WINDOWPOSCHANGING* = 70
WM_WININICHANGE* = 26
WM_KEYFIRST* = 256
WM_KEYLAST* = 264
WM_MOUSEFIRST* = 512
WM_MOUSELAST* = 525
WM_XBUTTONDOWN* = 523
WM_XBUTTONUP* = 524
WM_XBUTTONDBLCLK* = 525
advapi32* = "advapi32.dll"
kernel32* = "kernel32.dll"
mpr* = "mpr.dll"
version* = "version.dll"
comctl32* = "comctl32.dll"
gdi32* = "gdi32.dll"
opengl32* = "opengl32.dll"
user32* = "user32.dll"
wintrust* = "wintrust.dll"
fmShareCompat* = 0x00000000
fmShareExclusive* = 0x00000010
fmShareDenyWrite* = 0x00000020
fmShareDenyRead* = 0x00000030
fmShareDenyNone* = 0x00000040
SIF_TRACKPOS* = 0x00000010
HTBORDER* = 18
CP_UTF7* = 65000
CP_UTF8* = 65001
CREATE_NO_WINDOW* = 0x08000000
VK_ATTN* = 246
VK_CRSEL* = 247
VK_EXSEL* = 248
VK_EREOF* = 249
VK_PLAY* = 250
VK_ZOOM* = 251
VK_NONAME* = 252
VK_PA1* = 253
VK_OEM_CLEAR* = 254
FACILITY_NT_BIT* = 0x10000000
NLS_VALID_LOCALE_MASK* = 0x000FFFFF

Procs

proc UNICODE_NULL*(): WCHAR
proc GetFirstChild*(h: HWND): HWND
proc GetNextSibling*(h: HWND): HWND
proc GetWindowID*(h: HWND): int32
proc SubclassWindow*(h: HWND; p: LONG): LONG
proc GET_WM_COMMAND_CMD*(w, L: int32): int32
proc GET_WM_COMMAND_ID*(w, L: int32): int32
proc GET_WM_CTLCOLOR_HDC*(w, L, msg: int32): HDC
proc GET_WM_CTLCOLOR_HWND*(w, L, msg: int32): HWND
proc GET_WM_HSCROLL_CODE*(w, L: int32): int32
proc GET_WM_HSCROLL_HWND*(w, L: int32): HWND
proc GET_WM_HSCROLL_POS*(w, L: int32): int32
proc GET_WM_MDIACTIVATE_FACTIVATE*(h, a, b: int32): int32
proc GET_WM_MDIACTIVATE_HWNDACTIVATE*(a, b: int32): HWND
proc GET_WM_MDIACTIVATE_HWNDDEACT*(a, b: int32): HWND
proc GET_WM_VSCROLL_CODE*(w, L: int32): int32
proc GET_WM_VSCROLL_HWND*(w, L: int32): HWND
proc GET_WM_VSCROLL_POS*(w, L: int32): int32
proc fBinary*(a: var DCB): DWORD
proc set_fBinary*(a: var DCB; fBinary: DWORD)
proc fParity*(a: var DCB): DWORD
proc set_fParity*(a: var DCB; fParity: DWORD)
proc fOutxCtsFlow*(a: var DCB): DWORD
proc set_fOutxCtsFlow*(a: var DCB; fOutxCtsFlow: DWORD)
proc fOutxDsrFlow*(a: var DCB): DWORD
proc set_fOutxDsrFlow*(a: var DCB; fOutxDsrFlow: DWORD)
proc fDtrControl*(a: var DCB): DWORD
proc set_fDtrControl*(a: var DCB; fDtrControl: DWORD)
proc fDsrSensitivity*(a: var DCB): DWORD
proc set_fDsrSensitivity*(a: var DCB; fDsrSensitivity: DWORD)
proc fTXContinueOnXoff*(a: var DCB): DWORD
proc set_fTXContinueOnXoff*(a: var DCB; fTXContinueOnXoff: DWORD)
proc fOutX*(a: var DCB): DWORD
proc set_fOutX*(a: var DCB; fOutX: DWORD)
proc fInX*(a: var DCB): DWORD
proc set_fInX*(a: var DCB; fInX: DWORD)
proc fErrorChar*(a: var DCB): DWORD
proc set_fErrorChar*(a: var DCB; fErrorChar: DWORD)
proc fNull*(a: var DCB): DWORD
proc set_fNull*(a: var DCB; fNull: DWORD)
proc fRtsControl*(a: var DCB): DWORD
proc set_fRtsControl*(a: var DCB; fRtsControl: DWORD)
proc fAbortOnError*(a: var DCB): DWORD
proc set_fAbortOnError*(a: var DCB; fAbortOnError: DWORD)
proc fDummy2*(a: var DCB): DWORD
proc set_fDummy2*(a: var DCB; fDummy2: DWORD)
proc fCtsHold*(a: var COMSTAT): DWORD
proc set_fCtsHold*(a: var COMSTAT; fCtsHold: DWORD)
proc fDsrHold*(a: var COMSTAT): DWORD
proc set_fDsrHold*(a: var COMSTAT; fDsrHold: DWORD)
proc fRlsdHold*(a: var COMSTAT): DWORD
proc set_fRlsdHold*(a: var COMSTAT; fRlsdHold: DWORD)
proc fXoffHold*(a: var COMSTAT): DWORD
proc set_fXoffHold*(a: var COMSTAT; fXoffHold: DWORD)
proc fXoffSent*(a: var COMSTAT): DWORD
proc set_fXoffSent*(a: var COMSTAT; fXoffSent: DWORD)
proc fEof*(a: var COMSTAT): DWORD
proc set_fEof*(a: var COMSTAT; fEof: DWORD)
proc fTxim*(a: var COMSTAT): DWORD
proc set_fTxim*(a: var COMSTAT; fTxim: DWORD)
proc fReserved*(a: var COMSTAT): DWORD
proc set_fReserved*(a: var COMSTAT; fReserved: DWORD)
proc bAppReturnCode*(a: var DDEACK): int16
proc set_bAppReturnCode*(a: var DDEACK; bAppReturnCode: int16)
proc reserved*(a: var DDEACK): int16
proc set_reserved*(a: var DDEACK; reserved: int16)
proc fBusy*(a: var DDEACK): int16
proc set_fBusy*(a: var DDEACK; fBusy: int16)
proc fAck*(a: var DDEACK): int16
proc set_fAck*(a: var DDEACK; fAck: int16)
proc reserved*(a: var DDEADVISE): int16
proc set_reserved*(a: var DDEADVISE; reserved: int16)
proc fDeferUpd*(a: var DDEADVISE): int16
proc set_fDeferUpd*(a: var DDEADVISE; fDeferUpd: int16)
proc fAckReq*(a: var DDEADVISE): int16
proc set_fAckReq*(a: var DDEADVISE; fAckReq: int16)
proc unused*(a: var DDEDATA): int16
proc set_unused*(a: var DDEDATA; unused: int16)
proc fResponse*(a: var DDEDATA): int16
proc set_fResponse*(a: var DDEDATA; fResponse: int16)
proc fRelease*(a: var DDEDATA): int16
proc set_fRelease*(a: var DDEDATA; fRelease: int16)
proc reserved*(a: var DDEDATA): int16
proc set_reserved*(a: var DDEDATA; reserved: int16)
proc fAckReq*(a: var DDEDATA): int16
proc set_fAckReq*(a: var DDEDATA; fAckReq: int16)
proc unused*(a: var DDELN): int16
proc set_unused*(a: var DDELN; unused: int16)
proc fRelease*(a: var DDELN): int16
proc set_fRelease*(a: var DDELN; fRelease: int16)
proc fDeferUpd*(a: var DDELN): int16
proc set_fDeferUpd*(a: var DDELN; fDeferUpd: int16)
proc fAckReq*(a: var DDELN): int16
proc set_fAckReq*(a: var DDELN; fAckReq: int16)
proc unused*(a: var DDEPOKE): int16
proc set_unused*(a: var DDEPOKE; unused: int16)
proc fRelease*(a: var DDEPOKE): int16
proc set_fRelease*(a: var DDEPOKE; fRelease: int16)
proc fReserved*(a: var DDEPOKE): int16
proc set_fReserved*(a: var DDEPOKE; fReserved: int16)
proc unused*(a: var DDEUP): int16
proc set_unused*(a: var DDEUP; unused: int16)
proc fAck*(a: var DDEUP): int16
proc set_fAck*(a: var DDEUP; fAck: int16)
proc fRelease*(a: var DDEUP): int16
proc set_fRelease*(a: var DDEUP; fRelease: int16)
proc fReserved*(a: var DDEUP): int16
proc set_fReserved*(a: var DDEUP; fReserved: int16)
proc fAckReq*(a: var DDEUP): int16
proc set_fAckReq*(a: var DDEUP; fAckReq: int16)
proc GetBinaryTypeA*(lpApplicationName: LPCSTR; lpBinaryType: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetBinaryTypeA".}
proc GetShortPathNameA*(lpszLongPath: LPCSTR; lpszShortPath: LPSTR; 
                        cchBuffer: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc.}
proc GetEnvironmentStringsA*(): LPSTR {.stdcall, dynlib: "kernel32", importc.}
proc FreeEnvironmentStringsA*(para1: LPSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc.}
proc FormatMessageA*(dwFlags: DWORD; lpSource: LPCVOID; dwMessageId: DWORD; 
                     dwLanguageId: DWORD; lpBuffer: LPSTR; nSize: DWORD; 
                     Arguments: va_list): DWORD {.stdcall, dynlib: "kernel32", 
    importc.}
proc CreateMailslotA*(lpName: LPCSTR; nMaxMessageSize: DWORD; 
                      lReadTimeout: DWORD; 
                      lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE {.
    stdcall, dynlib: "kernel32", importc.}
proc lstrcmpA*(lpString1: LPCSTR; lpString2: LPCSTR): int32 {.stdcall, 
    dynlib: "kernel32", importc.}
proc lstrcmpiA*(lpString1: LPCSTR; lpString2: LPCSTR): int32 {.stdcall, 
    dynlib: "kernel32", importc.}
proc lstrcpynA*(lpString1: LPSTR; lpString2: LPCSTR; iMaxLength: int32): LPSTR {.
    stdcall, dynlib: "kernel32", importc.}
proc CreateMutexA*(lpMutexAttributes: LPSECURITY_ATTRIBUTES; 
                   bInitialOwner: WINBOOL; lpName: LPCSTR): HANDLE {.stdcall, 
    dynlib: "kernel32", importc.}
proc OpenMutexA*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; lpName: LPCSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc.}
proc CreateEventA*(lpEventAttributes: LPSECURITY_ATTRIBUTES; 
                   bManualReset: WINBOOL; bInitialState: WINBOOL; lpName: LPCSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc.}
proc OpenEventA*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; lpName: LPCSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc.}
proc CreateSemaphoreA*(lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES; 
                       lInitialCount: LONG; lMaximumCount: LONG; lpName: LPCSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc.}
proc OpenSemaphoreA*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; 
                     lpName: LPCSTR): HANDLE {.stdcall, dynlib: "kernel32", 
    importc.}
proc CreateFileMappingA*(hFile: HANDLE; 
                         lpFileMappingAttributes: LPSECURITY_ATTRIBUTES; 
                         flProtect: DWORD; dwMaximumSizeHigh: DWORD; 
                         dwMaximumSizeLow: DWORD; lpName: LPCSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc.}
proc OpenFileMappingA*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; 
                       lpName: LPCSTR): HANDLE {.stdcall, dynlib: "kernel32", 
    importc.}
proc GetLogicalDriveStringsA*(nBufferLength: DWORD; lpBuffer: LPSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc.}
proc LoadLibraryA*(lpLibFileName: LPCSTR): HINST {.stdcall, dynlib: "kernel32", 
    importc.}
proc LoadLibraryExA*(lpLibFileName: LPCSTR; hFile: HANDLE; dwFlags: DWORD): HINST {.
    stdcall, dynlib: "kernel32", importc.}
proc GetModuleFileNameA*(hModule: HINST; lpFilename: LPSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc.}
proc GetModuleHandleA*(lpModuleName: LPCSTR): HMODULE {.stdcall, 
    dynlib: "kernel32", importc.}
proc FatalAppExitA*(uAction: UINT; lpMessageText: LPCSTR) {.stdcall, 
    dynlib: "kernel32", importc.}
proc GetCommandLineA*(): LPSTR {.stdcall, dynlib: "kernel32", importc.}
proc GetEnvironmentVariableA*(lpName: LPCSTR; lpBuffer: LPSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc.}
proc SetEnvironmentVariableA*(lpName: LPCSTR; lpValue: LPCSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc.}
proc ExpandEnvironmentStringsA*(lpSrc: LPCSTR; lpDst: LPSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc.}
proc OutputDebugStringA*(lpOutputString: LPCSTR) {.stdcall, dynlib: "kernel32", 
    importc.}
proc FindResourceA*(hModule: HINST; lpName: LPCSTR; lpType: LPCSTR): HRSRC {.
    stdcall, dynlib: "kernel32", importc.}
proc FindResourceExA*(hModule: HINST; lpType: LPCSTR; lpName: LPCSTR; 
                      wLanguage: int16): HRSRC {.stdcall, dynlib: "kernel32", 
    importc.}
proc EnumResourceTypesA*(hModule: HINST; lpEnumFunc: ENUMRESTYPEPROC; 
                         lParam: LONG): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc.}
proc EnumResourceNamesA*(hModule: HINST; lpType: LPCSTR; 
                         lpEnumFunc: ENUMRESNAMEPROC; lParam: LONG): WINBOOL {.
    stdcall, dynlib: "kernel32", importc.}
proc EnumResourceLanguagesA*(hModule: HINST; lpType: LPCSTR; lpName: LPCSTR; 
                             lpEnumFunc: ENUMRESLANGPROC; lParam: LONG): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumResourceLanguagesA".}
proc BeginUpdateResourceA*(pFileName: LPCSTR; bDeleteExistingResources: WINBOOL): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "BeginUpdateResourceA".}
proc UpdateResourceA*(hUpdate: HANDLE; lpType: LPCSTR; lpName: LPCSTR; 
                      wLanguage: int16; lpData: LPVOID; cbData: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "UpdateResourceA".}
proc EndUpdateResourceA*(hUpdate: HANDLE; fDiscard: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "EndUpdateResourceA".}
proc GlobalAddAtomA*(lpString: LPCSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "GlobalAddAtomA".}
proc GlobalFindAtomA*(lpString: LPCSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "GlobalFindAtomA".}
proc GlobalGetAtomNameA*(nAtom: ATOM; lpBuffer: LPSTR; nSize: int32): UINT {.
    stdcall, dynlib: "kernel32", importc: "GlobalGetAtomNameA".}
proc AddAtomA*(lpString: LPCSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "AddAtomA".}
proc FindAtomA*(lpString: LPCSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "FindAtomA".}
proc GetAtomNameA*(nAtom: ATOM; lpBuffer: LPSTR; nSize: int32): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetAtomNameA".}
proc GetProfileIntA*(lpAppName: LPCSTR; lpKeyName: LPCSTR; nDefault: WINT): UINT {.
    stdcall, dynlib: "kernel32", importc: "GetProfileIntA".}
proc GetProfileStringA*(lpAppName: LPCSTR; lpKeyName: LPCSTR; lpDefault: LPCSTR; 
                        lpReturnedString: LPSTR; nSize: DWORD): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetProfileStringA".}
proc WriteProfileStringA*(lpAppName: LPCSTR; lpKeyName: LPCSTR; lpString: LPCSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteProfileStringA".}
proc GetProfileSectionA*(lpAppName: LPCSTR; lpReturnedString: LPSTR; 
                         nSize: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GetProfileSectionA".}
proc WriteProfileSectionA*(lpAppName: LPCSTR; lpString: LPCSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteProfileSectionA".}
proc GetPrivateProfileIntA*(lpAppName: LPCSTR; lpKeyName: LPCSTR; 
                            nDefault: WINT; lpFileName: LPCSTR): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetPrivateProfileIntA".}
proc GetPrivateProfileStringA*(lpAppName: LPCSTR; lpKeyName: LPCSTR; 
                               lpDefault: LPCSTR; lpReturnedString: LPSTR; 
                               nSize: DWORD; lpFileName: LPCSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStringA".}
proc WritePrivateProfileStringA*(lpAppName: LPCSTR; lpKeyName: LPCSTR; 
                                 lpString: LPCSTR; lpFileName: LPCSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStringA".}
proc GetPrivateProfileSectionA*(lpAppName: LPCSTR; lpReturnedString: LPSTR; 
                                nSize: DWORD; lpFileName: LPCSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetPrivateProfileSectionA".}
proc WritePrivateProfileSectionA*(lpAppName: LPCSTR; lpString: LPCSTR; 
                                  lpFileName: LPCSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WritePrivateProfileSectionA".}
proc GetDriveTypeA*(lpRootPathName: LPCSTR): UINT {.stdcall, dynlib: "kernel32", 
    importc: "GetDriveTypeA".}
proc GetSystemDirectoryA*(lpBuffer: LPSTR; uSize: UINT): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetSystemDirectoryA".}
proc GetTempPathA*(nBufferLength: DWORD; lpBuffer: LPSTR): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetTempPathA".}
proc GetTempFileNameA*(lpPathName: LPCSTR; lpPrefixString: LPCSTR; 
                       uUnique: UINT; lpTempFileName: LPSTR): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetTempFileNameA".}
proc GetWindowsDirectoryA*(lpBuffer: LPSTR; uSize: UINT): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetWindowsDirectoryA".}
proc SetCurrentDirectoryA*(lpPathName: LPCSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetCurrentDirectoryA".}
proc GetCurrentDirectoryA*(nBufferLength: DWORD; lpBuffer: LPSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetCurrentDirectoryA".}
proc GetDiskFreeSpaceA*(lpRootPathName: LPCSTR; lpSectorsPerCluster: LPDWORD; 
                        lpBytesPerSector: LPDWORD; 
                        lpNumberOfFreeClusters: LPDWORD; 
                        lpTotalNumberOfClusters: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetDiskFreeSpaceA".}
proc CreateDirectoryA*(lpPathName: LPCSTR; 
                       lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateDirectoryA".}
proc CreateDirectoryExA*(lpTemplateDirectory: LPCSTR; lpNewDirectory: LPCSTR; 
                         lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateDirectoryExA".}
proc RemoveDirectoryA*(lpPathName: LPCSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "RemoveDirectoryA".}
proc GetFullPathNameA*(lpFileName: LPCSTR; nBufferLength: DWORD; 
                       lpBuffer: LPSTR; lpFilePart: var LPSTR): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetFullPathNameA".}
proc DefineDosDeviceA*(dwFlags: DWORD; lpDeviceName: LPCSTR; 
                       lpTargetPath: LPCSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "DefineDosDeviceA".}
proc QueryDosDeviceA*(lpDeviceName: LPCSTR; lpTargetPath: LPSTR; ucchMax: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "QueryDosDeviceA".}
proc CreateFileA*(lpFileName: LPCSTR; dwDesiredAccess: DWORD; 
                  dwShareMode: DWORD; 
                  lpSecurityAttributes: LPSECURITY_ATTRIBUTES; 
                  dwCreationDisposition: DWORD; dwFlagsAndAttributes: DWORD; 
                  hTemplateFile: HANDLE): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "CreateFileA".}
proc SetFileAttributesA*(lpFileName: LPCSTR; dwFileAttributes: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetFileAttributesA".}
proc GetFileAttributesA*(lpFileName: LPCSTR): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetFileAttributesA".}
proc GetCompressedFileSizeA*(lpFileName: LPCSTR; lpFileSizeHigh: LPDWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetCompressedFileSizeA".}
proc DeleteFileA*(lpFileName: LPCSTR): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "DeleteFileA".}
proc SearchPathA*(lpPath: LPCSTR; lpFileName: LPCSTR; lpExtension: LPCSTR; 
                  nBufferLength: DWORD; lpBuffer: LPSTR; lpFilePart: LPSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "SearchPathA".}
proc CopyFileA*(lpExistingFileName: LPCSTR; lpNewFileName: LPCSTR; 
                bFailIfExists: WINBOOL): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "CopyFileA".}
proc MoveFileA*(lpExistingFileName: LPCSTR; lpNewFileName: LPCSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "MoveFileA".}
proc MoveFileExA*(lpExistingFileName: LPCSTR; lpNewFileName: LPCSTR; 
                  dwFlags: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "MoveFileExA".}
proc CreateNamedPipeA*(lpName: LPCSTR; dwOpenMode: DWORD; dwPipeMode: DWORD; 
                       nMaxInstances: DWORD; nOutBufferSize: DWORD; 
                       nInBufferSize: DWORD; nDefaultTimeOut: DWORD; 
                       lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateNamedPipeA".}
proc GetNamedPipeHandleStateA*(hNamedPipe: HANDLE; lpState: LPDWORD; 
                               lpCurInstances: LPDWORD; 
                               lpMaxCollectionCount: LPDWORD; 
                               lpCollectDataTimeout: LPDWORD; lpUserName: LPSTR; 
                               nMaxUserNameSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetNamedPipeHandleStateA".}
proc CallNamedPipeA*(lpNamedPipeName: LPCSTR; lpInBuffer: LPVOID; 
                     nInBufferSize: DWORD; lpOutBuffer: LPVOID; 
                     nOutBufferSize: DWORD; lpBytesRead: LPDWORD; 
                     nTimeOut: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "CallNamedPipeA".}
proc WaitNamedPipeA*(lpNamedPipeName: LPCSTR; nTimeOut: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WaitNamedPipeA".}
proc SetVolumeLabelA*(lpRootPathName: LPCSTR; lpVolumeName: LPCSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetVolumeLabelA".}
proc GetVolumeInformationA*(lpRootPathName: LPCSTR; lpVolumeNameBuffer: LPSTR; 
                            nVolumeNameSize: DWORD; 
                            lpVolumeSerialNumber: LPDWORD; 
                            lpMaximumComponentLength: LPDWORD; 
                            lpFileSystemFlags: LPDWORD; 
                            lpFileSystemNameBuffer: LPSTR; 
                            nFileSystemNameSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVolumeInformationA".}
proc ClearEventLogA*(hEventLog: HANDLE; lpBackupFileName: LPCSTR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ClearEventLogA".}
proc BackupEventLogA*(hEventLog: HANDLE; lpBackupFileName: LPCSTR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "BackupEventLogA".}
proc OpenEventLogA*(lpUNCServerName: LPCSTR; lpSourceName: LPCSTR): HANDLE {.
    stdcall, dynlib: "advapi32", importc: "OpenEventLogA".}
proc RegisterEventSourceA*(lpUNCServerName: LPCSTR; lpSourceName: LPCSTR): HANDLE {.
    stdcall, dynlib: "advapi32", importc: "RegisterEventSourceA".}
proc OpenBackupEventLogA*(lpUNCServerName: LPCSTR; lpFileName: LPCSTR): HANDLE {.
    stdcall, dynlib: "advapi32", importc: "OpenBackupEventLogA".}
proc ReadEventLogA*(hEventLog: HANDLE; dwReadFlags: DWORD; 
                    dwRecordOffset: DWORD; lpBuffer: LPVOID; 
                    nNumberOfBytesToRead: DWORD; pnBytesRead: LPDWORD; 
                    pnMinNumberOfBytesNeeded: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ReadEventLogA".}
proc ReportEventA*(hEventLog: HANDLE; wType: int16; wCategory: int16; 
                   dwEventID: DWORD; lpUserSid: PSID; wNumStrings: int16; 
                   dwDataSize: DWORD; lpStrings: LPPCSTR; lpRawData: LPVOID): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ReportEventA".}
proc AccessCheckAndAuditAlarmA*(SubsystemName: LPCSTR; HandleId: LPVOID; 
                                ObjectTypeName: LPSTR; ObjectName: LPSTR; 
                                SecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                DesiredAccess: DWORD; 
                                GenericMapping: PGENERIC_MAPPING; 
                                ObjectCreation: WINBOOL; GrantedAccess: LPDWORD; 
                                AccessStatus: LPBOOL; pfGenerateOnClose: LPBOOL): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "AccessCheckAndAuditAlarmA".}
proc ObjectOpenAuditAlarmA*(SubsystemName: LPCSTR; HandleId: LPVOID; 
                            ObjectTypeName: LPSTR; ObjectName: LPSTR; 
                            pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                            ClientToken: HANDLE; DesiredAccess: DWORD; 
                            GrantedAccess: DWORD; Privileges: PPRIVILEGE_SET; 
                            ObjectCreation: WINBOOL; AccessGranted: WINBOOL; 
                            GenerateOnClose: LPBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectOpenAuditAlarmA".}
proc ObjectPrivilegeAuditAlarmA*(SubsystemName: LPCSTR; HandleId: LPVOID; 
                                 ClientToken: HANDLE; DesiredAccess: DWORD; 
                                 Privileges: PPRIVILEGE_SET; 
                                 AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmA".}
proc ObjectCloseAuditAlarmA*(SubsystemName: LPCSTR; HandleId: LPVOID; 
                             GenerateOnClose: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectCloseAuditAlarmA".}
proc PrivilegedServiceAuditAlarmA*(SubsystemName: LPCSTR; ServiceName: LPCSTR; 
                                   ClientToken: HANDLE; 
                                   Privileges: PPRIVILEGE_SET; 
                                   AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmA".}
proc SetFileSecurityA*(lpFileName: LPCSTR; 
                       SecurityInformation: SECURITY_INFORMATION; 
                       pSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "SetFileSecurityA".}
proc GetFileSecurityA*(lpFileName: LPCSTR; 
                       RequestedInformation: SECURITY_INFORMATION; 
                       pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                       nLength: DWORD; lpnLengthNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetFileSecurityA".}
proc FindFirstChangeNotificationA*(lpPathName: LPCSTR; bWatchSubtree: WINBOOL; 
                                   dwNotifyFilter: DWORD): HANDLE {.stdcall, 
    dynlib: "kernel32", importc: "FindFirstChangeNotificationA".}
proc IsBadStringPtrA*(lpsz: LPCSTR; ucchMax: UINT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "IsBadStringPtrA".}
proc LookupAccountSidA*(lpSystemName: LPCSTR; Sid: PSID; Name: LPSTR; 
                        cbName: LPDWORD; ReferencedDomainName: LPSTR; 
                        cbReferencedDomainName: LPDWORD; peUse: PSID_NAME_USE): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupAccountSidA".}
proc LookupAccountNameA*(lpSystemName: LPCSTR; lpAccountName: LPCSTR; Sid: PSID; 
                         cbSid: LPDWORD; ReferencedDomainName: LPSTR; 
                         cbReferencedDomainName: LPDWORD; peUse: PSID_NAME_USE): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupAccountNameA".}
proc LookupPrivilegeValueA*(lpSystemName: LPCSTR; lpName: LPCSTR; lpLuid: PLUID): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupPrivilegeValueA".}
proc LookupPrivilegeNameA*(lpSystemName: LPCSTR; lpLuid: PLUID; lpName: LPSTR; 
                           cbName: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupPrivilegeNameA".}
proc LookupPrivilegeDisplayNameA*(lpSystemName: LPCSTR; lpName: LPCSTR; 
                                  lpDisplayName: LPSTR; cbDisplayName: LPDWORD; 
                                  lpLanguageId: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameA".}
proc BuildCommDCBA*(lpDef: LPCSTR; lpDCB: LPDCB): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "BuildCommDCBA".}
proc BuildCommDCBAndTimeoutsA*(lpDef: LPCSTR; lpDCB: LPDCB; 
                               lpCommTimeouts: LPCOMMTIMEOUTS): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsA".}
proc CommConfigDialogA*(lpszName: LPCSTR; wnd: HWND; lpCC: LPCOMMCONFIG): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CommConfigDialogA".}
proc GetDefaultCommConfigA*(lpszName: LPCSTR; lpCC: LPCOMMCONFIG; 
                            lpdwSize: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetDefaultCommConfigA".}
proc SetDefaultCommConfigA*(lpszName: LPCSTR; lpCC: LPCOMMCONFIG; dwSize: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetDefaultCommConfigA".}
proc GetComputerNameA*(lpBuffer: LPSTR; nSize: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetComputerNameA".}
proc SetComputerNameA*(lpComputerName: LPCSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetComputerNameA".}
proc GetUserNameA*(lpBuffer: LPSTR; nSize: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "GetUserNameA".}
proc LoadKeyboardLayoutA*(pwszKLID: LPCSTR; Flags: UINT): HKL {.stdcall, 
    dynlib: "user32", importc: "LoadKeyboardLayoutA".}
proc GetKeyboardLayoutNameA*(pwszKLID: LPSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetKeyboardLayoutNameA".}
proc CreateDesktopA*(lpszDesktop: LPSTR; lpszDevice: LPSTR; pDevmode: LPDEVMODE; 
                     dwFlags: DWORD; dwDesiredAccess: DWORD; 
                     lpsa: LPSECURITY_ATTRIBUTES): HDESK {.stdcall, 
    dynlib: "user32", importc: "CreateDesktopA".}
proc OpenDesktopA*(lpszDesktop: LPSTR; dwFlags: DWORD; fInherit: WINBOOL; 
                   dwDesiredAccess: DWORD): HDESK {.stdcall, dynlib: "user32", 
    importc: "OpenDesktopA".}
proc EnumDesktopsA*(hwinsta: HWINSTA; lpEnumFunc: DESKTOPENUMPROC; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnumDesktopsA".}
proc CreateWindowStationA*(lpwinsta: LPSTR; dwReserved: DWORD; 
                           dwDesiredAccess: DWORD; lpsa: LPSECURITY_ATTRIBUTES): HWINSTA {.
    stdcall, dynlib: "user32", importc: "CreateWindowStationA".}
proc OpenWindowStationA*(lpszWinSta: LPSTR; fInherit: WINBOOL; 
                         dwDesiredAccess: DWORD): HWINSTA {.stdcall, 
    dynlib: "user32", importc: "OpenWindowStationA".}
proc EnumWindowStationsA*(lpEnumFunc: ENUMWINDOWSTATIONPROC; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnumWindowStationsA".}
proc GetUserObjectInformationA*(hObj: HANDLE; nIndex: int32; pvInfo: PVOID; 
                                nLength: DWORD; lpnLengthNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetUserObjectInformationA".}
proc SetUserObjectInformationA*(hObj: HANDLE; nIndex: int32; pvInfo: PVOID; 
                                nLength: DWORD): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetUserObjectInformationA".}
proc RegisterWindowMessageA*(lpString: LPCSTR): UINT {.stdcall, 
    dynlib: "user32", importc: "RegisterWindowMessageA".}
proc GetMessageA*(lpMsg: LPMSG; wnd: HWND; wMsgFilterMin: UINT; 
                  wMsgFilterMax: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetMessageA".}
proc DispatchMessageA*(lpMsg: LPMSG): LONG {.stdcall, dynlib: "user32", 
    importc: "DispatchMessageA".}
proc PeekMessageA*(lpMsg: LPMSG; wnd: HWND; wMsgFilterMin: UINT; 
                   wMsgFilterMax: UINT; wRemoveMsg: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "PeekMessageA".}
proc SendMessageA*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "SendMessageA".}
proc SendMessageTimeoutA*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM; 
                          fuFlags: UINT; uTimeout: UINT; lpdwResult: LPDWORD): LRESULT {.
    stdcall, dynlib: "user32", importc: "SendMessageTimeoutA".}
proc SendNotifyMessageA*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SendNotifyMessageA".}
proc SendMessageCallbackA*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM; 
                           lpResultCallBack: SENDASYNCPROC; dwData: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SendMessageCallbackA".}
proc PostMessageA*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "PostMessageA".}
proc PostThreadMessageA*(idThread: DWORD; Msg: UINT; wp: WPARAM; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "PostThreadMessageA".}
proc DefWindowProcA*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "DefWindowProcA".}
proc CallWindowProcA*(lpPrevWndFunc: WNDPROC; wnd: HWND; Msg: UINT; wp: WPARAM; 
                      lp: LPARAM): LRESULT {.stdcall, dynlib: "user32", 
    importc: "CallWindowProcA".}
proc RegisterClassA*(lpWndClass: LPWNDCLASS): ATOM {.stdcall, dynlib: "user32", 
    importc: "RegisterClassA".}
proc UnregisterClassA*(lpClassName: LPCSTR; hInstance: HINST): WINBOOL {.
    stdcall, dynlib: "user32", importc: "UnregisterClassA".}
proc GetClassInfoA*(hInstance: HINST; lpClassName: LPCSTR; 
                    lpWndClass: LPWNDCLASS): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetClassInfoA".}
proc RegisterClassExA*(para1: LPWNDCLASSEX): ATOM {.stdcall, dynlib: "user32", 
    importc: "RegisterClassExA".}
proc GetClassInfoExA*(para1: HINST; para2: LPCSTR; para3: LPWNDCLASSEX): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetClassInfoExA".}
proc CreateWindowExA*(dwExStyle: DWORD; lpClassName: LPCSTR; 
                      lpWindowName: LPCSTR; dwStyle: DWORD; X: int32; Y: int32; 
                      nWidth: int32; nHeight: int32; hWndParent: HWND; 
                      menu: HMENU; hInstance: HINST; lpParam: LPVOID): HWND {.
    stdcall, dynlib: "user32", importc: "CreateWindowExA".}
proc CreateDialogParamA*(hInstance: HINST; lpTemplateName: LPCSTR; 
                         hWndParent: HWND; lpDialogFunc: DLGPROC; 
                         dwInitParam: LPARAM): HWND {.stdcall, dynlib: "user32", 
    importc: "CreateDialogParamA".}
proc CreateDialogIndirectParamA*(hInstance: HINST; lpTemplate: LPCDLGTEMPLATE; 
                                 hWndParent: HWND; lpDialogFunc: DLGPROC; 
                                 dwInitParam: LPARAM): HWND {.stdcall, 
    dynlib: "user32", importc: "CreateDialogIndirectParamA".}
proc DialogBoxParamA*(hInstance: HINST; lpTemplateName: LPCSTR; 
                      hWndParent: HWND; lpDialogFunc: DLGPROC; 
                      dwInitParam: LPARAM): int32 {.stdcall, dynlib: "user32", 
    importc: "DialogBoxParamA".}
proc DialogBoxIndirectParamA*(hInstance: HINST; hDialogTemplate: LPCDLGTEMPLATE; 
                              hWndParent: HWND; lpDialogFunc: DLGPROC; 
                              dwInitParam: LPARAM): int32 {.stdcall, 
    dynlib: "user32", importc: "DialogBoxIndirectParamA".}
proc SetDlgItemTextA*(hDlg: HWND; nIDDlgItem: int32; lpString: LPCSTR): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetDlgItemTextA".}
proc GetDlgItemTextA*(hDlg: HWND; nIDDlgItem: int32; lpString: LPSTR; 
                      nMaxCount: int32): UINT {.stdcall, dynlib: "user32", 
    importc: "GetDlgItemTextA".}
proc SendDlgItemMessageA*(hDlg: HWND; nIDDlgItem: int32; Msg: UINT; wp: WPARAM; 
                          lp: LPARAM): LONG {.stdcall, dynlib: "user32", 
    importc: "SendDlgItemMessageA".}
proc DefDlgProcA*(hDlg: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "DefDlgProcA".}
proc CallMsgFilterA*(lpMsg: LPMSG; nCode: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CallMsgFilterA".}
proc RegisterClipboardFormatA*(lpszFormat: LPCSTR): UINT {.stdcall, 
    dynlib: "user32", importc: "RegisterClipboardFormatA".}
proc GetClipboardFormatNameA*(format: UINT; lpszFormatName: LPSTR; 
                              cchMaxCount: int32): int32 {.stdcall, 
    dynlib: "user32", importc: "GetClipboardFormatNameA".}
proc CharToOemA*(lpszSrc: LPCSTR; lpszDst: LPSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CharToOemA".}
proc OemToCharA*(lpszSrc: LPCSTR; lpszDst: LPSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "OemToCharA".}
proc CharToOemBuffA*(lpszSrc: LPCSTR; lpszDst: LPSTR; cchDstLength: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "CharToOemBuffA".}
proc OemToCharBuffA*(lpszSrc: LPCSTR; lpszDst: LPSTR; cchDstLength: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "OemToCharBuffA".}
proc CharUpperA*(lpsz: LPSTR): LPSTR {.stdcall, dynlib: "user32", 
                                       importc: "CharUpperA".}
proc CharUpperBuffA*(lpsz: LPSTR; cchLength: DWORD): DWORD {.stdcall, 
    dynlib: "user32", importc: "CharUpperBuffA".}
proc CharLowerA*(lpsz: LPSTR): LPSTR {.stdcall, dynlib: "user32", 
                                       importc: "CharLowerA".}
proc CharLowerBuffA*(lpsz: LPSTR; cchLength: DWORD): DWORD {.stdcall, 
    dynlib: "user32", importc: "CharLowerBuffA".}
proc CharNextA*(lpsz: LPCSTR): LPSTR {.stdcall, dynlib: "user32", 
                                       importc: "CharNextA".}
proc CharPrevA*(lpszStart: LPCSTR; lpszCurrent: LPCSTR): LPSTR {.stdcall, 
    dynlib: "user32", importc: "CharPrevA".}
proc IsCharAlphaA*(ch: CHAR): WINBOOL {.stdcall, dynlib: "user32", 
                                        importc: "IsCharAlphaA".}
proc IsCharAlphaNumericA*(ch: CHAR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsCharAlphaNumericA".}
proc IsCharUpperA*(ch: CHAR): WINBOOL {.stdcall, dynlib: "user32", 
                                        importc: "IsCharUpperA".}
proc IsCharLowerA*(ch: CHAR): WINBOOL {.stdcall, dynlib: "user32", 
                                        importc: "IsCharLowerA".}
proc GetKeyNameTextA*(lParam: LONG; lpString: LPSTR; nSize: int32): int32 {.
    stdcall, dynlib: "user32", importc: "GetKeyNameTextA".}
proc VkKeyScanA*(ch: CHAR): SHORT {.stdcall, dynlib: "user32", 
                                    importc: "VkKeyScanA".}
proc VkKeyScanExA*(ch: CHAR; dwhkl: HKL): SHORT {.stdcall, dynlib: "user32", 
    importc: "VkKeyScanExA".}
proc MapVirtualKeyA*(uCode: UINT; uMapType: UINT): UINT {.stdcall, 
    dynlib: "user32", importc: "MapVirtualKeyA".}
proc MapVirtualKeyExA*(uCode: UINT; uMapType: UINT; dwhkl: HKL): UINT {.stdcall, 
    dynlib: "user32", importc: "MapVirtualKeyExA".}
proc LoadAcceleratorsA*(hInstance: HINST; lpTableName: LPCSTR): HACCEL {.
    stdcall, dynlib: "user32", importc: "LoadAcceleratorsA".}
proc CreateAcceleratorTableA*(para1: LPACCEL; para2: int32): HACCEL {.stdcall, 
    dynlib: "user32", importc: "CreateAcceleratorTableA".}
proc CopyAcceleratorTableA*(hAccelSrc: HACCEL; lpAccelDst: LPACCEL; 
                            cAccelEntries: int32): int32 {.stdcall, 
    dynlib: "user32", importc: "CopyAcceleratorTableA".}
proc TranslateAcceleratorA*(wnd: HWND; hAccTable: HACCEL; lpMsg: LPMSG): int32 {.
    stdcall, dynlib: "user32", importc: "TranslateAcceleratorA".}
proc LoadMenuA*(hInstance: HINST; lpMenuName: LPCSTR): HMENU {.stdcall, 
    dynlib: "user32", importc: "LoadMenuA".}
proc LoadMenuIndirectA*(lpMenuTemplate: LPMENUTEMPLATE): HMENU {.stdcall, 
    dynlib: "user32", importc: "LoadMenuIndirectA".}
proc ChangeMenuA*(menu: HMENU; cmd: UINT; lpszNewItem: LPCSTR; cmdInsert: UINT; 
                  flags: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ChangeMenuA".}
proc GetMenuStringA*(menu: HMENU; uIDItem: UINT; lpString: LPSTR; 
                     nMaxCount: int32; uFlag: UINT): int32 {.stdcall, 
    dynlib: "user32", importc: "GetMenuStringA".}
proc InsertMenuA*(menu: HMENU; uPosition: UINT; uFlags: UINT; uIDNewItem: UINT; 
                  lpNewItem: LPCSTR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "InsertMenuA".}
proc AppendMenuA*(menu: HMENU; uFlags: UINT; uIDNewItem: UINT; lpNewItem: LPCSTR): WINBOOL {.
    stdcall, dynlib: "user32", importc: "AppendMenuA".}
proc ModifyMenuA*(hMnu: HMENU; uPosition: UINT; uFlags: UINT; uIDNewItem: UINT; 
                  lpNewItem: LPCSTR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ModifyMenuA".}
proc InsertMenuItemA*(para1: HMENU; para2: UINT; para3: WINBOOL; 
                      para4: LPCMENUITEMINFO): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "InsertMenuItemA".}
proc GetMenuItemInfoA*(para1: HMENU; para2: UINT; para3: WINBOOL; 
                       para4: LPMENUITEMINFO): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetMenuItemInfoA".}
proc SetMenuItemInfoA*(para1: HMENU; para2: UINT; para3: WINBOOL; 
                       para4: LPCMENUITEMINFO): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetMenuItemInfoA".}
proc DrawTextA*(hDC: HDC; lpString: LPCSTR; nCount: int32; lpRect: LPRECT; 
                uFormat: UINT): int32 {.stdcall, dynlib: "user32", 
                                        importc: "DrawTextA".}
proc DrawTextExA*(para1: HDC; para2: LPSTR; para3: int32; para4: LPRECT; 
                  para5: UINT; para6: LPDRAWTEXTPARAMS): int32 {.stdcall, 
    dynlib: "user32", importc: "DrawTextExA".}
proc GrayStringA*(hDC: HDC; hBrush: HBRUSH; lpOutputFunc: GRAYSTRINGPROC; 
                  lpData: LPARAM; nCount: int32; X: int32; Y: int32; 
                  nWidth: int32; nHeight: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GrayStringA".}
proc DrawStateA*(para1: HDC; para2: HBRUSH; para3: DRAWSTATEPROC; para4: LPARAM; 
                 para5: WPARAM; para6: int32; para7: int32; para8: int32; 
                 para9: int32; para10: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DrawStateA".}
proc TabbedTextOutA*(hDC: HDC; X: int32; Y: int32; lpString: LPCSTR; 
                     nCount: int32; nTabPositions: int32; 
                     lpnTabStopPositions: LPINT; nTabOrigin: int32): LONG {.
    stdcall, dynlib: "user32", importc: "TabbedTextOutA".}
proc GetTabbedTextExtentA*(hDC: HDC; lpString: LPCSTR; nCount: int32; 
                           nTabPositions: int32; lpnTabStopPositions: LPINT): DWORD {.
    stdcall, dynlib: "user32", importc: "GetTabbedTextExtentA".}
proc SetPropA*(wnd: HWND; lpString: LPCSTR; hData: HANDLE): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetPropA".}
proc GetPropA*(wnd: HWND; lpString: LPCSTR): HANDLE {.stdcall, dynlib: "user32", 
    importc: "GetPropA".}
proc RemovePropA*(wnd: HWND; lpString: LPCSTR): HANDLE {.stdcall, 
    dynlib: "user32", importc: "RemovePropA".}
proc EnumPropsExA*(wnd: HWND; lpEnumFunc: PROPENUMPROCEX; lp: LPARAM): int32 {.
    stdcall, dynlib: "user32", importc: "EnumPropsExA".}
proc EnumPropsA*(wnd: HWND; lpEnumFunc: PROPENUMPROC): int32 {.stdcall, 
    dynlib: "user32", importc: "EnumPropsA".}
proc SetWindowTextA*(wnd: HWND; lpString: LPCSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetWindowTextA".}
proc GetWindowTextA*(wnd: HWND; lpString: LPSTR; nMaxCount: int32): int32 {.
    stdcall, dynlib: "user32", importc: "GetWindowTextA".}
proc GetWindowTextLengthA*(wnd: HWND): int32 {.stdcall, dynlib: "user32", 
    importc: "GetWindowTextLengthA".}
proc MessageBoxA*(wnd: HWND; lpText: LPCSTR; lpCaption: LPCSTR; uType: int): int32 {.
    stdcall, dynlib: "user32", importc: "MessageBoxA".}
proc MessageBoxExA*(wnd: HWND; lpText: LPCSTR; lpCaption: LPCSTR; uType: UINT; 
                    wLanguageId: int16): int32 {.stdcall, dynlib: "user32", 
    importc: "MessageBoxExA".}
proc MessageBoxIndirectA*(para1: LPMSGBOXPARAMS): int32 {.stdcall, 
    dynlib: "user32", importc: "MessageBoxIndirectA".}
proc GetWindowLongA*(wnd: HWND; nIndex: int32): LONG {.stdcall, 
    dynlib: "user32", importc: "GetWindowLongA".}
proc SetWindowLongA*(wnd: HWND; nIndex: int32; dwNewLong: LONG): LONG {.stdcall, 
    dynlib: "user32", importc: "SetWindowLongA".}
proc GetClassLongA*(wnd: HWND; nIndex: int32): DWORD {.stdcall, 
    dynlib: "user32", importc: "GetClassLongA".}
proc SetClassLongA*(wnd: HWND; nIndex: int32; dwNewLong: LONG): DWORD {.stdcall, 
    dynlib: "user32", importc: "SetClassLongA".}
proc GetWindowLongPtrA*(wnd: HWND; nIndex: int32): LONG_PTR {.stdcall, 
    dynlib: "user32", importc: "GetWindowLongPtrA".}
proc SetWindowLongPtrA*(wnd: HWND; nIndex: int32; dwNewLong: LONG_PTR): LONG_PTR {.
    stdcall, dynlib: "user32", importc: "SetWindowLongPtrA".}
proc GetClassLongPtrA*(wnd: HWND; nIndex: int32): LONG_PTR {.stdcall, 
    dynlib: "user32", importc: "GetClassLongPtrA".}
proc SetClassLongPtrA*(wnd: HWND; nIndex: int32; dwNewLong: LONG_PTR): LONG_PTR {.
    stdcall, dynlib: "user32", importc: "SetClassLongPtrA".}
proc FindWindowA*(lpClassName: LPCSTR; lpWindowName: LPCSTR): HWND {.stdcall, 
    dynlib: "user32", importc: "FindWindowA".}
proc FindWindowExA*(para1: HWND; para2: HWND; para3: LPCSTR; para4: LPCSTR): HWND {.
    stdcall, dynlib: "user32", importc: "FindWindowExA".}
proc GetClassNameA*(wnd: HWND; lpClassName: LPSTR; nMaxCount: int32): int32 {.
    stdcall, dynlib: "user32", importc: "GetClassNameA".}
proc SetWindowsHookExA*(idHook: int32; lpfn: HOOKPROC; hmod: HINST; 
                        dwThreadId: DWORD): HHOOK {.stdcall, dynlib: "user32", 
    importc: "SetWindowsHookExA".}
proc LoadBitmapA*(hInstance: HINST; lpBitmapName: LPCSTR): HBITMAP {.stdcall, 
    dynlib: "user32", importc: "LoadBitmapA".}
proc LoadCursorA*(hInstance: HINST; lpCursorName: LPCSTR): HCURSOR {.stdcall, 
    dynlib: "user32", importc: "LoadCursorA".}
proc LoadCursorFromFileA*(lpFileName: LPCSTR): HCURSOR {.stdcall, 
    dynlib: "user32", importc: "LoadCursorFromFileA".}
proc LoadIconA*(hInstance: HINST; lpIconName: LPCSTR): HICON {.stdcall, 
    dynlib: "user32", importc: "LoadIconA".}
proc LoadImageA*(para1: HINST; para2: LPCSTR; para3: UINT; para4: int32; 
                 para5: int32; para6: UINT): HANDLE {.stdcall, dynlib: "user32", 
    importc: "LoadImageA".}
proc LoadStringA*(hInstance: HINST; uID: UINT; lpBuffer: LPSTR; 
                  nBufferMax: int32): int32 {.stdcall, dynlib: "user32", 
    importc: "LoadStringA".}
proc IsDialogMessageA*(hDlg: HWND; lpMsg: LPMSG): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "IsDialogMessageA".}
proc DlgDirListA*(hDlg: HWND; lpPathSpec: LPSTR; nIDListBox: int32; 
                  nIDStaticPath: int32; uFileType: UINT): int32 {.stdcall, 
    dynlib: "user32", importc: "DlgDirListA".}
proc DlgDirSelectExA*(hDlg: HWND; lpString: LPSTR; nCount: int32; 
                      nIDListBox: int32): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DlgDirSelectExA".}
proc DlgDirListComboBoxA*(hDlg: HWND; lpPathSpec: LPSTR; nIDComboBox: int32; 
                          nIDStaticPath: int32; uFiletype: UINT): int32 {.
    stdcall, dynlib: "user32", importc: "DlgDirListComboBoxA".}
proc DlgDirSelectComboBoxExA*(hDlg: HWND; lpString: LPSTR; nCount: int32; 
                              nIDComboBox: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DlgDirSelectComboBoxExA".}
proc DefFrameProcA*(wnd: HWND; hWndMDIClient: HWND; uMsg: UINT; wp: WPARAM; 
                    lp: LPARAM): LRESULT {.stdcall, dynlib: "user32", 
    importc: "DefFrameProcA".}
proc DefMDIChildProcA*(wnd: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "DefMDIChildProcA".}
proc CreateMDIWindowA*(lpClassName: LPSTR; lpWindowName: LPSTR; dwStyle: DWORD; 
                       X: int32; Y: int32; nWidth: int32; nHeight: int32; 
                       hWndParent: HWND; hInstance: HINST; lp: LPARAM): HWND {.
    stdcall, dynlib: "user32", importc: "CreateMDIWindowA".}
proc WinHelpA*(hWndMain: HWND; lpszHelp: LPCSTR; uCommand: UINT; dwData: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "WinHelpA".}
proc ChangeDisplaySettingsA*(lpDevMode: LPDEVMODE; dwFlags: DWORD): LONG {.
    stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsA".}
proc EnumDisplaySettingsA*(lpszDeviceName: LPCSTR; iModeNum: DWORD; 
                           lpDevMode: LPDEVMODE): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EnumDisplaySettingsA".}
proc SystemParametersInfoA*(uiAction: UINT; uiParam: UINT; pvParam: PVOID; 
                            fWinIni: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SystemParametersInfoA".}
proc AddFontResourceA*(para1: LPCSTR): int32 {.stdcall, dynlib: "gdi32", 
    importc: "AddFontResourceA".}
proc CopyMetaFileA*(para1: HMETAFILE; para2: LPCSTR): HMETAFILE {.stdcall, 
    dynlib: "gdi32", importc: "CopyMetaFileA".}
proc CreateFontA*(para1: int32; para2: int32; para3: int32; para4: int32; 
                  para5: int32; para6: DWORD; para7: DWORD; para8: DWORD; 
                  para9: DWORD; para10: DWORD; para11: DWORD; para12: DWORD; 
                  para13: DWORD; para14: LPCSTR): HFONT {.stdcall, 
    dynlib: "gdi32", importc: "CreateFontA".}
proc CreateFontIndirectA*(para1: LPLOGFONT): HFONT {.stdcall, dynlib: "gdi32", 
    importc: "CreateFontIndirectA".}
proc CreateFontIndirectA*(para1: var LOGFONT): HFONT {.stdcall, dynlib: "gdi32", 
    importc: "CreateFontIndirectA".}
proc CreateICA*(para1: LPCSTR; para2: LPCSTR; para3: LPCSTR; para4: LPDEVMODE): HDC {.
    stdcall, dynlib: "gdi32", importc: "CreateICA".}
proc CreateMetaFileA*(para1: LPCSTR): HDC {.stdcall, dynlib: "gdi32", 
    importc: "CreateMetaFileA".}
proc CreateScalableFontResourceA*(para1: DWORD; para2: LPCSTR; para3: LPCSTR; 
                                  para4: LPCSTR): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "CreateScalableFontResourceA".}
proc EnumFontFamiliesExA*(para1: HDC; para2: LPLOGFONT; para3: FONTENUMEXPROC; 
                          para4: LPARAM; para5: DWORD): int32 {.stdcall, 
    dynlib: "gdi32", importc: "EnumFontFamiliesExA".}
proc EnumFontFamiliesA*(para1: HDC; para2: LPCSTR; para3: FONTENUMPROC; 
                        para4: LPARAM): int32 {.stdcall, dynlib: "gdi32", 
    importc: "EnumFontFamiliesA".}
proc EnumFontsA*(para1: HDC; para2: LPCSTR; para3: ENUMFONTSPROC; para4: LPARAM): int32 {.
    stdcall, dynlib: "gdi32", importc: "EnumFontsA".}
proc EnumFontsA*(para1: HDC; para2: LPCSTR; para3: ENUMFONTSPROC; para4: pointer): int32 {.
    stdcall, dynlib: "gdi32", importc: "EnumFontsA".}
proc GetCharWidthA*(para1: HDC; para2: UINT; para3: UINT; para4: LPINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidthA".}
proc GetCharWidth32A*(para1: HDC; para2: UINT; para3: UINT; para4: LPINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidth32A".}
proc GetCharWidthFloatA*(para1: HDC; para2: UINT; para3: UINT; 
                         para4: ptr float32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetCharWidthFloatA".}
proc GetCharABCWidthsA*(para1: HDC; para2: UINT; para3: UINT; para4: LPABC): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsA".}
proc GetCharABCWidthsFloatA*(para1: HDC; para2: UINT; para3: UINT; 
                             para4: LPABCFLOAT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetCharABCWidthsFloatA".}
proc GetGlyphOutlineA*(para1: HDC; para2: UINT; para3: UINT; 
                       para4: LPGLYPHMETRICS; para5: DWORD; para6: LPVOID; 
                       para7: PMAT2): DWORD {.stdcall, dynlib: "gdi32", 
    importc: "GetGlyphOutlineA".}
proc GetMetaFileA*(para1: LPCSTR): HMETAFILE {.stdcall, dynlib: "gdi32", 
    importc: "GetMetaFileA".}
proc GetOutlineTextMetricsA*(para1: HDC; para2: UINT; para3: LPOUTLINETEXTMETRIC): UINT {.
    stdcall, dynlib: "gdi32", importc: "GetOutlineTextMetricsA".}
proc GetTextExtentPointA*(para1: HDC; para2: LPCSTR; para3: int32; para4: LPSIZE): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetTextExtentPointA".}
proc GetTextExtentPoint32A*(para1: HDC; para2: LPCSTR; para3: int32; 
                            para4: LPSIZE): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetTextExtentPoint32A".}
proc GetTextExtentExPointA*(para1: HDC; para2: LPCSTR; para3: int32; 
                            para4: int32; para5: LPINT; para6: LPINT; 
                            para7: LPSIZE): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetTextExtentExPointA".}
proc GetCharacterPlacementA*(para1: HDC; para2: LPCSTR; para3: int32; 
                             para4: int32; para5: LPGCP_RESULTS; para6: DWORD): DWORD {.
    stdcall, dynlib: "gdi32", importc: "GetCharacterPlacementA".}
proc ResetDCA*(para1: HDC; para2: LPDEVMODE): HDC {.stdcall, dynlib: "gdi32", 
    importc: "ResetDCA".}
proc RemoveFontResourceA*(para1: LPCSTR): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "RemoveFontResourceA".}
proc CopyEnhMetaFileA*(para1: HENHMETAFILE; para2: LPCSTR): HENHMETAFILE {.
    stdcall, dynlib: "gdi32", importc: "CopyEnhMetaFileA".}
proc CreateEnhMetaFileA*(para1: HDC; para2: LPCSTR; para3: LPRECT; para4: LPCSTR): HDC {.
    stdcall, dynlib: "gdi32", importc: "CreateEnhMetaFileA".}
proc GetEnhMetaFileA*(para1: LPCSTR): HENHMETAFILE {.stdcall, dynlib: "gdi32", 
    importc: "GetEnhMetaFileA".}
proc GetEnhMetaFileDescriptionA*(para1: HENHMETAFILE; para2: UINT; para3: LPSTR): UINT {.
    stdcall, dynlib: "gdi32", importc: "GetEnhMetaFileDescriptionA".}
proc GetTextMetricsA*(para1: HDC; para2: LPTEXTMETRIC): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetTextMetricsA".}
proc StartDocA*(para1: HDC; para2: PDOCINFO): int32 {.stdcall, dynlib: "gdi32", 
    importc: "StartDocA".}
proc GetObjectA*(para1: HGDIOBJ; para2: int32; para3: LPVOID): int32 {.stdcall, 
    dynlib: "gdi32", importc: "GetObjectA".}
proc TextOutA*(para1: HDC; para2: int32; para3: int32; para4: LPCSTR; 
               para5: int32): WINBOOL {.stdcall, dynlib: "gdi32", 
                                        importc: "TextOutA".}
proc ExtTextOutA*(para1: HDC; para2: int32; para3: int32; para4: UINT; 
                  para5: LPRECT; para6: LPCSTR; para7: UINT; para8: LPINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "ExtTextOutA".}
proc PolyTextOutA*(para1: HDC; para2: PPOLYTEXT; para3: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyTextOutA".}
proc GetTextFaceA*(para1: HDC; para2: int32; para3: LPSTR): int32 {.stdcall, 
    dynlib: "gdi32", importc: "GetTextFaceA".}
proc GetKerningPairsA*(para1: HDC; para2: DWORD; para3: LPKERNINGPAIR): DWORD {.
    stdcall, dynlib: "gdi32", importc: "GetKerningPairsA".}
proc CreateColorSpaceA*(para1: LPLOGCOLORSPACE): HCOLORSPACE {.stdcall, 
    dynlib: "gdi32", importc: "CreateColorSpaceA".}
proc GetLogColorSpaceA*(para1: HCOLORSPACE; para2: LPLOGCOLORSPACE; para3: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetLogColorSpaceA".}
proc GetICMProfileA*(para1: HDC; para2: DWORD; para3: LPSTR): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetICMProfileA".}
proc SetICMProfileA*(para1: HDC; para2: LPSTR): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "SetICMProfileA".}
proc UpdateICMRegKeyA*(para1: DWORD; para2: DWORD; para3: LPSTR; para4: UINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "UpdateICMRegKeyA".}
proc EnumICMProfilesA*(para1: HDC; para2: ICMENUMPROC; para3: LPARAM): int32 {.
    stdcall, dynlib: "gdi32", importc: "EnumICMProfilesA".}
proc PropertySheetA*(lppsph: LPCPROPSHEETHEADER): int32 {.stdcall, 
    dynlib: "comctl32", importc: "PropertySheetA".}
proc ImageList_LoadImageA*(hi: HINST; lpbmp: LPCSTR; cx: int32; cGrow: int32; 
                           crMask: COLORREF; uType: UINT; uFlags: UINT): HIMAGELIST {.
    stdcall, dynlib: "comctl32", importc: "ImageList_LoadImageA".}
proc CreateStatusWindowA*(style: LONG; lpszText: LPCSTR; hwndParent: HWND; 
                          wID: UINT): HWND {.stdcall, dynlib: "comctl32", 
    importc: "CreateStatusWindowA".}
proc DrawStatusTextA*(hDC: HDC; lprc: LPRECT; pszText: LPCSTR; uFlags: UINT) {.
    stdcall, dynlib: "comctl32", importc: "DrawStatusTextA".}
proc GetOpenFileNameA*(para1: LPOPENFILENAME): WINBOOL {.stdcall, 
    dynlib: "comdlg32", importc: "GetOpenFileNameA".}
proc GetSaveFileNameA*(para1: LPOPENFILENAME): WINBOOL {.stdcall, 
    dynlib: "comdlg32", importc: "GetSaveFileNameA".}
proc GetFileTitleA*(para1: LPCSTR; para2: LPSTR; para3: int16): int {.stdcall, 
    dynlib: "comdlg32", importc: "GetFileTitleA".}
proc ChooseColorA*(para1: LPCHOOSECOLOR): WINBOOL {.stdcall, dynlib: "comdlg32", 
    importc: "ChooseColorA".}
proc FindTextA*(para1: LPFINDREPLACE): HWND {.stdcall, dynlib: "comdlg32", 
    importc: "FindTextA".}
proc ReplaceTextA*(para1: LPFINDREPLACE): HWND {.stdcall, dynlib: "comdlg32", 
    importc: "ReplaceTextA".}
proc ChooseFontA*(para1: LPCHOOSEFONT): WINBOOL {.stdcall, dynlib: "comdlg32", 
    importc: "ChooseFontA".}
proc PrintDlgA*(para1: LPPRINTDLG): WINBOOL {.stdcall, dynlib: "comdlg32", 
    importc: "PrintDlgA".}
proc PageSetupDlgA*(para1: LPPAGESETUPDLG): WINBOOL {.stdcall, 
    dynlib: "comdlg32", importc: "PageSetupDlgA".}
proc CreateProcessA*(lpApplicationName: LPCSTR; lpCommandLine: LPSTR; 
                     lpProcessAttributes: LPSECURITY_ATTRIBUTES; 
                     lpThreadAttributes: LPSECURITY_ATTRIBUTES; 
                     bInheritHandles: WINBOOL; dwCreationFlags: DWORD; 
                     lpEnvironment: LPVOID; lpCurrentDirectory: LPCSTR; 
                     lpStartupInfo: LPSTARTUPINFO; 
                     lpProcessInformation: LPPROCESS_INFORMATION): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateProcessA".}
proc GetStartupInfoA*(lpStartupInfo: LPSTARTUPINFO) {.stdcall, 
    dynlib: "kernel32", importc: "GetStartupInfoA".}
proc FindFirstFileA*(lpFileName: LPCSTR; lpFindFileData: LPWIN32_FIND_DATA): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "FindFirstFileA".}
proc FindNextFileA*(hFindFile: HANDLE; lpFindFileData: LPWIN32_FIND_DATA): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FindNextFileA".}
proc GetVersionExA*(VersionInformation: LPOSVERSIONINFO): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVersionExA".}
proc CreateWindowA*(lpClassName: LPCSTR; lpWindowName: LPCSTR; dwStyle: DWORD; 
                    X: int32; Y: int32; nWidth: int32; nHeight: int32; 
                    hWndParent: HWND; menu: HMENU; hInstance: HINST; 
                    lpParam: LPVOID): HWND
proc CreateDialogA*(hInstance: HINST; lpTemplateName: LPCSTR; hWndParent: HWND; 
                    lpDialogFunc: DLGPROC): HWND
proc CreateDialogIndirectA*(hInstance: HINST; lpTemplate: LPCDLGTEMPLATE; 
                            hWndParent: HWND; lpDialogFunc: DLGPROC): HWND
proc DialogBoxA*(hInstance: HINST; lpTemplateName: LPCSTR; hWndParent: HWND; 
                 lpDialogFunc: DLGPROC): int32
proc DialogBoxIndirectA*(hInstance: HINST; hDialogTemplate: LPCDLGTEMPLATE; 
                         hWndParent: HWND; lpDialogFunc: DLGPROC): int32
proc CreateDCA*(para1: LPCSTR; para2: LPCSTR; para3: LPCSTR; para4: pDEVMODE): HDC {.
    stdcall, dynlib: "gdi32", importc: "CreateDCA".}
proc VerInstallFileA*(uFlags: DWORD; szSrcFileName: LPSTR; 
                      szDestFileName: LPSTR; szSrcDir: LPSTR; szDestDir: LPSTR; 
                      szCurDir: LPSTR; szTmpFile: LPSTR; lpuTmpFileLen: PUINT): DWORD {.
    stdcall, dynlib: "version", importc: "VerInstallFileA".}
proc GetFileVersionInfoSizeA*(lptstrFilename: LPSTR; lpdwHandle: LPDWORD): DWORD {.
    stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeA".}
proc GetFileVersionInfoA*(lptstrFilename: LPSTR; dwHandle: DWORD; dwLen: DWORD; 
                          lpData: LPVOID): WINBOOL {.stdcall, dynlib: "version", 
    importc: "GetFileVersionInfoA".}
proc VerLanguageNameA*(wLang: DWORD; szLang: LPSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "VerLanguageNameA".}
proc VerQueryValueA*(pBlock: LPVOID; lpSubBlock: LPSTR; lplpBuffer: LPVOID; 
                     puLen: PUINT): WINBOOL {.stdcall, dynlib: "version", 
    importc: "VerQueryValueA".}
proc VerFindFileA*(uFlags: DWORD; szFileName: LPSTR; szWinDir: LPSTR; 
                   szAppDir: LPSTR; szCurDir: LPSTR; lpuCurDirLen: PUINT; 
                   szDestDir: LPSTR; lpuDestDirLen: PUINT): DWORD {.stdcall, 
    dynlib: "version", importc: "VerFindFileA".}
proc RegConnectRegistryA*(lpMachineName: LPSTR; key: HKEY; phkResult: PHKEY): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegConnectRegistryA".}
proc RegCreateKeyA*(key: HKEY; lpSubKey: LPCSTR; phkResult: PHKEY): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyA".}
proc RegCreateKeyExA*(key: HKEY; lpSubKey: LPCSTR; Reserved: DWORD; 
                      lpClass: LPSTR; dwOptions: DWORD; samDesired: REGSAM; 
                      lpSecurityAttributes: LPSECURITY_ATTRIBUTES; 
                      phkResult: PHKEY; lpdwDisposition: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyExA".}
proc RegDeleteKeyA*(key: HKEY; lpSubKey: LPCSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegDeleteKeyA".}
proc RegDeleteValueA*(key: HKEY; lpValueName: LPCSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegDeleteValueA".}
proc RegEnumKeyA*(key: HKEY; dwIndex: DWORD; lpName: LPSTR; cbName: DWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegEnumKeyA".}
proc RegEnumKeyExA*(key: HKEY; dwIndex: DWORD; lpName: LPSTR; lpcbName: LPDWORD; 
                    lpReserved: LPDWORD; lpClass: LPSTR; lpcbClass: LPDWORD; 
                    lpftLastWriteTime: PFILETIME): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegEnumKeyExA".}
proc RegEnumValueA*(key: HKEY; dwIndex: DWORD; lpValueName: LPSTR; 
                    lpcbValueName: LPDWORD; lpReserved: LPDWORD; 
                    lpType: LPDWORD; lpData: LPBYTE; lpcbData: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegEnumValueA".}
proc RegLoadKeyA*(key: HKEY; lpSubKey: LPCSTR; lpFile: LPCSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegLoadKeyA".}
proc RegOpenKeyA*(key: HKEY; lpSubKey: LPCSTR; phkResult: PHKEY): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegOpenKeyA".}
proc RegOpenKeyExA*(key: HKEY; lpSubKey: LPCSTR; ulOptions: DWORD; 
                    samDesired: REGSAM; phkResult: PHKEY): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegOpenKeyExA".}
proc RegQueryInfoKeyA*(key: HKEY; lpClass: LPSTR; lpcbClass: LPDWORD; 
                       lpReserved: LPDWORD; lpcSubKeys: LPDWORD; 
                       lpcbMaxSubKeyLen: LPDWORD; lpcbMaxClassLen: LPDWORD; 
                       lpcValues: LPDWORD; lpcbMaxValueNameLen: LPDWORD; 
                       lpcbMaxValueLen: LPDWORD; 
                       lpcbSecurityDescriptor: LPDWORD; 
                       lpftLastWriteTime: PFILETIME): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegQueryInfoKeyA".}
proc RegQueryValueA*(key: HKEY; lpSubKey: LPCSTR; lpValue: LPSTR; 
                     lpcbValue: PLONG): LONG {.stdcall, dynlib: "advapi32", 
    importc: "RegQueryValueA".}
proc RegQueryMultipleValuesA*(key: HKEY; val_list: PVALENT; num_vals: DWORD; 
                              lpValueBuf: LPSTR; ldwTotsize: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesA".}
proc RegQueryValueExA*(key: HKEY; lpValueName: LPCSTR; lpReserved: LPDWORD; 
                       lpType: LPDWORD; lpData: LPBYTE; lpcbData: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegQueryValueExA".}
proc RegReplaceKeyA*(key: HKEY; lpSubKey: LPCSTR; lpNewFile: LPCSTR; 
                     lpOldFile: LPCSTR): LONG {.stdcall, dynlib: "advapi32", 
    importc: "RegReplaceKeyA".}
proc RegRestoreKeyA*(key: HKEY; lpFile: LPCSTR; dwFlags: DWORD): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegRestoreKeyA".}
proc RegSaveKeyA*(key: HKEY; lpFile: LPCSTR; 
                  lpSecurityAttributes: LPSECURITY_ATTRIBUTES): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegSaveKeyA".}
proc RegSetValueA*(key: HKEY; lpSubKey: LPCSTR; dwType: DWORD; lpData: LPCSTR; 
                   cbData: DWORD): LONG {.stdcall, dynlib: "advapi32", 
    importc: "RegSetValueA".}
proc RegSetValueExA*(key: HKEY; lpValueName: LPCSTR; Reserved: DWORD; 
                     dwType: DWORD; lpData: LPBYTE; cbData: DWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegSetValueExA".}
proc RegUnLoadKeyA*(key: HKEY; lpSubKey: LPCSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegUnLoadKeyA".}
proc InitiateSystemShutdownA*(lpMachineName: LPSTR; lpMessage: LPSTR; 
                              dwTimeout: DWORD; bForceAppsClosed: WINBOOL; 
                              bRebootAfterShutdown: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "InitiateSystemShutdownA".}
proc AbortSystemShutdownA*(lpMachineName: LPSTR): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "AbortSystemShutdownA".}
proc CompareStringA*(Locale: LCID; dwCmpFlags: DWORD; lpString1: LPCSTR; 
                     cchCount1: int32; lpString2: LPCSTR; cchCount2: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "CompareStringA".}
proc LCMapStringA*(Locale: LCID; dwMapFlags: DWORD; lpSrcStr: LPCSTR; 
                   cchSrc: int32; lpDestStr: LPSTR; cchDest: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "LCMapStringA".}
proc GetLocaleInfoA*(Locale: LCID; LCType: LCTYPE; lpLCData: LPSTR; 
                     cchData: int32): int32 {.stdcall, dynlib: "kernel32", 
    importc: "GetLocaleInfoA".}
proc SetLocaleInfoA*(Locale: LCID; LCType: LCTYPE; lpLCData: LPCSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetLocaleInfoA".}
proc GetTimeFormatA*(Locale: LCID; dwFlags: DWORD; lpTime: LPSYSTEMTIME; 
                     lpFormat: LPCSTR; lpTimeStr: LPSTR; cchTime: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "GetTimeFormatA".}
proc GetDateFormatA*(Locale: LCID; dwFlags: DWORD; lpDate: LPSYSTEMTIME; 
                     lpFormat: LPCSTR; lpDateStr: LPSTR; cchDate: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "GetDateFormatA".}
proc GetNumberFormatA*(Locale: LCID; dwFlags: DWORD; lpValue: LPCSTR; 
                       lpFormat: PNUMBERFMT; lpNumberStr: LPSTR; 
                       cchNumber: int32): int32 {.stdcall, dynlib: "kernel32", 
    importc: "GetNumberFormatA".}
proc GetCurrencyFormatA*(Locale: LCID; dwFlags: DWORD; lpValue: LPCSTR; 
                         lpFormat: PCURRENCYFMT; lpCurrencyStr: LPSTR; 
                         cchCurrency: int32): int32 {.stdcall, 
    dynlib: "kernel32", importc: "GetCurrencyFormatA".}
proc EnumCalendarInfoA*(lpCalInfoEnumProc: CALINFO_ENUMPROC; Locale: LCID; 
                        Calendar: CALID; CalType: CALTYPE): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "EnumCalendarInfoA".}
proc EnumTimeFormatsA*(lpTimeFmtEnumProc: TIMEFMT_ENUMPROC; Locale: LCID; 
                       dwFlags: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "EnumTimeFormatsA".}
proc EnumDateFormatsA*(lpDateFmtEnumProc: DATEFMT_ENUMPROC; Locale: LCID; 
                       dwFlags: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "EnumDateFormatsA".}
proc GetStringTypeExA*(Locale: LCID; dwInfoType: DWORD; lpSrcStr: LPCSTR; 
                       cchSrc: int32; lpCharType: LPWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetStringTypeExA".}
proc GetStringTypeA*(Locale: LCID; dwInfoType: DWORD; lpSrcStr: LPCSTR; 
                     cchSrc: int32; lpCharType: LPWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetStringTypeA".}
proc FoldStringA*(dwMapFlags: DWORD; lpSrcStr: LPCSTR; cchSrc: int32; 
                  lpDestStr: LPSTR; cchDest: int32): int32 {.stdcall, 
    dynlib: "kernel32", importc: "FoldStringA".}
proc EnumSystemLocalesA*(lpLocaleEnumProc: LOCALE_ENUMPROC; dwFlags: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumSystemLocalesA".}
proc EnumSystemCodePagesA*(lpCodePageEnumProc: CODEPAGE_ENUMPROC; dwFlags: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumSystemCodePagesA".}
proc PeekConsoleInputA*(hConsoleInput: HANDLE; lpBuffer: PINPUTRECORD; 
                        nLength: DWORD; lpNumberOfEventsRead: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "PeekConsoleInputA".}
proc ReadConsoleInputA*(hConsoleInput: HANDLE; lpBuffer: PINPUTRECORD; 
                        nLength: DWORD; lpNumberOfEventsRead: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleInputA".}
proc WriteConsoleInputA*(hConsoleInput: HANDLE; lpBuffer: PINPUTRECORD; 
                         nLength: DWORD; lpNumberOfEventsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleInputA".}
proc ReadConsoleOutputA*(hConsoleOutput: HANDLE; lpBuffer: PCHAR_INFO; 
                         dwBufferSize: COORD; dwBufferCoord: COORD; 
                         lpReadRegion: PSMALL_RECT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ReadConsoleOutputA".}
proc WriteConsoleOutputA*(hConsoleOutput: HANDLE; lpBuffer: PCHAR_INFO; 
                          dwBufferSize: COORD; dwBufferCoord: COORD; 
                          lpWriteRegion: PSMALL_RECT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteConsoleOutputA".}
proc ReadConsoleOutputCharacterA*(hConsoleOutput: HANDLE; lpCharacter: LPSTR; 
                                  nLength: DWORD; dwReadCoord: COORD; 
                                  lpNumberOfCharsRead: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterA".}
proc WriteConsoleOutputCharacterA*(hConsoleOutput: HANDLE; lpCharacter: LPCSTR; 
                                   nLength: DWORD; dwWriteCoord: COORD; 
                                   lpNumberOfCharsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterA".}
proc FillConsoleOutputCharacterA*(hConsoleOutput: HANDLE; cCharacter: CHAR; 
                                  nLength: DWORD; dwWriteCoord: COORD; 
                                  lpNumberOfCharsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterA".}
proc ScrollConsoleScreenBufferA*(hConsoleOutput: HANDLE; 
                                 lpScrollRectangle: PSMALL_RECT; 
                                 lpClipRectangle: PSMALL_RECT; 
                                 dwDestinationOrigin: COORD; lpFill: PCHAR_INFO): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ScrollConsoleScreenBufferA".}
proc GetConsoleTitleA*(lpConsoleTitle: LPSTR; nSize: DWORD): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetConsoleTitleA".}
proc SetConsoleTitleA*(lpConsoleTitle: LPCSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetConsoleTitleA".}
proc ReadConsoleA*(hConsoleInput: HANDLE; lpBuffer: LPVOID; 
                   nNumberOfCharsToRead: DWORD; lpNumberOfCharsRead: LPDWORD; 
                   lpReserved: LPVOID): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "ReadConsoleA".}
proc WriteConsoleA*(hConsoleOutput: HANDLE; lpBuffer: pointer; 
                    nNumberOfCharsToWrite: DWORD; 
                    lpNumberOfCharsWritten: LPDWORD; lpReserved: LPVOID): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleA".}
proc WNetAddConnectionA*(lpRemoteName: LPCSTR; lpPassword: LPCSTR; 
                         lpLocalName: LPCSTR): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetAddConnectionA".}
proc WNetAddConnection2A*(lpNetResource: LPNETRESOURCE; lpPassword: LPCSTR; 
                          lpUserName: LPCSTR; dwFlags: DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetAddConnection2A".}
proc WNetAddConnection3A*(hwndOwner: HWND; lpNetResource: LPNETRESOURCE; 
                          lpPassword: LPCSTR; lpUserName: LPCSTR; dwFlags: DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetAddConnection3A".}
proc WNetCancelConnectionA*(lpName: LPCSTR; fForce: WINBOOL): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetCancelConnectionA".}
proc WNetCancelConnection2A*(lpName: LPCSTR; dwFlags: DWORD; fForce: WINBOOL): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetCancelConnection2A".}
proc WNetGetConnectionA*(lpLocalName: LPCSTR; lpRemoteName: LPSTR; 
                         lpnLength: LPDWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetConnectionA".}
proc WNetUseConnectionA*(hwndOwner: HWND; lpNetResource: LPNETRESOURCE; 
                         lpUserID: LPCSTR; lpPassword: LPCSTR; dwFlags: DWORD; 
                         lpAccessName: LPSTR; lpBufferSize: LPDWORD; 
                         lpResult: LPDWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetUseConnectionA".}
proc WNetSetConnectionA*(lpName: LPCSTR; dwProperties: DWORD; pvValues: LPVOID): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetSetConnectionA".}
proc WNetConnectionDialog1A*(lpConnDlgStruct: LPCONNECTDLGSTRUCT): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1A".}
proc WNetDisconnectDialog1A*(lpConnDlgStruct: LPDISCDLGSTRUCT): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetDisconnectDialog1A".}
proc WNetOpenEnumA*(dwScope: DWORD; dwType: DWORD; dwUsage: DWORD; 
                    lpNetResource: LPNETRESOURCE; lphEnum: LPHANDLE): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetOpenEnumA".}
proc WNetEnumResourceA*(hEnum: HANDLE; lpcCount: LPDWORD; lpBuffer: LPVOID; 
                        lpBufferSize: LPDWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetEnumResourceA".}
proc WNetGetUniversalNameA*(lpLocalPath: LPCSTR; dwInfoLevel: DWORD; 
                            lpBuffer: LPVOID; lpBufferSize: LPDWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameA".}
proc WNetGetUserA*(lpName: LPCSTR; lpUserName: LPSTR; lpnLength: LPDWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUserA".}
proc WNetGetProviderNameA*(dwNetType: DWORD; lpProviderName: LPSTR; 
                           lpBufferSize: LPDWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetGetProviderNameA".}
proc WNetGetNetworkInformationA*(lpProvider: LPCSTR; 
                                 lpNetInfoStruct: LPNETINFOSTRUCT): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationA".}
proc WNetGetLastErrorA*(lpError: LPDWORD; lpErrorBuf: LPSTR; 
                        nErrorBufSize: DWORD; lpNameBuf: LPSTR; 
                        nNameBufSize: DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetLastErrorA".}
proc MultinetGetConnectionPerformanceA*(lpNetResource: LPNETRESOURCE; 
    lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT): DWORD {.stdcall, 
    dynlib: "mpr", importc: "MultinetGetConnectionPerformanceA".}
proc ChangeServiceConfigA*(hService: SC_HANDLE; dwServiceType: DWORD; 
                           dwStartType: DWORD; dwErrorControl: DWORD; 
                           lpBinaryPathName: LPCSTR; lpLoadOrderGroup: LPCSTR; 
                           lpdwTagId: LPDWORD; lpDependencies: LPCSTR; 
                           lpServiceStartName: LPCSTR; lpPassword: LPCSTR; 
                           lpDisplayName: LPCSTR): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ChangeServiceConfigA".}
proc CreateServiceA*(hSCManager: SC_HANDLE; lpServiceName: LPCSTR; 
                     lpDisplayName: LPCSTR; dwDesiredAccess: DWORD; 
                     dwServiceType: DWORD; dwStartType: DWORD; 
                     dwErrorControl: DWORD; lpBinaryPathName: LPCSTR; 
                     lpLoadOrderGroup: LPCSTR; lpdwTagId: LPDWORD; 
                     lpDependencies: LPCSTR; lpServiceStartName: LPCSTR; 
                     lpPassword: LPCSTR): SC_HANDLE {.stdcall, 
    dynlib: "advapi32", importc: "CreateServiceA".}
proc EnumDependentServicesA*(hService: SC_HANDLE; dwServiceState: DWORD; 
                             lpServices: LPENUM_SERVICE_STATUS; 
                             cbBufSize: DWORD; pcbBytesNeeded: LPDWORD; 
                             lpServicesReturned: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "EnumDependentServicesA".}
proc EnumServicesStatusA*(hSCManager: SC_HANDLE; dwServiceType: DWORD; 
                          dwServiceState: DWORD; 
                          lpServices: LPENUM_SERVICE_STATUS; cbBufSize: DWORD; 
                          pcbBytesNeeded: LPDWORD; lpServicesReturned: LPDWORD; 
                          lpResumeHandle: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "EnumServicesStatusA".}
proc GetServiceKeyNameA*(hSCManager: SC_HANDLE; lpDisplayName: LPCSTR; 
                         lpServiceName: LPSTR; lpcchBuffer: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetServiceKeyNameA".}
proc GetServiceDisplayNameA*(hSCManager: SC_HANDLE; lpServiceName: LPCSTR; 
                             lpDisplayName: LPSTR; lpcchBuffer: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetServiceDisplayNameA".}
proc OpenSCManagerA*(lpMachineName: LPCSTR; lpDatabaseName: LPCSTR; 
                     dwDesiredAccess: DWORD): SC_HANDLE {.stdcall, 
    dynlib: "advapi32", importc: "OpenSCManagerA".}
proc OpenServiceA*(hSCManager: SC_HANDLE; lpServiceName: LPCSTR; 
                   dwDesiredAccess: DWORD): SC_HANDLE {.stdcall, 
    dynlib: "advapi32", importc: "OpenServiceA".}
proc QueryServiceConfigA*(hService: SC_HANDLE; 
                          lpServiceConfig: LPQUERY_SERVICE_CONFIG; 
                          cbBufSize: DWORD; pcbBytesNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "QueryServiceConfigA".}
proc QueryServiceLockStatusA*(hSCManager: SC_HANDLE; 
                              lpLockStatus: LPQUERY_SERVICE_LOCK_STATUS; 
                              cbBufSize: DWORD; pcbBytesNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "QueryServiceLockStatusA".}
proc RegisterServiceCtrlHandlerA*(lpServiceName: LPCSTR; 
                                  lpHandlerProc: LPHANDLER_FUNCTION): SERVICE_STATUS_HANDLE {.
    stdcall, dynlib: "advapi32", importc: "RegisterServiceCtrlHandlerA".}
proc StartServiceCtrlDispatcherA*(lpServiceStartTable: LPSERVICE_TABLE_ENTRY): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "StartServiceCtrlDispatcherA".}
proc StartServiceA*(hService: SC_HANDLE; dwNumServiceArgs: DWORD; 
                    lpServiceArgVectors: LPCSTR): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "StartServiceA".}
proc DragQueryFileA*(para1: HDROP; para2: int; para3: cstring; para4: int): int {.
    stdcall, dynlib: "shell32", importc: "DragQueryFileA".}
proc ExtractAssociatedIconA*(para1: HINST; para2: cstring; para3: LPWORD): HICON {.
    stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconA".}
proc ExtractIconA*(para1: HINST; para2: cstring; para3: int): HICON {.stdcall, 
    dynlib: "shell32", importc: "ExtractIconA".}
proc FindExecutableA*(para1: cstring; para2: cstring; para3: cstring): HINST {.
    stdcall, dynlib: "shell32", importc: "FindExecutableA".}
proc ShellAboutA*(para1: HWND; para2: cstring; para3: cstring; para4: HICON): int32 {.
    stdcall, dynlib: "shell32", importc: "ShellAboutA".}
proc ShellExecuteA*(para1: HWND; para2: cstring; para3: cstring; para4: cstring; 
                    para5: cstring; para6: int32): HINST {.stdcall, 
    dynlib: "shell32", importc: "ShellExecuteA".}
proc Shell_NotifyIconA*(dwMessage: DWORD; lpData: PNotifyIconDataA): WINBOOL {.
    stdcall, dynlib: "shell32", importc: "Shell_NotifyIconA".}
proc DdeCreateStringHandleA*(para1: DWORD; para2: cstring; para3: int32): HSZ {.
    stdcall, dynlib: "user32", importc: "DdeCreateStringHandleA".}
proc DdeInitializeA*(para1: LPDWORD; para2: PFNCALLBACK; para3: DWORD; 
                     para4: DWORD): UINT {.stdcall, dynlib: "user32", 
    importc: "DdeInitializeA".}
proc DdeQueryStringA*(para1: DWORD; para2: HSZ; para3: cstring; para4: DWORD; 
                      para5: int32): DWORD {.stdcall, dynlib: "user32", 
    importc: "DdeQueryStringA".}
proc LogonUserA*(para1: LPSTR; para2: LPSTR; para3: LPSTR; para4: DWORD; 
                 para5: DWORD; para6: PHANDLE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LogonUserA".}
proc CreateProcessAsUserA*(para1: HANDLE; para2: LPCTSTR; para3: LPTSTR; 
                           para4: LPSECURITY_ATTRIBUTES; 
                           para5: LPSECURITY_ATTRIBUTES; para6: WINBOOL; 
                           para7: DWORD; para8: LPVOID; para9: LPCTSTR; 
                           para10: LPSTARTUPINFO; para11: LPPROCESS_INFORMATION): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "CreateProcessAsUserA".}
proc GetBinaryTypeW*(lpApplicationName: LPCWSTR; lpBinaryType: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetBinaryTypeW".}
proc GetShortPathNameW*(lpszLongPath: LPCWSTR; lpszShortPath: LPWSTR; 
                        cchBuffer: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GetShortPathNameW".}
proc GetEnvironmentStringsW*(): LPWSTR {.stdcall, dynlib: "kernel32", 
    importc: "GetEnvironmentStringsW".}
proc FreeEnvironmentStringsW*(para1: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "FreeEnvironmentStringsW".}
proc FormatMessageW*(dwFlags: DWORD; lpSource: LPCVOID; dwMessageId: DWORD; 
                     dwLanguageId: DWORD; lpBuffer: LPWSTR; nSize: DWORD; 
                     Arguments: va_list): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "FormatMessageW".}
proc CreateMailslotW*(lpName: LPCWSTR; nMaxMessageSize: DWORD; 
                      lReadTimeout: DWORD; 
                      lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateMailslotW".}
proc lstrcmpW*(lpString1: LPCWSTR; lpString2: LPCWSTR): int32 {.stdcall, 
    dynlib: "kernel32", importc: "lstrcmpW".}
proc lstrcmpiW*(lpString1: LPCWSTR; lpString2: LPCWSTR): int32 {.stdcall, 
    dynlib: "kernel32", importc: "lstrcmpiW".}
proc lstrcpynW*(lpString1: LPWSTR; lpString2: LPCWSTR; iMaxLength: int32): LPWSTR {.
    stdcall, dynlib: "kernel32", importc: "lstrcpynW".}
proc lstrcpyW*(lpString1: LPWSTR; lpString2: LPCWSTR): LPWSTR {.stdcall, 
    dynlib: "kernel32", importc: "lstrcpyW".}
proc lstrcatW*(lpString1: LPWSTR; lpString2: LPCWSTR): LPWSTR {.stdcall, 
    dynlib: "kernel32", importc: "lstrcatW".}
proc lstrlenW*(lpString: LPCWSTR): int32 {.stdcall, dynlib: "kernel32", 
    importc: "lstrlenW".}
proc CreateMutexW*(lpMutexAttributes: LPSECURITY_ATTRIBUTES; 
                   bInitialOwner: WINBOOL; lpName: LPCWSTR): HANDLE {.stdcall, 
    dynlib: "kernel32", importc: "CreateMutexW".}
proc OpenMutexW*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; 
                 lpName: LPCWSTR): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "OpenMutexW".}
proc CreateEventW*(lpEventAttributes: LPSECURITY_ATTRIBUTES; 
                   bManualReset: WINBOOL; bInitialState: WINBOOL; 
                   lpName: LPCWSTR): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "CreateEventW".}
proc OpenEventW*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; 
                 lpName: LPCWSTR): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "OpenEventW".}
proc CreateSemaphoreW*(lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES; 
                       lInitialCount: LONG; lMaximumCount: LONG; lpName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateSemaphoreW".}
proc OpenSemaphoreW*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; 
                     lpName: LPCWSTR): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "OpenSemaphoreW".}
proc CreateFileMappingW*(hFile: HANDLE; 
                         lpFileMappingAttributes: LPSECURITY_ATTRIBUTES; 
                         flProtect: DWORD; dwMaximumSizeHigh: DWORD; 
                         dwMaximumSizeLow: DWORD; lpName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateFileMappingW".}
proc OpenFileMappingW*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; 
                       lpName: LPCWSTR): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "OpenFileMappingW".}
proc GetLogicalDriveStringsW*(nBufferLength: DWORD; lpBuffer: LPWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetLogicalDriveStringsW".}
proc LoadLibraryW*(lpLibFileName: LPCWSTR): HINST {.stdcall, dynlib: "kernel32", 
    importc: "LoadLibraryW".}
proc LoadLibraryExW*(lpLibFileName: LPCWSTR; hFile: HANDLE; dwFlags: DWORD): HINST {.
    stdcall, dynlib: "kernel32", importc: "LoadLibraryExW".}
proc GetModuleFileNameW*(hModule: HINST; lpFilename: LPWSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetModuleFileNameW".}
proc GetModuleHandleW*(lpModuleName: LPCWSTR): HMODULE {.stdcall, 
    dynlib: "kernel32", importc: "GetModuleHandleW".}
proc FatalAppExitW*(uAction: UINT; lpMessageText: LPCWSTR) {.stdcall, 
    dynlib: "kernel32", importc: "FatalAppExitW".}
proc GetCommandLineW*(): LPWSTR {.stdcall, dynlib: "kernel32", 
                                  importc: "GetCommandLineW".}
proc GetEnvironmentVariableW*(lpName: LPCWSTR; lpBuffer: LPWSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetEnvironmentVariableW".}
proc SetEnvironmentVariableW*(lpName: LPCWSTR; lpValue: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetEnvironmentVariableW".}
proc ExpandEnvironmentStringsW*(lpSrc: LPCWSTR; lpDst: LPWSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "ExpandEnvironmentStringsW".}
proc OutputDebugStringW*(lpOutputString: LPCWSTR) {.stdcall, dynlib: "kernel32", 
    importc: "OutputDebugStringW".}
proc FindResourceW*(hModule: HINST; lpName: LPCWSTR; lpType: LPCWSTR): HRSRC {.
    stdcall, dynlib: "kernel32", importc: "FindResourceW".}
proc FindResourceExW*(hModule: HINST; lpType: LPCWSTR; lpName: LPCWSTR; 
                      wLanguage: int16): HRSRC {.stdcall, dynlib: "kernel32", 
    importc: "FindResourceExW".}
proc EnumResourceTypesW*(hModule: HINST; lpEnumFunc: ENUMRESTYPEPROC; 
                         lParam: LONG): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "EnumResourceTypesW".}
proc EnumResourceNamesW*(hModule: HINST; lpType: LPCWSTR; 
                         lpEnumFunc: ENUMRESNAMEPROC; lParam: LONG): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumResourceNamesW".}
proc EnumResourceLanguagesW*(hModule: HINST; lpType: LPCWSTR; lpName: LPCWSTR; 
                             lpEnumFunc: ENUMRESLANGPROC; lParam: LONG): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumResourceLanguagesW".}
proc BeginUpdateResourceW*(pFileName: LPCWSTR; bDeleteExistingResources: WINBOOL): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "BeginUpdateResourceW".}
proc UpdateResourceW*(hUpdate: HANDLE; lpType: LPCWSTR; lpName: LPCWSTR; 
                      wLanguage: int16; lpData: LPVOID; cbData: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "UpdateResourceW".}
proc EndUpdateResourceW*(hUpdate: HANDLE; fDiscard: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "EndUpdateResourceW".}
proc GlobalAddAtomW*(lpString: LPCWSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "GlobalAddAtomW".}
proc GlobalFindAtomW*(lpString: LPCWSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "GlobalFindAtomW".}
proc GlobalGetAtomNameW*(nAtom: ATOM; lpBuffer: LPWSTR; nSize: int32): UINT {.
    stdcall, dynlib: "kernel32", importc: "GlobalGetAtomNameW".}
proc AddAtomW*(lpString: LPCWSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "AddAtomW".}
proc FindAtomW*(lpString: LPCWSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "FindAtomW".}
proc GetAtomNameW*(nAtom: ATOM; lpBuffer: LPWSTR; nSize: int32): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetAtomNameW".}
proc GetProfileIntW*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; nDefault: WINT): UINT {.
    stdcall, dynlib: "kernel32", importc: "GetProfileIntW".}
proc GetProfileStringW*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; 
                        lpDefault: LPCWSTR; lpReturnedString: LPWSTR; 
                        nSize: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GetProfileStringW".}
proc WriteProfileStringW*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; 
                          lpString: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteProfileStringW".}
proc GetProfileSectionW*(lpAppName: LPCWSTR; lpReturnedString: LPWSTR; 
                         nSize: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GetProfileSectionW".}
proc WriteProfileSectionW*(lpAppName: LPCWSTR; lpString: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteProfileSectionW".}
proc GetPrivateProfileIntW*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; 
                            nDefault: WINT; lpFileName: LPCWSTR): UINT {.
    stdcall, dynlib: "kernel32", importc: "GetPrivateProfileIntW".}
proc GetPrivateProfileStringW*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; 
                               lpDefault: LPCWSTR; lpReturnedString: LPWSTR; 
                               nSize: DWORD; lpFileName: LPCWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStringW".}
proc WritePrivateProfileStringW*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; 
                                 lpString: LPCWSTR; lpFileName: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStringW".}
proc GetPrivateProfileSectionW*(lpAppName: LPCWSTR; lpReturnedString: LPWSTR; 
                                nSize: DWORD; lpFileName: LPCWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetPrivateProfileSectionW".}
proc WritePrivateProfileSectionW*(lpAppName: LPCWSTR; lpString: LPCWSTR; 
                                  lpFileName: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WritePrivateProfileSectionW".}
proc GetDriveTypeW*(lpRootPathName: LPCWSTR): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetDriveTypeW".}
proc GetSystemDirectoryW*(lpBuffer: LPWSTR; uSize: UINT): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetSystemDirectoryW".}
proc GetTempPathW*(nBufferLength: DWORD; lpBuffer: LPWSTR): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetTempPathW".}
proc GetTempFileNameW*(lpPathName: LPCWSTR; lpPrefixString: LPCWSTR; 
                       uUnique: UINT; lpTempFileName: LPWSTR): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetTempFileNameW".}
proc GetWindowsDirectoryW*(lpBuffer: LPWSTR; uSize: UINT): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetWindowsDirectoryW".}
proc SetCurrentDirectoryW*(lpPathName: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetCurrentDirectoryW".}
proc GetCurrentDirectoryW*(nBufferLength: DWORD; lpBuffer: LPWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetCurrentDirectoryW".}
proc GetDiskFreeSpaceW*(lpRootPathName: LPCWSTR; lpSectorsPerCluster: LPDWORD; 
                        lpBytesPerSector: LPDWORD; 
                        lpNumberOfFreeClusters: LPDWORD; 
                        lpTotalNumberOfClusters: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetDiskFreeSpaceW".}
proc CreateDirectoryW*(lpPathName: LPCWSTR; 
                       lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateDirectoryW".}
proc CreateDirectoryExW*(lpTemplateDirectory: LPCWSTR; lpNewDirectory: LPCWSTR; 
                         lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateDirectoryExW".}
proc RemoveDirectoryW*(lpPathName: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "RemoveDirectoryW".}
proc GetFullPathNameW*(lpFileName: LPCWSTR; nBufferLength: DWORD; 
                       lpBuffer: LPWSTR; lpFilePart: var LPWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetFullPathNameW".}
proc DefineDosDeviceW*(dwFlags: DWORD; lpDeviceName: LPCWSTR; 
                       lpTargetPath: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "DefineDosDeviceW".}
proc QueryDosDeviceW*(lpDeviceName: LPCWSTR; lpTargetPath: LPWSTR; 
                      ucchMax: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "QueryDosDeviceW".}
proc CreateFileW*(lpFileName: LPCWSTR; dwDesiredAccess: DWORD; 
                  dwShareMode: DWORD; 
                  lpSecurityAttributes: LPSECURITY_ATTRIBUTES; 
                  dwCreationDisposition: DWORD; dwFlagsAndAttributes: DWORD; 
                  hTemplateFile: HANDLE): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "CreateFileW".}
proc SetFileAttributesW*(lpFileName: LPCWSTR; dwFileAttributes: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetFileAttributesW".}
proc GetFileAttributesW*(lpFileName: LPCWSTR): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetFileAttributesW".}
proc GetCompressedFileSizeW*(lpFileName: LPCWSTR; lpFileSizeHigh: LPDWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetCompressedFileSizeW".}
proc DeleteFileW*(lpFileName: LPCWSTR): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "DeleteFileW".}
proc SearchPathW*(lpPath: LPCWSTR; lpFileName: LPCWSTR; lpExtension: LPCWSTR; 
                  nBufferLength: DWORD; lpBuffer: LPWSTR; lpFilePart: LPWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "SearchPathW".}
proc CopyFileW*(lpExistingFileName: LPCWSTR; lpNewFileName: LPCWSTR; 
                bFailIfExists: WINBOOL): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "CopyFileW".}
proc MoveFileW*(lpExistingFileName: LPCWSTR; lpNewFileName: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "MoveFileW".}
proc MoveFileExW*(lpExistingFileName: LPCWSTR; lpNewFileName: LPCWSTR; 
                  dwFlags: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "MoveFileExW".}
proc CreateNamedPipeW*(lpName: LPCWSTR; dwOpenMode: DWORD; dwPipeMode: DWORD; 
                       nMaxInstances: DWORD; nOutBufferSize: DWORD; 
                       nInBufferSize: DWORD; nDefaultTimeOut: DWORD; 
                       lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateNamedPipeW".}
proc GetNamedPipeHandleStateW*(hNamedPipe: HANDLE; lpState: LPDWORD; 
                               lpCurInstances: LPDWORD; 
                               lpMaxCollectionCount: LPDWORD; 
                               lpCollectDataTimeout: LPDWORD; 
                               lpUserName: LPWSTR; nMaxUserNameSize: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetNamedPipeHandleStateW".}
proc CallNamedPipeW*(lpNamedPipeName: LPCWSTR; lpInBuffer: LPVOID; 
                     nInBufferSize: DWORD; lpOutBuffer: LPVOID; 
                     nOutBufferSize: DWORD; lpBytesRead: LPDWORD; 
                     nTimeOut: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "CallNamedPipeW".}
proc WaitNamedPipeW*(lpNamedPipeName: LPCWSTR; nTimeOut: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WaitNamedPipeW".}
proc SetVolumeLabelW*(lpRootPathName: LPCWSTR; lpVolumeName: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetVolumeLabelW".}
proc GetVolumeInformationW*(lpRootPathName: LPCWSTR; lpVolumeNameBuffer: LPWSTR; 
                            nVolumeNameSize: DWORD; 
                            lpVolumeSerialNumber: LPDWORD; 
                            lpMaximumComponentLength: LPDWORD; 
                            lpFileSystemFlags: LPDWORD; 
                            lpFileSystemNameBuffer: LPWSTR; 
                            nFileSystemNameSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVolumeInformationW".}
proc ClearEventLogW*(hEventLog: HANDLE; lpBackupFileName: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ClearEventLogW".}
proc BackupEventLogW*(hEventLog: HANDLE; lpBackupFileName: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "BackupEventLogW".}
proc OpenEventLogW*(lpUNCServerName: LPCWSTR; lpSourceName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "advapi32", importc: "OpenEventLogW".}
proc RegisterEventSourceW*(lpUNCServerName: LPCWSTR; lpSourceName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "advapi32", importc: "RegisterEventSourceW".}
proc OpenBackupEventLogW*(lpUNCServerName: LPCWSTR; lpFileName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "advapi32", importc: "OpenBackupEventLogW".}
proc ReadEventLogW*(hEventLog: HANDLE; dwReadFlags: DWORD; 
                    dwRecordOffset: DWORD; lpBuffer: LPVOID; 
                    nNumberOfBytesToRead: DWORD; pnBytesRead: LPDWORD; 
                    pnMinNumberOfBytesNeeded: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ReadEventLogW".}
proc ReportEventW*(hEventLog: HANDLE; wType: int16; wCategory: int16; 
                   dwEventID: DWORD; lpUserSid: PSID; wNumStrings: int16; 
                   dwDataSize: DWORD; lpStrings: LPPCWSTR; lpRawData: LPVOID): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ReportEventW".}
proc AccessCheckAndAuditAlarmW*(SubsystemName: LPCWSTR; HandleId: LPVOID; 
                                ObjectTypeName: LPWSTR; ObjectName: LPWSTR; 
                                SecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                DesiredAccess: DWORD; 
                                GenericMapping: PGENERIC_MAPPING; 
                                ObjectCreation: WINBOOL; GrantedAccess: LPDWORD; 
                                AccessStatus: LPBOOL; pfGenerateOnClose: LPBOOL): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "AccessCheckAndAuditAlarmW".}
proc ObjectOpenAuditAlarmW*(SubsystemName: LPCWSTR; HandleId: LPVOID; 
                            ObjectTypeName: LPWSTR; ObjectName: LPWSTR; 
                            pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                            ClientToken: HANDLE; DesiredAccess: DWORD; 
                            GrantedAccess: DWORD; Privileges: PPRIVILEGE_SET; 
                            ObjectCreation: WINBOOL; AccessGranted: WINBOOL; 
                            GenerateOnClose: LPBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectOpenAuditAlarmW".}
proc ObjectPrivilegeAuditAlarmW*(SubsystemName: LPCWSTR; HandleId: LPVOID; 
                                 ClientToken: HANDLE; DesiredAccess: DWORD; 
                                 Privileges: PPRIVILEGE_SET; 
                                 AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmW".}
proc ObjectCloseAuditAlarmW*(SubsystemName: LPCWSTR; HandleId: LPVOID; 
                             GenerateOnClose: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectCloseAuditAlarmW".}
proc PrivilegedServiceAuditAlarmW*(SubsystemName: LPCWSTR; ServiceName: LPCWSTR; 
                                   ClientToken: HANDLE; 
                                   Privileges: PPRIVILEGE_SET; 
                                   AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmW".}
proc SetFileSecurityW*(lpFileName: LPCWSTR; 
                       SecurityInformation: SECURITY_INFORMATION; 
                       pSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "SetFileSecurityW".}
proc GetFileSecurityW*(lpFileName: LPCWSTR; 
                       RequestedInformation: SECURITY_INFORMATION; 
                       pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                       nLength: DWORD; lpnLengthNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetFileSecurityW".}
proc FindFirstChangeNotificationW*(lpPathName: LPCWSTR; bWatchSubtree: WINBOOL; 
                                   dwNotifyFilter: DWORD): HANDLE {.stdcall, 
    dynlib: "kernel32", importc: "FindFirstChangeNotificationW".}
proc IsBadStringPtrW*(lpsz: LPCWSTR; ucchMax: UINT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "IsBadStringPtrW".}
proc LookupAccountSidW*(lpSystemName: LPCWSTR; Sid: PSID; Name: LPWSTR; 
                        cbName: LPDWORD; ReferencedDomainName: LPWSTR; 
                        cbReferencedDomainName: LPDWORD; peUse: PSID_NAME_USE): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupAccountSidW".}
proc LookupAccountNameW*(lpSystemName: LPCWSTR; lpAccountName: LPCWSTR; 
                         Sid: PSID; cbSid: LPDWORD; 
                         ReferencedDomainName: LPWSTR; 
                         cbReferencedDomainName: LPDWORD; peUse: PSID_NAME_USE): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupAccountNameW".}
proc LookupPrivilegeValueW*(lpSystemName: LPCWSTR; lpName: LPCWSTR; 
                            lpLuid: PLUID): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupPrivilegeValueW".}
proc LookupPrivilegeNameW*(lpSystemName: LPCWSTR; lpLuid: PLUID; lpName: LPWSTR; 
                           cbName: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupPrivilegeNameW".}
proc LookupPrivilegeDisplayNameW*(lpSystemName: LPCWSTR; lpName: LPCWSTR; 
                                  lpDisplayName: LPWSTR; cbDisplayName: LPDWORD; 
                                  lpLanguageId: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameW".}
proc BuildCommDCBW*(lpDef: LPCWSTR; lpDCB: LPDCB): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "BuildCommDCBW".}
proc BuildCommDCBAndTimeoutsW*(lpDef: LPCWSTR; lpDCB: LPDCB; 
                               lpCommTimeouts: LPCOMMTIMEOUTS): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsW".}
proc CommConfigDialogW*(lpszName: LPCWSTR; wnd: HWND; lpCC: LPCOMMCONFIG): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CommConfigDialogW".}
proc GetDefaultCommConfigW*(lpszName: LPCWSTR; lpCC: LPCOMMCONFIG; 
                            lpdwSize: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetDefaultCommConfigW".}
proc SetDefaultCommConfigW*(lpszName: LPCWSTR; lpCC: LPCOMMCONFIG; dwSize: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetDefaultCommConfigW".}
proc GetComputerNameW*(lpBuffer: LPWSTR; nSize: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetComputerNameW".}
proc SetComputerNameW*(lpComputerName: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetComputerNameW".}
proc GetUserNameW*(lpBuffer: LPWSTR; nSize: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "GetUserNameW".}
proc LoadKeyboardLayoutW*(pwszKLID: LPCWSTR; Flags: UINT): HKL {.stdcall, 
    dynlib: "user32", importc: "LoadKeyboardLayoutW".}
proc GetKeyboardLayoutNameW*(pwszKLID: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetKeyboardLayoutNameW".}
proc CreateDesktopW*(lpszDesktop: LPWSTR; lpszDevice: LPWSTR; 
                     pDevmodew: LPDEVMODEw; dwFlags: DWORD; 
                     dwDesiredAccess: DWORD; lpsa: LPSECURITY_ATTRIBUTES): HDESK {.
    stdcall, dynlib: "user32", importc: "CreateDesktopW".}
proc OpenDesktopW*(lpszDesktop: LPWSTR; dwFlags: DWORD; fInherit: WINBOOL; 
                   dwDesiredAccess: DWORD): HDESK {.stdcall, dynlib: "user32", 
    importc: "OpenDesktopW".}
proc EnumDesktopsW*(hwinsta: HWINSTA; lpEnumFunc: DESKTOPENUMPROC; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnumDesktopsW".}
proc CreateWindowStationW*(lpwinsta: LPWSTR; dwReserved: DWORD; 
                           dwDesiredAccess: DWORD; lpsa: LPSECURITY_ATTRIBUTES): HWINSTA {.
    stdcall, dynlib: "user32", importc: "CreateWindowStationW".}
proc OpenWindowStationW*(lpszWinSta: LPWSTR; fInherit: WINBOOL; 
                         dwDesiredAccess: DWORD): HWINSTA {.stdcall, 
    dynlib: "user32", importc: "OpenWindowStationW".}
proc EnumWindowStationsW*(lpEnumFunc: ENUMWINDOWSTATIONPROC; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnumWindowStationsW".}
proc GetUserObjectInformationW*(hObj: HANDLE; nIndex: int32; pvInfo: PVOID; 
                                nLength: DWORD; lpnLengthNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetUserObjectInformationW".}
proc SetUserObjectInformationW*(hObj: HANDLE; nIndex: int32; pvInfo: PVOID; 
                                nLength: DWORD): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetUserObjectInformationW".}
proc RegisterWindowMessageW*(lpString: LPCWSTR): UINT {.stdcall, 
    dynlib: "user32", importc: "RegisterWindowMessageW".}
proc GetMessageW*(lpMsg: LPMSG; wnd: HWND; wMsgFilterMin: UINT; 
                  wMsgFilterMax: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetMessageW".}
proc DispatchMessageW*(lpMsg: LPMSG): LONG {.stdcall, dynlib: "user32", 
    importc: "DispatchMessageW".}
proc PeekMessageW*(lpMsg: LPMSG; wnd: HWND; wMsgFilterMin: UINT; 
                   wMsgFilterMax: UINT; wRemoveMsg: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "PeekMessageW".}
proc SendMessageW*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "SendMessageW".}
proc SendMessageTimeoutW*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM; 
                          fuFlags: UINT; uTimeout: UINT; lpdwResult: LPDWORD): LRESULT {.
    stdcall, dynlib: "user32", importc: "SendMessageTimeoutW".}
proc SendNotifyMessageW*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SendNotifyMessageW".}
proc SendMessageCallbackW*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM; 
                           lpResultCallBack: SENDASYNCPROC; dwData: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SendMessageCallbackW".}
proc PostMessageW*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "PostMessageW".}
proc PostThreadMessageW*(idThread: DWORD; Msg: UINT; wp: WPARAM; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "PostThreadMessageW".}
proc DefWindowProcW*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "DefWindowProcW".}
proc CallWindowProcW*(lpPrevWndFunc: WNDPROC; wnd: HWND; Msg: UINT; wp: WPARAM; 
                      lp: LPARAM): LRESULT {.stdcall, dynlib: "user32", 
    importc: "CallWindowProcW".}
proc RegisterClassW*(lpWndClass: LPWNDCLASSW): ATOM {.stdcall, dynlib: "user32", 
    importc: "RegisterClassW".}
proc UnregisterClassW*(lpClassName: LPCWSTR; hInstance: HINST): WINBOOL {.
    stdcall, dynlib: "user32", importc: "UnregisterClassW".}
proc GetClassInfoW*(hInstance: HINST; lpClassName: LPCWSTR; 
                    lpWndClass: LPWNDCLASS): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetClassInfoW".}
proc RegisterClassExW*(para1: LPWNDCLASSEXW): ATOM {.stdcall, dynlib: "user32", 
    importc: "RegisterClassExW".}
proc GetClassInfoExW*(para1: HINST; para2: LPCWSTR; para3: LPWNDCLASSEX): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetClassInfoExW".}
proc CreateWindowExW*(dwExStyle: DWORD; lpClassName: LPCWSTR; 
                      lpWindowName: LPCWSTR; dwStyle: DWORD; X: int32; Y: int32; 
                      nWidth: int32; nHeight: int32; hWndParent: HWND; 
                      menu: HMENU; hInstance: HINST; lpParam: LPVOID): HWND {.
    stdcall, dynlib: "user32", importc: "CreateWindowExW".}
proc CreateDialogParamW*(hInstance: HINST; lpTemplateName: LPCWSTR; 
                         hWndParent: HWND; lpDialogFunc: DLGPROC; 
                         dwInitParam: LPARAM): HWND {.stdcall, dynlib: "user32", 
    importc: "CreateDialogParamW".}
proc CreateDialogIndirectParamW*(hInstance: HINST; lpTemplate: LPCDLGTEMPLATE; 
                                 hWndParent: HWND; lpDialogFunc: DLGPROC; 
                                 dwInitParam: LPARAM): HWND {.stdcall, 
    dynlib: "user32", importc: "CreateDialogIndirectParamW".}
proc DialogBoxParamW*(hInstance: HINST; lpTemplateName: LPCWSTR; 
                      hWndParent: HWND; lpDialogFunc: DLGPROC; 
                      dwInitParam: LPARAM): int32 {.stdcall, dynlib: "user32", 
    importc: "DialogBoxParamW".}
proc DialogBoxIndirectParamW*(hInstance: HINST; hDialogTemplate: LPCDLGTEMPLATE; 
                              hWndParent: HWND; lpDialogFunc: DLGPROC; 
                              dwInitParam: LPARAM): int32 {.stdcall, 
    dynlib: "user32", importc: "DialogBoxIndirectParamW".}
proc SetDlgItemTextW*(hDlg: HWND; nIDDlgItem: int32; lpString: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetDlgItemTextW".}
proc GetDlgItemTextW*(hDlg: HWND; nIDDlgItem: int32; lpString: LPWSTR; 
                      nMaxCount: int32): UINT {.stdcall, dynlib: "user32", 
    importc: "GetDlgItemTextW".}
proc SendDlgItemMessageW*(hDlg: HWND; nIDDlgItem: int32; Msg: UINT; wp: WPARAM; 
                          lp: LPARAM): LONG {.stdcall, dynlib: "user32", 
    importc: "SendDlgItemMessageW".}
proc DefDlgProcW*(hDlg: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "DefDlgProcW".}
proc CallMsgFilterW*(lpMsg: LPMSG; nCode: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CallMsgFilterW".}
proc RegisterClipboardFormatW*(lpszFormat: LPCWSTR): UINT {.stdcall, 
    dynlib: "user32", importc: "RegisterClipboardFormatW".}
proc GetClipboardFormatNameW*(format: UINT; lpszFormatName: LPWSTR; 
                              cchMaxCount: int32): int32 {.stdcall, 
    dynlib: "user32", importc: "GetClipboardFormatNameW".}
proc CharToOemW*(lpszSrc: LPCWSTR; lpszDst: LPSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CharToOemW".}
proc OemToCharW*(lpszSrc: LPCSTR; lpszDst: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "OemToCharW".}
proc CharToOemBuffW*(lpszSrc: LPCWSTR; lpszDst: LPSTR; cchDstLength: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "CharToOemBuffW".}
proc OemToCharBuffW*(lpszSrc: LPCSTR; lpszDst: LPWSTR; cchDstLength: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "OemToCharBuffW".}
proc CharUpperW*(lpsz: LPWSTR): LPWSTR {.stdcall, dynlib: "user32", 
    importc: "CharUpperW".}
proc CharUpperBuffW*(lpsz: LPWSTR; cchLength: DWORD): DWORD {.stdcall, 
    dynlib: "user32", importc: "CharUpperBuffW".}
proc CharLowerW*(lpsz: LPWSTR): LPWSTR {.stdcall, dynlib: "user32", 
    importc: "CharLowerW".}
proc CharLowerBuffW*(lpsz: LPWSTR; cchLength: DWORD): DWORD {.stdcall, 
    dynlib: "user32", importc: "CharLowerBuffW".}
proc CharNextW*(lpsz: LPCWSTR): LPWSTR {.stdcall, dynlib: "user32", 
    importc: "CharNextW".}
proc CharPrevW*(lpszStart: LPCWSTR; lpszCurrent: LPCWSTR): LPWSTR {.stdcall, 
    dynlib: "user32", importc: "CharPrevW".}
proc IsCharAlphaW*(ch: WCHAR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsCharAlphaW".}
proc IsCharAlphaNumericW*(ch: WCHAR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsCharAlphaNumericW".}
proc IsCharUpperW*(ch: WCHAR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsCharUpperW".}
proc IsCharLowerW*(ch: WCHAR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsCharLowerW".}
proc GetKeyNameTextW*(lParam: LONG; lpString: LPWSTR; nSize: int32): int32 {.
    stdcall, dynlib: "user32", importc: "GetKeyNameTextW".}
proc VkKeyScanW*(ch: WCHAR): SHORT {.stdcall, dynlib: "user32", 
                                     importc: "VkKeyScanW".}
proc VkKeyScanExW*(ch: WCHAR; dwhkl: HKL): SHORT {.stdcall, dynlib: "user32", 
    importc: "VkKeyScanExW".}
proc MapVirtualKeyW*(uCode: UINT; uMapType: UINT): UINT {.stdcall, 
    dynlib: "user32", importc: "MapVirtualKeyW".}
proc MapVirtualKeyExW*(uCode: UINT; uMapType: UINT; dwhkl: HKL): UINT {.stdcall, 
    dynlib: "user32", importc: "MapVirtualKeyExW".}
proc LoadAcceleratorsW*(hInstance: HINST; lpTableName: LPCWSTR): HACCEL {.
    stdcall, dynlib: "user32", importc: "LoadAcceleratorsW".}
proc CreateAcceleratorTableW*(para1: LPACCEL; para2: int32): HACCEL {.stdcall, 
    dynlib: "user32", importc: "CreateAcceleratorTableW".}
proc CopyAcceleratorTableW*(hAccelSrc: HACCEL; lpAccelDst: LPACCEL; 
                            cAccelEntries: int32): int32 {.stdcall, 
    dynlib: "user32", importc: "CopyAcceleratorTableW".}
proc TranslateAcceleratorW*(wnd: HWND; hAccTable: HACCEL; lpMsg: LPMSG): int32 {.
    stdcall, dynlib: "user32", importc: "TranslateAcceleratorW".}
proc LoadMenuW*(hInstance: HINST; lpMenuName: LPCWSTR): HMENU {.stdcall, 
    dynlib: "user32", importc: "LoadMenuW".}
proc LoadMenuIndirectW*(lpMenuTemplate: LPMENUTEMPLATE): HMENU {.stdcall, 
    dynlib: "user32", importc: "LoadMenuIndirectW".}
proc ChangeMenuW*(menu: HMENU; cmd: UINT; lpszNewItem: LPCWSTR; cmdInsert: UINT; 
                  flags: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ChangeMenuW".}
proc GetMenuStringW*(menu: HMENU; uIDItem: UINT; lpString: LPWSTR; 
                     nMaxCount: int32; uFlag: UINT): int32 {.stdcall, 
    dynlib: "user32", importc: "GetMenuStringW".}
proc InsertMenuW*(menu: HMENU; uPosition: UINT; uFlags: UINT; uIDNewItem: UINT; 
                  lpNewItem: LPCWSTR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "InsertMenuW".}
proc AppendMenuW*(menu: HMENU; uFlags: UINT; uIDNewItem: UINT; 
                  lpNewItem: LPCWSTR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "AppendMenuW".}
proc ModifyMenuW*(hMnu: HMENU; uPosition: UINT; uFlags: UINT; uIDNewItem: UINT; 
                  lpNewItem: LPCWSTR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ModifyMenuW".}
proc InsertMenuItemW*(para1: HMENU; para2: UINT; para3: WINBOOL; 
                      para4: LPCMENUITEMINFO): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "InsertMenuItemW".}
proc GetMenuItemInfoW*(para1: HMENU; para2: UINT; para3: WINBOOL; 
                       para4: LPMENUITEMINFO): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetMenuItemInfoW".}
proc SetMenuItemInfoW*(para1: HMENU; para2: UINT; para3: WINBOOL; 
                       para4: LPCMENUITEMINFO): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetMenuItemInfoW".}
proc DrawTextW*(hDC: HDC; lpString: LPCWSTR; nCount: int32; lpRect: LPRECT; 
                uFormat: UINT): int32 {.stdcall, dynlib: "user32", 
                                        importc: "DrawTextW".}
proc DrawTextExW*(para1: HDC; para2: LPWSTR; para3: int32; para4: LPRECT; 
                  para5: UINT; para6: LPDRAWTEXTPARAMS): int32 {.stdcall, 
    dynlib: "user32", importc: "DrawTextExW".}
proc GrayStringW*(hDC: HDC; hBrush: HBRUSH; lpOutputFunc: GRAYSTRINGPROC; 
                  lpData: LPARAM; nCount: int32; X: int32; Y: int32; 
                  nWidth: int32; nHeight: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GrayStringW".}
proc DrawStateW*(para1: HDC; para2: HBRUSH; para3: DRAWSTATEPROC; para4: LPARAM; 
                 para5: WPARAM; para6: int32; para7: int32; para8: int32; 
                 para9: int32; para10: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DrawStateW".}
proc TabbedTextOutW*(hDC: HDC; X: int32; Y: int32; lpString: LPCWSTR; 
                     nCount: int32; nTabPositions: int32; 
                     lpnTabStopPositions: LPINT; nTabOrigin: int32): LONG {.
    stdcall, dynlib: "user32", importc: "TabbedTextOutW".}
proc GetTabbedTextExtentW*(hDC: HDC; lpString: LPCWSTR; nCount: int32; 
                           nTabPositions: int32; lpnTabStopPositions: LPINT): DWORD {.
    stdcall, dynlib: "user32", importc: "GetTabbedTextExtentW".}
proc SetPropW*(wnd: HWND; lpString: LPCWSTR; hData: HANDLE): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetPropW".}
proc GetPropW*(wnd: HWND; lpString: LPCWSTR): HANDLE {.stdcall, 
    dynlib: "user32", importc: "GetPropW".}
proc RemovePropW*(wnd: HWND; lpString: LPCWSTR): HANDLE {.stdcall, 
    dynlib: "user32", importc: "RemovePropW".}
proc EnumPropsExW*(wnd: HWND; lpEnumFunc: PROPENUMPROCEX; lp: LPARAM): int32 {.
    stdcall, dynlib: "user32", importc: "EnumPropsExW".}
proc EnumPropsW*(wnd: HWND; lpEnumFunc: PROPENUMPROC): int32 {.stdcall, 
    dynlib: "user32", importc: "EnumPropsW".}
proc SetWindowTextW*(wnd: HWND; lpString: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetWindowTextW".}
proc GetWindowTextW*(wnd: HWND; lpString: LPWSTR; nMaxCount: int32): int32 {.
    stdcall, dynlib: "user32", importc: "GetWindowTextW".}
proc GetWindowTextLengthW*(wnd: HWND): int32 {.stdcall, dynlib: "user32", 
    importc: "GetWindowTextLengthW".}
proc MessageBoxW*(wnd: HWND; lpText: LPCWSTR; lpCaption: LPCWSTR; uType: UINT): int32 {.
    stdcall, dynlib: "user32", importc: "MessageBoxW".}
proc MessageBoxExW*(wnd: HWND; lpText: LPCWSTR; lpCaption: LPCWSTR; uType: UINT; 
                    wLanguageId: int16): int32 {.stdcall, dynlib: "user32", 
    importc: "MessageBoxExW".}
proc MessageBoxIndirectW*(para1: LPMSGBOXPARAMS): int32 {.stdcall, 
    dynlib: "user32", importc: "MessageBoxIndirectW".}
proc GetWindowLongW*(wnd: HWND; nIndex: int32): LONG {.stdcall, 
    dynlib: "user32", importc: "GetWindowLongW".}
proc SetWindowLongW*(wnd: HWND; nIndex: int32; dwNewLong: LONG): LONG {.stdcall, 
    dynlib: "user32", importc: "SetWindowLongW".}
proc GetClassLongW*(wnd: HWND; nIndex: int32): DWORD {.stdcall, 
    dynlib: "user32", importc: "GetClassLongW".}
proc SetClassLongW*(wnd: HWND; nIndex: int32; dwNewLong: LONG): DWORD {.stdcall, 
    dynlib: "user32", importc: "SetClassLongW".}
proc GetWindowLongPtrW*(wnd: HWND; nIndex: int32): LONG_PTR {.stdcall, 
    dynlib: "user32", importc: "GetWindowLongPtrW".}
proc SetWindowLongPtrW*(wnd: HWND; nIndex: int32; dwNewLong: LONG_PTR): LONG_PTR {.
    stdcall, dynlib: "user32", importc: "SetWindowLongPtrW".}
proc GetClassLongPtrW*(wnd: HWND; nIndex: int32): LONG_PTR {.stdcall, 
    dynlib: "user32", importc: "GetClassLongPtrW".}
proc SetClassLongPtrW*(wnd: HWND; nIndex: int32; dwNewLong: LONG_PTR): LONG_PTR {.
    stdcall, dynlib: "user32", importc: "SetClassLongPtrW".}
proc FindWindowW*(lpClassName: LPCWSTR; lpWindowName: LPCWSTR): HWND {.stdcall, 
    dynlib: "user32", importc: "FindWindowW".}
proc FindWindowExW*(para1: HWND; para2: HWND; para3: LPCWSTR; para4: LPCWSTR): HWND {.
    stdcall, dynlib: "user32", importc: "FindWindowExW".}
proc GetClassNameW*(wnd: HWND; lpClassName: LPWSTR; nMaxCount: int32): int32 {.
    stdcall, dynlib: "user32", importc: "GetClassNameW".}
proc SetWindowsHookExW*(idHook: int32; lpfn: HOOKPROC; hmod: HINST; 
                        dwThreadId: DWORD): HHOOK {.stdcall, dynlib: "user32", 
    importc: "SetWindowsHookExW".}
proc LoadBitmapW*(hInstance: HINST; lpBitmapName: LPCWSTR): HBITMAP {.stdcall, 
    dynlib: "user32", importc: "LoadBitmapW".}
proc LoadCursorW*(hInstance: HINST; lpCursorName: LPCWSTR): HCURSOR {.stdcall, 
    dynlib: "user32", importc: "LoadCursorW".}
proc LoadCursorFromFileW*(lpFileName: LPCWSTR): HCURSOR {.stdcall, 
    dynlib: "user32", importc: "LoadCursorFromFileW".}
proc LoadIconW*(hInstance: HINST; lpIconName: LPCWSTR): HICON {.stdcall, 
    dynlib: "user32", importc: "LoadIconW".}
proc LoadImageW*(para1: HINST; para2: LPCWSTR; para3: UINT; para4: int32; 
                 para5: int32; para6: UINT): HANDLE {.stdcall, dynlib: "user32", 
    importc: "LoadImageW".}
proc LoadStringW*(hInstance: HINST; uID: UINT; lpBuffer: LPWSTR; 
                  nBufferMax: int32): int32 {.stdcall, dynlib: "user32", 
    importc: "LoadStringW".}
proc IsDialogMessageW*(hDlg: HWND; lpMsg: LPMSG): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "IsDialogMessageW".}
proc DlgDirListW*(hDlg: HWND; lpPathSpec: LPWSTR; nIDListBox: int32; 
                  nIDStaticPath: int32; uFileType: UINT): int32 {.stdcall, 
    dynlib: "user32", importc: "DlgDirListW".}
proc DlgDirSelectExW*(hDlg: HWND; lpString: LPWSTR; nCount: int32; 
                      nIDListBox: int32): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DlgDirSelectExW".}
proc DlgDirListComboBoxW*(hDlg: HWND; lpPathSpec: LPWSTR; nIDComboBox: int32; 
                          nIDStaticPath: int32; uFiletype: UINT): int32 {.
    stdcall, dynlib: "user32", importc: "DlgDirListComboBoxW".}
proc DlgDirSelectComboBoxExW*(hDlg: HWND; lpString: LPWSTR; nCount: int32; 
                              nIDComboBox: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DlgDirSelectComboBoxExW".}
proc DefFrameProcW*(wnd: HWND; hWndMDIClient: HWND; uMsg: UINT; w: WPARAM; 
                    lp: LPARAM): LRESULT {.stdcall, dynlib: "user32", 
    importc: "DefFrameProcW".}
proc DefMDIChildProcW*(wnd: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "DefMDIChildProcW".}
proc CreateMDIWindowW*(lpClassName: LPWSTR; lpWindowName: LPWSTR; 
                       dwStyle: DWORD; X: int32; Y: int32; nWidth: int32; 
                       nHeight: int32; hWndParent: HWND; hInstance: HINST; 
                       lp: LPARAM): HWND {.stdcall, dynlib: "user32", 
    importc: "CreateMDIWindowW".}
proc WinHelpW*(hWndMain: HWND; lpszHelp: LPCWSTR; uCommand: UINT; dwData: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "WinHelpW".}
proc ChangeDisplaySettingsW*(lpDevMode: LPDEVMODEW; dwFlags: DWORD): LONG {.
    stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsW".}
proc EnumDisplaySettingsW*(lpszDeviceName: LPCWSTR; iModeNum: DWORD; 
                           lpDevMode: LPDEVMODEW): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EnumDisplaySettingsW".}
proc SystemParametersInfoW*(uiAction: UINT; uiParam: UINT; pvParam: PVOID; 
                            fWinIni: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SystemParametersInfoW".}
proc AddFontResourceW*(para1: LPCWSTR): int32 {.stdcall, dynlib: "gdi32", 
    importc: "AddFontResourceW".}
proc CopyMetaFileW*(para1: HMETAFILE; para2: LPCWSTR): HMETAFILE {.stdcall, 
    dynlib: "gdi32", importc: "CopyMetaFileW".}
proc CreateFontIndirectW*(para1: PLOGFONT): HFONT {.stdcall, dynlib: "gdi32", 
    importc: "CreateFontIndirectW".}
proc CreateFontIndirectW*(para1: var LOGFONT): HFONT {.stdcall, dynlib: "gdi32", 
    importc: "CreateFontIndirectW".}
proc CreateFontW*(para1: int32; para2: int32; para3: int32; para4: int32; 
                  para5: int32; para6: DWORD; para7: DWORD; para8: DWORD; 
                  para9: DWORD; para10: DWORD; para11: DWORD; para12: DWORD; 
                  para13: DWORD; para14: LPCWSTR): HFONT {.stdcall, 
    dynlib: "gdi32", importc: "CreateFontW".}
proc CreateICW*(para1: LPCWSTR; para2: LPCWSTR; para3: LPCWSTR; 
                para4: LPDEVMODEw): HDC {.stdcall, dynlib: "gdi32", 
    importc: "CreateICW".}
proc CreateMetaFileW*(para1: LPCWSTR): HDC {.stdcall, dynlib: "gdi32", 
    importc: "CreateMetaFileW".}
proc CreateScalableFontResourceW*(para1: DWORD; para2: LPCWSTR; para3: LPCWSTR; 
                                  para4: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "CreateScalableFontResourceW".}
proc EnumFontFamiliesExW*(para1: HDC; para2: LPLOGFONT; para3: FONTENUMEXPROC; 
                          para4: LPARAM; para5: DWORD): int32 {.stdcall, 
    dynlib: "gdi32", importc: "EnumFontFamiliesExW".}
proc EnumFontFamiliesW*(para1: HDC; para2: LPCWSTR; para3: FONTENUMPROC; 
                        para4: LPARAM): int32 {.stdcall, dynlib: "gdi32", 
    importc: "EnumFontFamiliesW".}
proc EnumFontsW*(para1: HDC; para2: LPCWSTR; para3: ENUMFONTSPROC; para4: LPARAM): int32 {.
    stdcall, dynlib: "gdi32", importc: "EnumFontsW".}
proc EnumFontsW*(para1: HDC; para2: LPCWSTR; para3: ENUMFONTSPROC; 
                 para4: pointer): int32 {.stdcall, dynlib: "gdi32", 
    importc: "EnumFontsW".}
proc GetCharWidthW*(para1: HDC; para2: UINT; para3: UINT; para4: LPINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidthW".}
proc GetCharWidth32W*(para1: HDC; para2: UINT; para3: UINT; para4: LPINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidth32W".}
proc GetCharWidthFloatW*(para1: HDC; para2: UINT; para3: UINT; 
                         para4: ptr float32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetCharWidthFloatW".}
proc GetCharABCWidthsW*(para1: HDC; para2: UINT; para3: UINT; para4: LPABC): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsW".}
proc GetCharABCWidthsFloatW*(para1: HDC; para2: UINT; para3: UINT; 
                             para4: LPABCFLOAT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetCharABCWidthsFloatW".}
proc GetGlyphOutlineW*(para1: HDC; para2: UINT; para3: UINT; 
                       para4: LPGLYPHMETRICS; para5: DWORD; para6: LPVOID; 
                       para7: PMAT2): DWORD {.stdcall, dynlib: "gdi32", 
    importc: "GetGlyphOutlineW".}
proc GetMetaFileW*(para1: LPCWSTR): HMETAFILE {.stdcall, dynlib: "gdi32", 
    importc: "GetMetaFileW".}
proc GetOutlineTextMetricsW*(para1: HDC; para2: UINT; para3: LPOUTLINETEXTMETRIC): UINT {.
    stdcall, dynlib: "gdi32", importc: "GetOutlineTextMetricsW".}
proc GetTextExtentPointW*(para1: HDC; para2: LPCWSTR; para3: int32; 
                          para4: LPSIZE): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetTextExtentPointW".}
proc GetTextExtentPoint32W*(para1: HDC; para2: LPCWSTR; para3: int32; 
                            para4: LPSIZE): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetTextExtentPoint32W".}
proc GetTextExtentExPointW*(para1: HDC; para2: LPCWSTR; para3: int32; 
                            para4: int32; para5: LPINT; para6: LPINT; 
                            para7: LPSIZE): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetTextExtentExPointW".}
proc GetCharacterPlacementW*(para1: HDC; para2: LPCWSTR; para3: int32; 
                             para4: int32; para5: LPGCP_RESULTS; para6: DWORD): DWORD {.
    stdcall, dynlib: "gdi32", importc: "GetCharacterPlacementW".}
proc ResetDCW*(para1: HDC; para2: LPDEVMODEW): HDC {.stdcall, dynlib: "gdi32", 
    importc: "ResetDCW".}
proc RemoveFontResourceW*(para1: LPCWSTR): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "RemoveFontResourceW".}
proc CopyEnhMetaFileW*(para1: HENHMETAFILE; para2: LPCWSTR): HENHMETAFILE {.
    stdcall, dynlib: "gdi32", importc: "CopyEnhMetaFileW".}
proc CreateEnhMetaFileW*(para1: HDC; para2: LPCWSTR; para3: LPRECT; 
                         para4: LPCWSTR): HDC {.stdcall, dynlib: "gdi32", 
    importc: "CreateEnhMetaFileW".}
proc GetEnhMetaFileW*(para1: LPCWSTR): HENHMETAFILE {.stdcall, dynlib: "gdi32", 
    importc: "GetEnhMetaFileW".}
proc GetEnhMetaFileDescriptionW*(para1: HENHMETAFILE; para2: UINT; para3: LPWSTR): UINT {.
    stdcall, dynlib: "gdi32", importc: "GetEnhMetaFileDescriptionW".}
proc GetTextMetricsW*(para1: HDC; para2: LPTEXTMETRIC): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetTextMetricsW".}
proc StartDocW*(para1: HDC; para2: PDOCINFO): int32 {.stdcall, dynlib: "gdi32", 
    importc: "StartDocW".}
proc GetObjectW*(para1: HGDIOBJ; para2: int32; para3: LPVOID): int32 {.stdcall, 
    dynlib: "gdi32", importc: "GetObjectW".}
proc TextOutW*(para1: HDC; para2: int32; para3: int32; para4: LPCWSTR; 
               para5: int32): WINBOOL {.stdcall, dynlib: "gdi32", 
                                        importc: "TextOutW".}
proc ExtTextOutW*(para1: HDC; para2: int32; para3: int32; para4: UINT; 
                  para5: LPRECT; para6: LPCWSTR; para7: UINT; para8: LPINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "ExtTextOutW".}
proc PolyTextOutW*(para1: HDC; para2: PPOLYTEXT; para3: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyTextOutW".}
proc GetTextFaceW*(para1: HDC; para2: int32; para3: LPWSTR): int32 {.stdcall, 
    dynlib: "gdi32", importc: "GetTextFaceW".}
proc GetKerningPairsW*(para1: HDC; para2: DWORD; para3: LPKERNINGPAIR): DWORD {.
    stdcall, dynlib: "gdi32", importc: "GetKerningPairsW".}
proc GetLogColorSpaceW*(para1: HCOLORSPACE; para2: LPLOGCOLORSPACE; para3: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetLogColorSpaceW".}
proc CreateColorSpaceW*(para1: LPLOGCOLORSPACE): HCOLORSPACE {.stdcall, 
    dynlib: "gdi32", importc: "CreateColorSpaceW".}
proc GetICMProfileW*(para1: HDC; para2: DWORD; para3: LPWSTR): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetICMProfileW".}
proc SetICMProfileW*(para1: HDC; para2: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "SetICMProfileW".}
proc UpdateICMRegKeyW*(para1: DWORD; para2: DWORD; para3: LPWSTR; para4: UINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "UpdateICMRegKeyW".}
proc EnumICMProfilesW*(para1: HDC; para2: ICMENUMPROC; para3: LPARAM): int32 {.
    stdcall, dynlib: "gdi32", importc: "EnumICMProfilesW".}
proc CreatePropertySheetPageW*(lppsp: LPCPROPSHEETPAGE): HPROPSHEETPAGE {.
    stdcall, dynlib: "comctl32", importc: "CreatePropertySheetPageW".}
proc PropertySheetW*(lppsph: LPCPROPSHEETHEADER): int32 {.stdcall, 
    dynlib: "comctl32", importc: "PropertySheetW".}
proc ImageList_LoadImageW*(hi: HINST; lpbmp: LPCWSTR; cx: int32; cGrow: int32; 
                           crMask: COLORREF; uType: UINT; uFlags: UINT): HIMAGELIST {.
    stdcall, dynlib: "comctl32", importc: "ImageList_LoadImageW".}
proc CreateStatusWindowW*(style: LONG; lpszText: LPCWSTR; hwndParent: HWND; 
                          wID: UINT): HWND {.stdcall, dynlib: "comctl32", 
    importc: "CreateStatusWindowW".}
proc DrawStatusTextW*(hDC: HDC; lprc: LPRECT; pszText: LPCWSTR; uFlags: UINT) {.
    stdcall, dynlib: "comctl32", importc: "DrawStatusTextW".}
proc GetOpenFileNameW*(para1: LPOPENFILENAME): WINBOOL {.stdcall, 
    dynlib: "comdlg32", importc: "GetOpenFileNameW".}
proc GetSaveFileNameW*(para1: LPOPENFILENAME): WINBOOL {.stdcall, 
    dynlib: "comdlg32", importc: "GetSaveFileNameW".}
proc GetFileTitleW*(para1: LPCWSTR; para2: LPWSTR; para3: int16): int {.stdcall, 
    dynlib: "comdlg32", importc: "GetFileTitleW".}
proc ChooseColorW*(para1: LPCHOOSECOLOR): WINBOOL {.stdcall, dynlib: "comdlg32", 
    importc: "ChooseColorW".}
proc ReplaceTextW*(para1: LPFINDREPLACE): HWND {.stdcall, dynlib: "comdlg32", 
    importc: "ReplaceTextW".}
proc ChooseFontW*(para1: LPCHOOSEFONT): WINBOOL {.stdcall, dynlib: "comdlg32", 
    importc: "ChooseFontW".}
proc FindTextW*(para1: LPFINDREPLACE): HWND {.stdcall, dynlib: "comdlg32", 
    importc: "FindTextW".}
proc PrintDlgW*(para1: LPPRINTDLG): WINBOOL {.stdcall, dynlib: "comdlg32", 
    importc: "PrintDlgW".}
proc PageSetupDlgW*(para1: LPPAGESETUPDLG): WINBOOL {.stdcall, 
    dynlib: "comdlg32", importc: "PageSetupDlgW".}
proc CreateProcessW*(lpApplicationName: LPCWSTR; lpCommandLine: LPWSTR; 
                     lpProcessAttributes: LPSECURITY_ATTRIBUTES; 
                     lpThreadAttributes: LPSECURITY_ATTRIBUTES; 
                     bInheritHandles: WINBOOL; dwCreationFlags: DWORD; 
                     lpEnvironment: LPVOID; lpCurrentDirectory: LPCWSTR; 
                     lpStartupInfo: LPSTARTUPINFO; 
                     lpProcessInformation: LPPROCESS_INFORMATION): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateProcessW".}
proc GetStartupInfoW*(lpStartupInfo: LPSTARTUPINFO) {.stdcall, 
    dynlib: "kernel32", importc: "GetStartupInfoW".}
proc FindFirstFileW*(lpFileName: LPCWSTR; lpFindFileData: LPWIN32_FIND_DATAW): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "FindFirstFileW".}
proc FindNextFileW*(hFindFile: HANDLE; lpFindFileData: LPWIN32_FIND_DATAW): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FindNextFileW".}
proc GetVersionExW*(VersionInformation: LPOSVERSIONINFOW): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVersionExW".}
proc CreateWindowW*(lpClassName: LPCWSTR; lpWindowName: LPCWSTR; dwStyle: DWORD; 
                    X: int32; Y: int32; nWidth: int32; nHeight: int32; 
                    hWndParent: HWND; menu: HMENU; hInstance: HINST; 
                    lpParam: LPVOID): HWND
proc CreateDialogW*(hInstance: HINST; lpName: LPCWSTR; hWndParent: HWND; 
                    lpDialogFunc: DLGPROC): HWND
proc CreateDialogIndirectW*(hInstance: HINST; lpTemplate: LPCDLGTEMPLATE; 
                            hWndParent: HWND; lpDialogFunc: DLGPROC): HWND
proc DialogBoxW*(hInstance: HINST; lpTemplate: LPCWSTR; hWndParent: HWND; 
                 lpDialogFunc: DLGPROC): int32
proc DialogBoxIndirectW*(hInstance: HINST; lpTemplate: LPCDLGTEMPLATE; 
                         hWndParent: HWND; lpDialogFunc: DLGPROC): int32
proc CreateDCW*(para1: LPCWSTR; para2: LPCWSTR; para3: LPCWSTR; para4: pDEVMODEW): HDC {.
    stdcall, dynlib: "gdi32", importc: "CreateDCW".}
proc VerInstallFileW*(uFlags: DWORD; szSrcFileName: LPWSTR; 
                      szDestFileName: LPWSTR; szSrcDir: LPWSTR; 
                      szDestDir: LPWSTR; szCurDir: LPWSTR; szTmpFile: LPWSTR; 
                      lpuTmpFileLen: PUINT): DWORD {.stdcall, dynlib: "version", 
    importc: "VerInstallFileW".}
proc GetFileVersionInfoSizeW*(lptstrFilename: LPWSTR; lpdwHandle: LPDWORD): DWORD {.
    stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeW".}
proc GetFileVersionInfoW*(lptstrFilename: LPWSTR; dwHandle: DWORD; dwLen: DWORD; 
                          lpData: LPVOID): WINBOOL {.stdcall, dynlib: "version", 
    importc: "GetFileVersionInfoW".}
proc VerLanguageNameW*(wLang: DWORD; szLang: LPWSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "VerLanguageNameW".}
proc VerQueryValueW*(pBlock: LPVOID; lpSubBlock: LPWSTR; lplpBuffer: LPVOID; 
                     puLen: PUINT): WINBOOL {.stdcall, dynlib: "version", 
    importc: "VerQueryValueW".}
proc VerFindFileW*(uFlags: DWORD; szFileName: LPWSTR; szWinDir: LPWSTR; 
                   szAppDir: LPWSTR; szCurDir: LPWSTR; lpuCurDirLen: PUINT; 
                   szDestDir: LPWSTR; lpuDestDirLen: PUINT): DWORD {.stdcall, 
    dynlib: "version", importc: "VerFindFileW".}
proc RegSetValueExW*(key: HKEY; lpValueName: LPCWSTR; Reserved: DWORD; 
                     dwType: DWORD; lpData: LPBYTE; cbData: DWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegSetValueExW".}
proc RegUnLoadKeyW*(key: HKEY; lpSubKey: LPCWSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegUnLoadKeyW".}
proc InitiateSystemShutdownW*(lpMachineName: LPWSTR; lpMessage: LPWSTR; 
                              dwTimeout: DWORD; bForceAppsClosed: WINBOOL; 
                              bRebootAfterShutdown: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "InitiateSystemShutdownW".}
proc AbortSystemShutdownW*(lpMachineName: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "AbortSystemShutdownW".}
proc RegRestoreKeyW*(key: HKEY; lpFile: LPCWSTR; dwFlags: DWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegRestoreKeyW".}
proc RegSaveKeyW*(key: HKEY; lpFile: LPCWSTR; 
                  lpSecurityAttributes: LPSECURITY_ATTRIBUTES): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegSaveKeyW".}
proc RegSetValueW*(key: HKEY; lpSubKey: LPCWSTR; dwType: DWORD; lpData: LPCWSTR; 
                   cbData: DWORD): LONG {.stdcall, dynlib: "advapi32", 
    importc: "RegSetValueW".}
proc RegQueryValueW*(key: HKEY; lpSubKey: LPCWSTR; lpValue: LPWSTR; 
                     lpcbValue: PLONG): LONG {.stdcall, dynlib: "advapi32", 
    importc: "RegQueryValueW".}
proc RegQueryMultipleValuesW*(key: HKEY; val_list: PVALENT; num_vals: DWORD; 
                              lpValueBuf: LPWSTR; ldwTotsize: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesW".}
proc RegQueryValueExW*(key: HKEY; lpValueName: LPCWSTR; lpReserved: LPDWORD; 
                       lpType: LPDWORD; lpData: LPBYTE; lpcbData: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegQueryValueExW".}
proc RegReplaceKeyW*(key: HKEY; lpSubKey: LPCWSTR; lpNewFile: LPCWSTR; 
                     lpOldFile: LPCWSTR): LONG {.stdcall, dynlib: "advapi32", 
    importc: "RegReplaceKeyW".}
proc RegConnectRegistryW*(lpMachineName: LPWSTR; key: HKEY; phkResult: PHKEY): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegConnectRegistryW".}
proc RegCreateKeyW*(key: HKEY; lpSubKey: LPCWSTR; phkResult: PHKEY): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyW".}
proc RegCreateKeyExW*(key: HKEY; lpSubKey: LPCWSTR; Reserved: DWORD; 
                      lpClass: LPWSTR; dwOptions: DWORD; samDesired: REGSAM; 
                      lpSecurityAttributes: LPSECURITY_ATTRIBUTES; 
                      phkResult: PHKEY; lpdwDisposition: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyExW".}
proc RegDeleteKeyW*(key: HKEY; lpSubKey: LPCWSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegDeleteKeyW".}
proc RegDeleteValueW*(key: HKEY; lpValueName: LPCWSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegDeleteValueW".}
proc RegEnumKeyW*(key: HKEY; dwIndex: DWORD; lpName: LPWSTR; cbName: DWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegEnumKeyW".}
proc RegEnumKeyExW*(key: HKEY; dwIndex: DWORD; lpName: LPWSTR; 
                    lpcbName: LPDWORD; lpReserved: LPDWORD; lpClass: LPWSTR; 
                    lpcbClass: LPDWORD; lpftLastWriteTime: PFILETIME): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegEnumKeyExW".}
proc RegEnumValueW*(key: HKEY; dwIndex: DWORD; lpValueName: LPWSTR; 
                    lpcbValueName: LPDWORD; lpReserved: LPDWORD; 
                    lpType: LPDWORD; lpData: LPBYTE; lpcbData: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegEnumValueW".}
proc RegLoadKeyW*(key: HKEY; lpSubKey: LPCWSTR; lpFile: LPCWSTR): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegLoadKeyW".}
proc RegOpenKeyW*(key: HKEY; lpSubKey: LPCWSTR; phkResult: PHKEY): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegOpenKeyW".}
proc RegOpenKeyExW*(key: HKEY; lpSubKey: LPCWSTR; ulOptions: DWORD; 
                    samDesired: REGSAM; phkResult: PHKEY): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegOpenKeyExW".}
proc RegQueryInfoKeyW*(key: HKEY; lpClass: LPWSTR; lpcbClass: LPDWORD; 
                       lpReserved: LPDWORD; lpcSubKeys: LPDWORD; 
                       lpcbMaxSubKeyLen: LPDWORD; lpcbMaxClassLen: LPDWORD; 
                       lpcValues: LPDWORD; lpcbMaxValueNameLen: LPDWORD; 
                       lpcbMaxValueLen: LPDWORD; 
                       lpcbSecurityDescriptor: LPDWORD; 
                       lpftLastWriteTime: PFILETIME): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegQueryInfoKeyW".}
proc CompareStringW*(Locale: LCID; dwCmpFlags: DWORD; lpString1: LPCWSTR; 
                     cchCount1: int32; lpString2: LPCWSTR; cchCount2: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "CompareStringW".}
proc LCMapStringW*(Locale: LCID; dwMapFlags: DWORD; lpSrcStr: LPCWSTR; 
                   cchSrc: int32; lpDestStr: LPWSTR; cchDest: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "LCMapStringW".}
proc GetLocaleInfoW*(Locale: LCID; LCType: LCTYPE; lpLCData: LPWSTR; 
                     cchData: int32): int32 {.stdcall, dynlib: "kernel32", 
    importc: "GetLocaleInfoW".}
proc SetLocaleInfoW*(Locale: LCID; LCType: LCTYPE; lpLCData: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetLocaleInfoW".}
proc GetTimeFormatW*(Locale: LCID; dwFlags: DWORD; lpTime: LPSYSTEMTIME; 
                     lpFormat: LPCWSTR; lpTimeStr: LPWSTR; cchTime: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "GetTimeFormatW".}
proc GetDateFormatW*(Locale: LCID; dwFlags: DWORD; lpDate: LPSYSTEMTIME; 
                     lpFormat: LPCWSTR; lpDateStr: LPWSTR; cchDate: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "GetDateFormatW".}
proc GetNumberFormatW*(Locale: LCID; dwFlags: DWORD; lpValue: LPCWSTR; 
                       lpFormat: PNUMBERFMT; lpNumberStr: LPWSTR; 
                       cchNumber: int32): int32 {.stdcall, dynlib: "kernel32", 
    importc: "GetNumberFormatW".}
proc GetCurrencyFormatW*(Locale: LCID; dwFlags: DWORD; lpValue: LPCWSTR; 
                         lpFormat: PCURRENCYFMT; lpCurrencyStr: LPWSTR; 
                         cchCurrency: int32): int32 {.stdcall, 
    dynlib: "kernel32", importc: "GetCurrencyFormatW".}
proc EnumCalendarInfoW*(lpCalInfoEnumProc: CALINFO_ENUMPROC; Locale: LCID; 
                        Calendar: CALID; CalType: CALTYPE): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "EnumCalendarInfoW".}
proc EnumTimeFormatsW*(lpTimeFmtEnumProc: TIMEFMT_ENUMPROC; Locale: LCID; 
                       dwFlags: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "EnumTimeFormatsW".}
proc EnumDateFormatsW*(lpDateFmtEnumProc: DATEFMT_ENUMPROC; Locale: LCID; 
                       dwFlags: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "EnumDateFormatsW".}
proc GetStringTypeExW*(Locale: LCID; dwInfoType: DWORD; lpSrcStr: LPCWSTR; 
                       cchSrc: int32; lpCharType: LPWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetStringTypeExW".}
proc GetStringTypeW*(dwInfoType: DWORD; lpSrcStr: LPCWSTR; cchSrc: int32; 
                     lpCharType: LPWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "GetStringTypeW".}
proc FoldStringW*(dwMapFlags: DWORD; lpSrcStr: LPCWSTR; cchSrc: int32; 
                  lpDestStr: LPWSTR; cchDest: int32): int32 {.stdcall, 
    dynlib: "kernel32", importc: "FoldStringW".}
proc EnumSystemLocalesW*(lpLocaleEnumProc: LOCALE_ENUMPROC; dwFlags: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumSystemLocalesW".}
proc EnumSystemCodePagesW*(lpCodePageEnumProc: CODEPAGE_ENUMPROC; dwFlags: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumSystemCodePagesW".}
proc PeekConsoleInputW*(hConsoleInput: HANDLE; lpBuffer: PINPUTRECORD; 
                        nLength: DWORD; lpNumberOfEventsRead: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "PeekConsoleInputW".}
proc ReadConsoleInputW*(hConsoleInput: HANDLE; lpBuffer: PINPUTRECORD; 
                        nLength: DWORD; lpNumberOfEventsRead: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleInputW".}
proc WriteConsoleInputW*(hConsoleInput: HANDLE; lpBuffer: PINPUTRECORD; 
                         nLength: DWORD; lpNumberOfEventsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleInputW".}
proc ReadConsoleOutputW*(hConsoleOutput: HANDLE; lpBuffer: PCHAR_INFO; 
                         dwBufferSize: COORD; dwBufferCoord: COORD; 
                         lpReadRegion: PSMALL_RECT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ReadConsoleOutputW".}
proc WriteConsoleOutputW*(hConsoleOutput: HANDLE; lpBuffer: PCHAR_INFO; 
                          dwBufferSize: COORD; dwBufferCoord: COORD; 
                          lpWriteRegion: PSMALL_RECT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteConsoleOutputW".}
proc ReadConsoleOutputCharacterW*(hConsoleOutput: HANDLE; lpCharacter: LPWSTR; 
                                  nLength: DWORD; dwReadCoord: COORD; 
                                  lpNumberOfCharsRead: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterW".}
proc WriteConsoleOutputCharacterW*(hConsoleOutput: HANDLE; lpCharacter: LPCWSTR; 
                                   nLength: DWORD; dwWriteCoord: COORD; 
                                   lpNumberOfCharsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterW".}
proc FillConsoleOutputCharacterW*(hConsoleOutput: HANDLE; cCharacter: WCHAR; 
                                  nLength: DWORD; dwWriteCoord: COORD; 
                                  lpNumberOfCharsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterW".}
proc ScrollConsoleScreenBufferW*(hConsoleOutput: HANDLE; 
                                 lpScrollRectangle: PSMALL_RECT; 
                                 lpClipRectangle: PSMALL_RECT; 
                                 dwDestinationOrigin: COORD; lpFill: PCHAR_INFO): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ScrollConsoleScreenBufferW".}
proc GetConsoleTitleW*(lpConsoleTitle: LPWSTR; nSize: DWORD): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetConsoleTitleW".}
proc SetConsoleTitleW*(lpConsoleTitle: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetConsoleTitleW".}
proc ReadConsoleW*(hConsoleInput: HANDLE; lpBuffer: LPVOID; 
                   nNumberOfCharsToRead: DWORD; lpNumberOfCharsRead: LPDWORD; 
                   lpReserved: LPVOID): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "ReadConsoleW".}
proc WriteConsoleW*(hConsoleOutput: HANDLE; lpBuffer: pointer; 
                    nNumberOfCharsToWrite: DWORD; 
                    lpNumberOfCharsWritten: LPDWORD; lpReserved: LPVOID): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleW".}
proc WNetAddConnectionW*(lpRemoteName: LPCWSTR; lpPassword: LPCWSTR; 
                         lpLocalName: LPCWSTR): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetAddConnectionW".}
proc WNetAddConnection2W*(lpNetResource: LPNETRESOURCE; lpPassword: LPCWSTR; 
                          lpUserName: LPCWSTR; dwFlags: DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetAddConnection2W".}
proc WNetAddConnection3W*(hwndOwner: HWND; lpNetResource: LPNETRESOURCE; 
                          lpPassword: LPCWSTR; lpUserName: LPCWSTR; 
                          dwFlags: DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetAddConnection3W".}
proc WNetCancelConnectionW*(lpName: LPCWSTR; fForce: WINBOOL): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetCancelConnectionW".}
proc WNetCancelConnection2W*(lpName: LPCWSTR; dwFlags: DWORD; fForce: WINBOOL): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetCancelConnection2W".}
proc WNetGetConnectionW*(lpLocalName: LPCWSTR; lpRemoteName: LPWSTR; 
                         lpnLength: LPDWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetConnectionW".}
proc WNetUseConnectionW*(hwndOwner: HWND; lpNetResource: LPNETRESOURCE; 
                         lpUserID: LPCWSTR; lpPassword: LPCWSTR; dwFlags: DWORD; 
                         lpAccessName: LPWSTR; lpBufferSize: LPDWORD; 
                         lpResult: LPDWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetUseConnectionW".}
proc WNetSetConnectionW*(lpName: LPCWSTR; dwProperties: DWORD; pvValues: LPVOID): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetSetConnectionW".}
proc WNetConnectionDialog1W*(lpConnDlgStruct: LPCONNECTDLGSTRUCT): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1W".}
proc WNetDisconnectDialog1W*(lpConnDlgStruct: LPDISCDLGSTRUCT): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetDisconnectDialog1W".}
proc WNetOpenEnumW*(dwScope: DWORD; dwType: DWORD; dwUsage: DWORD; 
                    lpNetResource: LPNETRESOURCE; lphEnum: LPHANDLE): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetOpenEnumW".}
proc WNetEnumResourceW*(hEnum: HANDLE; lpcCount: LPDWORD; lpBuffer: LPVOID; 
                        lpBufferSize: LPDWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetEnumResourceW".}
proc WNetGetUniversalNameW*(lpLocalPath: LPCWSTR; dwInfoLevel: DWORD; 
                            lpBuffer: LPVOID; lpBufferSize: LPDWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameW".}
proc WNetGetUserW*(lpName: LPCWSTR; lpUserName: LPWSTR; lpnLength: LPDWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUserW".}
proc WNetGetProviderNameW*(dwNetType: DWORD; lpProviderName: LPWSTR; 
                           lpBufferSize: LPDWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetGetProviderNameW".}
proc WNetGetNetworkInformationW*(lpProvider: LPCWSTR; 
                                 lpNetInfoStruct: LPNETINFOSTRUCT): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationW".}
proc WNetGetLastErrorW*(lpError: LPDWORD; lpErrorBuf: LPWSTR; 
                        nErrorBufSize: DWORD; lpNameBuf: LPWSTR; 
                        nNameBufSize: DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetLastErrorW".}
proc MultinetGetConnectionPerformanceW*(lpNetResource: LPNETRESOURCE; 
    lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT): DWORD {.stdcall, 
    dynlib: "mpr", importc: "MultinetGetConnectionPerformanceW".}
proc ChangeServiceConfigW*(hService: SC_HANDLE; dwServiceType: DWORD; 
                           dwStartType: DWORD; dwErrorControl: DWORD; 
                           lpBinaryPathName: LPCWSTR; lpLoadOrderGroup: LPCWSTR; 
                           lpdwTagId: LPDWORD; lpDependencies: LPCWSTR; 
                           lpServiceStartName: LPCWSTR; lpPassword: LPCWSTR; 
                           lpDisplayName: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ChangeServiceConfigW".}
proc CreateServiceW*(hSCManager: SC_HANDLE; lpServiceName: LPCWSTR; 
                     lpDisplayName: LPCWSTR; dwDesiredAccess: DWORD; 
                     dwServiceType: DWORD; dwStartType: DWORD; 
                     dwErrorControl: DWORD; lpBinaryPathName: LPCWSTR; 
                     lpLoadOrderGroup: LPCWSTR; lpdwTagId: LPDWORD; 
                     lpDependencies: LPCWSTR; lpServiceStartName: LPCWSTR; 
                     lpPassword: LPCWSTR): SC_HANDLE {.stdcall, 
    dynlib: "advapi32", importc: "CreateServiceW".}
proc EnumDependentServicesW*(hService: SC_HANDLE; dwServiceState: DWORD; 
                             lpServices: LPENUM_SERVICE_STATUS; 
                             cbBufSize: DWORD; pcbBytesNeeded: LPDWORD; 
                             lpServicesReturned: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "EnumDependentServicesW".}
proc EnumServicesStatusW*(hSCManager: SC_HANDLE; dwServiceType: DWORD; 
                          dwServiceState: DWORD; 
                          lpServices: LPENUM_SERVICE_STATUS; cbBufSize: DWORD; 
                          pcbBytesNeeded: LPDWORD; lpServicesReturned: LPDWORD; 
                          lpResumeHandle: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "EnumServicesStatusW".}
proc GetServiceKeyNameW*(hSCManager: SC_HANDLE; lpDisplayName: LPCWSTR; 
                         lpServiceName: LPWSTR; lpcchBuffer: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetServiceKeyNameW".}
proc GetServiceDisplayNameW*(hSCManager: SC_HANDLE; lpServiceName: LPCWSTR; 
                             lpDisplayName: LPWSTR; lpcchBuffer: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetServiceDisplayNameW".}
proc OpenSCManagerW*(lpMachineName: LPCWSTR; lpDatabaseName: LPCWSTR; 
                     dwDesiredAccess: DWORD): SC_HANDLE {.stdcall, 
    dynlib: "advapi32", importc: "OpenSCManagerW".}
proc OpenServiceW*(hSCManager: SC_HANDLE; lpServiceName: LPCWSTR; 
                   dwDesiredAccess: DWORD): SC_HANDLE {.stdcall, 
    dynlib: "advapi32", importc: "OpenServiceW".}
proc QueryServiceConfigW*(hService: SC_HANDLE; 
                          lpServiceConfig: LPQUERY_SERVICE_CONFIG; 
                          cbBufSize: DWORD; pcbBytesNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "QueryServiceConfigW".}
proc QueryServiceLockStatusW*(hSCManager: SC_HANDLE; 
                              lpLockStatus: LPQUERY_SERVICE_LOCK_STATUS; 
                              cbBufSize: DWORD; pcbBytesNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "QueryServiceLockStatusW".}
proc RegisterServiceCtrlHandlerW*(lpServiceName: LPCWSTR; 
                                  lpHandlerProc: LPHANDLER_FUNCTION): SERVICE_STATUS_HANDLE {.
    stdcall, dynlib: "advapi32", importc: "RegisterServiceCtrlHandlerW".}
proc StartServiceCtrlDispatcherW*(lpServiceStartTable: LPSERVICE_TABLE_ENTRY): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "StartServiceCtrlDispatcherW".}
proc StartServiceW*(hService: SC_HANDLE; dwNumServiceArgs: DWORD; 
                    lpServiceArgVectors: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "StartServiceW".}
proc DragQueryFileW*(para1: HDROP; para2: int; para3: LPCWSTR; para4: int): int {.
    stdcall, dynlib: "shell32", importc: "DragQueryFileW".}
proc ExtractAssociatedIconW*(para1: HINST; para2: LPCWSTR; para3: LPWORD): HICON {.
    stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconW".}
proc ExtractIconW*(para1: HINST; para2: LPCWSTR; para3: int): HICON {.stdcall, 
    dynlib: "shell32", importc: "ExtractIconW".}
proc FindExecutableW*(para1: LPCWSTR; para2: LPCWSTR; para3: LPCWSTR): HINST {.
    stdcall, dynlib: "shell32", importc: "FindExecutableW".}
proc ShellAboutW*(para1: HWND; para2: LPCWSTR; para3: LPCWSTR; para4: HICON): int32 {.
    stdcall, dynlib: "shell32", importc: "ShellAboutW".}
proc ShellExecuteW*(para1: HWND; para2: LPCWSTR; para3: LPCWSTR; para4: LPCWSTR; 
                    para5: LPCWSTR; para6: int32): HINST {.stdcall, 
    dynlib: "shell32", importc: "ShellExecuteW".}
proc Shell_NotifyIconW*(dwMessage: DWORD; lpData: PNotifyIconDataA): WINBOOL {.
    stdcall, dynlib: "shell32", importc: "Shell_NotifyIconW".}
proc DdeCreateStringHandleW*(para1: DWORD; para2: LPCWSTR; para3: int32): HSZ {.
    stdcall, dynlib: "user32", importc: "DdeCreateStringHandleW".}
proc DdeInitializeW*(para1: LPDWORD; para2: PFNCALLBACK; para3: DWORD; 
                     para4: DWORD): UINT {.stdcall, dynlib: "user32", 
    importc: "DdeInitializeW".}
proc DdeQueryStringW*(para1: DWORD; para2: HSZ; para3: LPCWSTR; para4: DWORD; 
                      para5: int32): DWORD {.stdcall, dynlib: "user32", 
    importc: "DdeQueryStringW".}
proc LogonUserW*(para1: LPWSTR; para2: LPWSTR; para3: LPWSTR; para4: DWORD; 
                 para5: DWORD; para6: PHANDLE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LogonUserW".}
proc CreateProcessAsUserW*(para1: HANDLE; para2: LPCWSTR; para3: LPWSTR; 
                           para4: LPSECURITY_ATTRIBUTES; 
                           para5: LPSECURITY_ATTRIBUTES; para6: WINBOOL; 
                           para7: DWORD; para8: LPVOID; para9: LPCWSTR; 
                           para10: LPSTARTUPINFO; para11: LPPROCESS_INFORMATION): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "CreateProcessAsUserW".}
proc GetBinaryType*(lpApplicationName: LPCWSTR; lpBinaryType: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetBinaryTypeW".}
proc GetShortPathName*(lpszLongPath: LPCWSTR; lpszShortPath: LPWSTR; 
                       cchBuffer: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GetShortPathNameW".}
proc GetEnvironmentStrings*(): LPWSTR {.stdcall, dynlib: "kernel32", 
                                        importc: "GetEnvironmentStringsW".}
proc FreeEnvironmentStrings*(para1: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "FreeEnvironmentStringsW".}
proc FormatMessage*(dwFlags: DWORD; lpSource: LPCVOID; dwMessageId: DWORD; 
                    dwLanguageId: DWORD; lpBuffer: LPWSTR; nSize: DWORD; 
                    Arguments: va_list): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "FormatMessageW".}
proc CreateMailslot*(lpName: LPCWSTR; nMaxMessageSize: DWORD; 
                     lReadTimeout: DWORD; 
                     lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateMailslotW".}
proc lstrcmp*(lpString1: LPCWSTR; lpString2: LPCWSTR): int32 {.stdcall, 
    dynlib: "kernel32", importc: "lstrcmpW".}
proc lstrcmpi*(lpString1: LPCWSTR; lpString2: LPCWSTR): int32 {.stdcall, 
    dynlib: "kernel32", importc: "lstrcmpiW".}
proc lstrcpyn*(lpString1: LPWSTR; lpString2: LPCWSTR; iMaxLength: int32): LPWSTR {.
    stdcall, dynlib: "kernel32", importc: "lstrcpynW".}
proc lstrcpy*(lpString1: LPWSTR; lpString2: LPCWSTR): LPWSTR {.stdcall, 
    dynlib: "kernel32", importc: "lstrcpyW".}
proc lstrcat*(lpString1: LPWSTR; lpString2: LPCWSTR): LPWSTR {.stdcall, 
    dynlib: "kernel32", importc: "lstrcatW".}
proc lstrlen*(lpString: LPCWSTR): int32 {.stdcall, dynlib: "kernel32", 
    importc: "lstrlenW".}
proc CreateMutex*(lpMutexAttributes: LPSECURITY_ATTRIBUTES; 
                  bInitialOwner: WINBOOL; lpName: LPCWSTR): HANDLE {.stdcall, 
    dynlib: "kernel32", importc: "CreateMutexW".}
proc OpenMutex*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; lpName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "OpenMutexW".}
proc CreateEvent*(lpEventAttributes: LPSECURITY_ATTRIBUTES; 
                  bManualReset: WINBOOL; bInitialState: WINBOOL; lpName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateEventW".}
proc OpenEvent*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; lpName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "OpenEventW".}
proc CreateSemaphore*(lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES; 
                      lInitialCount: LONG; lMaximumCount: LONG; lpName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateSemaphoreW".}
proc OpenSemaphore*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; 
                    lpName: LPCWSTR): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "OpenSemaphoreW".}
proc CreateFileMapping*(hFile: HANDLE; 
                        lpFileMappingAttributes: LPSECURITY_ATTRIBUTES; 
                        flProtect: DWORD; dwMaximumSizeHigh: DWORD; 
                        dwMaximumSizeLow: DWORD; lpName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateFileMappingW".}
proc OpenFileMapping*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; 
                      lpName: LPCWSTR): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "OpenFileMappingW".}
proc GetLogicalDriveStrings*(nBufferLength: DWORD; lpBuffer: LPWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetLogicalDriveStringsW".}
proc LoadLibrary*(lpLibFileName: LPCWSTR): HINST {.stdcall, dynlib: "kernel32", 
    importc: "LoadLibraryW".}
proc LoadLibraryEx*(lpLibFileName: LPCWSTR; hFile: HANDLE; dwFlags: DWORD): HINST {.
    stdcall, dynlib: "kernel32", importc: "LoadLibraryExW".}
proc GetModuleFileName*(hModule: HINST; lpFilename: LPWSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetModuleFileNameW".}
proc GetModuleHandle*(lpModuleName: LPCWSTR): HMODULE {.stdcall, 
    dynlib: "kernel32", importc: "GetModuleHandleW".}
proc FatalAppExit*(uAction: UINT; lpMessageText: LPCWSTR) {.stdcall, 
    dynlib: "kernel32", importc: "FatalAppExitW".}
proc GetCommandLine*(): LPWSTR {.stdcall, dynlib: "kernel32", 
                                 importc: "GetCommandLineW".}
proc GetEnvironmentVariable*(lpName: LPCWSTR; lpBuffer: LPWSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetEnvironmentVariableW".}
proc SetEnvironmentVariable*(lpName: LPCWSTR; lpValue: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetEnvironmentVariableW".}
proc ExpandEnvironmentStrings*(lpSrc: LPCWSTR; lpDst: LPWSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "ExpandEnvironmentStringsW".}
proc OutputDebugString*(lpOutputString: LPCWSTR) {.stdcall, dynlib: "kernel32", 
    importc: "OutputDebugStringW".}
proc FindResource*(hModule: HINST; lpName: LPCWSTR; lpType: LPCWSTR): HRSRC {.
    stdcall, dynlib: "kernel32", importc: "FindResourceW".}
proc FindResourceEx*(hModule: HINST; lpType: LPCWSTR; lpName: LPCWSTR; 
                     wLanguage: int16): HRSRC {.stdcall, dynlib: "kernel32", 
    importc: "FindResourceExW".}
proc EnumResourceTypes*(hModule: HINST; lpEnumFunc: ENUMRESTYPEPROC; 
                        lParam: LONG): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "EnumResourceTypesW".}
proc EnumResourceNames*(hModule: HINST; lpType: LPCWSTR; 
                        lpEnumFunc: ENUMRESNAMEPROC; lParam: LONG): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumResourceNamesW".}
proc EnumResourceLanguages*(hModule: HINST; lpType: LPCWSTR; lpName: LPCWSTR; 
                            lpEnumFunc: ENUMRESLANGPROC; lParam: LONG): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumResourceLanguagesW".}
proc BeginUpdateResource*(pFileName: LPCWSTR; bDeleteExistingResources: WINBOOL): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "BeginUpdateResourceW".}
proc UpdateResource*(hUpdate: HANDLE; lpType: LPCWSTR; lpName: LPCWSTR; 
                     wLanguage: int16; lpData: LPVOID; cbData: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "UpdateResourceW".}
proc EndUpdateResource*(hUpdate: HANDLE; fDiscard: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "EndUpdateResourceW".}
proc GlobalAddAtom*(lpString: LPCWSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "GlobalAddAtomW".}
proc GlobalFindAtom*(lpString: LPCWSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "GlobalFindAtomW".}
proc GlobalGetAtomName*(nAtom: ATOM; lpBuffer: LPWSTR; nSize: int32): UINT {.
    stdcall, dynlib: "kernel32", importc: "GlobalGetAtomNameW".}
proc AddAtom*(lpString: LPCWSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "AddAtomW".}
proc FindAtom*(lpString: LPCWSTR): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "FindAtomW".}
proc GetAtomName*(nAtom: ATOM; lpBuffer: LPWSTR; nSize: int32): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetAtomNameW".}
proc GetProfileInt*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; nDefault: WINT): UINT {.
    stdcall, dynlib: "kernel32", importc: "GetProfileIntW".}
proc GetProfileString*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; 
                       lpDefault: LPCWSTR; lpReturnedString: LPWSTR; 
                       nSize: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GetProfileStringW".}
proc WriteProfileString*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; 
                         lpString: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteProfileStringW".}
proc GetProfileSection*(lpAppName: LPCWSTR; lpReturnedString: LPWSTR; 
                        nSize: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GetProfileSectionW".}
proc WriteProfileSection*(lpAppName: LPCWSTR; lpString: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteProfileSectionW".}
proc GetPrivateProfileInt*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; 
                           nDefault: WINT; lpFileName: LPCWSTR): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetPrivateProfileIntW".}
proc GetPrivateProfileString*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; 
                              lpDefault: LPCWSTR; lpReturnedString: LPWSTR; 
                              nSize: DWORD; lpFileName: LPCWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStringW".}
proc WritePrivateProfileString*(lpAppName: LPCWSTR; lpKeyName: LPCWSTR; 
                                lpString: LPCWSTR; lpFileName: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStringW".}
proc GetPrivateProfileSection*(lpAppName: LPCWSTR; lpReturnedString: LPWSTR; 
                               nSize: DWORD; lpFileName: LPCWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetPrivateProfileSectionW".}
proc WritePrivateProfileSection*(lpAppName: LPCWSTR; lpString: LPCWSTR; 
                                 lpFileName: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WritePrivateProfileSectionW".}
proc GetDriveType*(lpRootPathName: LPCWSTR): UINT {.stdcall, dynlib: "kernel32", 
    importc: "GetDriveTypeW".}
proc GetSystemDirectory*(lpBuffer: LPWSTR; uSize: UINT): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetSystemDirectoryW".}
proc GetTempPath*(nBufferLength: DWORD; lpBuffer: LPWSTR): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetTempPathW".}
proc GetTempFileName*(lpPathName: LPCWSTR; lpPrefixString: LPCWSTR; 
                      uUnique: UINT; lpTempFileName: LPWSTR): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetTempFileNameW".}
proc GetWindowsDirectory*(lpBuffer: LPWSTR; uSize: UINT): UINT {.stdcall, 
    dynlib: "kernel32", importc: "GetWindowsDirectoryW".}
proc SetCurrentDirectory*(lpPathName: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetCurrentDirectoryW".}
proc GetCurrentDirectory*(nBufferLength: DWORD; lpBuffer: LPWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetCurrentDirectoryW".}
proc GetDiskFreeSpace*(lpRootPathName: LPCWSTR; lpSectorsPerCluster: LPDWORD; 
                       lpBytesPerSector: LPDWORD; 
                       lpNumberOfFreeClusters: LPDWORD; 
                       lpTotalNumberOfClusters: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetDiskFreeSpaceW".}
proc CreateDirectory*(lpPathName: LPCWSTR; 
                      lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateDirectoryW".}
proc CreateDirectoryEx*(lpTemplateDirectory: LPCWSTR; lpNewDirectory: LPCWSTR; 
                        lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateDirectoryExW".}
proc RemoveDirectory*(lpPathName: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "RemoveDirectoryW".}
proc GetFullPathName*(lpFileName: LPCWSTR; nBufferLength: DWORD; 
                      lpBuffer: LPWSTR; lpFilePart: var LPWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetFullPathNameW".}
proc DefineDosDevice*(dwFlags: DWORD; lpDeviceName: LPCWSTR; 
                      lpTargetPath: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "DefineDosDeviceW".}
proc QueryDosDevice*(lpDeviceName: LPCWSTR; lpTargetPath: LPWSTR; ucchMax: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "QueryDosDeviceW".}
proc CreateFile*(lpFileName: LPCWSTR; dwDesiredAccess: DWORD; 
                 dwShareMode: DWORD; 
                 lpSecurityAttributes: LPSECURITY_ATTRIBUTES; 
                 dwCreationDisposition: DWORD; dwFlagsAndAttributes: DWORD; 
                 hTemplateFile: HANDLE): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "CreateFileW".}
proc SetFileAttributes*(lpFileName: LPCWSTR; dwFileAttributes: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetFileAttributesW".}
proc GetFileAttributes*(lpFileName: LPCWSTR): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetFileAttributesW".}
proc GetCompressedFileSize*(lpFileName: LPCWSTR; lpFileSizeHigh: LPDWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetCompressedFileSizeW".}
proc DeleteFile*(lpFileName: LPCWSTR): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "DeleteFileW".}
proc SearchPath*(lpPath: LPCWSTR; lpFileName: LPCWSTR; lpExtension: LPCWSTR; 
                 nBufferLength: DWORD; lpBuffer: LPWSTR; lpFilePart: LPWSTR): DWORD {.
    stdcall, dynlib: "kernel32", importc: "SearchPathW".}
proc CopyFile*(lpExistingFileName: LPCWSTR; lpNewFileName: LPCWSTR; 
               bFailIfExists: WINBOOL): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "CopyFileW".}
proc MoveFile*(lpExistingFileName: LPCWSTR; lpNewFileName: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "MoveFileW".}
proc MoveFileEx*(lpExistingFileName: LPCWSTR; lpNewFileName: LPCWSTR; 
                 dwFlags: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "MoveFileExW".}
proc CreateNamedPipe*(lpName: LPCWSTR; dwOpenMode: DWORD; dwPipeMode: DWORD; 
                      nMaxInstances: DWORD; nOutBufferSize: DWORD; 
                      nInBufferSize: DWORD; nDefaultTimeOut: DWORD; 
                      lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateNamedPipeW".}
proc GetNamedPipeHandleState*(hNamedPipe: HANDLE; lpState: LPDWORD; 
                              lpCurInstances: LPDWORD; 
                              lpMaxCollectionCount: LPDWORD; 
                              lpCollectDataTimeout: LPDWORD; lpUserName: LPWSTR; 
                              nMaxUserNameSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetNamedPipeHandleStateW".}
proc CallNamedPipe*(lpNamedPipeName: LPCWSTR; lpInBuffer: LPVOID; 
                    nInBufferSize: DWORD; lpOutBuffer: LPVOID; 
                    nOutBufferSize: DWORD; lpBytesRead: LPDWORD; nTimeOut: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CallNamedPipeW".}
proc WaitNamedPipe*(lpNamedPipeName: LPCWSTR; nTimeOut: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WaitNamedPipeW".}
proc SetVolumeLabel*(lpRootPathName: LPCWSTR; lpVolumeName: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetVolumeLabelW".}
proc GetVolumeInformation*(lpRootPathName: LPCWSTR; lpVolumeNameBuffer: LPWSTR; 
                           nVolumeNameSize: DWORD; 
                           lpVolumeSerialNumber: LPDWORD; 
                           lpMaximumComponentLength: LPDWORD; 
                           lpFileSystemFlags: LPDWORD; 
                           lpFileSystemNameBuffer: LPWSTR; 
                           nFileSystemNameSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVolumeInformationW".}
proc ClearEventLog*(hEventLog: HANDLE; lpBackupFileName: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ClearEventLogW".}
proc BackupEventLog*(hEventLog: HANDLE; lpBackupFileName: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "BackupEventLogW".}
proc OpenEventLog*(lpUNCServerName: LPCWSTR; lpSourceName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "advapi32", importc: "OpenEventLogW".}
proc RegisterEventSource*(lpUNCServerName: LPCWSTR; lpSourceName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "advapi32", importc: "RegisterEventSourceW".}
proc OpenBackupEventLog*(lpUNCServerName: LPCWSTR; lpFileName: LPCWSTR): HANDLE {.
    stdcall, dynlib: "advapi32", importc: "OpenBackupEventLogW".}
proc ReadEventLog*(hEventLog: HANDLE; dwReadFlags: DWORD; dwRecordOffset: DWORD; 
                   lpBuffer: LPVOID; nNumberOfBytesToRead: DWORD; 
                   pnBytesRead: LPDWORD; pnMinNumberOfBytesNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ReadEventLogW".}
proc ReportEvent*(hEventLog: HANDLE; wType: int16; wCategory: int16; 
                  dwEventID: DWORD; lpUserSid: PSID; wNumStrings: int16; 
                  dwDataSize: DWORD; lpStrings: LPPCWSTR; lpRawData: LPVOID): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ReportEventW".}
proc AccessCheckAndAuditAlarm*(SubsystemName: LPCWSTR; HandleId: LPVOID; 
                               ObjectTypeName: LPWSTR; ObjectName: LPWSTR; 
                               SecurityDescriptor: PSECURITY_DESCRIPTOR; 
                               DesiredAccess: DWORD; 
                               GenericMapping: PGENERIC_MAPPING; 
                               ObjectCreation: WINBOOL; GrantedAccess: LPDWORD; 
                               AccessStatus: LPBOOL; pfGenerateOnClose: LPBOOL): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "AccessCheckAndAuditAlarmW".}
proc ObjectOpenAuditAlarm*(SubsystemName: LPCWSTR; HandleId: LPVOID; 
                           ObjectTypeName: LPWSTR; ObjectName: LPWSTR; 
                           pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                           ClientToken: HANDLE; DesiredAccess: DWORD; 
                           GrantedAccess: DWORD; Privileges: PPRIVILEGE_SET; 
                           ObjectCreation: WINBOOL; AccessGranted: WINBOOL; 
                           GenerateOnClose: LPBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectOpenAuditAlarmW".}
proc ObjectPrivilegeAuditAlarm*(SubsystemName: LPCWSTR; HandleId: LPVOID; 
                                ClientToken: HANDLE; DesiredAccess: DWORD; 
                                Privileges: PPRIVILEGE_SET; 
                                AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmW".}
proc ObjectCloseAuditAlarm*(SubsystemName: LPCWSTR; HandleId: LPVOID; 
                            GenerateOnClose: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectCloseAuditAlarmW".}
proc PrivilegedServiceAuditAlarm*(SubsystemName: LPCWSTR; ServiceName: LPCWSTR; 
                                  ClientToken: HANDLE; 
                                  Privileges: PPRIVILEGE_SET; 
                                  AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmW".}
proc SetFileSecurity*(lpFileName: LPCWSTR; 
                      SecurityInformation: SECURITY_INFORMATION; 
                      pSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "SetFileSecurityW".}
proc GetFileSecurity*(lpFileName: LPCWSTR; 
                      RequestedInformation: SECURITY_INFORMATION; 
                      pSecurityDescriptor: PSECURITY_DESCRIPTOR; nLength: DWORD; 
                      lpnLengthNeeded: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "GetFileSecurityW".}
proc FindFirstChangeNotification*(lpPathName: LPCWSTR; bWatchSubtree: WINBOOL; 
                                  dwNotifyFilter: DWORD): HANDLE {.stdcall, 
    dynlib: "kernel32", importc: "FindFirstChangeNotificationW".}
proc IsBadStringPtr*(lpsz: LPCWSTR; ucchMax: UINT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "IsBadStringPtrW".}
proc LookupAccountSid*(lpSystemName: LPCWSTR; Sid: PSID; Name: LPWSTR; 
                       cbName: LPDWORD; ReferencedDomainName: LPWSTR; 
                       cbReferencedDomainName: LPDWORD; peUse: PSID_NAME_USE): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupAccountSidW".}
proc LookupAccountName*(lpSystemName: LPCWSTR; lpAccountName: LPCWSTR; 
                        Sid: PSID; cbSid: LPDWORD; ReferencedDomainName: LPWSTR; 
                        cbReferencedDomainName: LPDWORD; peUse: PSID_NAME_USE): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupAccountNameW".}
proc LookupPrivilegeValue*(lpSystemName: LPCWSTR; lpName: LPCWSTR; lpLuid: PLUID): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupPrivilegeValueW".}
proc LookupPrivilegeName*(lpSystemName: LPCWSTR; lpLuid: PLUID; lpName: LPWSTR; 
                          cbName: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupPrivilegeNameW".}
proc LookupPrivilegeDisplayName*(lpSystemName: LPCWSTR; lpName: LPCWSTR; 
                                 lpDisplayName: LPWSTR; cbDisplayName: LPDWORD; 
                                 lpLanguageId: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameW".}
proc BuildCommDCB*(lpDef: LPCWSTR; lpDCB: LPDCB): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "BuildCommDCBW".}
proc BuildCommDCBAndTimeouts*(lpDef: LPCWSTR; lpDCB: LPDCB; 
                              lpCommTimeouts: LPCOMMTIMEOUTS): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsW".}
proc CommConfigDialog*(lpszName: LPCWSTR; wnd: HWND; lpCC: LPCOMMCONFIG): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CommConfigDialogW".}
proc GetDefaultCommConfig*(lpszName: LPCWSTR; lpCC: LPCOMMCONFIG; 
                           lpdwSize: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetDefaultCommConfigW".}
proc SetDefaultCommConfig*(lpszName: LPCWSTR; lpCC: LPCOMMCONFIG; dwSize: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetDefaultCommConfigW".}
proc GetComputerName*(lpBuffer: LPWSTR; nSize: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetComputerNameW".}
proc SetComputerName*(lpComputerName: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetComputerNameW".}
proc GetUserName*(lpBuffer: LPWSTR; nSize: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "GetUserNameW".}
proc LoadKeyboardLayout*(pwszKLID: LPCWSTR; Flags: UINT): HKL {.stdcall, 
    dynlib: "user32", importc: "LoadKeyboardLayoutW".}
proc GetKeyboardLayoutName*(pwszKLID: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetKeyboardLayoutNameW".}
proc CreateDesktop*(lpszDesktop: LPWSTR; lpszDevice: LPWSTR; 
                    pDevmode: LPDEVMODE; dwFlags: DWORD; dwDesiredAccess: DWORD; 
                    lpsa: LPSECURITY_ATTRIBUTES): HDESK {.stdcall, 
    dynlib: "user32", importc: "CreateDesktopW".}
proc OpenDesktop*(lpszDesktop: LPWSTR; dwFlags: DWORD; fInherit: WINBOOL; 
                  dwDesiredAccess: DWORD): HDESK {.stdcall, dynlib: "user32", 
    importc: "OpenDesktopW".}
proc EnumDesktops*(hwinsta: HWINSTA; lpEnumFunc: DESKTOPENUMPROC; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnumDesktopsW".}
proc CreateWindowStation*(lpwinsta: LPWSTR; dwReserved: DWORD; 
                          dwDesiredAccess: DWORD; lpsa: LPSECURITY_ATTRIBUTES): HWINSTA {.
    stdcall, dynlib: "user32", importc: "CreateWindowStationW".}
proc OpenWindowStation*(lpszWinSta: LPWSTR; fInherit: WINBOOL; 
                        dwDesiredAccess: DWORD): HWINSTA {.stdcall, 
    dynlib: "user32", importc: "OpenWindowStationW".}
proc EnumWindowStations*(lpEnumFunc: ENUMWINDOWSTATIONPROC; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnumWindowStationsW".}
proc GetUserObjectInformation*(hObj: HANDLE; nIndex: int32; pvInfo: PVOID; 
                               nLength: DWORD; lpnLengthNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetUserObjectInformationW".}
proc SetUserObjectInformation*(hObj: HANDLE; nIndex: int32; pvInfo: PVOID; 
                               nLength: DWORD): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetUserObjectInformationW".}
proc RegisterWindowMessage*(lpString: LPCWSTR): UINT {.stdcall, 
    dynlib: "user32", importc: "RegisterWindowMessageW".}
proc GetMessage*(lpMsg: LPMSG; wnd: HWND; wMsgFilterMin: UINT; 
                 wMsgFilterMax: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetMessageW".}
proc DispatchMessage*(lpMsg: LPMSG): LONG {.stdcall, dynlib: "user32", 
    importc: "DispatchMessageW".}
proc PeekMessage*(lpMsg: LPMSG; wnd: HWND; wMsgFilterMin: UINT; 
                  wMsgFilterMax: UINT; wRemoveMsg: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "PeekMessageW".}
proc SendMessage*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "SendMessageW".}
proc SendMessageTimeout*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM; 
                         fuFlags: UINT; uTimeout: UINT; lpdwResult: LPDWORD): LRESULT {.
    stdcall, dynlib: "user32", importc: "SendMessageTimeoutW".}
proc SendNotifyMessage*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SendNotifyMessageW".}
proc SendMessageCallback*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM; 
                          lpResultCallBack: SENDASYNCPROC; dwData: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SendMessageCallbackW".}
proc PostMessage*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "PostMessageW".}
proc PostThreadMessage*(idThread: DWORD; Msg: UINT; wp: WPARAM; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "PostThreadMessageW".}
proc DefWindowProc*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "DefWindowProcW".}
proc CallWindowProc*(lpPrevWndFunc: WNDPROC; wnd: HWND; Msg: UINT; wp: WPARAM; 
                     lp: LPARAM): LRESULT {.stdcall, dynlib: "user32", 
    importc: "CallWindowProcW".}
proc RegisterClass*(lpWndClass: LPWNDCLASS): ATOM {.stdcall, dynlib: "user32", 
    importc: "RegisterClassW".}
proc UnregisterClass*(lpClassName: LPCWSTR; hInstance: HINST): WINBOOL {.
    stdcall, dynlib: "user32", importc: "UnregisterClassW".}
proc GetClassInfo*(hInstance: HINST; lpClassName: LPCWSTR; 
                   lpWndClass: LPWNDCLASS): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetClassInfoW".}
proc RegisterClassEx*(para1: LPWNDCLASSEXW): ATOM {.stdcall, dynlib: "user32", 
    importc: "RegisterClassExW".}
proc GetClassInfoEx*(para1: HINST; para2: LPCWSTR; para3: LPWNDCLASSEX): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetClassInfoExW".}
proc CreateWindowEx*(dwExStyle: DWORD; lpClassName: LPCWSTR; 
                     lpWindowName: LPCWSTR; dwStyle: DWORD; X: int32; Y: int32; 
                     nWidth: int32; nHeight: int32; hWndParent: HWND; 
                     menu: HMENU; hInstance: HINST; lpParam: LPVOID): HWND {.
    stdcall, dynlib: "user32", importc: "CreateWindowExW".}
proc CreateDialogParam*(hInstance: HINST; lpTemplateName: LPCWSTR; 
                        hWndParent: HWND; lpDialogFunc: DLGPROC; 
                        dwInitParam: LPARAM): HWND {.stdcall, dynlib: "user32", 
    importc: "CreateDialogParamW".}
proc CreateDialogIndirectParam*(hInstance: HINST; lpTemplate: LPCDLGTEMPLATE; 
                                hWndParent: HWND; lpDialogFunc: DLGPROC; 
                                dwInitParam: LPARAM): HWND {.stdcall, 
    dynlib: "user32", importc: "CreateDialogIndirectParamW".}
proc DialogBoxParam*(hInstance: HINST; lpTemplateName: LPCWSTR; 
                     hWndParent: HWND; lpDialogFunc: DLGPROC; 
                     dwInitParam: LPARAM): int32 {.stdcall, dynlib: "user32", 
    importc: "DialogBoxParamW".}
proc DialogBoxIndirectParam*(hInstance: HINST; hDialogTemplate: LPCDLGTEMPLATE; 
                             hWndParent: HWND; lpDialogFunc: DLGPROC; 
                             dwInitParam: LPARAM): int32 {.stdcall, 
    dynlib: "user32", importc: "DialogBoxIndirectParamW".}
proc SetDlgItemText*(hDlg: HWND; nIDDlgItem: int32; lpString: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetDlgItemTextW".}
proc GetDlgItemText*(hDlg: HWND; nIDDlgItem: int32; lpString: LPWSTR; 
                     nMaxCount: int32): UINT {.stdcall, dynlib: "user32", 
    importc: "GetDlgItemTextW".}
proc SendDlgItemMessage*(hDlg: HWND; nIDDlgItem: int32; Msg: UINT; wp: WPARAM; 
                         lp: LPARAM): LONG {.stdcall, dynlib: "user32", 
    importc: "SendDlgItemMessageW".}
proc DefDlgProc*(hDlg: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "DefDlgProcW".}
proc CallMsgFilter*(lpMsg: LPMSG; nCode: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CallMsgFilterW".}
proc RegisterClipboardFormat*(lpszFormat: LPCWSTR): UINT {.stdcall, 
    dynlib: "user32", importc: "RegisterClipboardFormatW".}
proc GetClipboardFormatName*(format: UINT; lpszFormatName: LPWSTR; 
                             cchMaxCount: int32): int32 {.stdcall, 
    dynlib: "user32", importc: "GetClipboardFormatNameW".}
proc CharToOem*(lpszSrc: LPCWSTR; lpszDst: LPSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CharToOemW".}
proc OemToChar*(lpszSrc: LPCSTR; lpszDst: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "OemToCharW".}
proc CharToOemBuff*(lpszSrc: LPCWSTR; lpszDst: LPSTR; cchDstLength: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "CharToOemBuffW".}
proc OemToCharBuff*(lpszSrc: LPCSTR; lpszDst: LPWSTR; cchDstLength: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "OemToCharBuffW".}
proc CharUpper*(lpsz: LPWSTR): LPWSTR {.stdcall, dynlib: "user32", 
                                        importc: "CharUpperW".}
proc CharUpperBuff*(lpsz: LPWSTR; cchLength: DWORD): DWORD {.stdcall, 
    dynlib: "user32", importc: "CharUpperBuffW".}
proc CharLower*(lpsz: LPWSTR): LPWSTR {.stdcall, dynlib: "user32", 
                                        importc: "CharLowerW".}
proc CharLowerBuff*(lpsz: LPWSTR; cchLength: DWORD): DWORD {.stdcall, 
    dynlib: "user32", importc: "CharLowerBuffW".}
proc CharNext*(lpsz: LPCWSTR): LPWSTR {.stdcall, dynlib: "user32", 
                                        importc: "CharNextW".}
proc CharPrev*(lpszStart: LPCWSTR; lpszCurrent: LPCWSTR): LPWSTR {.stdcall, 
    dynlib: "user32", importc: "CharPrevW".}
proc IsCharAlpha*(ch: WCHAR): WINBOOL {.stdcall, dynlib: "user32", 
                                        importc: "IsCharAlphaW".}
proc IsCharAlphaNumeric*(ch: WCHAR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsCharAlphaNumericW".}
proc IsCharUpper*(ch: WCHAR): WINBOOL {.stdcall, dynlib: "user32", 
                                        importc: "IsCharUpperW".}
proc IsCharLower*(ch: WCHAR): WINBOOL {.stdcall, dynlib: "user32", 
                                        importc: "IsCharLowerW".}
proc GetKeyNameText*(lParam: LONG; lpString: LPWSTR; nSize: int32): int32 {.
    stdcall, dynlib: "user32", importc: "GetKeyNameTextW".}
proc VkKeyScan*(ch: WCHAR): SHORT {.stdcall, dynlib: "user32", 
                                    importc: "VkKeyScanW".}
proc VkKeyScanEx*(ch: WCHAR; dwhkl: HKL): SHORT {.stdcall, dynlib: "user32", 
    importc: "VkKeyScanExW".}
proc MapVirtualKey*(uCode: UINT; uMapType: UINT): UINT {.stdcall, 
    dynlib: "user32", importc: "MapVirtualKeyW".}
proc MapVirtualKeyEx*(uCode: UINT; uMapType: UINT; dwhkl: HKL): UINT {.stdcall, 
    dynlib: "user32", importc: "MapVirtualKeyExW".}
proc LoadAccelerators*(hInstance: HINST; lpTableName: LPCWSTR): HACCEL {.
    stdcall, dynlib: "user32", importc: "LoadAcceleratorsW".}
proc CreateAcceleratorTable*(para1: LPACCEL; para2: int32): HACCEL {.stdcall, 
    dynlib: "user32", importc: "CreateAcceleratorTableW".}
proc CopyAcceleratorTable*(hAccelSrc: HACCEL; lpAccelDst: LPACCEL; 
                           cAccelEntries: int32): int32 {.stdcall, 
    dynlib: "user32", importc: "CopyAcceleratorTableW".}
proc TranslateAccelerator*(wnd: HWND; hAccTable: HACCEL; lpMsg: LPMSG): int32 {.
    stdcall, dynlib: "user32", importc: "TranslateAcceleratorW".}
proc LoadMenu*(hInstance: HINST; lpMenuName: LPCWSTR): HMENU {.stdcall, 
    dynlib: "user32", importc: "LoadMenuW".}
proc LoadMenuIndirect*(lpMenuTemplate: LPMENUTEMPLATE): HMENU {.stdcall, 
    dynlib: "user32", importc: "LoadMenuIndirectW".}
proc ChangeMenu*(menu: HMENU; cmd: UINT; lpszNewItem: LPCWSTR; cmdInsert: UINT; 
                 flags: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ChangeMenuW".}
proc GetMenuString*(menu: HMENU; uIDItem: UINT; lpString: LPWSTR; 
                    nMaxCount: int32; uFlag: UINT): int32 {.stdcall, 
    dynlib: "user32", importc: "GetMenuStringW".}
proc InsertMenu*(menu: HMENU; uPosition: UINT; uFlags: UINT; uIDNewItem: UINT; 
                 lpNewItem: LPCWSTR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "InsertMenuW".}
proc AppendMenu*(menu: HMENU; uFlags: UINT; uIDNewItem: UINT; lpNewItem: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "user32", importc: "AppendMenuW".}
proc ModifyMenu*(hMnu: HMENU; uPosition: UINT; uFlags: UINT; uIDNewItem: UINT; 
                 lpNewItem: LPCWSTR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ModifyMenuW".}
proc InsertMenuItem*(para1: HMENU; para2: UINT; para3: WINBOOL; 
                     para4: LPCMENUITEMINFO): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "InsertMenuItemW".}
proc GetMenuItemInfo*(para1: HMENU; para2: UINT; para3: WINBOOL; 
                      para4: LPMENUITEMINFO): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetMenuItemInfoW".}
proc SetMenuItemInfo*(para1: HMENU; para2: UINT; para3: WINBOOL; 
                      para4: LPCMENUITEMINFO): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetMenuItemInfoW".}
proc DrawText*(hDC: HDC; lpString: LPCWSTR; nCount: int32; lpRect: LPRECT; 
               uFormat: UINT): int32 {.stdcall, dynlib: "user32", 
                                       importc: "DrawTextW".}
proc DrawTextEx*(para1: HDC; para2: LPWSTR; para3: int32; para4: LPRECT; 
                 para5: UINT; para6: LPDRAWTEXTPARAMS): int32 {.stdcall, 
    dynlib: "user32", importc: "DrawTextExW".}
proc GrayString*(hDC: HDC; hBrush: HBRUSH; lpOutputFunc: GRAYSTRINGPROC; 
                 lpData: LPARAM; nCount: int32; X: int32; Y: int32; 
                 nWidth: int32; nHeight: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GrayStringW".}
proc DrawState*(para1: HDC; para2: HBRUSH; para3: DRAWSTATEPROC; para4: LPARAM; 
                para5: WPARAM; para6: int32; para7: int32; para8: int32; 
                para9: int32; para10: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DrawStateW".}
proc TabbedTextOut*(hDC: HDC; X: int32; Y: int32; lpString: LPCWSTR; 
                    nCount: int32; nTabPositions: int32; 
                    lpnTabStopPositions: LPINT; nTabOrigin: int32): LONG {.
    stdcall, dynlib: "user32", importc: "TabbedTextOutW".}
proc GetTabbedTextExtent*(hDC: HDC; lpString: LPCWSTR; nCount: int32; 
                          nTabPositions: int32; lpnTabStopPositions: LPINT): DWORD {.
    stdcall, dynlib: "user32", importc: "GetTabbedTextExtentW".}
proc SetProp*(wnd: HWND; lpString: LPCWSTR; hData: HANDLE): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetPropW".}
proc GetProp*(wnd: HWND; lpString: LPCWSTR): HANDLE {.stdcall, dynlib: "user32", 
    importc: "GetPropW".}
proc RemoveProp*(wnd: HWND; lpString: LPCWSTR): HANDLE {.stdcall, 
    dynlib: "user32", importc: "RemovePropW".}
proc EnumPropsEx*(wnd: HWND; lpEnumFunc: PROPENUMPROCEX; lp: LPARAM): int32 {.
    stdcall, dynlib: "user32", importc: "EnumPropsExW".}
proc EnumProps*(wnd: HWND; lpEnumFunc: PROPENUMPROC): int32 {.stdcall, 
    dynlib: "user32", importc: "EnumPropsW".}
proc SetWindowText*(wnd: HWND; lpString: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetWindowTextW".}
proc GetWindowText*(wnd: HWND; lpString: LPWSTR; nMaxCount: int32): int32 {.
    stdcall, dynlib: "user32", importc: "GetWindowTextW".}
proc GetWindowTextLength*(wnd: HWND): int32 {.stdcall, dynlib: "user32", 
    importc: "GetWindowTextLengthW".}
proc MessageBox*(wnd: HWND; lpText: LPCWSTR; lpCaption: LPCWSTR; uType: UINT): int32 {.
    stdcall, dynlib: "user32", importc: "MessageBoxW".}
proc MessageBoxEx*(wnd: HWND; lpText: LPCWSTR; lpCaption: LPCWSTR; uType: UINT; 
                   wLanguageId: int16): int32 {.stdcall, dynlib: "user32", 
    importc: "MessageBoxExW".}
proc MessageBoxIndirect*(para1: LPMSGBOXPARAMS): int32 {.stdcall, 
    dynlib: "user32", importc: "MessageBoxIndirectW".}
proc GetWindowLong*(wnd: HWND; nIndex: int32): LONG {.stdcall, dynlib: "user32", 
    importc: "GetWindowLongW".}
proc SetWindowLong*(wnd: HWND; nIndex: int32; dwNewLong: LONG): LONG {.stdcall, 
    dynlib: "user32", importc: "SetWindowLongW".}
proc GetClassLong*(wnd: HWND; nIndex: int32): DWORD {.stdcall, dynlib: "user32", 
    importc: "GetClassLongW".}
proc SetClassLong*(wnd: HWND; nIndex: int32; dwNewLong: LONG): DWORD {.stdcall, 
    dynlib: "user32", importc: "SetClassLongW".}
proc GetWindowLongPtr*(wnd: HWND; nIndex: int32): LONG_PTR {.stdcall, 
    dynlib: "user32", importc: "GetWindowLongPtrW".}
proc SetWindowLongPtr*(wnd: HWND; nIndex: int32; dwNewLong: LONG_PTR): LONG_PTR {.
    stdcall, dynlib: "user32", importc: "SetWindowLongPtrW".}
proc GetClassLongPtr*(wnd: HWND; nIndex: int32): LONG_PTR {.stdcall, 
    dynlib: "user32", importc: "GetClassLongPtrW".}
proc SetClassLongPtr*(wnd: HWND; nIndex: int32; dwNewLong: LONG_PTR): LONG_PTR {.
    stdcall, dynlib: "user32", importc: "SetClassLongPtrW".}
proc FindWindow*(lpClassName: LPCWSTR; lpWindowName: LPCWSTR): HWND {.stdcall, 
    dynlib: "user32", importc: "FindWindowW".}
proc FindWindowEx*(para1: HWND; para2: HWND; para3: LPCWSTR; para4: LPCWSTR): HWND {.
    stdcall, dynlib: "user32", importc: "FindWindowExW".}
proc GetClassName*(wnd: HWND; lpClassName: LPWSTR; nMaxCount: int32): int32 {.
    stdcall, dynlib: "user32", importc: "GetClassNameW".}
proc SetWindowsHookEx*(idHook: int32; lpfn: HOOKPROC; hmod: HINST; 
                       dwThreadId: DWORD): HHOOK {.stdcall, dynlib: "user32", 
    importc: "SetWindowsHookExW".}
proc LoadBitmap*(hInstance: HINST; lpBitmapName: LPCWSTR): HBITMAP {.stdcall, 
    dynlib: "user32", importc: "LoadBitmapW".}
proc LoadCursor*(hInstance: HINST; lpCursorName: LPCWSTR): HCURSOR {.stdcall, 
    dynlib: "user32", importc: "LoadCursorW".}
proc LoadCursorFromFile*(lpFileName: LPCWSTR): HCURSOR {.stdcall, 
    dynlib: "user32", importc: "LoadCursorFromFileW".}
proc LoadIcon*(hInstance: HINST; lpIconName: LPCWSTR): HICON {.stdcall, 
    dynlib: "user32", importc: "LoadIconW".}
proc LoadImage*(para1: HINST; para2: LPCWSTR; para3: UINT; para4: int32; 
                para5: int32; para6: UINT): HANDLE {.stdcall, dynlib: "user32", 
    importc: "LoadImageW".}
proc LoadString*(hInstance: HINST; uID: UINT; lpBuffer: LPWSTR; 
                 nBufferMax: int32): int32 {.stdcall, dynlib: "user32", 
    importc: "LoadStringW".}
proc IsDialogMessage*(hDlg: HWND; lpMsg: LPMSG): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "IsDialogMessageW".}
proc DlgDirList*(hDlg: HWND; lpPathSpec: LPWSTR; nIDListBox: int32; 
                 nIDStaticPath: int32; uFileType: UINT): int32 {.stdcall, 
    dynlib: "user32", importc: "DlgDirListW".}
proc DlgDirSelectEx*(hDlg: HWND; lpString: LPWSTR; nCount: int32; 
                     nIDListBox: int32): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DlgDirSelectExW".}
proc DlgDirListComboBox*(hDlg: HWND; lpPathSpec: LPWSTR; nIDComboBox: int32; 
                         nIDStaticPath: int32; uFiletype: UINT): int32 {.
    stdcall, dynlib: "user32", importc: "DlgDirListComboBoxW".}
proc DlgDirSelectComboBoxEx*(hDlg: HWND; lpString: LPWSTR; nCount: int32; 
                             nIDComboBox: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DlgDirSelectComboBoxExW".}
proc DefFrameProc*(wnd: HWND; hWndMDIClient: HWND; uMsg: UINT; wp: WPARAM; 
                   lp: LPARAM): LRESULT {.stdcall, dynlib: "user32", 
    importc: "DefFrameProcW".}
proc DefMDIChildProc*(wnd: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "DefMDIChildProcW".}
proc CreateMDIWindow*(lpClassName: LPWSTR; lpWindowName: LPWSTR; dwStyle: DWORD; 
                      X: int32; Y: int32; nWidth: int32; nHeight: int32; 
                      hWndParent: HWND; hInstance: HINST; lp: LPARAM): HWND {.
    stdcall, dynlib: "user32", importc: "CreateMDIWindowW".}
proc WinHelp*(hWndMain: HWND; lpszHelp: LPCWSTR; uCommand: UINT; dwData: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "WinHelpW".}
proc ChangeDisplaySettings*(lpDevMode: LPDEVMODE; dwFlags: DWORD): LONG {.
    stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsW".}
proc EnumDisplaySettings*(lpszDeviceName: LPCWSTR; iModeNum: DWORD; 
                          lpDevMode: LPDEVMODEW): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EnumDisplaySettingsW".}
proc SystemParametersInfo*(uiAction: UINT; uiParam: UINT; pvParam: PVOID; 
                           fWinIni: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SystemParametersInfoW".}
proc AddFontResource*(para1: LPCWSTR): int32 {.stdcall, dynlib: "gdi32", 
    importc: "AddFontResourceW".}
proc CopyMetaFile*(para1: HMETAFILE; para2: LPCWSTR): HMETAFILE {.stdcall, 
    dynlib: "gdi32", importc: "CopyMetaFileW".}
proc CreateFontIndirect*(para1: PLOGFONT): HFONT {.stdcall, dynlib: "gdi32", 
    importc: "CreateFontIndirectW".}
proc CreateFontIndirect*(para1: var LOGFONT): HFONT {.stdcall, dynlib: "gdi32", 
    importc: "CreateFontIndirectW".}
proc CreateFont*(para1: int32; para2: int32; para3: int32; para4: int32; 
                 para5: int32; para6: DWORD; para7: DWORD; para8: DWORD; 
                 para9: DWORD; para10: DWORD; para11: DWORD; para12: DWORD; 
                 para13: DWORD; para14: LPCWSTR): HFONT {.stdcall, 
    dynlib: "gdi32", importc: "CreateFontW".}
proc CreateIC*(para1: LPCWSTR; para2: LPCWSTR; para3: LPCWSTR; para4: LPDEVMODE): HDC {.
    stdcall, dynlib: "gdi32", importc: "CreateICW".}
proc CreateMetaFile*(para1: LPCWSTR): HDC {.stdcall, dynlib: "gdi32", 
    importc: "CreateMetaFileW".}
proc CreateScalableFontResource*(para1: DWORD; para2: LPCWSTR; para3: LPCWSTR; 
                                 para4: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "CreateScalableFontResourceW".}
proc EnumFontFamiliesEx*(para1: HDC; para2: LPLOGFONT; para3: FONTENUMEXPROC; 
                         para4: LPARAM; para5: DWORD): int32 {.stdcall, 
    dynlib: "gdi32", importc: "EnumFontFamiliesExW".}
proc EnumFontFamilies*(para1: HDC; para2: LPCWSTR; para3: FONTENUMPROC; 
                       para4: LPARAM): int32 {.stdcall, dynlib: "gdi32", 
    importc: "EnumFontFamiliesW".}
proc EnumFonts*(para1: HDC; para2: LPCWSTR; para3: ENUMFONTSPROC; para4: LPARAM): int32 {.
    stdcall, dynlib: "gdi32", importc: "EnumFontsW".}
proc EnumFonts*(para1: HDC; para2: LPCWSTR; para3: ENUMFONTSPROC; para4: pointer): int32 {.
    stdcall, dynlib: "gdi32", importc: "EnumFontsW".}
proc GetCharWidth*(para1: HDC; para2: UINT; para3: UINT; para4: LPINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidthW".}
proc GetCharWidth32*(para1: HDC; para2: UINT; para3: UINT; para4: LPINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidth32W".}
proc GetCharWidthFloat*(para1: HDC; para2: UINT; para3: UINT; para4: ptr float32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatW".}
proc GetCharABCWidths*(para1: HDC; para2: UINT; para3: UINT; para4: LPABC): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsW".}
proc GetCharABCWidthsFloat*(para1: HDC; para2: UINT; para3: UINT; 
                            para4: LPABCFLOAT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetCharABCWidthsFloatW".}
proc GetGlyphOutline*(para1: HDC; para2: UINT; para3: UINT; 
                      para4: LPGLYPHMETRICS; para5: DWORD; para6: LPVOID; 
                      para7: PMAT2): DWORD {.stdcall, dynlib: "gdi32", 
    importc: "GetGlyphOutlineW".}
proc GetMetaFile*(para1: LPCWSTR): HMETAFILE {.stdcall, dynlib: "gdi32", 
    importc: "GetMetaFileW".}
proc GetOutlineTextMetrics*(para1: HDC; para2: UINT; para3: LPOUTLINETEXTMETRIC): UINT {.
    stdcall, dynlib: "gdi32", importc: "GetOutlineTextMetricsW".}
proc GetTextExtentPoint*(para1: HDC; para2: LPCWSTR; para3: int32; para4: LPSIZE): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetTextExtentPointW".}
proc GetTextExtentPoint32*(para1: HDC; para2: LPCWSTR; para3: int32; 
                           para4: LPSIZE): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetTextExtentPoint32W".}
proc GetTextExtentExPoint*(para1: HDC; para2: LPCWSTR; para3: int32; 
                           para4: int32; para5: LPINT; para6: LPINT; 
                           para7: LPSIZE): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetTextExtentExPointW".}
proc GetCharacterPlacement*(para1: HDC; para2: LPCWSTR; para3: int32; 
                            para4: int32; para5: LPGCP_RESULTS; para6: DWORD): DWORD {.
    stdcall, dynlib: "gdi32", importc: "GetCharacterPlacementW".}
proc ResetDC*(para1: HDC; para2: LPDEVMODE): HDC {.stdcall, dynlib: "gdi32", 
    importc: "ResetDCW".}
proc RemoveFontResource*(para1: LPCWSTR): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "RemoveFontResourceW".}
proc CopyEnhMetaFile*(para1: HENHMETAFILE; para2: LPCWSTR): HENHMETAFILE {.
    stdcall, dynlib: "gdi32", importc: "CopyEnhMetaFileW".}
proc CreateEnhMetaFile*(para1: HDC; para2: LPCWSTR; para3: LPRECT; 
                        para4: LPCWSTR): HDC {.stdcall, dynlib: "gdi32", 
    importc: "CreateEnhMetaFileW".}
proc GetEnhMetaFile*(para1: LPCWSTR): HENHMETAFILE {.stdcall, dynlib: "gdi32", 
    importc: "GetEnhMetaFileW".}
proc GetEnhMetaFileDescription*(para1: HENHMETAFILE; para2: UINT; para3: LPWSTR): UINT {.
    stdcall, dynlib: "gdi32", importc: "GetEnhMetaFileDescriptionW".}
proc GetTextMetrics*(para1: HDC; para2: LPTEXTMETRIC): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetTextMetricsW".}
proc StartDoc*(para1: HDC; para2: PDOCINFO): int32 {.stdcall, dynlib: "gdi32", 
    importc: "StartDocW".}
proc GetObject*(para1: HGDIOBJ; para2: int32; para3: LPVOID): int32 {.stdcall, 
    dynlib: "gdi32", importc: "GetObjectW".}
proc TextOut*(para1: HDC; para2: int32; para3: int32; para4: LPCWSTR; 
              para5: int32): WINBOOL {.stdcall, dynlib: "gdi32", 
                                       importc: "TextOutW".}
proc ExtTextOut*(para1: HDC; para2: int32; para3: int32; para4: UINT; 
                 para5: LPRECT; para6: LPCWSTR; para7: UINT; para8: LPINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "ExtTextOutW".}
proc PolyTextOut*(para1: HDC; para2: PPOLYTEXT; para3: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyTextOutW".}
proc GetTextFace*(para1: HDC; para2: int32; para3: LPWSTR): int32 {.stdcall, 
    dynlib: "gdi32", importc: "GetTextFaceW".}
proc GetKerningPairs*(para1: HDC; para2: DWORD; para3: LPKERNINGPAIR): DWORD {.
    stdcall, dynlib: "gdi32", importc: "GetKerningPairsW".}
proc GetLogColorSpace*(para1: HCOLORSPACE; para2: LPLOGCOLORSPACE; para3: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetLogColorSpaceW".}
proc CreateColorSpace*(para1: LPLOGCOLORSPACE): HCOLORSPACE {.stdcall, 
    dynlib: "gdi32", importc: "CreateColorSpaceW".}
proc GetICMProfile*(para1: HDC; para2: DWORD; para3: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetICMProfileW".}
proc SetICMProfile*(para1: HDC; para2: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "SetICMProfileW".}
proc UpdateICMRegKey*(para1: DWORD; para2: DWORD; para3: LPWSTR; para4: UINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "UpdateICMRegKeyW".}
proc EnumICMProfiles*(para1: HDC; para2: ICMENUMPROC; para3: LPARAM): int32 {.
    stdcall, dynlib: "gdi32", importc: "EnumICMProfilesW".}
proc CreatePropertySheetPage*(lppsp: LPCPROPSHEETPAGE): HPROPSHEETPAGE {.
    stdcall, dynlib: "comctl32", importc: "CreatePropertySheetPageW".}
proc PropertySheet*(lppsph: LPCPROPSHEETHEADER): int32 {.stdcall, 
    dynlib: "comctl32", importc: "PropertySheetW".}
proc ImageList_LoadImage*(hi: HINST; lpbmp: LPCWSTR; cx: int32; cGrow: int32; 
                          crMask: COLORREF; uType: UINT; uFlags: UINT): HIMAGELIST {.
    stdcall, dynlib: "comctl32", importc: "ImageList_LoadImageW".}
proc CreateStatusWindow*(style: LONG; lpszText: LPCWSTR; hwndParent: HWND; 
                         wID: UINT): HWND {.stdcall, dynlib: "comctl32", 
    importc: "CreateStatusWindowW".}
proc DrawStatusText*(hDC: HDC; lprc: LPRECT; pszText: LPCWSTR; uFlags: UINT) {.
    stdcall, dynlib: "comctl32", importc: "DrawStatusTextW".}
proc GetOpenFileName*(para1: LPOPENFILENAME): WINBOOL {.stdcall, 
    dynlib: "comdlg32", importc: "GetOpenFileNameW".}
proc GetSaveFileName*(para1: LPOPENFILENAME): WINBOOL {.stdcall, 
    dynlib: "comdlg32", importc: "GetSaveFileNameW".}
proc GetFileTitle*(para1: LPCWSTR; para2: LPWSTR; para3: int16): int {.stdcall, 
    dynlib: "comdlg32", importc: "GetFileTitleW".}
proc ChooseColor*(para1: LPCHOOSECOLOR): WINBOOL {.stdcall, dynlib: "comdlg32", 
    importc: "ChooseColorW".}
proc ReplaceText*(para1: LPFINDREPLACE): HWND {.stdcall, dynlib: "comdlg32", 
    importc: "ReplaceTextW".}
proc ChooseFont*(para1: LPCHOOSEFONT): WINBOOL {.stdcall, dynlib: "comdlg32", 
    importc: "ChooseFontW".}
proc FindText*(para1: LPFINDREPLACE): HWND {.stdcall, dynlib: "comdlg32", 
    importc: "FindTextW".}
proc PrintDlg*(para1: LPPRINTDLG): WINBOOL {.stdcall, dynlib: "comdlg32", 
    importc: "PrintDlgW".}
proc PageSetupDlg*(para1: LPPAGESETUPDLG): WINBOOL {.stdcall, 
    dynlib: "comdlg32", importc: "PageSetupDlgW".}
proc CreateProcess*(lpApplicationName: LPCWSTR; lpCommandLine: LPWSTR; 
                    lpProcessAttributes: LPSECURITY_ATTRIBUTES; 
                    lpThreadAttributes: LPSECURITY_ATTRIBUTES; 
                    bInheritHandles: WINBOOL; dwCreationFlags: DWORD; 
                    lpEnvironment: LPVOID; lpCurrentDirectory: LPCWSTR; 
                    lpStartupInfo: LPSTARTUPINFO; 
                    lpProcessInformation: LPPROCESS_INFORMATION): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateProcessW".}
proc GetStartupInfo*(lpStartupInfo: LPSTARTUPINFO) {.stdcall, 
    dynlib: "kernel32", importc: "GetStartupInfoW".}
proc FindFirstFile*(lpFileName: LPCWSTR; lpFindFileData: LPWIN32_FIND_DATA): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "FindFirstFileW".}
proc FindNextFile*(hFindFile: HANDLE; lpFindFileData: LPWIN32_FIND_DATA): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FindNextFileW".}
proc GetVersionEx*(VersionInformation: LPOSVERSIONINFOW): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVersionExW".}
proc GetVersionExW*(VersionInformation: LPOSVERSIONINFOW): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVersionExW".}
proc CreateWindow*(lpClassName: LPCWSTR; lpWindowName: LPCWSTR; dwStyle: DWORD; 
                   X: int32; Y: int32; nWidth: int32; nHeight: int32; 
                   hWndParent: HWND; menu: HMENU; hInstance: HINST; 
                   lpParam: LPVOID): HWND
proc CreateDialog*(hInstance: HINST; lpName: LPCWSTR; hWndParent: HWND; 
                   lpDialogFunc: DLGPROC): HWND
proc CreateDialogIndirect*(hInstance: HINST; lpTemplate: LPCDLGTEMPLATE; 
                           hWndParent: HWND; lpDialogFunc: DLGPROC): HWND
proc DialogBox*(hInstance: HINST; lpTemplate: LPCWSTR; hWndParent: HWND; 
                lpDialogFunc: DLGPROC): int32
proc DialogBoxIndirect*(hInstance: HINST; lpTemplate: LPCDLGTEMPLATE; 
                        hWndParent: HWND; lpDialogFunc: DLGPROC): int32
proc CreateDC*(para1: LPCWSTR; para2: LPCWSTR; para3: LPCWSTR; para4: pDEVMODE): HDC {.
    stdcall, dynlib: "gdi32", importc: "CreateDCW".}
proc VerInstallFile*(uFlags: DWORD; szSrcFileName: LPWSTR; 
                     szDestFileName: LPWSTR; szSrcDir: LPWSTR; 
                     szDestDir: LPWSTR; szCurDir: LPWSTR; szTmpFile: LPWSTR; 
                     lpuTmpFileLen: PUINT): DWORD {.stdcall, dynlib: "version", 
    importc: "VerInstallFileW".}
proc GetFileVersionInfoSize*(lptstrFilename: LPWSTR; lpdwHandle: LPDWORD): DWORD {.
    stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeW".}
proc GetFileVersionInfo*(lptstrFilename: LPWSTR; dwHandle: DWORD; dwLen: DWORD; 
                         lpData: LPVOID): WINBOOL {.stdcall, dynlib: "version", 
    importc: "GetFileVersionInfoW".}
proc VerLanguageName*(wLang: DWORD; szLang: LPWSTR; nSize: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "VerLanguageNameW".}
proc VerQueryValue*(pBlock: LPVOID; lpSubBlock: LPWSTR; lplpBuffer: LPVOID; 
                    puLen: PUINT): WINBOOL {.stdcall, dynlib: "version", 
    importc: "VerQueryValueW".}
proc VerFindFile*(uFlags: DWORD; szFileName: LPWSTR; szWinDir: LPWSTR; 
                  szAppDir: LPWSTR; szCurDir: LPWSTR; lpuCurDirLen: PUINT; 
                  szDestDir: LPWSTR; lpuDestDirLen: PUINT): DWORD {.stdcall, 
    dynlib: "version", importc: "VerFindFileW".}
proc RegSetValueEx*(key: HKEY; lpValueName: LPCWSTR; Reserved: DWORD; 
                    dwType: DWORD; lpData: LPBYTE; cbData: DWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegSetValueExW".}
proc RegUnLoadKey*(key: HKEY; lpSubKey: LPCWSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegUnLoadKeyW".}
proc InitiateSystemShutdown*(lpMachineName: LPWSTR; lpMessage: LPWSTR; 
                             dwTimeout: DWORD; bForceAppsClosed: WINBOOL; 
                             bRebootAfterShutdown: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "InitiateSystemShutdownW".}
proc AbortSystemShutdown*(lpMachineName: LPWSTR): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "AbortSystemShutdownW".}
proc RegRestoreKey*(key: HKEY; lpFile: LPCWSTR; dwFlags: DWORD): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegRestoreKeyW".}
proc RegSaveKey*(key: HKEY; lpFile: LPCWSTR; 
                 lpSecurityAttributes: LPSECURITY_ATTRIBUTES): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegSaveKeyW".}
proc RegSetValue*(key: HKEY; lpSubKey: LPCWSTR; dwType: DWORD; lpData: LPCWSTR; 
                  cbData: DWORD): LONG {.stdcall, dynlib: "advapi32", 
    importc: "RegSetValueW".}
proc RegQueryValue*(key: HKEY; lpSubKey: LPCWSTR; lpValue: LPWSTR; 
                    lpcbValue: PLONG): LONG {.stdcall, dynlib: "advapi32", 
    importc: "RegQueryValueW".}
proc RegQueryMultipleValues*(key: HKEY; val_list: PVALENT; num_vals: DWORD; 
                             lpValueBuf: LPWSTR; ldwTotsize: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesW".}
proc RegQueryValueEx*(key: HKEY; lpValueName: LPCWSTR; lpReserved: LPDWORD; 
                      lpType: LPDWORD; lpData: LPBYTE; lpcbData: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegQueryValueExW".}
proc RegReplaceKey*(key: HKEY; lpSubKey: LPCWSTR; lpNewFile: LPCWSTR; 
                    lpOldFile: LPCWSTR): LONG {.stdcall, dynlib: "advapi32", 
    importc: "RegReplaceKeyW".}
proc RegConnectRegistry*(lpMachineName: LPWSTR; key: HKEY; phkResult: PHKEY): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegConnectRegistryW".}
proc RegCreateKey*(key: HKEY; lpSubKey: LPCWSTR; phkResult: PHKEY): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyW".}
proc RegCreateKeyEx*(key: HKEY; lpSubKey: LPCWSTR; Reserved: DWORD; 
                     lpClass: LPWSTR; dwOptions: DWORD; samDesired: REGSAM; 
                     lpSecurityAttributes: LPSECURITY_ATTRIBUTES; 
                     phkResult: PHKEY; lpdwDisposition: LPDWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyExW".}
proc RegDeleteKey*(key: HKEY; lpSubKey: LPCWSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegDeleteKeyW".}
proc RegDeleteValue*(key: HKEY; lpValueName: LPCWSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegDeleteValueW".}
proc RegEnumKey*(key: HKEY; dwIndex: DWORD; lpName: LPWSTR; cbName: DWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegEnumKeyW".}
proc RegEnumKeyEx*(key: HKEY; dwIndex: DWORD; lpName: LPWSTR; lpcbName: LPDWORD; 
                   lpReserved: LPDWORD; lpClass: LPWSTR; lpcbClass: LPDWORD; 
                   lpftLastWriteTime: PFILETIME): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegEnumKeyExW".}
proc RegEnumValue*(key: HKEY; dwIndex: DWORD; lpValueName: LPWSTR; 
                   lpcbValueName: LPDWORD; lpReserved: LPDWORD; lpType: LPDWORD; 
                   lpData: LPBYTE; lpcbData: LPDWORD): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegEnumValueW".}
proc RegLoadKey*(key: HKEY; lpSubKey: LPCWSTR; lpFile: LPCWSTR): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegLoadKeyW".}
proc RegOpenKey*(key: HKEY; lpSubKey: LPCWSTR; phkResult: PHKEY): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegOpenKeyW".}
proc RegOpenKeyEx*(key: HKEY; lpSubKey: LPCWSTR; ulOptions: DWORD; 
                   samDesired: REGSAM; phkResult: PHKEY): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegOpenKeyExW".}
proc RegQueryInfoKey*(key: HKEY; lpClass: LPWSTR; lpcbClass: LPDWORD; 
                      lpReserved: LPDWORD; lpcSubKeys: LPDWORD; 
                      lpcbMaxSubKeyLen: LPDWORD; lpcbMaxClassLen: LPDWORD; 
                      lpcValues: LPDWORD; lpcbMaxValueNameLen: LPDWORD; 
                      lpcbMaxValueLen: LPDWORD; lpcbSecurityDescriptor: LPDWORD; 
                      lpftLastWriteTime: PFILETIME): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegQueryInfoKeyW".}
proc CompareString*(Locale: LCID; dwCmpFlags: DWORD; lpString1: LPCWSTR; 
                    cchCount1: int32; lpString2: LPCWSTR; cchCount2: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "CompareStringW".}
proc LCMapString*(Locale: LCID; dwMapFlags: DWORD; lpSrcStr: LPCWSTR; 
                  cchSrc: int32; lpDestStr: LPWSTR; cchDest: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "LCMapStringW".}
proc GetLocaleInfo*(Locale: LCID; LCType: LCTYPE; lpLCData: LPWSTR; 
                    cchData: int32): int32 {.stdcall, dynlib: "kernel32", 
    importc: "GetLocaleInfoW".}
proc SetLocaleInfo*(Locale: LCID; LCType: LCTYPE; lpLCData: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetLocaleInfoW".}
proc GetTimeFormat*(Locale: LCID; dwFlags: DWORD; lpTime: LPSYSTEMTIME; 
                    lpFormat: LPCWSTR; lpTimeStr: LPWSTR; cchTime: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "GetTimeFormatW".}
proc GetDateFormat*(Locale: LCID; dwFlags: DWORD; lpDate: LPSYSTEMTIME; 
                    lpFormat: LPCWSTR; lpDateStr: LPWSTR; cchDate: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "GetDateFormatW".}
proc GetNumberFormat*(Locale: LCID; dwFlags: DWORD; lpValue: LPCWSTR; 
                      lpFormat: PNUMBERFMT; lpNumberStr: LPWSTR; 
                      cchNumber: int32): int32 {.stdcall, dynlib: "kernel32", 
    importc: "GetNumberFormatW".}
proc GetCurrencyFormat*(Locale: LCID; dwFlags: DWORD; lpValue: LPCWSTR; 
                        lpFormat: PCURRENCYFMT; lpCurrencyStr: LPWSTR; 
                        cchCurrency: int32): int32 {.stdcall, 
    dynlib: "kernel32", importc: "GetCurrencyFormatW".}
proc EnumCalendarInfo*(lpCalInfoEnumProc: CALINFO_ENUMPROC; Locale: LCID; 
                       Calendar: CALID; CalType: CALTYPE): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "EnumCalendarInfoW".}
proc EnumTimeFormats*(lpTimeFmtEnumProc: TIMEFMT_ENUMPROC; Locale: LCID; 
                      dwFlags: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "EnumTimeFormatsW".}
proc EnumDateFormats*(lpDateFmtEnumProc: DATEFMT_ENUMPROC; Locale: LCID; 
                      dwFlags: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "EnumDateFormatsW".}
proc GetStringTypeEx*(Locale: LCID; dwInfoType: DWORD; lpSrcStr: LPCWSTR; 
                      cchSrc: int32; lpCharType: LPWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetStringTypeExW".}
proc GetStringType*(dwInfoType: DWORD; lpSrcStr: LPCWSTR; cchSrc: int32; 
                    lpCharType: LPWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "GetStringTypeW".}
proc FoldString*(dwMapFlags: DWORD; lpSrcStr: LPCWSTR; cchSrc: int32; 
                 lpDestStr: LPWSTR; cchDest: int32): int32 {.stdcall, 
    dynlib: "kernel32", importc: "FoldStringW".}
proc EnumSystemLocales*(lpLocaleEnumProc: LOCALE_ENUMPROC; dwFlags: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumSystemLocalesW".}
proc EnumSystemCodePages*(lpCodePageEnumProc: CODEPAGE_ENUMPROC; dwFlags: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "EnumSystemCodePagesW".}
proc PeekConsoleInput*(hConsoleInput: HANDLE; lpBuffer: PINPUTRECORD; 
                       nLength: DWORD; lpNumberOfEventsRead: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "PeekConsoleInputW".}
proc ReadConsoleInput*(hConsoleInput: HANDLE; lpBuffer: PINPUTRECORD; 
                       nLength: DWORD; lpNumberOfEventsRead: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleInputW".}
proc WriteConsoleInput*(hConsoleInput: HANDLE; lpBuffer: PINPUTRECORD; 
                        nLength: DWORD; lpNumberOfEventsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleInputW".}
proc ReadConsoleOutput*(hConsoleOutput: HANDLE; lpBuffer: PCHAR_INFO; 
                        dwBufferSize: COORD; dwBufferCoord: COORD; 
                        lpReadRegion: PSMALL_RECT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ReadConsoleOutputW".}
proc WriteConsoleOutput*(hConsoleOutput: HANDLE; lpBuffer: PCHAR_INFO; 
                         dwBufferSize: COORD; dwBufferCoord: COORD; 
                         lpWriteRegion: PSMALL_RECT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteConsoleOutputW".}
proc ReadConsoleOutputCharacter*(hConsoleOutput: HANDLE; lpCharacter: LPWSTR; 
                                 nLength: DWORD; dwReadCoord: COORD; 
                                 lpNumberOfCharsRead: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterW".}
proc WriteConsoleOutputCharacter*(hConsoleOutput: HANDLE; lpCharacter: LPCWSTR; 
                                  nLength: DWORD; dwWriteCoord: COORD; 
                                  lpNumberOfCharsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterW".}
proc FillConsoleOutputCharacter*(hConsoleOutput: HANDLE; cCharacter: WCHAR; 
                                 nLength: DWORD; dwWriteCoord: COORD; 
                                 lpNumberOfCharsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterW".}
proc ScrollConsoleScreenBuffer*(hConsoleOutput: HANDLE; 
                                lpScrollRectangle: PSMALL_RECT; 
                                lpClipRectangle: PSMALL_RECT; 
                                dwDestinationOrigin: COORD; lpFill: PCHAR_INFO): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ScrollConsoleScreenBufferW".}
proc GetConsoleTitle*(lpConsoleTitle: LPWSTR; nSize: DWORD): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetConsoleTitleW".}
proc SetConsoleTitle*(lpConsoleTitle: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetConsoleTitleW".}
proc ReadConsole*(hConsoleInput: HANDLE; lpBuffer: LPVOID; 
                  nNumberOfCharsToRead: DWORD; lpNumberOfCharsRead: LPDWORD; 
                  lpReserved: LPVOID): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "ReadConsoleW".}
proc WriteConsole*(hConsoleOutput: HANDLE; lpBuffer: pointer; 
                   nNumberOfCharsToWrite: DWORD; 
                   lpNumberOfCharsWritten: LPDWORD; lpReserved: LPVOID): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleW".}
proc WNetAddConnection*(lpRemoteName: LPCWSTR; lpPassword: LPCWSTR; 
                        lpLocalName: LPCWSTR): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetAddConnectionW".}
proc WNetAddConnection2*(lpNetResource: LPNETRESOURCE; lpPassword: LPCWSTR; 
                         lpUserName: LPCWSTR; dwFlags: DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetAddConnection2W".}
proc WNetAddConnection3*(hwndOwner: HWND; lpNetResource: LPNETRESOURCE; 
                         lpPassword: LPCWSTR; lpUserName: LPCWSTR; 
                         dwFlags: DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetAddConnection3W".}
proc WNetCancelConnection*(lpName: LPCWSTR; fForce: WINBOOL): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetCancelConnectionW".}
proc WNetCancelConnection2*(lpName: LPCWSTR; dwFlags: DWORD; fForce: WINBOOL): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetCancelConnection2W".}
proc WNetGetConnection*(lpLocalName: LPCWSTR; lpRemoteName: LPWSTR; 
                        lpnLength: LPDWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetConnectionW".}
proc WNetUseConnection*(hwndOwner: HWND; lpNetResource: LPNETRESOURCE; 
                        lpUserID: LPCWSTR; lpPassword: LPCWSTR; dwFlags: DWORD; 
                        lpAccessName: LPWSTR; lpBufferSize: LPDWORD; 
                        lpResult: LPDWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetUseConnectionW".}
proc WNetSetConnection*(lpName: LPCWSTR; dwProperties: DWORD; pvValues: LPVOID): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetSetConnectionW".}
proc WNetConnectionDialog1*(lpConnDlgStruct: LPCONNECTDLGSTRUCT): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1W".}
proc WNetDisconnectDialog1*(lpConnDlgStruct: LPDISCDLGSTRUCT): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetDisconnectDialog1W".}
proc WNetOpenEnum*(dwScope: DWORD; dwType: DWORD; dwUsage: DWORD; 
                   lpNetResource: LPNETRESOURCE; lphEnum: LPHANDLE): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetOpenEnumW".}
proc WNetEnumResource*(hEnum: HANDLE; lpcCount: LPDWORD; lpBuffer: LPVOID; 
                       lpBufferSize: LPDWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetEnumResourceW".}
proc WNetGetUniversalName*(lpLocalPath: LPCWSTR; dwInfoLevel: DWORD; 
                           lpBuffer: LPVOID; lpBufferSize: LPDWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameW".}
proc WNetGetUser*(lpName: LPCWSTR; lpUserName: LPWSTR; lpnLength: LPDWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUserW".}
proc WNetGetProviderName*(dwNetType: DWORD; lpProviderName: LPWSTR; 
                          lpBufferSize: LPDWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetGetProviderNameW".}
proc WNetGetNetworkInformation*(lpProvider: LPCWSTR; 
                                lpNetInfoStruct: LPNETINFOSTRUCT): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationW".}
proc WNetGetLastError*(lpError: LPDWORD; lpErrorBuf: LPWSTR; 
                       nErrorBufSize: DWORD; lpNameBuf: LPWSTR; 
                       nNameBufSize: DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetLastErrorW".}
proc MultinetGetConnectionPerformance*(lpNetResource: LPNETRESOURCE; 
    lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT): DWORD {.stdcall, 
    dynlib: "mpr", importc: "MultinetGetConnectionPerformanceW".}
proc ChangeServiceConfig*(hService: SC_HANDLE; dwServiceType: DWORD; 
                          dwStartType: DWORD; dwErrorControl: DWORD; 
                          lpBinaryPathName: LPCWSTR; lpLoadOrderGroup: LPCWSTR; 
                          lpdwTagId: LPDWORD; lpDependencies: LPCWSTR; 
                          lpServiceStartName: LPCWSTR; lpPassword: LPCWSTR; 
                          lpDisplayName: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ChangeServiceConfigW".}
proc CreateService*(hSCManager: SC_HANDLE; lpServiceName: LPCWSTR; 
                    lpDisplayName: LPCWSTR; dwDesiredAccess: DWORD; 
                    dwServiceType: DWORD; dwStartType: DWORD; 
                    dwErrorControl: DWORD; lpBinaryPathName: LPCWSTR; 
                    lpLoadOrderGroup: LPCWSTR; lpdwTagId: LPDWORD; 
                    lpDependencies: LPCWSTR; lpServiceStartName: LPCWSTR; 
                    lpPassword: LPCWSTR): SC_HANDLE {.stdcall, 
    dynlib: "advapi32", importc: "CreateServiceW".}
proc EnumDependentServices*(hService: SC_HANDLE; dwServiceState: DWORD; 
                            lpServices: LPENUM_SERVICE_STATUS; cbBufSize: DWORD; 
                            pcbBytesNeeded: LPDWORD; lpServicesReturned: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "EnumDependentServicesW".}
proc EnumServicesStatus*(hSCManager: SC_HANDLE; dwServiceType: DWORD; 
                         dwServiceState: DWORD; 
                         lpServices: LPENUM_SERVICE_STATUS; cbBufSize: DWORD; 
                         pcbBytesNeeded: LPDWORD; lpServicesReturned: LPDWORD; 
                         lpResumeHandle: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "EnumServicesStatusW".}
proc GetServiceKeyName*(hSCManager: SC_HANDLE; lpDisplayName: LPCWSTR; 
                        lpServiceName: LPWSTR; lpcchBuffer: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetServiceKeyNameW".}
proc GetServiceDisplayName*(hSCManager: SC_HANDLE; lpServiceName: LPCWSTR; 
                            lpDisplayName: LPWSTR; lpcchBuffer: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetServiceDisplayNameW".}
proc OpenSCManager*(lpMachineName: LPCWSTR; lpDatabaseName: LPCWSTR; 
                    dwDesiredAccess: DWORD): SC_HANDLE {.stdcall, 
    dynlib: "advapi32", importc: "OpenSCManagerW".}
proc OpenService*(hSCManager: SC_HANDLE; lpServiceName: LPCWSTR; 
                  dwDesiredAccess: DWORD): SC_HANDLE {.stdcall, 
    dynlib: "advapi32", importc: "OpenServiceW".}
proc QueryServiceConfig*(hService: SC_HANDLE; 
                         lpServiceConfig: LPQUERY_SERVICE_CONFIG; 
                         cbBufSize: DWORD; pcbBytesNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "QueryServiceConfigW".}
proc QueryServiceLockStatus*(hSCManager: SC_HANDLE; 
                             lpLockStatus: LPQUERY_SERVICE_LOCK_STATUS; 
                             cbBufSize: DWORD; pcbBytesNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "QueryServiceLockStatusW".}
proc RegisterServiceCtrlHandler*(lpServiceName: LPCWSTR; 
                                 lpHandlerProc: LPHANDLER_FUNCTION): SERVICE_STATUS_HANDLE {.
    stdcall, dynlib: "advapi32", importc: "RegisterServiceCtrlHandlerW".}
proc StartServiceCtrlDispatcher*(lpServiceStartTable: LPSERVICE_TABLE_ENTRY): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "StartServiceCtrlDispatcherW".}
proc StartService*(hService: SC_HANDLE; dwNumServiceArgs: DWORD; 
                   lpServiceArgVectors: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "StartServiceW".}
proc DragQueryFile*(para1: HDROP; para2: int; para3: LPCWSTR; para4: int): int {.
    stdcall, dynlib: "shell32", importc: "DragQueryFileW".}
proc ExtractAssociatedIcon*(para1: HINST; para2: LPCWSTR; para3: LPWORD): HICON {.
    stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconW".}
proc ExtractIcon*(para1: HINST; para2: LPCWSTR; para3: int): HICON {.stdcall, 
    dynlib: "shell32", importc: "ExtractIconW".}
proc FindExecutable*(para1: LPCWSTR; para2: LPCWSTR; para3: LPCWSTR): HINST {.
    stdcall, dynlib: "shell32", importc: "FindExecutableW".}
proc ShellAbout*(para1: HWND; para2: LPCWSTR; para3: LPCWSTR; para4: HICON): int32 {.
    stdcall, dynlib: "shell32", importc: "ShellAboutW".}
proc ShellExecute*(para1: HWND; para2: LPCWSTR; para3: LPCWSTR; para4: LPCWSTR; 
                   para5: LPCWSTR; para6: int32): HINST {.stdcall, 
    dynlib: "shell32", importc: "ShellExecuteW".}
proc Shell_NotifyIcon*(dwMessage: DWORD; lpData: PNotifyIconDataA): WINBOOL {.
    stdcall, dynlib: "shell32", importc: "Shell_NotifyIconW".}
proc DdeCreateStringHandle*(para1: DWORD; para2: LPCWSTR; para3: int32): HSZ {.
    stdcall, dynlib: "user32", importc: "DdeCreateStringHandleW".}
proc DdeInitialize*(para1: LPDWORD; para2: PFNCALLBACK; para3: DWORD; 
                    para4: DWORD): UINT {.stdcall, dynlib: "user32", 
    importc: "DdeInitializeW".}
proc DdeQueryString*(para1: DWORD; para2: HSZ; para3: LPCWSTR; para4: DWORD; 
                     para5: int32): DWORD {.stdcall, dynlib: "user32", 
    importc: "DdeQueryStringW".}
proc LogonUser*(para1: LPWSTR; para2: LPWSTR; para3: LPWSTR; para4: DWORD; 
                para5: DWORD; para6: PHANDLE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LogonUserW".}
proc CreateProcessAsUser*(para1: HANDLE; para2: LPCWSTR; para3: LPWSTR; 
                          para4: LPSECURITY_ATTRIBUTES; 
                          para5: LPSECURITY_ATTRIBUTES; para6: WINBOOL; 
                          para7: DWORD; para8: LPVOID; para9: LPCWSTR; 
                          para10: LPSTARTUPINFO; para11: LPPROCESS_INFORMATION): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "CreateProcessAsUserW".}
proc GetRandomRgn*(aHDC: HDC; aHRGN: HRGN; iNum: WINT): WINT {.stdcall, importc, 
    dynlib: "gdi32".}
proc AccessCheck*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                  ClientToken: HANDLE; DesiredAccess: DWORD; 
                  GenericMapping: PGENERIC_MAPPING; 
                  PrivilegeSet: PPRIVILEGE_SET; PrivilegeSetLength: LPDWORD; 
                  GrantedAccess: LPDWORD; AccessStatus: LPBOOL): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "AccessCheck".}
proc FreeResource*(hResData: HGLOBAL): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "FreeResource".}
proc LockResource*(hResData: HGLOBAL): LPVOID {.stdcall, dynlib: "kernel32", 
    importc: "LockResource".}
proc FreeLibrary*(hLibModule: HINST): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "FreeLibrary".}
proc FreeLibraryAndExitThread*(hLibModule: HMODULE; dwExitCode: DWORD) {.
    stdcall, dynlib: "kernel32", importc: "FreeLibraryAndExitThread".}
proc DisableThreadLibraryCalls*(hLibModule: HMODULE): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "DisableThreadLibraryCalls".}
proc GetProcAddress*(hModule: HINST; lpProcName: LPCSTR): FARPROC {.stdcall, 
    dynlib: "kernel32", importc: "GetProcAddress".}
proc GetVersion*(): DWORD {.stdcall, dynlib: "kernel32", importc: "GetVersion".}
proc GlobalAlloc*(uFlags: INT; dwBytes: DWORD): HGLOBAL {.stdcall, 
    dynlib: "kernel32", importc: "GlobalAlloc".}
proc GlobalReAlloc*(hMem: HGLOBAL; dwBytes: DWORD; uFlags: INT): HGLOBAL {.
    stdcall, dynlib: "kernel32", importc: "GlobalReAlloc".}
proc GlobalSize*(hMem: HGLOBAL): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GlobalSize".}
proc GlobalFlags*(hMem: HGLOBAL): UINT {.stdcall, dynlib: "kernel32", 
    importc: "GlobalFlags".}
proc GlobalLock*(hMem: HGLOBAL): LPVOID {.stdcall, dynlib: "kernel32", 
    importc: "GlobalLock".}
proc GlobalHandle*(pMem: LPCVOID): HGLOBAL {.stdcall, dynlib: "kernel32", 
    importc: "GlobalHandle".}
proc GlobalUnlock*(hMem: HGLOBAL): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "GlobalUnlock".}
proc GlobalFree*(hMem: HGLOBAL): HGLOBAL {.stdcall, dynlib: "kernel32", 
    importc: "GlobalFree".}
proc GlobalCompact*(dwMinFree: DWORD): UINT {.stdcall, dynlib: "kernel32", 
    importc: "GlobalCompact".}
proc GlobalFix*(hMem: HGLOBAL) {.stdcall, dynlib: "kernel32", 
                                 importc: "GlobalFix".}
proc GlobalUnfix*(hMem: HGLOBAL) {.stdcall, dynlib: "kernel32", 
                                   importc: "GlobalUnfix".}
proc GlobalWire*(hMem: HGLOBAL): LPVOID {.stdcall, dynlib: "kernel32", 
    importc: "GlobalWire".}
proc GlobalUnWire*(hMem: HGLOBAL): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "GlobalUnWire".}
proc GlobalMemoryStatus*(lpBuffer: LPMEMORYSTATUS) {.stdcall, 
    dynlib: "kernel32", importc: "GlobalMemoryStatus".}
proc LocalAlloc*(uFlags: UINT; uBytes: UINT): HLOCAL {.stdcall, 
    dynlib: "kernel32", importc: "LocalAlloc".}
proc LocalReAlloc*(hMem: HLOCAL; uBytes: UINT; uFlags: UINT): HLOCAL {.stdcall, 
    dynlib: "kernel32", importc: "LocalReAlloc".}
proc LocalLock*(hMem: HLOCAL): LPVOID {.stdcall, dynlib: "kernel32", 
                                        importc: "LocalLock".}
proc LocalHandle*(pMem: LPCVOID): HLOCAL {.stdcall, dynlib: "kernel32", 
    importc: "LocalHandle".}
proc LocalUnlock*(hMem: HLOCAL): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "LocalUnlock".}
proc LocalSize*(hMem: HLOCAL): UINT {.stdcall, dynlib: "kernel32", 
                                      importc: "LocalSize".}
proc LocalFlags*(hMem: HLOCAL): UINT {.stdcall, dynlib: "kernel32", 
                                       importc: "LocalFlags".}
proc LocalFree*(hMem: HLOCAL): HLOCAL {.stdcall, dynlib: "kernel32", 
                                        importc: "LocalFree".}
proc LocalShrink*(hMem: HLOCAL; cbNewSize: UINT): UINT {.stdcall, 
    dynlib: "kernel32", importc: "LocalShrink".}
proc LocalCompact*(uMinFree: UINT): UINT {.stdcall, dynlib: "kernel32", 
    importc: "LocalCompact".}
proc FlushInstructionCache*(hProcess: HANDLE; lpBaseAddress: LPCVOID; 
                            dwSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "FlushInstructionCache".}
proc VirtualAlloc*(lpAddress: LPVOID; dwSize: DWORD; flAllocationType: DWORD; 
                   flProtect: DWORD): LPVOID {.stdcall, dynlib: "kernel32", 
    importc: "VirtualAlloc".}
proc VirtualFree*(lpAddress: LPVOID; dwSize: DWORD; dwFreeType: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "VirtualFree".}
proc VirtualProtect*(lpAddress: LPVOID; dwSize: DWORD; flNewProtect: DWORD; 
                     lpflOldProtect: PDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "VirtualProtect".}
proc VirtualQuery*(lpAddress: LPCVOID; lpBuffer: PMEMORY_BASIC_INFORMATION; 
                   dwLength: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "VirtualQuery".}
proc VirtualProtectEx*(hProcess: HANDLE; lpAddress: LPVOID; dwSize: DWORD; 
                       flNewProtect: DWORD; lpflOldProtect: PDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "VirtualProtectEx".}
proc VirtualQueryEx*(hProcess: HANDLE; lpAddress: LPCVOID; 
                     lpBuffer: PMEMORY_BASIC_INFORMATION; dwLength: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "VirtualQueryEx".}
proc HeapCreate*(flOptions: DWORD; dwInitialSize: DWORD; dwMaximumSize: DWORD): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "HeapCreate".}
proc HeapDestroy*(hHeap: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "HeapDestroy".}
proc HeapAlloc*(hHeap: HANDLE; dwFlags: DWORD; dwBytes: DWORD): LPVOID {.
    stdcall, dynlib: "kernel32", importc: "HeapAlloc".}
proc HeapReAlloc*(hHeap: HANDLE; dwFlags: DWORD; lpMem: LPVOID; dwBytes: DWORD): LPVOID {.
    stdcall, dynlib: "kernel32", importc: "HeapReAlloc".}
proc HeapFree*(hHeap: HANDLE; dwFlags: DWORD; lpMem: LPVOID): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "HeapFree".}
proc HeapSize*(hHeap: HANDLE; dwFlags: DWORD; lpMem: LPCVOID): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "HeapSize".}
proc HeapValidate*(hHeap: HANDLE; dwFlags: DWORD; lpMem: LPCVOID): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "HeapValidate".}
proc HeapCompact*(hHeap: HANDLE; dwFlags: DWORD): UINT {.stdcall, 
    dynlib: "kernel32", importc: "HeapCompact".}
proc GetProcessHeap*(): HANDLE {.stdcall, dynlib: "kernel32", 
                                 importc: "GetProcessHeap".}
proc GetProcessHeaps*(NumberOfHeaps: DWORD; ProcessHeaps: PHANDLE): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetProcessHeaps".}
proc HeapLock*(hHeap: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "HeapLock".}
proc HeapUnlock*(hHeap: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "HeapUnlock".}
proc HeapWalk*(hHeap: HANDLE; lpEntry: LPPROCESS_HEAP_ENTRY): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "HeapWalk".}
proc GetProcessAffinityMask*(hProcess: HANDLE; lpProcessAffinityMask: LPDWORD; 
                             lpSystemAffinityMask: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetProcessAffinityMask".}
proc GetProcessTimes*(hProcess: HANDLE; lpCreationTime: LPFILETIME; 
                      lpExitTime: LPFILETIME; lpKernelTime: LPFILETIME; 
                      lpUserTime: LPFILETIME): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetProcessTimes".}
proc GetProcessWorkingSetSize*(hProcess: HANDLE; 
                               lpMinimumWorkingSetSize: LPDWORD; 
                               lpMaximumWorkingSetSize: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetProcessWorkingSetSize".}
proc SetProcessWorkingSetSize*(hProcess: HANDLE; dwMinimumWorkingSetSize: DWORD; 
                               dwMaximumWorkingSetSize: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetProcessWorkingSetSize".}
proc OpenProcess*(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; 
                  dwProcessId: DWORD): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "OpenProcess".}
proc GetCurrentProcess*(): HANDLE {.stdcall, dynlib: "kernel32", 
                                    importc: "GetCurrentProcess".}
proc GetCurrentProcessId*(): DWORD {.stdcall, dynlib: "kernel32", 
                                     importc: "GetCurrentProcessId".}
proc ExitProcess*(uExitCode: UINT) {.stdcall, dynlib: "kernel32", 
                                     importc: "ExitProcess".}
proc TerminateProcess*(hProcess: HANDLE; uExitCode: UINT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "TerminateProcess".}
proc SetProcessAffinityMask*(hProcess: THandle; dwProcessAffinityMask: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetProcessAffinityMask".}
proc GetExitCodeProcess*(hProcess: HANDLE; lpExitCode: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetExitCodeProcess".}
proc FatalExit*(ExitCode: int32) {.stdcall, dynlib: "kernel32", 
                                   importc: "FatalExit".}
proc RaiseException*(dwExceptionCode: DWORD; dwExceptionFlags: DWORD; 
                     nNumberOfArguments: DWORD; lpArguments: LPDWORD) {.stdcall, 
    dynlib: "kernel32", importc: "RaiseException".}
proc UnhandledExceptionFilter*(ExceptionInfo: lpemptyrecord): LONG {.stdcall, 
    dynlib: "kernel32", importc: "UnhandledExceptionFilter".}
proc CreateRemoteThread*(hProcess: HANDLE; 
                         lpThreadAttributes: LPSECURITY_ATTRIBUTES; 
                         dwStackSize: DWORD; 
                         lpStartAddress: LPTHREAD_START_ROUTINE; 
                         lpParameter: LPVOID; dwCreationFlags: DWORD; 
                         lpThreadId: LPDWORD): HANDLE {.stdcall, 
    dynlib: "kernel32", importc: "CreateRemoteThread".}
proc GetCurrentThread*(): HANDLE {.stdcall, dynlib: "kernel32", 
                                   importc: "GetCurrentThread".}
proc GetCurrentThreadId*(): DWORD {.stdcall, dynlib: "kernel32", 
                                    importc: "GetCurrentThreadId".}
proc SetThreadAffinityMask*(hThread: HANDLE; dwThreadAffinityMask: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "SetThreadAffinityMask".}
proc SetThreadPriority*(hThread: HANDLE; nPriority: int32): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetThreadPriority".}
proc GetThreadPriority*(hThread: HANDLE): int32 {.stdcall, dynlib: "kernel32", 
    importc: "GetThreadPriority".}
proc GetThreadTimes*(hThread: HANDLE; lpCreationTime: LPFILETIME; 
                     lpExitTime: LPFILETIME; lpKernelTime: LPFILETIME; 
                     lpUserTime: LPFILETIME): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetThreadTimes".}
proc ExitThread*(dwExitCode: DWORD) {.stdcall, dynlib: "kernel32", 
                                      importc: "ExitThread".}
proc TerminateThread*(hThread: HANDLE; dwExitCode: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "TerminateThread".}
proc GetExitCodeThread*(hThread: HANDLE; lpExitCode: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetExitCodeThread".}
proc GetThreadSelectorEntry*(hThread: HANDLE; dwSelector: DWORD; 
                             lpSelectorEntry: LPLDT_ENTRY): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetThreadSelectorEntry".}
proc GetLastError*(): DWORD {.stdcall, dynlib: "kernel32", 
                              importc: "GetLastError".}
proc SetLastError*(dwErrCode: DWORD) {.stdcall, dynlib: "kernel32", 
                                       importc: "SetLastError".}
proc CreateIoCompletionPort*(FileHandle: HANDLE; ExistingCompletionPort: HANDLE; 
                             CompletionKey: DWORD; 
                             NumberOfConcurrentThreads: DWORD): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateIoCompletionPort".}
proc SetErrorMode*(uMode: UINT): UINT {.stdcall, dynlib: "kernel32", 
                                        importc: "SetErrorMode".}
proc ReadProcessMemory*(hProcess: HANDLE; lpBaseAddress: LPCVOID; 
                        lpBuffer: LPVOID; nSize: DWORD; 
                        lpNumberOfBytesRead: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ReadProcessMemory".}
proc WriteProcessMemory*(hProcess: HANDLE; lpBaseAddress: LPVOID; 
                         lpBuffer: LPVOID; nSize: DWORD; 
                         lpNumberOfBytesWritten: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteProcessMemory".}
proc GetThreadContext*(hThread: HANDLE; lpContext: LPCONTEXT): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetThreadContext".}
proc SuspendThread*(hThread: HANDLE): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "SuspendThread".}
proc ResumeThread*(hThread: HANDLE): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "ResumeThread".}
proc DebugBreak*() {.stdcall, dynlib: "kernel32", importc: "DebugBreak".}
proc WaitForDebugEvent*(lpDebugEvent: LPDEBUG_EVENT; dwMilliseconds: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WaitForDebugEvent".}
proc ContinueDebugEvent*(dwProcessId: DWORD; dwThreadId: DWORD; 
                         dwContinueStatus: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ContinueDebugEvent".}
proc DebugActiveProcess*(dwProcessId: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "DebugActiveProcess".}
proc InitializeCriticalSection*(lpCriticalSection: LPCRITICAL_SECTION) {.
    stdcall, dynlib: "kernel32", importc: "InitializeCriticalSection".}
proc EnterCriticalSection*(lpCriticalSection: LPCRITICAL_SECTION) {.stdcall, 
    dynlib: "kernel32", importc: "EnterCriticalSection".}
proc LeaveCriticalSection*(lpCriticalSection: LPCRITICAL_SECTION) {.stdcall, 
    dynlib: "kernel32", importc: "LeaveCriticalSection".}
proc DeleteCriticalSection*(lpCriticalSection: LPCRITICAL_SECTION) {.stdcall, 
    dynlib: "kernel32", importc: "DeleteCriticalSection".}
proc TryEnterCriticalSection*(lpCriticalSection: LPCRITICAL_SECTION): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "TryEnterCriticalSection".}
proc SetEvent*(hEvent: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "SetEvent".}
proc ResetEvent*(hEvent: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "ResetEvent".}
proc PulseEvent*(hEvent: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "PulseEvent".}
proc ReleaseSemaphore*(hSemaphore: HANDLE; lReleaseCount: LONG; 
                       lpPreviousCount: LPLONG): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ReleaseSemaphore".}
proc ReleaseMutex*(hMutex: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "ReleaseMutex".}
proc WaitForSingleObject*(hHandle: HANDLE; dwMilliseconds: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "WaitForSingleObject".}
proc Sleep*(dwMilliseconds: DWORD) {.stdcall, dynlib: "kernel32", 
                                     importc: "Sleep".}
proc LoadResource*(hModule: HINST; hResInfo: HRSRC): HGLOBAL {.stdcall, 
    dynlib: "kernel32", importc: "LoadResource".}
proc SizeofResource*(hModule: HINST; hResInfo: HRSRC): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "SizeofResource".}
proc GlobalDeleteAtom*(nAtom: ATOM): ATOM {.stdcall, dynlib: "kernel32", 
    importc: "GlobalDeleteAtom".}
proc InitAtomTable*(nSize: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "InitAtomTable".}
proc DeleteAtom*(nAtom: ATOM): ATOM {.stdcall, dynlib: "kernel32", 
                                      importc: "DeleteAtom".}
proc SetHandleCount*(uNumber: UINT): UINT {.stdcall, dynlib: "kernel32", 
    importc: "SetHandleCount".}
proc GetLogicalDrives*(): DWORD {.stdcall, dynlib: "kernel32", 
                                  importc: "GetLogicalDrives".}
proc LockFile*(hFile: HANDLE; dwFileOffsetLow: DWORD; dwFileOffsetHigh: DWORD; 
               nNumberOfBytesToLockLow: DWORD; nNumberOfBytesToLockHigh: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "LockFile".}
proc UnlockFile*(hFile: HANDLE; dwFileOffsetLow: DWORD; dwFileOffsetHigh: DWORD; 
                 nNumberOfBytesToUnlockLow: DWORD; 
                 nNumberOfBytesToUnlockHigh: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "UnlockFile".}
proc LockFileEx*(hFile: HANDLE; dwFlags: DWORD; dwReserved: DWORD; 
                 nNumberOfBytesToLockLow: DWORD; 
                 nNumberOfBytesToLockHigh: DWORD; lpOverlapped: LPOVERLAPPED): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "LockFileEx".}
proc UnlockFileEx*(hFile: HANDLE; dwReserved: DWORD; 
                   nNumberOfBytesToUnlockLow: DWORD; 
                   nNumberOfBytesToUnlockHigh: DWORD; lpOverlapped: LPOVERLAPPED): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "UnlockFileEx".}
proc GetFileInformationByHandle*(hFile: HANDLE; lpFileInformation: LPBY_HANDLE_FILE_INFORMATION): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetFileInformationByHandle".}
proc GetFileType*(hFile: HANDLE): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GetFileType".}
proc GetFileSize*(hFile: HANDLE; lpFileSizeHigh: LPDWORD): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetFileSize".}
proc GetStdHandle*(nStdHandle: DWORD): HANDLE {.stdcall, dynlib: "kernel32", 
    importc: "GetStdHandle".}
proc SetStdHandle*(nStdHandle: DWORD; hHandle: HANDLE): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetStdHandle".}
proc FlushFileBuffers*(hFile: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "FlushFileBuffers".}
proc DeviceIoControl*(hDevice: HANDLE; dwIoControlCode: DWORD; 
                      lpInBuffer: LPVOID; nInBufferSize: DWORD; 
                      lpOutBuffer: LPVOID; nOutBufferSize: DWORD; 
                      lpBytesReturned: LPDWORD; lpOverlapped: LPOVERLAPPED): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "DeviceIoControl".}
proc SetEndOfFile*(hFile: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "SetEndOfFile".}
proc SetFilePointer*(hFile: HANDLE; lDistanceToMove: LONG; 
                     lpDistanceToMoveHigh: PLONG; dwMoveMethod: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "SetFilePointer".}
proc FindClose*(hFindFile: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "FindClose".}
proc GetFileTime*(hFile: HANDLE; lpCreationTime: LPFILETIME; 
                  lpLastAccessTime: LPFILETIME; lpLastWriteTime: LPFILETIME): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetFileTime".}
proc SetFileTime*(hFile: HANDLE; lpCreationTime: LPFILETIME; 
                  lpLastAccessTime: LPFILETIME; lpLastWriteTime: LPFILETIME): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetFileTime".}
proc CloseHandle*(hObject: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "CloseHandle".}
proc DuplicateHandle*(hSourceProcessHandle: HANDLE; hSourceHandle: HANDLE; 
                      hTargetProcessHandle: HANDLE; lpTargetHandle: LPHANDLE; 
                      dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; 
                      dwOptions: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "DuplicateHandle".}
proc GetHandleInformation*(hObject: HANDLE; lpdwFlags: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetHandleInformation".}
proc SetHandleInformation*(hObject: HANDLE; dwMask: DWORD; dwFlags: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetHandleInformation".}
proc LoadModule*(lpModuleName: LPCSTR; lpParameterBlock: LPVOID): DWORD {.
    stdcall, dynlib: "kernel32", importc: "LoadModule".}
proc WinExec*(lpCmdLine: LPCSTR; uCmdShow: UINT): UINT {.stdcall, 
    dynlib: "kernel32", importc: "WinExec".}
proc ClearCommBreak*(hFile: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "ClearCommBreak".}
proc ClearCommError*(hFile: HANDLE; lpErrors: LPDWORD; lpStat: LPCOMSTAT): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ClearCommError".}
proc SetupComm*(hFile: HANDLE; dwInQueue: DWORD; dwOutQueue: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetupComm".}
proc EscapeCommFunction*(hFile: HANDLE; dwFunc: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "EscapeCommFunction".}
proc GetCommConfig*(hCommDev: HANDLE; lpCC: LPCOMMCONFIG; lpdwSize: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetCommConfig".}
proc GetCommProperties*(hFile: HANDLE; lpCommProp: LPCOMMPROP): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetCommProperties".}
proc GetCommModemStatus*(hFile: HANDLE; lpModemStat: PDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetCommModemStatus".}
proc GetCommState*(hFile: HANDLE; lpDCB: PDCB): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetCommState".}
proc GetCommTimeouts*(hFile: HANDLE; lpCommTimeouts: PCOMMTIMEOUTS): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetCommTimeouts".}
proc PurgeComm*(hFile: HANDLE; dwFlags: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "PurgeComm".}
proc SetCommBreak*(hFile: HANDLE): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "SetCommBreak".}
proc SetCommConfig*(hCommDev: HANDLE; lpCC: LPCOMMCONFIG; dwSize: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetCommConfig".}
proc SetCommMask*(hFile: HANDLE; dwEvtMask: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetCommMask".}
proc SetCommState*(hFile: HANDLE; lpDCB: LPDCB): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetCommState".}
proc SetCommTimeouts*(hFile: HANDLE; lpCommTimeouts: LPCOMMTIMEOUTS): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetCommTimeouts".}
proc TransmitCommChar*(hFile: HANDLE; cChar: char): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "TransmitCommChar".}
proc WaitCommEvent*(hFile: HANDLE; lpEvtMask: LPDWORD; 
                    lpOverlapped: LPOVERLAPPED): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WaitCommEvent".}
proc SetTapePosition*(hDevice: HANDLE; dwPositionMethod: DWORD; 
                      dwPartition: DWORD; dwOffsetLow: DWORD; 
                      dwOffsetHigh: DWORD; bImmediate: WINBOOL): DWORD {.
    stdcall, dynlib: "kernel32", importc: "SetTapePosition".}
proc GetTapePosition*(hDevice: HANDLE; dwPositionType: DWORD; 
                      lpdwPartition: LPDWORD; lpdwOffsetLow: LPDWORD; 
                      lpdwOffsetHigh: LPDWORD): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetTapePosition".}
proc PrepareTape*(hDevice: HANDLE; dwOperation: DWORD; bImmediate: WINBOOL): DWORD {.
    stdcall, dynlib: "kernel32", importc: "PrepareTape".}
proc EraseTape*(hDevice: HANDLE; dwEraseType: DWORD; bImmediate: WINBOOL): DWORD {.
    stdcall, dynlib: "kernel32", importc: "EraseTape".}
proc CreateTapePartition*(hDevice: HANDLE; dwPartitionMethod: DWORD; 
                          dwCount: DWORD; dwSize: DWORD): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "CreateTapePartition".}
proc WriteTapemark*(hDevice: HANDLE; dwTapemarkType: DWORD; 
                    dwTapemarkCount: DWORD; bImmediate: WINBOOL): DWORD {.
    stdcall, dynlib: "kernel32", importc: "WriteTapemark".}
proc GetTapeStatus*(hDevice: HANDLE): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GetTapeStatus".}
proc GetTapeParameters*(hDevice: HANDLE; dwOperation: DWORD; lpdwSize: LPDWORD; 
                        lpTapeInformation: LPVOID): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetTapeParameters".}
proc SetTapeParameters*(hDevice: HANDLE; dwOperation: DWORD; 
                        lpTapeInformation: LPVOID): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "SetTapeParameters".}
proc Beep*(dwFreq: DWORD; dwDuration: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "Beep".}
proc MulDiv*(nNumber: int32; nNumerator: int32; nDenominator: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "MulDiv".}
proc GetSystemTime*(lpSystemTime: LPSYSTEMTIME) {.stdcall, dynlib: "kernel32", 
    importc: "GetSystemTime".}
proc GetSystemTimeAsFileTime*(lpSystemTimeAsFileTime: LPFILETIME) {.stdcall, 
    dynlib: "kernel32", importc: "GetSystemTimeAsFileTime".}
proc SetSystemTime*(lpSystemTime: LPSYSTEMTIME): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetSystemTime".}
proc GetLocalTime*(lpSystemTime: LPSYSTEMTIME) {.stdcall, dynlib: "kernel32", 
    importc: "GetLocalTime".}
proc SetLocalTime*(lpSystemTime: LPSYSTEMTIME): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetLocalTime".}
proc GetSystemInfo*(lpSystemInfo: LPSYSTEM_INFO) {.stdcall, dynlib: "kernel32", 
    importc: "GetSystemInfo".}
proc SystemTimeToTzSpecificLocalTime*(lpTimeZoneInformation: LPTIME_ZONE_INFORMATION; 
                                      lpUniversalTime: LPSYSTEMTIME; 
                                      lpLocalTime: LPSYSTEMTIME): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SystemTimeToTzSpecificLocalTime".}
proc GetTimeZoneInformation*(lpTimeZoneInformation: LPTIME_ZONE_INFORMATION): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetTimeZoneInformation".}
proc SetTimeZoneInformation*(lpTimeZoneInformation: LPTIME_ZONE_INFORMATION): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetTimeZoneInformation".}
proc SystemTimeToFileTime*(lpSystemTime: LPSYSTEMTIME; lpFileTime: LPFILETIME): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SystemTimeToFileTime".}
proc FileTimeToLocalFileTime*(FileTime: LPFILETIME; lpLocalFileTime: LPFILETIME): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FileTimeToLocalFileTime".}
proc LocalFileTimeToFileTime*(lpLocalFileTime: LPFILETIME; 
                              lpFileTime: LPFILETIME): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "LocalFileTimeToFileTime".}
proc FileTimeToSystemTime*(lpFileTime: LPFILETIME; lpSystemTime: LPSYSTEMTIME): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FileTimeToSystemTime".}
proc CompareFileTime*(lpFileTime1: LPFILETIME; lpFileTime2: LPFILETIME): LONG {.
    stdcall, dynlib: "kernel32", importc: "CompareFileTime".}
proc FileTimeToDosDateTime*(lpFileTime: LPFILETIME; lpFatDate: LPWORD; 
                            lpFatTime: LPWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "FileTimeToDosDateTime".}
proc DosDateTimeToFileTime*(wFatDate: int16; wFatTime: int16; 
                            lpFileTime: LPFILETIME): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "DosDateTimeToFileTime".}
proc GetTickCount*(): DWORD {.stdcall, dynlib: "kernel32", 
                              importc: "GetTickCount".}
proc SetSystemTimeAdjustment*(dwTimeAdjustment: DWORD; 
                              bTimeAdjustmentDisabled: WINBOOL): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetSystemTimeAdjustment".}
proc GetSystemTimeAdjustment*(lpTimeAdjustment: PDWORD; lpTimeIncrement: PDWORD; 
                              lpTimeAdjustmentDisabled: PWINBOOL): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetSystemTimeAdjustment".}
proc CreatePipe*(hReadPipe: PHANDLE; hWritePipe: PHANDLE; 
                 lpPipeAttributes: LPSECURITY_ATTRIBUTES; nSize: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreatePipe".}
proc ConnectNamedPipe*(hNamedPipe: HANDLE; lpOverlapped: LPOVERLAPPED): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ConnectNamedPipe".}
proc DisconnectNamedPipe*(hNamedPipe: HANDLE): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "DisconnectNamedPipe".}
proc SetNamedPipeHandleState*(hNamedPipe: HANDLE; lpMode: LPDWORD; 
                              lpMaxCollectionCount: LPDWORD; 
                              lpCollectDataTimeout: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetNamedPipeHandleState".}
proc GetNamedPipeInfo*(hNamedPipe: HANDLE; lpFlags: LPDWORD; 
                       lpOutBufferSize: LPDWORD; lpInBufferSize: LPDWORD; 
                       lpMaxInstances: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetNamedPipeInfo".}
proc PeekNamedPipe*(hNamedPipe: HANDLE; lpBuffer: LPVOID; nBufferSize: DWORD; 
                    lpBytesRead: LPDWORD; lpTotalBytesAvail: LPDWORD; 
                    lpBytesLeftThisMessage: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "PeekNamedPipe".}
proc TransactNamedPipe*(hNamedPipe: HANDLE; lpInBuffer: LPVOID; 
                        nInBufferSize: DWORD; lpOutBuffer: LPVOID; 
                        nOutBufferSize: DWORD; lpBytesRead: LPDWORD; 
                        lpOverlapped: LPOVERLAPPED): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "TransactNamedPipe".}
proc GetMailslotInfo*(hMailslot: HANDLE; lpMaxMessageSize: LPDWORD; 
                      lpNextSize: LPDWORD; lpMessageCount: LPDWORD; 
                      lpReadTimeout: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetMailslotInfo".}
proc SetMailslotInfo*(hMailslot: HANDLE; lReadTimeout: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetMailslotInfo".}
proc MapViewOfFile*(hFileMappingObject: HANDLE; dwDesiredAccess: DWORD; 
                    dwFileOffsetHigh: DWORD; dwFileOffsetLow: DWORD; 
                    dwNumberOfBytesToMap: DWORD): LPVOID {.stdcall, 
    dynlib: "kernel32", importc: "MapViewOfFile".}
proc FlushViewOfFile*(lpBaseAddress: LPCVOID; dwNumberOfBytesToFlush: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FlushViewOfFile".}
proc UnmapViewOfFile*(lpBaseAddress: LPVOID): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "UnmapViewOfFile".}
proc OpenFile*(lpFileName: LPCSTR; lpReOpenBuff: LPOFSTRUCT; uStyle: UINT): HFILE {.
    stdcall, dynlib: "kernel32", importc: "OpenFile".}
proc lopen*(lpPathName: LPCSTR; iReadWrite: int32): HFILE {.stdcall, 
    dynlib: "kernel32", importc: "_lopen".}
proc lcreat*(lpPathName: LPCSTR; iAttribute: int32): HFILE {.stdcall, 
    dynlib: "kernel32", importc: "_lcreat".}
proc lread*(hFile: HFILE; lpBuffer: LPVOID; uBytes: UINT): UINT {.stdcall, 
    dynlib: "kernel32", importc: "_lread".}
proc lwrite*(hFile: HFILE; lpBuffer: LPCSTR; uBytes: UINT): UINT {.stdcall, 
    dynlib: "kernel32", importc: "_lwrite".}
proc hread*(hFile: HFILE; lpBuffer: LPVOID; lBytes: int32): int32 {.stdcall, 
    dynlib: "kernel32", importc: "_hread".}
proc hwrite*(hFile: HFILE; lpBuffer: LPCSTR; lBytes: int32): int32 {.stdcall, 
    dynlib: "kernel32", importc: "_hwrite".}
proc lclose*(file: HFILE): HFILE {.stdcall, dynlib: "kernel32", 
                                   importc: "_lclose".}
proc llseek*(file: HFILE; lOffset: LONG; iOrigin: int32): LONG {.stdcall, 
    dynlib: "kernel32", importc: "_llseek".}
proc IsTextUnicode*(lpBuffer: LPVOID; cb: int32; lpi: LPINT): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "IsTextUnicode".}
proc TlsAlloc*(): DWORD {.stdcall, dynlib: "kernel32", importc: "TlsAlloc".}
proc TlsGetValue*(dwTlsIndex: DWORD): LPVOID {.stdcall, dynlib: "kernel32", 
    importc: "TlsGetValue".}
proc TlsSetValue*(dwTlsIndex: DWORD; lpTlsValue: LPVOID): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "TlsSetValue".}
proc TlsFree*(dwTlsIndex: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "TlsFree".}
proc SleepEx*(dwMilliseconds: DWORD; bAlertable: WINBOOL): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "SleepEx".}
proc WaitForSingleObjectEx*(hHandle: HANDLE; dwMilliseconds: DWORD; 
                            bAlertable: WINBOOL): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "WaitForSingleObjectEx".}
proc WaitForMultipleObjectsEx*(nCount: DWORD; lpHandles: LPHANDLE; 
                               bWaitAll: WINBOOL; dwMilliseconds: DWORD; 
                               bAlertable: WINBOOL): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "WaitForMultipleObjectsEx".}
proc ReadFileEx*(hFile: HANDLE; lpBuffer: LPVOID; nNumberOfBytesToRead: DWORD; 
                 lpOverlapped: LPOVERLAPPED; 
                 lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadFileEx".}
proc WriteFileEx*(hFile: HANDLE; lpBuffer: LPCVOID; 
                  nNumberOfBytesToWrite: DWORD; lpOverlapped: LPOVERLAPPED; 
                  lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteFileEx".}
proc BackupRead*(hFile: HANDLE; lpBuffer: LPBYTE; nNumberOfBytesToRead: DWORD; 
                 lpNumberOfBytesRead: LPDWORD; bAbort: WINBOOL; 
                 bProcessSecurity: WINBOOL; lpContext: var LPVOID): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BackupRead".}
proc BackupSeek*(hFile: HANDLE; dwLowBytesToSeek: DWORD; 
                 dwHighBytesToSeek: DWORD; lpdwLowByteSeeked: LPDWORD; 
                 lpdwHighByteSeeked: LPDWORD; lpContext: var LPVOID): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BackupSeek".}
proc BackupWrite*(hFile: HANDLE; lpBuffer: LPBYTE; nNumberOfBytesToWrite: DWORD; 
                  lpNumberOfBytesWritten: LPDWORD; bAbort: WINBOOL; 
                  bProcessSecurity: WINBOOL; lpContext: var LPVOID): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BackupWrite".}
proc SetProcessShutdownParameters*(dwLevel: DWORD; dwFlags: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetProcessShutdownParameters".}
proc GetProcessShutdownParameters*(lpdwLevel: LPDWORD; lpdwFlags: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetProcessShutdownParameters".}
proc SetFileApisToOEM*() {.stdcall, dynlib: "kernel32", 
                           importc: "SetFileApisToOEM".}
proc SetFileApisToANSI*() {.stdcall, dynlib: "kernel32", 
                            importc: "SetFileApisToANSI".}
proc AreFileApisANSI*(): WINBOOL {.stdcall, dynlib: "kernel32", 
                                   importc: "AreFileApisANSI".}
proc CloseEventLog*(hEventLog: HANDLE): WINBOOL {.stdcall, dynlib: "advapi32", 
    importc: "CloseEventLog".}
proc DeregisterEventSource*(hEventLog: HANDLE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "DeregisterEventSource".}
proc NotifyChangeEventLog*(hEventLog: HANDLE; hEvent: HANDLE): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "NotifyChangeEventLog".}
proc GetNumberOfEventLogRecords*(hEventLog: HANDLE; NumberOfRecords: PDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetNumberOfEventLogRecords".}
proc GetOldestEventLogRecord*(hEventLog: HANDLE; OldestRecord: PDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetOldestEventLogRecord".}
proc DuplicateToken*(ExistingTokenHandle: HANDLE; 
                     ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL; 
                     DuplicateTokenHandle: PHANDLE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "DuplicateToken".}
proc GetKernelObjectSecurity*(Handle: HANDLE; 
                              RequestedInformation: SECURITY_INFORMATION; 
                              pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                              nLength: DWORD; lpnLengthNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetKernelObjectSecurity".}
proc ImpersonateNamedPipeClient*(hNamedPipe: HANDLE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ImpersonateNamedPipeClient".}
proc ImpersonateLoggedOnUser*(hToken: HANDLE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ImpersonateLoggedOnUser".}
proc ImpersonateSelf*(ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ImpersonateSelf".}
proc RevertToSelf*(): WINBOOL {.stdcall, dynlib: "advapi32", 
                                importc: "RevertToSelf".}
proc SetThreadToken*(Thread: PHANDLE; Token: HANDLE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "SetThreadToken".}
proc OpenProcessToken*(ProcessHandle: HANDLE; DesiredAccess: DWORD; 
                       TokenHandle: PHANDLE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "OpenProcessToken".}
proc OpenThreadToken*(ThreadHandle: HANDLE; DesiredAccess: DWORD; 
                      OpenAsSelf: WINBOOL; TokenHandle: PHANDLE): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "OpenThreadToken".}
proc GetTokenInformation*(TokenHandle: HANDLE; 
                          TokenInformationClass: TOKEN_INFORMATION_CLASS; 
                          TokenInformation: LPVOID; 
                          TokenInformationLength: DWORD; ReturnLength: PDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetTokenInformation".}
proc SetTokenInformation*(TokenHandle: HANDLE; 
                          TokenInformationClass: TOKEN_INFORMATION_CLASS; 
                          TokenInformation: LPVOID; 
                          TokenInformationLength: DWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "SetTokenInformation".}
proc AdjustTokenPrivileges*(TokenHandle: HANDLE; DisableAllPrivileges: WINBOOL; 
                            NewState: PTOKEN_PRIVILEGES; BufferLength: DWORD; 
                            PreviousState: PTOKEN_PRIVILEGES; 
                            ReturnLength: PDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "AdjustTokenPrivileges".}
proc AdjustTokenGroups*(TokenHandle: HANDLE; ResetToDefault: WINBOOL; 
                        NewState: PTOKEN_GROUPS; BufferLength: DWORD; 
                        PreviousState: PTOKEN_GROUPS; ReturnLength: PDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "AdjustTokenGroups".}
proc PrivilegeCheck*(ClientToken: HANDLE; RequiredPrivileges: PPRIVILEGE_SET; 
                     pfResult: LPBOOL): WINBOOL {.stdcall, dynlib: "advapi32", 
    importc: "PrivilegeCheck".}
proc IsValidSid*(pSid: PSID): WINBOOL {.stdcall, dynlib: "advapi32", 
                                        importc: "IsValidSid".}
proc EqualSid*(pSid1: PSID; pSid2: PSID): WINBOOL {.stdcall, dynlib: "advapi32", 
    importc: "EqualSid".}
proc EqualPrefixSid*(pSid1: PSID; pSid2: PSID): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "EqualPrefixSid".}
proc GetSidLengthRequired*(nSubAuthorityCount: UCHAR): DWORD {.stdcall, 
    dynlib: "advapi32", importc: "GetSidLengthRequired".}
proc AllocateAndInitializeSid*(pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY; 
                               nSubAuthorityCount: int8; nSubAuthority0: DWORD; 
                               nSubAuthority1: DWORD; nSubAuthority2: DWORD; 
                               nSubAuthority3: DWORD; nSubAuthority4: DWORD; 
                               nSubAuthority5: DWORD; nSubAuthority6: DWORD; 
                               nSubAuthority7: DWORD; pSid: var PSID): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "AllocateAndInitializeSid".}
proc FreeSid*(pSid: PSID): PVOID {.stdcall, dynlib: "advapi32", 
                                   importc: "FreeSid".}
proc InitializeSid*(Sid: PSID; pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY; 
                    nSubAuthorityCount: int8): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "InitializeSid".}
proc GetSidIdentifierAuthority*(pSid: PSID): PSID_IDENTIFIER_AUTHORITY {.
    stdcall, dynlib: "advapi32", importc: "GetSidIdentifierAuthority".}
proc GetSidSubAuthority*(pSid: PSID; nSubAuthority: DWORD): PDWORD {.stdcall, 
    dynlib: "advapi32", importc: "GetSidSubAuthority".}
proc GetSidSubAuthorityCount*(pSid: PSID): PUCHAR {.stdcall, dynlib: "advapi32", 
    importc: "GetSidSubAuthorityCount".}
proc GetLengthSid*(pSid: PSID): DWORD {.stdcall, dynlib: "advapi32", 
                                        importc: "GetLengthSid".}
proc CopySid*(nDestinationSidLength: DWORD; pDestinationSid: PSID; 
              pSourceSid: PSID): WINBOOL {.stdcall, dynlib: "advapi32", 
    importc: "CopySid".}
proc AreAllAccessesGranted*(GrantedAccess: DWORD; DesiredAccess: DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "AreAllAccessesGranted".}
proc AreAnyAccessesGranted*(GrantedAccess: DWORD; DesiredAccess: DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "AreAnyAccessesGranted".}
proc MapGenericMask*(AccessMask: PDWORD; GenericMapping: PGENERIC_MAPPING) {.
    stdcall, dynlib: "advapi32", importc: "MapGenericMask".}
proc IsValidAcl*(pAcl: PACL): WINBOOL {.stdcall, dynlib: "advapi32", 
                                        importc: "IsValidAcl".}
proc InitializeAcl*(pAcl: PACL; nAclLength: DWORD; dwAclRevision: DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "InitializeAcl".}
proc GetAclInformation*(pAcl: PACL; pAclInformation: LPVOID; 
                        nAclInformationLength: DWORD; 
                        dwAclInformationClass: ACL_INFORMATION_CLASS): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetAclInformation".}
proc SetAclInformation*(pAcl: PACL; pAclInformation: LPVOID; 
                        nAclInformationLength: DWORD; 
                        dwAclInformationClass: ACL_INFORMATION_CLASS): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "SetAclInformation".}
proc AddAce*(pAcl: PACL; dwAceRevision: DWORD; dwStartingAceIndex: DWORD; 
             pAceList: LPVOID; nAceListLength: DWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "AddAce".}
proc DeleteAce*(pAcl: PACL; dwAceIndex: DWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "DeleteAce".}
proc GetAce*(pAcl: PACL; dwAceIndex: DWORD; pAce: var LPVOID): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetAce".}
proc AddAccessAllowedAce*(pAcl: PACL; dwAceRevision: DWORD; AccessMask: DWORD; 
                          pSid: PSID): WINBOOL {.stdcall, dynlib: "advapi32", 
    importc: "AddAccessAllowedAce".}
proc AddAccessDeniedAce*(pAcl: PACL; dwAceRevision: DWORD; AccessMask: DWORD; 
                         pSid: PSID): WINBOOL {.stdcall, dynlib: "advapi32", 
    importc: "AddAccessDeniedAce".}
proc AddAuditAccessAce*(pAcl: PACL; dwAceRevision: DWORD; dwAccessMask: DWORD; 
                        pSid: PSID; bAuditSuccess: WINBOOL; 
                        bAuditFailure: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "AddAuditAccessAce".}
proc FindFirstFreeAce*(pAcl: PACL; pAce: var LPVOID): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "FindFirstFreeAce".}
proc InitializeSecurityDescriptor*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                   dwRevision: DWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "InitializeSecurityDescriptor".}
proc IsValidSecurityDescriptor*(pSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "IsValidSecurityDescriptor".}
proc GetSecurityDescriptorLength*(pSecurityDescriptor: PSECURITY_DESCRIPTOR): DWORD {.
    stdcall, dynlib: "advapi32", importc: "GetSecurityDescriptorLength".}
proc GetSecurityDescriptorControl*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                   pControl: PSECURITY_DESCRIPTOR_CONTROL; 
                                   lpdwRevision: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "GetSecurityDescriptorControl".}
proc SetSecurityDescriptorDacl*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                bDaclPresent: WINBOOL; pDacl: PACL; 
                                bDaclDefaulted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "SetSecurityDescriptorDacl".}
proc GetSecurityDescriptorDacl*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                lpbDaclPresent: LPBOOL; pDacl: var PACL; 
                                lpbDaclDefaulted: LPBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "GetSecurityDescriptorDacl".}
proc SetSecurityDescriptorSacl*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                bSaclPresent: WINBOOL; pSacl: PACL; 
                                bSaclDefaulted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "SetSecurityDescriptorSacl".}
proc GetSecurityDescriptorSacl*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                lpbSaclPresent: LPBOOL; pSacl: var PACL; 
                                lpbSaclDefaulted: LPBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "GetSecurityDescriptorSacl".}
proc SetSecurityDescriptorOwner*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                 pOwner: PSID; bOwnerDefaulted: WINBOOL): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "SetSecurityDescriptorOwner".}
proc GetSecurityDescriptorOwner*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                 pOwner: var PSID; lpbOwnerDefaulted: LPBOOL): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetSecurityDescriptorOwner".}
proc SetSecurityDescriptorGroup*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                 pGroup: PSID; bGroupDefaulted: WINBOOL): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "SetSecurityDescriptorGroup".}
proc GetSecurityDescriptorGroup*(pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                 pGroup: var PSID; lpbGroupDefaulted: LPBOOL): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetSecurityDescriptorGroup".}
proc CreatePrivateObjectSecurity*(ParentDescriptor: PSECURITY_DESCRIPTOR; 
                                  CreatorDescriptor: PSECURITY_DESCRIPTOR; 
                                  NewDescriptor: var PSECURITY_DESCRIPTOR; 
                                  IsDirectoryObject: WINBOOL; Token: HANDLE; 
                                  GenericMapping: PGENERIC_MAPPING): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "CreatePrivateObjectSecurity".}
proc SetPrivateObjectSecurity*(SecurityInformation: SECURITY_INFORMATION; 
                               ModificationDescriptor: PSECURITY_DESCRIPTOR; 
    ObjectsSecurityDescriptor: var PSECURITY_DESCRIPTOR; 
                               GenericMapping: PGENERIC_MAPPING; Token: HANDLE): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "SetPrivateObjectSecurity".}
proc GetPrivateObjectSecurity*(ObjectDescriptor: PSECURITY_DESCRIPTOR; 
                               SecurityInformation: SECURITY_INFORMATION; 
                               ResultantDescriptor: PSECURITY_DESCRIPTOR; 
                               DescriptorLength: DWORD; ReturnLength: PDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "GetPrivateObjectSecurity".}
proc DestroyPrivateObjectSecurity*(ObjectDescriptor: PSECURITY_DESCRIPTOR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "DestroyPrivateObjectSecurity".}
proc MakeSelfRelativeSD*(pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                         pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                         lpdwBufferLength: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "MakeSelfRelativeSD".}
proc MakeAbsoluteSD*(pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                     pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                     lpdwAbsoluteSecurityDescriptorSize: LPDWORD; pDacl: PACL; 
                     lpdwDaclSize: LPDWORD; pSacl: PACL; lpdwSaclSize: LPDWORD; 
                     pOwner: PSID; lpdwOwnerSize: LPDWORD; pPrimaryGroup: PSID; 
                     lpdwPrimaryGroupSize: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "MakeAbsoluteSD".}
proc SetKernelObjectSecurity*(Handle: HANDLE; 
                              SecurityInformation: SECURITY_INFORMATION; 
                              SecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "SetKernelObjectSecurity".}
proc FindNextChangeNotification*(hChangeHandle: HANDLE): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "FindNextChangeNotification".}
proc FindCloseChangeNotification*(hChangeHandle: HANDLE): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "FindCloseChangeNotification".}
proc VirtualLock*(lpAddress: LPVOID; dwSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "VirtualLock".}
proc VirtualUnlock*(lpAddress: LPVOID; dwSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "VirtualUnlock".}
proc MapViewOfFileEx*(hFileMappingObject: HANDLE; dwDesiredAccess: DWORD; 
                      dwFileOffsetHigh: DWORD; dwFileOffsetLow: DWORD; 
                      dwNumberOfBytesToMap: DWORD; lpBaseAddress: LPVOID): LPVOID {.
    stdcall, dynlib: "kernel32", importc: "MapViewOfFileEx".}
proc SetPriorityClass*(hProcess: HANDLE; dwPriorityClass: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetPriorityClass".}
proc GetPriorityClass*(hProcess: HANDLE): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "GetPriorityClass".}
proc IsBadReadPtr*(lp: pointer; ucb: UINT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "IsBadReadPtr".}
proc IsBadWritePtr*(lp: LPVOID; ucb: UINT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "IsBadWritePtr".}
proc IsBadHugeReadPtr*(lp: pointer; ucb: UINT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "IsBadHugeReadPtr".}
proc IsBadHugeWritePtr*(lp: LPVOID; ucb: UINT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "IsBadHugeWritePtr".}
proc IsBadCodePtr*(lpfn: FARPROC): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "IsBadCodePtr".}
proc AllocateLocallyUniqueId*(Luid: PLUID): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "AllocateLocallyUniqueId".}
proc QueryPerformanceCounter*(lpPerformanceCount: PLARGE_INTEGER): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "QueryPerformanceCounter".}
proc QueryPerformanceFrequency*(lpFrequency: PLARGE_INTEGER): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "QueryPerformanceFrequency".}
proc ActivateKeyboardLayout*(hkl: HKL; Flags: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ActivateKeyboardLayout".}
proc UnloadKeyboardLayout*(hkl: HKL): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "UnloadKeyboardLayout".}
proc GetKeyboardLayoutList*(nBuff: int32; lpList: var HKL): int32 {.stdcall, 
    dynlib: "user32", importc: "GetKeyboardLayoutList".}
proc GetKeyboardLayout*(dwLayout: DWORD): HKL {.stdcall, dynlib: "user32", 
    importc: "GetKeyboardLayout".}
proc OpenInputDesktop*(dwFlags: DWORD; fInherit: WINBOOL; dwDesiredAccess: DWORD): HDESK {.
    stdcall, dynlib: "user32", importc: "OpenInputDesktop".}
proc EnumDesktopWindows*(hDesktop: HDESK; lpfn: ENUMWINDOWSPROC; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnumDesktopWindows".}
proc SwitchDesktop*(hDesktop: HDESK): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SwitchDesktop".}
proc SetThreadDesktop*(hDesktop: HDESK): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetThreadDesktop".}
proc CloseDesktop*(hDesktop: HDESK): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "CloseDesktop".}
proc GetThreadDesktop*(dwThreadId: DWORD): HDESK {.stdcall, dynlib: "user32", 
    importc: "GetThreadDesktop".}
proc CloseWindowStation*(hWinSta: HWINSTA): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "CloseWindowStation".}
proc SetProcessWindowStation*(hWinSta: HWINSTA): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetProcessWindowStation".}
proc GetProcessWindowStation*(): HWINSTA {.stdcall, dynlib: "user32", 
    importc: "GetProcessWindowStation".}
proc SetUserObjectSecurity*(hObj: HANDLE; pSIRequested: PSECURITY_INFORMATION; 
                            pSID: PSECURITY_DESCRIPTOR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetUserObjectSecurity".}
proc GetUserObjectSecurity*(hObj: HANDLE; pSIRequested: PSECURITY_INFORMATION; 
                            pSID: PSECURITY_DESCRIPTOR; nLength: DWORD; 
                            lpnLengthNeeded: LPDWORD): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetUserObjectSecurity".}
proc TranslateMessage*(lpMsg: LPMSG): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "TranslateMessage".}
proc SetMessageQueue*(cMessagesMax: int32): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetMessageQueue".}
proc RegisterHotKey*(wnd: HWND; anID: int32; fsModifiers: UINT; vk: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "RegisterHotKey".}
proc UnregisterHotKey*(wnd: HWND; anID: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "UnregisterHotKey".}
proc ExitWindowsEx*(uFlags: UINT; dwReserved: DWORD): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ExitWindowsEx".}
proc SwapMouseButton*(fSwap: WINBOOL): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SwapMouseButton".}
proc GetMessagePos*(): DWORD {.stdcall, dynlib: "user32", 
                               importc: "GetMessagePos".}
proc GetMessageTime*(): LONG {.stdcall, dynlib: "user32", 
                               importc: "GetMessageTime".}
proc GetMessageExtraInfo*(): LONG {.stdcall, dynlib: "user32", 
                                    importc: "GetMessageExtraInfo".}
proc SetMessageExtraInfo*(lp: LPARAM): LPARAM {.stdcall, dynlib: "user32", 
    importc: "SetMessageExtraInfo".}
proc BroadcastSystemMessage*(para1: DWORD; para2: LPDWORD; para3: UINT; 
                             para4: WPARAM; para5: LPARAM): int32 {.stdcall, 
    dynlib: "user32", importc: "BroadcastSystemMessage".}
proc AttachThreadInput*(idAttach: DWORD; idAttachTo: DWORD; fAttach: WINBOOL): WINBOOL {.
    stdcall, dynlib: "user32", importc: "AttachThreadInput".}
proc ReplyMessage*(lResult: LRESULT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ReplyMessage".}
proc WaitMessage*(): WINBOOL {.stdcall, dynlib: "user32", importc: "WaitMessage".}
proc WaitForInputIdle*(hProcess: HANDLE; dwMilliseconds: DWORD): DWORD {.
    stdcall, dynlib: "user32", importc: "WaitForInputIdle".}
proc PostQuitMessage*(nExitCode: int32) {.stdcall, dynlib: "user32", 
    importc: "PostQuitMessage".}
proc InSendMessage*(): WINBOOL {.stdcall, dynlib: "user32", 
                                 importc: "InSendMessage".}
proc GetDoubleClickTime*(): UINT {.stdcall, dynlib: "user32", 
                                   importc: "GetDoubleClickTime".}
proc SetDoubleClickTime*(para1: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetDoubleClickTime".}
proc IsWindow*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
                                     importc: "IsWindow".}
proc IsMenu*(menu: HMENU): WINBOOL {.stdcall, dynlib: "user32", 
                                     importc: "IsMenu".}
proc IsChild*(hWndParent: HWND; wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsChild".}
proc DestroyWindow*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DestroyWindow".}
proc ShowWindow*(wnd: HWND; nCmdShow: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ShowWindow".}
proc ShowWindowAsync*(wnd: HWND; nCmdShow: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ShowWindowAsync".}
proc FlashWindow*(wnd: HWND; bInvert: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "FlashWindow".}
proc ShowOwnedPopups*(wnd: HWND; fShow: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ShowOwnedPopups".}
proc OpenIcon*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
                                     importc: "OpenIcon".}
proc CloseWindow*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
                                        importc: "CloseWindow".}
proc MoveWindow*(wnd: HWND; X: int32; Y: int32; nWidth: int32; nHeight: int32; 
                 bRepaint: WINBOOL): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "MoveWindow".}
proc SetWindowPos*(wnd: HWND; hWndInsertAfter: HWND; X: int32; Y: int32; 
                   cx: int32; cy: int32; uFlags: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetWindowPos".}
proc GetWindowPlacement*(wnd: HWND; lpwndpl: var WINDOWPLACEMENT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetWindowPlacement".}
proc SetWindowPlacement*(wnd: HWND; lpwndpl: var WINDOWPLACEMENT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetWindowPlacement".}
proc GetWindowPlacement*(wnd: HWND; lpwndpl: PWINDOWPLACEMENT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetWindowPlacement".}
proc SetWindowPlacement*(wnd: HWND; lpwndpl: PWINDOWPLACEMENT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetWindowPlacement".}
proc BeginDeferWindowPos*(nNumWindows: int32): HDWP {.stdcall, dynlib: "user32", 
    importc: "BeginDeferWindowPos".}
proc DeferWindowPos*(hWinPosInfo: HDWP; wnd: HWND; hWndInsertAfter: HWND; 
                     x: int32; y: int32; cx: int32; cy: int32; uFlags: UINT): HDWP {.
    stdcall, dynlib: "user32", importc: "DeferWindowPos".}
proc EndDeferWindowPos*(hWinPosInfo: HDWP): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "EndDeferWindowPos".}
proc IsWindowVisible*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsWindowVisible".}
proc IsIconic*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
                                     importc: "IsIconic".}
proc AnyPopup*(): WINBOOL {.stdcall, dynlib: "user32", importc: "AnyPopup".}
proc BringWindowToTop*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "BringWindowToTop".}
proc IsZoomed*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
                                     importc: "IsZoomed".}
proc EndDialog*(hDlg: HWND; nResult: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EndDialog".}
proc GetDlgItem*(hDlg: HWND; nIDDlgItem: int32): HWND {.stdcall, 
    dynlib: "user32", importc: "GetDlgItem".}
proc SetDlgItemInt*(hDlg: HWND; nIDDlgItem: int32; uValue: UINT; 
                    bSigned: WINBOOL): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetDlgItemInt".}
proc GetDlgItemInt*(hDlg: HWND; nIDDlgItem: int32; lpTranslated: var WINBOOL; 
                    bSigned: WINBOOL): UINT {.stdcall, dynlib: "user32", 
    importc: "GetDlgItemInt".}
proc CheckDlgButton*(hDlg: HWND; nIDButton: int32; uCheck: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "CheckDlgButton".}
proc CheckRadioButton*(hDlg: HWND; nIDFirstButton: int32; nIDLastButton: int32; 
                       nIDCheckButton: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CheckRadioButton".}
proc IsDlgButtonChecked*(hDlg: HWND; nIDButton: int32): UINT {.stdcall, 
    dynlib: "user32", importc: "IsDlgButtonChecked".}
proc GetNextDlgGroupItem*(hDlg: HWND; hCtl: HWND; bPrevious: WINBOOL): HWND {.
    stdcall, dynlib: "user32", importc: "GetNextDlgGroupItem".}
proc GetNextDlgTabItem*(hDlg: HWND; hCtl: HWND; bPrevious: WINBOOL): HWND {.
    stdcall, dynlib: "user32", importc: "GetNextDlgTabItem".}
proc GetDlgCtrlID*(wnd: HWND): int32 {.stdcall, dynlib: "user32", 
                                       importc: "GetDlgCtrlID".}
proc GetDialogBaseUnits*(): int32 {.stdcall, dynlib: "user32", 
                                    importc: "GetDialogBaseUnits".}
proc OpenClipboard*(hWndNewOwner: HWND): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "OpenClipboard".}
proc CloseClipboard*(): WINBOOL {.stdcall, dynlib: "user32", 
                                  importc: "CloseClipboard".}
proc GetClipboardOwner*(): HWND {.stdcall, dynlib: "user32", 
                                  importc: "GetClipboardOwner".}
proc SetClipboardViewer*(hWndNewViewer: HWND): HWND {.stdcall, dynlib: "user32", 
    importc: "SetClipboardViewer".}
proc GetClipboardViewer*(): HWND {.stdcall, dynlib: "user32", 
                                   importc: "GetClipboardViewer".}
proc ChangeClipboardChain*(hWndRemove: HWND; hWndNewNext: HWND): WINBOOL {.
    stdcall, dynlib: "user32", importc: "ChangeClipboardChain".}
proc SetClipboardData*(uFormat: UINT; hMem: HANDLE): HANDLE {.stdcall, 
    dynlib: "user32", importc: "SetClipboardData".}
proc GetClipboardData*(uFormat: UINT): HANDLE {.stdcall, dynlib: "user32", 
    importc: "GetClipboardData".}
proc CountClipboardFormats*(): int32 {.stdcall, dynlib: "user32", 
                                       importc: "CountClipboardFormats".}
proc EnumClipboardFormats*(format: UINT): UINT {.stdcall, dynlib: "user32", 
    importc: "EnumClipboardFormats".}
proc EmptyClipboard*(): WINBOOL {.stdcall, dynlib: "user32", 
                                  importc: "EmptyClipboard".}
proc IsClipboardFormatAvailable*(format: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "IsClipboardFormatAvailable".}
proc GetPriorityClipboardFormat*(paFormatPriorityList: var UINT; cFormats: int32): int32 {.
    stdcall, dynlib: "user32", importc: "GetPriorityClipboardFormat".}
proc GetOpenClipboardWindow*(): HWND {.stdcall, dynlib: "user32", 
                                       importc: "GetOpenClipboardWindow".}
proc CharNextExA*(CodePage: int16; lpCurrentChar: LPCSTR; dwFlags: DWORD): LPSTR {.
    stdcall, dynlib: "user32", importc: "CharNextExA".}
proc CharPrevExA*(CodePage: int16; lpStart: LPCSTR; lpCurrentChar: LPCSTR; 
                  dwFlags: DWORD): LPSTR {.stdcall, dynlib: "user32", 
    importc: "CharPrevExA".}
proc SetFocus*(wnd: HWND): HWND {.stdcall, dynlib: "user32", importc: "SetFocus".}
proc GetActiveWindow*(): HWND {.stdcall, dynlib: "user32", 
                                importc: "GetActiveWindow".}
proc GetFocus*(): HWND {.stdcall, dynlib: "user32", importc: "GetFocus".}
proc GetKBCodePage*(): UINT {.stdcall, dynlib: "user32", 
                              importc: "GetKBCodePage".}
proc GetKeyState*(nVirtKey: int32): SHORT {.stdcall, dynlib: "user32", 
    importc: "GetKeyState".}
proc GetAsyncKeyState*(vKey: int32): SHORT {.stdcall, dynlib: "user32", 
    importc: "GetAsyncKeyState".}
proc GetKeyboardState*(lpKeyState: PBYTE): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetKeyboardState".}
proc SetKeyboardState*(lpKeyState: LPBYTE): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetKeyboardState".}
proc GetKeyboardType*(nTypeFlag: int32): int32 {.stdcall, dynlib: "user32", 
    importc: "GetKeyboardType".}
proc ToAscii*(uVirtKey: UINT; uScanCode: UINT; lpKeyState: PBYTE; 
              lpChar: LPWORD; uFlags: UINT): int32 {.stdcall, dynlib: "user32", 
    importc: "ToAscii".}
proc ToAsciiEx*(uVirtKey: UINT; uScanCode: UINT; lpKeyState: PBYTE; 
                lpChar: LPWORD; uFlags: UINT; dwhkl: HKL): int32 {.stdcall, 
    dynlib: "user32", importc: "ToAsciiEx".}
proc ToUnicode*(wVirtKey: UINT; wScanCode: UINT; lpKeyState: PBYTE; 
                pwszBuff: LPWSTR; cchBuff: int32; wFlags: UINT): int32 {.
    stdcall, dynlib: "user32", importc: "ToUnicode".}
proc OemKeyScan*(wOemChar: int16): DWORD {.stdcall, dynlib: "user32", 
    importc: "OemKeyScan".}
proc keybd_event*(bVk: int8; bScan: int8; dwFlags: DWORD; dwExtraInfo: DWORD) {.
    stdcall, dynlib: "user32", importc: "keybd_event".}
proc mouse_event*(dwFlags: DWORD; dx: DWORD; dy: DWORD; cButtons: DWORD; 
                  dwExtraInfo: DWORD) {.stdcall, dynlib: "user32", 
                                        importc: "mouse_event".}
proc GetInputState*(): WINBOOL {.stdcall, dynlib: "user32", 
                                 importc: "GetInputState".}
proc GetQueueStatus*(flags: UINT): DWORD {.stdcall, dynlib: "user32", 
    importc: "GetQueueStatus".}
proc GetCapture*(): HWND {.stdcall, dynlib: "user32", importc: "GetCapture".}
proc SetCapture*(wnd: HWND): HWND {.stdcall, dynlib: "user32", 
                                    importc: "SetCapture".}
proc ReleaseCapture*(): WINBOOL {.stdcall, dynlib: "user32", 
                                  importc: "ReleaseCapture".}
proc MsgWaitForMultipleObjects*(nCount: DWORD; pHandles: LPHANDLE; 
                                fWaitAll: WINBOOL; dwMilliseconds: DWORD; 
                                dwWakeMask: DWORD): DWORD {.stdcall, 
    dynlib: "user32", importc: "MsgWaitForMultipleObjects".}
proc SetTimer*(wnd: HWND; nIDEvent: UINT; uElapse: UINT; lpTimerFunc: TIMERPROC): UINT {.
    stdcall, dynlib: "user32", importc: "SetTimer".}
proc KillTimer*(wnd: HWND; uIDEvent: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "KillTimer".}
proc IsWindowUnicode*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsWindowUnicode".}
proc EnableWindow*(wnd: HWND; bEnable: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EnableWindow".}
proc IsWindowEnabled*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsWindowEnabled".}
proc DestroyAcceleratorTable*(hAccel: HACCEL): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DestroyAcceleratorTable".}
proc GetSystemMetrics*(nIndex: int32): int32 {.stdcall, dynlib: "user32", 
    importc: "GetSystemMetrics".}
proc GetMenu*(wnd: HWND): HMENU {.stdcall, dynlib: "user32", importc: "GetMenu".}
proc SetMenu*(wnd: HWND; menu: HMENU): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetMenu".}
proc HiliteMenuItem*(wnd: HWND; menu: HMENU; uIDHiliteItem: UINT; uHilite: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "HiliteMenuItem".}
proc GetMenuState*(menu: HMENU; uId: UINT; uFlags: UINT): UINT {.stdcall, 
    dynlib: "user32", importc: "GetMenuState".}
proc DrawMenuBar*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
                                        importc: "DrawMenuBar".}
proc GetSystemMenu*(wnd: HWND; bRevert: WINBOOL): HMENU {.stdcall, 
    dynlib: "user32", importc: "GetSystemMenu".}
proc CreateMenu*(): HMENU {.stdcall, dynlib: "user32", importc: "CreateMenu".}
proc CreatePopupMenu*(): HMENU {.stdcall, dynlib: "user32", 
                                 importc: "CreatePopupMenu".}
proc DestroyMenu*(menu: HMENU): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DestroyMenu".}
proc CheckMenuItem*(menu: HMENU; uIDCheckItem: UINT; uCheck: UINT): DWORD {.
    stdcall, dynlib: "user32", importc: "CheckMenuItem".}
proc EnableMenuItem*(menu: HMENU; uIDEnableItem: UINT; uEnable: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnableMenuItem".}
proc GetSubMenu*(menu: HMENU; nPos: int32): HMENU {.stdcall, dynlib: "user32", 
    importc: "GetSubMenu".}
proc GetMenuItemID*(menu: HMENU; nPos: int32): UINT {.stdcall, dynlib: "user32", 
    importc: "GetMenuItemID".}
proc GetMenuItemCount*(menu: HMENU): int32 {.stdcall, dynlib: "user32", 
    importc: "GetMenuItemCount".}
proc RemoveMenu*(menu: HMENU; uPosition: UINT; uFlags: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "RemoveMenu".}
proc DeleteMenu*(menu: HMENU; uPosition: UINT; uFlags: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DeleteMenu".}
proc SetMenuItemBitmaps*(menu: HMENU; uPosition: UINT; uFlags: UINT; 
                         hBitmapUnchecked: HBITMAP; hBitmapChecked: HBITMAP): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetMenuItemBitmaps".}
proc GetMenuCheckMarkDimensions*(): LONG {.stdcall, dynlib: "user32", 
    importc: "GetMenuCheckMarkDimensions".}
proc TrackPopupMenu*(menu: HMENU; uFlags: UINT; x: int32; y: int32; 
                     nReserved: int32; wnd: HWND; prcRect: var RECT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "TrackPopupMenu".}
proc GetMenuDefaultItem*(menu: HMENU; fByPos: UINT; gmdiFlags: UINT): UINT {.
    stdcall, dynlib: "user32", importc: "GetMenuDefaultItem".}
proc SetMenuDefaultItem*(menu: HMENU; uItem: UINT; fByPos: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetMenuDefaultItem".}
proc GetMenuItemRect*(wnd: HWND; menu: HMENU; uItem: UINT; lprcItem: LPRECT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetMenuItemRect".}
proc MenuItemFromPoint*(wnd: HWND; menu: HMENU; ptScreen: POINT): int32 {.
    stdcall, dynlib: "user32", importc: "MenuItemFromPoint".}
proc DragObject*(para1: HWND; para2: HWND; para3: UINT; para4: DWORD; 
                 para5: HCURSOR): DWORD {.stdcall, dynlib: "user32", 
    importc: "DragObject".}
proc DragDetect*(wnd: HWND; pt: POINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DragDetect".}
proc DrawIcon*(hDC: HDC; X: int32; Y: int32; icon: HICON): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DrawIcon".}
proc UpdateWindow*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "UpdateWindow".}
proc SetActiveWindow*(wnd: HWND): HWND {.stdcall, dynlib: "user32", 
    importc: "SetActiveWindow".}
proc GetForegroundWindow*(): HWND {.stdcall, dynlib: "user32", 
                                    importc: "GetForegroundWindow".}
proc PaintDesktop*(hdc: HDC): WINBOOL {.stdcall, dynlib: "user32", 
                                        importc: "PaintDesktop".}
proc SetForegroundWindow*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetForegroundWindow".}
proc WindowFromDC*(hDC: HDC): HWND {.stdcall, dynlib: "user32", 
                                     importc: "WindowFromDC".}
proc GetDC*(wnd: HWND): HDC {.stdcall, dynlib: "user32", importc: "GetDC".}
proc GetDCEx*(wnd: HWND; hrgnClip: HRGN; flags: DWORD): HDC {.stdcall, 
    dynlib: "user32", importc: "GetDCEx".}
proc GetWindowDC*(wnd: HWND): HDC {.stdcall, dynlib: "user32", 
                                    importc: "GetWindowDC".}
proc ReleaseDC*(wnd: HWND; hDC: HDC): int32 {.stdcall, dynlib: "user32", 
    importc: "ReleaseDC".}
proc BeginPaint*(wnd: HWND; lpPaint: LPPAINTSTRUCT): HDC {.stdcall, 
    dynlib: "user32", importc: "BeginPaint".}
proc EndPaint*(wnd: HWND; lpPaint: LPPAINTSTRUCT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EndPaint".}
proc GetUpdateRect*(wnd: HWND; lpRect: LPRECT; bErase: WINBOOL): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetUpdateRect".}
proc GetUpdateRgn*(wnd: HWND; hRgn: HRGN; bErase: WINBOOL): int32 {.stdcall, 
    dynlib: "user32", importc: "GetUpdateRgn".}
proc SetWindowRgn*(wnd: HWND; hRgn: HRGN; bRedraw: WINBOOL): int32 {.stdcall, 
    dynlib: "user32", importc: "SetWindowRgn".}
proc GetWindowRgn*(wnd: HWND; hRgn: HRGN): int32 {.stdcall, dynlib: "user32", 
    importc: "GetWindowRgn".}
proc ExcludeUpdateRgn*(hDC: HDC; wnd: HWND): int32 {.stdcall, dynlib: "user32", 
    importc: "ExcludeUpdateRgn".}
proc InvalidateRect*(wnd: HWND; lpRect: var RECT; bErase: WINBOOL): WINBOOL {.
    stdcall, dynlib: "user32", importc: "InvalidateRect".}
proc InvalidateRect*(wnd: HWND; lpRect: LPRECT; bErase: WINBOOL): WINBOOL {.
    stdcall, dynlib: "user32", importc: "InvalidateRect".}
proc ValidateRect*(wnd: HWND; lpRect: var RECT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ValidateRect".}
proc ValidateRect*(wnd: HWND; lpRect: LPRECT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ValidateRect".}
proc InvalidateRgn*(wnd: HWND; hRgn: HRGN; bErase: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "InvalidateRgn".}
proc ValidateRgn*(wnd: HWND; hRgn: HRGN): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ValidateRgn".}
proc RedrawWindow*(wnd: HWND; lprcUpdate: var RECT; hrgnUpdate: HRGN; 
                   flags: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "RedrawWindow".}
proc RedrawWindow*(wnd: HWND; lprcUpdate: LPRECT; hrgnUpdate: HRGN; flags: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "RedrawWindow".}
proc LockWindowUpdate*(hWndLock: HWND): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "LockWindowUpdate".}
proc ScrollWindow*(wnd: HWND; XAmount: int32; YAmount: int32; lpRect: var RECT; 
                   lpClipRect: var RECT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ScrollWindow".}
proc ScrollDC*(hDC: HDC; dx: int32; dy: int32; lprcScroll: var RECT; 
               lprcClip: var RECT; hrgnUpdate: HRGN; lprcUpdate: LPRECT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "ScrollDC".}
proc ScrollWindowEx*(wnd: HWND; dx: int32; dy: int32; prcScroll: var RECT; 
                     prcClip: var RECT; hrgnUpdate: HRGN; prcUpdate: LPRECT; 
                     flags: UINT): int32 {.stdcall, dynlib: "user32", 
    importc: "ScrollWindowEx".}
proc SetScrollPos*(wnd: HWND; nBar: int32; nPos: int32; bRedraw: WINBOOL): int32 {.
    stdcall, dynlib: "user32", importc: "SetScrollPos".}
proc GetScrollPos*(wnd: HWND; nBar: int32): int32 {.stdcall, dynlib: "user32", 
    importc: "GetScrollPos".}
proc SetScrollRange*(wnd: HWND; nBar: int32; nMinPos: int32; nMaxPos: int32; 
                     bRedraw: WINBOOL): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetScrollRange".}
proc GetScrollRange*(wnd: HWND; nBar: int32; lpMinPos: LPINT; lpMaxPos: LPINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetScrollRange".}
proc ShowScrollBar*(wnd: HWND; wBar: int32; bShow: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ShowScrollBar".}
proc EnableScrollBar*(wnd: HWND; wSBflags: UINT; wArrows: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnableScrollBar".}
proc GetClientRect*(wnd: HWND; lpRect: LPRECT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetClientRect".}
proc GetWindowRect*(wnd: HWND; lpRect: LPRECT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetWindowRect".}
proc AdjustWindowRect*(lpRect: LPRECT; dwStyle: DWORD; bMenu: WINBOOL): WINBOOL {.
    stdcall, dynlib: "user32", importc: "AdjustWindowRect".}
proc AdjustWindowRectEx*(lpRect: LPRECT; dwStyle: DWORD; bMenu: WINBOOL; 
                         dwExStyle: DWORD): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "AdjustWindowRectEx".}
proc SetWindowContextHelpId*(para1: HWND; para2: DWORD): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetWindowContextHelpId".}
proc GetWindowContextHelpId*(para1: HWND): DWORD {.stdcall, dynlib: "user32", 
    importc: "GetWindowContextHelpId".}
proc SetMenuContextHelpId*(para1: HMENU; para2: DWORD): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetMenuContextHelpId".}
proc GetMenuContextHelpId*(para1: HMENU): DWORD {.stdcall, dynlib: "user32", 
    importc: "GetMenuContextHelpId".}
proc MessageBeep*(uType: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "MessageBeep".}
proc ShowCursor*(bShow: WINBOOL): int32 {.stdcall, dynlib: "user32", 
    importc: "ShowCursor".}
proc SetCursorPos*(X: int32; Y: int32): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetCursorPos".}
proc SetCursor*(cursor: HCURSOR): HCURSOR {.stdcall, dynlib: "user32", 
    importc: "SetCursor".}
proc GetCursorPos*(lpPoint: LPPOINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetCursorPos".}
proc ClipCursor*(lpRect: LPRECT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ClipCursor".}
proc GetClipCursor*(lpRect: LPRECT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetClipCursor".}
proc GetCursor*(): HCURSOR {.stdcall, dynlib: "user32", importc: "GetCursor".}
proc CreateCaret*(wnd: HWND; hBitmap: HBITMAP; nWidth: int32; nHeight: int32): WINBOOL {.
    stdcall, dynlib: "user32", importc: "CreateCaret".}
proc GetCaretBlinkTime*(): UINT {.stdcall, dynlib: "user32", 
                                  importc: "GetCaretBlinkTime".}
proc SetCaretBlinkTime*(uMSeconds: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetCaretBlinkTime".}
proc DestroyCaret*(): WINBOOL {.stdcall, dynlib: "user32", 
                                importc: "DestroyCaret".}
proc HideCaret*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
                                      importc: "HideCaret".}
proc ShowCaret*(wnd: HWND): WINBOOL {.stdcall, dynlib: "user32", 
                                      importc: "ShowCaret".}
proc SetCaretPos*(X: int32; Y: int32): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetCaretPos".}
proc GetCaretPos*(lpPoint: LPPOINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetCaretPos".}
proc ClientToScreen*(wnd: HWND; lpPoint: LPPOINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ClientToScreen".}
proc ScreenToClient*(wnd: HWND; lpPoint: LPPOINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ScreenToClient".}
proc MapWindowPoints*(hWndFrom: HWND; hWndTo: HWND; lpPoints: LPPOINT; 
                      cPoints: UINT): int32 {.stdcall, dynlib: "user32", 
    importc: "MapWindowPoints".}
proc WindowFromPoint*(Point: POINT): HWND {.stdcall, dynlib: "user32", 
    importc: "WindowFromPoint".}
proc ChildWindowFromPoint*(hWndParent: HWND; Point: POINT): HWND {.stdcall, 
    dynlib: "user32", importc: "ChildWindowFromPoint".}
proc GetSysColor*(nIndex: int32): DWORD {.stdcall, dynlib: "user32", 
    importc: "GetSysColor".}
proc GetSysColorBrush*(nIndex: int32): HBRUSH {.stdcall, dynlib: "user32", 
    importc: "GetSysColorBrush".}
proc SetSysColors*(cElements: int32; lpaElements: var wINT; 
                   lpaRgbValues: var COLORREF): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetSysColors".}
proc DrawFocusRect*(hDC: HDC; lprc: var RECT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DrawFocusRect".}
proc FillRect*(hDC: HDC; lprc: RECT; hbr: HBRUSH): int32 {.stdcall, 
    dynlib: "user32", importc: "FillRect".}
proc FrameRect*(hDC: HDC; lprc: var RECT; hbr: HBRUSH): int32 {.stdcall, 
    dynlib: "user32", importc: "FrameRect".}
proc InvertRect*(hDC: HDC; lprc: var RECT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "InvertRect".}
proc SetRect*(lprc: LPRECT; xLeft: int32; yTop: int32; xRight: int32; 
              yBottom: int32): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetRect".}
proc SetRectEmpty*(lprc: LPRECT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetRectEmpty".}
proc CopyRect*(lprcDst: LPRECT; lprcSrc: var RECT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CopyRect".}
proc InflateRect*(lprc: LPRECT; dx: int32; dy: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "InflateRect".}
proc IntersectRect*(lprcDst: LPRECT; lprcSrc1: var RECT; lprcSrc2: var RECT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "IntersectRect".}
proc UnionRect*(lprcDst: LPRECT; lprcSrc1: var RECT; lprcSrc2: var RECT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "UnionRect".}
proc SubtractRect*(lprcDst: LPRECT; lprcSrc1: var RECT; lprcSrc2: var RECT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SubtractRect".}
proc OffsetRect*(lprc: LPRECT; dx: int32; dy: int32): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "OffsetRect".}
proc IsRectEmpty*(lprc: var RECT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "IsRectEmpty".}
proc EqualRect*(lprc1: var RECT; lprc2: var RECT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EqualRect".}
proc PtInRect*(lprc: var RECT; pt: POINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "PtInRect".}
proc PtInRect*(lprc: LPRECT; pt: POINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "PtInRect".}
proc GetWindowWord*(wnd: HWND; nIndex: int32): int16 {.stdcall, 
    dynlib: "user32", importc: "GetWindowWord".}
proc SetWindowWord*(wnd: HWND; nIndex: int32; wNewWord: int16): int16 {.stdcall, 
    dynlib: "user32", importc: "SetWindowWord".}
proc GetClassWord*(wnd: HWND; nIndex: int32): int16 {.stdcall, dynlib: "user32", 
    importc: "GetClassWord".}
proc SetClassWord*(wnd: HWND; nIndex: int32; wNewWord: int16): int16 {.stdcall, 
    dynlib: "user32", importc: "SetClassWord".}
proc GetDesktopWindow*(): HWND {.stdcall, dynlib: "user32", 
                                 importc: "GetDesktopWindow".}
proc GetParent*(wnd: HWND): HWND {.stdcall, dynlib: "user32", 
                                   importc: "GetParent".}
proc SetParent*(hWndChild: HWND; hWndNewParent: HWND): HWND {.stdcall, 
    dynlib: "user32", importc: "SetParent".}
proc EnumChildWindows*(hWndParent: HWND; lpEnumFunc: ENUMWINDOWSPROC; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnumChildWindows".}
proc EnumWindows*(lpEnumFunc: ENUMWINDOWSPROC; lp: LPARAM): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EnumWindows".}
proc EnumThreadWindows*(dwThreadId: DWORD; lpfn: ENUMWINDOWSPROC; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnumThreadWindows".}
proc EnumTaskWindows*(hTask: HWND; lpfn: FARPROC; lp: LPARAM): WINBOOL {.
    stdcall, dynlib: "user32", importc: "EnumThreadWindows".}
proc GetTopWindow*(wnd: HWND): HWND {.stdcall, dynlib: "user32", 
                                      importc: "GetTopWindow".}
proc GetWindowThreadProcessId*(wnd: HWND; lpdwProcessId: LPDWORD): DWORD {.
    stdcall, dynlib: "user32", importc: "GetWindowThreadProcessId".}
proc GetLastActivePopup*(wnd: HWND): HWND {.stdcall, dynlib: "user32", 
    importc: "GetLastActivePopup".}
proc GetWindow*(wnd: HWND; uCmd: UINT): HWND {.stdcall, dynlib: "user32", 
    importc: "GetWindow".}
proc UnhookWindowsHook*(nCode: int32; pfnFilterProc: HOOKPROC): WINBOOL {.
    stdcall, dynlib: "user32", importc: "UnhookWindowsHook".}
proc UnhookWindowsHookEx*(hhk: HHOOK): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "UnhookWindowsHookEx".}
proc CallNextHookEx*(hhk: HHOOK; nCode: int32; wp: WPARAM; lp: LPARAM): LRESULT {.
    stdcall, dynlib: "user32", importc: "CallNextHookEx".}
proc CheckMenuRadioItem*(para1: HMENU; para2: UINT; para3: UINT; para4: UINT; 
                         para5: UINT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "CheckMenuRadioItem".}
proc CreateCursor*(hInst: HINST; xHotSpot: int32; yHotSpot: int32; 
                   nWidth: int32; nHeight: int32; pvANDPlane: pointer; 
                   pvXORPlane: pointer): HCURSOR {.stdcall, dynlib: "user32", 
    importc: "CreateCursor".}
proc DestroyCursor*(cursor: HCURSOR): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DestroyCursor".}
proc SetSystemCursor*(hcur: HCURSOR; anID: DWORD): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetSystemCursor".}
proc CreateIcon*(hInstance: HINST; nWidth: int32; nHeight: int32; cPlanes: int8; 
                 cBitsPixel: int8; lpbANDbits: var int8; lpbXORbits: var int8): HICON {.
    stdcall, dynlib: "user32", importc: "CreateIcon".}
proc DestroyIcon*(icon: HICON): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DestroyIcon".}
proc LookupIconIdFromDirectory*(presbits: PBYTE; fIcon: WINBOOL): int32 {.
    stdcall, dynlib: "user32", importc: "LookupIconIdFromDirectory".}
proc LookupIconIdFromDirectoryEx*(presbits: PBYTE; fIcon: WINBOOL; 
                                  cxDesired: int32; cyDesired: int32; 
                                  Flags: UINT): int32 {.stdcall, 
    dynlib: "user32", importc: "LookupIconIdFromDirectoryEx".}
proc CreateIconFromResource*(presbits: PBYTE; dwResSize: DWORD; fIcon: WINBOOL; 
                             dwVer: DWORD): HICON {.stdcall, dynlib: "user32", 
    importc: "CreateIconFromResource".}
proc CreateIconFromResourceEx*(presbits: PBYTE; dwResSize: DWORD; 
                               fIcon: WINBOOL; dwVer: DWORD; cxDesired: int32; 
                               cyDesired: int32; Flags: UINT): HICON {.stdcall, 
    dynlib: "user32", importc: "CreateIconFromResourceEx".}
proc CopyImage*(para1: HANDLE; para2: UINT; para3: int32; para4: int32; 
                para5: UINT): HICON {.stdcall, dynlib: "user32", 
                                      importc: "CopyImage".}
proc CreateIconIndirect*(piconinfo: PICONINFO): HICON {.stdcall, 
    dynlib: "user32", importc: "CreateIconIndirect".}
proc CopyIcon*(icon: HICON): HICON {.stdcall, dynlib: "user32", 
                                     importc: "CopyIcon".}
proc GetIconInfo*(icon: HICON; piconinfo: PICONINFO): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetIconInfo".}
proc MapDialogRect*(hDlg: HWND; lpRect: LPRECT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "MapDialogRect".}
proc SetScrollInfo*(para1: HWND; para2: int32; para3: LPCSCROLLINFO; 
                    para4: WINBOOL): int32 {.stdcall, dynlib: "user32", 
    importc: "SetScrollInfo".}
proc GetScrollInfo*(para1: HWND; para2: int32; para3: LPSCROLLINFO): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetScrollInfo".}
proc TranslateMDISysAccel*(hWndClient: HWND; lpMsg: LPMSG): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "TranslateMDISysAccel".}
proc ArrangeIconicWindows*(wnd: HWND): UINT {.stdcall, dynlib: "user32", 
    importc: "ArrangeIconicWindows".}
proc TileWindows*(hwndParent: HWND; wHow: UINT; lpRect: var RECT; cKids: UINT; 
                  lpKids: var HWND): int16 {.stdcall, dynlib: "user32", 
    importc: "TileWindows".}
proc CascadeWindows*(hwndParent: HWND; wHow: UINT; lpRect: var RECT; 
                     cKids: UINT; lpKids: var HWND): int16 {.stdcall, 
    dynlib: "user32", importc: "CascadeWindows".}
proc SetLastErrorEx*(dwErrCode: DWORD; dwType: DWORD) {.stdcall, 
    dynlib: "user32", importc: "SetLastErrorEx".}
proc SetDebugErrorLevel*(dwLevel: DWORD) {.stdcall, dynlib: "user32", 
    importc: "SetDebugErrorLevel".}
proc DrawEdge*(hdc: HDC; qrc: LPRECT; edge: UINT; grfFlags: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "DrawEdge".}
proc DrawFrameControl*(para1: HDC; para2: LPRECT; para3: UINT; para4: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "DrawFrameControl".}
proc DrawCaption*(para1: HWND; para2: HDC; para3: var RECT; para4: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "DrawCaption".}
proc DrawAnimatedRects*(wnd: HWND; idAni: int32; lprcFrom: var RECT; 
                        lprcTo: var RECT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DrawAnimatedRects".}
proc TrackPopupMenuEx*(para1: HMENU; para2: UINT; para3: int32; para4: int32; 
                       para5: HWND; para6: LPTPMPARAMS): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "TrackPopupMenuEx".}
proc ChildWindowFromPointEx*(para1: HWND; para2: POINT; para3: UINT): HWND {.
    stdcall, dynlib: "user32", importc: "ChildWindowFromPointEx".}
proc DrawIconEx*(hdc: HDC; xLeft: int32; yTop: int32; icon: HICON; 
                 cxWidth: int32; cyWidth: int32; istepIfAniCur: UINT; 
                 hbrFlickerFreeDraw: HBRUSH; diFlags: UINT): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DrawIconEx".}
proc AnimatePalette*(para1: HPALETTE; para2: UINT; para3: UINT; 
                     para4: var PALETTEENTRY): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "AnimatePalette".}
proc Arc*(para1: HDC; para2: int32; para3: int32; para4: int32; para5: int32; 
          para6: int32; para7: int32; para8: int32; para9: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "Arc".}
proc BitBlt*(para1: HDC; para2: int32; para3: int32; para4: int32; para5: int32; 
             para6: HDC; para7: int32; para8: int32; para9: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "BitBlt".}
proc CancelDC*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
                                      importc: "CancelDC".}
proc Chord*(para1: HDC; para2: int32; para3: int32; para4: int32; para5: int32; 
            para6: int32; para7: int32; para8: int32; para9: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "Chord".}
proc CloseMetaFile*(para1: HDC): HMETAFILE {.stdcall, dynlib: "gdi32", 
    importc: "CloseMetaFile".}
proc CombineRgn*(para1: HRGN; para2: HRGN; para3: HRGN; para4: int32): int32 {.
    stdcall, dynlib: "gdi32", importc: "CombineRgn".}
proc CreateBitmap*(para1: int32; para2: int32; para3: UINT; para4: UINT; 
                   para5: pointer): HBITMAP {.stdcall, dynlib: "gdi32", 
    importc: "CreateBitmap".}
proc CreateBitmapIndirect*(para1: var BITMAP): HBITMAP {.stdcall, 
    dynlib: "gdi32", importc: "CreateBitmapIndirect".}
proc CreateBrushIndirect*(para1: var LOGBRUSH): HBRUSH {.stdcall, 
    dynlib: "gdi32", importc: "CreateBrushIndirect".}
proc CreateCompatibleBitmap*(para1: HDC; para2: int32; para3: int32): HBITMAP {.
    stdcall, dynlib: "gdi32", importc: "CreateCompatibleBitmap".}
proc CreateDiscardableBitmap*(para1: HDC; para2: int32; para3: int32): HBITMAP {.
    stdcall, dynlib: "gdi32", importc: "CreateDiscardableBitmap".}
proc CreateCompatibleDC*(para1: HDC): HDC {.stdcall, dynlib: "gdi32", 
    importc: "CreateCompatibleDC".}
proc CreateDIBitmap*(para1: HDC; para2: var BITMAPINFOHEADER; para3: DWORD; 
                     para4: pointer; para5: var BITMAPINFO; para6: UINT): HBITMAP {.
    stdcall, dynlib: "gdi32", importc: "CreateDIBitmap".}
proc CreateDIBPatternBrush*(para1: HGLOBAL; para2: UINT): HBRUSH {.stdcall, 
    dynlib: "gdi32", importc: "CreateDIBPatternBrush".}
proc CreateDIBPatternBrushPt*(para1: pointer; para2: UINT): HBRUSH {.stdcall, 
    dynlib: "gdi32", importc: "CreateDIBPatternBrushPt".}
proc CreateEllipticRgn*(para1: int32; para2: int32; para3: int32; para4: int32): HRGN {.
    stdcall, dynlib: "gdi32", importc: "CreateEllipticRgn".}
proc CreateEllipticRgnIndirect*(para1: var RECT): HRGN {.stdcall, 
    dynlib: "gdi32", importc: "CreateEllipticRgnIndirect".}
proc CreateHatchBrush*(para1: int32; para2: COLORREF): HBRUSH {.stdcall, 
    dynlib: "gdi32", importc: "CreateHatchBrush".}
proc CreatePalette*(para1: var LOGPALETTE): HPALETTE {.stdcall, dynlib: "gdi32", 
    importc: "CreatePalette".}
proc CreatePen*(para1: int32; para2: int32; para3: COLORREF): HPEN {.stdcall, 
    dynlib: "gdi32", importc: "CreatePen".}
proc CreatePenIndirect*(para1: var LOGPEN): HPEN {.stdcall, dynlib: "gdi32", 
    importc: "CreatePenIndirect".}
proc CreatePolyPolygonRgn*(para1: var POINT; para2: var wINT; para3: int32; 
                           para4: int32): HRGN {.stdcall, dynlib: "gdi32", 
    importc: "CreatePolyPolygonRgn".}
proc CreatePatternBrush*(para1: HBITMAP): HBRUSH {.stdcall, dynlib: "gdi32", 
    importc: "CreatePatternBrush".}
proc CreateRectRgn*(para1: int32; para2: int32; para3: int32; para4: int32): HRGN {.
    stdcall, dynlib: "gdi32", importc: "CreateRectRgn".}
proc CreateRectRgnIndirect*(para1: var RECT): HRGN {.stdcall, dynlib: "gdi32", 
    importc: "CreateRectRgnIndirect".}
proc CreateRoundRectRgn*(para1: int32; para2: int32; para3: int32; para4: int32; 
                         para5: int32; para6: int32): HRGN {.stdcall, 
    dynlib: "gdi32", importc: "CreateRoundRectRgn".}
proc CreateSolidBrush*(para1: COLORREF): HBRUSH {.stdcall, dynlib: "gdi32", 
    importc: "CreateSolidBrush".}
proc DeleteDC*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
                                      importc: "DeleteDC".}
proc DeleteMetaFile*(para1: HMETAFILE): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "DeleteMetaFile".}
proc DeleteObject*(para1: HGDIOBJ): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "DeleteObject".}
proc DrawEscape*(para1: HDC; para2: int32; para3: int32; para4: LPCSTR): int32 {.
    stdcall, dynlib: "gdi32", importc: "DrawEscape".}
proc Ellipse*(para1: HDC; para2: int32; para3: int32; para4: int32; para5: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "Ellipse".}
proc EnumObjects*(para1: HDC; para2: int32; para3: ENUMOBJECTSPROC; 
                  para4: LPARAM): int32 {.stdcall, dynlib: "gdi32", 
    importc: "EnumObjects".}
proc EqualRgn*(para1: HRGN; para2: HRGN): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "EqualRgn".}
proc Escape*(para1: HDC; para2: int32; para3: int32; para4: LPCSTR; 
             para5: LPVOID): int32 {.stdcall, dynlib: "gdi32", importc: "Escape".}
proc ExtEscape*(para1: HDC; para2: int32; para3: int32; para4: LPCSTR; 
                para5: int32; para6: LPSTR): int32 {.stdcall, dynlib: "gdi32", 
    importc: "ExtEscape".}
proc ExcludeClipRect*(para1: HDC; para2: int32; para3: int32; para4: int32; 
                      para5: int32): int32 {.stdcall, dynlib: "gdi32", 
    importc: "ExcludeClipRect".}
proc ExtCreateRegion*(para1: var XFORM; para2: DWORD; para3: var RGNDATA): HRGN {.
    stdcall, dynlib: "gdi32", importc: "ExtCreateRegion".}
proc ExtFloodFill*(para1: HDC; para2: int32; para3: int32; para4: COLORREF; 
                   para5: UINT): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "ExtFloodFill".}
proc FillRgn*(para1: HDC; para2: HRGN; para3: HBRUSH): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "FillRgn".}
proc FloodFill*(para1: HDC; para2: int32; para3: int32; para4: COLORREF): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "FloodFill".}
proc FrameRgn*(para1: HDC; para2: HRGN; para3: HBRUSH; para4: int32; 
               para5: int32): WINBOOL {.stdcall, dynlib: "gdi32", 
                                        importc: "FrameRgn".}
proc GetROP2*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", importc: "GetROP2".}
proc GetAspectRatioFilterEx*(para1: HDC; para2: LPSIZE): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetAspectRatioFilterEx".}
proc GetBkColor*(para1: HDC): COLORREF {.stdcall, dynlib: "gdi32", 
    importc: "GetBkColor".}
proc GetBkMode*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
                                     importc: "GetBkMode".}
proc GetBitmapBits*(para1: HBITMAP; para2: LONG; para3: LPVOID): LONG {.stdcall, 
    dynlib: "gdi32", importc: "GetBitmapBits".}
proc GetBitmapDimensionEx*(para1: HBITMAP; para2: LPSIZE): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetBitmapDimensionEx".}
proc GetBoundsRect*(para1: HDC; para2: LPRECT; para3: UINT): UINT {.stdcall, 
    dynlib: "gdi32", importc: "GetBoundsRect".}
proc GetBrushOrgEx*(para1: HDC; para2: LPPOINT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetBrushOrgEx".}
proc GetClipBox*(para1: HDC; para2: LPRECT): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetClipBox".}
proc GetClipRgn*(para1: HDC; para2: HRGN): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetClipRgn".}
proc GetMetaRgn*(para1: HDC; para2: HRGN): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetMetaRgn".}
proc GetCurrentObject*(para1: HDC; para2: UINT): HGDIOBJ {.stdcall, 
    dynlib: "gdi32", importc: "GetCurrentObject".}
proc GetCurrentPositionEx*(para1: HDC; para2: LPPOINT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetCurrentPositionEx".}
proc GetDeviceCaps*(para1: HDC; para2: int32): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetDeviceCaps".}
proc GetDIBits*(para1: HDC; para2: HBITMAP; para3: UINT; para4: UINT; 
                para5: LPVOID; para6: LPBITMAPINFO; para7: UINT): int32 {.
    stdcall, dynlib: "gdi32", importc: "GetDIBits".}
proc GetFontData*(para1: HDC; para2: DWORD; para3: DWORD; para4: LPVOID; 
                  para5: DWORD): DWORD {.stdcall, dynlib: "gdi32", 
    importc: "GetFontData".}
proc GetGraphicsMode*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetGraphicsMode".}
proc GetMapMode*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
                                      importc: "GetMapMode".}
proc GetMetaFileBitsEx*(para1: HMETAFILE; para2: UINT; para3: LPVOID): UINT {.
    stdcall, dynlib: "gdi32", importc: "GetMetaFileBitsEx".}
proc GetNearestColor*(para1: HDC; para2: COLORREF): COLORREF {.stdcall, 
    dynlib: "gdi32", importc: "GetNearestColor".}
proc GetNearestPaletteIndex*(para1: HPALETTE; para2: COLORREF): UINT {.stdcall, 
    dynlib: "gdi32", importc: "GetNearestPaletteIndex".}
proc GetObjectType*(h: HGDIOBJ): DWORD {.stdcall, dynlib: "gdi32", 
    importc: "GetObjectType".}
proc GetPaletteEntries*(para1: HPALETTE; para2: UINT; para3: UINT; 
                        para4: LPPALETTEENTRY): UINT {.stdcall, dynlib: "gdi32", 
    importc: "GetPaletteEntries".}
proc GetPixel*(para1: HDC; para2: int32; para3: int32): COLORREF {.stdcall, 
    dynlib: "gdi32", importc: "GetPixel".}
proc GetPixelFormat*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetPixelFormat".}
proc GetPolyFillMode*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetPolyFillMode".}
proc GetRasterizerCaps*(para1: LPRASTERIZER_STATUS; para2: UINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetRasterizerCaps".}
proc GetRegionData*(para1: HRGN; para2: DWORD; para3: LPRGNDATA): DWORD {.
    stdcall, dynlib: "gdi32", importc: "GetRegionData".}
proc GetRgnBox*(para1: HRGN; para2: LPRECT): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetRgnBox".}
proc GetStockObject*(para1: int32): HGDIOBJ {.stdcall, dynlib: "gdi32", 
    importc: "GetStockObject".}
proc GetStretchBltMode*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetStretchBltMode".}
proc GetSystemPaletteEntries*(para1: HDC; para2: UINT; para3: UINT; 
                              para4: LPPALETTEENTRY): UINT {.stdcall, 
    dynlib: "gdi32", importc: "GetSystemPaletteEntries".}
proc GetSystemPaletteUse*(para1: HDC): UINT {.stdcall, dynlib: "gdi32", 
    importc: "GetSystemPaletteUse".}
proc GetTextCharacterExtra*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetTextCharacterExtra".}
proc GetTextAlign*(para1: HDC): UINT {.stdcall, dynlib: "gdi32", 
                                       importc: "GetTextAlign".}
proc GetTextColor*(para1: HDC): COLORREF {.stdcall, dynlib: "gdi32", 
    importc: "GetTextColor".}
proc GetTextCharset*(hdc: HDC): int32 {.stdcall, dynlib: "gdi32", 
                                        importc: "GetTextCharset".}
proc GetTextCharsetInfo*(hdc: HDC; lpSig: LPFONTSIGNATURE; dwFlags: DWORD): int32 {.
    stdcall, dynlib: "gdi32", importc: "GetTextCharsetInfo".}
proc TranslateCharsetInfo*(lpSrc: var DWORD; lpCs: LPCHARSETINFO; dwFlags: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "TranslateCharsetInfo".}
proc GetFontLanguageInfo*(para1: HDC): DWORD {.stdcall, dynlib: "gdi32", 
    importc: "GetFontLanguageInfo".}
proc GetViewportExtEx*(para1: HDC; para2: LPSIZE): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetViewportExtEx".}
proc GetViewportOrgEx*(para1: HDC; para2: LPPOINT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetViewportOrgEx".}
proc GetWindowExtEx*(para1: HDC; para2: LPSIZE): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetWindowExtEx".}
proc GetWindowOrgEx*(para1: HDC; para2: LPPOINT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetWindowOrgEx".}
proc IntersectClipRect*(para1: HDC; para2: int32; para3: int32; para4: int32; 
                        para5: int32): int32 {.stdcall, dynlib: "gdi32", 
    importc: "IntersectClipRect".}
proc InvertRgn*(para1: HDC; para2: HRGN): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "InvertRgn".}
proc LineDDA*(para1: int32; para2: int32; para3: int32; para4: int32; 
              para5: LINEDDAPROC; para6: LPARAM): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "LineDDA".}
proc LineTo*(para1: HDC; para2: int32; para3: int32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "LineTo".}
proc MaskBlt*(para1: HDC; para2: int32; para3: int32; para4: int32; 
              para5: int32; para6: HDC; para7: int32; para8: int32; 
              para9: HBITMAP; para10: int32; para11: int32; para12: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "MaskBlt".}
proc PlgBlt*(para1: HDC; para2: var POINT; para3: HDC; para4: int32; 
             para5: int32; para6: int32; para7: int32; para8: HBITMAP; 
             para9: int32; para10: int32): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "PlgBlt".}
proc OffsetClipRgn*(para1: HDC; para2: int32; para3: int32): int32 {.stdcall, 
    dynlib: "gdi32", importc: "OffsetClipRgn".}
proc OffsetRgn*(para1: HRGN; para2: int32; para3: int32): int32 {.stdcall, 
    dynlib: "gdi32", importc: "OffsetRgn".}
proc PatBlt*(para1: HDC; para2: int32; para3: int32; para4: int32; para5: int32; 
             para6: DWORD): WINBOOL {.stdcall, dynlib: "gdi32", 
                                      importc: "PatBlt".}
proc Pie*(para1: HDC; para2: int32; para3: int32; para4: int32; para5: int32; 
          para6: int32; para7: int32; para8: int32; para9: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "Pie".}
proc PlayMetaFile*(para1: HDC; para2: HMETAFILE): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "PlayMetaFile".}
proc PaintRgn*(para1: HDC; para2: HRGN): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "PaintRgn".}
proc PolyPolygon*(para1: HDC; para2: var POINT; para3: var wINT; para4: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyPolygon".}
proc PtInRegion*(para1: HRGN; para2: int32; para3: int32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "PtInRegion".}
proc PtVisible*(para1: HDC; para2: int32; para3: int32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "PtVisible".}
proc RectInRegion*(para1: HRGN; para2: var RECT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "RectInRegion".}
proc RectVisible*(para1: HDC; para2: var RECT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "RectVisible".}
proc Rectangle*(para1: HDC; para2: int32; para3: int32; para4: int32; 
                para5: int32): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "Rectangle".}
proc RestoreDC*(para1: HDC; para2: int32): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "RestoreDC".}
proc RealizePalette*(para1: HDC): UINT {.stdcall, dynlib: "gdi32", 
    importc: "RealizePalette".}
proc RoundRect*(para1: HDC; para2: int32; para3: int32; para4: int32; 
                para5: int32; para6: int32; para7: int32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "RoundRect".}
proc ResizePalette*(para1: HPALETTE; para2: UINT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "ResizePalette".}
proc SaveDC*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", importc: "SaveDC".}
proc SelectClipRgn*(para1: HDC; para2: HRGN): int32 {.stdcall, dynlib: "gdi32", 
    importc: "SelectClipRgn".}
proc ExtSelectClipRgn*(para1: HDC; para2: HRGN; para3: int32): int32 {.stdcall, 
    dynlib: "gdi32", importc: "ExtSelectClipRgn".}
proc SetMetaRgn*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
                                      importc: "SetMetaRgn".}
proc SelectObject*(para1: HDC; para2: HGDIOBJ): HGDIOBJ {.stdcall, 
    dynlib: "gdi32", importc: "SelectObject".}
proc SelectPalette*(para1: HDC; para2: HPALETTE; para3: WINBOOL): HPALETTE {.
    stdcall, dynlib: "gdi32", importc: "SelectPalette".}
proc SetBkColor*(para1: HDC; para2: COLORREF): COLORREF {.stdcall, 
    dynlib: "gdi32", importc: "SetBkColor".}
proc SetBkMode*(para1: HDC; para2: int32): int32 {.stdcall, dynlib: "gdi32", 
    importc: "SetBkMode".}
proc SetBitmapBits*(para1: HBITMAP; para2: DWORD; para3: pointer): LONG {.
    stdcall, dynlib: "gdi32", importc: "SetBitmapBits".}
proc SetBoundsRect*(para1: HDC; para2: var RECT; para3: UINT): UINT {.stdcall, 
    dynlib: "gdi32", importc: "SetBoundsRect".}
proc SetDIBits*(para1: HDC; para2: HBITMAP; para3: UINT; para4: UINT; 
                para5: pointer; para6: PBITMAPINFO; para7: UINT): int32 {.
    stdcall, dynlib: "gdi32", importc: "SetDIBits".}
proc SetDIBitsToDevice*(para1: HDC; para2: int32; para3: int32; para4: DWORD; 
                        para5: DWORD; para6: int32; para7: int32; para8: UINT; 
                        para9: UINT; para10: pointer; para11: var BITMAPINFO; 
                        para12: UINT): int32 {.stdcall, dynlib: "gdi32", 
    importc: "SetDIBitsToDevice".}
proc SetMapperFlags*(para1: HDC; para2: DWORD): DWORD {.stdcall, 
    dynlib: "gdi32", importc: "SetMapperFlags".}
proc SetGraphicsMode*(hdc: HDC; iMode: int32): int32 {.stdcall, dynlib: "gdi32", 
    importc: "SetGraphicsMode".}
proc SetMapMode*(para1: HDC; para2: int32): int32 {.stdcall, dynlib: "gdi32", 
    importc: "SetMapMode".}
proc SetMetaFileBitsEx*(para1: UINT; para2: var int8): HMETAFILE {.stdcall, 
    dynlib: "gdi32", importc: "SetMetaFileBitsEx".}
proc SetPaletteEntries*(para1: HPALETTE; para2: UINT; para3: UINT; 
                        para4: var PALETTEENTRY): UINT {.stdcall, 
    dynlib: "gdi32", importc: "SetPaletteEntries".}
proc SetPixel*(para1: HDC; para2: int32; para3: int32; para4: COLORREF): COLORREF {.
    stdcall, dynlib: "gdi32", importc: "SetPixel".}
proc SetPixelV*(para1: HDC; para2: int32; para3: int32; para4: COLORREF): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "SetPixelV".}
proc SetPolyFillMode*(para1: HDC; para2: int32): int32 {.stdcall, 
    dynlib: "gdi32", importc: "SetPolyFillMode".}
proc StretchBlt*(para1: HDC; para2: int32; para3: int32; para4: int32; 
                 para5: int32; para6: HDC; para7: int32; para8: int32; 
                 para9: int32; para10: int32; para11: DWORD): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "StretchBlt".}
proc SetRectRgn*(para1: HRGN; para2: int32; para3: int32; para4: int32; 
                 para5: int32): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "SetRectRgn".}
proc StretchDIBits*(para1: HDC; para2: int32; para3: int32; para4: int32; 
                    para5: int32; para6: int32; para7: int32; para8: int32; 
                    para9: int32; para10: pointer; para11: var BITMAPINFO; 
                    para12: UINT; para13: DWORD): int32 {.stdcall, 
    dynlib: "gdi32", importc: "StretchDIBits".}
proc SetROP2*(para1: HDC; para2: int32): int32 {.stdcall, dynlib: "gdi32", 
    importc: "SetROP2".}
proc SetStretchBltMode*(para1: HDC; para2: int32): int32 {.stdcall, 
    dynlib: "gdi32", importc: "SetStretchBltMode".}
proc SetSystemPaletteUse*(para1: HDC; para2: UINT): UINT {.stdcall, 
    dynlib: "gdi32", importc: "SetSystemPaletteUse".}
proc SetTextCharacterExtra*(para1: HDC; para2: int32): int32 {.stdcall, 
    dynlib: "gdi32", importc: "SetTextCharacterExtra".}
proc SetTextColor*(para1: HDC; para2: COLORREF): COLORREF {.stdcall, 
    dynlib: "gdi32", importc: "SetTextColor".}
proc SetTextAlign*(para1: HDC; para2: UINT): UINT {.stdcall, dynlib: "gdi32", 
    importc: "SetTextAlign".}
proc SetTextJustification*(para1: HDC; para2: int32; para3: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "SetTextJustification".}
proc UpdateColors*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "UpdateColors".}
proc PlayMetaFileRecord*(para1: HDC; para2: LPHANDLETABLE; para3: LPMETARECORD; 
                         para4: UINT): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "PlayMetaFileRecord".}
proc EnumMetaFile*(para1: HDC; para2: HMETAFILE; para3: ENUMMETAFILEPROC; 
                   para4: LPARAM): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "EnumMetaFile".}
proc CloseEnhMetaFile*(para1: HDC): HENHMETAFILE {.stdcall, dynlib: "gdi32", 
    importc: "CloseEnhMetaFile".}
proc DeleteEnhMetaFile*(para1: HENHMETAFILE): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "DeleteEnhMetaFile".}
proc EnumEnhMetaFile*(para1: HDC; para2: HENHMETAFILE; para3: ENHMETAFILEPROC; 
                      para4: LPVOID; para5: var RECT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "EnumEnhMetaFile".}
proc GetEnhMetaFileHeader*(para1: HENHMETAFILE; para2: UINT; 
                           para3: LPENHMETAHEADER): UINT {.stdcall, 
    dynlib: "gdi32", importc: "GetEnhMetaFileHeader".}
proc GetEnhMetaFilePaletteEntries*(para1: HENHMETAFILE; para2: UINT; 
                                   para3: LPPALETTEENTRY): UINT {.stdcall, 
    dynlib: "gdi32", importc: "GetEnhMetaFilePaletteEntries".}
proc GetEnhMetaFileBits*(para1: HENHMETAFILE; para2: UINT; para3: LPBYTE): UINT {.
    stdcall, dynlib: "gdi32", importc: "GetEnhMetaFileBits".}
proc GetWinMetaFileBits*(para1: HENHMETAFILE; para2: UINT; para3: LPBYTE; 
                         para4: wINT; para5: HDC): UINT {.stdcall, 
    dynlib: "gdi32", importc: "GetWinMetaFileBits".}
proc PlayEnhMetaFile*(para1: HDC; para2: HENHMETAFILE; para3: RECT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PlayEnhMetaFile".}
proc PlayEnhMetaFileRecord*(para1: HDC; para2: LPHANDLETABLE; 
                            para3: var TENHMETARECORD; para4: UINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PlayEnhMetaFileRecord".}
proc SetEnhMetaFileBits*(para1: UINT; para2: var int8): HENHMETAFILE {.stdcall, 
    dynlib: "gdi32", importc: "SetEnhMetaFileBits".}
proc SetWinMetaFileBits*(para1: UINT; para2: var int8; para3: HDC; 
                         para4: var METAFILEPICT): HENHMETAFILE {.stdcall, 
    dynlib: "gdi32", importc: "SetWinMetaFileBits".}
proc GdiComment*(para1: HDC; para2: UINT; para3: var int8): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GdiComment".}
proc AngleArc*(para1: HDC; para2: int32; para3: int32; para4: DWORD; 
               para5: float32; para6: float32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "AngleArc".}
proc PolyPolyline*(para1: HDC; para2: var POINT; para3: var DWORD; para4: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyPolyline".}
proc GetWorldTransform*(para1: HDC; para2: LPXFORM): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetWorldTransform".}
proc SetWorldTransform*(para1: HDC; para2: var XFORM): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "SetWorldTransform".}
proc ModifyWorldTransform*(para1: HDC; para2: var XFORM; para3: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "ModifyWorldTransform".}
proc CombineTransform*(para1: LPXFORM; para2: var XFORM; para3: var XFORM): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "CombineTransform".}
proc CreateDIBSection*(para1: HDC; para2: var BITMAPINFO; para3: UINT; 
                       para4: var pointer; para5: HANDLE; para6: DWORD): HBITMAP {.
    stdcall, dynlib: "gdi32", importc: "CreateDIBSection".}
proc GetDIBColorTable*(para1: HDC; para2: UINT; para3: UINT; para4: var RGBQUAD): UINT {.
    stdcall, dynlib: "gdi32", importc: "GetDIBColorTable".}
proc SetDIBColorTable*(para1: HDC; para2: UINT; para3: UINT; para4: var RGBQUAD): UINT {.
    stdcall, dynlib: "gdi32", importc: "SetDIBColorTable".}
proc SetColorAdjustment*(para1: HDC; para2: var COLORADJUSTMENT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "SetColorAdjustment".}
proc GetColorAdjustment*(para1: HDC; para2: LPCOLORADJUSTMENT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetColorAdjustment".}
proc CreateHalftonePalette*(para1: HDC): HPALETTE {.stdcall, dynlib: "gdi32", 
    importc: "CreateHalftonePalette".}
proc EndDoc*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", importc: "EndDoc".}
proc StartPage*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
                                     importc: "StartPage".}
proc EndPage*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", importc: "EndPage".}
proc AbortDoc*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
                                    importc: "AbortDoc".}
proc SetAbortProc*(para1: HDC; para2: TABORTPROC): int32 {.stdcall, 
    dynlib: "gdi32", importc: "SetAbortProc".}
proc ArcTo*(para1: HDC; para2: int32; para3: int32; para4: int32; para5: int32; 
            para6: int32; para7: int32; para8: int32; para9: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "ArcTo".}
proc BeginPath*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
                                       importc: "BeginPath".}
proc CloseFigure*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "CloseFigure".}
proc EndPath*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
                                     importc: "EndPath".}
proc FillPath*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
                                      importc: "FillPath".}
proc FlattenPath*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "FlattenPath".}
proc GetPath*(para1: HDC; para2: LPPOINT; para3: LPBYTE; para4: int32): int32 {.
    stdcall, dynlib: "gdi32", importc: "GetPath".}
proc PathToRegion*(para1: HDC): HRGN {.stdcall, dynlib: "gdi32", 
                                       importc: "PathToRegion".}
proc PolyDraw*(para1: HDC; para2: var POINT; para3: var int8; para4: int32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyDraw".}
proc SelectClipPath*(para1: HDC; para2: int32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "SelectClipPath".}
proc SetArcDirection*(para1: HDC; para2: int32): int32 {.stdcall, 
    dynlib: "gdi32", importc: "SetArcDirection".}
proc SetMiterLimit*(para1: HDC; para2: float32; para3: ptr float32): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "SetMiterLimit".}
proc StrokeAndFillPath*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "StrokeAndFillPath".}
proc StrokePath*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
                                        importc: "StrokePath".}
proc WidenPath*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
                                       importc: "WidenPath".}
proc ExtCreatePen*(para1: DWORD; para2: DWORD; para3: var LOGBRUSH; 
                   para4: DWORD; para5: var DWORD): HPEN {.stdcall, 
    dynlib: "gdi32", importc: "ExtCreatePen".}
proc GetMiterLimit*(para1: HDC; para2: ptr float32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetMiterLimit".}
proc GetArcDirection*(para1: HDC): int32 {.stdcall, dynlib: "gdi32", 
    importc: "GetArcDirection".}
proc MoveToEx*(para1: HDC; para2: int32; para3: int32; para4: LPPOINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "MoveToEx".}
proc CreatePolygonRgn*(para1: var POINT; para2: int32; para3: int32): HRGN {.
    stdcall, dynlib: "gdi32", importc: "CreatePolygonRgn".}
proc DPtoLP*(para1: HDC; para2: LPPOINT; para3: int32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "DPtoLP".}
proc LPtoDP*(para1: HDC; para2: LPPOINT; para3: int32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "LPtoDP".}
proc Polygon*(para1: HDC; para2: LPPOINT; para3: int32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "Polygon".}
proc Polyline*(para1: HDC; para2: LPPOINT; para3: int32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "Polyline".}
proc PolyBezier*(para1: HDC; para2: LPPOINT; para3: DWORD): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "PolyBezier".}
proc PolyBezierTo*(para1: HDC; para2: POINT; para3: DWORD): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "PolyBezierTo".}
proc PolylineTo*(para1: HDC; para2: LPPOINT; para3: DWORD): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "PolylineTo".}
proc SetViewportExtEx*(para1: HDC; para2: int32; para3: int32; para4: LPSIZE): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "SetViewportExtEx".}
proc SetViewportOrgEx*(para1: HDC; para2: int32; para3: int32; para4: LPPOINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "SetViewportOrgEx".}
proc SetWindowExtEx*(para1: HDC; para2: int32; para3: int32; para4: LPSIZE): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "SetWindowExtEx".}
proc SetWindowOrgEx*(para1: HDC; para2: int32; para3: int32; para4: LPPOINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "SetWindowOrgEx".}
proc OffsetViewportOrgEx*(para1: HDC; para2: int32; para3: int32; para4: LPPOINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "OffsetViewportOrgEx".}
proc OffsetWindowOrgEx*(para1: HDC; para2: int32; para3: int32; para4: LPPOINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "OffsetWindowOrgEx".}
proc ScaleViewportExtEx*(para1: HDC; para2: int32; para3: int32; para4: int32; 
                         para5: int32; para6: LPSIZE): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "ScaleViewportExtEx".}
proc ScaleWindowExtEx*(para1: HDC; para2: int32; para3: int32; para4: int32; 
                       para5: int32; para6: LPSIZE): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "ScaleWindowExtEx".}
proc SetBitmapDimensionEx*(para1: HBITMAP; para2: int32; para3: int32; 
                           para4: LPSIZE): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "SetBitmapDimensionEx".}
proc SetBrushOrgEx*(para1: HDC; para2: int32; para3: int32; para4: LPPOINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "SetBrushOrgEx".}
proc GetDCOrgEx*(para1: HDC; para2: LPPOINT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetDCOrgEx".}
proc FixBrushOrgEx*(para1: HDC; para2: int32; para3: int32; para4: LPPOINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "FixBrushOrgEx".}
proc UnrealizeObject*(para1: HGDIOBJ): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "UnrealizeObject".}
proc GdiFlush*(): WINBOOL {.stdcall, dynlib: "gdi32", importc: "GdiFlush".}
proc GdiSetBatchLimit*(para1: DWORD): DWORD {.stdcall, dynlib: "gdi32", 
    importc: "GdiSetBatchLimit".}
proc GdiGetBatchLimit*(): DWORD {.stdcall, dynlib: "gdi32", 
                                  importc: "GdiGetBatchLimit".}
proc SetICMMode*(para1: HDC; para2: int32): int32 {.stdcall, dynlib: "gdi32", 
    importc: "SetICMMode".}
proc CheckColorsInGamut*(para1: HDC; para2: LPVOID; para3: LPVOID; para4: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "CheckColorsInGamut".}
proc GetColorSpace*(para1: HDC): HANDLE {.stdcall, dynlib: "gdi32", 
    importc: "GetColorSpace".}
proc SetColorSpace*(para1: HDC; para2: HCOLORSPACE): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "SetColorSpace".}
proc DeleteColorSpace*(para1: HCOLORSPACE): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "DeleteColorSpace".}
proc GetDeviceGammaRamp*(para1: HDC; para2: LPVOID): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetDeviceGammaRamp".}
proc SetDeviceGammaRamp*(para1: HDC; para2: LPVOID): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "SetDeviceGammaRamp".}
proc ColorMatchToTarget*(para1: HDC; para2: HDC; para3: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "ColorMatchToTarget".}
proc CreatePropertySheetPageA*(lppsp: LPCPROPSHEETPAGE): HPROPSHEETPAGE {.
    stdcall, dynlib: "comctl32", importc: "CreatePropertySheetPageA".}
proc DestroyPropertySheetPage*(hPSPage: HPROPSHEETPAGE): WINBOOL {.stdcall, 
    dynlib: "comctl32", importc: "DestroyPropertySheetPage".}
proc InitCommonControls*() {.stdcall, dynlib: "comctl32", 
                             importc: "InitCommonControls".}
proc ImageList_AddIcon*(himl: HIMAGELIST; hicon: HICON): int32
proc ImageList_Create*(cx: int32; cy: int32; flags: UINT; cInitial: int32; 
                       cGrow: int32): HIMAGELIST {.stdcall, dynlib: "comctl32", 
    importc: "ImageList_Create".}
proc ImageList_Destroy*(himl: HIMAGELIST): WINBOOL {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_Destroy".}
proc ImageList_GetImageCount*(himl: HIMAGELIST): int32 {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_GetImageCount".}
proc ImageList_Add*(himl: HIMAGELIST; hbmImage: HBITMAP; hbmMask: HBITMAP): int32 {.
    stdcall, dynlib: "comctl32", importc: "ImageList_Add".}
proc ImageList_ReplaceIcon*(himl: HIMAGELIST; i: int32; hicon: HICON): int32 {.
    stdcall, dynlib: "comctl32", importc: "ImageList_ReplaceIcon".}
proc ImageList_SetBkColor*(himl: HIMAGELIST; clrBk: COLORREF): COLORREF {.
    stdcall, dynlib: "comctl32", importc: "ImageList_SetBkColor".}
proc ImageList_GetBkColor*(himl: HIMAGELIST): COLORREF {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_GetBkColor".}
proc ImageList_SetOverlayImage*(himl: HIMAGELIST; iImage: int32; iOverlay: int32): WINBOOL {.
    stdcall, dynlib: "comctl32", importc: "ImageList_SetOverlayImage".}
proc ImageList_Draw*(himl: HIMAGELIST; i: int32; hdcDst: HDC; x: int32; 
                     y: int32; fStyle: UINT): WINBOOL {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_Draw".}
proc ImageList_Replace*(himl: HIMAGELIST; i: int32; hbmImage: HBITMAP; 
                        hbmMask: HBITMAP): WINBOOL {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_Replace".}
proc ImageList_AddMasked*(himl: HIMAGELIST; hbmImage: HBITMAP; crMask: COLORREF): int32 {.
    stdcall, dynlib: "comctl32", importc: "ImageList_AddMasked".}
proc ImageList_DrawEx*(himl: HIMAGELIST; i: int32; hdcDst: HDC; x: int32; 
                       y: int32; dx: int32; dy: int32; rgbBk: COLORREF; 
                       rgbFg: COLORREF; fStyle: UINT): WINBOOL {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_DrawEx".}
proc ImageList_Remove*(himl: HIMAGELIST; i: int32): WINBOOL {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_Remove".}
proc ImageList_GetIcon*(himl: HIMAGELIST; i: int32; flags: UINT): HICON {.
    stdcall, dynlib: "comctl32", importc: "ImageList_GetIcon".}
proc ImageList_BeginDrag*(himlTrack: HIMAGELIST; iTrack: int32; 
                          dxHotspot: int32; dyHotspot: int32): WINBOOL {.
    stdcall, dynlib: "comctl32", importc: "ImageList_BeginDrag".}
proc ImageList_EndDrag*() {.stdcall, dynlib: "comctl32", 
                            importc: "ImageList_EndDrag".}
proc ImageList_DragEnter*(hwndLock: HWND; x: int32; y: int32): WINBOOL {.
    stdcall, dynlib: "comctl32", importc: "ImageList_DragEnter".}
proc ImageList_DragLeave*(hwndLock: HWND): WINBOOL {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_DragLeave".}
proc ImageList_DragMove*(x: int32; y: int32): WINBOOL {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_DragMove".}
proc ImageList_SetDragCursorImage*(himlDrag: HIMAGELIST; iDrag: int32; 
                                   dxHotspot: int32; dyHotspot: int32): WINBOOL {.
    stdcall, dynlib: "comctl32", importc: "ImageList_SetDragCursorImage".}
proc ImageList_DragShowNolock*(fShow: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_DragShowNolock".}
proc ImageList_GetDragImage*(ppt: LPPOINT; pptHotspot: LPPOINT): HIMAGELIST {.
    stdcall, dynlib: "comctl32", importc: "ImageList_GetDragImage".}
proc ImageList_GetIconSize*(himl: HIMAGELIST; cx: var int32; cy: var int32): WINBOOL {.
    stdcall, dynlib: "comctl32", importc: "ImageList_GetIconSize".}
proc ImageList_SetIconSize*(himl: HIMAGELIST; cx: int32; cy: int32): WINBOOL {.
    stdcall, dynlib: "comctl32", importc: "ImageList_SetIconSize".}
proc ImageList_GetImageInfo*(himl: HIMAGELIST; i: int32; 
                             pImageInfo: var IMAGEINFO): WINBOOL {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_GetImageInfo".}
proc ImageList_Merge*(himl1: HIMAGELIST; i1: int32; himl2: HIMAGELIST; 
                      i2: int32; dx: int32; dy: int32): HIMAGELIST {.stdcall, 
    dynlib: "comctl32", importc: "ImageList_Merge".}
proc ImageList_SetImageCount*(himl: HIMAGELIST; uNewCount: UINT): int {.stdcall, 
    dynlib: "comctl32.dll", importc: "ImageList_SetImageCount".}
proc CreateToolbarEx*(wnd: HWND; ws: DWORD; wID: UINT; nBitmaps: int32; 
                      hBMInst: HINST; wBMID: UINT; lpButtons: LPCTBBUTTON; 
                      iNumButtons: int32; dxButton: int32; dyButton: int32; 
                      dxBitmap: int32; dyBitmap: int32; uStructSize: UINT): HWND {.
    stdcall, dynlib: "comctl32", importc: "CreateToolbarEx".}
proc CreateMappedBitmap*(hInstance: HINST; idBitmap: int32; wFlags: UINT; 
                         lpColorMap: LPCOLORMAP; iNumMaps: int32): HBITMAP {.
    stdcall, dynlib: "comctl32", importc: "CreateMappedBitmap".}
proc MenuHelp*(uMsg: UINT; wp: WPARAM; lp: LPARAM; hMainMenu: HMENU; 
               hInst: HINST; hwndStatus: HWND; lpwIDs: var UINT) {.stdcall, 
    dynlib: "comctl32", importc: "MenuHelp".}
proc ShowHideMenuCtl*(wnd: HWND; uFlags: UINT; lpInfo: LPINT): WINBOOL {.
    stdcall, dynlib: "comctl32", importc: "ShowHideMenuCtl".}
proc GetEffectiveClientRect*(wnd: HWND; lprc: LPRECT; lpInfo: LPINT) {.stdcall, 
    dynlib: "comctl32", importc: "GetEffectiveClientRect".}
proc MakeDragList*(hLB: HWND): WINBOOL {.stdcall, dynlib: "comctl32", 
    importc: "MakeDragList".}
proc DrawInsert*(handParent: HWND; hLB: HWND; nItem: int32) {.stdcall, 
    dynlib: "comctl32", importc: "DrawInsert".}
proc LBItemFromPt*(hLB: HWND; pt: POINT; bAutoScroll: WINBOOL): int32 {.stdcall, 
    dynlib: "comctl32", importc: "LBItemFromPt".}
proc CreateUpDownControl*(dwStyle: DWORD; x: int32; y: int32; cx: int32; 
                          cy: int32; hParent: HWND; nID: int32; hInst: HINST; 
                          hBuddy: HWND; nUpper: int32; nLower: int32; 
                          nPos: int32): HWND {.stdcall, dynlib: "comctl32", 
    importc: "CreateUpDownControl".}
proc RegCloseKey*(key: HKEY): LONG {.stdcall, dynlib: "advapi32", 
                                     importc: "RegCloseKey".}
proc RegSetKeySecurity*(key: HKEY; SecurityInformation: SECURITY_INFORMATION; 
                        pSecurityDescriptor: PSECURITY_DESCRIPTOR): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegSetKeySecurity".}
proc RegFlushKey*(key: HKEY): LONG {.stdcall, dynlib: "advapi32", 
                                     importc: "RegFlushKey".}
proc RegGetKeySecurity*(key: HKEY; SecurityInformation: SECURITY_INFORMATION; 
                        pSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                        lpcbSecurityDescriptor: LPDWORD): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegGetKeySecurity".}
proc RegNotifyChangeKeyValue*(key: HKEY; bWatchSubtree: WINBOOL; 
                              dwNotifyFilter: DWORD; hEvent: HANDLE; 
                              fAsynchronus: WINBOOL): LONG {.stdcall, 
    dynlib: "advapi32", importc: "RegNotifyChangeKeyValue".}
proc IsValidCodePage*(CodePage: UINT): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "IsValidCodePage".}
proc GetACP*(): UINT {.stdcall, dynlib: "kernel32", importc: "GetACP".}
proc GetOEMCP*(): UINT {.stdcall, dynlib: "kernel32", importc: "GetOEMCP".}
proc GetCPInfo*(para1: UINT; para2: LPCPINFO): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetCPInfo".}
proc IsDBCSLeadByte*(TestChar: int8): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "IsDBCSLeadByte".}
proc IsDBCSLeadByteEx*(CodePage: UINT; TestChar: int8): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "IsDBCSLeadByteEx".}
proc MultiByteToWideChar*(CodePage: UINT; dwFlags: DWORD; 
                          lpMultiByteStr: LPCSTR; cchMultiByte: int32; 
                          lpWideCharStr: LPWSTR; cchWideChar: int32): int32 {.
    stdcall, dynlib: "kernel32", importc: "MultiByteToWideChar".}
proc WideCharToMultiByte*(CodePage: UINT; dwFlags: DWORD; 
                          lpWideCharStr: LPCWSTR; cchWideChar: int32; 
                          lpMultiByteStr: LPSTR; cchMultiByte: int32; 
                          lpDefaultChar: LPCSTR; lpUsedDefaultChar: LPBOOL): int32 {.
    stdcall, dynlib: "kernel32", importc: "WideCharToMultiByte".}
proc IsValidLocale*(Locale: LCID; dwFlags: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "IsValidLocale".}
proc ConvertDefaultLocale*(Locale: LCID): LCID {.stdcall, dynlib: "kernel32", 
    importc: "ConvertDefaultLocale".}
proc GetThreadLocale*(): LCID {.stdcall, dynlib: "kernel32", 
                                importc: "GetThreadLocale".}
proc SetThreadLocale*(Locale: LCID): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "SetThreadLocale".}
proc GetSystemDefaultLangID*(): LANGID {.stdcall, dynlib: "kernel32", 
    importc: "GetSystemDefaultLangID".}
proc GetUserDefaultLangID*(): LANGID {.stdcall, dynlib: "kernel32", 
                                       importc: "GetUserDefaultLangID".}
proc GetSystemDefaultLCID*(): LCID {.stdcall, dynlib: "kernel32", 
                                     importc: "GetSystemDefaultLCID".}
proc GetUserDefaultLCID*(): LCID {.stdcall, dynlib: "kernel32", 
                                   importc: "GetUserDefaultLCID".}
proc ReadConsoleOutputAttribute*(hConsoleOutput: HANDLE; lpAttribute: LPWORD; 
                                 nLength: DWORD; dwReadCoord: COORD; 
                                 lpNumberOfAttrsRead: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputAttribute".}
proc WriteConsoleOutputAttribute*(hConsoleOutput: HANDLE; 
                                  lpAttribute: var int16; nLength: DWORD; 
                                  dwWriteCoord: COORD; 
                                  lpNumberOfAttrsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputAttribute".}
proc FillConsoleOutputAttribute*(hConsoleOutput: HANDLE; wAttribute: int16; 
                                 nLength: DWORD; dwWriteCoord: COORD; 
                                 lpNumberOfAttrsWritten: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FillConsoleOutputAttribute".}
proc GetConsoleMode*(hConsoleHandle: HANDLE; lpMode: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetConsoleMode".}
proc GetNumberOfConsoleInputEvents*(hConsoleInput: HANDLE; 
                                    lpNumberOfEvents: PDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetNumberOfConsoleInputEvents".}
proc GetConsoleScreenBufferInfo*(hConsoleOutput: HANDLE; 
    lpConsoleScreenBufferInfo: PCONSOLE_SCREEN_BUFFER_INFO): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetConsoleScreenBufferInfo".}
proc GetLargestConsoleWindowSize*(hConsoleOutput: HANDLE): COORD
proc GetConsoleCursorInfo*(hConsoleOutput: HANDLE; 
                           lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetConsoleCursorInfo".}
proc GetNumberOfConsoleMouseButtons*(lpNumberOfMouseButtons: LPDWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetNumberOfConsoleMouseButtons".}
proc SetConsoleMode*(hConsoleHandle: HANDLE; dwMode: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetConsoleMode".}
proc SetConsoleActiveScreenBuffer*(hConsoleOutput: HANDLE): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetConsoleActiveScreenBuffer".}
proc FlushConsoleInputBuffer*(hConsoleInput: HANDLE): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "FlushConsoleInputBuffer".}
proc SetConsoleScreenBufferSize*(hConsoleOutput: HANDLE; dwSize: COORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetConsoleScreenBufferSize".}
proc SetConsoleCursorPosition*(hConsoleOutput: HANDLE; dwCursorPosition: COORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetConsoleCursorPosition".}
proc SetConsoleCursorInfo*(hConsoleOutput: HANDLE; 
                           lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetConsoleCursorInfo".}
proc SetConsoleWindowInfo*(hConsoleOutput: HANDLE; bAbsolute: WINBOOL; 
                           lpConsoleWindow: var SMALL_RECT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetConsoleWindowInfo".}
proc SetConsoleTextAttribute*(hConsoleOutput: HANDLE; wAttributes: int16): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetConsoleTextAttribute".}
proc SetConsoleCtrlHandler*(HandlerRoutine: PHANDLER_ROUTINE; Add: WINBOOL): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetConsoleCtrlHandler".}
proc GenerateConsoleCtrlEvent*(dwCtrlEvent: DWORD; dwProcessGroupId: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GenerateConsoleCtrlEvent".}
proc AllocConsole*(): WINBOOL {.stdcall, dynlib: "kernel32", 
                                importc: "AllocConsole".}
proc FreeConsole*(): WINBOOL {.stdcall, dynlib: "kernel32", 
                               importc: "FreeConsole".}
proc CreateConsoleScreenBuffer*(dwDesiredAccess: DWORD; dwShareMode: DWORD; 
                                lpSecurityAttributes: var SECURITY_ATTRIBUTES; 
                                dwFlags: DWORD; lpScreenBufferData: LPVOID): HANDLE {.
    stdcall, dynlib: "kernel32", importc: "CreateConsoleScreenBuffer".}
proc GetConsoleCP*(): UINT {.stdcall, dynlib: "kernel32", 
                             importc: "GetConsoleCP".}
proc SetConsoleCP*(wCodePageID: UINT): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "SetConsoleCP".}
proc GetConsoleOutputCP*(): UINT {.stdcall, dynlib: "kernel32", 
                                   importc: "GetConsoleOutputCP".}
proc SetConsoleOutputCP*(wCodePageID: UINT): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetConsoleOutputCP".}
proc WNetConnectionDialog*(wnd: HWND; dwType: DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetConnectionDialog".}
proc WNetDisconnectDialog*(wnd: HWND; dwType: DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetDisconnectDialog".}
proc WNetCloseEnum*(hEnum: HANDLE): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetCloseEnum".}
proc CloseServiceHandle*(hSCObject: SC_HANDLE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "CloseServiceHandle".}
proc ControlService*(hService: SC_HANDLE; dwControl: DWORD; 
                     lpServiceStatus: LPSERVICE_STATUS): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ControlService".}
proc DeleteService*(hService: SC_HANDLE): WINBOOL {.stdcall, dynlib: "advapi32", 
    importc: "DeleteService".}
proc LockServiceDatabase*(hSCManager: SC_HANDLE): SC_LOCK {.stdcall, 
    dynlib: "advapi32", importc: "LockServiceDatabase".}
proc NotifyBootConfigStatus*(BootAcceptable: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "NotifyBootConfigStatus".}
proc QueryServiceObjectSecurity*(hService: SC_HANDLE; 
                                 dwSecurityInformation: SECURITY_INFORMATION; 
                                 lpSecurityDescriptor: PSECURITY_DESCRIPTOR; 
                                 cbBufSize: DWORD; pcbBytesNeeded: LPDWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "QueryServiceObjectSecurity".}
proc QueryServiceStatus*(hService: SC_HANDLE; lpServiceStatus: LPSERVICE_STATUS): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "QueryServiceStatus".}
proc SetServiceObjectSecurity*(hService: SC_HANDLE; 
                               dwSecurityInformation: SECURITY_INFORMATION; 
                               lpSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "SetServiceObjectSecurity".}
proc SetServiceStatus*(hServiceStatus: SERVICE_STATUS_HANDLE; 
                       lpServiceStatus: LPSERVICE_STATUS): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "SetServiceStatus".}
proc UnlockServiceDatabase*(ScLock: SC_LOCK): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "UnlockServiceDatabase".}
proc ChoosePixelFormat*(para1: HDC; para2: PPIXELFORMATDESCRIPTOR): int32 {.
    stdcall, dynlib: "gdi32", importc: "ChoosePixelFormat".}
proc DescribePixelFormat*(para1: HDC; para2: int32; para3: UINT; 
                          para4: LPPIXELFORMATDESCRIPTOR): int32 {.stdcall, 
    dynlib: "gdi32", importc: "DescribePixelFormat".}
proc SetPixelFormat*(para1: HDC; para2: int32; para3: PPIXELFORMATDESCRIPTOR): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "SetPixelFormat".}
proc SwapBuffers*(para1: HDC): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "SwapBuffers".}
proc DragQueryPoint*(para1: HDROP; para2: LPPOINT): WINBOOL {.stdcall, 
    dynlib: "shell32", importc: "DragQueryPoint".}
proc DragFinish*(para1: HDROP) {.stdcall, dynlib: "shell32", 
                                 importc: "DragFinish".}
proc DragAcceptFiles*(para1: HWND; para2: WINBOOL) {.stdcall, dynlib: "shell32", 
    importc: "DragAcceptFiles".}
proc DuplicateIcon*(para1: HINST; para2: HICON): HICON {.stdcall, 
    dynlib: "shell32", importc: "DuplicateIcon".}
proc DdeAbandonTransaction*(para1: DWORD; para2: HCONV; para3: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "DdeAbandonTransaction".}
proc DdeAccessData*(para1: HDDEDATA; para2: PDWORD): PBYTE {.stdcall, 
    dynlib: "user32", importc: "DdeAccessData".}
proc DdeAddData*(para1: HDDEDATA; para2: PBYTE; para3: DWORD; para4: DWORD): HDDEDATA {.
    stdcall, dynlib: "user32", importc: "DdeAddData".}
proc DdeClientTransaction*(para1: PBYTE; para2: DWORD; para3: HCONV; para4: HSZ; 
                           para5: UINT; para6: UINT; para7: DWORD; para8: PDWORD): HDDEDATA {.
    stdcall, dynlib: "user32", importc: "DdeClientTransaction".}
proc DdeCmpStringHandles*(para1: HSZ; para2: HSZ): int32 {.stdcall, 
    dynlib: "user32", importc: "DdeCmpStringHandles".}
proc DdeConnect*(para1: DWORD; para2: HSZ; para3: HSZ; para4: var CONVCONTEXT): HCONV {.
    stdcall, dynlib: "user32", importc: "DdeConnect".}
proc DdeConnectList*(para1: DWORD; para2: HSZ; para3: HSZ; para4: HCONVLIST; 
                     para5: PCONVCONTEXT): HCONVLIST {.stdcall, 
    dynlib: "user32", importc: "DdeConnectList".}
proc DdeCreateDataHandle*(para1: DWORD; para2: LPBYTE; para3: DWORD; 
                          para4: DWORD; para5: HSZ; para6: UINT; para7: UINT): HDDEDATA {.
    stdcall, dynlib: "user32", importc: "DdeCreateDataHandle".}
proc DdeDisconnect*(para1: HCONV): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DdeDisconnect".}
proc DdeDisconnectList*(para1: HCONVLIST): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DdeDisconnectList".}
proc DdeEnableCallback*(para1: DWORD; para2: HCONV; para3: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "DdeEnableCallback".}
proc DdeFreeDataHandle*(para1: HDDEDATA): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DdeFreeDataHandle".}
proc DdeFreeStringHandle*(para1: DWORD; para2: HSZ): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DdeFreeStringHandle".}
proc DdeGetData*(para1: HDDEDATA; para2: LPBYTE; para3: DWORD; para4: DWORD): DWORD {.
    stdcall, dynlib: "user32", importc: "DdeGetData".}
proc DdeGetLastError*(para1: DWORD): UINT {.stdcall, dynlib: "user32", 
    importc: "DdeGetLastError".}
proc DdeImpersonateClient*(para1: HCONV): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DdeImpersonateClient".}
proc DdeKeepStringHandle*(para1: DWORD; para2: HSZ): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DdeKeepStringHandle".}
proc DdeNameService*(para1: DWORD; para2: HSZ; para3: HSZ; para4: UINT): HDDEDATA {.
    stdcall, dynlib: "user32", importc: "DdeNameService".}
proc DdePostAdvise*(para1: DWORD; para2: HSZ; para3: HSZ): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "DdePostAdvise".}
proc DdeQueryConvInfo*(para1: HCONV; para2: DWORD; para3: PCONVINFO): UINT {.
    stdcall, dynlib: "user32", importc: "DdeQueryConvInfo".}
proc DdeQueryNextServer*(para1: HCONVLIST; para2: HCONV): HCONV {.stdcall, 
    dynlib: "user32", importc: "DdeQueryNextServer".}
proc DdeReconnect*(para1: HCONV): HCONV {.stdcall, dynlib: "user32", 
    importc: "DdeReconnect".}
proc DdeSetUserHandle*(para1: HCONV; para2: DWORD; para3: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "DdeSetUserHandle".}
proc DdeUnaccessData*(para1: HDDEDATA): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DdeUnaccessData".}
proc DdeUninitialize*(para1: DWORD): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "DdeUninitialize".}
proc SHAddToRecentDocs*(para1: UINT; para2: LPCVOID) {.stdcall, 
    dynlib: "shell32", importc: "SHAddToRecentDocs".}
proc SHBrowseForFolder*(para1: LPBROWSEINFO): LPITEMIDLIST {.stdcall, 
    dynlib: "shell32", importc: "SHBrowseForFolder".}
proc SHChangeNotify*(para1: LONG; para2: UINT; para3: LPCVOID; para4: LPCVOID) {.
    stdcall, dynlib: "shell32", importc: "SHChangeNotify".}
proc SHFileOperation*(para1: LPSHFILEOPSTRUCT): int32 {.stdcall, 
    dynlib: "shell32", importc: "SHFileOperation".}
proc SHFreeNameMappings*(para1: HANDLE) {.stdcall, dynlib: "shell32", 
    importc: "SHFreeNameMappings".}
proc SHGetFileInfo*(para1: LPCTSTR; para2: DWORD; para3: var SHFILEINFO; 
                    para4: UINT; para5: UINT): DWORD {.stdcall, 
    dynlib: "shell32", importc: "SHGetFileInfo".}
proc SHGetPathFromIDList*(para1: LPCITEMIDLIST; para2: LPTSTR): WINBOOL {.
    stdcall, dynlib: "shell32", importc: "SHGetPathFromIDList".}
proc SHGetSpecialFolderLocation*(para1: HWND; para2: int32; 
                                 para3: var LPITEMIDLIST): HRESULT {.stdcall, 
    dynlib: "shell32", importc: "SHGetSpecialFolderLocation".}
proc CommDlgExtendedError*(): DWORD {.stdcall, dynlib: "comdlg32", 
                                      importc: "CommDlgExtendedError".}
proc wglUseFontBitmaps*(para1: HDC; para2: DWORD; para3: DWORD; para4: DWORD): WINBOOL {.
    stdcall, dynlib: "opengl32", importc: "wglUseFontBitmapsA".}
proc wglCreateContext*(para1: HDC): HGLRC {.stdcall, dynlib: "opengl32", 
    importc: "wglCreateContext".}
proc wglCreateLayerContext*(para1: HDC; para2: int32): HGLRC {.stdcall, 
    dynlib: "opengl32", importc: "wglCreateLayerContext".}
proc wglCopyContext*(para1: HGLRC; para2: HGLRC; para3: UINT): WINBOOL {.
    stdcall, dynlib: "opengl32", importc: "wglCopyContext".}
proc wglDeleteContext*(para1: HGLRC): WINBOOL {.stdcall, dynlib: "opengl32", 
    importc: "wglDeleteContext".}
proc wglGetCurrentContext*(): HGLRC {.stdcall, dynlib: "opengl32", 
                                      importc: "wglGetCurrentContext".}
proc wglGetCurrentDC*(): HDC {.stdcall, dynlib: "opengl32", 
                               importc: "wglGetCurrentDC".}
proc wglMakeCurrent*(para1: HDC; para2: HGLRC): WINBOOL {.stdcall, 
    dynlib: "opengl32", importc: "wglMakeCurrent".}
proc wglShareLists*(para1: HGLRC; para2: HGLRC): WINBOOL {.stdcall, 
    dynlib: "opengl32", importc: "wglShareLists".}
proc wglUseFontBitmapsW*(para1: HDC; para2: DWORD; para3: DWORD; para4: DWORD): WINBOOL {.
    stdcall, dynlib: "opengl32", importc: "wglUseFontBitmapsW".}
proc wglUseFontOutlines*(para1: HDC; para2: DWORD; para3: DWORD; para4: DWORD; 
                         para5: float32; para6: float32; para7: int32; 
                         para8: LPGLYPHMETRICSFLOAT): WINBOOL {.stdcall, 
    dynlib: "opengl32", importc: "wglUseFontOutlinesA".}
proc wglUseFontBitmapsA*(para1: HDC; para2: DWORD; para3: DWORD; para4: DWORD): WINBOOL {.
    stdcall, dynlib: "opengl32", importc: "wglUseFontBitmapsA".}
proc wglUseFontOutlinesA*(para1: HDC; para2: DWORD; para3: DWORD; para4: DWORD; 
                          para5: float32; para6: float32; para7: int32; 
                          para8: LPGLYPHMETRICSFLOAT): WINBOOL {.stdcall, 
    dynlib: "opengl32", importc: "wglUseFontOutlinesA".}
proc wglDescribeLayerPlane*(para1: HDC; para2: int32; para3: int32; para4: UINT; 
                            para5: LPLAYERPLANEDESCRIPTOR): WINBOOL {.stdcall, 
    dynlib: "opengl32", importc: "wglDescribeLayerPlane".}
proc wglGetLayerPaletteEntries*(para1: HDC; para2: int32; para3: int32; 
                                para4: int32; para5: var COLORREF): int32 {.
    stdcall, dynlib: "opengl32", importc: "wglGetLayerPaletteEntries".}
proc wglGetProcAddress*(para1: LPCSTR): TProc {.stdcall, dynlib: "opengl32", 
    importc: "wglGetProcAddress".}
proc wglRealizeLayerPalette*(para1: HDC; para2: int32; para3: WINBOOL): WINBOOL {.
    stdcall, dynlib: "opengl32", importc: "wglRealizeLayerPalette".}
proc wglSetLayerPaletteEntries*(para1: HDC; para2: int32; para3: int32; 
                                para4: int32; para5: var COLORREF): int32 {.
    stdcall, dynlib: "opengl32", importc: "wglSetLayerPaletteEntries".}
proc wglSwapLayerBuffers*(para1: HDC; para2: UINT): WINBOOL {.stdcall, 
    dynlib: "opengl32", importc: "wglSwapLayerBuffers".}
proc wglUseFontOutlinesW*(para1: HDC; para2: DWORD; para3: DWORD; para4: DWORD; 
                          para5: float32; para6: float32; para7: int32; 
                          para8: LPGLYPHMETRICSFLOAT): WINBOOL {.stdcall, 
    dynlib: "opengl32", importc: "wglUseFontOutlinesW".}
proc Animate_Create*(hWndP: HWND; id: HMENU; dwStyle: DWORD; hInstance: HINST): HWND
proc Animate_Open*(wnd: HWND; szName: LPTSTR): LRESULT
proc Animate_Play*(wnd: HWND; `from`, `to`: int32; rep: UINT): LRESULT
proc Animate_Stop*(wnd: HWND): LRESULT
proc Animate_Close*(wnd: HWND): LRESULT
proc Animate_Seek*(wnd: HWND; frame: int32): LRESULT
proc PropSheet_AddPage*(hPropSheetDlg: HWND; hpage: HPROPSHEETPAGE): LRESULT
proc PropSheet_Apply*(hPropSheetDlg: HWND): LRESULT
proc PropSheet_CancelToClose*(hPropSheetDlg: HWND): LRESULT
proc PropSheet_Changed*(hPropSheetDlg, hwndPage: HWND): LRESULT
proc PropSheet_GetCurrentPageHwnd*(hDlg: HWND): LRESULT
proc PropSheet_GetTabControl*(hPropSheetDlg: HWND): LRESULT
proc PropSheet_IsDialogMessage*(hDlg: HWND; pMsg: int32): LRESULT
proc PropSheet_PressButton*(hPropSheetDlg: HWND; iButton: int32): LRESULT
proc PropSheet_QuerySiblings*(hPropSheetDlg: HWND; param1, param2: int32): LRESULT
proc PropSheet_RebootSystem*(hPropSheetDlg: HWND): LRESULT
proc PropSheet_RemovePage*(hPropSheetDlg: HWND; hpage: HPROPSHEETPAGE; 
                           index: int32): LRESULT
proc PropSheet_RestartWindows*(hPropSheetDlg: HWND): LRESULT
proc PropSheet_SetCurSel*(hPropSheetDlg: HWND; hpage: HPROPSHEETPAGE; 
                          index: int32): LRESULT
proc PropSheet_SetCurSelByID*(hPropSheetDlg: HWND; id: int32): LRESULT
proc PropSheet_SetFinishText*(hPropSheetDlg: HWND; lpszText: LPTSTR): LRESULT
proc PropSheet_SetTitle*(hPropSheetDlg: HWND; dwStyle: DWORD; lpszText: LPCTSTR): LRESULT
proc PropSheet_SetWizButtons*(hPropSheetDlg: HWND; dwFlags: DWORD): LRESULT
proc PropSheet_UnChanged*(hPropSheetDlg: HWND; hwndPage: HWND): LRESULT
proc Header_DeleteItem*(hwndHD: HWND; index: int32): WINBOOL
proc Header_GetItem*(hwndHD: HWND; index: int32; hdi: var HD_ITEM): WINBOOL
proc Header_GetItemCount*(hwndHD: HWND): int32
proc Header_InsertItem*(hwndHD: HWND; index: int32; hdi: var HD_ITEM): int32
proc Header_Layout*(hwndHD: HWND; layout: var HD_LAYOUT): WINBOOL
proc Header_SetItem*(hwndHD: HWND; index: int32; hdi: var HD_ITEM): WINBOOL
proc ListView_Arrange*(hwndLV: HWND; code: UINT): LRESULT
proc ListView_CreateDragImage*(wnd: HWND; i: int32; lpptUpLeft: LPPOINT): LRESULT
proc ListView_DeleteAllItems*(wnd: HWND): LRESULT
proc ListView_DeleteColumn*(wnd: HWND; iCol: int32): LRESULT
proc ListView_DeleteItem*(wnd: HWND; iItem: int32): LRESULT
proc ListView_EditLabel*(hwndLV: HWND; i: int32): LRESULT
proc ListView_EnsureVisible*(hwndLV: HWND; i, fPartialOK: int32): LRESULT
proc ListView_FindItem*(wnd: HWND; iStart: int32; lvfi: var LV_FINDINFO): int32
proc ListView_GetBkColor*(wnd: HWND): LRESULT
proc ListView_GetCallbackMask*(wnd: HWND): LRESULT
proc ListView_GetColumn*(wnd: HWND; iCol: int32; col: var LV_COLUMN): LRESULT
proc ListView_GetColumnWidth*(wnd: HWND; iCol: int32): LRESULT
proc ListView_GetCountPerPage*(hwndLV: HWND): LRESULT
proc ListView_GetEditControl*(hwndLV: HWND): LRESULT
proc ListView_GetImageList*(wnd: HWND; iImageList: wINT): LRESULT
proc ListView_GetISearchString*(hwndLV: HWND; lpsz: LPTSTR): LRESULT
proc ListView_GetItem*(wnd: HWND; item: var LV_ITEM): LRESULT
proc ListView_GetItemCount*(wnd: HWND): LRESULT
proc ListView_GetItemPosition*(hwndLV: HWND; i: int32; pt: var POINT): int32
proc ListView_GetItemSpacing*(hwndLV: HWND; fSmall: int32): LRESULT
proc ListView_GetItemState*(hwndLV: HWND; i, mask: int32): LRESULT
proc ListView_GetNextItem*(wnd: HWND; iStart, flags: int32): LRESULT
proc ListView_GetOrigin*(hwndLV: HWND; pt: var POINT): LRESULT
proc ListView_GetSelectedCount*(hwndLV: HWND): LRESULT
proc ListView_GetStringWidth*(hwndLV: HWND; psz: LPCTSTR): LRESULT
proc ListView_GetTextBkColor*(wnd: HWND): LRESULT
proc ListView_GetTextColor*(wnd: HWND): LRESULT
proc ListView_GetTopIndex*(hwndLV: HWND): LRESULT
proc ListView_GetViewRect*(wnd: HWND; rc: var RECT): LRESULT
proc ListView_HitTest*(hwndLV: HWND; info: var LV_HITTESTINFO): LRESULT
proc ListView_InsertColumn*(wnd: HWND; iCol: int32; col: var LV_COLUMN): LRESULT
proc ListView_InsertItem*(wnd: HWND; item: var LV_ITEM): LRESULT
proc ListView_RedrawItems*(hwndLV: HWND; iFirst, iLast: int32): LRESULT
proc ListView_Scroll*(hwndLV: HWND; dx, dy: int32): LRESULT
proc ListView_SetBkColor*(wnd: HWND; clrBk: COLORREF): LRESULT
proc ListView_SetCallbackMask*(wnd: HWND; mask: UINT): LRESULT
proc ListView_SetColumn*(wnd: HWND; iCol: int32; col: var LV_COLUMN): LRESULT
proc ListView_SetColumnWidth*(wnd: HWND; iCol, cx: int32): LRESULT
proc ListView_SetImageList*(wnd: HWND; himl: int32; iImageList: HIMAGELIST): LRESULT
proc ListView_SetItem*(wnd: HWND; item: var LV_ITEM): LRESULT
proc ListView_SetItemCount*(hwndLV: HWND; cItems: int32): LRESULT
proc ListView_SetItemPosition*(hwndLV: HWND; i, x, y: int32): LRESULT
proc ListView_SetItemPosition32*(hwndLV: HWND; i, x, y: int32): LRESULT
proc ListView_SetItemState*(hwndLV: HWND; i, data, mask: int32): LRESULT
proc ListView_SetItemText*(hwndLV: HWND; i, iSubItem: int32; pszText: LPTSTR): LRESULT
proc ListView_SetTextBkColor*(wnd: HWND; clrTextBk: COLORREF): LRESULT
proc ListView_SetTextColor*(wnd: HWND; clrText: COLORREF): LRESULT
proc ListView_SortItems*(hwndLV: HWND; pfnCompare: PFNLVCOMPARE; lPrm: LPARAM): LRESULT
proc ListView_Update*(hwndLV: HWND; i: int32): LRESULT
proc TreeView_InsertItem*(wnd: HWND; lpis: LPTV_INSERTSTRUCT): LRESULT
proc TreeView_DeleteItem*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_DeleteAllItems*(wnd: HWND): LRESULT
proc TreeView_Expand*(wnd: HWND; hitem: HTREEITEM; code: int32): LRESULT
proc TreeView_GetCount*(wnd: HWND): LRESULT
proc TreeView_GetIndent*(wnd: HWND): LRESULT
proc TreeView_SetIndent*(wnd: HWND; indent: int32): LRESULT
proc TreeView_GetImageList*(wnd: HWND; iImage: WPARAM): LRESULT
proc TreeView_SetImageList*(wnd: HWND; himl: HIMAGELIST; iImage: WPARAM): LRESULT
proc TreeView_GetNextItem*(wnd: HWND; hitem: HTREEITEM; code: int32): LRESULT
proc TreeView_GetChild*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_GetNextSibling*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_GetPrevSibling*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_GetParent*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_GetFirstVisible*(wnd: HWND): LRESULT
proc TreeView_GetNextVisible*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_GetPrevVisible*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_GetSelection*(wnd: HWND): LRESULT
proc TreeView_GetDropHilight*(wnd: HWND): LRESULT
proc TreeView_GetRoot*(wnd: HWND): LRESULT
proc TreeView_Select*(wnd: HWND; hitem: HTREEITEM; code: int32): LRESULT
proc TreeView_SelectItem*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_SelectDropTarget*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_SelectSetFirstVisible*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_GetItem*(wnd: HWND; item: var TV_ITEM): LRESULT
proc TreeView_SetItem*(wnd: HWND; item: var TV_ITEM): LRESULT
proc TreeView_EditLabel*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_GetEditControl*(wnd: HWND): LRESULT
proc TreeView_GetVisibleCount*(wnd: HWND): LRESULT
proc TreeView_HitTest*(wnd: HWND; lpht: LPTV_HITTESTINFO): LRESULT
proc TreeView_CreateDragImage*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_SortChildren*(wnd: HWND; hitem: HTREEITEM; recurse: int32): LRESULT
proc TreeView_EnsureVisible*(wnd: HWND; hitem: HTREEITEM): LRESULT
proc TreeView_SortChildrenCB*(wnd: HWND; psort: LPTV_SORTCB; recurse: int32): LRESULT
proc TreeView_EndEditLabelNow*(wnd: HWND; fCancel: int32): LRESULT
proc TreeView_GetISearchString*(hwndTV: HWND; lpsz: LPTSTR): LRESULT
proc TabCtrl_GetImageList*(wnd: HWND): LRESULT
proc TabCtrl_SetImageList*(wnd: HWND; himl: HIMAGELIST): LRESULT
proc TabCtrl_GetItemCount*(wnd: HWND): LRESULT
proc TabCtrl_GetItem*(wnd: HWND; iItem: int32; item: var TC_ITEM): LRESULT
proc TabCtrl_SetItem*(wnd: HWND; iItem: int32; item: var TC_ITEM): LRESULT
proc TabCtrl_InsertItem*(wnd: HWND; iItem: int32; item: var TC_ITEM): LRESULT
proc TabCtrl_DeleteItem*(wnd: HWND; i: int32): LRESULT
proc TabCtrl_DeleteAllItems*(wnd: HWND): LRESULT
proc TabCtrl_GetItemRect*(wnd: HWND; i: int32; rc: var RECT): LRESULT
proc TabCtrl_GetCurSel*(wnd: HWND): LRESULT
proc TabCtrl_SetCurSel*(wnd: HWND; i: int32): LRESULT
proc TabCtrl_HitTest*(hwndTC: HWND; info: var TC_HITTESTINFO): LRESULT
proc TabCtrl_SetItemExtra*(hwndTC: HWND; cb: int32): LRESULT
proc TabCtrl_AdjustRect*(wnd: HWND; bLarger: WINBOOL; rc: var RECT): LRESULT
proc TabCtrl_SetItemSize*(wnd: HWND; x, y: int32): LRESULT
proc TabCtrl_RemoveImage*(wnd: HWND; i: WPARAM): LRESULT
proc TabCtrl_SetPadding*(wnd: HWND; cx, cy: int32): LRESULT
proc TabCtrl_GetRowCount*(wnd: HWND): LRESULT
proc TabCtrl_GetToolTips*(wnd: HWND): LRESULT
proc TabCtrl_SetToolTips*(wnd: HWND; hwndTT: int32): LRESULT
proc TabCtrl_GetCurFocus*(wnd: HWND): LRESULT
proc TabCtrl_SetCurFocus*(wnd: HWND; i: int32): LRESULT
proc SNDMSG*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM): LRESULT
proc CommDlg_OpenSave_GetSpecA*(hdlg: HWND; psz: LPSTR; cbmax: int32): LRESULT
proc CommDlg_OpenSave_GetSpecW*(hdlg: HWND; psz: LPWSTR; cbmax: int32): LRESULT
proc CommDlg_OpenSave_GetSpec*(hdlg: HWND; psz: LPWSTR; cbmax: int32): LRESULT
proc CommDlg_OpenSave_GetFilePathA*(hdlg: HWND; psz: LPSTR; cbmax: int32): LRESULT
proc CommDlg_OpenSave_GetFilePathW*(hdlg: HWND; psz: LPWSTR; cbmax: int32): LRESULT
proc CommDlg_OpenSave_GetFilePath*(hdlg: HWND; psz: LPWSTR; cbmax: int32): LRESULT
proc CommDlg_OpenSave_GetFolderPathA*(hdlg: HWND; psz: LPSTR; cbmax: int32): LRESULT
proc CommDlg_OpenSave_GetFolderPathW*(hdlg: HWND; psz: LPWSTR; cbmax: int32): LRESULT
proc CommDlg_OpenSave_GetFolderPath*(hdlg: HWND; psz: LPWSTR; cbmax: int32): LRESULT
proc CommDlg_OpenSave_GetFolderIDList*(hdlg: HWND; pidl: LPVOID; cbmax: int32): LRESULT
proc CommDlg_OpenSave_SetControlText*(hdlg: HWND; id: int32; text: LPSTR): LRESULT
proc CommDlg_OpenSave_HideControl*(hdlg: HWND; id: int32): LRESULT
proc CommDlg_OpenSave_SetDefExt*(hdlg: HWND; pszext: LPSTR): LRESULT
proc GetNextWindow*(wnd: HWND; uCmd: UINT): HWND {.stdcall, dynlib: "user32", 
    importc: "GetWindow".}
proc GlobalAllocPtr*(flags, cb: DWord): Pointer
proc GlobalFreePtr*(lp: Pointer): Pointer
proc GlobalUnlockPtr*(lp: pointer): Pointer
proc GlobalLockPtr*(lp: pointer): Pointer
proc GlobalReAllocPtr*(lp: Pointer; cbNew, flags: DWord): Pointer
proc GlobalPtrHandle*(lp: pointer): Pointer
proc SetLayeredWindowAttributes*(HWND: hwnd; crKey: COLORREF; bAlpha: int8; 
                                 dwFlags: DWORD): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetLayeredWindowAttributes".}
proc MAKELANGID*(PrimaryLang, SubLang: USHORT): int16
proc PRIMARYLANGID*(LangId: int16): int16
proc SUBLANGID*(LangId: int16): int16
proc MAKELCID*(LangId, SortId: int16): DWORD
proc MAKESORTLCID*(LangId, SortId, SortVersion: int16): DWORD
proc LANGIDFROMLCID*(LocaleId: LCID): int16
proc SORTIDFROMLCID*(LocaleId: LCID): int16
proc SORTVERSIONFROMLCID*(LocaleId: LCID): int16
proc LANG_SYSTEM_DEFAULT*(): int16
proc LANG_USER_DEFAULT*(): int16
proc LOCALE_NEUTRAL*(): DWORD
proc LOCALE_INVARIANT*(): DWORD
proc Succeeded*(Status: HRESULT): WINBOOL
proc Failed*(Status: HRESULT): WINBOOL
proc IsError*(Status: HRESULT): WINBOOL
proc HResultCode*(hr: HRESULT): int32
proc HResultFacility*(hr: HRESULT): int32
proc HResultSeverity*(hr: HRESULT): int32
proc MakeResult*(p1, p2, mask: int32): HRESULT
proc HResultFromWin32*(x: int32): HRESULT
proc HResultFromNT*(x: int32): HRESULT
proc InitializeCriticalSection*(CriticalSection: var TRTLCriticalSection) {.
    stdcall, dynlib: "kernel32", importc: "InitializeCriticalSection".}
proc EnterCriticalSection*(CriticalSection: var TRTLCriticalSection) {.stdcall, 
    dynlib: "kernel32", importc: "EnterCriticalSection".}
proc LeaveCriticalSection*(CriticalSection: var TRTLCriticalSection) {.stdcall, 
    dynlib: "kernel32", importc: "LeaveCriticalSection".}
proc DeleteCriticalSection*(CriticalSection: var TRTLCriticalSection) {.stdcall, 
    dynlib: "kernel32", importc: "DeleteCriticalSection".}
proc InitializeCriticalSectionAndSpinCount*(
    CriticalSection: var TRTLCriticalSection; dwSpinCount: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", 
    importc: "InitializeCriticalSectionAndSpinCount".}
proc SetCriticalSectionSpinCount*(CriticalSection: var TRTLCriticalSection; 
                                  dwSpinCount: DWORD): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "SetCriticalSectionSpinCount".}
proc TryEnterCriticalSection*(CriticalSection: var TRTLCriticalSection): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "TryEnterCriticalSection".}
proc ControlService*(hService: SC_HANDLE; dwControl: DWORD; 
                     ServiceStatus: var TSERVICESTATUS): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ControlService".}
proc QueryServiceStatus*(hService: SC_HANDLE; 
                         lpServiceStatus: var TSERVICESTATUS): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "QueryServiceStatus".}
proc SetServiceStatus*(hServiceStatus: SERVICE_STATUS_HANDLE; 
                       ServiceStatus: TSERVICESTATUS): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "SetServiceStatus".}
proc AdjustTokenPrivileges*(TokenHandle: THandle; DisableAllPrivileges: WINBOOL; 
                            NewState: TTokenPrivileges; BufferLength: DWORD; 
                            PreviousState: var TTokenPrivileges; 
                            ReturnLength: var DWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "AdjustTokenPrivileges".}
proc AdjustWindowRect*(lpRect: var TRect; dwStyle: DWORD; bMenu: WINBOOL): WINBOOL {.
    stdcall, dynlib: "user32", importc: "AdjustWindowRect".}
proc AdjustWindowRectEx*(lpRect: var TRect; dwStyle: DWORD; bMenu: WINBOOL; 
                         dwExStyle: DWORD): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "AdjustWindowRectEx".}
proc AllocateAndInitializeSid*(pIdentifierAuthority: TSIDIdentifierAuthority; 
                               nSubAuthorityCount: int8; 
                               nSubAuthority0, nSubAuthority1: DWORD; 
    nSubAuthority2, nSubAuthority3, nSubAuthority4: DWORD; nSubAuthority5, 
    nSubAuthority6, nSubAuthority7: DWORD; pSid: var Pointer): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "AllocateAndInitializeSid".}
proc AllocateLocallyUniqueId*(Luid: var TLargeInteger): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "AllocateLocallyUniqueId".}
proc BackupRead*(hFile: THandle; lpBuffer: PByte; nNumberOfBytesToRead: DWORD; 
                 lpNumberOfBytesRead: var DWORD; bAbort: WINBOOL; 
                 bProcessSecurity: WINBOOL; lpContext: var Pointer): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BackupRead".}
proc BackupSeek*(hFile: THandle; dwLowBytesToSeek, dwHighBytesToSeek: DWORD; 
                 lpdwLowByteSeeked, lpdwHighByteSeeked: var DWORD; 
                 lpContext: Pointer): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "BackupSeek".}
proc BackupWrite*(hFile: THandle; lpBuffer: PByte; nNumberOfBytesToWrite: DWORD; 
                  lpNumberOfBytesWritten: var DWORD; 
                  bAbort, bProcessSecurity: WINBOOL; lpContext: var Pointer): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BackupWrite".}
proc BeginPaint*(wnd: HWND; lpPaint: var TPaintStruct): HDC {.stdcall, 
    dynlib: "user32", importc: "BeginPaint".}
proc BuildCommDCB*(lpDef: cstring; lpDCB: var TDCB): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "BuildCommDCBA".}
proc BuildCommDCBA*(lpDef: LPCSTR; lpDCB: var TDCB): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "BuildCommDCBA".}
proc BuildCommDCBAndTimeouts*(lpDef: cstring; lpDCB: var TDCB; 
                              lpCommTimeouts: var TCommTimeouts): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsA".}
proc BuildCommDCBAndTimeoutsA*(lpDef: LPCSTR; lpDCB: var TDCB; 
                               lpCommTimeouts: var TCommTimeouts): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsA".}
proc BuildCommDCBAndTimeoutsW*(lpDef: LPWSTR; lpDCB: var TDCB; 
                               lpCommTimeouts: var TCommTimeouts): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsW".}
proc BuildCommDCBW*(lpDef: LPWSTR; lpDCB: var TDCB): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "BuildCommDCBW".}
proc CallMsgFilter*(lpMsg: var TMsg; nCode: int): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CallMsgFilterA".}
proc CallMsgFilterA*(lpMsg: var TMsg; nCode: int): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CallMsgFilterA".}
proc CallMsgFilterW*(lpMsg: var TMsg; nCode: int): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CallMsgFilterW".}
proc CallNamedPipe*(lpNamedPipeName: cstring; lpInBuffer: Pointer; 
                    nInBufferSize: DWORD; lpOutBuffer: Pointer; 
                    nOutBufferSize: DWORD; lpBytesRead: var DWORD; 
                    nTimeOut: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "CallNamedPipeA".}
proc CallNamedPipeA*(lpNamedPipeName: LPCSTR; lpInBuffer: Pointer; 
                     nInBufferSize: DWORD; lpOutBuffer: Pointer; 
                     nOutBufferSize: DWORD; lpBytesRead: var DWORD; 
                     nTimeOut: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "CallNamedPipeA".}
proc CallNamedPipeW*(lpNamedPipeName: LPWSTR; lpInBuffer: Pointer; 
                     nInBufferSize: DWORD; lpOutBuffer: Pointer; 
                     nOutBufferSize: DWORD; lpBytesRead: var DWORD; 
                     nTimeOut: DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "CallNamedPipeW".}
proc CoRegisterClassObject*(para1: TCLSID; para2: pointer; para3: DWORD; 
                            para4: DWORD; out_para5: DWORD): HRESULT {.stdcall, 
    dynlib: "ole32.dll", importc: "CoRegisterClassObject".}
proc ChangeDisplaySettings*(lpDevMode: var TDeviceMode; dwFlags: DWORD): int32 {.
    stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsA".}
proc ChangeDisplaySettingsA*(lpDevMode: var TDeviceModeA; dwFlags: DWORD): int32 {.
    stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsA".}
proc ChangeDisplaySettingsEx*(lpszDeviceName: cstring; 
                              lpDevMode: var TDeviceMode; wnd: HWND; 
                              dwFlags: DWORD; lParam: Pointer): int32 {.stdcall, 
    dynlib: "user32", importc: "ChangeDisplaySettingsExA".}
proc ChangeDisplaySettingsExA*(lpszDeviceName: LPCSTR; 
                               lpDevMode: var TDeviceModeA; wnd: HWND; 
                               dwFlags: DWORD; lParam: Pointer): int32 {.
    stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsExA".}
proc ChangeDisplaySettingsExW*(lpszDeviceName: LPWSTR; 
                               lpDevMode: var TDeviceModeW; wnd: HWND; 
                               dwFlags: DWORD; lParam: Pointer): int32 {.
    stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsExW".}
proc ChangeDisplaySettingsW*(lpDevMode: var TDeviceModeW; dwFlags: DWORD): int32 {.
    stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsW".}
proc ChoosePixelFormat*(para1: HDC; para2: var PIXELFORMATDESCRIPTOR): int32 {.
    stdcall, dynlib: "gdi32", importc: "ChoosePixelFormat".}
proc ClearCommError*(hFile: THandle; lpErrors: var DWORD; lpStat: PComStat): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ClearCommError".}
proc ClientToScreen*(wnd: HWND; lpPoint: var TPoint): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ClientToScreen".}
proc ClipCursor*(lpRect: var RECT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ClipCursor".}
proc CommConfigDialog*(lpszName: cstring; wnd: HWND; lpCC: var TCommConfig): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CommConfigDialogA".}
proc CommConfigDialogA*(lpszName: LPCSTR; wnd: HWND; lpCC: var TCommConfig): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CommConfigDialogA".}
proc CommConfigDialogW*(lpszName: LPWSTR; wnd: HWND; lpCC: var TCommConfig): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CommConfigDialogW".}
proc CopyAcceleratorTable*(hAccelSrc: HACCEL; lpAccelDst: pointer; 
                           cAccelEntries: int): int {.stdcall, dynlib: "user32", 
    importc: "CopyAcceleratorTableA".}
proc CopyAcceleratorTableA*(hAccelSrc: HACCEL; lpAccelDst: pointer; 
                            cAccelEntries: int): int {.stdcall, 
    dynlib: "user32", importc: "CopyAcceleratorTableA".}
proc CopyAcceleratorTableW*(hAccelSrc: HACCEL; lpAccelDst: pointer; 
                            cAccelEntries: int): int {.stdcall, 
    dynlib: "user32", importc: "CopyAcceleratorTableW".}
proc CopyRect*(lprcDst: var TRect; lprcSrc: TRect): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CopyRect".}
proc CreateAcceleratorTable*(Accel: pointer; Count: int): HACCEL {.stdcall, 
    dynlib: "user32", importc: "CreateAcceleratorTableA".}
proc CreateAcceleratorTableA*(Accel: pointer; Count: int): HACCEL {.stdcall, 
    dynlib: "user32", importc: "CreateAcceleratorTableA".}
proc CreateAcceleratorTableW*(Accel: pointer; Count: int): HACCEL {.stdcall, 
    dynlib: "user32", importc: "CreateAcceleratorTableW".}
proc CreateColorSpace*(ColorSpace: var TLogColorSpace): HCOLORSPACE {.stdcall, 
    dynlib: "gdi32", importc: "CreateColorSpaceA".}
proc CreateColorSpaceA*(ColorSpace: var TLogColorSpaceA): HCOLORSPACE {.stdcall, 
    dynlib: "gdi32", importc: "CreateColorSpaceA".}
proc CreateDialogIndirectParam*(hInstance: HINST; lpTemplate: TDlgTemplate; 
                                hWndParent: HWND; lpDialogFunc: TFNDlgProc; 
                                dwInitParam: LPARAM): HWND {.stdcall, 
    dynlib: "user32", importc: "CreateDialogIndirectParamA".}
proc CreateIconIndirect*(piconinfo: var TIconInfo): HICON {.stdcall, 
    dynlib: "user32", importc: "CreateIconIndirect".}
proc CreatePipe*(hReadPipe, hWritePipe: var THandle; 
                 lpPipeAttributes: PSecurityAttributes; nSize: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreatePipe".}
proc CreatePolygonRgn*(Points: pointer; Count, FillMode: int): HRGN {.stdcall, 
    dynlib: "gdi32", importc: "CreatePolygonRgn".}
proc CreatePolyPolygonRgn*(pPtStructs: pointer; pIntArray: pointer; p3, p4: int): HRGN {.
    stdcall, dynlib: "gdi32", importc: "CreatePolyPolygonRgn".}
proc CreateProcess*(lpApplicationName: cstring; lpCommandLine: cstring; 
    lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; 
                    bInheritHandles: WINBOOL; dwCreationFlags: DWORD; 
                    lpEnvironment: Pointer; lpCurrentDirectory: cstring; 
                    lpStartupInfo: TStartupInfo; 
                    lpProcessInformation: var TProcessInformation): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateProcessA".}
proc CreateProcessA*(lpApplicationName: LPCSTR; lpCommandLine: LPCSTR; 
    lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; 
                     bInheritHandles: WINBOOL; dwCreationFlags: DWORD; 
                     lpEnvironment: Pointer; lpCurrentDirectory: LPCSTR; 
                     lpStartupInfo: TStartupInfo; 
                     lpProcessInformation: var TProcessInformation): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateProcessA".}
proc CreateProcessW*(lpApplicationName: LPWSTR; lpCommandLine: LPWSTR; 
    lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; 
                     bInheritHandles: WINBOOL; dwCreationFlags: DWORD; 
                     lpEnvironment: Pointer; lpCurrentDirectory: LPWSTR; 
                     lpStartupInfo: TStartupInfo; 
                     lpProcessInformation: var TProcessInformation): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "CreateProcessW".}
proc CreateRemoteThread*(hProcess: THandle; lpThreadAttributes: Pointer; 
                         dwStackSize: DWORD; 
                         lpStartAddress: TFNThreadStartRoutine; 
                         lpParameter: Pointer; dwCreationFlags: DWORD; 
                         lpThreadId: var DWORD): THandle {.stdcall, 
    dynlib: "kernel32", importc: "CreateRemoteThread".}
proc CreateThread*(lpThreadAttributes: Pointer; dwStackSize: DWORD; 
                   lpStartAddress: TFNThreadStartRoutine; lpParameter: Pointer; 
                   dwCreationFlags: DWORD; lpThreadId: var DWORD): THandle {.
    stdcall, dynlib: "kernel32", importc: "CreateThread".}
proc DdeSetQualityOfService*(hWndClient: HWnd; 
                             pqosNew: TSecurityQualityOfService; 
                             pqosPrev: PSecurityQualityOfService): WINBOOL {.
    stdcall, dynlib: "user32", importc: "DdeSetQualityOfService".}
proc DescribePixelFormat*(DC: HDC; p2: int; p3: UINT; 
                          p4: var TPixelFormatDescriptor): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "DescribePixelFormat".}
proc DeviceIoControl*(hDevice: THandle; dwIoControlCode: DWORD; 
                      lpInBuffer: Pointer; nInBufferSize: DWORD; 
                      lpOutBuffer: Pointer; nOutBufferSize: DWORD; 
                      lpBytesReturned: var DWORD; lpOverlapped: POverlapped): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "DeviceIoControl".}
proc DialogBoxIndirectParam*(hInstance: HINST; lpDialogTemplate: TDlgTemplate; 
                             hWndParent: HWND; lpDialogFunc: TFNDlgProc; 
                             dwInitParam: LPARAM): int {.stdcall, 
    dynlib: "user32", importc: "DialogBoxIndirectParamA".}
proc DialogBoxIndirectParamA*(hInstance: HINST; lpDialogTemplate: TDlgTemplate; 
                              hWndParent: HWND; lpDialogFunc: TFNDlgProc; 
                              dwInitParam: LPARAM): int {.stdcall, 
    dynlib: "user32", importc: "DialogBoxIndirectParamA".}
proc DialogBoxIndirectParamW*(hInstance: HINST; lpDialogTemplate: TDlgTemplate; 
                              hWndParent: HWND; lpDialogFunc: TFNDlgProc; 
                              dwInitParam: LPARAM): int {.stdcall, 
    dynlib: "user32", importc: "DialogBoxIndirectParamW".}
proc DispatchMessage*(lpMsg: TMsg): int32 {.stdcall, dynlib: "user32", 
    importc: "DispatchMessageA".}
proc DispatchMessageA*(lpMsg: TMsg): int32 {.stdcall, dynlib: "user32", 
    importc: "DispatchMessageA".}
proc DispatchMessageW*(lpMsg: TMsg): int32 {.stdcall, dynlib: "user32", 
    importc: "DispatchMessageW".}
proc DosDateTimeToFileTime*(wFatDate, wFatTime: int16; lpFileTime: var TFileTime): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "DosDateTimeToFileTime".}
proc DPtoLP*(DC: HDC; Points: pointer; Count: int): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "DPtoLP".}
proc DrawEdge*(hdc: HDC; qrc: var TRect; edge: UINT; grfFlags: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "DrawEdge".}
proc DrawFrameControl*(DC: HDC; Rect: TRect; uType, uState: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "DrawFrameControl".}
proc DrawText*(hDC: HDC; lpString: cstring; nCount: int; lpRect: var TRect; 
               uFormat: UINT): int {.stdcall, dynlib: "user32", 
                                     importc: "DrawTextA".}
proc DrawTextA*(hDC: HDC; lpString: LPCSTR; nCount: int; lpRect: var TRect; 
                uFormat: UINT): int {.stdcall, dynlib: "user32", 
                                      importc: "DrawTextA".}
proc DrawTextEx*(DC: HDC; lpchText: cstring; cchText: int; p4: var TRect; 
                 dwDTFormat: UINT; DTParams: PDrawTextParams): int {.stdcall, 
    dynlib: "user32", importc: "DrawTextExA".}
proc DrawTextExA*(DC: HDC; lpchText: LPCSTR; cchText: int; p4: var TRect; 
                  dwDTFormat: UINT; DTParams: PDrawTextParams): int {.stdcall, 
    dynlib: "user32", importc: "DrawTextExA".}
proc DrawTextExW*(DC: HDC; lpchText: LPWSTR; cchText: int; p4: var TRect; 
                  dwDTFormat: UINT; DTParams: PDrawTextParams): int {.stdcall, 
    dynlib: "user32", importc: "DrawTextExW".}
proc DrawTextW*(hDC: HDC; lpString: LPWSTR; nCount: int; lpRect: var TRect; 
                uFormat: UINT): int {.stdcall, dynlib: "user32", 
                                      importc: "DrawTextW".}
proc EndPaint*(wnd: HWND; lpPaint: TPaintStruct): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EndPaint".}
proc EnumDisplaySettings*(lpszDeviceName: cstring; iModeNum: DWORD; 
                          lpDevMode: var TDeviceMode): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EnumDisplaySettingsA".}
proc EnumDisplaySettingsA*(lpszDeviceName: LPCSTR; iModeNum: DWORD; 
                           lpDevMode: var TDeviceModeA): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EnumDisplaySettingsA".}
proc EnumDisplaySettingsW*(lpszDeviceName: LPWSTR; iModeNum: DWORD; 
                           lpDevMode: var TDeviceModeW): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "EnumDisplaySettingsW".}
proc ExtCreatePen*(PenStyle, Width: DWORD; Brush: TLogBrush; StyleCount: DWORD; 
                   Style: Pointer): HPEN {.stdcall, dynlib: "gdi32", 
    importc: "ExtCreatePen".}
proc ExtCreateRegion*(p1: PXForm; p2: DWORD; p3: TRgnData): HRGN {.stdcall, 
    dynlib: "gdi32", importc: "ExtCreateRegion".}
proc FileTimeToDosDateTime*(lpFileTime: TFileTime; 
                            lpFatDate, lpFatTime: var int16): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "FileTimeToDosDateTime".}
proc FileTimeToLocalFileTime*(lpFileTime: TFileTime; 
                              lpLocalFileTime: var TFileTime): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FileTimeToLocalFileTime".}
proc FileTimeToSystemTime*(lpFileTime: TFileTime; lpSystemTime: var TSystemTime): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FileTimeToSystemTime".}
proc FillConsoleOutputAttribute*(hConsoleOutput: THandle; wAttribute: int16; 
                                 nLength: DWORD; dwWriteCoord: TCoord; 
                                 lpNumberOfAttrsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FillConsoleOutputAttribute".}
proc FillConsoleOutputCharacter*(hConsoleOutput: THandle; cCharacter: Char; 
                                 nLength: DWORD; dwWriteCoord: TCoord; 
                                 lpNumberOfCharsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterA".}
proc FillConsoleOutputCharacterA*(hConsoleOutput: THandle; cCharacter: char; 
                                  nLength: DWORD; dwWriteCoord: TCoord; 
                                  lpNumberOfCharsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterA".}
proc FillConsoleOutputCharacterW*(hConsoleOutput: THandle; cCharacter: WideChar; 
                                  nLength: DWORD; dwWriteCoord: TCoord; 
                                  lpNumberOfCharsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterW".}
proc FindFirstFile*(lpFileName: cstring; lpFindFileData: var TWIN32FindData): THandle {.
    stdcall, dynlib: "kernel32", importc: "FindFirstFileA".}
proc FindFirstFileA*(lpFileName: LPCSTR; lpFindFileData: var TWIN32FindDataA): THandle {.
    stdcall, dynlib: "kernel32", importc: "FindFirstFileA".}
proc FindFirstFileW*(lpFileName: LPWSTR; lpFindFileData: var TWIN32FindDataW): THandle {.
    stdcall, dynlib: "kernel32", importc: "FindFirstFileW".}
proc FindNextFile*(hFindFile: THandle; lpFindFileData: var TWIN32FindData): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FindNextFileA".}
proc FindNextFileA*(hFindFile: THandle; lpFindFileData: var TWIN32FindDataA): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FindNextFileA".}
proc FindNextFileW*(hFindFile: THandle; lpFindFileData: var TWIN32FindDataW): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "FindNextFileW".}
proc GetAspectRatioFilterEx*(DC: HDC; p2: var TSize): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetAspectRatioFilterEx".}
proc GetBinaryType*(lpApplicationName: cstring; lpBinaryType: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetBinaryTypeA".}
proc GetBinaryTypeA*(lpApplicationName: LPCSTR; lpBinaryType: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetBinaryTypeA".}
proc GetBinaryTypeW*(lpApplicationName: LPWSTR; lpBinaryType: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetBinaryTypeW".}
proc GetBitmapDimensionEx*(p1: HBITMAP; p2: var TSize): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetBitmapDimensionEx".}
proc GetBoundsRect*(DC: HDC; p2: var TRect; p3: UINT): UINT {.stdcall, 
    dynlib: "gdi32", importc: "GetBoundsRect".}
proc GetBrushOrgEx*(DC: HDC; p2: var TPoint): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetBrushOrgEx".}
proc GetCaretPos*(lpPoint: var TPoint): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetCaretPos".}
proc GetCharABCWidths*(DC: HDC; p2, p3: UINT; ABCStructs: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsA".}
proc GetCharABCWidthsA*(DC: HDC; p2, p3: UINT; ABCStructs: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsA".}
proc GetCharABCWidthsFloat*(DC: HDC; p2, p3: UINT; ABCFloatSturcts: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsFloatA".}
proc GetCharABCWidthsFloatA*(DC: HDC; p2, p3: UINT; ABCFloatSturcts: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsFloatA".}
proc GetCharABCWidthsFloatW*(DC: HDC; p2, p3: UINT; ABCFloatSturcts: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsFloatW".}
proc GetCharABCWidthsW*(DC: HDC; p2, p3: UINT; ABCStructs: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsW".}
proc GetCharacterPlacement*(DC: HDC; p2: cstring; p3, p4: WINBOOL; 
                            p5: var TGCPResults; p6: DWORD): DWORD {.stdcall, 
    dynlib: "gdi32", importc: "GetCharacterPlacementA".}
proc GetCharacterPlacementA*(DC: HDC; p2: LPCSTR; p3, p4: WINBOOL; 
                             p5: var TGCPResults; p6: DWORD): DWORD {.stdcall, 
    dynlib: "gdi32", importc: "GetCharacterPlacementA".}
proc GetCharacterPlacementW*(DC: HDC; p2: LPWSTR; p3, p4: WINBOOL; 
                             p5: var TGCPResults; p6: DWORD): DWORD {.stdcall, 
    dynlib: "gdi32", importc: "GetCharacterPlacementW".}
proc GetCharWidth*(DC: HDC; p2, p3: UINT; Widths: pointer): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetCharWidthA".}
proc GetCharWidth32*(DC: HDC; p2, p3: UINT; Widths: pointer): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetCharWidth32A".}
proc GetCharWidth32A*(DC: HDC; p2, p3: UINT; Widths: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidth32A".}
proc GetCharWidth32W*(DC: HDC; p2, p3: UINT; Widths: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidth32W".}
proc GetCharWidthA*(DC: HDC; p2, p3: UINT; Widths: pointer): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetCharWidthA".}
proc GetCharWidthFloat*(DC: HDC; p2, p3: UINT; Widths: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatA".}
proc GetCharWidthFloatA*(DC: HDC; p2, p3: UINT; Widths: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatA".}
proc GetCharWidthFloatW*(DC: HDC; p2, p3: UINT; Widths: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatW".}
proc GetCharWidthW*(DC: HDC; p2, p3: UINT; Widths: pointer): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetCharWidthW".}
proc GetClassInfo*(hInstance: HINST; lpClassName: cstring; 
                   lpWndClass: var TWndClass): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetClassInfoA".}
proc GetClassInfoA*(hInstance: HINST; lpClassName: LPCSTR; 
                    lpWndClass: var TWndClassA): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetClassInfoA".}
proc GetClassInfoEx*(Instance: HINST; Classname: cstring; 
                     WndClass: var TWndClassEx): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetClassInfoExA".}
proc GetClientRect*(wnd: HWND; lpRect: var TRect): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetClientRect".}
proc GetClipBox*(DC: HDC; Rect: var TRect): int {.stdcall, dynlib: "gdi32", 
    importc: "GetClipBox".}
proc GetClipCursor*(lpRect: var TRect): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetClipCursor".}
proc GetColorAdjustment*(DC: HDC; p2: var TColorAdjustment): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetColorAdjustment".}
proc GetCommConfig*(hCommDev: THandle; lpCC: var TCommConfig; 
                    lpdwSize: var DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "GetCommConfig".}
proc GetCommMask*(hFile: THandle; lpEvtMask: var DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetCommMask".}
proc GetCommModemStatus*(hFile: THandle; lpModemStat: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetCommModemStatus".}
proc GetCommProperties*(hFile: THandle; lpCommProp: var TCommProp): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetCommProperties".}
proc GetCommState*(hFile: THandle; lpDCB: var TDCB): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetCommState".}
proc GetCommTimeouts*(hFile: THandle; lpCommTimeouts: var TCommTimeouts): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetCommTimeouts".}
proc GetComputerName*(lpBuffer: cstring; nSize: var DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetComputerNameA".}
proc GetComputerNameA*(lpBuffer: LPCSTR; nSize: var DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetComputerNameA".}
proc GetComputerNameW*(lpBuffer: LPWSTR; nSize: var DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetComputerNameW".}
proc GetConsoleCursorInfo*(hConsoleOutput: THandle; 
                           lpConsoleCursorInfo: var TConsoleCursorInfo): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetConsoleCursorInfo".}
proc GetConsoleMode*(hConsoleHandle: THandle; lpMode: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetConsoleMode".}
proc GetConsoleScreenBufferInfo*(hConsoleOutput: THandle; 
    lpConsoleScreenBufferInfo: var TConsoleScreenBufferInfo): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetConsoleScreenBufferInfo".}
proc GetCPInfo*(CodePage: UINT; lpCPInfo: var TCPInfo): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetCPInfo".}
proc GetCursorInfo*(pci: var TCursorInfo): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetCursorInfo".}
proc GetCursorPos*(lpPoint: var TPoint): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "GetCursorPos".}
proc GetDCOrgEx*(DC: HDC; Origin: var TPoint): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetDCOrgEx".}
proc GetDefaultCommConfig*(lpszName: cstring; lpCC: var TCommConfig; 
                           lpdwSize: var DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetDefaultCommConfigA".}
proc GetDefaultCommConfigA*(lpszName: LPCSTR; lpCC: var TCommConfig; 
                            lpdwSize: var DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetDefaultCommConfigA".}
proc GetDefaultCommConfigW*(lpszName: LPWSTR; lpCC: var TCommConfig; 
                            lpdwSize: var DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetDefaultCommConfigW".}
proc GetDIBColorTable*(DC: HDC; p2, p3: UINT; RGBQuadStructs: pointer): UINT {.
    stdcall, dynlib: "gdi32", importc: "GetDIBColorTable".}
proc GetDIBits*(DC: HDC; Bitmap: HBitmap; StartScan, NumScans: UINT; 
                Bits: Pointer; BitInfo: var TBitmapInfo; Usage: UINT): int {.
    stdcall, dynlib: "gdi32", importc: "GetDIBits".}
proc GetDiskFreeSpace*(lpRootPathName: cstring; lpSectorsPerCluster, 
    lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceA".}
proc GetDiskFreeSpaceA*(lpRootPathName: LPCSTR; lpSectorsPerCluster, 
    lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceA".}
proc GetDiskFreeSpaceEx*(lpDirectoryName: cstring; lpFreeBytesAvailableToCaller, 
    lpTotalNumberOfBytes: var TLargeInteger; 
                         lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExA".}
proc GetDiskFreeSpaceExA*(lpDirectoryName: LPCSTR; lpFreeBytesAvailableToCaller, 
    lpTotalNumberOfBytes: var TLargeInteger; 
                          lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExA".}
proc GetDiskFreeSpaceExW*(lpDirectoryName: LPWSTR; lpFreeBytesAvailableToCaller, 
    lpTotalNumberOfBytes: var TLargeInteger; 
                          lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExW".}
proc GetDiskFreeSpaceW*(lpRootPathName: LPWSTR; lpSectorsPerCluster, 
    lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceW".}
proc GetDiskFreeSpaceEx*(lpDirectoryName: cstring; lpFreeBytesAvailableToCaller, 
    lpTotalNumberOfBytes: pLargeInteger; lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExA".}
proc GetDiskFreeSpaceExA*(lpDirectoryName: LPCSTR; lpFreeBytesAvailableToCaller, 
    lpTotalNumberOfBytes: pLargeInteger; lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExA".}
proc GetDiskFreeSpaceExW*(lpDirectoryName: LPWSTR; lpFreeBytesAvailableToCaller, 
    lpTotalNumberOfBytes: pLargeInteger; lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExW".}
proc GetExitCodeProcess*(hProcess: THandle; lpExitCode: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetExitCodeProcess".}
proc GetExitCodeThread*(hThread: THandle; lpExitCode: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetExitCodeThread".}
proc GetFileInformationByHandle*(hFile: THandle; lpFileInformation: var TByHandleFileInformation): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetFileInformationByHandle".}
proc GetFileVersionInfoSize*(lptstrFilename: cstring; lpdwHandle: var DWORD): DWORD {.
    stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeA".}
proc GetFileVersionInfoSizeA*(lptstrFilename: LPCSTR; lpdwHandle: var DWORD): DWORD {.
    stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeA".}
proc GetFileVersionInfoSizeW*(lptstrFilename: LPWSTR; lpdwHandle: var DWORD): DWORD {.
    stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeW".}
proc GetGlyphOutline*(DC: HDC; p2, p3: UINT; p4: TGlyphMetrics; p5: DWORD; 
                      p6: Pointer; p7: TMat2): DWORD {.stdcall, dynlib: "gdi32", 
    importc: "GetGlyphOutlineA".}
proc GetGlyphOutlineA*(DC: HDC; p2, p3: UINT; p4: TGlyphMetrics; p5: DWORD; 
                       p6: Pointer; p7: TMat2): DWORD {.stdcall, 
    dynlib: "gdi32", importc: "GetGlyphOutlineA".}
proc GetGlyphOutlineW*(DC: HDC; p2, p3: UINT; p4: TGlyphMetrics; p5: DWORD; 
                       p6: Pointer; p7: TMat2): DWORD {.stdcall, 
    dynlib: "gdi32", importc: "GetGlyphOutlineW".}
proc GetHandleInformation*(hObject: THandle; lpdwFlags: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetHandleInformation".}
proc GetIconInfo*(icon: HICON; piconinfo: var TIconInfo): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetIconInfo".}
proc GetKerningPairs*(DC: HDC; Count: DWORD; KerningPairs: pointer): DWORD {.
    stdcall, dynlib: "gdi32", importc: "GetKerningPairs".}
proc GetKeyboardLayoutList*(nBuff: int; List: pointer): UINT {.stdcall, 
    dynlib: "user32", importc: "GetKeyboardLayoutList".}
proc GetSystemTime*(lpSystemTime: var SYSTEMTIME) {.stdcall, dynlib: "kernel32", 
    importc: "GetSystemTime".}
proc GetLocalTime*(SystemTime: var SYSTEMTIME) {.stdcall, dynlib: "kernel32", 
    importc: "GetLocalTime".}
proc GetSystemInfo*(SystemInfo: var SYSTEM_INFO) {.stdcall, dynlib: "kernel32", 
    importc: "GetSystemInfo".}
proc SetSystemTime*(lpSystemTime: var SYSTEMTIME): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetSystemTime".}
proc SetLocalTime*(lpSystemTime: var SYSTEMTIME): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetLocalTime".}
proc GetLogColorSpace*(p1: HCOLORSPACE; ColorSpace: var TLogColorSpace; 
                       Size: DWORD): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetLogColorSpaceA".}
proc GetLogColorSpaceA*(p1: HCOLORSPACE; ColorSpace: var TLogColorSpaceA; 
                        Size: DWORD): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetLogColorSpaceA".}
proc GetMailslotInfo*(hMailslot: THandle; lpMaxMessageSize: Pointer; 
                      lpNextSize: var DWORD; 
                      lpMessageCount, lpReadTimeout: Pointer): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetMailslotInfo".}
proc GetMenuItemInfo*(p1: HMENU; p2: UINT; p3: WINBOOL; p4: var TMenuItemInfo): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetMenuItemInfoA".}
proc GetMenuItemInfoA*(p1: HMENU; p2: UINT; p3: WINBOOL; p4: var TMenuItemInfoA): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetMenuItemInfoA".}
proc GetMenuItemRect*(wnd: HWND; menu: HMENU; uItem: UINT; lprcItem: var TRect): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetMenuItemRect".}
proc GetMessage*(lpMsg: var TMsg; wnd: HWND; wMsgFilterMin, wMsgFilterMax: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetMessageA".}
proc GetMessageA*(lpMsg: var TMsg; wnd: HWND; wMsgFilterMin, wMsgFilterMax: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetMessageA".}
proc GetMessageW*(lpMsg: var TMsg; wnd: HWND; wMsgFilterMin, wMsgFilterMax: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetMessageW".}
proc GetMiterLimit*(DC: HDC; Limit: var float32): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetMiterLimit".}
proc GetNamedPipeInfo*(hNamedPipe: THandle; lpFlags: var DWORD; 
                       lpOutBufferSize, lpInBufferSize, lpMaxInstances: Pointer): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetNamedPipeInfo".}
proc GetNumberOfConsoleInputEvents*(hConsoleInput: THandle; 
                                    lpNumberOfEvents: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetNumberOfConsoleInputEvents".}
proc GetNumberOfConsoleMouseButtons*(lpNumberOfMouseButtons: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetNumberOfConsoleMouseButtons".}
proc GetOverlappedResult*(hFile: THandle; lpOverlapped: TOverlapped; 
                          lpNumberOfBytesTransferred: var DWORD; bWait: WINBOOL): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetOverlappedResult".}
proc GetPaletteEntries*(Palette: HPALETTE; StartIndex, NumEntries: UINT; 
                        PaletteEntries: pointer): UINT {.stdcall, 
    dynlib: "gdi32", importc: "GetPaletteEntries".}
proc GetPath*(DC: HDC; Points, Types: pointer; nSize: int): int {.stdcall, 
    dynlib: "gdi32", importc: "GetPath".}
proc GetPriorityClipboardFormat*(paFormatPriorityList: pointer; cFormats: int): int {.
    stdcall, dynlib: "user32", importc: "GetPriorityClipboardFormat".}
proc GetPrivateProfileSectionNamesA*(lpszReturnBuffer: LPSTR; nSize: DWORD; 
                                     lpFileName: LPCSTR): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetPrivateProfileSectionNamesA".}
proc GetPrivateProfileSectionNamesW*(lpszReturnBuffer: LPWSTR; nSize: DWORD; 
                                     lpFileName: LPCWSTR): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetPrivateProfileSectionNamesW".}
proc GetPrivateProfileSectionNames*(lpszReturnBuffer: LPTSTR; nSize: DWORD; 
                                    lpFileName: LPCTSTR): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetPrivateProfileSectionNamesA".}
proc GetPrivateProfileStructA*(lpszSection, lpszKey: LPCSTR; lpStruct: LPVOID; 
                               uSizeStruct: UINT; szFile: LPCSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStructA".}
proc GetPrivateProfileStructW*(lpszSection, lpszKey: LPCWSTR; lpStruct: LPVOID; 
                               uSizeStruct: UINT; szFile: LPCWSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStructW".}
proc GetPrivateProfileStruct*(lpszSection, lpszKey: LPCTSTR; lpStruct: LPVOID; 
                              uSizeStruct: UINT; szFile: LPCTSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStructA".}
proc GetProcessAffinityMask*(hProcess: THandle; lpProcessAffinityMask, 
    lpSystemAffinityMask: var DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "GetProcessAffinityMask".}
proc GetProcessHeaps*(NumberOfHeaps: DWORD; ProcessHeaps: var THandle): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetProcessHeaps".}
proc GetProcessPriorityBoost*(hThread: THandle; 
                              DisablePriorityBoost: var WINBOOL): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetProcessPriorityBoost".}
proc GetProcessShutdownParameters*(lpdwLevel, lpdwFlags: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetProcessShutdownParameters".}
proc GetProcessTimes*(hProcess: THandle; lpCreationTime, lpExitTime, 
    lpKernelTime, lpUserTime: var TFileTime): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetProcessTimes".}
proc GetProcessWorkingSetSize*(hProcess: THandle; lpMinimumWorkingSetSize, 
    lpMaximumWorkingSetSize: var DWORD): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "GetProcessWorkingSetSize".}
proc GetQueuedCompletionStatus*(CompletionPort: THandle; 
    lpNumberOfBytesTransferred, lpCompletionKey: var DWORD; 
                                lpOverlapped: var POverlapped; 
                                dwMilliseconds: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetQueuedCompletionStatus".}
proc GetRasterizerCaps*(p1: var TRasterizerStatus; p2: UINT): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetRasterizerCaps".}
proc GetRgnBox*(RGN: HRGN; p2: var TRect): int {.stdcall, dynlib: "gdi32", 
    importc: "GetRgnBox".}
proc GetScrollInfo*(wnd: HWND; BarFlag: int; ScrollInfo: var TScrollInfo): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetScrollInfo".}
proc GetScrollRange*(wnd: HWND; nBar: int; lpMinPos, lpMaxPos: var int): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetScrollRange".}
proc GetStartupInfo*(lpStartupInfo: var TSTARTUPINFO) {.stdcall, 
    dynlib: "kernel32", importc: "GetStartupInfoA".}
proc GetStringTypeA*(Locale: LCID; dwInfoType: DWORD; lpSrcStr: LPCSTR; 
                     cchSrc: WINBOOL; lpCharType: var int16): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetStringTypeA".}
proc GetStringTypeEx*(Locale: LCID; dwInfoType: DWORD; lpSrcStr: cstring; 
                      cchSrc: int; lpCharType: var int16): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetStringTypeExA".}
proc GetStringTypeExA*(Locale: LCID; dwInfoType: DWORD; lpSrcStr: LPCSTR; 
                       cchSrc: int; lpCharType: var int16): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetStringTypeExA".}
proc GetStringTypeExW*(Locale: LCID; dwInfoType: DWORD; lpSrcStr: LPWSTR; 
                       cchSrc: int; lpCharType: var int16): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetStringTypeExW".}
proc GetStringTypeW*(dwInfoType: DWORD; lpSrcStr: WCHAR; cchSrc: WINBOOL; 
                     lpCharType: var int16): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetStringTypeW".}
proc GetSystemPaletteEntries*(DC: HDC; StartIndex, NumEntries: UINT; 
                              PaletteEntries: pointer): UINT {.stdcall, 
    dynlib: "gdi32", importc: "GetSystemPaletteEntries".}
proc GetSystemPowerStatus*(lpSystemPowerStatus: var TSystemPowerStatus): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetSystemPowerStatus".}
proc GetSystemTimeAdjustment*(lpTimeAdjustment, lpTimeIncrement: var DWORD; 
                              lpTimeAdjustmentDisabled: var WINBOOL): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetSystemTimeAdjustment".}
proc GetSystemTimeAsFileTime*(lpSystemTimeAsFileTime: var TFILETIME) {.stdcall, 
    dynlib: "kernel32", importc: "GetSystemTimeAsFileTime".}
proc GetTabbedTextExtent*(hDC: HDC; lpString: cstring; 
                          nCount, nTabPositions: int; 
                          lpnTabStopPositions: pointer): DWORD {.stdcall, 
    dynlib: "user32", importc: "GetTabbedTextExtentA".}
proc GetTabbedTextExtentA*(hDC: HDC; lpString: LPCSTR; 
                           nCount, nTabPositions: int; 
                           lpnTabStopPositions: pointer): DWORD {.stdcall, 
    dynlib: "user32", importc: "GetTabbedTextExtentA".}
proc GetTabbedTextExtentW*(hDC: HDC; lpString: LPWSTR; 
                           nCount, nTabPositions: int; 
                           lpnTabStopPositions: pointer): DWORD {.stdcall, 
    dynlib: "user32", importc: "GetTabbedTextExtentW".}
proc GetTapeParameters*(hDevice: THandle; dwOperation: DWORD; 
                        lpdwSize: var DWORD; lpTapeInformation: Pointer): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetTapeParameters".}
proc GetTapePosition*(hDevice: THandle; dwPositionType: DWORD; 
                      lpdwPartition, lpdwOffsetLow: var DWORD; 
                      lpdwOffsetHigh: Pointer): DWORD {.stdcall, 
    dynlib: "kernel32", importc: "GetTapePosition".}
proc GetTextExtentExPoint*(DC: HDC; p2: cstring; p3, p4: int; p5, p6: PInteger; 
                           p7: var TSize): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetTextExtentExPointA".}
proc GetTextExtentExPointA*(DC: HDC; p2: LPCSTR; p3, p4: int; p5, p6: PInteger; 
                            p7: var TSize): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetTextExtentExPointA".}
proc GetTextExtentExPointW*(DC: HDC; p2: LPWSTR; p3, p4: int; p5, p6: PInteger; 
                            p7: var TSize): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "GetTextExtentExPointW".}
proc GetTextExtentPoint*(DC: HDC; Str: cstring; Count: int; Size: var TSize): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetTextExtentPointA".}
proc GetTextExtentPoint32*(DC: HDC; Str: cstring; Count: int; Size: var TSize): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetTextExtentPoint32A".}
proc GetTextExtentPoint32A*(DC: HDC; Str: LPCSTR; Count: int; Size: var TSize): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetTextExtentPoint32A".}
proc GetTextExtentPoint32W*(DC: HDC; Str: LPWSTR; Count: int; Size: var TSize): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetTextExtentPoint32W".}
proc GetTextExtentPointA*(DC: HDC; Str: LPCSTR; Count: int; Size: var TSize): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetTextExtentPointA".}
proc GetTextExtentPointW*(DC: HDC; Str: LPWSTR; Count: int; Size: var TSize): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "GetTextExtentPointW".}
proc GetTextMetrics*(DC: HDC; TM: var TTextMetric): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetTextMetricsA".}
proc GetThreadContext*(hThread: THandle; lpContext: var TContext): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetThreadContext".}
proc GetThreadPriorityBoost*(hThread: THandle; DisablePriorityBoost: var WINBOOL): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetThreadPriorityBoost".}
proc GetThreadSelectorEntry*(hThread: THandle; dwSelector: DWORD; 
                             lpSelectorEntry: var TLDTEntry): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetThreadSelectorEntry".}
proc GetThreadTimes*(hThread: THandle; lpCreationTime, lpExitTime, lpKernelTime, 
                                       lpUserTime: var TFileTime): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetThreadTimes".}
proc GetTimeZoneInformation*(lpTimeZoneInformation: var TTimeZoneInformation): DWORD {.
    stdcall, dynlib: "kernel32", importc: "GetTimeZoneInformation".}
proc GetUpdateRect*(wnd: HWND; lpRect: var TRect; bErase: WINBOOL): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetUpdateRect".}
proc GetUserName*(lpBuffer: cstring; nSize: var DWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "GetUserNameA".}
proc GetUserNameA*(lpBuffer: LPCSTR; nSize: var DWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "GetUserNameA".}
proc GetUserNameW*(lpBuffer: LPWSTR; nSize: var DWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "GetUserNameW".}
proc GetUserObjectInformation*(hObj: THandle; nIndex: int; pvInfo: Pointer; 
                               nLength: DWORD; lpnLengthNeeded: var DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetUserObjectInformationA".}
proc GetUserObjectInformationA*(hObj: THandle; nIndex: int; pvInfo: Pointer; 
                                nLength: DWORD; lpnLengthNeeded: var DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetUserObjectInformationA".}
proc GetUserObjectInformationW*(hObj: THandle; nIndex: int; pvInfo: Pointer; 
                                nLength: DWORD; lpnLengthNeeded: var DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "GetUserObjectInformationW".}
proc GetUserObjectSecurity*(hObj: THandle; pSIRequested: var DWORD; 
                            pSID: PSecurityDescriptor; nLength: DWORD; 
                            lpnLengthNeeded: var DWORD): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetUserObjectSecurity".}
proc GetVersionEx*(lpVersionInformation: var TOSVersionInfo): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVersionExA".}
proc GetVersionExA*(lpVersionInformation: var TOSVersionInfo): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetVersionExA".}
proc GetVersionExW*(lpVersionInformation: var TOSVersionInfoW): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "GetVersionExW".}
proc GetViewportExtEx*(DC: HDC; Size: var TSize): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetViewportExtEx".}
proc GetViewportOrgEx*(DC: HDC; Point: var TPoint): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetViewportOrgEx".}
proc GetVolumeInformation*(lpRootPathName: cstring; lpVolumeNameBuffer: cstring; 
                           nVolumeNameSize: DWORD; lpVolumeSerialNumber: PDWORD; 
    lpMaximumComponentLength, lpFileSystemFlags: var DWORD; 
                           lpFileSystemNameBuffer: cstring; 
                           nFileSystemNameSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVolumeInformationA".}
proc GetVolumeInformationA*(lpRootPathName: LPCSTR; lpVolumeNameBuffer: LPCSTR; 
                            nVolumeNameSize: DWORD; 
                            lpVolumeSerialNumber: PDWORD; 
    lpMaximumComponentLength, lpFileSystemFlags: var DWORD; 
                            lpFileSystemNameBuffer: LPCSTR; 
                            nFileSystemNameSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVolumeInformationA".}
proc GetVolumeInformationW*(lpRootPathName: LPWSTR; lpVolumeNameBuffer: LPWSTR; 
                            nVolumeNameSize: DWORD; 
                            lpVolumeSerialNumber: PDWORD; 
    lpMaximumComponentLength, lpFileSystemFlags: var DWORD; 
                            lpFileSystemNameBuffer: LPWSTR; 
                            nFileSystemNameSize: DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "GetVolumeInformationW".}
proc GetWindowExtEx*(DC: HDC; Size: var TSize): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetWindowExtEx".}
proc GetWindowOrgEx*(DC: HDC; Point: var TPoint): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetWindowOrgEx".}
proc GetWindowRect*(wnd: HWND; lpRect: var TRect): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "GetWindowRect".}
proc GetWorldTransform*(DC: HDC; p2: var TXForm): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "GetWorldTransform".}
proc GlobalMemoryStatus*(Buffer: var MEMORYSTATUS) {.stdcall, 
    dynlib: "kernel32", importc: "GlobalMemoryStatus".}
proc HeapWalk*(hHeap: THandle; lpEntry: var TProcessHeapEntry): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "HeapWalk".}
proc ImageList_GetDragImage*(ppt: var POINT; pptHotspot: var POINT): HIMAGELIST {.
    stdcall, dynlib: "comctl32", importc: "ImageList_GetDragImage".}
proc InflateRect*(lprc: var TRect; dx, dy: int): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "InflateRect".}
proc InitializeAcl*(pAcl: var TACL; nAclLength, dwAclRevision: DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "InitializeAcl".}
proc InitializeSid*(Sid: Pointer; pIdentifierAuthority: TSIDIdentifierAuthority; 
                    nSubAuthorityCount: int8): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "InitializeSid".}
proc InsertMenuItemA*(p1: HMENU; p2: UINT; p3: WINBOOL; p4: TMenuItemInfoA): WINBOOL {.
    stdcall, dynlib: "user32", importc: "InsertMenuItemA".}
proc IntersectRect*(lprcDst: var TRect; lprcSrc1, lprcSrc2: TRect): WINBOOL {.
    stdcall, dynlib: "user32", importc: "IntersectRect".}
proc IsDialogMessage*(hDlg: HWND; lpMsg: var TMsg): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "IsDialogMessageA".}
proc IsDialogMessageA*(hDlg: HWND; lpMsg: var TMsg): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "IsDialogMessageA".}
proc IsDialogMessageW*(hDlg: HWND; lpMsg: var TMsg): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "IsDialogMessageW".}
proc IsValidAcl*(pAcl: TACL): WINBOOL {.stdcall, dynlib: "advapi32", 
                                        importc: "IsValidAcl".}
proc LocalFileTimeToFileTime*(lpLocalFileTime: TFileTime; 
                              lpFileTime: var TFileTime): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "LocalFileTimeToFileTime".}
proc LockFileEx*(hFile: THandle; dwFlags, dwReserved: DWORD; 
                 nNumberOfBytesToLockLow, nNumberOfBytesToLockHigh: DWORD; 
                 lpOverlapped: TOverlapped): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "LockFileEx".}
proc LogonUser*(lpszUsername, lpszDomain, lpszPassword: cstring; 
                dwLogonType, dwLogonProvider: DWORD; phToken: var THandle): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LogonUserA".}
proc LogonUserA*(lpszUsername, lpszDomain, lpszPassword: LPCSTR; 
                 dwLogonType, dwLogonProvider: DWORD; phToken: var THandle): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LogonUserA".}
proc LogonUserW*(lpszUsername, lpszDomain, lpszPassword: LPWSTR; 
                 dwLogonType, dwLogonProvider: DWORD; phToken: var THandle): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LogonUserW".}
proc LookupAccountName*(lpSystemName, lpAccountName: cstring; Sid: PSID; 
                        cbSid: var DWORD; ReferencedDomainName: cstring; 
                        cbReferencedDomainName: var DWORD; 
                        peUse: var SID_NAME_USE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupAccountNameA".}
proc LookupAccountNameA*(lpSystemName, lpAccountName: LPCSTR; Sid: PSID; 
                         cbSid: var DWORD; ReferencedDomainName: LPCSTR; 
                         cbReferencedDomainName: var DWORD; 
                         peUse: var SID_NAME_USE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupAccountNameA".}
proc LookupAccountNameW*(lpSystemName, lpAccountName: LPWSTR; Sid: PSID; 
                         cbSid: var DWORD; ReferencedDomainName: LPWSTR; 
                         cbReferencedDomainName: var DWORD; 
                         peUse: var SID_NAME_USE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupAccountNameW".}
proc LookupAccountSid*(lpSystemName: cstring; Sid: PSID; Name: cstring; 
                       cbName: var DWORD; ReferencedDomainName: cstring; 
                       cbReferencedDomainName: var DWORD; 
                       peUse: var SID_NAME_USE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupAccountSidA".}
proc LookupAccountSidA*(lpSystemName: LPCSTR; Sid: PSID; Name: LPCSTR; 
                        cbName: var DWORD; ReferencedDomainName: LPCSTR; 
                        cbReferencedDomainName: var DWORD; 
                        peUse: var SID_NAME_USE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupAccountSidA".}
proc LookupAccountSidW*(lpSystemName: LPWSTR; Sid: PSID; Name: LPWSTR; 
                        cbName: var DWORD; ReferencedDomainName: LPWSTR; 
                        cbReferencedDomainName: var DWORD; 
                        peUse: var SID_NAME_USE): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupAccountSidW".}
proc LookupPrivilegeDisplayName*(lpSystemName, lpName: LPCSTR; 
                                 lpDisplayName: cstring; 
                                 cbDisplayName, lpLanguageId: var DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameA".}
proc LookupPrivilegeDisplayNameA*(lpSystemName, lpName: LPCSTR; 
                                  lpDisplayName: LPCSTR; 
                                  cbDisplayName, lpLanguageId: var DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameA".}
proc LookupPrivilegeDisplayNameW*(lpSystemName, lpName: LPCSTR; 
                                  lpDisplayName: LPWSTR; 
                                  cbDisplayName, lpLanguageId: var DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameW".}
proc LookupPrivilegeName*(lpSystemName: cstring; lpLuid: var TLargeInteger; 
                          lpName: cstring; cbName: var DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupPrivilegeNameA".}
proc LookupPrivilegeNameA*(lpSystemName: LPCSTR; lpLuid: var TLargeInteger; 
                           lpName: LPCSTR; cbName: var DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupPrivilegeNameA".}
proc LookupPrivilegeNameW*(lpSystemName: LPWSTR; lpLuid: var TLargeInteger; 
                           lpName: LPWSTR; cbName: var DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "LookupPrivilegeNameW".}
proc LookupPrivilegeValue*(lpSystemName, lpName: cstring; 
                           lpLuid: var TLargeInteger): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupPrivilegeValueA".}
proc LookupPrivilegeValueA*(lpSystemName, lpName: LPCSTR; 
                            lpLuid: var TLargeInteger): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupPrivilegeValueA".}
proc LookupPrivilegeValueW*(lpSystemName, lpName: LPWSTR; 
                            lpLuid: var TLargeInteger): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "LookupPrivilegeValueW".}
proc LPtoDP*(DC: HDC; Points: pointer; Count: int): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "LPtoDP".}
proc MakeAbsoluteSD*(pSelfRelativeSecurityDescriptor: PSecurityDescriptor; 
                     pAbsoluteSecurityDescriptor: PSecurityDescriptor; 
                     lpdwAbsoluteSecurityDescriptorSi: var DWORD; 
                     pDacl: var TACL; lpdwDaclSize: var DWORD; pSacl: var TACL; 
                     lpdwSaclSize: var DWORD; pOwner: PSID; 
                     lpdwOwnerSize: var DWORD; pPrimaryGroup: Pointer; 
                     lpdwPrimaryGroupSize: var DWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "MakeAbsoluteSD".}
proc MakeSelfRelativeSD*(pAbsoluteSecurityDescriptor: PSecurityDescriptor; 
                         pSelfRelativeSecurityDescriptor: PSecurityDescriptor; 
                         lpdwBufferLength: var DWORD): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "MakeSelfRelativeSD".}
proc MapDialogRect*(hDlg: HWND; lpRect: var TRect): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "MapDialogRect".}
proc MapWindowPoints*(hWndFrom, hWndTo: HWND; lpPoints: pointer; cPoints: UINT): int {.
    stdcall, dynlib: "user32", importc: "MapWindowPoints".}
proc MessageBoxIndirect*(MsgBoxParams: TMsgBoxParams): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "MessageBoxIndirectA".}
proc MessageBoxIndirectA*(MsgBoxParams: TMsgBoxParamsA): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "MessageBoxIndirectA".}
proc MsgWaitForMultipleObjects*(nCount: DWORD; pHandles: pointer; 
                                fWaitAll: WINBOOL; 
                                dwMilliseconds, dwWakeMask: DWORD): DWORD {.
    stdcall, dynlib: "user32", importc: "MsgWaitForMultipleObjects".}
proc MsgWaitForMultipleObjectsEx*(nCount: DWORD; pHandles: pointer; 
                                  dwMilliseconds, dwWakeMask, dwFlags: DWORD): DWORD {.
    stdcall, dynlib: "user32", importc: "MsgWaitForMultipleObjectsEx".}
proc ObjectOpenAuditAlarm*(SubsystemName: cstring; HandleId: Pointer; 
                           ObjectTypeName: cstring; ObjectName: cstring; 
                           pSecurityDescriptor: PSecurityDescriptor; 
                           ClientToken: THandle; 
                           DesiredAccess, GrantedAccess: DWORD; 
                           Privileges: var TPrivilegeSet; 
                           ObjectCreation, AccessGranted: WINBOOL; 
                           GenerateOnClose: var WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectOpenAuditAlarmA".}
proc ObjectOpenAuditAlarmA*(SubsystemName: LPCSTR; HandleId: Pointer; 
                            ObjectTypeName: LPCSTR; ObjectName: LPCSTR; 
                            pSecurityDescriptor: PSecurityDescriptor; 
                            ClientToken: THandle; 
                            DesiredAccess, GrantedAccess: DWORD; 
                            Privileges: var TPrivilegeSet; 
                            ObjectCreation, AccessGranted: WINBOOL; 
                            GenerateOnClose: var WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectOpenAuditAlarmA".}
proc ObjectOpenAuditAlarmW*(SubsystemName: LPWSTR; HandleId: Pointer; 
                            ObjectTypeName: LPWSTR; ObjectName: LPWSTR; 
                            pSecurityDescriptor: PSecurityDescriptor; 
                            ClientToken: THandle; 
                            DesiredAccess, GrantedAccess: DWORD; 
                            Privileges: var TPrivilegeSet; 
                            ObjectCreation, AccessGranted: WINBOOL; 
                            GenerateOnClose: var WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectOpenAuditAlarmW".}
proc ObjectPrivilegeAuditAlarm*(SubsystemName: cstring; HandleId: Pointer; 
                                ClientToken: THandle; DesiredAccess: DWORD; 
                                Privileges: var TPrivilegeSet; 
                                AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmA".}
proc ObjectPrivilegeAuditAlarmA*(SubsystemName: LPCSTR; HandleId: Pointer; 
                                 ClientToken: THandle; DesiredAccess: DWORD; 
                                 Privileges: var TPrivilegeSet; 
                                 AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmA".}
proc ObjectPrivilegeAuditAlarmW*(SubsystemName: LPWSTR; HandleId: Pointer; 
                                 ClientToken: THandle; DesiredAccess: DWORD; 
                                 Privileges: var TPrivilegeSet; 
                                 AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmW".}
proc OffsetRect*(lprc: var TRect; dx, dy: int): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "OffsetRect".}
proc OffsetViewportOrgEx*(DC: HDC; X, Y: int; Points: pointer): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "OffsetViewportOrgEx".}
proc OffsetWindowOrgEx*(DC: HDC; X, Y: int; Points: pointer): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "OffsetWindowOrgEx".}
proc OpenFile*(lpFileName: LPCSTR; lpReOpenBuff: var TOFStruct; uStyle: UINT): HFILE {.
    stdcall, dynlib: "kernel32", importc: "OpenFile".}
proc OpenProcessToken*(ProcessHandle: THandle; DesiredAccess: DWORD; 
                       TokenHandle: var THandle): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "OpenProcessToken".}
proc OpenThreadToken*(ThreadHandle: THandle; DesiredAccess: DWORD; 
                      OpenAsSelf: WINBOOL; TokenHandle: var THandle): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "OpenThreadToken".}
proc PeekConsoleInput*(hConsoleInput: THandle; lpBuffer: var TInputRecord; 
                       nLength: DWORD; lpNumberOfEventsRead: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "PeekConsoleInputA".}
proc PeekConsoleInputA*(hConsoleInput: THandle; lpBuffer: var TInputRecord; 
                        nLength: DWORD; lpNumberOfEventsRead: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "PeekConsoleInputA".}
proc PeekConsoleInputW*(hConsoleInput: THandle; lpBuffer: var TInputRecord; 
                        nLength: DWORD; lpNumberOfEventsRead: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "PeekConsoleInputW".}
proc PeekMessage*(lpMsg: var TMsg; wnd: HWND; 
                  wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "PeekMessageA".}
proc PeekMessageA*(lpMsg: var TMsg; wnd: HWND; 
                   wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "PeekMessageA".}
proc PeekMessageW*(lpMsg: var TMsg; wnd: HWND; 
                   wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): WINBOOL {.
    stdcall, dynlib: "user32", importc: "PeekMessageW".}
proc PlayEnhMetaFileRecord*(DC: HDC; p2: var THandleTable; p3: TEnhMetaRecord; 
                            p4: UINT): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "PlayEnhMetaFileRecord".}
proc PlayMetaFileRecord*(DC: HDC; p2: THandleTable; p3: TMetaRecord; p4: UINT): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PlayMetaFileRecord".}
proc PlgBlt*(DC: HDC; PointsArray: pointer; p3: HDC; p4, p5, p6, p7: int; 
             p8: HBITMAP; p9, p10: int): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "PlgBlt".}
proc PolyBezier*(DC: HDC; Points: pointer; Count: DWORD): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "PolyBezier".}
proc PolyBezierTo*(DC: HDC; Points: pointer; Count: DWORD): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "PolyBezierTo".}
proc PolyDraw*(DC: HDC; Points, Types: pointer; cCount: int): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "PolyDraw".}
proc Polygon*(DC: HDC; Points: pointer; Count: int): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "Polygon".}
proc Polyline*(DC: HDC; Points: pointer; Count: int): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "Polyline".}
proc PolyLineTo*(DC: HDC; Points: pointer; Count: DWORD): WINBOOL {.stdcall, 
    dynlib: "gdi32", importc: "PolylineTo".}
proc PolyPolygon*(DC: HDC; Points: pointer; nPoints: pointer; p4: int): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyPolygon".}
proc PolyPolyline*(DC: HDC; PointStructs: pointer; Points: pointer; p4: DWORD): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyPolyline".}
proc PolyTextOut*(DC: HDC; PolyTextArray: pointer; Strings: int): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyTextOutA".}
proc PolyTextOutA*(DC: HDC; PolyTextArray: pointer; Strings: int): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyTextOutA".}
proc PolyTextOutW*(DC: HDC; PolyTextArray: pointer; Strings: int): WINBOOL {.
    stdcall, dynlib: "gdi32", importc: "PolyTextOutW".}
proc PrivilegeCheck*(ClientToken: THandle; RequiredPrivileges: TPrivilegeSet; 
                     pfResult: var WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "PrivilegeCheck".}
proc PrivilegedServiceAuditAlarm*(SubsystemName, ServiceName: cstring; 
                                  ClientToken: THandle; 
                                  Privileges: var TPrivilegeSet; 
                                  AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmA".}
proc PrivilegedServiceAuditAlarmA*(SubsystemName, ServiceName: LPCSTR; 
                                   ClientToken: THandle; 
                                   Privileges: var TPrivilegeSet; 
                                   AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmA".}
proc PrivilegedServiceAuditAlarmW*(SubsystemName, ServiceName: LPWSTR; 
                                   ClientToken: THandle; 
                                   Privileges: var TPrivilegeSet; 
                                   AccessGranted: WINBOOL): WINBOOL {.stdcall, 
    dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmW".}
proc QueryPerformanceCounter*(lpPerformanceCount: var TLargeInteger): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "QueryPerformanceCounter".}
proc QueryPerformanceFrequency*(lpFrequency: var TLargeInteger): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "QueryPerformanceFrequency".}
proc RaiseException*(dwExceptionCode: DWORD; dwExceptionFlags: DWORD; 
                     nNumberOfArguments: DWORD; lpArguments: var DWORD) {.
    stdcall, dynlib: "kernel32", importc: "RaiseException".}
proc UnhandledExceptionFilter*(ExceptionInfo: var emptyrecord): LONG {.stdcall, 
    dynlib: "kernel32", importc: "UnhandledExceptionFilter".}
proc ReadConsole*(hConsoleInput: THandle; lpBuffer: Pointer; 
                  nNumberOfCharsToRead: DWORD; lpNumberOfCharsRead: var DWORD; 
                  lpReserved: Pointer): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "ReadConsoleA".}
proc ReadConsoleA*(hConsoleInput: THandle; lpBuffer: Pointer; 
                   nNumberOfCharsToRead: DWORD; lpNumberOfCharsRead: var DWORD; 
                   lpReserved: Pointer): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "ReadConsoleA".}
proc ReadConsoleInput*(hConsoleInput: THandle; lpBuffer: var TInputRecord; 
                       nLength: DWORD; lpNumberOfEventsRead: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleInputA".}
proc ReadConsoleInputA*(hConsoleInput: THandle; lpBuffer: var TInputRecord; 
                        nLength: DWORD; lpNumberOfEventsRead: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleInputA".}
proc ReadConsoleInputW*(hConsoleInput: THandle; lpBuffer: var TInputRecord; 
                        nLength: DWORD; lpNumberOfEventsRead: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleInputW".}
proc ReadConsoleOutput*(hConsoleOutput: THandle; lpBuffer: Pointer; 
                        dwBufferSize, dwBufferCoord: TCoord; 
                        lpReadRegion: var TSmallRect): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ReadConsoleOutputA".}
proc ReadConsoleOutputA*(hConsoleOutput: THandle; lpBuffer: Pointer; 
                         dwBufferSize, dwBufferCoord: TCoord; 
                         lpReadRegion: var TSmallRect): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ReadConsoleOutputA".}
proc ReadConsoleOutputAttribute*(hConsoleOutput: THandle; lpAttribute: Pointer; 
                                 nLength: DWORD; dwReadCoord: TCoord; 
                                 lpNumberOfAttrsRead: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputAttribute".}
proc ReadConsoleOutputCharacter*(hConsoleOutput: THandle; lpCharacter: LPCSTR; 
                                 nLength: DWORD; dwReadCoord: TCoord; 
                                 lpNumberOfCharsRead: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterA".}
proc ReadConsoleOutputCharacterA*(hConsoleOutput: THandle; lpCharacter: LPCSTR; 
                                  nLength: DWORD; dwReadCoord: TCoord; 
                                  lpNumberOfCharsRead: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterA".}
proc ReadConsoleOutputCharacterW*(hConsoleOutput: THandle; lpCharacter: LPCSTR; 
                                  nLength: DWORD; dwReadCoord: TCoord; 
                                  lpNumberOfCharsRead: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterW".}
proc ReadConsoleOutputW*(hConsoleOutput: THandle; lpBuffer: Pointer; 
                         dwBufferSize, dwBufferCoord: TCoord; 
                         lpReadRegion: var TSmallRect): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ReadConsoleOutputW".}
proc ReadConsoleW*(hConsoleInput: THandle; lpBuffer: Pointer; 
                   nNumberOfCharsToRead: DWORD; lpNumberOfCharsRead: var DWORD; 
                   lpReserved: Pointer): WINBOOL {.stdcall, dynlib: "kernel32", 
    importc: "ReadConsoleW".}
proc ReadEventLog*(hEventLog: THandle; dwReadFlags, dwRecordOffset: DWORD; 
                   lpBuffer: Pointer; nNumberOfBytesToRead: DWORD; 
                   pnBytesRead, pnMinNumberOfBytesNeeded: var DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ReadEventLogA".}
proc ReadEventLogA*(hEventLog: THandle; dwReadFlags, dwRecordOffset: DWORD; 
                    lpBuffer: Pointer; nNumberOfBytesToRead: DWORD; 
                    pnBytesRead, pnMinNumberOfBytesNeeded: var DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ReadEventLogA".}
proc ReadEventLogW*(hEventLog: THandle; dwReadFlags, dwRecordOffset: DWORD; 
                    lpBuffer: Pointer; nNumberOfBytesToRead: DWORD; 
                    pnBytesRead, pnMinNumberOfBytesNeeded: var DWORD): WINBOOL {.
    stdcall, dynlib: "advapi32", importc: "ReadEventLogW".}
proc ReadFile*(hFile: THandle; Buffer: pointer; nNumberOfBytesToRead: DWORD; 
               lpNumberOfBytesRead: var DWORD; lpOverlapped: POverlapped): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "ReadFile".}
proc ReadProcessMemory*(hProcess: THandle; lpBaseAddress: Pointer; 
                        lpBuffer: Pointer; nSize: DWORD; 
                        lpNumberOfBytesRead: var DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ReadProcessMemory".}
proc RegConnectRegistry*(lpMachineName: cstring; key: HKEY; phkResult: var HKEY): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegConnectRegistryA".}
proc RegConnectRegistryA*(lpMachineName: LPCSTR; key: HKEY; phkResult: var HKEY): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegConnectRegistryA".}
proc RegConnectRegistryW*(lpMachineName: LPWSTR; key: HKEY; phkResult: var HKEY): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegConnectRegistryW".}
proc RegCreateKey*(key: HKEY; lpSubKey: cstring; phkResult: var HKEY): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyA".}
proc RegCreateKeyA*(key: HKEY; lpSubKey: LPCSTR; phkResult: var HKEY): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyA".}
proc RegCreateKeyEx*(key: HKEY; lpSubKey: cstring; Reserved: DWORD; 
                     lpClass: cstring; dwOptions: DWORD; samDesired: REGSAM; 
                     lpSecurityAttributes: PSecurityAttributes; 
                     phkResult: var HKEY; lpdwDisposition: PDWORD): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyExA".}
proc RegCreateKeyExA*(key: HKEY; lpSubKey: LPCSTR; Reserved: DWORD; 
                      lpClass: LPCSTR; dwOptions: DWORD; samDesired: REGSAM; 
                      lpSecurityAttributes: PSecurityAttributes; 
                      phkResult: var HKEY; lpdwDisposition: PDWORD): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyExA".}
proc RegCreateKeyExW*(key: HKEY; lpSubKey: LPWSTR; Reserved: DWORD; 
                      lpClass: LPWSTR; dwOptions: DWORD; samDesired: REGSAM; 
                      lpSecurityAttributes: PSecurityAttributes; 
                      phkResult: var HKEY; lpdwDisposition: PDWORD): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyExW".}
proc RegCreateKeyW*(key: HKEY; lpSubKey: LPWSTR; phkResult: var HKEY): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegCreateKeyW".}
proc RegEnumKeyEx*(key: HKEY; dwIndex: DWORD; lpName: cstring; 
                   lpcbName: var DWORD; lpReserved: Pointer; lpClass: cstring; 
                   lpcbClass: PDWORD; lpftLastWriteTime: PFileTime): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegEnumKeyExA".}
proc RegEnumKeyExA*(key: HKEY; dwIndex: DWORD; lpName: LPCSTR; 
                    lpcbName: var DWORD; lpReserved: Pointer; lpClass: LPCSTR; 
                    lpcbClass: PDWORD; lpftLastWriteTime: PFileTime): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegEnumKeyExA".}
proc RegEnumKeyExW*(key: HKEY; dwIndex: DWORD; lpName: LPWSTR; 
                    lpcbName: var DWORD; lpReserved: Pointer; lpClass: LPWSTR; 
                    lpcbClass: PDWORD; lpftLastWriteTime: PFileTime): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegEnumKeyExW".}
proc RegEnumValue*(key: HKEY; dwIndex: DWORD; lpValueName: cstring; 
                   lpcbValueName: var DWORD; lpReserved: Pointer; 
                   lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegEnumValueA".}
proc RegEnumValueA*(key: HKEY; dwIndex: DWORD; lpValueName: cstring; 
                    lpcbValueName: var DWORD; lpReserved: Pointer; 
                    lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegEnumValueA".}
proc RegEnumValueW*(key: HKEY; dwIndex: DWORD; lpValueName: cstring; 
                    lpcbValueName: var DWORD; lpReserved: Pointer; 
                    lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegEnumValueW".}
proc RegGetKeySecurity*(key: HKEY; SecurityInformation: SECURITY_INFORMATION; 
                        pSecurityDescriptor: PSecurityDescriptor; 
                        lpcbSecurityDescriptor: var DWORD): int32 {.stdcall, 
    dynlib: "advapi32", importc: "RegGetKeySecurity".}
proc RegSetValueEx*(key: HKEY; lpValueName: LPCSTR; Reserved: DWORD; 
                    dwType: DWORD; lpData: pointer; cbData: DWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegSetValueExA".}
proc RegSetValueExA*(key: HKEY; lpValueName: LPCSTR; Reserved: DWORD; 
                     dwType: DWORD; lpData: pointer; cbData: DWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegSetValueExA".}
proc RegSetValueExW*(key: HKEY; lpValueName: LPCWSTR; Reserved: DWORD; 
                     dwType: DWORD; lpData: pointer; cbData: DWORD): LONG {.
    stdcall, dynlib: "advapi32", importc: "RegSetValueExW".}
proc RegisterClass*(lpWndClass: TWndClass): ATOM {.stdcall, dynlib: "user32", 
    importc: "RegisterClassA".}
proc RegisterClassA*(lpWndClass: TWndClassA): ATOM {.stdcall, dynlib: "user32", 
    importc: "RegisterClassA".}
proc RegisterClassEx*(WndClass: TWndClassEx): ATOM {.stdcall, dynlib: "user32", 
    importc: "RegisterClassExA".}
proc RegisterClassExA*(WndClass: TWndClassExA): ATOM {.stdcall, 
    dynlib: "user32", importc: "RegisterClassExA".}
proc RegisterClassExW*(WndClass: TWndClassExW): ATOM {.stdcall, 
    dynlib: "user32", importc: "RegisterClassExW".}
proc RegisterClassW*(lpWndClass: TWndClassW): ATOM {.stdcall, dynlib: "user32", 
    importc: "RegisterClassW".}
proc RegOpenKey*(key: HKEY; lpSubKey: cstring; phkResult: var HKEY): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegOpenKeyA".}
proc RegOpenKeyA*(key: HKEY; lpSubKey: LPCSTR; phkResult: var HKEY): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegOpenKeyA".}
proc RegOpenKeyEx*(key: HKEY; lpSubKey: cstring; ulOptions: DWORD; 
                   samDesired: REGSAM; phkResult: var HKEY): int32 {.stdcall, 
    dynlib: "advapi32", importc: "RegOpenKeyExA".}
proc RegOpenKeyExA*(key: HKEY; lpSubKey: LPCSTR; ulOptions: DWORD; 
                    samDesired: REGSAM; phkResult: var HKEY): int32 {.stdcall, 
    dynlib: "advapi32", importc: "RegOpenKeyExA".}
proc RegOpenKeyExW*(key: HKEY; lpSubKey: LPWSTR; ulOptions: DWORD; 
                    samDesired: REGSAM; phkResult: var HKEY): int32 {.stdcall, 
    dynlib: "advapi32", importc: "RegOpenKeyExW".}
proc RegOpenKeyW*(key: HKEY; lpSubKey: LPWSTR; phkResult: var HKEY): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegOpenKeyW".}
proc RegQueryMultipleValues*(key: HKEY; ValList: pointer; NumVals: DWORD; 
                             lpValueBuf: cstring; ldwTotsize: var DWORD): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesA".}
proc RegQueryMultipleValuesA*(key: HKEY; ValList: pointer; NumVals: DWORD; 
                              lpValueBuf: LPCSTR; ldwTotsize: var DWORD): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesA".}
proc RegQueryMultipleValuesW*(key: HKEY; ValList: pointer; NumVals: DWORD; 
                              lpValueBuf: LPWSTR; ldwTotsize: var DWORD): int32 {.
    stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesW".}
proc RegQueryValue*(key: HKEY; lpSubKey: cstring; lpValue: cstring; 
                    lpcbValue: var int32): int32 {.stdcall, dynlib: "advapi32", 
    importc: "RegQueryValueA".}
proc RegQueryValueA*(key: HKEY; lpSubKey: LPCSTR; lpValue: LPCSTR; 
                     lpcbValue: var int32): int32 {.stdcall, dynlib: "advapi32", 
    importc: "RegQueryValueA".}
proc RegQueryValueW*(key: HKEY; lpSubKey: LPWSTR; lpValue: LPWSTR; 
                     lpcbValue: var int32): int32 {.stdcall, dynlib: "advapi32", 
    importc: "RegQueryValueW".}
proc ResetDC*(DC: HDC; p2: TDeviceMode): HDC {.stdcall, dynlib: "gdi32", 
    importc: "ResetDCA".}
proc ResetDCA*(DC: HDC; p2: TDeviceModeA): HDC {.stdcall, dynlib: "gdi32", 
    importc: "ResetDCA".}
proc ScreenToClient*(wnd: HWND; lpPoint: var TPoint): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "ScreenToClient".}
proc ScrollConsoleScreenBuffer*(hConsoleOutput: THandle; 
                                lpScrollRectangle: TSmallRect; 
                                lpClipRectangle: TSmallRect; 
                                dwDestinationOrigin: TCoord; 
                                lpFill: var TCharInfo): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ScrollConsoleScreenBufferA".}
proc ScrollConsoleScreenBufferA*(hConsoleOutput: THandle; 
                                 lpScrollRectangle: TSmallRect; 
                                 lpClipRectangle: TSmallRect; 
                                 dwDestinationOrigin: TCoord; 
                                 lpFill: var TCharInfo): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ScrollConsoleScreenBufferA".}
proc ScrollConsoleScreenBufferW*(hConsoleOutput: THandle; 
                                 lpScrollRectangle: TSmallRect; 
                                 lpClipRectangle: TSmallRect; 
                                 dwDestinationOrigin: TCoord; 
                                 lpFill: var TCharInfo): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "ScrollConsoleScreenBufferW".}
proc ScrollWindow*(wnd: HWND; XAmount: int32; YAmount: int32; rect: LPRECT; 
                   lpClipRect: lpRECT): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "ScrollWindow".}
proc ScrollWindowEx*(wnd: HWND; dx: int32; dy: int32; prcScroll: lpRECT; 
                     prcClip: lpRECT; hrgnUpdate: HRGN; prcUpdate: LPRECT; 
                     flags: UINT): int32 {.stdcall, dynlib: "user32", 
    importc: "ScrollWindowEx".}
proc SendMessageTimeout*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM; 
                         fuFlags, uTimeout: UINT; lpdwResult: var DWORD): LRESULT {.
    stdcall, dynlib: "user32", importc: "SendMessageTimeoutA".}
proc SendMessageTimeoutA*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM; 
                          fuFlags, uTimeout: UINT; lpdwResult: var DWORD): LRESULT {.
    stdcall, dynlib: "user32", importc: "SendMessageTimeoutA".}
proc SendMessageTimeoutW*(wnd: HWND; Msg: UINT; wp: WPARAM; lp: LPARAM; 
                          fuFlags, uTimeout: UINT; lpdwResult: var DWORD): LRESULT {.
    stdcall, dynlib: "user32", importc: "SendMessageTimeoutW".}
proc SetCommConfig*(hCommDev: THandle; lpCC: TCommConfig; dwSize: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetCommConfig".}
proc SetCommState*(hFile: THandle; lpDCB: TDCB): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetCommState".}
proc SetCommTimeouts*(hFile: THandle; lpCommTimeouts: TCommTimeouts): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetCommTimeouts".}
proc SetConsoleCursorInfo*(hConsoleOutput: THandle; 
                           lpConsoleCursorInfo: TConsoleCursorInfo): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetConsoleCursorInfo".}
proc SetDIBColorTable*(DC: HDC; p2, p3: UINT; RGBQuadSTructs: pointer): UINT {.
    stdcall, dynlib: "gdi32", importc: "SetDIBColorTable".}
proc SetDIBits*(DC: HDC; Bitmap: HBITMAP; StartScan, NumScans: UINT; 
                Bits: Pointer; BitsInfo: var TBitmapInfo; Usage: UINT): int {.
    stdcall, dynlib: "gdi32", importc: "SetDIBits".}
proc SetEnhMetaFileBits*(para1: UINT; para2: pointer): HENHMETAFILE {.stdcall, 
    dynlib: "gdi32", importc: "SetEnhMetaFileBits".}
proc SetFileTime*(hFile: HANDLE; lpCreationTime: var FILETIME; 
                  lpLastAccessTime: var FILETIME; lpLastWriteTime: var FILETIME): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetFileTime".}
proc SetMenuItemInfo*(p1: HMENU; p2: UINT; p3: WINBOOL; p4: TMenuItemInfo): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetMenuItemInfoA".}
proc SetMenuItemInfoA*(p1: HMENU; p2: UINT; p3: WINBOOL; p4: TMenuItemInfoA): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetMenuItemInfoA".}
proc SetMetaFileBitsEx*(p1: UINT; p2: cstring): HMETAFILE {.stdcall, 
    dynlib: "gdi32", importc: "SetMetaFileBitsEx".}
proc SetNamedPipeHandleState*(hNamedPipe: THandle; lpMode: var DWORD; 
    lpMaxCollectionCount, lpCollectDataTimeout: Pointer): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SetNamedPipeHandleState".}
proc SetPaletteEntries*(Palette: HPALETTE; StartIndex, NumEntries: UINT; 
                        PaletteEntries: pointer): UINT {.stdcall, 
    dynlib: "gdi32", importc: "SetPaletteEntries".}
proc SetRect*(lprc: var TRect; xLeft, yTop, xRight, yBottom: int): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetRect".}
proc SetRectEmpty*(lprc: var TRect): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "SetRectEmpty".}
proc SetScrollInfo*(wnd: HWND; BarFlag: int; ScrollInfo: TScrollInfo; 
                    Redraw: WINBOOL): int {.stdcall, dynlib: "user32", 
    importc: "SetScrollInfo".}
proc SetSysColors*(cElements: int; lpaElements: pointer; lpaRgbValues: pointer): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SetSysColors".}
proc SetThreadContext*(hThread: THandle; lpContext: TContext): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetThreadContext".}
proc SetUserObjectSecurity*(hObj: THandle; pSIRequested: var DWORD; 
                            pSID: PSecurityDescriptor): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "SetUserObjectSecurity".}
proc SetWaitableTimer*(hTimer: THandle; lpDueTime: var TLargeInteger; 
                       lPeriod: int32; pfnCompletionRoutine: TFNTimerAPCRoutine; 
                       lpArgToCompletionRoutine: Pointer; fResume: WINBOOL): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SetWaitableTimer".}
proc SetWinMetaFileBits*(p1: UINT; p2: cstring; p3: HDC; p4: TMetaFilePict): HENHMETAFILE {.
    stdcall, dynlib: "gdi32", importc: "SetWinMetaFileBits".}
proc StartDoc*(DC: HDC; p2: TDocInfo): int {.stdcall, dynlib: "gdi32", 
    importc: "StartDocA".}
proc StartDocA*(DC: HDC; p2: TDocInfoA): int {.stdcall, dynlib: "gdi32", 
    importc: "StartDocA".}
proc SubtractRect*(lprcDst: var TRect; lprcSrc1, lprcSrc2: TRect): WINBOOL {.
    stdcall, dynlib: "user32", importc: "SubtractRect".}
proc SystemTimeToFileTime*(lpSystemTime: TSystemTime; lpFileTime: var TFileTime): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "SystemTimeToFileTime".}
proc SystemTimeToTzSpecificLocalTime*(lpTimeZoneInformation: PTimeZoneInformation; 
    lpUniversalTime, lpLocalTime: var TSystemTime): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "SystemTimeToTzSpecificLocalTime".}
proc TabbedTextOut*(hDC: HDC; X, Y: int; lpString: cstring; 
                    nCount, nTabPositions: int; lpnTabStopPositions: pointer; 
                    nTabOrigin: int): int32 {.stdcall, dynlib: "user32", 
    importc: "TabbedTextOutA".}
proc TabbedTextOutA*(hDC: HDC; X, Y: int; lpString: LPCSTR; 
                     nCount, nTabPositions: int; lpnTabStopPositions: pointer; 
                     nTabOrigin: int): int32 {.stdcall, dynlib: "user32", 
    importc: "TabbedTextOutA".}
proc TabbedTextOutW*(hDC: HDC; X, Y: int; lpString: LPWSTR; 
                     nCount, nTabPositions: int; lpnTabStopPositions: pointer; 
                     nTabOrigin: int): int32 {.stdcall, dynlib: "user32", 
    importc: "TabbedTextOutW".}
proc TrackMouseEvent*(EventTrack: var TTrackMouseEvent): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "TrackMouseEvent".}
proc TrackMouseEvent*(lpEventTrack: PTrackMouseEvent): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "TrackMouseEvent".}
proc TrackPopupMenu*(menu: HMENU; uFlags: UINT; x: int32; y: int32; 
                     nReserved: int32; wnd: HWND; prcRect: PRect): WINBOOL {.
    stdcall, dynlib: "user32", importc: "TrackPopupMenu".}
proc TransactNamedPipe*(hNamedPipe: THandle; lpInBuffer: Pointer; 
                        nInBufferSize: DWORD; lpOutBuffer: Pointer; 
                        nOutBufferSize: DWORD; lpBytesRead: var DWORD; 
                        lpOverlapped: POverlapped): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "TransactNamedPipe".}
proc TranslateAccelerator*(wnd: HWND; hAccTable: HACCEL; lpMsg: var TMsg): int {.
    stdcall, dynlib: "user32", importc: "TranslateAcceleratorA".}
proc TranslateAcceleratorA*(wnd: HWND; hAccTable: HACCEL; lpMsg: var TMsg): int {.
    stdcall, dynlib: "user32", importc: "TranslateAcceleratorA".}
proc TranslateAcceleratorW*(wnd: HWND; hAccTable: HACCEL; lpMsg: var TMsg): int {.
    stdcall, dynlib: "user32", importc: "TranslateAcceleratorW".}
proc TranslateCharsetInfo*(lpSrc: var DWORD; lpCs: var TCharsetInfo; 
                           dwFlags: DWORD): WINBOOL {.stdcall, dynlib: "gdi32", 
    importc: "TranslateCharsetInfo".}
proc TranslateMDISysAccel*(hWndClient: HWND; lpMsg: TMsg): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "TranslateMDISysAccel".}
proc TranslateMessage*(lpMsg: TMsg): WINBOOL {.stdcall, dynlib: "user32", 
    importc: "TranslateMessage".}
proc UnhandledExceptionFilter*(ExceptionInfo: TExceptionPointers): int32 {.
    stdcall, dynlib: "kernel32", importc: "UnhandledExceptionFilter".}
proc UnionRect*(lprcDst: var TRect; lprcSrc1, lprcSrc2: TRect): WINBOOL {.
    stdcall, dynlib: "user32", importc: "UnionRect".}
proc UnlockFileEx*(hFile: THandle; dwReserved, nNumberOfBytesToUnlockLow: DWORD; 
                   nNumberOfBytesToUnlockHigh: DWORD; lpOverlapped: TOverlapped): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "UnlockFileEx".}
proc VerFindFile*(uFlags: DWORD; 
                  szFileName, szWinDir, szAppDir, szCurDir: cstring; 
                  lpuCurDirLen: var UINT; szDestDir: cstring; 
                  lpuDestDirLen: var UINT): DWORD {.stdcall, dynlib: "version", 
    importc: "VerFindFileA".}
proc VerFindFileA*(uFlags: DWORD; 
                   szFileName, szWinDir, szAppDir, szCurDir: LPCSTR; 
                   lpuCurDirLen: var UINT; szDestDir: LPCSTR; 
                   lpuDestDirLen: var UINT): DWORD {.stdcall, dynlib: "version", 
    importc: "VerFindFileA".}
proc VerFindFileW*(uFlags: DWORD; 
                   szFileName, szWinDir, szAppDir, szCurDir: LPWSTR; 
                   lpuCurDirLen: var UINT; szDestDir: LPWSTR; 
                   lpuDestDirLen: var UINT): DWORD {.stdcall, dynlib: "version", 
    importc: "VerFindFileW".}
proc VerInstallFile*(uFlags: DWORD; szSrcFileName, szDestFileName, szSrcDir, 
                                    szDestDir, szCurDir, szTmpFile: cstring; 
                     lpuTmpFileLen: var UINT): DWORD {.stdcall, 
    dynlib: "version", importc: "VerInstallFileA".}
proc VerInstallFileA*(uFlags: DWORD; szSrcFileName, szDestFileName, szSrcDir, 
                                     szDestDir, szCurDir, szTmpFile: LPCSTR; 
                      lpuTmpFileLen: var UINT): DWORD {.stdcall, 
    dynlib: "version", importc: "VerInstallFileA".}
proc VerInstallFileW*(uFlags: DWORD; szSrcFileName, szDestFileName, szSrcDir, 
                                     szDestDir, szCurDir, szTmpFile: LPWSTR; 
                      lpuTmpFileLen: var UINT): DWORD {.stdcall, 
    dynlib: "version", importc: "VerInstallFileW".}
proc VerQueryValue*(pBlock: Pointer; lpSubBlock: cstring; 
                    lplpBuffer: var Pointer; puLen: var UINT): WINBOOL {.
    stdcall, dynlib: "version", importc: "VerQueryValueA".}
proc VerQueryValueA*(pBlock: Pointer; lpSubBlock: LPCSTR; 
                     lplpBuffer: var Pointer; puLen: var UINT): WINBOOL {.
    stdcall, dynlib: "version", importc: "VerQueryValueA".}
proc VerQueryValueW*(pBlock: Pointer; lpSubBlock: LPWSTR; 
                     lplpBuffer: var Pointer; puLen: var UINT): WINBOOL {.
    stdcall, dynlib: "version", importc: "VerQueryValueW".}
proc VirtualQuery*(lpAddress: Pointer; lpBuffer: var TMemoryBasicInformation; 
                   dwLength: DWORD): DWORD {.stdcall, dynlib: "kernel32", 
    importc: "VirtualQuery".}
proc VirtualQueryEx*(hProcess: THandle; lpAddress: Pointer; 
                     lpBuffer: var TMemoryBasicInformation; dwLength: DWORD): DWORD {.
    stdcall, dynlib: "kernel32", importc: "VirtualQueryEx".}
proc WaitCommEvent*(hFile: THandle; lpEvtMask: var DWORD; 
                    lpOverlapped: POverlapped): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WaitCommEvent".}
proc WaitForDebugEvent*(lpDebugEvent: var TDebugEvent; dwMilliseconds: DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WaitForDebugEvent".}
proc wglDescribeLayerPlane*(p1: HDC; p2, p3: int; p4: int; 
                            p5: var TLayerPlaneDescriptor): WINBOOL {.stdcall, 
    dynlib: "opengl32", importc: "wglDescribeLayerPlane".}
proc wglGetLayerPaletteEntries*(p1: HDC; p2, p3, p4: int; pcr: pointer): int {.
    stdcall, dynlib: "opengl32", importc: "wglGetLayerPaletteEntries".}
proc wglSetLayerPaletteEntries*(p1: HDC; p2, p3, p4: int; pcr: pointer): int {.
    stdcall, dynlib: "opengl32", importc: "wglSetLayerPaletteEntries".}
proc WNetAddConnection2*(lpNetResource: var TNetResource; 
                         lpPassword, lpUserName: cstring; dwFlags: DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetAddConnection2A".}
proc WNetAddConnection2A*(lpNetResource: var TNetResourceA; 
                          lpPassword, lpUserName: LPCSTR; dwFlags: DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetAddConnection2A".}
proc WNetAddConnection3*(hwndOwner: HWND; lpNetResource: var TNetResource; 
                         lpPassword, lpUserName: cstring; dwFlags: DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetAddConnection3A".}
proc WNetAddConnection3A*(hwndOwner: HWND; lpNetResource: var TNetResourceA; 
                          lpPassword, lpUserName: LPCSTR; dwFlags: DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetAddConnection3A".}
proc WNetConnectionDialog1*(lpConnDlgStruct: var TConnectDlgStruct): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1A".}
proc WNetConnectionDialog1A*(lpConnDlgStruct: var TConnectDlgStruct): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1A".}
proc WNetDisconnectDialog1*(lpConnDlgStruct: var TDiscDlgStruct): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetDisconnectDialog1A".}
proc WNetDisconnectDialog1A*(lpConnDlgStruct: var TDiscDlgStructA): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetDisconnectDialog1A".}
proc WNetEnumResource*(hEnum: THandle; lpcCount: var DWORD; lpBuffer: Pointer; 
                       lpBufferSize: var DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetEnumResourceA".}
proc WNetEnumResourceA*(hEnum: THandle; lpcCount: var DWORD; lpBuffer: Pointer; 
                        lpBufferSize: var DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetEnumResourceA".}
proc WNetEnumResourceW*(hEnum: THandle; lpcCount: var DWORD; lpBuffer: Pointer; 
                        lpBufferSize: var DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetEnumResourceW".}
proc WNetGetConnection*(lpLocalName: cstring; lpRemoteName: cstring; 
                        lpnLength: var DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetConnectionA".}
proc WNetGetConnectionA*(lpLocalName: LPCSTR; lpRemoteName: LPCSTR; 
                         lpnLength: var DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetConnectionA".}
proc WNetGetConnectionW*(lpLocalName: LPWSTR; lpRemoteName: LPWSTR; 
                         lpnLength: var DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetConnectionW".}
proc WNetGetLastError*(lpError: var DWORD; lpErrorBuf: cstring; 
                       nErrorBufSize: DWORD; lpNameBuf: cstring; 
                       nNameBufSize: DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetLastErrorA".}
proc WNetGetLastErrorA*(lpError: var DWORD; lpErrorBuf: LPCSTR; 
                        nErrorBufSize: DWORD; lpNameBuf: LPCSTR; 
                        nNameBufSize: DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetLastErrorA".}
proc WNetGetLastErrorW*(lpError: var DWORD; lpErrorBuf: LPWSTR; 
                        nErrorBufSize: DWORD; lpNameBuf: LPWSTR; 
                        nNameBufSize: DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetGetLastErrorW".}
proc WNetGetNetworkInformation*(lpProvider: cstring; 
                                lpNetInfoStruct: var TNetInfoStruct): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationA".}
proc WNetGetNetworkInformationA*(lpProvider: LPCSTR; 
                                 lpNetInfoStruct: var TNetInfoStruct): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationA".}
proc WNetGetNetworkInformationW*(lpProvider: LPWSTR; 
                                 lpNetInfoStruct: var TNetInfoStruct): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationW".}
proc WNetGetProviderName*(dwNetType: DWORD; lpProviderName: cstring; 
                          lpBufferSize: var DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetGetProviderNameA".}
proc WNetGetProviderNameA*(dwNetType: DWORD; lpProviderName: LPCSTR; 
                           lpBufferSize: var DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetGetProviderNameA".}
proc WNetGetProviderNameW*(dwNetType: DWORD; lpProviderName: LPWSTR; 
                           lpBufferSize: var DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetGetProviderNameW".}
proc WNetGetResourceParent*(lpNetResource: PNetResource; lpBuffer: Pointer; 
                            cbBuffer: var DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetGetResourceParentA".}
proc WNetGetResourceParentA*(lpNetResource: PNetResourceA; lpBuffer: Pointer; 
                             cbBuffer: var DWORD): DWORD {.stdcall, 
    dynlib: "mpr", importc: "WNetGetResourceParentA".}
proc WNetGetUniversalName*(lpLocalPath: cstring; dwInfoLevel: DWORD; 
                           lpBuffer: Pointer; lpBufferSize: var DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameA".}
proc WNetGetUniversalNameA*(lpLocalPath: LPCSTR; dwInfoLevel: DWORD; 
                            lpBuffer: Pointer; lpBufferSize: var DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameA".}
proc WNetGetUniversalNameW*(lpLocalPath: LPWSTR; dwInfoLevel: DWORD; 
                            lpBuffer: Pointer; lpBufferSize: var DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameW".}
proc WNetGetUser*(lpName: cstring; lpUserName: cstring; lpnLength: var DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUserA".}
proc WNetGetUserA*(lpName: LPCSTR; lpUserName: LPCSTR; lpnLength: var DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUserA".}
proc WNetGetUserW*(lpName: LPWSTR; lpUserName: LPWSTR; lpnLength: var DWORD): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetGetUserW".}
proc WNetOpenEnum*(dwScope, dwType, dwUsage: DWORD; lpNetResource: PNetResource; 
                   lphEnum: var THandle): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetOpenEnumA".}
proc WNetOpenEnumA*(dwScope, dwType, dwUsage: DWORD; 
                    lpNetResource: PNetResourceA; lphEnum: var THandle): DWORD {.
    stdcall, dynlib: "mpr", importc: "WNetOpenEnumA".}
proc WNetUseConnection*(hwndOwner: HWND; lpNetResource: var TNetResource; 
                        lpUserID: cstring; lpPassword: cstring; dwFlags: DWORD; 
                        lpAccessName: cstring; lpBufferSize: var DWORD; 
                        lpResult: var DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetUseConnectionA".}
proc WNetUseConnectionA*(hwndOwner: HWND; lpNetResource: var TNetResourceA; 
                         lpUserID: LPCSTR; lpPassword: LPCSTR; dwFlags: DWORD; 
                         lpAccessName: LPCSTR; lpBufferSize: var DWORD; 
                         lpResult: var DWORD): DWORD {.stdcall, dynlib: "mpr", 
    importc: "WNetUseConnectionA".}
proc WriteConsole*(hConsoleOutput: THandle; lpBuffer: Pointer; 
                   nNumberOfCharsToWrite: DWORD; 
                   lpNumberOfCharsWritten: var DWORD; lpReserved: Pointer): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleA".}
proc WriteConsoleA*(hConsoleOutput: THandle; lpBuffer: Pointer; 
                    nNumberOfCharsToWrite: DWORD; 
                    lpNumberOfCharsWritten: var DWORD; lpReserved: Pointer): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleA".}
proc WriteConsoleInput*(hConsoleInput: THandle; lpBuffer: TInputRecord; 
                        nLength: DWORD; lpNumberOfEventsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleInputA".}
proc WriteConsoleInputA*(hConsoleInput: THandle; lpBuffer: TInputRecord; 
                         nLength: DWORD; lpNumberOfEventsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleInputA".}
proc WriteConsoleInputW*(hConsoleInput: THandle; lpBuffer: TInputRecord; 
                         nLength: DWORD; lpNumberOfEventsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleInputW".}
proc WriteConsoleOutput*(hConsoleOutput: THandle; lpBuffer: Pointer; 
                         dwBufferSize, dwBufferCoord: TCoord; 
                         lpWriteRegion: var TSmallRect): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteConsoleOutputA".}
proc WriteConsoleOutputA*(hConsoleOutput: THandle; lpBuffer: Pointer; 
                          dwBufferSize, dwBufferCoord: TCoord; 
                          lpWriteRegion: var TSmallRect): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteConsoleOutputA".}
proc WriteConsoleOutputAttribute*(hConsoleOutput: THandle; lpAttribute: Pointer; 
                                  nLength: DWORD; dwWriteCoord: TCoord; 
                                  lpNumberOfAttrsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputAttribute".}
proc WriteConsoleOutputCharacter*(hConsoleOutput: THandle; lpCharacter: cstring; 
                                  nLength: DWORD; dwWriteCoord: TCoord; 
                                  lpNumberOfCharsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterA".}
proc WriteConsoleOutputCharacterA*(hConsoleOutput: THandle; lpCharacter: LPCSTR; 
                                   nLength: DWORD; dwWriteCoord: TCoord; 
                                   lpNumberOfCharsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterA".}
proc WriteConsoleOutputCharacterW*(hConsoleOutput: THandle; lpCharacter: LPWSTR; 
                                   nLength: DWORD; dwWriteCoord: TCoord; 
                                   lpNumberOfCharsWritten: var DWORD): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterW".}
proc WriteConsoleOutputW*(hConsoleOutput: THandle; lpBuffer: Pointer; 
                          dwBufferSize, dwBufferCoord: TCoord; 
                          lpWriteRegion: var TSmallRect): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteConsoleOutputW".}
proc WriteConsoleW*(hConsoleOutput: THandle; lpBuffer: Pointer; 
                    nNumberOfCharsToWrite: DWORD; 
                    lpNumberOfCharsWritten: var DWORD; lpReserved: Pointer): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteConsoleW".}
proc WriteFile*(hFile: THandle; Buffer: pointer; nNumberOfBytesToWrite: DWORD; 
                lpNumberOfBytesWritten: var DWORD; lpOverlapped: POverlapped): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WriteFile".}
proc WriteFileEx*(hFile: THandle; lpBuffer: Pointer; 
                  nNumberOfBytesToWrite: DWORD; lpOverlapped: TOverlapped; 
                  lpCompletionRoutine: FARPROC): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteFileEx".}
proc WritePrivateProfileStructA*(lpszSection, lpszKey: LPCSTR; lpStruct: LPVOID; 
                                 uSizeStruct: UINT; szFile: LPCSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStructA".}
proc WritePrivateProfileStructW*(lpszSection, lpszKey: LPCWSTR; 
                                 lpStruct: LPVOID; uSizeStruct: UINT; 
                                 szFile: LPCWSTR): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WritePrivateProfileStructW".}
proc WritePrivateProfileStruct*(lpszSection, lpszKey: LPCTSTR; lpStruct: LPVOID; 
                                uSizeStruct: UINT; szFile: LPCTSTR): WINBOOL {.
    stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStructA".}
proc WriteProcessMemory*(hProcess: THandle; lpBaseAddress: Pointer; 
                         lpBuffer: Pointer; nSize: DWORD; 
                         lpNumberOfBytesWritten: var DWORD): WINBOOL {.stdcall, 
    dynlib: "kernel32", importc: "WriteProcessMemory".}
proc SHFileOperation*(para1: var SHFILEOPSTRUCT): int32 {.stdcall, 
    dynlib: "shell32", importc: "SHFileOperation".}
proc AnsiNext*(lpsz: LPCSTR): LPSTR {.stdcall, dynlib: "user32", 
                                      importc: "CharNextA".}
proc AnsiPrev*(lpszStart: LPCSTR; lpszCurrent: LPCSTR): LPSTR {.stdcall, 
    dynlib: "user32", importc: "CharPrevA".}
proc AnsiToOem*(lpszSrc: LPCSTR; lpszDst: LPSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "CharToOemA".}
proc OemToAnsi*(lpszSrc: LPCSTR; lpszDst: LPSTR): WINBOOL {.stdcall, 
    dynlib: "user32", importc: "OemToCharA".}
proc AnsiToOemBuff*(lpszSrc: LPCSTR; lpszDst: LPSTR; cchDstLength: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "CharToOemBuffA".}
proc OemToAnsiBuff*(lpszSrc: LPCSTR; lpszDst: LPSTR; cchDstLength: DWORD): WINBOOL {.
    stdcall, dynlib: "user32", importc: "OemToCharBuffA".}
proc AnsiUpper*(lpsz: LPSTR): LPSTR {.stdcall, dynlib: "user32", 
                                      importc: "CharUpperA".}
proc AnsiUpperBuff*(lpsz: LPSTR; cchLength: DWORD): DWORD {.stdcall, 
    dynlib: "user32", importc: "CharUpperBuffA".}
proc AnsiLower*(lpsz: LPSTR): LPSTR {.stdcall, dynlib: "user32", 
                                      importc: "CharLowerA".}
proc AnsiLowerBuff*(lpsz: LPSTR; cchLength: DWORD): DWORD {.stdcall, 
    dynlib: "user32", importc: "CharLowerBuffA".}
proc FreeModule*(h: HINST): WINBOOL
proc MakeProcInstance*(p, i: pointer): pointer
proc FreeProcInstance*(p: pointer): pointer
proc GlobalDiscard*(hglbMem: HGLOBAL): HGLOBAL
proc LocalDiscard*(hlocMem: HLOCAL): HLOCAL
proc GetGValue*(rgb: int32): int8
proc RGB*(r, g, b: int): COLORREF
proc RGB*(r, g, b: range[0 .. 255]): COLORREF
proc PALETTERGB*(r, g, b: range[0 .. 255]): COLORREF
proc PALETTEINDEX*(i: DWORD): COLORREF
proc GetRValue*(rgb: COLORREF): int8
proc GetGValue*(rgb: COLORREF): int8
proc GetBValue*(rgb: COLORREF): int8
proc HIBYTE*(w: int32): int8
proc HIWORD*(L: int32): int16
proc LOBYTE*(w: int32): int8
proc LOWORD*(L: int32): int16
proc MAKELONG*(a, b: int32): LONG
proc MAKEWORD*(a, b: int32): int16
proc SEXT_HIWORD*(L: int32): int32
proc ZEXT_HIWORD*(L: int32): int32
proc SEXT_LOWORD*(L: int32): int32
proc INDEXTOOVERLAYMASK*(i: int32): int32
proc INDEXTOSTATEIMAGEMASK*(i: int32): int32
proc MAKEINTATOM*(i: int32): LPTSTR
proc MAKELANGID*(p, s: int32): int32
proc PRIMARYLANGID*(lgid: int32): int16
proc SUBLANGID*(lgid: int32): int32
proc MAKELCID*(lgid, srtid: int32): DWORD
proc MAKELPARAM*(L, h: int32): LPARAM
proc MAKELRESULT*(L, h: int32): LRESULT
proc MAKEROP4*(fore, back: int32): DWORD
proc MAKEWPARAM*(L, h: int32): WPARAM
proc GET_X_LPARAM*(lp: Windows.LParam): int32
proc GET_Y_LPARAM*(lp: Windows.LParam): int32
proc UNICODE_NULL*(): WCHAR
proc GetFirstChild*(h: HWND): HWND
proc GetNextSibling*(h: HWND): HWND
proc GetWindowID*(h: HWND): int32
proc SubclassWindow*(h: HWND; p: LONG): LONG
proc GET_WM_COMMAND_CMD*(w, L: int32): int32
Generated: 2014-03-11 21:26:34 UTC