changeset 128:07e8963537b7

removed tango_sys_win32 and added all necessary bindings to the dwt.internal.win32 WINTYPES and WINAPI modules
author Frank Benoit <benoit@tionex.de>
date Tue, 12 Feb 2008 21:25:00 +0100
parents fdc7e71c7331
children 18ca5d3c6dfc
files dwt/internal/ole/win32/COMAPI.d dwt/internal/ole/win32/DOCOBJ.d dwt/internal/win32/OS.d dwt/internal/win32/WINAPI.d dwt/internal/win32/WINTYPES.d dwt/ole/win32/OleControlSite.d dwt/ole/win32/OleFrame.d dwt/widgets/ColorDialog.d dwt/widgets/Combo.d dwt/widgets/Display.d dwt/widgets/Shell.d tango_sys_win32/CodePage.d tango_sys_win32/Macros.d tango_sys_win32/Process.d tango_sys_win32/Types.d tango_sys_win32/UserGdi.d
diffstat 16 files changed, 15608 insertions(+), 16106 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/internal/ole/win32/COMAPI.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/internal/ole/win32/COMAPI.d	Tue Feb 12 21:25:00 2008 +0100
@@ -270,7 +270,7 @@
 );
 LRESULT LresultFromObject(
   REFIID riid,
-  WPARAM_I wParam,
+  WPARAM wParam,
   LPUNKNOWN pAcc
 );
 
--- a/dwt/internal/ole/win32/DOCOBJ.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/internal/ole/win32/DOCOBJ.d	Tue Feb 12 21:25:00 2008 +0100
@@ -2,8 +2,8 @@
 
 //private import std.c.windows.windows;
 //private import std.c.windows.com;
-private import tango_sys_win32.Types;
 private import dwt.internal.win32.OS;
+private import dwt.internal.win32.WINTYPES;
 private import dwt.internal.ole.win32.extras;
 private import dwt.internal.ole.win32.OLEIDL;
 //private import dwt.internal.ole.win32.OAIDL;
--- a/dwt/internal/win32/OS.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/internal/win32/OS.d	Tue Feb 12 21:25:00 2008 +0100
@@ -3971,7 +3971,7 @@
 // Unicode/Ansi alias
 version(ANSI) {
     alias WINAPI.AddFontResourceExA AddFontResourceEx;
-    alias STDWIN.CallWindowProcA CallWindowProc;
+    alias WINAPI.CallWindowProcA CallWindowProc;
     alias WINAPI.CharLowerA CharLower;
     alias WINAPI.CharUpperA CharUpper;
     alias WINAPI.ChooseColorA ChooseColor;
@@ -4004,7 +4004,7 @@
     alias WINAPI.GetCharWidthA GetCharWidth;
     alias WINAPI.GetCharacterPlacementA GetCharacterPlacement;
     alias WINAPI.GetClassInfoA GetClassInfo;
-    alias STDWIN.GetClassNameA GetClassName;
+    alias WINAPI.GetClassNameA GetClassName;
     alias WINAPI.GetClipboardFormatNameA GetClipboardFormatName;
     alias WINAPI.GetKeyNameTextA GetKeyNameText;
     alias WINAPI.GetLocaleInfoA GetLocaleInfo;
@@ -4016,16 +4016,16 @@
     alias WINAPI.GetObjectA GetObject;
     alias WINAPI.GetOpenFileNameA GetOpenFileName;
     alias WINAPI.GetProfileStringA _GetProfileString;
-    alias STDWIN.GetPropA GetProp;
+    alias WINAPI.GetPropA GetProp;
     alias WINAPI.GetSaveFileNameA GetSaveFileName;
-    alias STDWIN.GetStartupInfoA GetStartupInfo;
+    alias WINAPI.GetStartupInfoA GetStartupInfo;
     alias WINAPI.GetTextExtentPoint32A GetTextExtentPoint32;
     alias WINAPI.GetTextMetricsA GetTextMetrics;
     alias WINAPI.GetVersionExA GetVersionEx;
     alias WINAPI.GetWindowLongA GetWindowLong;
     alias WINAPI.GetWindowTextA _GetWindowText;
     alias WINAPI.GetWindowTextLengthA GetWindowTextLength;
-    alias STDWIN.GlobalAddAtomA GlobalAddAtom;
+    alias WINAPI.GlobalAddAtomA GlobalAddAtom;
 //     alias WINAPI.ImmGetCompositionFontA ImmGetCompositionFont;
 //     alias WINAPI.ImmGetCompositionStringA ImmGetCompositionString;
 //     alias WINAPI.ImmSetCompositionFontA ImmSetCompositionFont;
@@ -4052,12 +4052,12 @@
     alias WINAPI.RegisterClipboardFormatA RegisterClipboardFormat;
     alias WINAPI.RegOpenKeyExA RegOpenKeyEx;
     alias WINAPI.RegisterWindowMessageA RegisterWindowMessage;
-    alias STDWIN.RemovePropA RemoveProp;
+    alias WINAPI.RemovePropA RemoveProp;
     alias WINAPI.SHBrowseForFolderA SHBrowseForFolder;
     alias WINAPI.SHGetPathFromIDListA SHGetPathFromIDList;
     alias WINAPI.SendMessageA SendMessage;
     alias WINAPI.SetMenuItemInfoA SetMenuItemInfo;
-    alias STDWIN.SetPropA SetProp;
+    alias WINAPI.SetPropA SetProp;
     alias WINAPI.SetWindowLongA SetWindowLong;
     alias WINAPI.SetWindowTextA SetWindowText;
     alias WINAPI.SetWindowsHookExA SetWindowsHookEx;
@@ -4070,7 +4070,7 @@
     alias WINAPI.VkKeyScanA VkKeyScan;
 }else{
     alias WINAPI.AddFontResourceExW AddFontResourceEx;
-    alias STDWIN.CallWindowProcW CallWindowProc;
+    alias WINAPI.CallWindowProcW CallWindowProc;
     alias WINAPI.CharLowerW CharLower;
     alias WINAPI.CharUpperW CharUpper;
     alias WINAPI.ChooseColorW ChooseColor;
@@ -4103,7 +4103,7 @@
     alias WINAPI.GetCharWidthW GetCharWidth;
     alias WINAPI.GetCharacterPlacementW GetCharacterPlacement;
     alias WINAPI.GetClassInfoW GetClassInfo;
-    alias STDWIN.GetClassNameW GetClassName;
+    alias WINAPI.GetClassNameW GetClassName;
     alias WINAPI.GetClipboardFormatNameW GetClipboardFormatName;
     alias WINAPI.GetKeyNameTextW GetKeyNameText;
     alias WINAPI.GetLocaleInfoW GetLocaleInfo;
@@ -4115,16 +4115,16 @@
     alias WINAPI.GetObjectW GetObject;
     alias WINAPI.GetOpenFileNameW GetOpenFileName;
     alias WINAPI.GetProfileStringW _GetProfileString;
-    alias STDWIN.GetPropW GetProp;
+    alias WINAPI.GetPropW GetProp;
     alias WINAPI.GetSaveFileNameW GetSaveFileName;
-    alias STDWIN.GetStartupInfoW GetStartupInfo;
+    alias WINAPI.GetStartupInfoW GetStartupInfo;
     alias WINAPI.GetTextExtentPoint32W GetTextExtentPoint32;
     alias WINAPI.GetTextMetricsW GetTextMetrics;
     alias WINAPI.GetVersionExW GetVersionEx;
     alias WINAPI.GetWindowLongW GetWindowLong;
     alias WINAPI.GetWindowTextW _GetWindowText;
     alias WINAPI.GetWindowTextLengthW GetWindowTextLength;
-    alias STDWIN.GlobalAddAtomW GlobalAddAtom;
+    alias WINAPI.GlobalAddAtomW GlobalAddAtom;
 //     alias WINAPI.ImmGetCompositionFontW ImmGetCompositionFont;
 //     alias WINAPI.ImmGetCompositionStringW ImmGetCompositionString;
 //     alias WINAPI.ImmSetCompositionFontW ImmSetCompositionFont;
@@ -4151,7 +4151,7 @@
     alias WINAPI.RegisterClipboardFormatW RegisterClipboardFormat;
     alias WINAPI.RegOpenKeyExW RegOpenKeyEx;
     alias WINAPI.RegisterWindowMessageW RegisterWindowMessage;
-    alias STDWIN.RemovePropW RemoveProp;
+    alias WINAPI.RemovePropW RemoveProp;
     alias WINAPI.SHBrowseForFolderW SHBrowseForFolder;
     alias WINAPI.SHGetPathFromIDListW SHGetPathFromIDList;
     alias WINAPI.SendMessageW SendMessage;
@@ -4159,7 +4159,7 @@
     alias WINAPI.SetWindowLongW SetWindowLong;
     alias WINAPI.SetWindowTextW SetWindowText;
     alias WINAPI.SetWindowsHookExW SetWindowsHookEx;
-    alias STDWIN.SetPropW SetProp;
+    alias WINAPI.SetPropW SetProp;
     alias WINAPI.ShellExecuteExW ShellExecuteEx;
     alias WINAPI.Shell_NotifyIconW Shell_NotifyIcon;
     alias WINAPI.StartDocW StartDoc;
@@ -4391,7 +4391,7 @@
 alias WINAPI.Arc Arc;
 alias WINAPI.BeginDeferWindowPos BeginDeferWindowPos;
 alias WINAPI.BeginPaint BeginPaint;
-alias STDWIN.BeginPath BeginPath;
+alias WINAPI.BeginPath BeginPath;
 alias WINAPI.BitBlt BitBlt;
 alias WINAPI.BringWindowToTop BringWindowToTop;
 alias WINAPI.CallNextHookEx CallNextHookEx;
@@ -4489,7 +4489,7 @@
 alias WINAPI.EndDoc EndDoc;
 alias WINAPI.EndPage EndPage;
 alias WINAPI.EndPaint EndPaint;
-alias STDWIN.EndPath EndPath;
+alias WINAPI.EndPath EndPath;
 alias WINAPI.EnumDisplayMonitors EnumDisplayMonitors;
 alias WINAPI.EnumFontFamiliesA EnumFontFamiliesA;
 alias WINAPI.EnumFontFamiliesExA EnumFontFamiliesExA;
@@ -4501,15 +4501,15 @@
 alias WINAPI.EnumSystemLocalesW EnumSystemLocalesW;
 alias WINAPI.EqualRect EqualRect;
 alias WINAPI.EqualRgn EqualRgn;
-alias STDWIN.ExcludeClipRect ExcludeClipRect;
+alias WINAPI.ExcludeClipRect ExcludeClipRect;
 alias WINAPI.ExpandEnvironmentStringsA ExpandEnvironmentStringsA;
 alias WINAPI.ExpandEnvironmentStringsW ExpandEnvironmentStringsW;
 alias WINAPI.ExtTextOutA ExtTextOutA;
 alias WINAPI.ExtTextOutW ExtTextOutW;
 alias WINAPI.ExtractIconExA ExtractIconExA;
 alias WINAPI.ExtractIconExW ExtractIconExW;
-alias STDWIN.ExtCreatePen ExtCreatePen;
-alias STDWIN.ExtCreateRegion ExtCreateRegion;
+alias WINAPI.ExtCreatePen ExtCreatePen;
+alias WINAPI.ExtCreateRegion ExtCreateRegion;
 alias WINAPI.FillRect FillRect;
 alias WINAPI.FindResourceA FindResourceA;
 alias WINAPI.FindResourceW FindResourceW;
@@ -4520,7 +4520,7 @@
 alias WINAPI.FreeLibrary FreeLibrary;
 alias WINAPI.GdiSetBatchLimit GdiSetBatchLimit;
 alias WINAPI.GetACP GetACP;
-alias STDWIN.GetAsyncKeyState GetAsyncKeyState;
+alias WINAPI.GetAsyncKeyState GetAsyncKeyState;
 alias WINAPI.GetActiveWindow GetActiveWindow;
 alias WINAPI.GetBkColor GetBkColor;
 alias WINAPI.GetCapture GetCapture;
@@ -4580,7 +4580,7 @@
 alias WINAPI.GetMessageA GetMessageA;
 alias WINAPI.GetMessagePos GetMessagePos;
 alias WINAPI.GetMessageTime GetMessageTime;
-alias STDWIN.GetMetaRgn GetMetaRgn;
+alias WINAPI.GetMetaRgn GetMetaRgn;
 alias WINAPI.GetMessageW GetMessageW;
 alias WINAPI.GetModuleFileNameA GetModuleFileNameA;
 alias WINAPI.GetModuleFileNameW GetModuleFileNameW;
@@ -4589,7 +4589,7 @@
 alias WINAPI.GetMonitorInfoA GetMonitorInfoA;
 alias WINAPI.GetMonitorInfoW GetMonitorInfoW;
 alias WINAPI.GetNearestPaletteIndex GetNearestPaletteIndex;
-alias STDWIN.GetPath GetPath;
+alias WINAPI.GetPath GetPath;
 alias WINAPI.GetObjectA GetObjectA;
 alias WINAPI.GetObjectW GetObjectW;
 alias WINAPI.GetOpenFileNameA GetOpenFileNameA;
@@ -4597,7 +4597,7 @@
 alias WINAPI.GetPaletteEntries GetPaletteEntries;
 alias WINAPI.GetParent GetParent;
 alias WINAPI.GetPixel GetPixel;
-alias STDWIN.GetPolyFillMode GetPolyFillMode;
+alias WINAPI.GetPolyFillMode GetPolyFillMode;
 alias WINAPI.GetProcAddress GetProcAddress;
 alias WINAPI.GetProcessHeap GetProcessHeap;
 alias WINAPI.GetProfileStringA GetProfileStringA;
@@ -4629,8 +4629,8 @@
 alias WINAPI.GetVersionExA GetVersionExA;
 alias WINAPI.GetVersionExW GetVersionExW;
 alias WINAPI.GetWindow GetWindow;
-alias STDWIN.GetWindowDC GetWindowDC;
-alias STDWIN.GetWindowOrgEx GetWindowOrgEx;
+alias WINAPI.GetWindowDC GetWindowDC;
+alias WINAPI.GetWindowOrgEx GetWindowOrgEx;
 alias WINAPI.GetWindowLongA GetWindowLongA;
 alias WINAPI.GetWindowLongW GetWindowLongW;
 alias WINAPI.GetWindowPlacement GetWindowPlacement;
@@ -4724,7 +4724,7 @@
 alias WINAPI.MsgWaitForMultipleObjectsEx MsgWaitForMultipleObjectsEx;
 alias WINAPI.MultiByteToWideChar MultiByteToWideChar;
 alias WINAPI.NotifyWinEvent NotifyWinEvent;
-alias STDWIN.OffsetRect OffsetRect;
+alias WINAPI.OffsetRect OffsetRect;
 alias WINAPI.OffsetRgn OffsetRgn;
 //alias WINAPI.OleInitialize OleInitialize;
 //alias WINAPI.OleUninitialize OleUninitialize;
@@ -4816,7 +4816,7 @@
 alias WINAPI.SetActiveWindow SetActiveWindow;
 alias WINAPI.SetBkColor SetBkColor;
 alias WINAPI.SetBkMode SetBkMode;
-alias STDWIN.SetBrushOrgEx SetBrushOrgEx;
+alias WINAPI.SetBrushOrgEx SetBrushOrgEx;
 alias WINAPI.SetCapture SetCapture;
 alias WINAPI.SetCaretPos SetCaretPos;
 alias WINAPI.SetClipboardData SetClipboardData;
@@ -4827,7 +4827,7 @@
 alias WINAPI.SetEvent SetEvent;
 alias WINAPI.SetFocus SetFocus;
 alias WINAPI.SetForegroundWindow SetForegroundWindow;
-alias STDWIN.SetGraphicsMode SetGraphicsMode;
+alias WINAPI.SetGraphicsMode SetGraphicsMode;
 alias WINAPI.SetLastError SetLastError;
 alias WINAPI.SetLayout SetLayout;
 alias WINAPI.SetMenu SetMenu;
@@ -4835,11 +4835,11 @@
 alias WINAPI.SetMenuInfo SetMenuInfo;
 alias WINAPI.SetMenuItemInfoA SetMenuItemInfoA;
 alias WINAPI.SetMenuItemInfoW SetMenuItemInfoW;
-alias STDWIN.SetMetaRgn SetMetaRgn;
+alias WINAPI.SetMetaRgn SetMetaRgn;
 alias WINAPI.SetPaletteEntries SetPaletteEntries;
 alias WINAPI.SetParent SetParent;
 alias WINAPI.SetPixel SetPixel;
-alias STDWIN.SetPolyFillMode SetPolyFillMode;
+alias WINAPI.SetPolyFillMode SetPolyFillMode;
 alias WINAPI.SetROP2 SetROP2;
 alias WINAPI.SetRect SetRect;
 alias WINAPI.SetRectRgn SetRectRgn;
@@ -4850,11 +4850,11 @@
 alias WINAPI.SetTimer SetTimer;
 alias WINAPI.SetWindowLongA SetWindowLongA;
 alias WINAPI.SetWindowLongW SetWindowLongW;
-alias STDWIN.SetWindowOrgEx SetWindowOrgEx;
+alias WINAPI.SetWindowOrgEx SetWindowOrgEx;
 alias WINAPI.SetWindowPlacement SetWindowPlacement;
 alias WINAPI.SetWindowPos SetWindowPos;
 alias WINAPI.SetWindowRgn SetWindowRgn;
-alias STDWIN.SetWorldTransform SetWorldTransform;
+alias WINAPI.SetWorldTransform SetWorldTransform;
 alias WINAPI.SetWindowTextA SetWindowTextA;
 alias WINAPI.SetWindowTextW SetWindowTextW;
 alias WINAPI.SetWindowsHookExA SetWindowsHookExA;
@@ -5071,7 +5071,7 @@
 
 } // END of OS
 
-private import tango_sys_win32.CodePage;
+import tango.sys.win32.CodePage : CodePage;
 private import tango.text.convert.Utf;
 private import tango.stdc.stringz;
 
@@ -5108,7 +5108,7 @@
         }
         char[] dst;
         dst.length = sc.length;
-        return toStringz( tango_sys_win32.CodePage.CodePage.into( sc, dst ));
+        return toStringz( tango.sys.win32.CodePage.CodePage.into( sc, dst ));
     }catch(Exception e){
         // do nothing
         ret = "";
--- a/dwt/internal/win32/WINAPI.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/internal/win32/WINAPI.d	Tue Feb 12 21:25:00 2008 +0100
@@ -7,8 +7,1749 @@
 module dwt.internal.win32.WINAPI;
 
 public import dwt.internal.win32.WINTYPES;
-import tango_sys_win32.Types;
-import STDWIN = tango_sys_win32.UserGdi;
+//import tango_sys_win32.Types;
+//import STDWIN = tango_sys_win32.UserGdi;
+
+
+extern(Windows)
+{
+//     BOOL GetWindowInfo(HWND, PWINDOWINFO);
+//     BOOL EnumDisplayMonitors(HDC, RECT*, MONITORENUMPROC, LPARAM);
+//     BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFO);
+//     WINBOOL GetBinaryTypeA(LPCSTR, LPDWORD);
+//     DWORD GetShortPathNameA(LPCSTR, LPSTR, DWORD);
+//     LPSTR GetEnvironmentStringsA();
+//     WINBOOL FreeEnvironmentStringsA(LPSTR);
+//     DWORD FormatMessageA(DWORD, LPCVOID, DWORD, DWORD, LPSTR, DWORD, VA_LIST*);
+//     HANDLE CreateMailslotA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
+//     int lstrcmpA(LPCSTR, LPCSTR);
+//     int lstrcmpiA(LPCSTR, LPCSTR);
+//     LPSTR lstrcpynA(LPSTR, LPCSTR, int);
+//     LPSTR lstrcpyA(LPSTR, LPCSTR);
+//     LPSTR lstrcatA(LPSTR, LPCSTR);
+//     int lstrlenA(LPCSTR);
+//     HANDLE CreateMutexA(LPSECURITY_ATTRIBUTES, WINBOOL, LPCSTR);
+//     HANDLE OpenMutexA(DWORD, WINBOOL, LPCSTR);
+//     HANDLE CreateEventA(LPSECURITY_ATTRIBUTES, WINBOOL, WINBOOL, LPCSTR);
+//     HANDLE OpenEventA(DWORD, WINBOOL, LPCSTR);
+//     HANDLE CreateSemaphoreA(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCSTR);
+//     HANDLE OpenSemaphoreA(DWORD, WINBOOL, LPCSTR);
+//     HANDLE CreateFileMappingA(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCSTR);
+//     HANDLE OpenFileMappingA(DWORD, WINBOOL, LPCSTR);
+//     DWORD GetLogicalDriveStringsA(DWORD, LPSTR);
+    HINST LoadLibraryA(LPCSTR);
+//     HINST LoadLibraryExA(LPCSTR, HANDLE, DWORD);
+//     DWORD GetModuleFileNameA(HINST, LPSTR, DWORD);
+    HMODULE GetModuleHandleA(LPCSTR);
+//     void FatalAppExitA(UINT);
+//     LPSTR GetCommandLineA();
+//     DWORD GetEnvironmentVariableA(LPCSTR, LPSTR, DWORD);
+//     WINBOOL SetEnvironmentVariableA(LPCSTR, LPCSTR);
+//     DWORD ExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD);
+//     void OutputDebugStringA(LPCSTR);
+//     HRSRC FindResourceA(HINST, LPCSTR, LPCSTR);
+//     HRSRC FindResourceExA(HINST, LPCSTR, LPCSTR, ushort);
+//     WINBOOL EnumResourceTypesA(HINST, ENUMRESTYPEPROC, LONG);
+//     WINBOOL EnumResourceNamesA(HINST, LPCSTR, ENUMRESNAMEPROC, LONG);
+//     WINBOOL EnumResourceLanguagesA(HINST, LPCSTR, LPCSTR, ENUMRESLANGPROC, LONG);
+//     HANDLE BeginUpdateResourceA(LPCSTR, WINBOOL);
+//     WINBOOL UpdateResourceA(HANDLE, LPCSTR, LPCSTR, ushort, LPVOID, DWORD);
+//     WINBOOL EndUpdateResourceA(HANDLE, WINBOOL);
+//     ATOM GlobalAddAtomA(LPCSTR);
+//     ATOM GlobalFindAtomA(LPCSTR);
+//     UINT GlobalGetAtomNameA(ATOM, LPSTR, int);
+//     ATOM AddAtomA(LPCSTR);
+//     ATOM FindAtomA(LPCSTR);
+//     UINT GetAtomNameA(ATOM, LPSTR, int);
+//     UINT GetProfileIntA(LPCSTR, LPCSTR, INT);
+//     DWORD GetProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD);
+//     WINBOOL WriteProfileStringA(LPCSTR, LPCSTR, LPCSTR);
+//     DWORD GetProfileSectionA(LPCSTR, LPSTR, DWORD);
+//     WINBOOL WriteProfileSectionA(LPCSTR, LPCSTR);
+//     UINT GetPrivateProfileIntA(LPCSTR, LPCSTR, INT, LPCSTR);
+//     DWORD GetPrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD, LPCSTR);
+//     WINBOOL WritePrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPCSTR);
+//     DWORD GetPrivateProfileSectionA(LPCSTR, LPSTR, DWORD, LPCSTR);
+//     WINBOOL WritePrivateProfileSectionA(LPCSTR, LPCSTR, LPCSTR);
+//     UINT GetDriveTypeA(LPCSTR);
+//     UINT GetSystemDirectoryA(LPSTR, UINT);
+//     DWORD GetTempPathA(DWORD, LPSTR);
+//     UINT GetTempFileNameA(LPCSTR, LPCSTR, UINT, LPSTR);
+//     UINT GetWindowsDirectoryA(LPSTR, UINT);
+//     WINBOOL SetCurrentDirectoryA(LPCSTR);
+//     DWORD GetCurrentDirectoryA(DWORD, LPSTR);
+//     WINBOOL GetDiskFreeSpaceA(LPCSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
+//     WINBOOL CreateDirectoryA(LPCSTR, LPSECURITY_ATTRIBUTES);
+//     WINBOOL CreateDirectoryExA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
+//     WINBOOL RemoveDirectoryA(LPCSTR);
+//     DWORD GetFullPathNameA(LPCSTR, DWORD, LPSTR, LPSTR*);
+//     WINBOOL DefineDosDeviceA(DWORD, LPCSTR, LPCSTR);
+//     DWORD QueryDosDeviceA(LPCSTR, LPSTR, DWORD);
+    HANDLE CreateFileA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
+//     WINBOOL SetFileAttributesA(LPCSTR, DWORD);
+//     DWORD GetFileAttributesA(LPCSTR);
+//     BOOL GetFileAttributesExA(LPCSTR, DWORD, WIN32_FILE_ATTRIBUTE_DATA*);
+//     DWORD GetCompressedFileSizeA(LPCSTR, LPDWORD);
+//     WINBOOL DeleteFileA(LPCSTR);
+//     DWORD SearchPathA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPSTR);
+//     WINBOOL CopyFileA(LPCSTR, LPCSTR, WINBOOL);
+//     WINBOOL MoveFileA(LPCSTR, LPCSTR);
+//     WINBOOL MoveFileExA(LPCSTR, LPCSTR, DWORD);
+//     HANDLE CreateNamedPipeA(LPCSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
+//     WINBOOL GetNamedPipeHandleStateA(HANDLE, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPSTR, DWORD);
+//     WINBOOL CallNamedPipeA(LPCSTR, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, DWORD);
+//     WINBOOL WaitNamedPipeA(LPCSTR, DWORD);
+//     WINBOOL SetVolumeLabelA(LPCSTR, LPCSTR);
+//     WINBOOL GetVolumeInformationA(LPCSTR, LPSTR, DWORD, LPDWORD, LPDWORD, LPDWORD, LPSTR, DWORD);
+//     WINBOOL ClearEventLogA(HANDLE, LPCSTR);
+//     WINBOOL BackupEventLogA(HANDLE, LPCSTR);
+//     HANDLE OpenEventLogA(LPCSTR, LPCSTR);
+//     HANDLE RegisterEventSourceA(LPCSTR, LPCSTR);
+//     HANDLE OpenBackupEventLogA(LPCSTR, LPCSTR);
+//     WINBOOL ReadEventLogA(HANDLE, DWORD, DWORD, LPVOID, DWORD, LPDWORD, LPDWORD);
+//     WINBOOL ReportEventA(HANDLE, ushort, ushort, DWORD, PSID, ushort, DWORD, LPCSTR*, LPVOID);
+//     WINBOOL AccessCheckAndAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, WINBOOL, LPDWORD, LPBOOL, LPBOOL);
+//     WINBOOL ObjectOpenAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, WINBOOL, WINBOOL, LPBOOL);
+//     WINBOOL ObjectPrivilegeAuditAlarmA(LPCSTR, LPVOID, HANDLE, DWORD, PPRIVILEGE_SET, WINBOOL);
+//     WINBOOL ObjectCloseAuditAlarmA(LPCSTR, LPVOID, WINBOOL);
+//     WINBOOL PrivilegedServiceAuditAlarmA(LPCSTR, LPCSTR, HANDLE, PPRIVILEGE_SET, WINBOOL);
+//     WINBOOL SetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
+//     WINBOOL GetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
+//     HANDLE FindFirstChangeNotificationA(LPCSTR, WINBOOL, DWORD);
+//     WINBOOL IsBadStringPtrA(LPCSTR, UINT);
+//     WINBOOL LookupAccountSidA(LPCSTR, PSID, LPSTR, LPDWORD, LPSTR, LPDWORD, PSID_NAME_USE);
+//     WINBOOL LookupAccountNameA(LPCSTR, LPCSTR, PSID, LPDWORD, LPSTR, LPDWORD, PSID_NAME_USE);
+//     WINBOOL LookupPrivilegeValueA(LPCSTR, LPCSTR, PLUID);
+//     WINBOOL LookupPrivilegeNameA(LPCSTR, PLUID, LPSTR, LPDWORD);
+//     WINBOOL LookupPrivilegeDisplayNameA(LPCSTR, LPCSTR, LPSTR, LPDWORD, LPDWORD);
+//     WINBOOL BuildCommDCBA(LPCSTR, LPDCB);
+//     WINBOOL BuildCommDCBAndTimeoutsA(LPCSTR, LPDCB, LPCOMMTIMEOUTS);
+//     WINBOOL CommConfigDialogA(LPCSTR, HWND, LPCOMMCONFIG);
+//     WINBOOL GetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, LPDWORD);
+//     WINBOOL SetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, DWORD);
+//     WINBOOL GetComputerNameA(LPSTR, LPDWORD);
+//     WINBOOL SetComputerNameA(LPCSTR);
+//     WINBOOL GetUserNameA(LPSTR, LPDWORD);
+//     int wvsprintfA(LPSTR, LPCSTR, VA_LIST*);
+//     HKL LoadKeyboardLayoutA(LPCSTR, UINT);
+//     WINBOOL GetKeyboardLayoutNameA(LPSTR);
+//     HDESK CreateDesktopA(LPSTR, LPSTR, LPDEVMODE, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
+//     HDESK OpenDesktopA(LPSTR, DWORD, WINBOOL, DWORD);
+//     WINBOOL EnumDesktopsA(HWINSTA, DESKTOPENUMPROC, LPARAM);
+//     HWINSTA CreateWindowStationA(LPSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
+//     HWINSTA OpenWindowStationA(LPSTR, WINBOOL, DWORD);
+//     WINBOOL EnumWindowStationsA(ENUMWINDOWSTATIONPROC, LPARAM);
+//     WINBOOL GetUserObjectInformationA(HANDLE, int, PVOID, DWORD, LPDWORD);
+//     WINBOOL SetUserObjectInformationA(HANDLE, int, PVOID, DWORD);
+//     UINT RegisterWindowMessageA(LPCSTR);
+    WINBOOL GetMessageA(LPMSG, HWND, UINT, UINT);
+//     LONG DispatchMessageA(LPMSG);
+    WINBOOL PeekMessageA(LPMSG, HWND, UINT, UINT, UINT);
+//     LRESULT SendMessageA(HWND, UINT, WPARAM, LPARAM);
+//     LRESULT SendMessageTimeoutA(HWND, UINT, WPARAM, LPARAM, UINT, UINT, LPDWORD);
+//     WINBOOL SendNotifyMessageA(HWND, UINT, WPARAM, LPARAM);
+//     WINBOOL SendMessageCallbackA(HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD);
+//     WINBOOL PostMessageA(HWND, UINT, WPARAM, LPARAM);
+//     WINBOOL PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM);
+    LRESULT DefWindowProcA(HWND, UINT, WPARAM, LPARAM);
+//     LRESULT CallWindowProcA(WNDPROC, HWND, UINT, WPARAM, LPARAM);
+//     ATOM RegisterClassA(LPWNDCLASS);
+//     WINBOOL UnregisterClassA(LPCSTR, HINST);
+//     WINBOOL GetClassInfoA(HINST, LPCSTR, LPWNDCLASS);
+//     ATOM RegisterClassExA(LPWNDCLASSEX);
+//     WINBOOL GetClassInfoExA(HINST, LPCSTR, LPWNDCLASSEX);
+    HWND CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINST, LPVOID);
+//     HWND CreateDialogParamA(HINST, LPCSTR, HWND, DLGPROC, LPARAM);
+//     HWND CreateDialogIndirectParamA(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
+//     int DialogBoxParamA(HINST, LPCSTR, HWND, DLGPROC, LPARAM);
+//     int DialogBoxIndirectParamA(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
+//     WINBOOL SetDlgItemTextA(HWND, int, LPCSTR);
+//     UINT GetDlgItemTextA(HWND, int, LPSTR, int);
+//     LONG SendDlgItemMessageA(HWND, int, UINT, WPARAM, LPARAM);
+//     LRESULT DefDlgProcA(HWND, UINT, WPARAM, LPARAM);
+//     WINBOOL CallMsgFilterA(LPMSG, int);
+//     UINT RegisterClipboardFormatA(LPCSTR);
+//     int GetClipboardFormatNameA(UINT, LPSTR, int);
+//     WINBOOL CharToOemA(LPCSTR, LPSTR);
+//     WINBOOL OemToCharA(LPCSTR, LPSTR);
+//     WINBOOL CharToOemBuffA(LPCSTR, LPSTR, DWORD);
+//     WINBOOL OemToCharBuffA(LPCSTR, LPSTR, DWORD);
+//     LPSTR CharUpperA(LPSTR);
+//     DWORD CharUpperBuffA(LPSTR, DWORD);
+//     LPSTR CharLowerA(LPSTR);
+//     DWORD CharLowerBuffA(LPSTR, DWORD);
+//     LPSTR CharNextA(LPCSTR);
+//     LPSTR CharPrevA(LPCSTR, LPCSTR);
+//     WINBOOL IsCharAlphaA(char);
+//     WINBOOL IsCharAlphaNumericA(char);
+//     WINBOOL IsCharUpperA(char);
+//     WINBOOL IsCharLowerA(char);
+//     int GetKeyNameTextA(LONG, LPSTR, int);
+//     SHORT VkKeyScanA(char);
+//     SHORT VkKeyScanExA(char, HKL);
+//     UINT MapVirtualKeyA(UINT, UINT);
+//     UINT MapVirtualKeyExA(UINT, UINT, HKL);
+//     HACCEL LoadAcceleratorsA(HINST, LPCSTR);
+//     HACCEL CreateAcceleratorTableA(LPACCEL, int);
+//     int CopyAcceleratorTableA(HACCEL, LPACCEL, int);
+//     int TranslateAcceleratorA(HWND, HACCEL, LPMSG);
+//     HMENU LoadMenuA(HINST, LPCSTR);
+//     HMENU LoadMenuIndirectA(LPMENUTEMPLATE);
+//     WINBOOL ChangeMenuA(HMENU, UINT, LPCSTR, UINT, UINT);
+//     int GetMenuStringA(HMENU, UINT, LPSTR, int, UINT);
+//     WINBOOL InsertMenuA(HMENU, UINT, UINT, UINT, LPCSTR);
+//     WINBOOL AppendMenuA(HMENU, UINT, UINT, LPCSTR);
+//     WINBOOL ModifyMenuA(HMENU, UINT, UINT, UINT, LPCSTR);
+//     WINBOOL InsertMenuItemA(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
+//     WINBOOL GetMenuItemInfoA(HMENU, UINT, WINBOOL, LPMENUITEMINFO);
+//     WINBOOL SetMenuItemInfoA(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
+//     int DrawTextA(HDC, LPCSTR, int, LPRECT, UINT);
+//     int DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
+//     WINBOOL GrayStringA(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int);
+//     WINBOOL DrawStateA(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
+//     LONG TabbedTextOutA(HDC, int, int, LPCSTR, int, int, LPINT, int);
+//     DWORD GetTabbedTextExtentA(HDC, LPCSTR, int, int, LPINT);
+//     WINBOOL SetPropA(HWND, LPCSTR, HANDLE);
+//     HANDLE GetPropA(HWND, LPCSTR);
+//     HANDLE RemovePropA(HWND, LPCSTR);
+//     int EnumPropsExA(HWND, PROPENUMPROCEX, LPARAM);
+//     int EnumPropsA(HWND, PROPENUMPROC);
+//     WINBOOL SetWindowTextA(HWND, LPCSTR);
+//     int GetWindowTextA(HWND, LPSTR, int);
+//     int GetWindowTextLengthA(HWND);
+    int MessageBoxA(HWND, LPCSTR, LPCSTR, UINT);
+//     int MessageBoxExA(HWND, LPCSTR, LPCSTR, UINT, ushort);
+//     int MessageBoxIndirectA(LPMSGBOXPARAMS);
+//     LONG GetWindowLongA(HWND, int);
+//     LONG SetWindowLongA(HWND, int, LONG);
+//     DWORD GetClassLongA(HWND, int);
+//     DWORD SetClassLongA(HWND, int, LONG);
+//     HWND FindWindowA(LPCSTR, LPCSTR);
+//     HWND FindWindowExA(HWND, HWND, LPCSTR, LPCSTR);
+//     int GetClassNameA(HWND, LPSTR, int);
+//     HHOOK SetWindowsHookExA(int, HOOKPROC, HINST, DWORD);
+//     HBITMAP LoadBitmapA(HINST, LPCSTR);
+    HCURSOR LoadCursorA(HINST, LPCSTR);
+//     HCURSOR LoadCursorFromFileA(LPCSTR);
+    HICON LoadIconA(HINST, LPCSTR);
+//     HANDLE LoadImageA(HINST, LPCSTR, UINT, int, int, UINT);
+//     int LoadStringA(HINST, UINT, LPSTR, int);
+//     WINBOOL IsDialogMessageA(HWND, LPMSG);
+//     int DlgDirListA(HWND, LPSTR, int, int, UINT);
+//     WINBOOL DlgDirSelectExA(HWND, LPSTR, int, int);
+//     int DlgDirListComboBoxA(HWND, LPSTR, int, int, UINT);
+//     WINBOOL DlgDirSelectComboBoxExA(HWND, LPSTR, int, int);
+//     LRESULT DefFrameProcA(HWND, HWND, UINT, WPARAM, LPARAM);
+//     LRESULT DefMDIChildProcA(HWND, UINT, WPARAM, LPARAM);
+//     HWND CreateMDIWindowA(LPSTR, LPSTR, DWORD, int, int, int, int, HWND, HINST, LPARAM);
+//     WINBOOL WinHelpA(HWND, LPCSTR, UINT, DWORD);
+//     LONG ChangeDisplaySettingsA(LPDEVMODE, DWORD);
+//     WINBOOL EnumDisplaySettingsA(LPCSTR, DWORD, LPDEVMODE);
+//     WINBOOL SystemParametersInfoA(UINT, UINT, PVOID, UINT);
+//     int AddFontResourceA(LPCSTR);
+//     HMETAFILE CopyMetaFileA(HMETAFILE, LPCSTR);
+//     HFONT CreateFontIndirectA(LPLOGFONT);
+//     HDC CreateICA(LPCSTR, LPCSTR, LPCSTR, LPDEVMODE);
+//     HDC CreateMetaFileA(LPCSTR);
+//     WINBOOL CreateScalableFontResourceA(DWORD, LPCSTR, LPCSTR, LPCSTR);
+//     int EnumFontFamiliesExA(HDC, LPLOGFONT, FONTENUMEXPROC, LPARAM, DWORD);
+//     int EnumFontFamiliesA(HDC, LPCSTR, FONTENUMPROC, LPARAM);
+//     int EnumFontsA(HDC, LPCSTR, ENUMFONTSPROC, LPARAM);
+//     WINBOOL GetCharWidthA(HDC, UINT, UINT, LPINT);
+//     WINBOOL GetCharWidth32A(HDC, UINT, UINT, LPINT);
+//     WINBOOL GetCharWidthFloatA(HDC, UINT, UINT, PFLOAT);
+//     WINBOOL GetCharABCWidthsA(HDC, UINT, UINT, LPABC);
+//     WINBOOL GetCharABCWidthsFloatA(HDC, UINT, UINT, LPABCFLOAT);
+//     DWORD GetGlyphOutlineA(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, PMAT2);
+//     HMETAFILE GetMetaFileA(LPCSTR);
+//     UINT GetOutlineTextMetricsA(HDC, UINT, LPOUTLINETEXTMETRIC);
+//     WINBOOL GetTextExtentPointA(HDC, LPCSTR, int, LPSIZE);
+//     WINBOOL GetTextExtentPoint32A(HDC, LPCSTR, int, LPSIZE);
+//     WINBOOL GetTextExtentExPointA(HDC, LPCSTR, int, int, LPINT, LPINT, LPSIZE);
+//     DWORD GetCharacterPlacementA(HDC, LPCSTR, int, int, LPGCP_RESULTS, DWORD);
+//     HDC ResetDCA(HDC, LPDEVMODE);
+//     WINBOOL RemoveFontResourceA(LPCSTR);
+//     HENHMETAFILE CopyEnhMetaFileA(HENHMETAFILE, LPCSTR);
+//     HDC CreateEnhMetaFileA(HDC, LPCSTR, LPRECT, LPCSTR);
+//     HENHMETAFILE GetEnhMetaFileA(LPCSTR);
+//     UINT GetEnhMetaFileDescriptionA(HENHMETAFILE, UINT, LPSTR);
+    WINBOOL GetTextMetricsA(HDC, LPTEXTMETRIC);
+//     int StartDocA(HDC, PDOCINFO);
+    int GetObjectA(HGDIOBJ, int, LPVOID);
+//     WINBOOL TextOutA(HDC, int, int, LPCSTR, int);
+//     WINBOOL ExtTextOutA(HDC, int, int, UINT, LPRECT, LPCSTR, UINT, LPINT);
+//     WINBOOL PolyTextOutA(HDC, PPOLYTEXT, int);
+//     int GetTextFaceA(HDC, int, LPSTR);
+//     DWORD GetKerningPairsA(HDC, DWORD, LPKERNINGPAIR);
+//     HCOLORSPACE CreateColorSpaceA(LPLOGCOLORSPACE);
+//     WINBOOL GetLogColorSpaceA(HCOLORSPACE, LPLOGCOLORSPACE, DWORD);
+//     WINBOOL GetICMProfileA(HDC, DWORD, LPSTR);
+//     WINBOOL SetICMProfileA(HDC, LPSTR);
+//     WINBOOL UpdateICMRegKeyA(DWORD, DWORD, LPSTR, UINT);
+//     int EnumICMProfilesA(HDC, ICMENUMPROC, LPARAM);
+//     int PropertySheetA(LPCPROPSHEETHEADER);
+//     HIMAGELIST ImageList_LoadImageA(HINST, LPCSTR, int, int, COLORREF, UINT, UINT);
+//     HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT);
+//     void DrawStatusTextA(HDC, LPRECT, LPCSTR);
+//     WINBOOL GetOpenFileNameA(LPOPENFILENAME);
+//     WINBOOL GetSaveFileNameA(LPOPENFILENAME);
+//     int GetFileTitleA(LPCSTR, LPSTR, ushort);
+//     WINBOOL ChooseColorA(LPCHOOSECOLOR);
+//     HWND FindTextA(LPFINDREPLACE);
+//     HWND ReplaceTextA(LPFINDREPLACE);
+//     WINBOOL ChooseFontA(LPCHOOSEFONT);
+//     WINBOOL PrintDlgA(LPPRINTDLG);
+//     WINBOOL PageSetupDlgA(LPPAGESETUPDLG);
+//     WINBOOL CreateProcessA(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
+//     void GetStartupInfoA(LPSTARTUPINFO);
+//     HANDLE FindFirstFileA(LPCSTR, LPWIN32_FIND_DATA);
+//     WINBOOL FindNextFileA(HANDLE, LPWIN32_FIND_DATA);
+//     WINBOOL GetVersionExA(LPOSVERSIONINFO);
+//     HDC CreateDCA(LPCSTR, LPCSTR, LPCSTR, PDEVMODE);
+//     DWORD VerInstallFileA(DWORD, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, PUINT);
+//     DWORD GetFileVersionInfoSizeA(LPSTR, LPDWORD);
+//     WINBOOL GetFileVersionInfoA(LPSTR, DWORD, DWORD, LPVOID);
+//     DWORD VerLanguageNameA(DWORD, LPSTR, DWORD);
+//     WINBOOL VerQueryValueA(LPVOID, LPSTR, LPVOID, PUINT);
+//     DWORD VerFindFileA(DWORD, LPSTR, LPSTR, LPSTR, LPSTR, PUINT, LPSTR, PUINT);
+//     LONG RegConnectRegistryA(LPSTR, HKEY, PHKEY);
+//     LONG RegCreateKeyA(HKEY, LPCSTR, PHKEY);
+//     LONG RegCreateKeyExA(HKEY, LPCSTR, DWORD, LPSTR, DWORD, REGSAM, LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD);
+//     LONG RegDeleteKeyA(HKEY, LPCSTR);
+//     LONG RegDeleteValueA(HKEY, LPCSTR);
+//     LONG RegEnumKeyA(HKEY, DWORD, LPSTR, DWORD);
+//     LONG RegEnumKeyExA(HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPSTR, LPDWORD, PFILETIME);
+//     LONG RegEnumValueA(HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
+//     LONG RegLoadKeyA(HKEY, LPCSTR, LPCSTR);
+//     LONG RegOpenKeyA(HKEY, LPCSTR, PHKEY);
+//     LONG RegOpenKeyExA(HKEY, LPCSTR, DWORD, REGSAM, PHKEY);
+//     LONG RegQueryInfoKeyA(HKEY, LPSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, PFILETIME);
+//     LONG RegQueryValueA(HKEY, LPCSTR, LPSTR, PLONG);
+//     LONG RegQueryMultipleValuesA(HKEY, PVALENT, DWORD, LPSTR, LPDWORD);
+//     LONG RegQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
+//     LONG RegReplaceKeyA(HKEY, LPCSTR, LPCSTR, LPCSTR);
+//     LONG RegRestoreKeyA(HKEY, LPCSTR, DWORD);
+//     LONG RegSaveKeyA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES);
+//     LONG RegSetValueA(HKEY, LPCSTR, DWORD, LPCSTR, DWORD);
+//     LONG RegSetValueExA(HKEY, LPCSTR, DWORD, DWORD, LPBYTE, DWORD);
+//     LONG RegUnLoadKeyA(HKEY, LPCSTR);
+//     WINBOOL InitiateSystemShutdownA(LPSTR, LPSTR, DWORD, WINBOOL, WINBOOL);
+//     WINBOOL AbortSystemShutdownA(LPSTR);
+//     int CompareStringA(LCID, DWORD, LPCSTR, int, LPCSTR, int);
+//     int LCMapStringA(LCID, DWORD, LPCSTR, int, LPSTR, int);
+//     int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int);
+//     WINBOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR);
+//     int GetTimeFormatA(LCID, DWORD, LPSYSTEMTIME, LPCSTR, LPSTR, int);
+//     int GetDateFormatA(LCID, DWORD, LPSYSTEMTIME, LPCSTR, LPSTR, int);
+//     int GetNumberFormatA(LCID, DWORD, LPCSTR, PNUMBERFMT, LPSTR, int);
+//     int GetCurrencyFormatA(LCID, DWORD, LPCSTR, PCURRENCYFMT, LPSTR, int);
+//     WINBOOL EnumCalendarInfoA(CALINFO_ENUMPROC, LCID, CALID, CALTYPE);
+//     WINBOOL EnumTimeFormatsA(TIMEFMT_ENUMPROC, LCID, DWORD);
+//     WINBOOL EnumDateFormatsA(DATEFMT_ENUMPROC, LCID, DWORD);
+//     WINBOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD);
+//     WINBOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD);
+//     int FoldStringA(DWORD, LPCSTR, int, LPSTR, int);
+//     WINBOOL EnumSystemLocalesA(LOCALE_ENUMPROC, DWORD);
+//     WINBOOL EnumSystemCodePagesA(CODEPAGE_ENUMPROC, DWORD);
+//     WINBOOL PeekConsoleInputA(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
+//     WINBOOL ReadConsoleInputA(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
+//     WINBOOL WriteConsoleInputA(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
+//     WINBOOL ReadConsoleOutputA(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
+//     WINBOOL WriteConsoleOutputA(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
+//     WINBOOL ReadConsoleOutputCharacterA(HANDLE, LPSTR, DWORD, COORD, LPDWORD);
+//     WINBOOL WriteConsoleOutputCharacterA(HANDLE, LPCSTR, DWORD, COORD, LPDWORD);
+//     WINBOOL FillConsoleOutputCharacterA(HANDLE, char, DWORD, COORD, LPDWORD);
+//     WINBOOL ScrollConsoleScreenBufferA(HANDLE, PSMALL_RECT, PSMALL_RECT, COORD, PCHAR_INFO);
+//     DWORD GetConsoleTitleA(LPSTR, DWORD);
+//     WINBOOL SetConsoleTitleA(LPCSTR);
+//     WINBOOL ReadConsoleA(HANDLE, LPVOID, DWORD, LPDWORD, LPVOID);
+//     WINBOOL WriteConsoleA(HANDLE, POINTER, DWORD, LPDWORD, LPVOID);
+//     DWORD WNetAddConnectionA(LPCSTR, LPCSTR, LPCSTR);
+//     DWORD WNetAddConnection2A(LPNETRESOURCE, LPCSTR, LPCSTR, DWORD);
+//     DWORD WNetAddConnection3A(HWND, LPNETRESOURCE, LPCSTR, LPCSTR, DWORD);
+//     DWORD WNetCancelConnectionA(LPCSTR, WINBOOL);
+//     DWORD WNetCancelConnection2A(LPCSTR, DWORD, WINBOOL);
+//     DWORD WNetGetConnectionA(LPCSTR, LPSTR, LPDWORD);
+//     DWORD WNetUseConnectionA(HWND, LPNETRESOURCE, LPCSTR, LPCSTR, DWORD, LPSTR, LPDWORD, LPDWORD);
+//     DWORD WNetSetConnectionA(LPCSTR, DWORD, LPVOID);
+//     DWORD WNetConnectionDialog1A(LPCONNECTDLGSTRUCT);
+//     DWORD WNetDisconnectDialog1A(LPDISCDLGSTRUCT);
+//     DWORD WNetOpenEnumA(DWORD, DWORD, DWORD, LPNETRESOURCE, LPHANDLE);
+//     DWORD WNetEnumResourceA(HANDLE, LPDWORD, LPVOID, LPDWORD);
+//     DWORD WNetGetUniversalNameA(LPCSTR, DWORD, LPVOID, LPDWORD);
+//     DWORD WNetGetUserA(LPCSTR, LPSTR, LPDWORD);
+//     DWORD WNetGetProviderNameA(DWORD, LPSTR, LPDWORD);
+//     DWORD WNetGetNetworkInformationA(LPCSTR, LPNETINFOSTRUCT);
+//     DWORD WNetGetLastErrorA(LPDWORD, LPSTR, DWORD, LPSTR, DWORD);
+//     DWORD MultinetGetConnectionPerformanceA(LPNETRESOURCE, LPNETCONNECTINFOSTRUCT);
+//     WINBOOL ChangeServiceConfigA(SC_HANDLE, DWORD, DWORD, DWORD, LPCSTR, LPCSTR, LPDWORD, LPCSTR, LPCSTR, LPCSTR, LPCSTR);
+//     SC_HANDLE CreateServiceA(SC_HANDLE, LPCSTR, LPCSTR, DWORD, DWORD, DWORD, DWORD, LPCSTR, LPCSTR, LPDWORD, LPCSTR, LPCSTR, LPCSTR);
+//     WINBOOL EnumDependentServicesA(SC_HANDLE, DWORD, LPENUM_SERVICE_STATUS, DWORD, LPDWORD, LPDWORD);
+//     WINBOOL EnumServicesStatusA(SC_HANDLE, DWORD, DWORD, LPENUM_SERVICE_STATUS, DWORD, LPDWORD, LPDWORD, LPDWORD);
+//     WINBOOL GetServiceKeyNameA(SC_HANDLE, LPCSTR, LPSTR, LPDWORD);
+//     WINBOOL GetServiceDisplayNameA(SC_HANDLE, LPCSTR, LPSTR, LPDWORD);
+//     SC_HANDLE OpenSCManagerA(LPCSTR, LPCSTR, DWORD);
+//     SC_HANDLE OpenServiceA(SC_HANDLE, LPCSTR, DWORD);
+//     WINBOOL QueryServiceConfigA(SC_HANDLE, LPQUERY_SERVICE_CONFIG, DWORD, LPDWORD);
+//     WINBOOL QueryServiceLockStatusA(SC_HANDLE, LPQUERY_SERVICE_LOCK_STATUS, DWORD, LPDWORD);
+//     SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerA(LPCSTR, LPHANDLER_FUNCTION);
+//     WINBOOL StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRY);
+//     WINBOOL StartServiceA(SC_HANDLE, DWORD, LPCSTR);
+//     uint DragQueryFileA(HDROP, uint, PCHAR, uint);
+//     HICON ExtractAssociatedIconA(HINST, PCHAR, LPWORD);
+//     HICON ExtractIconA(HINST, PCHAR, uint);
+//     HINST FindExecutableA(PCHAR, PCHAR, PCHAR);
+//     int ShellAboutA(HWND, PCHAR, PCHAR, HICON);
+//     HINST ShellExecuteA(HWND, PCHAR, PCHAR, PCHAR, PCHAR, int);
+//     HSZ DdeCreateStringHandleA(DWORD, PCHAR, int);
+//     UINT DdeInitializeA(LPDWORD, PFNCALLBACK, DWORD, DWORD);
+//     DWORD DdeQueryStringA(DWORD, HSZ, PCHAR, DWORD, int);
+//     WINBOOL LogonUserA(LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE);
+//     WINBOOL CreateProcessAsUserA(HANDLE, LPCTSTR, LPTSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCTSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
+//     WINBOOL GetBinaryTypeW(LPCWSTR, LPDWORD);
+//     DWORD GetShortPathNameW(LPCWSTR, LPWSTR, DWORD);
+//     LPWSTR GetEnvironmentStringsW();
+//     WINBOOL FreeEnvironmentStringsW(LPWSTR);
+//     DWORD FormatMessageW(DWORD, LPCVOID, DWORD, DWORD, LPWSTR, DWORD, VA_LIST*);
+//     HANDLE CreateMailslotW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
+//     int lstrcmpW(LPCWSTR, LPCWSTR);
+//     int lstrcmpiW(LPCWSTR, LPCWSTR);
+//     LPWSTR lstrcpynW(LPWSTR, LPCWSTR, int);
+//     LPWSTR lstrcpyW(LPWSTR, LPCWSTR);
+//     LPWSTR lstrcatW(LPWSTR, LPCWSTR);
+//     int lstrlenW(LPCWSTR);
+//     HANDLE CreateMutexW(LPSECURITY_ATTRIBUTES, WINBOOL, LPCWSTR);
+//     HANDLE OpenMutexW(DWORD, WINBOOL, LPCWSTR);
+//     HANDLE CreateEventW(LPSECURITY_ATTRIBUTES, WINBOOL, WINBOOL, LPCWSTR);
+//     HANDLE OpenEventW(DWORD, WINBOOL, LPCWSTR);
+//     HANDLE CreateSemaphoreW(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCWSTR);
+//     HANDLE OpenSemaphoreW(DWORD, WINBOOL, LPCWSTR);
+//     HANDLE CreateFileMappingW(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR);
+//     HANDLE OpenFileMappingW(DWORD, WINBOOL, LPCWSTR);
+//     DWORD GetLogicalDriveStringsW(DWORD, LPWSTR);
+//     HINST LoadLibraryW(LPCWSTR);
+//     HINST LoadLibraryExW(LPCWSTR, HANDLE, DWORD);
+//     DWORD GetModuleFileNameW(HINST, LPWSTR, DWORD);
+//     HMODULE GetModuleHandleW(LPCWSTR);
+//     void FatalAppExitW(UINT);
+//     LPWSTR GetCommandLineW();
+//     DWORD GetEnvironmentVariableW(LPCWSTR, LPWSTR, DWORD);
+//     WINBOOL SetEnvironmentVariableW(LPCWSTR, LPCWSTR);
+//     DWORD ExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD);
+//     void OutputDebugStringW(LPCWSTR);
+//     HRSRC FindResourceW(HINST, LPCWSTR, LPCWSTR);
+//     HRSRC FindResourceExW(HINST, LPCWSTR, LPCWSTR, ushort);
+//     WINBOOL EnumResourceTypesW(HINST, ENUMRESTYPEPROC, LONG);
+//     WINBOOL EnumResourceNamesW(HINST, LPCWSTR, ENUMRESNAMEPROC, LONG);
+//     WINBOOL EnumResourceLanguagesW(HINST, LPCWSTR, LPCWSTR, ENUMRESLANGPROC, LONG);
+//     HANDLE BeginUpdateResourceW(LPCWSTR, WINBOOL);
+//     WINBOOL UpdateResourceW(HANDLE, LPCWSTR, LPCWSTR, ushort, LPVOID, DWORD);
+//     WINBOOL EndUpdateResourceW(HANDLE, WINBOOL);
+    ATOM GlobalAddAtomW(LPCWSTR);
+//     ATOM GlobalFindAtomW(LPCWSTR);
+//     UINT GlobalGetAtomNameW(ATOM, LPWSTR, int);
+//     ATOM AddAtomW(LPCWSTR);
+//     ATOM FindAtomW(LPCWSTR);
+//     UINT GetAtomNameW(ATOM, LPWSTR, int);
+//     UINT GetProfileIntW(LPCWSTR, LPCWSTR, INT);
+//     DWORD GetProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD);
+//     WINBOOL WriteProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR);
+//     DWORD GetProfileSectionW(LPCWSTR, LPWSTR, DWORD);
+//     WINBOOL WriteProfileSectionW(LPCWSTR, LPCWSTR);
+//     UINT GetPrivateProfileIntW(LPCWSTR, LPCWSTR, INT, LPCWSTR);
+//     DWORD GetPrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD, LPCWSTR);
+//     WINBOOL WritePrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
+//     DWORD GetPrivateProfileSectionW(LPCWSTR, LPWSTR, DWORD, LPCWSTR);
+//     WINBOOL WritePrivateProfileSectionW(LPCWSTR, LPCWSTR, LPCWSTR);
+//     UINT GetDriveTypeW(LPCWSTR);
+//     UINT GetSystemDirectoryW(LPWSTR, UINT);
+//     DWORD GetTempPathW(DWORD, LPWSTR);
+//     UINT GetTempFileNameW(LPCWSTR, LPCWSTR, UINT, LPWSTR);
+//     UINT GetWindowsDirectoryW(LPWSTR, UINT);
+//     WINBOOL SetCurrentDirectoryW(LPCWSTR);
+//     DWORD GetCurrentDirectoryW(DWORD, LPWSTR);
+//     WINBOOL GetDiskFreeSpaceW(LPCWSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
+//     WINBOOL CreateDirectoryW(LPCWSTR, LPSECURITY_ATTRIBUTES);
+//     WINBOOL CreateDirectoryExW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
+//     WINBOOL RemoveDirectoryW(LPCWSTR);
+//     DWORD GetFullPathNameW(LPCWSTR, DWORD, LPWSTR, LPWSTR*);
+//     WINBOOL DefineDosDeviceW(DWORD, LPCWSTR, LPCWSTR);
+//     DWORD QueryDosDeviceW(LPCWSTR, LPWSTR, DWORD);
+    HANDLE CreateFileW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
+//     WINBOOL SetFileAttributesW(LPCWSTR, DWORD);
+//     DWORD GetFileAttributesW(LPCWSTR);
+//     BOOL GetFileAttributesExW(LPCWSTR, DWORD, WIN32_FILE_ATTRIBUTE_DATA*);
+//     DWORD GetCompressedFileSizeW(LPCWSTR, LPDWORD);
+    WINBOOL DeleteFileW(LPCWSTR);
+//     DWORD SearchPathW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPWSTR);
+//     WINBOOL CopyFileW(LPCWSTR, LPCWSTR, WINBOOL);
+//     WINBOOL MoveFileW(LPCWSTR, LPCWSTR);
+//     WINBOOL MoveFileExW(LPCWSTR, LPCWSTR, DWORD);
+//     HANDLE CreateNamedPipeW(LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
+//     WINBOOL GetNamedPipeHandleStateW(HANDLE, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPWSTR, DWORD);
+//     WINBOOL CallNamedPipeW(LPCWSTR, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, DWORD);
+//     WINBOOL WaitNamedPipeW(LPCWSTR, DWORD);
+//     WINBOOL SetVolumeLabelW(LPCWSTR, LPCWSTR);
+//     WINBOOL GetVolumeInformationW(LPCWSTR, LPWSTR, DWORD, LPDWORD, LPDWORD, LPDWORD, LPWSTR, DWORD);
+//     WINBOOL ClearEventLogW(HANDLE, LPCWSTR);
+//     WINBOOL BackupEventLogW(HANDLE, LPCWSTR);
+//     HANDLE OpenEventLogW(LPCWSTR, LPCWSTR);
+//     HANDLE RegisterEventSourceW(LPCWSTR, LPCWSTR);
+//     HANDLE OpenBackupEventLogW(LPCWSTR, LPCWSTR);
+//     WINBOOL ReadEventLogW(HANDLE, DWORD, DWORD, LPVOID, DWORD, LPDWORD, LPDWORD);
+//     WINBOOL ReportEventW(HANDLE, ushort, ushort, DWORD, PSID, ushort, DWORD, LPCWSTR*, LPVOID);
+//     WINBOOL AccessCheckAndAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, WINBOOL, LPDWORD, LPBOOL, LPBOOL);
+//     WINBOOL ObjectOpenAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, WINBOOL, WINBOOL, LPBOOL);
+//     WINBOOL ObjectPrivilegeAuditAlarmW(LPCWSTR, LPVOID, HANDLE, DWORD, PPRIVILEGE_SET, WINBOOL);
+//     WINBOOL ObjectCloseAuditAlarmW(LPCWSTR, LPVOID, WINBOOL);
+//     WINBOOL PrivilegedServiceAuditAlarmW(LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_SET, WINBOOL);
+//     WINBOOL SetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
+//     WINBOOL GetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
+//     HANDLE FindFirstChangeNotificationW(LPCWSTR, WINBOOL, DWORD);
+//     WINBOOL IsBadStringPtrW(LPCWSTR, UINT);
+//     WINBOOL LookupAccountSidW(LPCWSTR, PSID, LPWSTR, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE);
+//     WINBOOL LookupAccountNameW(LPCWSTR, LPCWSTR, PSID, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE);
+//     WINBOOL LookupPrivilegeValueW(LPCWSTR, LPCWSTR, PLUID);
+//     WINBOOL LookupPrivilegeNameW(LPCWSTR, PLUID, LPWSTR, LPDWORD);
+//     WINBOOL LookupPrivilegeDisplayNameW(LPCWSTR, LPCWSTR, LPWSTR, LPDWORD, LPDWORD);
+//     WINBOOL BuildCommDCBW(LPCWSTR, LPDCB);
+//     WINBOOL BuildCommDCBAndTimeoutsW(LPCWSTR, LPDCB, LPCOMMTIMEOUTS);
+//     WINBOOL CommConfigDialogW(LPCWSTR, HWND, LPCOMMCONFIG);
+//     WINBOOL GetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, LPDWORD);
+//     WINBOOL SetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, DWORD);
+//     WINBOOL GetComputerNameW(LPWSTR, LPDWORD);
+//     WINBOOL SetComputerNameW(LPCWSTR);
+//     WINBOOL GetUserNameW(LPWSTR, LPDWORD);
+//     int wvsprintfW(LPWSTR, LPCWSTR, VA_LIST*);
+//     HKL LoadKeyboardLayoutW(LPCWSTR, UINT);
+//     WINBOOL GetKeyboardLayoutNameW(LPWSTR);
+//     HDESK CreateDesktopW(LPWSTR, LPWSTR, LPDEVMODE, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
+//     HDESK OpenDesktopW(LPWSTR, DWORD, WINBOOL, DWORD);
+//     WINBOOL EnumDesktopsW(HWINSTA, DESKTOPENUMPROC, LPARAM);
+//     HWINSTA CreateWindowStationW(LPWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
+//     HWINSTA OpenWindowStationW(LPWSTR, WINBOOL, DWORD);
+//     WINBOOL EnumWindowStationsW(ENUMWINDOWSTATIONPROC, LPARAM);
+//     WINBOOL GetUserObjectInformationW(HANDLE, int, PVOID, DWORD, LPDWORD);
+//     WINBOOL SetUserObjectInformationW(HANDLE, int, PVOID, DWORD);
+//     UINT RegisterWindowMessageW(LPCWSTR);
+//     WINBOOL GetMessageW(LPMSG, HWND, UINT, UINT);
+//     LONG DispatchMessageW(LPMSG);
+//     WINBOOL PeekMessageW(LPMSG, HWND, UINT, UINT, UINT);
+//     LRESULT SendMessageW(HWND, UINT, WPARAM, LPARAM);
+//     LRESULT SendMessageTimeoutW(HWND, UINT, WPARAM, LPARAM, UINT, UINT, LPDWORD);
+//     WINBOOL SendNotifyMessageW(HWND, UINT, WPARAM, LPARAM);
+//     WINBOOL SendMessageCallbackW(HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD);
+//     WINBOOL PostMessageW(HWND, UINT, WPARAM, LPARAM);
+//     WINBOOL PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM);
+//     LRESULT DefWindowProcW(HWND, UINT, WPARAM, LPARAM);
+//     LRESULT CallWindowProcW(WNDPROC, HWND, UINT, WPARAM, LPARAM);
+//     ATOM RegisterClassW(LPWNDCLASS);
+//     WINBOOL UnregisterClassW(LPCWSTR, HINST);
+//     WINBOOL GetClassInfoW(HINST, LPCWSTR, LPWNDCLASS);
+//     ATOM RegisterClassExW(LPWNDCLASSEX);
+//     WINBOOL GetClassInfoExW(HINST, LPCWSTR, LPWNDCLASSEX);
+//     HWND CreateWindowExW(DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HMENU, HINST, LPVOID);
+//     HWND CreateDialogParamW(HINST, LPCWSTR, HWND, DLGPROC, LPARAM);
+//     HWND CreateDialogIndirectParamW(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
+//     int DialogBoxParamW(HINST, LPCWSTR, HWND, DLGPROC, LPARAM);
+//     int DialogBoxIndirectParamW(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
+//     WINBOOL SetDlgItemTextW(HWND, int, LPCWSTR);
+//     UINT GetDlgItemTextW(HWND, int, LPWSTR, int);
+//     LONG SendDlgItemMessageW(HWND, int, UINT, WPARAM, LPARAM);
+//     LRESULT DefDlgProcW(HWND, UINT, WPARAM, LPARAM);
+//     WINBOOL CallMsgFilterW(LPMSG, int);
+//     UINT RegisterClipboardFormatW(LPCWSTR);
+//     int GetClipboardFormatNameW(UINT, LPWSTR, int);
+//     WINBOOL CharToOemW(LPCWSTR, LPSTR);
+//     WINBOOL OemToCharW(LPCSTR, LPWSTR);
+//     WINBOOL CharToOemBuffW(LPCWSTR, LPSTR, DWORD);
+//     WINBOOL OemToCharBuffW(LPCSTR, LPWSTR, DWORD);
+//     LPWSTR CharUpperW(LPWSTR);
+//     DWORD CharUpperBuffW(LPWSTR, DWORD);
+//     LPWSTR CharLowerW(LPWSTR);
+//     DWORD CharLowerBuffW(LPWSTR, DWORD);
+//     LPWSTR CharNextW(LPCWSTR);
+//     LPWSTR CharPrevW(LPCWSTR, LPCWSTR);
+//     WINBOOL IsCharAlphaW(WCHAR);
+//     WINBOOL IsCharAlphaNumericW(WCHAR);
+//     WINBOOL IsCharUpperW(WCHAR);
+//     WINBOOL IsCharLowerW(WCHAR);
+//     int GetKeyNameTextW(LONG, LPWSTR, int);
+//     SHORT VkKeyScanW(WCHAR);
+//     SHORT VkKeyScanExW(WCHAR, HKL);
+//     UINT MapVirtualKeyW(UINT, UINT);
+//     UINT MapVirtualKeyExW(UINT, UINT, HKL);
+//     HACCEL LoadAcceleratorsW(HINST, LPCWSTR);
+//     HACCEL CreateAcceleratorTableW(LPACCEL, int);
+//     int CopyAcceleratorTableW(HACCEL, LPACCEL, int);
+//     int TranslateAcceleratorW(HWND, HACCEL, LPMSG);
+//     HMENU LoadMenuW(HINST, LPCWSTR);
+//     HMENU LoadMenuIndirectW(LPMENUTEMPLATE);
+//     WINBOOL ChangeMenuW(HMENU, UINT, LPCWSTR, UINT, UINT);
+//     int GetMenuStringW(HMENU, UINT, LPWSTR, int, UINT);
+//     WINBOOL InsertMenuW(HMENU, UINT, UINT, UINT, LPCWSTR);
+//     WINBOOL AppendMenuW(HMENU, UINT, UINT, LPCWSTR);
+//     WINBOOL ModifyMenuW(HMENU, UINT, UINT, UINT, LPCWSTR);
+//     WINBOOL InsertMenuItemW(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
+//     WINBOOL GetMenuItemInfoW(HMENU, UINT, WINBOOL, LPMENUITEMINFO);
+//     WINBOOL SetMenuItemInfoW(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
+//     int DrawTextW(HDC, LPCWSTR, int, LPRECT, UINT);
+//     int DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
+//     WINBOOL GrayStringW(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int);
+//     WINBOOL DrawStateW(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
+//     LONG TabbedTextOutW(HDC, int, int, LPCWSTR, int, int, LPINT, int);
+//     DWORD GetTabbedTextExtentW(HDC, LPCWSTR, int, int, LPINT);
+    WINBOOL SetPropW(HWND, LPCWSTR, HANDLE);
+    HANDLE GetPropW(HWND, LPCWSTR);
+    HANDLE RemovePropW(HWND, LPCWSTR);
+//     int EnumPropsExW(HWND, PROPENUMPROCEX, LPARAM);
+//     int EnumPropsW(HWND, PROPENUMPROC);
+//     WINBOOL SetWindowTextW(HWND, LPCWSTR);
+//     int GetWindowTextW(HWND, LPWSTR, int);
+//     int GetWindowTextLengthW(HWND);
+//     int MessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT);
+//     int MessageBoxExW(HWND, LPCWSTR, LPCWSTR, UINT, ushort);
+//     int MessageBoxIndirectW(LPMSGBOXPARAMS);
+//     LONG GetWindowLongW(HWND, int);
+//     LONG SetWindowLongW(HWND, int, LONG);
+//     DWORD GetClassLongW(HWND, int);
+//     DWORD SetClassLongW(HWND, int, LONG);
+//     HWND FindWindowW(LPCWSTR, LPCWSTR);
+//     HWND FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR);
+    int GetClassNameW(HWND, LPWSTR, int);
+//     HHOOK SetWindowsHookExW(int, HOOKPROC, HINST, DWORD);
+//     HBITMAP LoadBitmapW(HINST, LPCWSTR);
+    HCURSOR LoadCursorW(HINST, LPCWSTR);
+//     HCURSOR LoadCursorFromFileW(LPCWSTR);
+    HICON LoadIconW(HINST, LPCWSTR);
+//     HANDLE LoadImageW(HINST, LPCWSTR, UINT, int, int, UINT);
+//     int LoadStringW(HINST, UINT, LPWSTR, int);
+//     WINBOOL IsDialogMessageW(HWND, LPMSG);
+//     int DlgDirListW(HWND, LPWSTR, int, int, UINT);
+//     WINBOOL DlgDirSelectExW(HWND, LPWSTR, int, int);
+//     int DlgDirListComboBoxW(HWND, LPWSTR, int, int, UINT);
+//     WINBOOL DlgDirSelectComboBoxExW(HWND, LPWSTR, int, int);
+//     LRESULT DefFrameProcW(HWND, HWND, UINT, WPARAM, LPARAM);
+//     LRESULT DefMDIChildProcW(HWND, UINT, WPARAM, LPARAM);
+//     HWND CreateMDIWindowW(LPWSTR, LPWSTR, DWORD, int, int, int, int, HWND, HINST, LPARAM);
+//     WINBOOL WinHelpW(HWND, LPCWSTR, UINT, DWORD);
+//     LONG ChangeDisplaySettingsW(LPDEVMODE, DWORD);
+//     WINBOOL EnumDisplaySettingsW(LPCWSTR, DWORD, LPDEVMODE);
+//     WINBOOL SystemParametersInfoW(UINT, UINT, PVOID, UINT);
+//     int AddFontResourceW(LPCWSTR);
+//     HMETAFILE CopyMetaFileW(HMETAFILE, LPCWSTR);
+//     HFONT CreateFontIndirectW(PLOGFONT);
+//     HFONT CreateFontW(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPCWSTR);
+//     HDC CreateICW(LPCWSTR, LPCWSTR, LPCWSTR, LPDEVMODE);
+//     HDC CreateMetaFileW(LPCWSTR);
+//     WINBOOL CreateScalableFontResourceW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR);
+//     int EnumFontFamiliesExW(HDC, LPLOGFONT, FONTENUMEXPROC, LPARAM, DWORD);
+//     int EnumFontFamiliesW(HDC, LPCWSTR, FONTENUMPROC, LPARAM);
+//     int EnumFontsW(HDC, LPCWSTR, ENUMFONTSPROC, LPARAM);
+//     WINBOOL GetCharWidthW(HDC, UINT, UINT, LPINT);
+//     WINBOOL GetCharWidth32W(HDC, UINT, UINT, LPINT);
+//     WINBOOL GetCharWidthFloatW(HDC, UINT, UINT, PFLOAT);
+//     WINBOOL GetCharABCWidthsW(HDC, UINT, UINT, LPABC);
+//     WINBOOL GetCharABCWidthsFloatW(HDC, UINT, UINT, LPABCFLOAT);
+//     DWORD GetGlyphOutlineW(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, PMAT2);
+//     HMETAFILE GetMetaFileW(LPCWSTR);
+//     UINT GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRIC);
+//     WINBOOL GetTextExtentPointW(HDC, LPCWSTR, int, LPSIZE);
+//     WINBOOL GetTextExtentPoint32W(HDC, LPCWSTR, int, LPSIZE);
+//     WINBOOL GetTextExtentExPointW(HDC, LPCWSTR, int, int, LPINT, LPINT, LPSIZE);
+//     DWORD GetCharacterPlacementW(HDC, LPCWSTR, int, int, LPGCP_RESULTS, DWORD);
+//     HDC ResetDCW(HDC, LPDEVMODE);
+//     WINBOOL RemoveFontResourceW(LPCWSTR);
+//     HENHMETAFILE CopyEnhMetaFileW(HENHMETAFILE, LPCWSTR);
+//     HDC CreateEnhMetaFileW(HDC, LPCWSTR, LPRECT, LPCWSTR);
+//     HENHMETAFILE GetEnhMetaFileW(LPCWSTR);
+//     UINT GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR);
+//     WINBOOL GetTextMetricsW(HDC, LPTEXTMETRIC);
+//     int StartDocW(HDC, PDOCINFO);
+    int GetObjectW(HGDIOBJ, int, LPVOID);
+//     WINBOOL TextOutW(HDC, int, int, LPCWSTR, int);
+//     WINBOOL ExtTextOutW(HDC, int, int, UINT, LPRECT, LPCWSTR, UINT, LPINT);
+//     WINBOOL PolyTextOutW(HDC, PPOLYTEXT, int);
+//     int GetTextFaceW(HDC, int, LPWSTR);
+//     DWORD GetKerningPairsW(HDC, DWORD, LPKERNINGPAIR);
+//     WINBOOL GetLogColorSpaceW(HCOLORSPACE, LPLOGCOLORSPACE, DWORD);
+//     HCOLORSPACE CreateColorSpaceW(LPLOGCOLORSPACE);
+//     WINBOOL GetICMProfileW(HDC, DWORD, LPWSTR);
+//     WINBOOL SetICMProfileW(HDC, LPWSTR);
+//     WINBOOL UpdateICMRegKeyW(DWORD, DWORD, LPWSTR, UINT);
+//     int EnumICMProfilesW(HDC, ICMENUMPROC, LPARAM);
+//     HPROPSHEETPAGE CreatePropertySheetPageW(LPCPROPSHEETPAGE);
+//     int PropertySheetW(LPCPROPSHEETHEADER);
+//     HIMAGELIST ImageList_LoadImageW(HINST, LPCWSTR, int, int, COLORREF, UINT, UINT);
+//     HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT);
+//     void DrawStatusTextW(HDC, LPRECT, LPCWSTR);
+//     WINBOOL GetOpenFileNameW(LPOPENFILENAME);
+//     WINBOOL GetSaveFileNameW(LPOPENFILENAME);
+//     int GetFileTitleW(LPCWSTR, LPWSTR, ushort);
+//     WINBOOL ChooseColorW(LPCHOOSECOLOR);
+//     HWND ReplaceTextW(LPFINDREPLACE);
+//     WINBOOL ChooseFontW(LPCHOOSEFONT);
+//     HWND FindTextW(LPFINDREPLACE);
+//     WINBOOL PrintDlgW(LPPRINTDLG);
+//     WINBOOL PageSetupDlgW(LPPAGESETUPDLG);
+//     WINBOOL CreateProcessW(LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
+    void GetStartupInfoW(LPSTARTUPINFO);
+//     HANDLE FindFirstFileW(LPCWSTR, LPWIN32_FIND_DATAW);
+//     WINBOOL FindNextFileW(HANDLE, LPWIN32_FIND_DATAW);
+//     WINBOOL GetVersionExW(LPOSVERSIONINFO);
+//     HDC CreateDCW(LPCWSTR, LPCWSTR, LPCWSTR, PDEVMODE);
+//     HFONT CreateFontA(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPCSTR);
+//     DWORD VerInstallFileW(DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT);
+//     DWORD GetFileVersionInfoSizeW(LPWSTR, LPDWORD);
+//     WINBOOL GetFileVersionInfoW(LPWSTR, DWORD, DWORD, LPVOID);
+//     DWORD VerLanguageNameW(DWORD, LPWSTR, DWORD);
+//     WINBOOL VerQueryValueW(LPVOID, LPWSTR, LPVOID, PUINT);
+//     DWORD VerFindFileW(DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT, LPWSTR, PUINT);
+//     LONG RegSetValueExW(HKEY, LPCWSTR, DWORD, DWORD, LPBYTE, DWORD);
+//     LONG RegUnLoadKeyW(HKEY, LPCWSTR);
+//     WINBOOL InitiateSystemShutdownW(LPWSTR, LPWSTR, DWORD, WINBOOL, WINBOOL);
+//     WINBOOL AbortSystemShutdownW(LPWSTR);
+//     LONG RegRestoreKeyW(HKEY, LPCWSTR, DWORD);
+//     LONG RegSaveKeyW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES);
+//     LONG RegSetValueW(HKEY, LPCWSTR, DWORD, LPCWSTR, DWORD);
+//     LONG RegQueryValueW(HKEY, LPCWSTR, LPWSTR, PLONG);
+//     LONG RegQueryMultipleValuesW(HKEY, PVALENT, DWORD, LPWSTR, LPDWORD);
+//     LONG RegQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
+//     LONG RegReplaceKeyW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR);
+//     LONG RegConnectRegistryW(LPWSTR, HKEY, PHKEY);
+//     LONG RegCreateKeyW(HKEY, LPCWSTR, PHKEY);
+//     LONG RegCreateKeyExW(HKEY, LPCWSTR, DWORD, LPWSTR, DWORD, REGSAM, LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD);
+//     LONG RegDeleteKeyW(HKEY, LPCWSTR);
+//     LONG RegDeleteValueW(HKEY, LPCWSTR);
+//     LONG RegEnumKeyW(HKEY, DWORD, LPWSTR, DWORD);
+//     LONG RegEnumKeyExW(HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPWSTR, LPDWORD, PFILETIME);
+//     LONG RegEnumValueW(HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
+//     LONG RegLoadKeyW(HKEY, LPCWSTR, LPCWSTR);
+//     LONG RegOpenKeyW(HKEY, LPCWSTR, PHKEY);
+//     LONG RegOpenKeyExW(HKEY, LPCWSTR, DWORD, REGSAM, PHKEY);
+//     LONG RegQueryInfoKeyW(HKEY, LPWSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, PFILETIME);
+//     int CompareStringW(LCID, DWORD, LPCWSTR, int, LPCWSTR, int);
+//     int LCMapStringW(LCID, DWORD, LPCWSTR, int, LPWSTR, int);
+//     int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int);
+//     WINBOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR);
+//     int GetTimeFormatW(LCID, DWORD, LPSYSTEMTIME, LPCWSTR, LPWSTR, int);
+//     int GetDateFormatW(LCID, DWORD, LPSYSTEMTIME, LPCWSTR, LPWSTR, int);
+//     int GetNumberFormatW(LCID, DWORD, LPCWSTR, PNUMBERFMT, LPWSTR, int);
+//     int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, PCURRENCYFMT, LPWSTR, int);
+//     WINBOOL EnumCalendarInfoW(CALINFO_ENUMPROC, LCID, CALID, CALTYPE);
+//     WINBOOL EnumTimeFormatsW(TIMEFMT_ENUMPROC, LCID, DWORD);
+//     WINBOOL EnumDateFormatsW(DATEFMT_ENUMPROC, LCID, DWORD);
+//     WINBOOL GetStringTypeExW(LCID, DWORD, LPCWSTR, int, LPWORD);
+//     WINBOOL GetStringTypeW(DWORD, LPCWSTR, int, LPWORD);
+//     int FoldStringW(DWORD, LPCWSTR, int, LPWSTR, int);
+//     WINBOOL EnumSystemLocalesW(LOCALE_ENUMPROC, DWORD);
+//     WINBOOL EnumSystemCodePagesW(CODEPAGE_ENUMPROC, DWORD);
+//     WINBOOL PeekConsoleInputW(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
+//     WINBOOL ReadConsoleInputW(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
+//     WINBOOL WriteConsoleInputW(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
+//     WINBOOL ReadConsoleOutputW(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
+//     WINBOOL WriteConsoleOutputW(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
+//     WINBOOL ReadConsoleOutputCharacterW(HANDLE, LPWSTR, DWORD, COORD, LPDWORD);
+//     WINBOOL WriteConsoleOutputCharacterW(HANDLE, LPCWSTR, DWORD, COORD, LPDWORD);
+//     WINBOOL FillConsoleOutputCharacterW(HANDLE, WCHAR, DWORD, COORD, LPDWORD);
+//     WINBOOL ScrollConsoleScreenBufferW(HANDLE, PSMALL_RECT, PSMALL_RECT, COORD, PCHAR_INFO);
+//     DWORD GetConsoleTitleW(LPWSTR, DWORD);
+//     WINBOOL SetConsoleTitleW(LPCWSTR);
+//     WINBOOL ReadConsoleW(HANDLE, LPVOID, DWORD, LPDWORD, LPVOID);
+//     WINBOOL WriteConsoleW(HANDLE, POINTER, DWORD, LPDWORD, LPVOID);
+//     DWORD WNetAddConnectionW(LPCWSTR, LPCWSTR, LPCWSTR);
+//     DWORD WNetAddConnection2W(LPNETRESOURCE, LPCWSTR, LPCWSTR, DWORD);
+//     DWORD WNetAddConnection3W(HWND, LPNETRESOURCE, LPCWSTR, LPCWSTR, DWORD);
+//     DWORD WNetCancelConnectionW(LPCWSTR, WINBOOL);
+//     DWORD WNetCancelConnection2W(LPCWSTR, DWORD, WINBOOL);
+//     DWORD WNetGetConnectionW(LPCWSTR, LPWSTR, LPDWORD);
+//     DWORD WNetUseConnectionW(HWND, LPNETRESOURCE, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPDWORD, LPDWORD);
+//     DWORD WNetSetConnectionW(LPCWSTR, DWORD, LPVOID);
+//     DWORD WNetConnectionDialog1W(LPCONNECTDLGSTRUCT);
+//     DWORD WNetDisconnectDialog1W(LPDISCDLGSTRUCT);
+//     DWORD WNetOpenEnumW(DWORD, DWORD, DWORD, LPNETRESOURCE, LPHANDLE);
+//     DWORD WNetEnumResourceW(HANDLE, LPDWORD, LPVOID, LPDWORD);
+//     DWORD WNetGetUniversalNameW(LPCWSTR, DWORD, LPVOID, LPDWORD);
+//     DWORD WNetGetUserW(LPCWSTR, LPWSTR, LPDWORD);
+//     DWORD WNetGetProviderNameW(DWORD, LPWSTR, LPDWORD);
+//     DWORD WNetGetNetworkInformationW(LPCWSTR, LPNETINFOSTRUCT);
+//     DWORD WNetGetLastErrorW(LPDWORD, LPWSTR, DWORD, LPWSTR, DWORD);
+//     DWORD MultinetGetConnectionPerformanceW(LPNETRESOURCE, LPNETCONNECTINFOSTRUCT);
+//     WINBOOL ChangeServiceConfigW(SC_HANDLE, DWORD, DWORD, DWORD, LPCWSTR, LPCWSTR, LPDWORD, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
+//     SC_HANDLE CreateServiceW(SC_HANDLE, LPCWSTR, LPCWSTR, DWORD, DWORD, DWORD, DWORD, LPCWSTR, LPCWSTR, LPDWORD, LPCWSTR, LPCWSTR, LPCWSTR);
+//     WINBOOL EnumDependentServicesW(SC_HANDLE, DWORD, LPENUM_SERVICE_STATUS, DWORD, LPDWORD, LPDWORD);
+//     WINBOOL EnumServicesStatusW(SC_HANDLE, DWORD, DWORD, LPENUM_SERVICE_STATUS, DWORD, LPDWORD, LPDWORD, LPDWORD);
+//     WINBOOL GetServiceKeyNameW(SC_HANDLE, LPCWSTR, LPWSTR, LPDWORD);
+//     WINBOOL GetServiceDisplayNameW(SC_HANDLE, LPCWSTR, LPWSTR, LPDWORD);
+//     SC_HANDLE OpenSCManagerW(LPCWSTR, LPCWSTR, DWORD);
+//     SC_HANDLE OpenServiceW(SC_HANDLE, LPCWSTR, DWORD);
+//     WINBOOL QueryServiceConfigW(SC_HANDLE, LPQUERY_SERVICE_CONFIG, DWORD, LPDWORD);
+//     WINBOOL QueryServiceLockStatusW(SC_HANDLE, LPQUERY_SERVICE_LOCK_STATUS, DWORD, LPDWORD);
+//     SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerW(LPCWSTR, LPHANDLER_FUNCTION);
+//     WINBOOL StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRY);
+//     WINBOOL StartServiceW(SC_HANDLE, DWORD, LPCWSTR);
+//     uint DragQueryFileW(HDROP, uint, LPCWSTR, uint);
+//     HICON ExtractAssociatedIconW(HINST, LPCWSTR, LPWORD);
+//     HICON ExtractIconW(HINST, LPCWSTR, uint);
+//     HINST FindExecutableW(LPCWSTR, LPCWSTR, LPCWSTR);
+//     int ShellAboutW(HWND, LPCWSTR, LPCWSTR, HICON);
+//     HINST ShellExecuteW(HWND, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, int);
+//     HSZ DdeCreateStringHandleW(DWORD, LPCWSTR, int);
+//     UINT DdeInitializeW(LPDWORD, PFNCALLBACK, DWORD, DWORD);
+//     DWORD DdeQueryStringW(DWORD, HSZ, LPCWSTR, DWORD, int);
+//     WINBOOL LogonUserW(LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE);
+//     WINBOOL CreateProcessAsUserW(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
+//     WINBOOL AccessCheck(PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_MAPPING, PPRIVILEGE_SET, LPDWORD, LPDWORD, LPBOOL);
+//     LONG InterlockedIncrement(LPLONG);
+//     LONG InterlockedDecrement(LPLONG);
+//     LONG InterlockedExchange(LPLONG, LONG);
+//     WINBOOL FreeResource(HGLOBAL);
+//     LPVOID LockResource(HGLOBAL);
+    WINBOOL FreeLibrary(HINST);
+//     void FreeLibraryAndExitThread(HMODULE, DWORD);
+//     WINBOOL DisableThreadLibraryCalls(HMODULE);
+    FARPROC GetProcAddress(HINST, LPCSTR);
+//     DWORD GetVersion();
+//     HGLOBAL GlobalAlloc(UINT, DWORD);
+//     HGLOBAL GlobalReAlloc(HGLOBAL, DWORD, UINT);
+//     DWORD GlobalSize(HGLOBAL);
+//     UINT GlobalFlags(HGLOBAL);
+//     LPVOID GlobalLock(HGLOBAL);
+//     HGLOBAL GlobalHandle(LPCVOID);
+//     WINBOOL GlobalUnlock(HGLOBAL);
+//     HGLOBAL GlobalFree(HGLOBAL);
+//     UINT GlobalCompact(DWORD);
+//     void GlobalFix(HGLOBAL);
+//     void GlobalUnfix(HGLOBAL);
+//     LPVOID GlobalWire(HGLOBAL);
+//     WINBOOL GlobalUnWire(HGLOBAL);
+//     void GlobalMemoryStatus(LPMEMORYSTATUS);
+//     HLOCAL LocalAlloc(UINT, UINT);
+//     HLOCAL LocalReAlloc(HLOCAL, UINT, UINT);
+//     LPVOID LocalLock(HLOCAL);
+//     HLOCAL LocalHandle(LPCVOID);
+//     WINBOOL LocalUnlock(HLOCAL);
+//     UINT LocalSize(HLOCAL);
+//     UINT LocalFlags(HLOCAL);
+//     HLOCAL LocalFree(HLOCAL);
+//     UINT LocalShrink(HLOCAL, UINT);
+//     UINT LocalCompact(UINT);
+//     WINBOOL FlushInstructionCache(HANDLE, LPCVOID, DWORD);
+//     LPVOID VirtualAlloc(LPVOID, DWORD, DWORD, DWORD);
+//     WINBOOL VirtualFree(LPVOID, DWORD, DWORD);
+//     WINBOOL VirtualProtect(LPVOID, DWORD, DWORD, PDWORD);
+//     DWORD VirtualQuery(LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
+//     WINBOOL VirtualProtectEx(HANDLE, LPVOID, DWORD, DWORD, PDWORD);
+//     DWORD VirtualQueryEx(HANDLE, LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
+//     HANDLE HeapCreate(DWORD, DWORD, DWORD);
+//     WINBOOL HeapDestroy(HANDLE);
+//     LPVOID HeapAlloc(HANDLE, DWORD, DWORD);
+//     LPVOID HeapReAlloc(HANDLE, DWORD, LPVOID, DWORD);
+//     WINBOOL HeapFree(HANDLE, DWORD, LPVOID);
+//     DWORD HeapSize(HANDLE, DWORD, LPCVOID);
+//     WINBOOL HeapValidate(HANDLE, DWORD, LPCVOID);
+//     UINT HeapCompact(HANDLE, DWORD);
+//     HANDLE GetProcessHeap();
+//     DWORD GetProcessHeaps(DWORD, PHANDLE);
+//     WINBOOL HeapLock(HANDLE);
+//     WINBOOL HeapUnlock(HANDLE);
+//     WINBOOL HeapWalk(HANDLE, LPPROCESS_HEAP_ENTRY);
+//     WINBOOL GetProcessAffinityMask(HANDLE, LPDWORD, LPDWORD);
+//     WINBOOL GetProcessTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
+//     WINBOOL GetProcessWorkingSetSize(HANDLE, LPDWORD, LPDWORD);
+//     WINBOOL SetProcessWorkingSetSize(HANDLE, DWORD, DWORD);
+//     HANDLE OpenProcess(DWORD, WINBOOL, DWORD);
+//     HANDLE GetCurrentProcess();
+//     DWORD GetCurrentProcessId();
+//     void ExitProcess(UINT);
+//     WINBOOL TerminateProcess(HANDLE, UINT);
+//     WINBOOL GetExitCodeProcess(HANDLE, LPDWORD);
+//     void FatalExit(int);
+//     void RaiseException(DWORD, DWORD, DWORD);
+//     LONG UnhandledExceptionFilter(EMPTYRECORD*);
+//     HANDLE CreateRemoteThread(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD);
+//     HANDLE GetCurrentThread();
+//     DWORD GetCurrentThreadId();
+//     DWORD SetThreadAffinityMask(HANDLE, DWORD);
+//     WINBOOL SetThreadPriority(HANDLE, int);
+//     int GetThreadPriority(HANDLE);
+//     WINBOOL GetThreadTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
+//     void ExitThread(DWORD);
+//     WINBOOL TerminateThread(HANDLE, DWORD);
+//     WINBOOL GetExitCodeThread(HANDLE, LPDWORD);
+//     WINBOOL GetThreadSelectorEntry(HANDLE, DWORD, LPLDT_ENTRY);
+//     DWORD GetLastError();
+//     void SetLastError(DWORD);
+//     HANDLE CreateIoCompletionPort(HANDLE, HANDLE, DWORD, DWORD);
+//     UINT SetErrorMode(UINT);
+//     WINBOOL ReadProcessMemory(HANDLE, LPCVOID, LPVOID, DWORD, LPDWORD);
+//     WINBOOL WriteProcessMemory(HANDLE, LPVOID, LPVOID, DWORD, LPDWORD);
+//     WINBOOL GetThreadContext(HANDLE, LPCONTEXT);
+//     DWORD SuspendThread(HANDLE);
+//     DWORD ResumeThread(HANDLE);
+//     void DebugBreak();
+//     WINBOOL WaitForDebugEvent(LPDEBUG_EVENT, DWORD);
+//     WINBOOL ContinueDebugEvent(DWORD, DWORD, DWORD);
+//     WINBOOL DebugActiveProcess(DWORD);
+//     void InitializeCriticalSection(LPCRITICAL_SECTION);
+//     void EnterCriticalSection(LPCRITICAL_SECTION);
+//     WINBOOL TryEnterCriticalSection(LPCRITICAL_SECTION);
+//     void LeaveCriticalSection(LPCRITICAL_SECTION);
+//     void DeleteCriticalSection(LPCRITICAL_SECTION);
+//     WINBOOL SetEvent(HANDLE);
+//     WINBOOL ResetEvent(HANDLE);
+//     WINBOOL PulseEvent(HANDLE);
+//     WINBOOL ReleaseSemaphore(HANDLE, LONG, LPLONG);
+//     WINBOOL ReleaseMutex(HANDLE);
+    DWORD WaitForSingleObject(HANDLE, DWORD);
+    DWORD WaitForMultipleObjects(DWORD, HANDLE*, WINBOOL, DWORD);
+//     void Sleep(DWORD);
+//     HGLOBAL LoadResource(HINST, HRSRC);
+//     DWORD SizeofResource(HINST, HRSRC);
+//     ATOM GlobalDeleteAtom(ATOM);
+//     WINBOOL InitAtomTable(DWORD);
+//     ATOM DeleteAtom(ATOM);
+//     UINT SetHandleCount(UINT);
+//     DWORD GetLogicalDrives();
+//     WINBOOL LockFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
+//     WINBOOL UnlockFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
+//     WINBOOL LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
+//     WINBOOL UnlockFileEx(HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED);
+//     WINBOOL GetFileInformationByHandle(HANDLE, LPBY_HANDLE_FILE_INFORMATION);
+//     DWORD GetFileType(HANDLE);
+//     DWORD GetFileSize(HANDLE, LPDWORD);
+//     HANDLE GetStdHandle(DWORD);
+//     WINBOOL SetStdHandle(DWORD, HANDLE);
+//     WINBOOL FlushFileBuffers(HANDLE);
+//     WINBOOL DeviceIoControl(HANDLE, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
+//     WINBOOL SetEndOfFile(HANDLE);
+//     DWORD SetFilePointer(HANDLE, LONG, PLONG, DWORD);
+//     WINBOOL FindClose(HANDLE);
+//     WINBOOL GetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
+//     WINBOOL SetFileTime(HANDLE, FILETIME*, FILETIME*, FILETIME*);
+    WINBOOL CloseHandle(HANDLE);
+//     WINBOOL DuplicateHandle(HANDLE, HANDLE, HANDLE, LPHANDLE, DWORD, WINBOOL, DWORD);
+//     WINBOOL GetHandleInformation(HANDLE, LPDWORD);
+//     WINBOOL SetHandleInformation(HANDLE, DWORD, DWORD);
+//     DWORD LoadModule(LPCSTR, LPVOID);
+//     UINT WinExec(LPCSTR, UINT);
+//     WINBOOL ClearCommBreak(HANDLE);
+//     WINBOOL ClearCommError(HANDLE, LPDWORD, LPCOMSTAT);
+//     WINBOOL SetupComm(HANDLE, DWORD, DWORD);
+//     WINBOOL EscapeCommFunction(HANDLE, DWORD);
+//     WINBOOL GetCommConfig(HANDLE, LPCOMMCONFIG, LPDWORD);
+//     WINBOOL GetCommProperties(HANDLE, LPCOMMPROP);
+//     WINBOOL GetCommModemStatus(HANDLE, PDWORD);
+//     WINBOOL GetCommState(HANDLE, PDCB);
+//     WINBOOL GetCommTimeouts(HANDLE, PCOMMTIMEOUTS);
+//     WINBOOL PurgeComm(HANDLE, DWORD);
+//     WINBOOL SetCommBreak(HANDLE);
+//     WINBOOL SetCommConfig(HANDLE, LPCOMMCONFIG, DWORD);
+//     WINBOOL SetCommMask(HANDLE, DWORD);
+//     WINBOOL SetCommState(HANDLE, TDCB*);
+//     WINBOOL SetCommTimeouts(HANDLE, TCOMMTIMEOUTS*);
+//     WINBOOL TransmitCommChar(HANDLE, char);
+//     WINBOOL WaitCommEvent(HANDLE, LPDWORD, LPOVERLAPPED);
+//     DWORD SetTapePosition(HANDLE, DWORD, DWORD, DWORD, DWORD, WINBOOL);
+//     DWORD GetTapePosition(HANDLE, DWORD, LPDWORD, LPDWORD, LPDWORD);
+//     DWORD PrepareTape(HANDLE, DWORD, WINBOOL);
+//     DWORD EraseTape(HANDLE, DWORD, WINBOOL);
+//     DWORD CreateTapePartition(HANDLE, DWORD, DWORD, DWORD);
+//     DWORD WriteTapemark(HANDLE, DWORD, DWORD, WINBOOL);
+//     DWORD GetTapeStatus(HANDLE);
+//     DWORD GetTapeParameters(HANDLE, DWORD, LPDWORD, LPVOID);
+//     DWORD SetTapeParameters(HANDLE, DWORD, LPVOID);
+//     WINBOOL Beep(DWORD, DWORD);
+//     int MulDiv(int, int, int);
+//     void GetSystemTime(LPSYSTEMTIME);
+//         void GetSystemTimeAsFileTime(FILETIME*);
+//     WINBOOL SetSystemTime(SYSTEMTIME*);
+//     void GetLocalTime(LPSYSTEMTIME);
+//     WINBOOL SetLocalTime(SYSTEMTIME*);
+//     void GetSystemInfo(LPSYSTEM_INFO);
+//     WINBOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
+//     DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
+//     WINBOOL SetTimeZoneInformation(TIME_ZONE_INFORMATION*);
+//     WINBOOL SystemTimeToFileTime(SYSTEMTIME*, LPFILETIME);
+//     WINBOOL FileTimeToLocalFileTime(FILETIME*, LPFILETIME);
+//     WINBOOL LocalFileTimeToFileTime(FILETIME*, LPFILETIME);
+//     WINBOOL FileTimeToSystemTime(FILETIME*, LPSYSTEMTIME);
+//     LONG CompareFileTime(FILETIME*, FILETIME*);
+//     WINBOOL FileTimeToDosDateTime(FILETIME*, LPWORD, LPWORD);
+//     WINBOOL DosDateTimeToFileTime(ushort, ushort, LPFILETIME);
+//     DWORD GetTickCount();
+//     WINBOOL SetSystemTimeAdjustment(DWORD, WINBOOL);
+//     WINBOOL GetSystemTimeAdjustment(PDWORD, PDWORD, PWINBOOL);
+//     WINBOOL CreatePipe(PHANDLE, PHANDLE, LPSECURITY_ATTRIBUTES, DWORD);
+//     WINBOOL ConnectNamedPipe(HANDLE, LPOVERLAPPED);
+//     WINBOOL DisconnectNamedPipe(HANDLE);
+//     WINBOOL SetNamedPipeHandleState(HANDLE, LPDWORD, LPDWORD, LPDWORD);
+//     WINBOOL GetNamedPipeInfo(HANDLE, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
+//     WINBOOL PeekNamedPipe(HANDLE, LPVOID, DWORD, LPDWORD, LPDWORD, LPDWORD);
+//     WINBOOL TransactNamedPipe(HANDLE, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
+//     WINBOOL GetMailslotInfo(HANDLE, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
+//     WINBOOL SetMailslotInfo(HANDLE, DWORD);
+//     LPVOID MapViewOfFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
+//     WINBOOL FlushViewOfFile(LPCVOID, DWORD);
+//     WINBOOL UnmapViewOfFile(LPVOID);
+//     HFILE OpenFile(LPCSTR, LPOFSTRUCT, UINT);
+//     HFILE _lopen(LPCSTR, int);
+//     HFILE _lcreat(LPCSTR, int);
+//     UINT _lread(HFILE, LPVOID, UINT);
+//     UINT _lwrite(HFILE, LPCSTR, UINT);
+//     int _hread(HFILE, LPVOID, int);
+//     int _hwrite(HFILE, LPCSTR, int);
+//     HFILE _lclose(HFILE);
+//     LONG _llseek(HFILE, LONG, int);
+//     WINBOOL IsTextUnicode(LPVOID, int, LPINT);
+//     DWORD TlsAlloc();
+//     LPVOID TlsGetValue(DWORD);
+//     WINBOOL TlsSetValue(DWORD, LPVOID);
+//     WINBOOL TlsFree(DWORD);
+//     DWORD SleepEx(DWORD, WINBOOL);
+//     DWORD WaitForSingleObjectEx(HANDLE, DWORD, WINBOOL);
+//     DWORD WaitForMultipleObjectsEx(DWORD, HANDLE*, WINBOOL, DWORD, WINBOOL);
+//     WINBOOL ReadFileEx(HANDLE, LPVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
+//     WINBOOL WriteFileEx(HANDLE, LPCVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
+//     WINBOOL BackupRead(HANDLE, LPBYTE, DWORD, LPDWORD, WINBOOL, WINBOOL, LPVOID*);
+//     WINBOOL BackupSeek(HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID*);
+//     WINBOOL BackupWrite(HANDLE, LPBYTE, DWORD, LPDWORD, WINBOOL, WINBOOL, LPVOID*);
+//     WINBOOL SetProcessShutdownParameters(DWORD, DWORD);
+//     WINBOOL GetProcessShutdownParameters(LPDWORD, LPDWORD);
+//     void SetFileApisToOEM();
+//     void SetFileApisToANSI();
+//     WINBOOL AreFileApisANSI();
+//     WINBOOL CloseEventLog(HANDLE);
+//     WINBOOL DeregisterEventSource(HANDLE);
+//     WINBOOL NotifyChangeEventLog(HANDLE, HANDLE);
+//     WINBOOL GetNumberOfEventLogRecords(HANDLE, PDWORD);
+//     WINBOOL GetOldestEventLogRecord(HANDLE, PDWORD);
+//     WINBOOL DuplicateToken(HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDLE);
+//     WINBOOL GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
+//     WINBOOL ImpersonateNamedPipeClient(HANDLE);
+//     WINBOOL ImpersonateLoggedOnUser(HANDLE);
+//     WINBOOL ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
+//     WINBOOL RevertToSelf();
+//     WINBOOL SetThreadToken(PHANDLE, HANDLE);
+//     WINBOOL OpenProcessToken(HANDLE, DWORD, PHANDLE);
+//     WINBOOL OpenThreadToken(HANDLE, DWORD, WINBOOL, PHANDLE);
+//     WINBOOL GetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, LPVOID, DWORD, PDWORD);
+//     WINBOOL SetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, LPVOID, DWORD);
+//     WINBOOL AdjustTokenPrivileges(HANDLE, WINBOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
+//     WINBOOL AdjustTokenGroups(HANDLE, WINBOOL, PTOKEN_GROUPS, DWORD, PTOKEN_GROUPS, PDWORD);
+//     WINBOOL PrivilegeCheck(HANDLE, PPRIVILEGE_SET, LPBOOL);
+//     WINBOOL IsValidSid(PSID);
+//     WINBOOL EqualSid(PSID, PSID);
+//     WINBOOL EqualPrefixSid(PSID, PSID);
+//     DWORD GetSidLengthRequired(UCHAR);
+//     WINBOOL AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY, ubyte, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
+//     PVOID FreeSid(PSID);
+//     WINBOOL InitializeSid(PSID, PSID_IDENTIFIER_AUTHORITY, ubyte);
+//     PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority(PSID);
+//     PDWORD GetSidSubAuthority(PSID, DWORD);
+//     PUCHAR GetSidSubAuthorityCount(PSID);
+//     DWORD GetLengthSid(PSID);
+//     WINBOOL CopySid(DWORD, PSID, PSID);
+//     WINBOOL AreAllAccessesGranted(DWORD, DWORD);
+//     WINBOOL AreAnyAccessesGranted(DWORD, DWORD);
+//     void MapGenericMask(PDWORD);
+//     WINBOOL IsValidAcl(PACL);
+//     WINBOOL InitializeAcl(PACL, DWORD, DWORD);
+//     WINBOOL GetAclInformation(PACL, LPVOID, DWORD, ACL_INFORMATION_CLASS);
+//     WINBOOL SetAclInformation(PACL, LPVOID, DWORD, ACL_INFORMATION_CLASS);
+//     WINBOOL AddAce(PACL, DWORD, DWORD, LPVOID, DWORD);
+//     WINBOOL DeleteAce(PACL, DWORD);
+//     WINBOOL GetAce(PACL, DWORD, LPVOID*);
+//     WINBOOL AddAccessAllowedAce(PACL, DWORD, DWORD, PSID);
+//     WINBOOL AddAccessDeniedAce(PACL, DWORD, DWORD, PSID);
+//     WINBOOL AddAuditAccessAce(PACL, DWORD, DWORD, PSID, WINBOOL, WINBOOL);
+//     WINBOOL FindFirstFreeAce(PACL, LPVOID*);
+//     WINBOOL InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR, DWORD);
+//     WINBOOL IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
+//     DWORD GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
+//     WINBOOL GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL, LPDWORD);
+//     WINBOOL SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, WINBOOL, PACL, WINBOOL);
+//     WINBOOL GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL);
+//     WINBOOL SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, WINBOOL, PACL, WINBOOL);
+//     WINBOOL GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL);
+//     WINBOOL SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, WINBOOL);
+//     WINBOOL GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID*, LPBOOL);
+//     WINBOOL SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, WINBOOL);
+//     WINBOOL GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID*, LPBOOL);
+//     WINBOOL CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR*, WINBOOL, HANDLE, PGENERIC_MAPPING);
+//     WINBOOL SetPrivateObjectSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR*, PGENERIC_MAPPING, HANDLE);
+//     WINBOOL GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
+//     WINBOOL DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR);
+//     WINBOOL MakeSelfRelativeSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, LPDWORD);
+//     WINBOOL MakeAbsoluteSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, LPDWORD, PACL, LPDWORD, PACL, LPDWORD, PSID, LPDWORD, PSID, LPDWORD);
+//     WINBOOL SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
+//     WINBOOL FindNextChangeNotification(HANDLE);
+//     WINBOOL FindCloseChangeNotification(HANDLE);
+//     WINBOOL VirtualLock(LPVOID, DWORD);
+//     WINBOOL VirtualUnlock(LPVOID, DWORD);
+//     LPVOID MapViewOfFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPVOID);
+//     WINBOOL SetPriorityClass(HANDLE, DWORD);
+//     DWORD GetPriorityClass(HANDLE);
+//     WINBOOL IsBadReadPtr(POINTER, UINT);
+//     WINBOOL IsBadWritePtr(LPVOID, UINT);
+//     WINBOOL IsBadHugeReadPtr(POINTER, UINT);
+//     WINBOOL IsBadHugeWritePtr(LPVOID, UINT);
+//     WINBOOL IsBadCodePtr(FARPROC);
+//     WINBOOL AllocateLocallyUniqueId(PLUID);
+//     WINBOOL QueryPerformanceCounter(PLARGE_INTEGER);
+//     WINBOOL QueryPerformanceFrequency(PLARGE_INTEGER);
+//     WINBOOL ActivateKeyboardLayout(HKL, UINT);
+//     WINBOOL UnloadKeyboardLayout(HKL);
+//     int GetKeyboardLayoutList(int, HKL*);
+//     HKL GetKeyboardLayout(DWORD);
+//     HDESK OpenInputDesktop(DWORD, WINBOOL, DWORD);
+//     WINBOOL EnumDesktopWindows(HDESK, ENUMWINDOWSPROC, LPARAM);
+//     WINBOOL SwitchDesktop(HDESK);
+//     WINBOOL SetThreadDesktop(HDESK);
+//     WINBOOL CloseDesktop(HDESK);
+//     HDESK GetThreadDesktop(DWORD);
+//     WINBOOL CloseWindowStation(HWINSTA);
+//     WINBOOL SetProcessWindowStation(HWINSTA);
+//     HWINSTA GetProcessWindowStation();
+//     WINBOOL SetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
+//     WINBOOL GetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
+//     WINBOOL TranslateMessage(LPMSG);
+//     WINBOOL SetMessageQueue(int);
+//     WINBOOL RegisterHotKey(HWND, int, UINT, UINT);
+//     WINBOOL UnregisterHotKey(HWND, int);
+//     WINBOOL ExitWindowsEx(UINT, DWORD);
+//     WINBOOL SwapMouseButton(WINBOOL);
+//     DWORD GetMessagePos();
+//     LONG GetMessageTime();
+//     LONG GetMessageExtraInfo();
+//     LPARAM SetMessageExtraInfo(LPARAM);
+//     int BroadcastSystemMessage(DWORD, LPDWORD, UINT, WPARAM, LPARAM);
+//     WINBOOL AttachThreadInput(DWORD, DWORD, WINBOOL);
+//     WINBOOL ReplyMessage(LRESULT);
+//     WINBOOL WaitMessage();
+//     DWORD WaitForInputIdle(HANDLE, DWORD);
+//     void PostQuitMessage(int);
+//     WINBOOL InSendMessage();
+//     UINT GetDoubleClickTime();
+//     WINBOOL SetDoubleClickTime(UINT);
+//     WINBOOL IsWindow(HWND);
+//     WINBOOL IsMenu(HMENU);
+//     WINBOOL IsChild(HWND, HWND);
+//     WINBOOL DestroyWindow(HWND);
+    WINBOOL ShowWindow(HWND, int);
+//     WINBOOL ShowWindowAsync(HWND, int);
+//     WINBOOL FlashWindow(HWND, WINBOOL);
+//     WINBOOL ShowOwnedPopups(HWND, WINBOOL);
+//     WINBOOL OpenIcon(HWND);
+//     WINBOOL CloseWindow(HWND);
+//     WINBOOL MoveWindow(HWND, int, int, int, int, WINBOOL);
+//     WINBOOL SetWindowPos(HWND, HWND, int, int, int, int, UINT);
+//     WINBOOL GetWindowPlacement(HWND, WINDOWPLACEMENT*);
+//     WINBOOL SetWindowPlacement(HWND, WINDOWPLACEMENT*);
+//     HDWP BeginDeferWindowPos(int);
+//     HDWP DeferWindowPos(HDWP, HWND, HWND, int, int, int, int, UINT);
+//     WINBOOL EndDeferWindowPos(HDWP);
+//     WINBOOL IsWindowVisible(HWND);
+//     WINBOOL IsIconic(HWND);
+//     WINBOOL AnyPopup();
+//     WINBOOL BringWindowToTop(HWND);
+//     WINBOOL IsZoomed(HWND);
+//     WINBOOL EndDialog(HWND, int);
+    HWND GetDlgItem(HWND, int);
+//     WINBOOL SetDlgItemInt(HWND, int, UINT, WINBOOL);
+//     UINT GetDlgItemInt(HWND, int, WINBOOL*, WINBOOL);
+//     WINBOOL CheckDlgButton(HWND, int, UINT);
+//     WINBOOL CheckRadioButton(HWND, int, int, int);
+//     UINT IsDlgButtonChecked(HWND, int);
+//     HWND GetNextDlgGroupItem(HWND, HWND, WINBOOL);
+//     HWND GetNextDlgTabItem(HWND, HWND, WINBOOL);
+//     int GetDlgCtrlID(HWND);
+//     int GetDialogBaseUnits();
+//     WINBOOL OpenClipboard(HWND);
+//     WINBOOL CloseClipboard();
+//     HWND GetClipboardOwner();
+//     HWND SetClipboardViewer(HWND);
+//     HWND GetClipboardViewer();
+//     WINBOOL ChangeClipboardChain(HWND, HWND);
+//     HANDLE SetClipboardData(UINT, HANDLE);
+//     HANDLE GetClipboardData(UINT);
+//     int CountClipboardFormats();
+//     UINT EnumClipboardFormats(UINT);
+//     WINBOOL EmptyClipboard();
+//     WINBOOL IsClipboardFormatAvailable(UINT);
+//     int GetPriorityClipboardFormat(UINT*, int);
+//     HWND GetOpenClipboardWindow();
+//     LPSTR CharNextExA(ushort, LPCSTR, DWORD);
+//     LPSTR CharPrevExA(ushort, LPCSTR, LPCSTR, DWORD);
+    HWND SetFocus(HWND);
+//     HWND GetActiveWindow();
+    HWND GetFocus();
+//     UINT GetKBCodePage();
+//     SHORT GetKeyState(int);
+    SHORT GetAsyncKeyState(int);
+//     WINBOOL GetKeyboardState(PBYTE);
+//     WINBOOL SetKeyboardState(LPBYTE);
+//     int GetKeyboardType(int);
+//     int ToAscii(UINT, UINT, PBYTE, LPWORD, UINT);
+//     int ToAsciiEx(UINT, UINT, PBYTE, LPWORD, UINT, HKL);
+//     int ToUnicode(UINT, UINT, PBYTE, LPWSTR, int, UINT);
+//     DWORD OemKeyScan(ushort);
+//     void keybd_event(ubyte, ubyte, DWORD);
+//     void mouse_event(DWORD, DWORD, DWORD, DWORD);
+//     WINBOOL GetInputState();
+//     DWORD GetQueueStatus(UINT);
+//     HWND GetCapture();
+//     HWND SetCapture(HWND);
+//     WINBOOL ReleaseCapture();
+//     DWORD MsgWaitForMultipleObjects(DWORD, LPHANDLE, WINBOOL, DWORD, DWORD);
+//     UINT SetTimer(HWND, UINT, UINT, TIMERPROC);
+//     WINBOOL KillTimer(HWND, UINT);
+//     WINBOOL IsWindowUnicode(HWND);
+//     WINBOOL EnableWindow(HWND, WINBOOL);
+//     WINBOOL IsWindowEnabled(HWND);
+//     WINBOOL DestroyAcceleratorTable(HACCEL);
+//     int GetSystemMetrics(int);
+//     HMENU GetMenu(HWND);
+//     WINBOOL SetMenu(HWND, HMENU);
+//     WINBOOL HiliteMenuItem(HWND, HMENU, UINT, UINT);
+//     UINT GetMenuState(HMENU, UINT, UINT);
+//     WINBOOL DrawMenuBar(HWND);
+//     HMENU GetSystemMenu(HWND, WINBOOL);
+//     HMENU CreateMenu();
+//     HMENU CreatePopupMenu();
+//     WINBOOL DestroyMenu(HMENU);
+//     DWORD CheckMenuItem(HMENU, UINT, UINT);
+//     WINBOOL EnableMenuItem(HMENU, UINT, UINT);
+//     HMENU GetSubMenu(HMENU, int);
+//     UINT GetMenuItemID(HMENU, int);
+//     int GetMenuItemCount(HMENU);
+//     WINBOOL RemoveMenu(HMENU, UINT, UINT);
+//     WINBOOL DeleteMenu(HMENU, UINT, UINT);
+//     WINBOOL SetMenuItemBitmaps(HMENU, UINT, UINT, HBITMAP, HBITMAP);
+//     LONG GetMenuCheckMarkDimensions();
+    WINBOOL TrackPopupMenu(HMENU, UINT, int, int, int, HWND, RECT*);
+//     UINT GetMenuDefaultItem(HMENU, UINT, UINT);
+//     WINBOOL SetMenuDefaultItem(HMENU, UINT, UINT);
+//     WINBOOL GetMenuItemRect(HWND, HMENU, UINT, LPRECT);
+//     int MenuItemFromPoint(HWND, HMENU, POINT);
+//     DWORD DragObject(HWND, HWND, UINT, DWORD, HCURSOR);
+//     WINBOOL DragDetect(HWND, POINT);
+//     WINBOOL DrawIcon(HDC, int, int, HICON);
+    WINBOOL UpdateWindow(HWND);
+    HWND SetActiveWindow(HWND);
+//     HWND GetForegroundWindow();
+//     WINBOOL PaintDesktop(HDC);
+    WINBOOL SetForegroundWindow(HWND);
+    HWND WindowFromDC(HDC);
+    HDC GetDC(HWND);
+    HDC GetDCEx(HWND, HRGN, DWORD);
+    HDC GetWindowDC(HWND);
+    int ReleaseDC(HWND, HDC);
+    HDC BeginPaint(HWND, LPPAINTSTRUCT);
+    WINBOOL EndPaint(HWND, LPPAINTSTRUCT);
+    WINBOOL GetUpdateRect(HWND, LPRECT, WINBOOL);
+    int GetUpdateRgn(HWND, HRGN, WINBOOL);
+    int SetWindowRgn(HWND, HRGN, WINBOOL);
+    int GetWindowRgn(HWND, HRGN);
+//     int ExcludeUpdateRgn(HDC, HWND);
+    WINBOOL InvalidateRect(HWND, RECT*, WINBOOL);
+    WINBOOL ValidateRect(HWND, RECT*);
+    WINBOOL InvalidateRgn(HWND, HRGN, WINBOOL);
+//     WINBOOL ValidateRgn(HWND, HRGN);
+    WINBOOL RedrawWindow(HWND, RECT*, HRGN, UINT);
+//     WINBOOL LockWindowUpdate(HWND);
+//     WINBOOL ScrollWindow(HWND, int, int, RECT*, RECT*);
+//     WINBOOL ScrollDC(HDC, int, int, RECT*, RECT*, HRGN, LPRECT);
+    int ScrollWindowEx(HWND, int, int, RECT*, RECT*, HRGN, LPRECT, UINT);
+//     int SetScrollPos(HWND, int, int, WINBOOL);
+//     int GetScrollPos(HWND, int);
+//     WINBOOL SetScrollRange(HWND, int, int, int, WINBOOL);
+//     WINBOOL GetScrollRange(HWND, int, LPINT, LPINT);
+    WINBOOL ShowScrollBar(HWND, int, WINBOOL);
+    WINBOOL EnableScrollBar(HWND, UINT, UINT);
+    WINBOOL GetClientRect(HWND, LPRECT);
+    WINBOOL GetWindowRect(HWND, LPRECT);
+//     WINBOOL AdjustWindowRect(LPRECT, DWORD, WINBOOL);
+//     WINBOOL AdjustWindowRectEx(LPRECT, DWORD, WINBOOL, DWORD);
+//     WINBOOL SetWindowContextHelpId(HWND, DWORD);
+//     DWORD GetWindowContextHelpId(HWND);
+//     WINBOOL SetMenuContextHelpId(HMENU, DWORD);
+//     DWORD GetMenuContextHelpId(HMENU);
+//     WINBOOL MessageBeep(UINT);
+//     int ShowCursor(WINBOOL);
+    WINBOOL SetCursorPos(int, int);
+    HCURSOR SetCursor(HCURSOR);
+//     WINBOOL GetCursorPos(LPPOINT);
+//     WINBOOL ClipCursor(RECT*);
+//     WINBOOL GetClipCursor(LPRECT);
+//     HCURSOR GetCursor();
+    WINBOOL CreateCaret(HWND, HBITMAP, int, int);
+//     UINT GetCaretBlinkTime();
+//     WINBOOL SetCaretBlinkTime(UINT);
+//     WINBOOL DestroyCaret();
+    WINBOOL HideCaret(HWND);
+    WINBOOL ShowCaret(HWND);
+//     WINBOOL SetCaretPos(int, int);
+//     WINBOOL GetCaretPos(LPPOINT);
+    WINBOOL ClientToScreen(HWND, LPPOINT);
+    WINBOOL ScreenToClient(HWND, LPPOINT);
+    int MapWindowPoints(HWND, HWND, LPPOINT, UINT);
+    HWND WindowFromPoint(POINT);
+//     HWND ChildWindowFromPoint(HWND, POINT);
+//     DWORD GetSysColor(int);
+//     HBRUSH GetSysColorBrush(int);
+//     WINBOOL SetSysColors(int, WINT*, COLORREF*);
+//     WINBOOL DrawFocusRect(HDC, RECT*);
+    int FillRect(HDC, RECT*, HBRUSH);
+//     int FrameRect(HDC, RECT*, HBRUSH);
+//     WINBOOL InvertRect(HDC, RECT*);
+//     WINBOOL SetRect(LPRECT, int, int, int, int);
+//     WINBOOL SetRectEmpty(LPRECT);
+//     WINBOOL CopyRect(LPRECT, RECT*);
+//     WINBOOL InflateRect(LPRECT, int, int);
+//     WINBOOL IntersectRect(LPRECT, RECT*, RECT*);
+//     WINBOOL UnionRect(LPRECT, RECT*, RECT*);
+//     WINBOOL SubtractRect(LPRECT, RECT*, RECT*);
+    WINBOOL OffsetRect(LPRECT, int, int);
+//     WINBOOL IsRectEmpty(RECT*);
+//     WINBOOL EqualRect(RECT*, RECT*);
+//     WINBOOL PtInRect(RECT*, POINT);
+//     ushort GetWindowWord(HWND, int);
+//     ushort SetWindowWord(HWND, int, ushort);
+//     ushort GetClassWord(HWND, int);
+//     ushort SetClassWord(HWND, int, ushort);
+//     HWND GetDesktopWindow();
+//     HWND GetParent(HWND);
+//     HWND SetParent(HWND, HWND);
+//     WINBOOL EnumChildWindows(HWND, ENUMWINDOWSPROC, LPARAM);
+//     WINBOOL EnumWindows(ENUMWINDOWSPROC, LPARAM);
+//     WINBOOL EnumThreadWindows(DWORD, ENUMWINDOWSPROC, LPARAM);
+//     HWND GetTopWindow(HWND);
+//     DWORD GetWindowThreadProcessId(HWND, LPDWORD);
+//     HWND GetLastActivePopup(HWND);
+//     HWND GetWindow(HWND, UINT);
+//     WINBOOL UnhookWindowsHook(int, HOOKPROC);
+//     WINBOOL UnhookWindowsHookEx(HHOOK);
+//     LRESULT CallNextHookEx(HHOOK, int, WPARAM, LPARAM);
+//     WINBOOL CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT);
+//     HCURSOR CreateCursor(HINST, int, int, int, int, POINTER, POINTER);
+//     WINBOOL DestroyCursor(HCURSOR);
+//     WINBOOL SetSystemCursor(HCURSOR, DWORD);
+//     HICON CreateIcon(HINST, int, int, ubyte, ubyte, ubyte*, ubyte*);
+//     WINBOOL DestroyIcon(HICON);
+//     int LookupIconIdFromDirectory(PBYTE, WINBOOL);
+//     int LookupIconIdFromDirectoryEx(PBYTE, WINBOOL, int, int, UINT);
+//     HICON CreateIconFromResource(PBYTE, DWORD, WINBOOL, DWORD);
+//     HICON CreateIconFromResourceEx(PBYTE, DWORD, WINBOOL, DWORD, int, int, UINT);
+//     HICON CopyImage(HANDLE, UINT, int, int, UINT);
+//     HICON CreateIconIndirect(PICONINFO);
+//     HICON CopyIcon(HICON);
+//     WINBOOL GetIconInfo(HICON, PICONINFO);
+//     WINBOOL MapDialogRect(HWND, LPRECT);
+//     int SetScrollInfo(HWND, int, LPCSCROLLINFO, WINBOOL);
+//     WINBOOL GetScrollInfo(HWND, int, LPSCROLLINFO);
+//     WINBOOL TranslateMDISysAccel(HWND, LPMSG);
+//     UINT ArrangeIconicWindows(HWND);
+//     ushort TileWindows(HWND, UINT, RECT*, UINT, HWND*);
+//     ushort CascadeWindows(HWND, UINT, RECT*, UINT, HWND*);
+//     void SetLastErrorEx(DWORD);
+//     void SetDebugErrorLevel(DWORD);
+//     WINBOOL DrawEdge(HDC, LPRECT, UINT, UINT);
+//     WINBOOL DrawFrameControl(HDC, LPRECT, UINT, UINT);
+//     WINBOOL DrawCaption(HWND, HDC, RECT*, UINT);
+//     WINBOOL DrawAnimatedRects(HWND, int, RECT*, RECT*);
+//     WINBOOL TrackPopupMenuEx(HMENU, UINT, int, int, HWND, LPTPMPARAMS);
+//     HWND ChildWindowFromPointEx(HWND, POINT, UINT);
+//     WINBOOL DrawIconEx(HDC, int, int, HICON, int, int, UINT, HBRUSH, UINT);
+//     WINBOOL AnimatePalette(HPALETTE, UINT, UINT, PALETTEENTRY*);
+//     WINBOOL Arc(HDC, int, int, int, int, int, int, int, int);
+//     WINBOOL BitBlt(HDC, int, int, int, int, HDC, int, int, DWORD);
+//     WINBOOL CancelDC(HDC);
+//     WINBOOL Chord(HDC, int, int, int, int, int, int, int, int);
+//     HMETAFILE CloseMetaFile(HDC);
+//     int CombineRgn(HRGN, HRGN, HRGN, int);
+//     HBITMAP CreateBitmap(int, int, UINT, UINT, POINTER);
+//     HBITMAP CreateBitmapIndirect(BITMAP*);
+//     HBRUSH CreateBrushIndirect(LOGBRUSH*);
+//     HBITMAP CreateCompatibleBitmap(HDC, int, int);
+//     HBITMAP CreateDiscardableBitmap(HDC, int, int);
+    HDC CreateCompatibleDC(HDC);
+//     HBITMAP CreateDIBitmap(HDC, BITMAPINFOHEADER*, DWORD, POINTER, BITMAPINFO*, UINT);
+//     HBRUSH CreateDIBPatternBrush(HGLOBAL, UINT);
+//     HBRUSH CreateDIBPatternBrushPt(POINTER, UINT);
+//     HRGN CreateEllipticRgn(int, int, int, int);
+//     HRGN CreateEllipticRgnIndirect(RECT*);
+//     HBRUSH CreateHatchBrush(int, COLORREF);
+//     HPALETTE CreatePalette(LOGPALETTE*);
+    HPEN CreatePen(int, int, COLORREF);
+//     HPEN CreatePenIndirect(LOGPEN*);
+//     HRGN CreatePolyPolygonRgn(POINT*, WINT*, int, int);
+//     HBRUSH CreatePatternBrush(HBITMAP);
+    HRGN CreateRectRgn(int, int, int, int);
+//     HRGN CreateRectRgnIndirect(RECT*);
+//     HRGN CreateRoundRectRgn(int, int, int, int, int, int);
+//     HBRUSH CreateSolidBrush(COLORREF);
+    WINBOOL DeleteDC(HDC);
+//     WINBOOL DeleteMetaFile(HMETAFILE);
+    WINBOOL DeleteObject(HGDIOBJ);
+//     int DrawEscape(HDC, int, int, LPCSTR);
+//     WINBOOL Ellipse(HDC, int, int, int, int);
+//     int EnumObjects(HDC, int, ENUMOBJECTSPROC, LPARAM);
+//     WINBOOL EqualRgn(HRGN, HRGN);
+//     int Escape(HDC, int, int, LPCSTR, LPVOID);
+//     int ExtEscape(HDC, int, int, LPCSTR, int, LPSTR);
+    int ExcludeClipRect(HDC, int, int, int, int);
+    HRGN ExtCreateRegion(XFORM*, DWORD, RGNDATA*);
+//     WINBOOL ExtFloodFill(HDC, int, int, COLORREF, UINT);
+//     WINBOOL FillRgn(HDC, HRGN, HBRUSH);
+//     WINBOOL FloodFill(HDC, int, int, COLORREF);
+//     WINBOOL FrameRgn(HDC, HRGN, HBRUSH, int, int);
+//     int GetROP2(HDC);
+//     WINBOOL GetAspectRatioFilterEx(HDC, LPSIZE);
+//     COLORREF GetBkColor(HDC);
+//     int GetBkMode(HDC);
+//     LONG GetBitmapBits(HBITMAP, LONG, LPVOID);
+//     WINBOOL GetBitmapDimensionEx(HBITMAP, LPSIZE);
+//     UINT GetBoundsRect(HDC, LPRECT, UINT);
+//     WINBOOL GetBrushOrgEx(HDC, LPPOINT);
+    int GetClipBox(HDC, LPRECT);
+    int GetClipRgn(HDC, HRGN);
+    int GetMetaRgn(HDC, HRGN);
+    HGDIOBJ GetCurrentObject(HDC, UINT);
+//     WINBOOL GetCurrentPositionEx(HDC, LPPOINT);
+    int GetDeviceCaps(HDC, int);
+//     int GetDIBits(HDC, HBITMAP, UINT, UINT, LPVOID, LPBITMAPINFO, UINT);
+//     DWORD GetFontData(HDC, DWORD, DWORD, LPVOID, DWORD);
+//     int GetGraphicsMode(HDC);
+//     int GetMapMode(HDC);
+//     UINT GetMetaFileBitsEx(HMETAFILE, UINT, LPVOID);
+//     COLORREF GetNearestColor(HDC, COLORREF);
+//     UINT GetNearestPaletteIndex(HPALETTE, COLORREF);
+//     DWORD GetObjectType(HGDIOBJ);
+//     UINT GetPaletteEntries(HPALETTE, UINT, UINT, LPPALETTEENTRY);
+//     COLORREF GetPixel(HDC, int, int);
+//     int GetPixelFormat(HDC);
+    int GetPolyFillMode(HDC);
+//     WINBOOL GetRasterizerCaps(LPRASTERIZER_STATUS, UINT);
+//     DWORD GetRegionData(HRGN, DWORD, LPRGNDATA);
+//     int GetRgnBox(HRGN, LPRECT);
+    HGDIOBJ GetStockObject(int);
+//     int GetStretchBltMode(HDC);
+//     UINT GetSystemPaletteEntries(HDC, UINT, UINT, LPPALETTEENTRY);
+//     UINT GetSystemPaletteUse(HDC);
+//     int GetTextCharacterExtra(HDC);
+//     UINT GetTextAlign(HDC);
+//     COLORREF GetTextColor(HDC);
+//     int GetTextCharset(HDC);
+//     int GetTextCharsetInfo(HDC, LPFONTSIGNATURE, DWORD);
+//     WINBOOL TranslateCharsetInfo(DWORD*, LPCHARSETINFO, DWORD);
+//     DWORD GetFontLanguageInfo(HDC);
+//     WINBOOL GetViewportExtEx(HDC, LPSIZE);
+//     WINBOOL GetViewportOrgEx(HDC, LPPOINT);
+//     WINBOOL GetWindowExtEx(HDC, LPSIZE);
+    WINBOOL GetWindowOrgEx(HDC, LPPOINT);
+//     int IntersectClipRect(HDC, int, int, int, int);
+//     WINBOOL InvertRgn(HDC, HRGN);
+//     WINBOOL LineDDA(int, int, int, int, LINEDDAPROC, LPARAM);
+    WINBOOL LineTo(HDC, int, int);
+//     WINBOOL MaskBlt(HDC, int, int, int, int, HDC, int, int, HBITMAP, int, int, DWORD);
+//     WINBOOL PlgBlt(HDC, POINT*, HDC, int, int, int, int, HBITMAP, int, int);
+//     int OffsetClipRgn(HDC, int, int);
+//     int OffsetRgn(HRGN, int, int);
+//     WINBOOL PatBlt(HDC, int, int, int, int, DWORD);
+//     WINBOOL Pie(HDC, int, int, int, int, int, int, int, int);
+//     WINBOOL PlayMetaFile(HDC, HMETAFILE);
+//     WINBOOL PaintRgn(HDC, HRGN);
+//     WINBOOL PolyPolygon(HDC, POINT*, WINT*, int);
+//     WINBOOL PtInRegion(HRGN, int, int);
+//     WINBOOL PtVisible(HDC, int, int);
+//     WINBOOL RectInRegion(HRGN, RECT*);
+//     WINBOOL RectVisible(HDC, RECT*);
+//     WINBOOL Rectangle(HDC, int, int, int, int);
+//     WINBOOL RestoreDC(HDC, int);
+//     UINT RealizePalette(HDC);
+    WINBOOL RoundRect(HDC, int, int, int, int, int, int);
+//     WINBOOL ResizePalette(HPALETTE, UINT);
+    int SaveDC(HDC);
+    int SelectClipRgn(HDC, HRGN);
+//     int ExtSelectClipRgn(HDC, HRGN, int);
+    int SetMetaRgn(HDC);
+    HGDIOBJ SelectObject(HDC, HGDIOBJ);
+    HPALETTE SelectPalette(HDC, HPALETTE, WINBOOL);
+    COLORREF SetBkColor(HDC, COLORREF);
+    int SetBkMode(HDC, int);
+//     LONG SetBitmapBits(HBITMAP, DWORD, POINTER);
+//     UINT SetBoundsRect(HDC, RECT*, UINT);
+//     int SetDIBits(HDC, HBITMAP, UINT, UINT, POINTER, PBITMAPINFO, UINT);
+//     int SetDIBitsToDevice(HDC, int, int, DWORD, DWORD, int, int, UINT, UINT, POINTER, BITMAPINFO*, UINT);
+//     DWORD SetMapperFlags(HDC, DWORD);
+    int SetGraphicsMode(HDC, int);
+//     int SetMapMode(HDC, int);
+//     HMETAFILE SetMetaFileBitsEx(UINT, ubyte*);
+//     UINT SetPaletteEntries(HPALETTE, UINT, UINT, PALETTEENTRY*);
+    COLORREF SetPixel(HDC, int, int, COLORREF);
+//     WINBOOL SetPixelV(HDC, int, int, COLORREF);
+    int SetPolyFillMode(HDC, int);
+    WINBOOL StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD);
+    WINBOOL SetRectRgn(HRGN, int, int, int, int);
+//     int StretchDIBits(HDC, int, int, int, int, int, int, int, int, POINTER, BITMAPINFO*, UINT, DWORD);
+    int SetROP2(HDC, int);
+    int SetStretchBltMode(HDC, int);
+//     UINT SetSystemPaletteUse(HDC, UINT);
+//     int SetTextCharacterExtra(HDC, int);
+    COLORREF SetTextColor(HDC, COLORREF);
+    UINT SetTextAlign(HDC, UINT);
+//     WINBOOL SetTextJustification(HDC, int, int);
+//     WINBOOL UpdateColors(HDC);
+//     WINBOOL PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, UINT);
+//     WINBOOL EnumMetaFile(HDC, HMETAFILE, ENUMMETAFILEPROC, LPARAM);
+//     HENHMETAFILE CloseEnhMetaFile(HDC);
+//     WINBOOL DeleteEnhMetaFile(HENHMETAFILE);
+//     WINBOOL EnumEnhMetaFile(HDC, HENHMETAFILE, ENHMETAFILEPROC, LPVOID, RECT*);
+//     UINT GetEnhMetaFileHeader(HENHMETAFILE, UINT, LPENHMETAHEADER);
+//     UINT GetEnhMetaFilePaletteEntries(HENHMETAFILE, UINT, LPPALETTEENTRY);
+//     UINT GetWinMetaFileBits(HENHMETAFILE, UINT, LPBYTE, WINT, HDC);
+//     WINBOOL PlayEnhMetaFile(HDC, HENHMETAFILE, RECT*);
+//     WINBOOL PlayEnhMetaFileRecord(HDC, LPHANDLETABLE, ENHMETARECORD*, UINT);
+//     HENHMETAFILE SetEnhMetaFileBits(UINT, ubyte*);
+//     HENHMETAFILE SetWinMetaFileBits(UINT, ubyte*, HDC, METAFILEPICT*);
+//     WINBOOL GdiComment(HDC, UINT, ubyte*);
+//     WINBOOL AngleArc(HDC, int, int, DWORD, FLOAT, FLOAT);
+//     WINBOOL PolyPolyline(HDC, POINT*, DWORD*, DWORD);
+//     WINBOOL GetWorldTransform(HDC, LPXFORM);
+    WINBOOL SetWorldTransform(HDC, XFORM*);
+//     WINBOOL ModifyWorldTransform(HDC, XFORM*, DWORD);
+//     WINBOOL CombineTransform(LPXFORM, XFORM*, XFORM*);
+//     HBITMAP CreateDIBSection(HDC, BITMAPINFO*, UINT, POINTER*, HANDLE, DWORD);
+//     UINT GetDIBColorTable(HDC, UINT, UINT, RGBQUAD*);
+//     UINT SetDIBColorTable(HDC, UINT, UINT, RGBQUAD*);
+//     WINBOOL SetColorAdjustment(HDC, COLORADJUSTMENT*);
+//     WINBOOL GetColorAdjustment(HDC, LPCOLORADJUSTMENT);
+//     HPALETTE CreateHalftonePalette(HDC);
+//     int EndDoc(HDC);
+//     int StartPage(HDC);
+//     int EndPage(HDC);
+//     int AbortDoc(HDC);
+//     int SetAbortProc(HDC, TABORTPROC);
+//     WINBOOL ArcTo(HDC, int, int, int, int, int, int, int, int);
+    WINBOOL BeginPath(HDC);
+//     WINBOOL CloseFigure(HDC);
+    WINBOOL EndPath(HDC);
+//     WINBOOL FillPath(HDC);
+//     WINBOOL FlattenPath(HDC);
+    int GetPath(HDC, LPPOINT, LPBYTE, int);
+//     HRGN PathToRegion(HDC);
+//     WINBOOL PolyDraw(HDC, POINT*, ubyte*, int);
+//     WINBOOL SelectClipPath(HDC, int);
+//     int SetArcDirection(HDC, int);
+//     WINBOOL SetMiterLimit(HDC, FLOAT, PFLOAT);
+//     WINBOOL StrokeAndFillPath(HDC);
+//     WINBOOL StrokePath(HDC);
+//     WINBOOL WidenPath(HDC);
+    HPEN ExtCreatePen(DWORD, DWORD, LOGBRUSH*, DWORD, DWORD*);
+//     WINBOOL GetMiterLimit(HDC, PFLOAT);
+//     int GetArcDirection(HDC);
+    WINBOOL MoveToEx(HDC, int, int, LPPOINT);
+//     HRGN CreatePolygonRgn(POINT*, int, int);
+//     WINBOOL DPtoLP(HDC, LPPOINT, int);
+//     WINBOOL LPtoDP(HDC, LPPOINT, int);
+//     WINBOOL Polygon(HDC, POINT*, int);
+//     WINBOOL Polyline(HDC, POINT*, int);
+//     WINBOOL PolyBezier(HDC, POINT*, DWORD);
+//     WINBOOL PolyBezierTo(HDC, POINT*, DWORD);
+//     WINBOOL PolylineTo(HDC, POINT*, DWORD);
+//     WINBOOL SetViewportExtEx(HDC, int, int, LPSIZE);
+//     WINBOOL SetViewportOrgEx(HDC, int, int, LPPOINT);
+//     WINBOOL SetWindowExtEx(HDC, int, int, LPSIZE);
+    WINBOOL SetWindowOrgEx(HDC, int, int, LPPOINT);
+//     WINBOOL OffsetViewportOrgEx(HDC, int, int, LPPOINT);
+//     WINBOOL OffsetWindowOrgEx(HDC, int, int, LPPOINT);
+//     WINBOOL ScaleViewportExtEx(HDC, int, int, int, int, LPSIZE);
+//     WINBOOL ScaleWindowExtEx(HDC, int, int, int, int, LPSIZE);
+//     WINBOOL SetBitmapDimensionEx(HBITMAP, int, int, LPSIZE);
+    WINBOOL SetBrushOrgEx(HDC, int, int, LPPOINT);
+//     WINBOOL GetDCOrgEx(HDC, LPPOINT);
+//     WINBOOL FixBrushOrgEx(HDC, int, int, LPPOINT);
+//     WINBOOL UnrealizeObject(HGDIOBJ);
+//     WINBOOL GdiFlush();
+//     DWORD GdiSetBatchLimit(DWORD);
+//     DWORD GdiGetBatchLimit();
+//     int SetICMMode(HDC, int);
+//     WINBOOL CheckColorsInGamut(HDC, LPVOID, LPVOID, DWORD);
+//     HANDLE GetColorSpace(HDC);
+//     WINBOOL SetColorSpace(HDC, HCOLORSPACE);
+//     WINBOOL DeleteColorSpace(HCOLORSPACE);
+//     WINBOOL GetDeviceGammaRamp(HDC, LPVOID);
+//     WINBOOL SetDeviceGammaRamp(HDC, LPVOID);
+//     WINBOOL ColorMatchToTarget(HDC, HDC, DWORD);
+//     HPROPSHEETPAGE CreatePropertySheetPageA(LPCPROPSHEETPAGE);
+//     WINBOOL DestroyPropertySheetPage(HPROPSHEETPAGE);
+//     void InitCommonControls();
+//     HIMAGELIST ImageList_Create(int, int, UINT, int, int);
+//     WINBOOL ImageList_Destroy(HIMAGELIST);
+//     int ImageList_GetImageCount(HIMAGELIST);
+//     int ImageList_Add(HIMAGELIST, HBITMAP, HBITMAP);
+//     int ImageList_ReplaceIcon(HIMAGELIST, int, HICON);
+//     COLORREF ImageList_SetBkColor(HIMAGELIST, COLORREF);
+//     COLORREF ImageList_GetBkColor(HIMAGELIST);
+//     WINBOOL ImageList_SetOverlayImage(HIMAGELIST, int, int);
+//     WINBOOL ImageList_Draw(HIMAGELIST, int, HDC, int, int, UINT);
+//     WINBOOL ImageList_Replace(HIMAGELIST, int, HBITMAP, HBITMAP);
+//     int ImageList_AddMasked(HIMAGELIST, HBITMAP, COLORREF);
+//     WINBOOL ImageList_DrawEx(HIMAGELIST, int, HDC, int, int, int, int, COLORREF, COLORREF, UINT);
+//     WINBOOL ImageList_Remove(HIMAGELIST, int);
+//     HICON ImageList_GetIcon(HIMAGELIST, int, UINT);
+//     WINBOOL ImageList_BeginDrag(HIMAGELIST, int, int, int);
+//     void ImageList_EndDrag();
+//     WINBOOL ImageList_DragEnter(HWND, int, int);
+//     WINBOOL ImageList_DragLeave(HWND);
+//     WINBOOL ImageList_DragMove(int, int);
+//     WINBOOL ImageList_SetDragCursorImage(HIMAGELIST, int, int, int);
+//     WINBOOL ImageList_DragShowNolock(WINBOOL);
+//     HIMAGELIST ImageList_GetDragImage(POINT*, POINT*);
+//     WINBOOL ImageList_GetIconSize(HIMAGELIST, int*, int*);
+//     WINBOOL ImageList_SetIconSize(HIMAGELIST, int, int);
+//     WINBOOL ImageList_GetImageInfo(HIMAGELIST, int, IMAGEINFO*);
+//     HIMAGELIST ImageList_Merge(HIMAGELIST, int, HIMAGELIST, int, int, int);
+//     HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINST, UINT, LPCTBBUTTON, int, int, int, int, int, UINT);
+//     HBITMAP CreateMappedBitmap(HINST, int, UINT, LPCOLORMAP, int);
+//     void MenuHelp(UINT, WPARAM, LPARAM, HMENU, HINST, HWND);
+//     WINBOOL ShowHideMenuCtl(HWND, UINT, LPINT);
+//     void GetEffectiveClientRect(HWND, LPRECT);
+//     WINBOOL MakeDragList(HWND);
+//     void DrawInsert(HWND, HWND);
+//     int LBItemFromPt(HWND, POINT, WINBOOL);
+//     HWND CreateUpDownControl(DWORD, int, int, int, int, HWND, int, HINST, HWND, int, int, int);
+//     LONG RegCloseKey(HKEY);
+//     LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
+//     LONG RegFlushKey(HKEY);
+//     LONG RegGetKeySecurity(HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, LPDWORD);
+//     LONG RegNotifyChangeKeyValue(HKEY, WINBOOL, DWORD, HANDLE, WINBOOL);
+//     WINBOOL IsValidCodePage(UINT);
+//     UINT GetACP();
+//     UINT GetOEMCP();
+//     WINBOOL GetCPInfo(UINT, LPCPINFO);
+//     WINBOOL IsDBCSLeadByte(ubyte);
+//     WINBOOL IsDBCSLeadByteEx(UINT, ubyte);
+    int MultiByteToWideChar(UINT, DWORD, LPCSTR, int, LPWSTR, int);
+    int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, LPBOOL);
+//     WINBOOL IsValidLocale(LCID, DWORD);
+//     LCID ConvertDefaultLocale(LCID);
+//     LCID GetThreadLocale();
+//     WINBOOL SetThreadLocale(LCID);
+//     LANGID GetSystemDefaultLangID();
+//     LANGID GetUserDefaultLangID();
+//     LCID GetSystemDefaultLCID();
+//     LCID GetUserDefaultLCID();
+//     WINBOOL ReadConsoleOutputAttribute(HANDLE, LPWORD, DWORD, COORD, LPDWORD);
+//     WINBOOL WriteConsoleOutputAttribute(HANDLE, ushort*, DWORD, COORD, LPDWORD);
+//     WINBOOL FillConsoleOutputAttribute(HANDLE, ushort, DWORD, COORD, LPDWORD);
+//     WINBOOL GetConsoleMode(HANDLE, LPDWORD);
+//     WINBOOL GetNumberOfConsoleInputEvents(HANDLE, PDWORD);
+//     WINBOOL GetConsoleScreenBufferInfo(HANDLE, PCONSOLE_SCREEN_BUFFER_INFO);
+//     COORD GetLargestConsoleWindowSize(HANDLE);
+//     WINBOOL GetConsoleCursorInfo(HANDLE, PCONSOLE_CURSOR_INFO);
+//     WINBOOL GetNumberOfConsoleMouseButtons(LPDWORD);
+//     WINBOOL SetConsoleMode(HANDLE, DWORD);
+//     WINBOOL SetConsoleActiveScreenBuffer(HANDLE);
+//     WINBOOL FlushConsoleInputBuffer(HANDLE);
+//     WINBOOL SetConsoleScreenBufferSize(HANDLE, COORD);
+//     WINBOOL SetConsoleCursorPosition(HANDLE, COORD);
+//     WINBOOL SetConsoleCursorInfo(HANDLE, PCONSOLE_CURSOR_INFO);
+//     WINBOOL SetConsoleWindowInfo(HANDLE, WINBOOL, SMALL_RECT*);
+//     WINBOOL SetConsoleTextAttribute(HANDLE, ushort);
+//     WINBOOL SetConsoleCtrlHandler(PHANDLER_ROUTINE, WINBOOL);
+//     WINBOOL GenerateConsoleCtrlEvent(DWORD, DWORD);
+//     WINBOOL AllocConsole();
+//     WINBOOL FreeConsole();
+//     HANDLE CreateConsoleScreenBuffer(DWORD, DWORD, SECURITY_ATTRIBUTES*, DWORD, LPVOID);
+//     UINT GetConsoleCP();
+//     WINBOOL SetConsoleCP(UINT);
+//     UINT GetConsoleOutputCP();
+//     WINBOOL SetConsoleOutputCP(UINT);
+//     DWORD WNetConnectionDialog(HWND, DWORD);
+//     DWORD WNetDisconnectDialog(HWND, DWORD);
+//     DWORD WNetCloseEnum(HANDLE);
+//     WINBOOL CloseServiceHandle(SC_HANDLE);
+//     WINBOOL ControlService(SC_HANDLE, DWORD, LPSERVICE_STATUS);
+//     WINBOOL DeleteService(SC_HANDLE);
+//     SC_LOCK LockServiceDatabase(SC_HANDLE);
+//     WINBOOL NotifyBootConfigStatus(WINBOOL);
+//     WINBOOL QueryServiceObjectSecurity(SC_HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
+//     WINBOOL QueryServiceStatus(SC_HANDLE, LPSERVICE_STATUS);
+//     WINBOOL SetServiceObjectSecurity(SC_HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
+//     WINBOOL SetServiceStatus(SERVICE_STATUS_HANDLE, LPSERVICE_STATUS);
+//     WINBOOL UnlockServiceDatabase(SC_LOCK);
+//     int ChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR*);
+//     int DescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
+//     WINBOOL SetPixelFormat(HDC, int, PPIXELFORMATDESCRIPTOR);
+//     WINBOOL SwapBuffers(HDC);
+//     WINBOOL DragQueryPoint(HDROP, LPPOINT);
+//     void DragFinish(HDROP);
+//     void DragAcceptFiles(HWND, BOOL);
+//     HICON DuplicateIcon(HINST, HICON);
+//     BOOL DdeAbandonTransaction(DWORD, HCONV, DWORD);
+//     PBYTE DdeAccessData(HDDEDATA, PDWORD);
+//     HDDEDATA DdeAddData(HDDEDATA, PBYTE, DWORD, DWORD);
+//     HDDEDATA DdeClientTransaction(PBYTE, DWORD, HCONV, HSZ, UINT, UINT, DWORD, PDWORD);
+//     int DdeCmpStringHandles(HSZ, HSZ);
+//     HCONV DdeConnect(DWORD, HSZ, HSZ, CONVCONTEXT*);
+//     HCONVLIST DdeConnectList(DWORD, HSZ, HSZ, HCONVLIST, PCONVCONTEXT);
+//     HDDEDATA DdeCreateDataHandle(DWORD, LPBYTE, DWORD, DWORD, HSZ, UINT, UINT);
+//     WINBOOL DdeDisconnect(HCONV);
+//     BOOL DdeDisconnectList(HCONVLIST);
+//     BOOL DdeEnableCallback(DWORD, HCONV, UINT);
+//     WINBOOL DdeFreeDataHandle(HDDEDATA);
+//     WINBOOL DdeFreeStringHandle(DWORD, HSZ);
+//     DWORD DdeGetData(HDDEDATA, ubyte*, DWORD, DWORD);
+//     UINT DdeGetLastError(DWORD);
+//     BOOL DdeImpersonateClient(HCONV);
+//     BOOL DdeKeepStringHandle(DWORD, HSZ);
+//     HDDEDATA DdeNameService(DWORD, HSZ, HSZ, UINT);
+//     WINBOOL DdePostAdvise(DWORD, HSZ, HSZ);
+//     UINT DdeQueryConvInfo(HCONV, DWORD, PCONVINFO);
+//     HCONV DdeQueryNextServer(HCONVLIST, HCONV);
+//     HCONV DdeReconnect(HCONV);
+//     BOOL DdeSetUserHandle(HCONV, DWORD, DWORD);
+//     BOOL DdeUnaccessData(HDDEDATA);
+//     WINBOOL DdeUninitialize(DWORD);
+//     void SHAddToRecentDocs(UINT);
+//     LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO);
+//     void SHChangeNotify(LONG, UINT, LPCVOID);
+//     int SHFileOperation(LPSHFILEOPSTRUCT);
+//     void SHFreeNameMappings(HANDLE);
+//     DWORD SHGetFileInfo(LPCTSTR, DWORD, SHFILEINFO*, UINT, UINT);
+//     WINBOOL SHGetPathFromIDList(LPCITEMIDLIST, LPTSTR);
+//     HRESULT SHGetSpecialFolderLocation(HWND, int, LPITEMIDLIST*);
+//     THANDLE CreateThread(POINTER, DWORD, TFNTHREADSTARTROUTINE, POINTER, DWORD, DWORD*);
+//     BOOL DdeSetQualityOfService(HWND, TSECURITYQUALITYOFSERVICE*, PSECURITYQUALITYOFSERVICE);
+//     BOOL GetCommMask(THANDLE, DWORD*);
+//     BOOL GetDiskFreeSpaceExA(LPCSTR, void*, void*, PLARGEINTEGER);
+//     BOOL GetDiskFreeSpaceExW(LPWSTR, void*, void*, PLARGEINTEGER);
+//     DWORD GetKerningPairs(HDC, DWORD, void*);
+//     BOOL GetOverlappedResult(THANDLE, TOVERLAPPED*, DWORD*, BOOL);
+//     BOOL GetQueuedCompletionStatus(THANDLE, DWORD*, DWORD*, POVERLAPPED*, DWORD);
+//     BOOL GetSystemPowerStatus(TSYSTEMPOWERSTATUS*);
+//     BOOL ReadFile(THANDLE, void*, DWORD, DWORD*, POVERLAPPED);
+//     BOOL SetThreadContext(THANDLE, TCONTEXT*);
+//     BOOL wglDescribeLayerPlane(HDC, int, int, uint, TLAYERPLANEDESCRIPTOR*);
+//     int wglGetLayerPaletteEntries(HDC, int, int, int, void*);
+//     int wglSetLayerPaletteEntries(HDC, int, int, int, void*);
+//     DWORD WNetGetResourceParentA(PNETRESOURCEA, POINTER, DWORD*);
+//     BOOL WriteFile(THANDLE, void*, DWORD, DWORD*, POVERLAPPED);
+//
+//         BOOL CancelWaitableTimer(HANDLE hTimer);
+//         HANDLE OpenWaitableTimerA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpTimerName);
+//         HANDLE OpenWaitableTimerW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpTimerName);
+//         HANDLE CreateWaitableTimerA(LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCSTR lpTimerName);
+//         HANDLE CreateWaitableTimerW(LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCWSTR lpTimerName);
+//         BOOL SetWaitableTimer(HANDLE hTimer, LARGE_INTEGER* pDueTime, LONG lPeriod, PTIMERAPCROUTINE pfnCompletionRoutine, LPVOID lpArgToCompletionRoutine, BOOL fResume);
+}
+
+
+////////////////////////////////////////////////////////////////////////////////////////
+// dwt
+////////////////////////////////////////////////////////////////////////////////////////
 
 alias HANDLE HPAINTBUFFER;
 
@@ -218,7 +1959,7 @@
 HDWP BeginDeferWindowPos(
     int nNumWindows
 );
-alias STDWIN.BeginPaint BeginPaint;
+//alias STDWIN.BeginPaint BeginPaint;
 BOOL BitBlt(
     HDC hdcDest, // handle to destination device context
     int nXDest,  // x-coordinate of destination rectangle's upper-left corner
@@ -236,21 +1977,21 @@
 LRESULT CallNextHookEx(
     HHOOK hhk,      // handle to current hook
     int nCode,      // hook code passed to hook procedure
-    WPARAM_I wParam,  // value passed to hook procedure
+    WPARAM wParam,  // value passed to hook procedure
     LPARAM lParam   // value passed to hook procedure
 );
 LRESULT CallWindowProcA(
-    WNDPROC_I lpPrevWndFunc,  // pointer to previous procedure
+    WNDPROC lpPrevWndFunc,  // pointer to previous procedure
     HWND hWnd,              // handle to window
     UINT Msg,               // message
-    WPARAM_I wParam,          // first message parameter
+    WPARAM wParam,          // first message parameter
     LPARAM lParam           // second message parameter
 );
 LRESULT CallWindowProcW(
-    WNDPROC_I lpPrevWndFunc,  // pointer to previous procedure
+    WNDPROC lpPrevWndFunc,  // pointer to previous procedure
     HWND hWnd,              // handle to window
     UINT Msg,               // message
-    WPARAM_I wParam,          // first message parameter
+    WPARAM wParam,          // first message parameter
     LPARAM lParam           // second message parameter
 );
 LPSTR CharLowerA(
@@ -282,7 +2023,7 @@
 BOOL ChooseFontW(
     LPCHOOSEFONTW lpcf   // pointer to structure with initialization data
 );
-alias STDWIN.ClientToScreen ClientToScreen;
+//alias STDWIN.ClientToScreen ClientToScreen;
 BOOL CloseClipboard();
 int CombineRgn(
     HRGN hrgnDest,      // handle to destination region
@@ -290,7 +2031,7 @@
     HRGN hrgnSrc2,      // handle to source region
     int fnCombineMode   // region combining mode
 );
-alias STDWIN.CloseHandle CloseHandle;
+//alias STDWIN.CloseHandle CloseHandle;
 DWORD CommDlgExtendedError();
 
 version(WinCE){
@@ -325,13 +2066,13 @@
     UINT cBitsPerPel,   // number of bits required to identify a color
     VOID *lpvBits // pointer to array containing color data
 );
-alias STDWIN.CreateCaret CreateCaret;
+//alias STDWIN.CreateCaret CreateCaret;
 HBITMAP CreateCompatibleBitmap(
     HDC hdc,        // handle to device context
     int nWidth,     // width of bitmap, in pixels
     int nHeight     // height of bitmap, in pixels
 );
-alias STDWIN.CreateCompatibleDC CreateCompatibleDC;
+//alias STDWIN.CreateCompatibleDC CreateCompatibleDC;
 HCURSOR CreateCursor(
     HINSTANCE hInst,         // handle to application instance
     int xHotSpot,            // horizontal position of hot spot
@@ -383,8 +2124,8 @@
   LPCWSTR lpName      // pointer to event-object name
 );
 
-alias STDWIN.CreateFileA CreateFileA;
-alias STDWIN.CreateFileW CreateFileW;
+//alias STDWIN.CreateFileA CreateFileA;
+//alias STDWIN.CreateFileW CreateFileW;
 HFONT CreateFontIndirectA(LOGFONTA* lplf );
 HFONT CreateFontIndirectW(LOGFONTW* lplf );
 HICON CreateIconIndirect(
@@ -397,19 +2138,19 @@
 HBRUSH CreatePatternBrush(
     HBITMAP hbmp   // handle to bitmap
 );
-alias STDWIN.CreatePen CreatePen;
+//alias STDWIN.CreatePen CreatePen;
 HRGN CreatePolygonRgn(
     POINT *lppt,  // pointer to array of points
     int cPoints,        // number of points in array
     int fnPolyFillMode  // polygon-filling mode
 );
 HMENU CreatePopupMenu();
-alias STDWIN.CreateRectRgn CreateRectRgn;
+//alias STDWIN.CreateRectRgn CreateRectRgn;
 HBRUSH CreateSolidBrush(
     COLORREF crColor   // brush color value
 );
 
-alias STDWIN.CreateWindowExA CreateWindowExA;
+//alias STDWIN.CreateWindowExA CreateWindowExA;
 HWND CreateWindowExW(
     DWORD dwExStyle,      // extended window style
     LPCWSTR lpClassName,  // pointer to registered class name
@@ -429,33 +2170,33 @@
     HWND hWnd,           // handle to MDI frame window
     HWND hWndMDIClient,  // handle to MDI client window
     UINT uMsg,           // message
-    WPARAM_I wParam,       // first message parameter
+    WPARAM wParam,       // first message parameter
     LPARAM lParam        // second message parameter
 );
 LRESULT DefFrameProcW(
     HWND hWnd,           // handle to MDI frame window
     HWND hWndMDIClient,  // handle to MDI client window
     UINT uMsg,           // message
-    WPARAM_I wParam,       // first message parameter
+    WPARAM wParam,       // first message parameter
     LPARAM lParam        // second message parameter
 );
 LRESULT DefMDIChildProcA(
     HWND hWnd,      // handle to MDI child window
     UINT uMsg,      // message
-    WPARAM_I wParam,  // first message parameter
+    WPARAM wParam,  // first message parameter
     LPARAM lParam   // second message parameter
 );
 LRESULT DefMDIChildProcW(
     HWND hWnd,      // handle to MDI child window
     UINT uMsg,      // message
-    WPARAM_I wParam,  // first message parameter
+    WPARAM wParam,  // first message parameter
     LPARAM lParam   // second message parameter
 );
-alias STDWIN.DefWindowProcA DefWindowProcA;
+//alias STDWIN.DefWindowProcA DefWindowProcA;
 LRESULT DefWindowProcW(
     HWND hWnd,      // handle to window
     UINT Msg,       // message identifier
-    WPARAM_I wParam,  // first message parameter
+    WPARAM wParam,  // first message parameter
     LPARAM lParam   // second message parameter
 );
 
@@ -470,15 +2211,14 @@
     UINT uFlags            // window-positioning flags
 );
 
-alias STDWIN.DeleteDC DeleteDC;
-alias STDWIN.DeleteFileA DeleteFileA;
-alias STDWIN.DeleteFileW DeleteFileW;
+//alias STDWIN.DeleteDC DeleteDC;
+//alias STDWIN.DeleteFileA DeleteFileA;
 BOOL DeleteMenu(
     HMENU hMenu,     // handle to menu
     UINT uPosition,  // menu item identifier or position
     UINT uFlags      // menu item flag
 );
-alias STDWIN.DeleteObject DeleteObject;
+//alias STDWIN.DeleteObject DeleteObject;
 BOOL DestroyAcceleratorTable(
     HACCEL hAccel   // handle to accelerator table
 );
@@ -555,7 +2295,7 @@
     HBRUSH hbr,                  // handle to brush
     DRAWSTATEPROC lpOutputFunc,  // pointer to callback function
     LPARAM lData,                // image information
-    WPARAM_I wData,                // more image information
+    WPARAM wData,                // more image information
     int x,                       // horizontal location of image
     int y,                       // vertical location of image
     int cx,                      // width of image
@@ -567,7 +2307,7 @@
     HBRUSH hbr,                  // handle to brush
     DRAWSTATEPROC lpOutputFunc,  // pointer to callback function
     LPARAM lData,                // image information
-    WPARAM_I wData,                // more image information
+    WPARAM wData,                // more image information
     int x,                       // horizontal location of image
     int y,                       // vertical location of image
     int cx,                      // width of image
@@ -601,7 +2341,6 @@
     UINT uIDEnableItem,  // menu item to enable, disable, or gray
     UINT uEnable         // menu item flags
 );
-alias STDWIN.EnableScrollBar EnableScrollBar;
 BOOL EnableWindow(
     HWND hWnd,
     BOOL bEnable
@@ -611,7 +2350,6 @@
 );
 int EndDoc(HDC hDC);
 int EndPage(HDC hDC);
-alias STDWIN.EndPaint EndPaint;
 BOOL EnumDisplayMonitors(
     HDC hdc,                   // handle to display DC
     LPCRECT lprcClip,          // clipping rectangle
@@ -723,7 +2461,6 @@
     HICON *phiconSmall,
     UINT nIcons
 );
-alias STDWIN.FillRect FillRect;
 HRSRC FindResourceA(
     HMODULE hModule, // module handle
     LPCSTR lpName,  // pointer to resource name
@@ -762,7 +2499,6 @@
     //  va_list *Arguments  // pointer to array of message inserts
     void* Arguments
 );
-alias STDWIN.FreeLibrary FreeLibrary;
 DWORD GdiSetBatchLimit(
     DWORD dwLimit   // batch limit
 );
@@ -828,9 +2564,9 @@
     LPCWSTR lpClassName,    // address of class name string
     LPWNDCLASSW lpWndClass   // address of structure for class data
 );
-alias STDWIN.GetClientRect GetClientRect;
-alias STDWIN.GetClipBox GetClipBox;
-alias STDWIN.GetClipRgn GetClipRgn;
+//alias STDWIN.GetClientRect GetClientRect;
+//alias STDWIN.GetClipBox GetClipBox;
+//alias STDWIN.GetClipRgn GetClipRgn;
 HANDLE GetClipboardData(
     UINT uFormat   // clipboard format
 );
@@ -848,15 +2584,14 @@
     HWND hwndCombo,
     PCOMBOBOXINFO pcbi
 );
-alias STDWIN.GetCurrentObject GetCurrentObject;
+//alias STDWIN.GetCurrentObject GetCurrentObject;
 DWORD GetCurrentProcessId();
 DWORD GetCurrentThreadId();
 HCURSOR GetCursor();
 BOOL GetCursorPos(
     LPPOINT lpPoint   // address of structure for cursor position
 );
-alias STDWIN.GetDC GetDC;
-alias STDWIN.GetDCEx GetDCEx;
+//alias STDWIN.GetDC GetDC;
 UINT GetDIBColorTable(
     HDC hdc,          // handle to device context whose DIB is of
                 // interest
@@ -875,11 +2610,8 @@
     UINT uUsage        // RGB or palette index
 );
 HWND GetDesktopWindow();
-alias STDWIN.GetDeviceCaps GetDeviceCaps;
 int GetDialogBaseUnits();
-alias STDWIN.GetDlgItem GetDlgItem;
 int GetDoubleClickTime();
-alias STDWIN.GetFocus GetFocus;
 DWORD GetFontLanguageInfo(
     HDC hdc  // handle to a device context
 );
@@ -968,7 +2700,6 @@
     UINT uItem,
     LPRECT lprcItem
 );
-alias STDWIN.GetMessageA GetMessageA;
 BOOL GetMessageW(
     LPMSG lpMsg,         // address of structure with message
     HWND hWnd,           // handle of window
@@ -987,7 +2718,6 @@
     LPWSTR lpFilename,  // pointer to buffer to receive module path
     DWORD nSize         // size of buffer, in characters
 );
-alias STDWIN.GetModuleHandleA GetModuleHandleA;
 HMODULE GetModuleHandleW(
   LPCWSTR lpModuleName
 );
@@ -1003,8 +2733,6 @@
     HPALETTE hpal,     // handle of logical color palette
     COLORREF crColor   // color to be matched
 );
-alias STDWIN.GetObjectA GetObjectA;
-alias STDWIN.GetObjectW GetObjectW;
 BOOL GetOpenFileNameA(
     OPENFILENAMEA* lpofn   // address of structure with initialization data
 );
@@ -1026,7 +2754,6 @@
     int XPos,  // x-coordinate of pixel
     int nYPos  // y-coordinate of pixel
 );
-alias STDWIN.GetProcAddress GetProcAddress;
 HANDLE GetProcessHeap();
 DWORD GetProfileStringA(
     LPCSTR lpAppName,        // address of section name
@@ -1070,7 +2797,7 @@
     int fnBar,         // scroll bar flag
     LPSCROLLINFO lpsi  // pointer to structure for scroll parameters
 );
-alias STDWIN.GetStockObject GetStockObject;
+//alias STDWIN.GetStockObject GetStockObject;
 DWORD GetSysColor(
     int nIndex   // display element
 );
@@ -1108,14 +2835,13 @@
     int cbString,      // number of characters in string
     LPSIZE lpSize      // pointer to structure for string size
 );
-alias STDWIN.GetTextMetricsA GetTextMetricsA;
 BOOL GetTextMetricsW(
     HDC hdc,            // handle to device context
     TEXTMETRICW* lptm   // pointer to text metrics structure
 );
 DWORD GetTickCount();
-alias STDWIN.GetUpdateRect GetUpdateRect;
-alias STDWIN.GetUpdateRgn GetUpdateRgn;
+//alias STDWIN.GetUpdateRect GetUpdateRect;
+//alias STDWIN.GetUpdateRgn GetUpdateRgn;
 DWORD GetVersion();
 BOOL GetVersionExA(
     LPOSVERSIONINFOA lpVersionInformation   // pointer to version information structure
@@ -1133,8 +2859,6 @@
     HWND hWnd,
     WINDOWPLACEMENT *lpwndpl
 );
-alias STDWIN.GetWindowRect GetWindowRect;
-alias STDWIN.GetWindowRgn GetWindowRgn;
 int GetWindowTextA(
   HWND hWnd,        // handle to window or control with text
   LPSTR lpString,  // address of buffer for text
@@ -1174,7 +2898,7 @@
     DWORD dwFlags, // heap freeing flags
     LPVOID lpMem   // pointer to the memory to free
 );
-alias STDWIN.HideCaret HideCaret;
+//alias STDWIN.HideCaret HideCaret;
 int ImageList_Add(
     HIMAGELIST himl,
     HBITMAP hbmImage,
@@ -1335,8 +3059,6 @@
 LONG InterlockedDecrement(
     LPLONG lpAddend   // address of the variable to decrement
 );
-alias STDWIN.InvalidateRect InvalidateRect;
-alias STDWIN.InvalidateRgn InvalidateRgn;
 BOOL IsDBCSLeadByte(
     BYTE TestChar   // character to test
 );
@@ -1353,7 +3075,7 @@
     HWND hWnd,      // handle of window that installed timer
     UINT uIDEvent   // timer identifier
 );
-alias STDWIN.LineTo LineTo;
+//alias STDWIN.LineTo LineTo;
 HBITMAP LoadBitmapA(
     HINSTANCE hInstance,  // handle to application instance
     LPCSTR lpBitmapName  // name of bitmap resource
@@ -1362,10 +3084,6 @@
     HINSTANCE hInstance,  // handle to application instance
     LPCWSTR lpBitmapName  // name of bitmap resource
 );
-alias STDWIN.LoadCursorA LoadCursorA;
-alias STDWIN.LoadCursorW LoadCursorW;
-alias STDWIN.LoadIconA LoadIconA;
-alias STDWIN.LoadIconW LoadIconW;
 HANDLE LoadImageA(
     HINSTANCE hinst,   // handle of the instance containing the image
     LPCSTR lpszName,  // name or identifier of image
@@ -1382,7 +3100,6 @@
     int cyDesired,     // desired height
     UINT fuLoad        // load flags
 );
-alias STDWIN.LoadLibraryA LoadLibraryA;
 HINSTANCE LoadLibraryW(wchar* lpLibFileName );
 HGLOBAL LoadResource(
     HMODULE hModule, // resource-module handle
@@ -1414,11 +3131,9 @@
     UINT uCode,     // virtual-key code or scan code
     UINT uMapType   // translation to perform
 );
-alias STDWIN.MapWindowPoints MapWindowPoints;
 BOOL MessageBeep(
     UINT uType   // sound type
 );
-alias STDWIN.MessageBoxA MessageBoxA;
 int MessageBoxW(
     HWND hWnd,          // handle of owner window
     LPCWSTR lpText,     // address of text in message box
@@ -1429,7 +3144,6 @@
     HWND hwnd,       // handle to a window
     DWORD dwFlags    // flags if no monitor intersects the window
 );
-alias STDWIN.MoveToEx MoveToEx;
 DWORD MsgWaitForMultipleObjectsEx(
     DWORD nCount,          // number of handles in handle array
     LPHANDLE pHandles,     // pointer to an object-handle array
@@ -1437,7 +3151,6 @@
     DWORD dwWakeMask,      // type of input events to wait for
     DWORD dwFlags          // wait flags
 );
-alias STDWIN.MultiByteToWideChar MultiByteToWideChar;
 void NotifyWinEvent(
     DWORD event,
     HWND hwnd,
@@ -1470,7 +3183,6 @@
     int nHeight, // height of rectangle to be filled
     DWORD dwRop  // raster operation code
 );
-alias STDWIN.PeekMessageA PeekMessageA;
 BOOL PeekMessageW(
     LPMSG lpMsg,         // pointer to structure for message
     HWND hWnd,           // handle to window
@@ -1502,25 +3214,25 @@
 BOOL PostMessageA(
     HWND hWnd,
     UINT Msg,
-    WPARAM_I wParam,
+    WPARAM wParam,
     LPARAM lParam
 );
 BOOL PostMessageW(
     HWND hWnd,
     UINT Msg,
-    WPARAM_I wParam,
+    WPARAM wParam,
     LPARAM lParam
 );
 BOOL PostThreadMessageA(
     DWORD idThread,
     UINT Msg,
-    WPARAM_I wParam,
+    WPARAM wParam,
     LPARAM lParam
 );
 BOOL PostThreadMessageW(
     DWORD idThread,
     UINT Msg,
-    WPARAM_I wParam,
+    WPARAM wParam,
     LPARAM lParam
 );
 BOOL PrintDlgA(
@@ -1552,7 +3264,7 @@
     int nRightRect,  // x-coord of bounding rectangle's lower-right corner
     int nBottomRect  // y-coord of bounding rectangle's lower-right corner
 );
-alias STDWIN.RedrawWindow RedrawWindow;
+//alias STDWIN.RedrawWindow RedrawWindow;
 LONG RegCloseKey(
   HKEY hKey
 );
@@ -1656,7 +3368,6 @@
     LPCWSTR lpString
 );
 BOOL ReleaseCapture();
-alias STDWIN.ReleaseDC ReleaseDC;
 BOOL RemoveMenu(
     HMENU hMenu,
     UINT uPosition,
@@ -1666,7 +3377,7 @@
     HDC hdc,       // handle to DC
     int nSavedDC   // restore state
 );
-alias STDWIN.RoundRect RoundRect;
+//alias STDWIN.RoundRect RoundRect;
 
 // basic
 void RtlMoveMemory(void* Destination, void* Source, DWORD Length);
@@ -1704,8 +3415,6 @@
     int SHSetAppKeyWndAssoc(byte bVk, HWND hwnd);
     int SHSipPreference(HWND hwnd, int st);
 }
-alias STDWIN.SaveDC SaveDC;
-alias STDWIN.ScreenToClient ScreenToClient;
 
 // USP methods (Unicode Complex Script processor)
 HRESULT ScriptBreak(
@@ -1816,10 +3525,6 @@
   int *piCP,
   int *piTrailing
 );
-alias STDWIN.ScrollWindowEx ScrollWindowEx;
-alias STDWIN.SelectClipRgn SelectClipRgn;
-alias STDWIN.SelectObject SelectObject;
-alias STDWIN.SelectPalette SelectPalette;
 UINT SendInput(
     UINT nInputs,
     LPINPUT pInputs,
@@ -1829,16 +3534,13 @@
 int SendMessageA(HWND hWnd, int msg, int wParam, int lParam );
 int SendMessageW(HWND hWnd, int msg, int wParam, int lParam );
 
-int SendMessageA(HWND hWnd, UINT Msg, WPARAM_I wParam, void* lParam );
-int SendMessageW(HWND hWnd, UINT Msg, WPARAM_I wParam, void* lParam );
+int SendMessageA(HWND hWnd, UINT Msg, WPARAM wParam, void* lParam );
+int SendMessageW(HWND hWnd, UINT Msg, WPARAM wParam, void* lParam );
 int SendMessageA(HWND hWnd, UINT Msg, void* wParam, LPARAM lParam );
 int SendMessageW(HWND hWnd, UINT Msg, void* wParam, LPARAM lParam );
 int SendMessageA(HWND hWnd, UINT Msg, void* wParam, void* lParam );
 int SendMessageW(HWND hWnd, UINT Msg, void* wParam, void* lParam );
 
-alias STDWIN.SetActiveWindow SetActiveWindow;
-alias STDWIN.SetBkColor SetBkColor;
-alias STDWIN.SetBkMode SetBkMode;
 HWND SetCapture(
     HWND hWnd
 );
@@ -1850,8 +3552,6 @@
     UINT uFormat,
     HANDLE hMem
 );
-alias STDWIN.SetCursor SetCursor;
-alias STDWIN.SetCursorPos SetCursorPos;
 UINT SetDIBColorTable(
     HDC hdc,                // handle to device context whose DIB is of interest
     UINT uStartIndex,       // color table index of first entry to set
@@ -1864,8 +3564,6 @@
 BOOL SetEvent(
   HANDLE hEvent   // handle to event object
 );
-alias STDWIN.SetFocus SetFocus;
-alias STDWIN.SetForegroundWindow SetForegroundWindow;
 void SetLastError(
     DWORD dwErrCode
 );
@@ -1908,8 +3606,8 @@
     HWND hWndChild,
     HWND hWndNewParent
 );
-alias STDWIN.SetPixel SetPixel;
-alias STDWIN.SetROP2 SetROP2;
+// alias STDWIN.SetPixel SetPixel;
+// alias STDWIN.SetROP2 SetROP2;
 BOOL SetRect(
     LPRECT lprc, // rectangle
     int xLeft,   // left side
@@ -1917,21 +3615,18 @@
     int xRight,  // right side
     int yBottom  // bottom side
 );
-alias STDWIN.SetRectRgn SetRectRgn;
+// alias STDWIN.SetRectRgn SetRectRgn;
 int SetScrollInfo(
     HWND hwnd,
     int fnBar,
     LPCSCROLLINFO lpsi,
     BOOL fRedraw
 );
-alias STDWIN.SetStretchBltMode SetStretchBltMode;
-alias STDWIN.SetTextAlign SetTextAlign;
-alias STDWIN.SetTextColor SetTextColor;
 UINT_PTR SetTimer(
     HWND hWnd,
     UINT_PTR nIDEvent,
     UINT uElapse,
-    TIMERPROC_I lpTimerFunc
+    TIMERPROC lpTimerFunc
 );
 LONG SetWindowLongA(
     HWND hWnd,
@@ -1956,7 +3651,6 @@
     int cy,                // height
     UINT uFlags            // window-positioning flags
 );
-alias STDWIN.SetWindowRgn SetWindowRgn;
 BOOL SetWindowTextA(
     HWND hWnd,
     LPCSTR lpString
@@ -1967,13 +3661,13 @@
 );
 HHOOK SetWindowsHookExA(
     int idHook,        // type of hook to install
-    HOOKPROC_I lpfn,     // address of hook procedure
+    HOOKPROC lpfn,     // address of hook procedure
     HINSTANCE hMod,    // handle to application instance
     DWORD dwThreadId   // identity of thread to install hook for
 );
 HHOOK SetWindowsHookExW(
     int idHook,        // type of hook to install
-    HOOKPROC_I lpfn,     // address of hook procedure
+    HOOKPROC lpfn,     // address of hook procedure
     HINSTANCE hMod,    // handle to application instance
     DWORD dwThreadId   // identity of thread to install hook for
 );
@@ -1991,13 +3685,10 @@
     DWORD dwMessage,
     PNOTIFYICONDATAW lpdata
 );
-alias STDWIN.ShowCaret ShowCaret;
 BOOL ShowOwnedPopups(
     HWND hWnd,
     BOOL fShow
 );
-alias STDWIN.ShowScrollBar ShowScrollBar;
-alias STDWIN.ShowWindow ShowWindow;
 version(WinCE)
 {
 BOOL SipGetInfo(
@@ -2022,7 +3713,7 @@
 int StartPage(
     HDC hDC   // handle to DC
 );
-alias STDWIN.StretchBlt StretchBlt;
+// alias STDWIN.StretchBlt StretchBlt;
 BOOL SystemParametersInfoA(
     UINT uiAction,
     UINT uiParam,
@@ -2053,7 +3744,6 @@
 BOOL TrackMouseEvent(
     LPTRACKMOUSEEVENT lpEventTrack  // pointer to a TRACKMOUSEEVENT structure
 );
-alias STDWIN.TrackPopupMenu TrackPopupMenu;
 int TranslateAcceleratorA(
     HWND hWnd,         // handle to destination window
     HACCEL hAccTable,  // handle to accelerator table
@@ -2103,16 +3793,9 @@
     LPCWSTR lpClassName,  // address of class name string
     HINSTANCE hInstance   // handle of application instance
 );
-alias STDWIN.UpdateWindow UpdateWindow;
-alias STDWIN.ValidateRect ValidateRect;
 SHORT VkKeyScanA(char ch);
 SHORT VkKeyScanW(wchar ch);
-alias STDWIN.WaitForMultipleObjects WaitForMultipleObjects;
-alias STDWIN.WaitForSingleObject WaitForSingleObject;
 BOOL WaitMessage();
-alias STDWIN.WideCharToMultiByte WideCharToMultiByte;
-alias STDWIN.WindowFromDC WindowFromDC;
-alias STDWIN.WindowFromPoint WindowFromPoint;
 }
 
 extern (C)
--- a/dwt/internal/win32/WINTYPES.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/internal/win32/WINTYPES.d	Tue Feb 12 21:25:00 2008 +0100
@@ -4,15 +4,13686 @@
 
 module dwt.internal.win32.WINTYPES;
 
-public import tango_sys_win32.Types;
+//public import tango_sys_win32.Types;
+
+
+version(ANSI){
+    alias char  TCHAR;
+}else{
+    alias wchar TCHAR;
+}
+
+
+union LARGE_INTEGER {
+    struct {
+        DWORD LowPart;
+        LONG HighPart;
+    };
+    struct u {
+        DWORD LowPart;
+        LONG HighPart;
+    };
+    LONGLONG QuadPart;
+}
+alias LARGE_INTEGER * PLARGE_INTEGER;
+
+
+///////////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////////
+/*
+    adopted form tango
+    Author:     Trevor Parscal
+*/
+
+/+ Aliases, Types, and Constants +/
+const int NULL = 0;
+alias int SCODE;
+alias void VOID;
+alias void* POINTER;
+alias ushort ATOM;
+alias int WINBOOL;
+alias WINBOOL BOOL;
+alias uint CALTYPE;
+alias uint CALID;
+alias char CCHAR;
+alias char* PCHAR;
+alias uint COLORREF;
+alias uint TCOLORREF;
+alias char CHAR;
+alias ubyte BYTE;
+alias short INT16;
+alias ushort UINT16;
+alias short SHORT;
+alias int INT;
+alias int WINT;
+alias int LONG;
+alias ushort WORD;
+alias uint DWORD;
+alias int INT_PTR;
+alias uint UINT_PTR;
+alias int LONG_PTR;
+alias uint ULONG_PTR;
+alias uint PROPID;
+const BOOL FALSE = 0;
+const BOOL TRUE = -1;
+alias char* PANSICHAR;
+alias wchar* PWIDECHAR;
+alias int* PINTEGER;
+alias double LONGLONG;
+alias LONGLONG* PLONGLONG;
+alias double DWORDLONG;
+alias DWORDLONG* PDWORDLONG;
+alias double FLOAT;
+alias void* HANDLE;
+alias HANDLE HACCEL;
+alias HANDLE HBITMAP;
+alias HANDLE HBRUSH;
+alias HANDLE HCOLORSPACE;
+alias HANDLE HCONV;
+alias HANDLE HCONVLIST;
+alias HANDLE HCURSOR;
+alias HANDLE HDBC;
+alias HANDLE HDC;
+alias HANDLE HDDEDATA;
+alias HANDLE HDESK;
+alias HANDLE HDROP;
+alias HANDLE HDWP;
+alias HANDLE HENHMETAFILE;
+alias HANDLE HENV;
+alias HANDLE HFILE;
+alias HANDLE HFONT;
+alias HANDLE HGDIOBJ;
+alias HANDLE HGLOBAL;
+alias HANDLE HGLRC;
+alias HANDLE HHOOK;
+alias HANDLE HICON;
+alias HANDLE HIMAGELIST;
+alias HANDLE HINST;
+alias HINST HINSTANCE;
+alias HANDLE HKEY;
+alias HANDLE HKL;
+alias HANDLE HLOCAL;
+alias HANDLE HMENU;
+alias HANDLE HMETAFILE;
+alias HANDLE HMODULE;
+alias HANDLE HPALETTE;
+alias HANDLE HPEN;
+alias HANDLE HRASCONN;
+alias int HRESULT;
+alias HANDLE HRGN;
+alias HANDLE HRSRC;
+alias HANDLE HSTMT;
+alias HANDLE HSZ;
+alias HANDLE HWINSTA;
+alias HANDLE HWND;
+alias ushort LANGID;
+alias DWORD LCID;
+alias DWORD LCTYPE;
+alias int LPARAM;
+alias ushort* LP;
+alias WINBOOL* LPBOOL;
+alias ubyte* LPBYTE;
+alias PCHAR LPCCH;
+alias PCHAR LPCH;
+alias COLORREF* LPCOLORREF;
+alias PCHAR LPCSTR;
+alias TCHAR* LPCTSTR;
+alias wchar* LPCWCH;
+alias wchar* LPCWSTR;
+alias DWORD* LPDWORD;
+alias HANDLE* LPHANDLE;
+alias int* LPINT;
+alias int* LPLONG;
+alias PCHAR LPSTR;
+alias PCHAR LPTCH;
+alias TCHAR* LPTSTR;
+alias int LRESULT;
+alias POINTER LPVOID;
+alias POINTER LPCVOID;
+alias wchar* LPWCH;
+alias wchar* LPWORD;
+alias wchar* LPWSTR;
+alias wchar* NWPSTR;
+alias WINBOOL* PWINBOOL;
+alias ubyte* PBOOLEAN;
+alias ubyte* PBYTE;
+alias PCHAR PCCH;
+alias PCHAR PCH;
+alias PCHAR PCSTR;
+alias wchar* PCWCH;
+alias wchar* PCWSTR;
+alias DWORD* PDWORD;
+alias double* PFLOAT;
+alias HANDLE* PHANDLE;
+alias HKEY* PHKEY;
+alias int* PINT;
+alias int* PLONG;
+alias int* PSHORT;
+alias PCHAR PSTR;
+alias PCHAR PSZ;
+alias ubyte* PTBYTE;
+alias PCHAR PTCH;
+alias PCHAR PTCHAR;
+alias PCHAR PTSTR;
+alias ubyte* PUCHAR;
+alias wchar* PWCH;
+alias wchar* PWCHAR;
+alias ushort* PWORD;
+alias uint* PUINT;
+alias uint* PULONG;
+alias ushort* PUSHORT;
+alias POINTER PVOID;
+// NOTE: This is defined in sqltypes.  Probably shouldn't be here.  Commenting for now.
+//alias int RETCODE;
+alias HANDLE SC_HANDLE;
+alias LPVOID SC_LOCK;
+alias SC_HANDLE* LPSC_HANDLE;
+alias DWORD SERVICE_STATUS_HANDLE;
+alias ubyte TBYTE;
+
+// version dependent
+//alias wchar TCHAR;
+
+alias ubyte BCHAR;
+alias ubyte UCHAR;
+alias wchar WCHAR;
+alias uint UINT;
+alias uint ULONG;
+alias ushort USHORT;
+alias uint WPARAM;
+alias int ACL_INFORMATION_CLASS;
+
+// struct GUID { // size is 16
+// align(1):
+//  DWORD   Data1;
+//  WORD    Data2;
+//  WORD    Data3;
+//  BYTE[8] Data4;
+// }
+
+enum { AclRevisionInformation = 1, AclSizeInformation,  };
+alias ACL_INFORMATION_CLASS _ACL_INFORMATION_CLASS;
+alias int 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,  };
+alias MEDIA_TYPE _MEDIA_TYPE;
+const int RASCS_DONE = (0x2000);
+const int RASCS_PAUSED = (0x1000);
+alias int 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,  };
+alias RASCONNSTATE _RASCONNSTATE;
+alias int RASPROJECTION;
+enum { RASP_Amb = 0x10000, RASP_PppNbf = 0x803F, RASP_PppIpx = 0x802B, RASP_PppIp = 0x8021,  };
+alias RASPROJECTION _RASPROJECTION;
+alias int SECURITY_IMPERSONATION_LEVEL;
+enum { SecurityAnonymous, SecurityIdentification, SecurityImpersonation, SecurityDelegation,  };
+alias SECURITY_IMPERSONATION_LEVEL _SECURITY_IMPERSONATION_LEVEL;
+alias int SID_NAME_USE;
+enum { SidTypeUser = 1, SidTypeGroup, SidTypeDomain, SidTypeAlias, SidTypeWellKnownGroup, SidTypeDeletedAccount, SidTypeInvalid, SidTypeUnknown,  };
+alias SID_NAME_USE* PSID_NAME_USE;
+alias SID_NAME_USE _SID_NAME_USE;
+alias int TOKEN_INFORMATION_CLASS;
+enum { TokenUser = 1, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, TokenStatistics,  };
+alias TOKEN_INFORMATION_CLASS _TOKEN_INFORMATION_CLASS;
+alias int TOKEN_TYPE;
+enum { TokenPrimary = 1, TokenImpersonation,  };
+alias TOKEN_TYPE TAGTOKEN_TYPE;
+
+extern(Windows){
+alias int (*BFFCALLBACK)(HWND, UINT, LPARAM, LPARAM);
+alias UINT (*LPCCHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
+alias UINT (*LPCFHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
+alias POINTER PTHREAD_START_ROUTINE;
+alias PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
+alias DWORD (*EDITSTREAMCALLBACK)(DWORD, LPBYTE, LONG, LONG);
+alias UINT (*LPFRHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
+alias UINT (*LPOFNHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
+alias UINT (*LPPRINTHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
+alias UINT (*LPSETUPHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
+alias LRESULT (*DLGPROC)(HWND, UINT, WPARAM, LPARAM);
+alias int (*PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM);
+alias void (*LPSERVICE_MAIN_FUNCTION)(DWORD);
+alias int (*PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM);
+alias LRESULT (*WNDPROC)(HWND, UINT, WPARAM, LPARAM);
+alias POINTER FARPROC;
+alias FARPROC PROC;
+alias WINBOOL (*ENUMRESTYPEPROC)(HANDLE, LPTSTR, LONG);
+alias WINBOOL (*ENUMRESNAMEPROC)(HANDLE, LPCTSTR, LPTSTR, LONG);
+alias WINBOOL (*ENUMRESLANGPROC)(HANDLE, LPCTSTR, LPCTSTR, ushort, LONG);
+alias FARPROC DESKTOPENUMPROC;
+alias WINBOOL (*ENUMWINDOWSPROC)(HWND, LPARAM);
+alias WINBOOL (*ENUMWINDOWSTATIONPROC)(LPTSTR, LPARAM);
+alias void (*SENDASYNCPROC)(HWND, UINT, DWORD);
+alias void (*TIMERPROC)(HWND, UINT, UINT);
+alias BOOL(*MONITORENUMPROC)(HMONITOR, HDC, RECT*, LPARAM);
+alias FARPROC GRAYSTRINGPROC;
+alias WINBOOL (*DRAWSTATEPROC)(HDC, LPARAM, WPARAM, int, int);
+alias WINBOOL (*PROPENUMPROCEX)(HWND, LPCTSTR, HANDLE, DWORD);
+alias WINBOOL (*PROPENUMPROC)(HWND, LPCTSTR, HANDLE);
+alias LRESULT (*HOOKPROC)(int, WPARAM, LPARAM);
+alias void (*ENUMOBJECTSPROC)(LPVOID);
+alias void (*LINEDDAPROC)(int, int);
+alias WINBOOL (*TABORTPROC)(HDC, int);
+alias UINT (*LPPAGEPAINTHOOK)(HWND, UINT, WPARAM, LPARAM);
+alias UINT (*LPPAGESETUPHOOK)(HWND, UINT, WPARAM, LPARAM);
+alias int (*ICMENUMPROC)(LPTSTR, LPARAM);
+alias LONG (*EDITWORDBREAKPROCEX)(PCHAR, LONG, ubyte, INT);
+alias int (*PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM);
+alias WINBOOL (*LOCALE_ENUMPROC)(LPTSTR);
+alias WINBOOL (*CODEPAGE_ENUMPROC)(LPTSTR);
+alias WINBOOL (*DATEFMT_ENUMPROC)(LPTSTR);
+alias WINBOOL (*TIMEFMT_ENUMPROC)(LPTSTR);
+alias WINBOOL (*CALINFO_ENUMPROC)(LPTSTR);
+alias WINBOOL (*PHANDLER_ROUTINE)(DWORD);
+alias WINBOOL (*LPHANDLER_FUNCTION)(DWORD);
+alias void (*PTIMERAPCROUTINE)(LPVOID, DWORD, DWORD);
+alias UINT (*PFNGETPROFILEPATH)(LPCTSTR, LPSTR, UINT);
+alias UINT (*PFNRECONCILEPROFILE)(LPCTSTR, LPCTSTR, DWORD);
+alias WINBOOL (*PFNPROCESSPOLICIES)(HWND, LPCTSTR, LPCTSTR, LPCTSTR, DWORD);
+}
+
+const {
+ char* SE_CREATE_TOKEN_NAME = ("SeCreateTokenPrivilege");
+ char* SE_ASSIGNPRIMARYTOKEN_NAME = ("SeAssignPrimaryTokenPrivilege");
+ char* SE_LOCK_MEMORY_NAME = ("SeLockMemoryPrivilege");
+ char* SE_INCREASE_QUOTA_NAME = ("SeIncreaseQuotaPrivilege");
+ char* SE_UNSOLICITED_INPUT_NAME = ("SeUnsolicitedInputPrivilege");
+ char* SE_MACHINE_ACCOUNT_NAME = ("SeMachineAccountPrivilege");
+ char* SE_TCB_NAME = ("SeTcbPrivilege");
+ char* SE_SECURITY_NAME = ("SeSecurityPrivilege");
+ char* SE_TAKE_OWNERSHIP_NAME = ("SeTakeOwnershipPrivilege");
+ char* SE_LOAD_DRIVER_NAME = ("SeLoadDriverPrivilege");
+ char* SE_SYSTEM_PROFILE_NAME = ("SeSystemProfilePrivilege");
+ char* SE_SYSTEMTIME_NAME = ("SeSystemtimePrivilege");
+ char* SE_PROF_SINGLE_PROCESS_NAME = ("SeProfileSingleProcessPrivilege");
+ char* SE_INC_BASE_PRIORITY_NAME = ("SeIncreaseBasePriorityPrivilege");
+ char* SE_CREATE_PAGEFILE_NAME = ("SeCreatePagefilePrivilege");
+ char* SE_CREATE_PERMANENT_NAME = ("SeCreatePermanentPrivilege");
+ char* SE_BACKUP_NAME = ("SeBackupPrivilege");
+ char* SE_RESTORE_NAME = ("SeRestorePrivilege");
+ char* SE_SHUTDOWN_NAME = ("SeShutdownPrivilege");
+ char* SE_DEBUG_NAME = ("SeDebugPrivilege");
+ char* SE_AUDIT_NAME = ("SeAuditPrivilege");
+ char* SE_SYSTEM_ENVIRONMENT_NAME = ("SeSystemEnvironmentPrivilege");
+ char* SE_CHANGE_NOTIFY_NAME = ("SeChangeNotifyPrivilege");
+ char* SE_REMOTE_SHUTDOWN_NAME = ("SeRemoteShutdownPrivilege");
+ char* SERVICES_ACTIVE_DATABASEA = ("ServicesActive");
+ char* SERVICES_FAILED_DATABASEA = ("ServicesFailed");
+ char* SC_GROUP_IDENTIFIERA = ("+");
+ char* SERVICES_ACTIVE_DATABASE = (SERVICES_ACTIVE_DATABASEA);
+ char* SERVICES_FAILED_DATABASE = (SERVICES_FAILED_DATABASEA);
+ char* SC_GROUP_IDENTIFIER = (SC_GROUP_IDENTIFIERA);
+}
+
+extern(Windows){
+alias HDDEDATA (*PFNCALLBACK)(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, DWORD);
+}
+alias PFNCALLBACK CALLB;
+alias WINBOOL SECURITY___FILE___TRACKING_MODE;
+alias FARPROC WNDENUMPROC;
+alias FARPROC ENHMFENUMPROC;
+alias DWORD CCSTYLE;
+alias CCSTYLE* PCCSTYLE;
+alias CCSTYLE* LPCCSTYLE;
+alias DWORD CCSTYLEFLAGA;
+alias CCSTYLEFLAGA* PCCSTYLEFLAGA;
+alias CCSTYLEFLAGA* LPCCSTYLEFLAGA;
+
+const HANDLE INVALID_HANDLE_VALUE = cast(HANDLE) -1;
+
+
+enum : DWORD {
+    SM_CXVIRTUALSCREEN = (76),
+    SM_CYVIRTUALSCREEN = (77),
+    MONITORINFOF_PRIMARY = (1),
+    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___FILE___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_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___FILE___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___FILE__ = (1775),
+    RPC_X_SS___FILE___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_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),
+    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_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),
+    MAX_PATH = (260),
+    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 = (0xFFFF),
+    MAXBYTE = (0xFF),
+    MINCHAR = (0x80),
+    MAXCHAR = (0x7F),
+    MINSHORT = (0x8000),
+    MAXSHORT = (0x7FFF),
+    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 = (0x4),
+    MF_DISABLED = (0x2),
+    MF_ENABLED = (0),
+    MF_GRAYED = (0x1),
+    MF_HELP = (0x4000),
+    MF_MENUBARBREAK = (0x20),
+    MF_MENUBREAK = (0x40),
+    MF_MOUSESELECT = (0x8000),
+    MF_OWNERDRAW = (0x100),
+    MF_POPUP = (0x10),
+    MF_SEPARATOR = (0x800),
+    MF_STRING = (0),
+    MF_SYSMENU = (0x2000),
+    MF_USECHECKBITMAPS = (0x200),
+    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),
+    DM_BITSPERPEL = (0x40000),
+    DM_PELSWIDTH = (0x80000),
+    DM_PELSHEIGHT = (0x100000),
+    DM_DISPLAYFLAGS = (0x200000),
+    DM_DISPLAYFREQUENCY = (0x400000),
+    CDS_UPDATEREGISTRY = (1),
+    CDS_TEST = (2),
+    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 = (0x400),
+    MF_CHECKED = (0x8),
+    MF_UNCHECKED = (0),
+    MF_HILITE = (0x80),
+    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 = (0xffff),
+    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 = (0x1000)+(10),
+    PDERR_DEFAULTDIFFERENT = (0x1000)+(12),
+    PDERR_DNDMMISMATCH = (0x1000)+(9),
+    PDERR_GETDEVMODEFAIL = (0x1000)+(5),
+    PDERR_INITFAILURE = (0x1000)+(6),
+    PDERR_LOADDRVFAILURE = (0x1000)+(4),
+    PDERR_NODEFAULTPRN = (0x1000)+(8),
+    PDERR_NODEVICES = (0x1000)+(7),
+    PDERR_PARSEFAILURE = (0x1000)+(2),
+    PDERR_PRINTERNOTFOUND = (0x1000)+(11),
+    PDERR_RETDEFFAILURE = (0x1000)+(3),
+    PDERR_SETUPFAILURE = (0x1000)+(1),
+    CFERR_MAXLESSTHANMIN = (0x2000)+(2),
+    CFERR_NOFONTS = (0x2000)+(1),
+    FNERR_BUFFERTOOSMALL = (0x3000)+(3),
+    FNERR_INVALIDFILENAME = (0x3000)+(2),
+    FNERR_SUBCLASSFAILURE = (0x3000)+(1),
+    FRERR_BUFFERLENGTHZERO = (0x4000)+(1),
+    LOCALE_SYSTEM_DEFAULT = (0x800),
+    LOCALE_USER_DEFAULT = (0x400),
+    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 = (0x10002),
+    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_COPYDELETEORG = (8),
+    LR_COPYRETURNORG = (4),
+    LR_MONOCHROME = (1),
+    LR_CREATEDIBSECTION = (8192),
+    LR_DEFAULTSIZE = (64),
+    DF_ALLOWOTHERACCOUNTHOOK = (0x1),
+    DESKTOP_CREATEMENU = (0x4),
+    DESKTOP_CREATEWINDOW = (0x2),
+    DESKTOP_ENUMERATE = (0x40),
+    DESKTOP_HOOKCONTROL = (0x8),
+    DESKTOP_JOURNALPLAYBACK = (0x20),
+    DESKTOP_JOURNALRECORD = (0x10),
+    DESKTOP_READOBJECTS = (0x1),
+    DESKTOP_SWITCHDESKTOP = (0x100),
+    DESKTOP_WRITEOBJECTS = (0x80),
+    WSF_VISIBLE = (0x1),
+    CBM_INIT = (0x4),
+    DIB_PAL_COLORS = (1),
+    DIB_RGB_COLORS = (0),
+    GENERIC_READ = (0x80000000),
+    GENERIC_WRITE = (0x40000000),
+    FILE_READ_DATA = (0x0001),
+    FILE_LIST_DIRECTORY = (0x0001),
+    FILE_WRITE_DATA = (0x0002),
+    FILE_ADD_FILE = (0x0002),
+    FILE_APPEND_DATA = (0x0004),
+    FILE_ADD_SUBDIRECTORY = (0x0004),
+    FILE_CREATE_PIPE_INSTANCE = (0x0004),
+    FILE_READ_EA = (0x0008),
+    FILE_READ_PROPERTIES = (FILE_READ_EA),
+    FILE_WRITE_EA = (0x0010),
+    FILE_WRITE_PROPERTIES = (FILE_WRITE_EA),
+    FILE_EXECUTE = (0x0020),
+    FILE_TRAVERSE = (0x0020),
+    FILE_DELETE_CHILD = (0x0040),
+    FILE_READ_ATTRIBUTES = (0x0080),
+    FILE_WRITE_ATTRIBUTES = (0x0100),
+    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),
+    INVALID_FILE_ATTRIBUTE = (-1),
+    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 = (2147483648),
+    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),
+    SECURITY_ANONYMOUS = (0),
+    SECURITY_IDENTIFICATION = (65536),
+    SECURITY_IMPERSONATION = (131072),
+    SECURITY_DELEGATION = (196608),
+    SECURITY___FILE___TRACKING = (262144),
+    SECURITY_EFFECTIVE_ONLY = (524288),
+    SECURITY_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 = (0x10),
+    SECTION_MAP_READ = (0x4),
+    SECTION_MAP_WRITE = (0x2),
+    SECTION_QUERY = (0x1),
+    SECTION_ALL_ACCESS = (0xf001f),
+    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),
+    DEFAULT_PITCH = (0),
+    FIXED_PITCH = (1),
+    VARIABLE_PITCH = (2),
+    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 = (0x40000),
+    WRITE_OWNER = (0x80000),
+    ACCESS_SYSTEM_SECURITY = (0x1000000),
+    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 = (0xf01ff),
+    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 = (0x10000),
+    SERVICE_READ_CONTROL = (0x20000),
+    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 = (0x2),
+    TAPE_SELECT_PARTITIONS = (0x1),
+    TAPE_FILEMARKS = (0x1),
+    TAPE_LONG_FILEMARKS = (0x3),
+    TAPE_SETMARKS = (0),
+    TAPE_SHORT_FILEMARKS = (0x2),
+    CW_USEDEFAULT = (0x80000000),
+    WS_BORDER = (0x800000),
+    WS_CAPTION = (0xc00000),
+    WS_CHILD = (0x40000000),
+    WS_CHILDWINDOW = (0x40000000),
+    WS_CLIPCHILDREN = (0x2000000),
+    WS_CLIPSIBLINGS = (0x4000000),
+    WS_DISABLED = (0x8000000),
+    WS_DLGFRAME = (0x400000),
+    WS_GROUP = (0x20000),
+    WS_HSCROLL = (0x100000),
+    WS_ICONIC = (0x20000000),
+    WS_MAXIMIZE = (0x1000000),
+    WS_MAXIMIZEBOX = (0x10000),
+    WS_MINIMIZE = (0x20000000),
+    WS_MINIMIZEBOX = (0x20000),
+    WS_OVERLAPPED = (0),
+    WS_OVERLAPPEDWINDOW = (0xcf0000),
+    WS_POPUP = (0x80000000),
+    WS_POPUPWINDOW = (0x80880000),
+    WS_SIZEBOX = (0x40000),
+    WS_SYSMENU = (0x80000),
+    WS_TABSTOP = (0x10000),
+    WS_THICKFRAME = (0x40000),
+    WS_TILED = (0),
+    WS_TILEDWINDOW = (0xcf0000),
+    WS_VISIBLE = (0x10000000),
+    WS_VSCROLL = (0x200000),
+    MDIS_ALLCHILDSTYLES = (0x1),
+    BS_3STATE = (0x5),
+    BS_AUTO3STATE = (0x6),
+    BS_AUTOCHECKBOX = (0x3),
+    BS_AUTORADIOBUTTON = (0x9),
+    BS_BITMAP = (0x80),
+    BS_BOTTOM = (0x800),
+    BS_CENTER = (0x300),
+    BS_CHECKBOX = (0x2),
+    BS_DEFPUSHBUTTON = (0x1),
+    BS_GROUPBOX = (0x7),
+    BS_ICON = (0x40),
+    BS_LEFT = (0x100),
+    BS_LEFTTEXT = (0x20),
+    BS_MULTILINE = (0x2000),
+    BS_NOTIFY = (0x4000),
+    BS_OWNERDRAW = (0xb),
+    BS_PUSHBUTTON = (0),
+    BS_PUSHLIKE = (0x1000),
+    BS_RADIOBUTTON = (0x4),
+    BS_RIGHT = (0x200),
+    BS_RIGHTBUTTON = (0x20),
+    BS_TEXT = (0),
+    BS_TOP = (0x400),
+    BS_USERBUTTON = (0x8),
+    BS_VCENTER = (0xc00),
+    CBS_AUTOHSCROLL = (0x40),
+    CBS_DISABLENOSCROLL = (0x800),
+    CBS_DROPDOWN = (0x2),
+    CBS_DROPDOWNLIST = (0x3),
+    CBS_HASSTRINGS = (0x200),
+    CBS_LOWERCASE = (0x4000),
+    CBS_NOINTEGRALHEIGHT = (0x400),
+    CBS_OEMCONVERT = (0x80),
+    CBS_OWNERDRAWFIXED = (0x10),
+    CBS_OWNERDRAWVARIABLE = (0x20),
+    CBS_SIMPLE = (0x1),
+    CBS_SORT = (0x100),
+    CBS_UPPERCASE = (0x2000),
+    ES_AUTOHSCROLL = (0x80),
+    ES_AUTOVSCROLL = (0x40),
+    ES_CENTER = (0x1),
+    ES_LEFT = (0),
+    ES_LOWERCASE = (0x10),
+    ES_MULTILINE = (0x4),
+    ES_NOHIDESEL = (0x100),
+    ES_NUMBER = (0x2000),
+    ES_OEMCONVERT = (0x400),
+    ES_PASSWORD = (0x20),
+    ES_READONLY = (0x800),
+    ES_RIGHT = (0x2),
+    ES_UPPERCASE = (0x8),
+    ES_WANTRETURN = (0x1000),
+    LBS_DISABLENOSCROLL = (0x1000),
+    LBS_EXTENDEDSEL = (0x800),
+    LBS_HASSTRINGS = (0x40),
+    LBS_MULTICOLUMN = (0x200),
+    LBS_MULTIPLESEL = (0x8),
+    LBS_NODATA = (0x2000),
+    LBS_NOINTEGRALHEIGHT = (0x100),
+    LBS_NOREDRAW = (0x4),
+    LBS_NOSEL = (0x4000),
+    LBS_NOTIFY = (0x1),
+    LBS_OWNERDRAWFIXED = (0x10),
+    LBS_OWNERDRAWVARIABLE = (0x20),
+    LBS_SORT = (0x2),
+    LBS_STANDARD = (0xa00003),
+    LBS_USETABSTOPS = (0x80),
+    LBS_WANTKEYBOARDINPUT = (0x400),
+    SBS_BOTTOMALIGN = (0x4),
+    SBS_HORZ = (0),
+    SBS_LEFTALIGN = (0x2),
+    SBS_RIGHTALIGN = (0x4),
+    SBS_SIZEBOX = (0x8),
+    SBS_SIZEBOXBOTTOMRIGHTALIGN = (0x4),
+    SBS_SIZEBOXTOPLEFTALIGN = (0x2),
+    SBS_SIZEGRIP = (0x10),
+    SBS_TOPALIGN = (0x2),
+    SBS_VERT = (0x1),
+    SS_BITMAP = (0xe),
+    SS_BLACKFRAME = (0x7),
+    SS_BLACKRECT = (0x4),
+    SS_CENTER = (0x1),
+    SS_CENTERIMAGE = (0x200),
+    SS_ENHMETAFILE = (0xf),
+    SS_ETCHEDFRAME = (0x12),
+    SS_ETCHEDHORZ = (0x10),
+    SS_ETCHEDVERT = (0x11),
+    SS_GRAYFRAME = (0x8),
+    SS_GRAYRECT = (0x5),
+    SS_ICON = (0x3),
+    SS_LEFT = (0),
+    SS_LEFTNOWORDWRAP = (0xc),
+    SS_NOPREFIX = (0x80),
+    SS_NOTIFY = (0x100),
+    SS_OWNERDRAW = (0xd),
+    SS_REALSIZEIMAGE = (0x800),
+    SS_RIGHT = (0x2),
+    SS_RIGHTJUST = (0x400),
+    SS_SIMPLE = (0xb),
+    SS_SUNKEN = (0x1000),
+    SS_USERITEM = (0xa),
+    SS_WHITEFRAME = (0x9),
+    SS_WHITERECT = (0x6),
+    DS_3DLOOK = (0x4),
+    DS_ABSALIGN = (0x1),
+    DS_CENTER = (0x800),
+    DS_CENTERMOUSE = (0x1000),
+    DS___FILE__HELP = (0x2000),
+    DS_CONTROL = (0x400),
+    DS_FIXEDSYS = (0x8),
+    DS_LOCALEDIT = (0x20),
+    DS_MODALFRAME = (0x80),
+    DS_NOFAILCREATE = (0x10),
+    DS_NOIDLEMSG = (0x100),
+    DS_SETFONT = (0x40),
+    DS_SETFOREGROUND = (0x200),
+    DS_SYSMODAL = (0x2),
+    WS_EX_ACCEPTFILES = (0x10),
+    WS_EX_APPWINDOW = (0x40000),
+    WS_EX_CLIENTEDGE = (0x200),
+    WS_EX___FILE__HELP = (0x400),
+    WS_EX_CONTROLPARENT = (0x10000),
+    WS_EX_DLGMODALFRAME = (0x1),
+    WS_EX_LEFT = (0),
+    WS_EX_LEFTSCROLLBAR = (0x4000),
+    WS_EX_LTRREADING = (0),
+    WS_EX_MDICHILD = (0x40),
+    WS_EX_NOPARENTNOTIFY = (0x4),
+    WS_EX_OVERLAPPEDWINDOW = (0x300),
+    WS_EX_PALETTEWINDOW = (0x188),
+    WS_EX_RIGHT = (0x1000),
+    WS_EX_RIGHTSCROLLBAR = (0),
+    WS_EX_RTLREADING = (0x2000),
+    WS_EX_STATICEDGE = (0x20000),
+    WS_EX_TOOLWINDOW = (0x80),
+    WS_EX_TOPMOST = (0x8),
+    WS_EX_TRANSPARENT = (0x20),
+    WS_EX_WINDOWEDGE = (0x100),
+    WINSTA_ACCESSCLIPBOARD = (0x4),
+    WINSTA_ACCESSGLOBALATOMS = (0x20),
+    WINSTA_CREATEDESKTOP = (0x8),
+    WINSTA_ENUMDESKTOPS = (0x1),
+    WINSTA_ENUMERATE = (0x100),
+    WINSTA_EXITWINDOWS = (0x40),
+    WINSTA_READATTRIBUTES = (0x2),
+    WINSTA_READSCREEN = (0x200),
+    WINSTA_WRITEATTRIBUTES = (0x10),
+    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),
+    DC_BINNAMES = (12),
+    DC_BINS = (6),
+    DC_COPIES = (18),
+    DC_DRIVER = (11),
+    DC_DATATYPE_PRODUCED = (21),
+    DC_DUPLEX = (7),
+    DC_EMF_COMPLIANT = (20),
+    DC_ENUMRESOLUTIONS = (13),
+    DC_EXTRA = (9),
+    DC_FIELDS = (1),
+    DC_FILEDEPENDENCIES = (14),
+    DC_MAXEXTENT = (5),
+    DC_MINEXTENT = (4),
+    DC_ORIENTATION = (17),
+    DC_PAPERNAMES = (16),
+    DC_PAPERS = (2),
+    DC_PAPERSIZE = (3),
+    DC_SIZE = (8),
+    DC_TRUETYPE = (15),
+    DCTT_BITMAP = (0x1),
+    DCTT_DOWNLOAD = (0x2),
+    DCTT_SUBDEV = (0x4),
+    DC_VERSION = (10),
+    DC_BINADJUST = (19),
+    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),
+    DM_IN_BUFFER = (8),
+    DM_MODIFY = (8),
+    DM_IN_PROMPT = (4),
+    DM_PROMPT = (4),
+    DM_OUT_BUFFER = (2),
+    DM_COPY = (2),
+    DM_UPDATE = (1),
+    IDANI_OPEN = (1),
+    IDANI_CLOSE = (2),
+    DC_ACTIVE = (1),
+    DC_SMALLCAP = (2),
+    BDR_RAISEDINNER = (4),
+    BDR_SUNKENINNER = (8),
+    BDR_RAISEDOUTER = (1),
+    BDR_SUNKENOUTER = (1),
+    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),
+    DUPLICATE_CLOSE_SOURCE = (1),
+    DUPLICATE_SAME_ACCESS = (2),
+    FILE_MAP_ALL_ACCESS = (0xf001f),
+    FILE_MAP_READ = (4),
+    FILE_MAP_WRITE = (2),
+    FILE_MAP_COPY = (1),
+    MUTEX_ALL_ACCESS = (0x1f0001),
+    MUTEX_MODIFY_STATE = (1),
+    SYNCHRONIZE = (0x100000),
+    SEMAPHORE_ALL_ACCESS = (0x1f0003),
+    SEMAPHORE_MODIFY_STATE = (2),
+    EVENT_ALL_ACCESS = (0x1f0003),
+    EVENT_MODIFY_STATE = (2),
+    KEY_ALL_ACCESS = (0xf003f),
+    KEY_CREATE_LINK = (32),
+    KEY_CREATE_SUB_KEY = (4),
+    KEY_ENUMERATE_SUB_KEYS = (8),
+    KEY_EXECUTE = (0x20019),
+    KEY_NOTIFY = (16),
+    KEY_QUERY_VALUE = (1),
+    KEY_READ = (0x20019),
+    KEY_SET_VALUE = (2),
+    KEY_WRITE = (0x20006),
+    PROCESS_ALL_ACCESS = (0x1f0fff),
+    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 = (0x1f03ff),
+    THREAD_DIRECT_IMPERSONATION = (512),
+    THREAD_GET___FILE__ = (8),
+    THREAD_IMPERSONATE = (256),
+    THREAD_QUERY_INFORMATION = (64),
+    THREAD_SET___FILE__ = (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),
+    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),
+    SERVICE_WIN32 = (48),
+    SERVICE_DRIVER = (11),
+    CP_INSTALLED = (1),
+    CP_SUPPORTED = (2),
+    LCID_INSTALLED = (1),
+    LCID_SUPPORTED = (2),
+    TAPE_ERASE_LONG = (0x1),
+    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 = (0x8000),
+    GCP_CLASSIN = (0x80000),
+    GCP_DIACRITIC = (256),
+    GCP_DISPLAYZWG = (0x400000),
+    GCP_GLYPHSHAPE = (16),
+    GCP_JUSTIFY = (0x10000),
+    GCP_JUSTIFYIN = (0x200000),
+    GCP_KASHIDA = (1024),
+    GCP_LIGATE = (32),
+    GCP_MAXEXTENT = (0x100000),
+    GCP_NEUTRALOVERRIDE = (0x2000000),
+    GCP_NUMERICOVERRIDE = (0x1000000),
+    GCP_NUMERICSLATIN = (0x4000000),
+    GCP_NUMERICSLOCAL = (0x8000000),
+    GCP_REORDER = (2),
+    GCP_SYMSWAPOFF = (0x800000),
+    GCP_USEKERNING = (8),
+    FLI_GLYPHS = (0x40000),
+    FLI_MASK = (0x103b),
+    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 = (0x10),
+    MS_DSR_ON = (0x20),
+    MS_RING_ON = (0x40),
+    MS_RLSD_ON = (0x80),
+    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),
+    CP_UTF8 = 65001,
+    DATE_USE_ALT_CALENDAR = (4),
+    DCX_WINDOW = (0x1),
+    DCX_CACHE = (0x2),
+    DCX_PARENTCLIP = (0x20),
+    DCX_CLIPSIBLINGS = (0x10),
+    DCX_CLIPCHILDREN = (0x8),
+    DCX_NORESETATTRS = (0x4),
+    DCX_LOCKWINDOWUPDATE = (0x400),
+    DCX_EXCLUDERGN = (0x40),
+    DCX_INTERSECTRGN = (0x80),
+    DCX_VALIDATE = (0x200000),
+    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 = (0x1),
+    EXCEPTION_STACK_OVERFLOW = (0xc00000fd),
+    EXCEPTION_INVALID_DISPOSITION = (0xc0000026),
+    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),
+}
+char* RT_ACCELERATOR = cast(char*) ((9));
+char* RT_BITMAP = cast(char*) ((2));
+char* RT_DIALOG = cast(char*) ((5));
+char* RT_FONT = cast(char*) ((8));
+char* RT_FONTDIR = cast(char*) ((7));
+char* RT_MENU = cast(char*) ((4));
+char* RT_RCDATA = cast(char*) ((10));
+char* RT_STRING = cast(char*) ((6));
+char* RT_MESSAGETABLE = cast(char*) ((11));
+char* RT_CURSOR = cast(char*) ((1));
+char* RT_GROUP_CURSOR = cast(char*) ((12));
+char* RT_ICON = cast(char*) ((3));
+char* RT_GROUP_ICON = cast(char*) ((13));
+char* RT_VERSION = cast(char*) ((16));
+char* IDC_ARROW = cast(char*) ((32512));
+char* IDC_IBEAM = cast(char*) ((32513));
+char* IDC_WAIT = cast(char*) ((32514));
+char* IDC_CROSS = cast(char*) ((32515));
+char* IDC_UPARROW = cast(char*) ((32516));
+char* IDC_SIZENWSE = cast(char*) ((32642));
+char* IDC_SIZENESW = cast(char*) ((32643));
+char* IDC_SIZEWE = cast(char*) ((32644));
+char* IDC_SIZENS = cast(char*) ((32645));
+char* IDC_SIZEALL = cast(char*) ((32646));
+char* IDC_NO = cast(char*) ((32648));
+char* IDC_APPSTARTING = cast(char*) ((32650));
+char* IDC_HELP = cast(char*) ((32651));
+char* IDI_APPLICATION = cast(char*) ((32512));
+char* IDI_HAND = cast(char*) ((32513));
+char* IDI_QUESTION = cast(char*) ((32514));
+char* IDI_EXCLAMATION = cast(char*) ((32515));
+char* IDI_ASTERISK = cast(char*) ((32516));
+char* IDI_WINLOGO = cast(char*) ((32517));
+char* IDC_SIZE = cast(char*) ((32640));
+char* IDC_ICON = cast(char*) ((32641));
+enum : DWORD {
+    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 = (0x2),
+    GMDI_USEDISABLED = (0x1),
+    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 = -(10),
+    STD_OUTPUT_HANDLE = -(11),
+    STD_ERROR_HANDLE = -(12),
+    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 = (0x1),
+    ARW_HIDE = (0x8),
+    ARW_TOPLEFT = (0x2),
+    ARW_TOPRIGHT = (0x3),
+    ARW_DOWN = (0x4),
+    ARW_LEFT = (0),
+    ARW_RIGHT = (0),
+    ARW_UP = (0x4),
+    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 = (0x1),
+    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 = -(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 = (0x80),
+    MB_ICONASTERISK = (0x40),
+    MB_ICONEXCLAMATION = (0x30),
+    MB_ICONWARNING = (0x30),
+    MB_ICONERROR = (0x10),
+    MB_ICONHAND = (0x10),
+    MB_ICONQUESTION = (0x20),
+    MB_OK = (0),
+    MB_ABORTRETRYIGNORE = (0x2),
+    MB_APPLMODAL = (0),
+    MB_DEFAULT_DESKTOP_ONLY = (0x20000),
+    MB_HELP = (0x4000),
+    MB_RIGHT = (0x80000),
+    MB_RTLREADING = (0x100000),
+    MB_TOPMOST = (0x40000),
+    MB_DEFBUTTON1 = (0),
+    MB_DEFBUTTON2 = (0x100),
+    MB_DEFBUTTON3 = (0x200),
+    MB_DEFBUTTON4 = (0x300),
+    MB_ICONINFORMATION = (0x40),
+    MB_ICONSTOP = (0x10),
+    MB_OKCANCEL = (0x1),
+    MB_RETRYCANCEL = (0x5),
+    MB_SERVICE_NOTIFICATION = (0x40000),
+    MB_SETFOREGROUND = (0x10000),
+    MB_SYSTEMMODAL = (0x1000),
+    MB_TASKMODAL = (0x2000),
+    MB_YESNO = (0x4),
+    MB_YESNOCANCEL = (0x3),
+    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),
+    MOVEFILE_WRITE_THROUGH = (8),
+    WAIT_OBJECT_0 = (0),
+    WAIT_ABANDONED_0 = (0x80),
+    WAIT_TIMEOUT = (0x102),
+    WAIT_IO_COMPLETION = (0xc0),
+    WAIT_ABANDONED = (0x80),
+    WAIT_FAILED = (0xffffffff),
+    MAXIMUM_WAIT_OBJECTS = (0x40),
+    MAXIMUM_SUSPEND_COUNT = (0x7f),
+    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 = (0xf00ff),
+    TOKEN_ASSIGN_PRIMARY = (1),
+    TOKEN_DUPLICATE = (2),
+    TOKEN_EXECUTE = (0x20000),
+    TOKEN_IMPERSONATE = (4),
+    TOKEN_QUERY = (8),
+    TOKEN_QUERY_SOURCE = (16),
+    TOKEN_READ = (0x20008),
+    TOKEN_WRITE = (0x200e0),
+    SC_MANAGER_ALL_ACCESS = (0xf003f),
+    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 = (0xFFFF),
+    TAPE_FORMAT = (0x5),
+    TAPE_LOAD = (0),
+    TAPE_LOCK = (0x3),
+    TAPE_TENSION = (0x2),
+    TAPE_UNLOAD = (0x1),
+    TAPE_UNLOCK = (0x4),
+    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 = (0x1),
+    GROUP_SECURITY_INFORMATION = (0x2),
+    DACL_SECURITY_INFORMATION = (0x4),
+    SACL_SECURITY_INFORMATION = (0x8),
+    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 = (0x80000000),
+    HKEY_CURRENT_USER = (0x80000001),
+    HKEY_LOCAL_MACHINE = (0x80000002),
+    HKEY_USERS = (0x80000003),
+    HKEY_PERFORMANCE_DATA = (0x80000004),
+    HKEY_CURRENT_CONFIG = (0x80000005),
+    HKEY_DYN_DATA = (0x80000006),
+    REG_OPTION_VOLATILE = (0x1),
+    REG_OPTION_NON_VOLATILE = (0),
+    REG_CREATED_NEW_KEY = (0x1),
+    REG_OPENED_EXISTING_KEY = (0x2),
+    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 = (0x1),
+    REG_NOTIFY_CHANGE_ATTRIBUTES = (0x2),
+    REG_NOTIFY_CHANGE_LAST_SET = (0x4),
+    REG_NOTIFY_CHANGE_SECURITY = (0x8),
+    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),
+    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 = (0x1),
+    TAPE_LOGICAL_BLOCK = (0x2),
+    TAPE_REWIND = (0),
+    TAPE_SPACE_END_OF_DATA = (0x4),
+    TAPE_SPACE_FILEMARKS = (0x6),
+    TAPE_SPACE_RELATIVE_BLOCKS = (0x5),
+    TAPE_SPACE_SEQUENTIAL_FMKS = (0x7),
+    TAPE_SPACE_SEQUENTIAL_SMKS = (0x9),
+    TAPE_SPACE_SETMARKS = (0x8),
+    EXCEPTION_EXECUTE_HANDLER = (1),
+    EXCEPTION_CONTINUE_EXECUTION = -((1)),
+    EXCEPTION_CONTINUE_SEARCH = (0),
+    HWND_BOTTOM = (1),
+    HWND_NOTOPMOST = -(2),
+    HWND_TOP = (0),
+    HWND_TOPMOST = -(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 = (0xFFFFFFFF),
+    SPI_GETACCESSTIMEOUT = (60),
+    SPI_GETANIMATION = (72),
+    SPI_GETBEEP = (1),
+    SPI_GETBORDER = (5),
+    SPI_GETDEFAULTINPUTLANG = (89),
+    SPI_GETDRAGFULLWINDOWS = (38),
+    SPI_GETFASTTASKSWITCH = (35),
+    SPI_GETFILTERKEYS = (50),
+    SPI_GETFONTSMOOTHING = (74),
+    SPI_GETGRIDGRANULARITY = (18),
+    SPI_GETHIGHCONTRAST = (66),
+    SPI_GETICONMETRICS = (45),
+    SPI_GETICONTITLELOGFONT = (31),
+    SPI_GETICONTITLEWRAP = (25),
+    SPI_GETKEYBOARDDELAY = (22),
+    SPI_GETKEYBOARDPREF = (68),
+    SPI_GETKEYBOARDSPEED = (10),
+    SPI_GETLOWPOWERACTIVE = (83),
+    SPI_GETLOWPOWERTIMEOUT = (79),
+    SPI_GETMENUDROPALIGNMENT = (27),
+    SPI_GETMINIMIZEDMETRICS = (43),
+    SPI_GETMOUSE = (3),
+    SPI_GETMOUSEKEYS = (54),
+    SPI_GETMOUSETRAILS = (94),
+    SPI_GETNONCLIENTMETRICS = (41),
+    SPI_GETPOWEROFFACTIVE = (84),
+    SPI_GETPOWEROFFTIMEOUT = (80),
+    SPI_GETSCREENREADER = (70),
+    SPI_GETSCREENSAVEACTIVE = (16),
+    SPI_GETSCREENSAVETIMEOUT = (14),
+    SPI_GETSERIALKEYS = (62),
+    SPI_GETSHOWSOUNDS = (56),
+    SPI_GETSOUNDSENTRY = (64),
+    SPI_GETSTICKYKEYS = (58),
+    SPI_GETTOGGLEKEYS = (52),
+    SPI_GETWINDOWSEXTENSION = (92),
+    SPI_GETWORKAREA = (48),
+    SPI_ICONHORIZONTALSPACING = (13),
+    SPI_ICONVERTICALSPACING = (24),
+    SPI_LANGDRIVER = (12),
+    SPI_SCREENSAVERRUNNING = (97),
+    SPI_SETACCESSTIMEOUT = (61),
+    SPI_SETANIMATION = (73),
+    SPI_SETBEEP = (2),
+    SPI_SETBORDER = (6),
+    SPI_SETDEFAULTINPUTLANG = (90),
+    SPI_SETDESKPATTERN = (21),
+    SPI_SETDESKWALLPAPER = (20),
+    SPI_SETDOUBLECLICKTIME = (32),
+    SPI_SETDOUBLECLKHEIGHT = (30),
+    SPI_SETDOUBLECLKWIDTH = (29),
+    SPI_SETDRAGFULLWINDOWS = (37),
+    SPI_SETDRAGHEIGHT = (77),
+    SPI_SETDRAGWIDTH = (76),
+    SPI_SETFASTTASKSWITCH = (36),
+    SPI_SETFILTERKEYS = (51),
+    SPI_SETFONTSMOOTHING = (75),
+    SPI_SETGRIDGRANULARITY = (19),
+    SPI_SETHANDHELD = (78),
+    SPI_SETHIGHCONTRAST = (67),
+    SPI_SETICONMETRICS = (46),
+    SPI_SETICONTITLELOGFONT = (34),
+    SPI_SETICONTITLEWRAP = (26),
+    SPI_SETKEYBOARDDELAY = (23),
+    SPI_SETKEYBOARDPREF = (69),
+    SPI_SETKEYBOARDSPEED = (11),
+    SPI_SETLANGTOGGLE = (91),
+    SPI_SETLOWPOWERACTIVE = (85),
+    SPI_SETLOWPOWERTIMEOUT = (81),
+    SPI_SETMENUDROPALIGNMENT = (28),
+    SPI_SETMINIMIZEDMETRICS = (44),
+    SPI_SETMOUSE = (4),
+    SPI_SETMOUSEBUTTONSWAP = (33),
+    SPI_SETMOUSEKEYS = (55),
+    SPI_SETMOUSETRAILS = (93),
+    SPI_SETNONCLIENTMETRICS = (42),
+    SPI_SETPENWINDOWS = (49),
+    SPI_SETPOWEROFFACTIVE = (86),
+    SPI_SETPOWEROFFTIMEOUT = (82),
+    SPI_SETSCREENREADER = (71),
+    SPI_SETSCREENSAVEACTIVE = (17),
+    SPI_SETSCREENSAVETIMEOUT = (15),
+    SPI_SETSERIALKEYS = (63),
+    SPI_SETSHOWSOUNDS = (57),
+    SPI_SETSOUNDSENTRY = (65),
+    SPI_SETSTICKYKEYS = (59),
+    SPI_SETTOGGLEKEYS = (53),
+    SPI_SETWORKAREA = (47),
+    SPIF_UPDATEINIFILE = (1),
+    SPIF_SENDWININICHANGE = (2),
+    SPIF_SENDCHANGE = (2),
+    TPM_CENTERALIGN = (0x4),
+    TPM_LEFTALIGN = (0),
+    TPM_RIGHTALIGN = (0x8),
+    TPM_LEFTBUTTON = (0),
+    TPM_RIGHTBUTTON = (0x2),
+    TPM_HORIZONTAL = (0),
+    TPM_VERTICAL = (0x40),
+    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 = (0x1),
+    VIF_MISMATCH = (0x2),
+    VIF_SRCOLD = (0x4),
+    VIF_DIFFLANG = (0x8),
+    VIF_DIFFCODEPG = (0x10),
+    VIF_DIFFTYPE = (0x20),
+    VIF_WRITEPROT = (0x40),
+    VIF_FILEINUSE = (0x80),
+    VIF_OUTOFSPACE = (0x100),
+    VIF_ACCESSVIOLATION = (0x200),
+    VIF_SHARINGVIOLATION = (0x400),
+    VIF_CANNOTCREATE = (0x800),
+    VIF_CANNOTDELETE = (0x1000),
+    VIF_CANNOTDELETECUR = (0x4000),
+    VIF_CANNOTRENAME = (0x2000),
+    VIF_OUTOFMEMORY = (0x8000),
+    VIF_CANNOTREADSRC = (0x10000),
+    VIF_CANNOTREADDST = (0x20000),
+    VIF_BUFFTOOSMALL = (0x40000),
+    WC_COMPOSITECHECK = (512),
+    WC_DISCARDNS = (16),
+    WC_SEPCHARS = (32),
+    WC_DEFAULTCHAR = (64),
+    HELP_COMMAND = (0x102),
+    HELP_CONTENTS = (0x3),
+    HELP___FILE__ = (0x1),
+    HELP___FILE__POPUP = (0x8),
+    HELP_FORCEFILE = (0x9),
+    HELP_HELPONHELP = (0x4),
+    HELP_INDEX = (0x3),
+    HELP_KEY = (0x101),
+    HELP_MULTIKEY = (0x201),
+    HELP_PARTIALKEY = (0x105),
+    HELP_QUIT = (0x2),
+    HELP_SETCONTENTS = (0x5),
+    HELP_SETINDEX = (0x5),
+    HELP___FILE__MENU = (0xa),
+    HELP_FINDER = (0xb),
+    HELP_WM_HELP = (0xc),
+    HELP_TCARD = (0x8000),
+    HELP_TCARD_DATA = (0x10),
+    HELP_TCARD_OTHER_CALLER = (0x11),
+    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 = (0x43),
+    WN_EXTENDED_ERROR = (0x4b8),
+    WN_MORE_DATA = (0xea),
+    WN_NO_NETWORK = (0x4c6),
+    WN_SUCCESS = (0),
+    WN_ACCESS_DENIED = (0x5),
+    WN_BAD_PROVIDER = (0x4b4),
+    WN_NOT_AUTHENTICATED = (0x4dc),
+    UNIVERSAL_NAME_INFO_LEVEL = (1),
+    REMOTE_NAME_INFO_LEVEL = (2),
+    STILL_ACTIVE = (0x103),
+    SP_SERIALCOMM = (0x1),
+    BAUD_075 = (0x1),
+    BAUD_110 = (0x2),
+    BAUD_134_5 = (0x4),
+    BAUD_150 = (0x8),
+    BAUD_300 = (0x10),
+    BAUD_600 = (0x20),
+    BAUD_1200 = (0x40),
+    BAUD_1800 = (0x80),
+    BAUD_2400 = (0x100),
+    BAUD_4800 = (0x200),
+    BAUD_7200 = (0x400),
+    BAUD_9600 = (0x800),
+    BAUD_14400 = (0x1000),
+    BAUD_19200 = (0x2000),
+    BAUD_38400 = (0x4000),
+    BAUD_56K = (0x8000),
+    BAUD_57600 = (0x40000),
+    BAUD_115200 = (0x20000),
+    BAUD_128K = (0x10000),
+    BAUD_USER = (0x10000000),
+    PST_FAX = (0x21),
+    PST_LAT = (0x101),
+    PST_MODEM = (0x6),
+    PST_NETWORK_BRIDGE = (0x100),
+    PST_PARALLELPORT = (0x2),
+    PST_RS232 = (0x1),
+    PST_RS422 = (0x3),
+    PST_RS423 = (0x4),
+    PST_RS449 = (0x5),
+    PST_SCANNER = (0x22),
+    PST_TCPIP_TELNET = (0x102),
+    PST_UNSPECIFIED = (0),
+    PST_X25 = (0x103),
+    PCF_16BITMODE = (0x200),
+    PCF_DTRDSR = (0x1),
+    PCF_INTTIMEOUTS = (0x80),
+    PCF_PARITY_CHECK = (0x8),
+    PCF_RLSD = (0x4),
+    PCF_RTSCTS = (0x2),
+    PCF_SETXCHAR = (0x20),
+    PCF_SPECIALCHARS = (0x100),
+    PCF_TOTALTIMEOUTS = (0x40),
+    PCF_XONXOFF = (0x10),
+    SP_BAUD = (0x2),
+    SP_DATABITS = (0x4),
+    SP_HANDSHAKING = (0x10),
+    SP_PARITY = (0x1),
+    SP_PARITY_CHECK = (0x20),
+    SP_RLSD = (0x40),
+    SP_STOPBITS = (0x8),
+    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),
+    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),
+}
+char* VS_FILE_INFO = cast(char*) ((16));
+enum : DWORD {
+    VS_VERSION_INFO = (1),
+    VS_FF_DEBUG = (0x1),
+    VS_FF_INFOINFERRED = (0x10),
+    VS_FF_PATCHED = (0x4),
+    VS_FF_PRERELEASE = (0x2),
+    VS_FF_PRIVATEBUILD = (0x8),
+    VS_FF_SPECIALBUILD = (0x20),
+    VOS_UNKNOWN = (0),
+    VOS_DOS = (0x10000),
+    VOS_OS216 = (0x20000),
+    VOS_OS232 = (0x30000),
+    VOS_NT = (0x40000),
+    VOS_DOS_WINDOWS16 = (0x10001),
+    VOS_DOS_WINDOWS32 = (0x10004),
+    VOS_OS216_PM16 = (0x20002),
+    VOS_OS232_PM32 = (0x30003),
+    VOS_NT_WINDOWS32 = (0x40004),
+    VFT_UNKNOWN = (0),
+    VFT_APP = (0x1),
+    VFT_DLL = (0x2),
+    VFT_DRV = (0x3),
+    VFT_FONT = (0x4),
+    VFT_VXD = (0x5),
+    VFT_STATIC_LIB = (0x7),
+    VFT2_UNKNOWN = (0),
+    VFT2_DRV_PRINTER = (0x1),
+    VFT2_DRV_KEYBOARD = (0x2),
+    VFT2_DRV_LANGUAGE = (0x3),
+    VFT2_DRV_DISPLAY = (0x4),
+    VFT2_DRV_MOUSE = (0x5),
+    VFT2_DRV_NETWORK = (0x6),
+    VFT2_DRV_SYSTEM = (0x7),
+    VFT2_DRV_INSTALLABLE = (0x8),
+    VFT2_DRV_SOUND = (0x9),
+    VFT2_FONT_RASTER = (0x1),
+    VFT2_FONT_VECTOR = (0x2),
+    VFT2_FONT_TRUETYPE = (0x3),
+    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 = (0x1),
+    DM_PAPERSIZE = (0x2),
+    DM_PAPERLENGTH = (0x4),
+    DM_PAPERWIDTH = (0x8),
+    DM_SCALE = (0x10),
+    DM_COPIES = (0x100),
+    DM_DEFAULTSOURCE = (0x200),
+    DM_PRINTQUALITY = (0x400),
+    DM_COLOR = (0x800),
+    DM_DUPLEX = (0x1000),
+    DM_YRESOLUTION = (0x2000),
+    DM_TTOPTION = (0x4000),
+    DM_COLLATE = (0x8000),
+    DM_FORMNAME = (0x10000),
+    DM_LOGPIXELS = (0x20000),
+    DM_ICMMETHOD = (0x800000),
+    DM_ICMINTENT = (0x1000000),
+    DM_MEDIATYPE = (0x2000000),
+    DM_DITHERTYPE = (0x4000000),
+    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),
+    DMRES_HIGH = -((4)),
+    DMRES_MEDIUM = -((3)),
+    DMRES_LOW = -((2)),
+    DMRES_DRAFT = -((1)),
+    DMCOLOR_COLOR = (2),
+    DMCOLOR_MONOCHROME = (1),
+    DMDUP_SIMPLEX = (1),
+    DMDUP_HORIZONTAL = (3),
+    DMDUP_VERTICAL = (2),
+    DMTT_BITMAP = (1),
+    DMTT_DOWNLOAD = (2),
+    DMTT_SUBDEV = (3),
+    DMCOLLATE_TRUE = (1),
+    DMCOLLATE_FALSE = (0),
+    DM_GRAYSCALE = (1),
+    DM_INTERLACED = (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_GLOSSY = (3),
+    DMMEDIA_TRANSPARENCY = (2),
+    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),
+}
+const {
+char* CF_RTF = ("Rich Text Format");
+char* CF_RETEXTOBJ = ("RichEdit Text and Objects");
+}
+enum : DWORD {
+    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_CHECKED = (8),
+    ODS_COMBOBOXEDIT = (4096),
+    ODS_DEFAULT = (32),
+    ODS_DISABLED = (4),
+    ODS_FOCUS = (16),
+    ODS_GRAYED = (2),
+    ODS_SELECTED = (1),
+}
+const {
+char* ANIMATE_CLASSW = ("SysAnimate32");
+char* HOTKEY_CLASSW = ("msctls_hotkey32");
+char* PROGRESS_CLASSW = ("msctls_progress32");
+char* STATUSCLASSNAMEW = ("msctls_statusbar32");
+char* TOOLBARCLASSNAMEW = ("ToolbarWindow32");
+char* TOOLTIPS_CLASSW = ("tooltips_class32");
+char* TRACKBAR_CLASSW = ("msctls_trackbar32");
+char* UPDOWN_CLASSW = ("msctls_updown32");
+char* WC_HEADERW = ("SysHeader32");
+char* WC_LISTVIEWW = ("SysListView32");
+char* WC_TABCONTROLW = ("SysTabControl32");
+char* WC_TREEVIEWW = ("SysTreeView32");
+}
+enum : DWORD {
+    CCS_ADJUSTABLE = (0x20),
+    CCS_BOTTOM = (0x3),
+    CCS_NODIVIDER = (0x40),
+    CCS_NOMOVEY = (0x2),
+    CCS_NOPARENTALIGN = (0x8),
+    CCS_NORESIZE = (0x4),
+    CCS_TOP = (0x1),
+}
+const {
+char* ANIMATE_CLASSA = ("SysAnimate32");
+char* HOTKEY_CLASSA = ("msctls_hotkey32");
+char* PROGRESS_CLASSA = ("msctls_progress32");
+char* STATUSCLASSNAMEA = ("msctls_statusbar32");
+char* TOOLBARCLASSNAMEA = ("ToolbarWindow32");
+char* TOOLTIPS_CLASSA = ("tooltips_class32");
+char* TRACKBAR_CLASSA = ("msctls_trackbar32");
+char* UPDOWN_CLASSA = ("msctls_updown32");
+char* WC_HEADERA = ("SysHeader32");
+char* WC_LISTVIEWA = ("SysListView32");
+char* WC_TABCONTROLA = ("SysTabControl32");
+char* WC_TREEVIEWA = ("SysTreeView32");
+char* ANIMATE_CLASS = (ANIMATE_CLASSA);
+char* HOTKEY_CLASS = (HOTKEY_CLASSA);
+char* PROGRESS_CLASS = (PROGRESS_CLASSA);
+char* STATUSCLASSNAME = (STATUSCLASSNAMEA);
+char* TOOLBARCLASSNAME = (TOOLBARCLASSNAMEA);
+char* TOOLTIPS_CLASS = (TOOLTIPS_CLASSA);
+char* TRACKBAR_CLASS = (TRACKBAR_CLASSA);
+char* UPDOWN_CLASS = (UPDOWN_CLASSA);
+char* WC_HEADER = (WC_HEADERA);
+char* WC_LISTVIEW = (WC_LISTVIEWA);
+char* WC_TABCONTROL = (WC_TABCONTROLA);
+char* WC_TREEVIEW = (WC_TREEVIEWA);
+}
+enum : DWORD {
+    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 = -(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),
+}
+const {
+wchar* LPSTR_TEXTCALLBACKW = cast(LPWSTR)(-(1));
+char* LPSTR_TEXTCALLBACKA = cast(LPSTR)(-(1));
+char* LPSTR_TEXTCALLBACK = (LPSTR_TEXTCALLBACKA);
+}
+enum : DWORD {
+    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)),
+}
+
+struct TREEITEM
+{
+}
+
+alias HANDLE HTREEITEM;
+alias TREEITEM TTREEITEM;
+alias TREEITEM* PTREEITEM;
+enum : DWORD {
+    TVI_ROOT = (0xFFFF0000),
+    TVI_FIRST = (0xFFFF0001),
+    TVI_LAST = (0xFFFF0002),
+    TVI_SORT = (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_BULGARIAN = (2),
+    LANG_CHINESE = (4),
+    LANG_CROATIAN = (26),
+    LANG_CZECH = (5),
+    LANG_DANISH = (6),
+    LANG_DUTCH = (19),
+    LANG_ENGLISH = (9),
+    LANG_FINNISH = (11),
+    LANG_FRENCH = (12),
+    LANG_GERMAN = (7),
+    LANG_GREEK = (8),
+    LANG_HUNGARIAN = (14),
+    LANG_ICELANDIC = (15),
+    LANG_ITALIAN = (16),
+    LANG_JAPANESE = (17),
+    LANG_KOREAN = (18),
+    LANG_NEUTRAL = (0),
+    LANG_NORWEGIAN = (20),
+    LANG_POLISH = (21),
+    LANG_PORTUGUESE = (22),
+    LANG_ROMANIAN = (24),
+    LANG_RUSSIAN = (25),
+    LANG_SLOVAK = (27),
+    LANG_SLOVENIAN = (36),
+    LANG_SPANISH = (10),
+    LANG_SWEDISH = (29),
+    LANG_TURKISH = (31),
+    SUBLANG_CHINESE_SIMPLIFIED = (2),
+    SUBLANG_CHINESE_TRADITIONAL = (1),
+    SUBLANG_CHINESE_HONGKONG = (3),
+    SUBLANG_CHINESE_SINGAPORE = (4),
+    SUBLANG_DEFAULT = (1),
+    SUBLANG_DUTCH = (1),
+    SUBLANG_DUTCH_BELGIAN = (2),
+    SUBLANG_ENGLISH_AUS = (3),
+    SUBLANG_ENGLISH_CAN = (4),
+    SUBLANG_ENGLISH_EIRE = (6),
+    SUBLANG_ENGLISH_NZ = (5),
+    SUBLANG_ENGLISH_UK = (2),
+    SUBLANG_ENGLISH_US = (1),
+    SUBLANG_FRENCH = (1),
+    SUBLANG_FRENCH_BELGIAN = (2),
+    SUBLANG_FRENCH_CANADIAN = (3),
+    SUBLANG_FRENCH_SWISS = (4),
+    SUBLANG_GERMAN = (1),
+    SUBLANG_GERMAN_AUSTRIAN = (3),
+    SUBLANG_GERMAN_SWISS = (2),
+    SUBLANG_ITALIAN = (1),
+    SUBLANG_ITALIAN_SWISS = (2),
+    SUBLANG_NEUTRAL = (0),
+    SUBLANG_NORWEGIAN_BOKMAL = (1),
+    SUBLANG_NORWEGIAN_NYNORSK = (2),
+    SUBLANG_PORTUGUESE = (2),
+    SUBLANG_PORTUGUESE_BRAZILIAN = (1),
+    SUBLANG_SPANISH = (1),
+    SUBLANG_SPANISH_MEXICAN = (2),
+    SUBLANG_SPANISH_MODERN = (3),
+    SUBLANG_SYS_DEFAULT = (2),
+    NLS_VALID_LOCALE_MASK = (1048575),
+    SORT_DEFAULT = (0),
+    SORT_JAPANESE_XJIS = (0),
+    SORT_JAPANESE_UNICODE = (1),
+    SORT_CHINESE_BIG5 = (0),
+    SORT_CHINESE_UNICODE = (1),
+    SORT_KOREAN_KSC = (0),
+    SORT_KOREAN_UNICODE = (1),
+    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 = (0xf0000),
+    STANDARD_RIGHTS_WRITE = (0x20000),
+    STANDARD_RIGHTS_READ = (0x20000),
+    STANDARD_RIGHTS_EXECUTE = (0x20000),
+    STANDARD_RIGHTS_ALL = (0x1f0000),
+    SPECIFIC_RIGHTS_ALL = (0xffff),
+    MAXIMUM_ALLOWED = (0x2000000),
+    GENERIC_ALL = (0x10000000),
+    SECURITY_NULL_RID = (0),
+    SECURITY_WORLD_RID = (0),
+    SECURITY_LOCAL_RID = (0),
+    SECURITY_CREATOR_OWNER_RID = (0),
+    SECURITY_CREATOR_GROUP_RID = (0x1),
+    SECURITY_DIALUP_RID = (0x1),
+    SECURITY_NETWORK_RID = (0x2),
+    SECURITY_BATCH_RID = (0x3),
+    SECURITY_INTERACTIVE_RID = (0x4),
+    SECURITY_LOGON_IDS_RID = (0x5),
+    SECURITY_LOGON_IDS_RID_COUNT = (0x3),
+    SECURITY_SERVICE_RID = (0x6),
+    SECURITY_LOCAL_SYSTEM_RID = (0x12),
+    SECURITY_BUILTIN_DOMAIN_RID = (0x20),
+    DOMAIN_USER_RID_ADMIN = (0x1f4),
+    DOMAIN_USER_RID_GUEST = (0x1f5),
+    DOMAIN_GROUP_RID_ADMINS = (0x200),
+    DOMAIN_GROUP_RID_USERS = (0x201),
+    DOMAIN_ALIAS_RID_ADMINS = (0x220),
+    DOMAIN_ALIAS_RID_USERS = (0x221),
+    DOMAIN_ALIAS_RID_GUESTS = (0x222),
+    DOMAIN_ALIAS_RID_POWER_USERS = (0x223),
+    DOMAIN_ALIAS_RID_ACCOUNT_OPS = (0x224),
+    DOMAIN_ALIAS_RID_SYSTEM_OPS = (0x225),
+    DOMAIN_ALIAS_RID_PRINT_OPS = (0x226),
+    DOMAIN_ALIAS_RID_BACKUP_OPS = (0x227),
+    DOMAIN_ALIAS_RID_REPLICATOR = (0x228),
+    SE_GROUP_MANDATORY = (0x1),
+    SE_GROUP_ENABLED_BY_DEFAULT = (0x2),
+    SE_GROUP_ENABLED = (0x4),
+    SE_GROUP_OWNER = (0x8),
+    SE_GROUP_LOGON_ID = (0xc0000000),
+    ACL_REVISION = (2),
+    ACCESS_ALLOWED_ACE_TYPE = (0x0),
+    ACCESS_DENIED_ACE_TYPE = (0x1),
+    SYSTEM_AUDIT_ACE_TYPE = (0x2),
+    SYSTEM_ALARM_ACE_TYPE = (0x3),
+    OBJECT_INHERIT_ACE = (0x1),
+    CONTAINER_INHERIT_ACE = (0x2),
+    NO_PROPAGATE_INHERIT_ACE = (0x4),
+    INHERIT_ONLY_ACE = (0x8),
+    SUCCESSFUL_ACCESS_ACE_FLAG = (0x40),
+    FAILED_ACCESS_ACE_FLAG = (0x80),
+    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 = (0x1),
+    SE_PRIVILEGE_ENABLED = (0x2),
+    SE_PRIVILEGE_USED_FOR_ACCESS = (0x80000000),
+    PRIVILEGE_SET_ALL_NECESSARY = (0x1),
+    OFN_ALLOWMULTISELECT = (0x200),
+    OFN_CREATEPROMPT = (0x2000),
+    OFN_ENABLEHOOK = (0x20),
+    OFN_ENABLETEMPLATE = (0x40),
+    OFN_ENABLETEMPLATEHANDLE = (0x80),
+    OFN_EXPLORER = (0x80000),
+    OFN_EXTENSIONDIFFERENT = (0x400),
+    OFN_FILEMUSTEXIST = (0x1000),
+    OFN_HIDEREADONLY = (0x4),
+    OFN_LONGNAMES = (0x200000),
+    OFN_NOCHANGEDIR = (0x8),
+    OFN_NODEREFERENCELINKS = (0x100000),
+    OFN_NOLONGNAMES = (0x40000),
+    OFN_NONETWORKBUTTON = (0x20000),
+    OFN_NOREADONLYRETURN = (0x8000),
+    OFN_NOTESTFILECREATE = (0x10000),
+    OFN_NOVALIDATE = (0x100),
+    OFN_OVERWRITEPROMPT = (0x2),
+    OFN_PATHMUSTEXIST = (0x800),
+    OFN_READONLY = (0x1),
+    OFN_SHAREAWARE = (0x4000),
+    OFN_SHOWHELP = (0x10),
+    OFN_SHAREFALLTHROUGH = (0x2),
+    OFN_SHARENOWARN = (0x1),
+    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 = (0x465),
+    CDM_GETFOLDERIDLIST = (0x467),
+    CDM_GETFOLDERPATH = (0x466),
+    CDM_GETSPEC = (0x464),
+    CDM_HIDECONTROL = (0x469),
+    CDM_SETCONTROLTEXT = (0x468),
+    CDM_SETDEFEXT = (0x46a),
+    CC_ENABLEHOOK = (0x10),
+    CC_ENABLETEMPLATE = (0x20),
+    CC_ENABLETEMPLATEHANDLE = (0x40),
+    CC_FULLOPEN = (0x2),
+    CC_PREVENTFULLOPEN = (0x4),
+    CC_RGBINIT = (0x1),
+    CC_SHOWHELP = (0x8),
+    CC_SOLIDCOLOR = (0x80),
+    FR_DIALOGTERM = (0x40),
+    FR_DOWN = (0x1),
+    FR_ENABLEHOOK = (0x100),
+    FR_ENABLETEMPLATE = (0x200),
+    FR_ENABLETEMPLATEHANDLE = (0x2000),
+    FR_FINDNEXT = (0x8),
+    FR_HIDEUPDOWN = (0x4000),
+    FR_HIDEMATCHCASE = (0x8000),
+    FR_HIDEWHOLEWORD = (0x10000),
+    FR_MATCHCASE = (0x4),
+    FR_NOMATCHCASE = (0x800),
+    FR_NOUPDOWN = (0x400),
+    FR_NOWHOLEWORD = (0x1000),
+    FR_REPLACE = (0x10),
+    FR_REPLACEALL = (0x20),
+    FR_SHOWHELP = (0x80),
+    FR_WHOLEWORD = (0x2),
+    CF_APPLY = (0x200),
+    CF_ANSIONLY = (0x400),
+    CF_BOTH = (0x3),
+    CF_TTONLY = (0x40000),
+    CF_EFFECTS = (0x100),
+    CF_ENABLEHOOK = (0x8),
+    CF_ENABLETEMPLATE = (0x10),
+    CF_ENABLETEMPLATEHANDLE = (0x20),
+    CF_FIXEDPITCHONLY = (0x4000),
+    CF_FORCEFONTEXIST = (0x10000),
+    CF_INITTOLOGFONTSTRUCT = (0x40),
+    CF_LIMITSIZE = (0x2000),
+    CF_NOOEMFONTS = (0x800),
+    CF_NOFACESEL = (0x80000),
+    CF_NOSCRIPTSEL = (0x800000),
+    CF_NOSTYLESEL = (0x100000),
+    CF_NOSIZESEL = (0x200000),
+    CF_NOSIMULATIONS = (0x1000),
+    CF_NOVECTORFONTS = (0x800),
+    CF_NOVERTFONTS = (0x1000000),
+    CF_PRINTERFONTS = (0x2),
+    CF_SCALABLEONLY = (0x20000),
+    CF_SCREENFONTS = (0x1),
+    CF_SCRIPTSONLY = (0x400),
+    CF_SELECTSCRIPT = (0x400000),
+    CF_SHOWHELP = (0x4),
+    CF_USESTYLE = (0x80),
+    CF_WYSIWYG = (0x8000),
+    BOLD_FONTTYPE = (0x100),
+    ITALIC_FONTTYPE = (0x200),
+    PRINTER_FONTTYPE = (0x4000),
+    REGULAR_FONTTYPE = (0x400),
+    SCREEN_FONTTYPE = (0x2000),
+    SIMULATED_FONTTYPE = (0x8000),
+}
+const {
+char* COLOROKSTRINGW = ("commdlg_ColorOK");
+char* FILEOKSTRINGW = ("commdlg_FileNameOK");
+char* FINDMSGSTRINGW = ("commdlg_FindReplace");
+char* HELPMSGSTRINGW = ("commdlg_help");
+char* LBSELCHSTRINGW = ("commdlg_LBSelChangedNotify");
+char* SETRGBSTRINGW = ("commdlg_SetRGBColor");
+char* SHAREVISTRINGW = ("commdlg_ShareViolation");
+char* COLOROKSTRINGA = ("commdlg_ColorOK");
+char* FILEOKSTRINGA = ("commdlg_FileNameOK");
+char* FINDMSGSTRINGA = ("commdlg_FindReplace");
+char* HELPMSGSTRINGA = ("commdlg_help");
+char* LBSELCHSTRINGA = ("commdlg_LBSelChangedNotify");
+char* SETRGBSTRINGA = ("commdlg_SetRGBColor");
+char* SHAREVISTRINGA = ("commdlg_ShareViolation");
+char* COLOROKSTRING = (COLOROKSTRINGA);
+char* FILEOKSTRING = (FILEOKSTRINGA);
+char* FINDMSGSTRING = (FINDMSGSTRINGA);
+char* HELPMSGSTRING = (HELPMSGSTRINGA);
+char* LBSELCHSTRING = (LBSELCHSTRINGA);
+char* SETRGBSTRING = (SETRGBSTRINGA);
+char* SHAREVISTRING = (SHAREVISTRINGA);
+}
+enum : DWORD {
+    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_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),
+    MIIM_CHECKMARKS = (8),
+    MIIM_DATA = (32),
+    MIIM_ID = (2),
+    MIIM_STATE = (1),
+    MIIM_SUBMENU = (4),
+    MIIM_TYPE = (16),
+    MFT_BITMAP = (0x4),
+    MFT_MENUBARBREAK = (0x20),
+    MFT_MENUBREAK = (0x40),
+    MFT_OWNERDRAW = (0x100),
+    MFT_RADIOCHECK = (0x200),
+    MFT_RIGHTJUSTIFY = (0x4000),
+    MFT_SEPARATOR = (0x800),
+    MFT_STRING = (0),
+    MFS_CHECKED = (0x8),
+    MFS_DEFAULT = (0x1000),
+    MFS_DISABLED = (0x3),
+    MFS_ENABLED = (0),
+    MFS_GRAYED = (0x3),
+    MFS_HILITE = (0x80),
+    MFS_UNCHECKED = (0),
+    MFS_UNHILITE = (0),
+    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 = (0x1),
+    PRF_CHILDREN = (0x10),
+    PRF_CLIENT = (0x4),
+    PRF_ERASEBKGND = (0x8),
+    PRF_NONCLIENT = (0x2),
+    PRF_OWNED = (0x20),
+    HWND_DESKTOP = (0),
+    SC_CLOSE = (61536),
+    SC___FILE__HELP = (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),
+    _MOUSE_EVENT = (2),
+    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_DRAW_TO_WINDOW = (0x4),
+    PFD_DRAW_TO_BITMAP = (0x8),
+    PFD_SUPPORT_GDI = (0x10),
+    PFD_SUPPORT_OPENGL = (0x20),
+    PFD_DOUBLEBUFFER = (0x1),
+    PFD_STEREO = (0x2),
+    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 = (0x40),
+    PFD_NEED_PALETTE = (0x80),
+    PFD_NEED_SYSTEM_PALETTE = (0x100),
+    PFD_SWAP_COPY = (0x400),
+    PFD_SWAP_EXCHANGE = (0x200),
+    TMPF_FIXED_PITCH = (0x1),
+    TMPF_VECTOR = (0x2),
+    TMPF_TRUETYPE = (0x4),
+    TMPF_DEVICE = (0x8),
+    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 = (0x1000),
+    XCLASS_DATA = (0x2000),
+    XCLASS_FLAGS = (0x4000),
+    XCLASS_MASK = (0xfc00),
+    XCLASS_NOTIFICATION = (0x8000),
+    XTYPF_NOBLOCK = (0x0002),
+    XTYP_ADVDATA = (0x4010),
+    XTYP_ADVREQ = (0x2022),
+    XTYP_ADVSTART = (0x1030),
+    XTYP_ADVSTOP = (0x8040),
+    XTYP_CONNECT = (0x1062),
+    XTYP_CONNECT_CONFIRM = (0x8072),
+    XTYP_DISCONNECT = (0x80c2),
+    XTYP_EXECUTE = (0x4050),
+    XTYP_POKE = (0x4090),
+    XTYP_REQUEST = (0x20b0),
+    XTYP_WILDCONNECT = (0x20E2),
+    XTYP_REGISTER = (0x80A2),
+    XTYP_ERROR = (0x8002),
+    XTYP_XACT_COMPLETE = (0x8080),
+    XTYP_UNREGISTER = (0x80D2),
+    DMLERR_DLL_USAGE = (0x4004),
+    DMLERR_INVALIDPARAMETER = (0x4006),
+    DMLERR_NOTPROCESSED = (0x4009),
+    DMLERR_POSTMSG_FAILED = (0x400c),
+    DMLERR_SERVER_DIED = (0x400e),
+    DMLERR_SYS_ERROR = (0x400f),
+    DMLERR_BUSY = (0x4001),
+    DMLERR_DATAACKTIMEOUT = (0x4002),
+    DMLERR_ADVACKTIMEOUT = (0x4000),
+    DMLERR_DLL_NOT_INITIALIZED = (0x4003),
+    DMLERR_LOW_MEMORY = (0x4007),
+    DMLERR_MEMORY_ERROR = (0x4008),
+    DMLERR_POKEACKTIMEOUT = (0x400b),
+    DMLERR_NO_CONV_ESTABLISHED = (0x400a),
+    DMLERR_REENTRANCY = (0x400d),
+    DMLERR_UNFOUND_QUEUE_ID = (0x4011),
+    DMLERR_UNADVACKTIMEOUT = (0x4010),
+    DMLERR_EXECACKTIMEOUT = (0x4005),
+    DDE_FACK = (0x8000),
+    DDE_FNOTPROCESSED = (0x0000),
+    DNS_REGISTER = (0x0001),
+    DNS_UNREGISTER = (0x0002),
+    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 = (0x0103),
+    META_SETWINDOWORG = (0x020B),
+    META_SETWINDOWEXT = (0x020C),
+    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),
+    SIZE_OF_80387_REGISTERS = (80),
+    __FILE___i386 = (0x10000),
+    __FILE___CONTROL = (__FILE___i386) | (1),
+    __FILE___INTEGER = (__FILE___i386) | (2),
+    __FILE___SEGMENTS = (__FILE___i386) | (4),
+    __FILE___FLOATING_POINT = (__FILE___i386) | (8),
+    __FILE___DEBUG_REGISTERS = (__FILE___i386) | (0x10),
+    __FILE___FULL = ((__FILE___CONTROL) | (__FILE___INTEGER)) | (__FILE___SEGMENTS),
+    FLAG_TRACE_BIT = (0x100),
+    __FILE___DEBUGGER = (__FILE___FULL) | (__FILE___FLOATING_POINT),
+    FILTER_TEMP_DUPLICATE_ACCOUNT = (0x0001),
+    FILTER_NORMAL_ACCOUNT = (0x0002),
+    FILTER_INTERDOMAIN_TRUST_ACCOUNT = (0x0008),
+    FILTER_WORKSTATION_TRUST_ACCOUNT = (0x0010),
+    FILTER_SERVER_TRUST_ACCOUNT = (0x0020),
+    LOGON32_LOGON_INTERACTIVE = (0x02),
+    LOGON32_LOGON_BATCH = (0x04),
+    LOGON32_LOGON_SERVICE = (0x05),
+    LOGON32_PROVIDER_DEFAULT = (0x00),
+    LOGON32_PROVIDER_WINNT35 = (0x01),
+    QID_SYNC = (0xFFFFFFFF),
+    IMAGE_DOS_SIGNATURE = (0x5a4d),
+    IMAGE_NT_SIGNATURE = (0x4550),
+    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 = (0x4000),
+    VT_RESERVED = (0x8000),
+    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),
+    ACM_OPENW = (1127),
+    ACM_OPENA = (1124),
+    ACM_OPEN = (ACM_OPENA),
+    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_GETITEMA),
+    HDM_INSERTITEM = (HDM_INSERTITEMA),
+    HDM_SETITEM = (HDM_SETITEMA),
+    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_BEGINTRACKA),
+    HDN_DIVIDERDBLCLICK = (HDN_DIVIDERDBLCLICKA),
+    HDN_ENDTRACK = (HDN_ENDTRACKA),
+    HDN_ITEMCHANGED = (HDN_ITEMCHANGEDA),
+    HDN_ITEMCHANGING = (HDN_ITEMCHANGINGA),
+    HDN_ITEMCLICK = (HDN_ITEMCLICKA),
+    HDN_ITEMDBLCLICK = (HDN_ITEMDBLCLICKA),
+    HDN_TRACK = (HDN_TRACKA),
+    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_EDITLABELA),
+    LVM_FINDITEM = (LVM_FINDITEMA),
+    LVM_GETCOLUMN = (LVM_GETCOLUMNA),
+    LVM_GETISEARCHSTRING = (LVM_GETISEARCHSTRINGA),
+    LVM_GETITEM = (LVM_GETITEMA),
+    LVM_GETITEMTEXT = (LVM_GETITEMTEXTA),
+    LVM_GETSTRINGWIDTH = (LVM_GETSTRINGWIDTHA),
+    LVM_INSERTCOLUMN = (LVM_INSERTCOLUMNA),
+    LVM_INSERTITEM = (LVM_INSERTITEMA),
+    LVM_SETCOLUMN = (LVM_SETCOLUMNA),
+    LVM_SETITEM = (LVM_SETITEMA),
+    LVM_SETITEMTEXT = (LVM_SETITEMTEXTA),
+    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_BEGINLABELEDITA),
+    LVN_ENDLABELEDIT = (LVN_ENDLABELEDITA),
+    LVN_GETDISPINFO = (LVN_GETDISPINFOA),
+    LVN_SETDISPINFO = (LVN_SETDISPINFOA),
+    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_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_SETFINISHTEXTA),
+    PSM_SETTITLE = (PSM_SETTITLEA),
+    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_GETTEXTA),
+    SB_GETTEXTLENGTH = (SB_GETTEXTLENGTHA),
+    SB_SETTEXT = (SB_SETTEXTA),
+    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_ADDSTRINGA),
+    TB_GETBUTTONTEXT = (TB_GETBUTTONTEXTA),
+    TB_SAVERESTORE = (TB_SAVERESTOREA),
+    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_GETBUTTONINFOA),
+    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_GETITEMA),
+    TCM_INSERTITEM = (TCM_INSERTITEMA),
+    TCM_SETITEM = (TCM_SETITEMA),
+    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_ADDTOOLA),
+    TTM_DELTOOL = (TTM_DELTOOLA),
+    TTM_ENUMTOOLS = (TTM_ENUMTOOLSA),
+    TTM_GETCURRENTTOOL = (TTM_GETCURRENTTOOLA),
+    TTM_GETTEXT = (TTM_GETTEXTA),
+    TTM_GETTOOLINFO = (TTM_GETTOOLINFOA),
+    TTM_HITTEST = (TTM_HITTESTA),
+    TTM_NEWTOOLRECT = (TTM_NEWTOOLRECTA),
+    TTM_SETTOOLINFO = (TTM_SETTOOLINFOA),
+    TTM_UPDATETIPTEXT = (TTM_UPDATETIPTEXTA),
+    TTM_GETTOOLCOUNT = (1037),
+    TTM_RELAYEVENT = (1031),
+    TTM_SETDELAYTIME = (1027),
+    TTM_WINDOWFROMPOINT = (1040),
+    TTN_NEEDTEXTW = -((530)),
+    TTN_NEEDTEXTA = -((520)),
+    TTN_NEEDTEXT = (TTN_NEEDTEXTA),
+    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_EDITLABELA),
+    TVM_GETISEARCHSTRING = (TVM_GETISEARCHSTRINGA),
+    TVM_GETITEM = (TVM_GETITEMA),
+    TVM_INSERTITEM = (TVM_INSERTITEMA),
+    TVM_SETITEM = (TVM_SETITEMA),
+    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_BEGINDRAGA),
+    TVN_BEGINLABELEDIT = (TVN_BEGINLABELEDITA),
+    TVN_BEGINRDRAG = (TVN_BEGINRDRAGA),
+    TVN_DELETEITEM = (TVN_DELETEITEMA),
+    TVN_ENDLABELEDIT = (TVN_ENDLABELEDITA),
+    TVN_GETDISPINFO = (TVN_GETDISPINFOA),
+    TVN_ITEMEXPANDED = (TVN_ITEMEXPANDEDA),
+    TVN_ITEMEXPANDING = (TVN_ITEMEXPANDINGA),
+    TVN_SELCHANGED = (TVN_SELCHANGEDA),
+    TVN_SELCHANGING = (TVN_SELCHANGINGA),
+    TVN_SETDISPINFO = (TVN_SETDISPINFOA),
+    UDM_GETACCEL = (1132),
+    UDM_GETBASE = (1134),
+    UDM_GETBUDDY = (1130),
+    UDM_GETPOS = (1128),
+    UDM_GETRANGE = (1126),
+    UDM_SETACCEL = (1131),
+    UDM_SETBASE = (1133),
+    UDM_SETBUDDY = (1129),
+    UDM_SETPOS = (1127),
+    UDM_SETRANGE = (1125),
+    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___FILE__MENU = (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_SET__FILE__ = (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 = 0x020A,
+    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 = (521),
+}
+struct VA_LIST
+{
+}
+
+
+struct ABC
+{
+    int abcA;
+    UINT abcB;
+    int abcC;
+}
+
+alias ABC* LPABC;
+alias ABC _ABC;
+alias ABC TABC;
+alias ABC* PABC;
+
+struct ABCFLOAT
+{
+    FLOAT abcfA;
+    FLOAT abcfB;
+    FLOAT abcfC;
+}
+
+alias ABCFLOAT* LPABCFLOAT;
+alias ABCFLOAT _ABCFLOAT;
+alias ABCFLOAT TABCFLOAT;
+alias ABCFLOAT* PABCFLOAT;
+
+struct ACCEL
+{
+    ubyte fVirt;
+    ushort key;
+    ushort cmd;
+}
+
+alias ACCEL* LPACCEL;
+alias ACCEL _ACCEL;
+alias ACCEL TACCEL;
+alias ACCEL* PACCEL;
+
+struct ACE_HEADER
+{
+    ubyte AceType;
+    ubyte AceFlags;
+    ushort AceSize;
+}
+
+alias ACE_HEADER _ACE_HEADER;
+alias ACE_HEADER TACE_HEADER;
+alias ACE_HEADER* PACE_HEADER;
+alias DWORD ACCESS_MASK;
+alias ACCESS_MASK REGSAM;
+
+struct ACCESS_ALLOWED_ACE
+{
+    ACE_HEADER Header;
+    ACCESS_MASK Mask;
+    DWORD SidStart;
+}
+
+alias ACCESS_ALLOWED_ACE _ACCESS_ALLOWED_ACE;
+alias ACCESS_ALLOWED_ACE TACCESS_ALLOWED_ACE;
+alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE;
+
+struct ACCESS_DENIED_ACE
+{
+    ACE_HEADER Header;
+    ACCESS_MASK Mask;
+    DWORD SidStart;
+}
+
+alias ACCESS_DENIED_ACE _ACCESS_DENIED_ACE;
+alias ACCESS_DENIED_ACE TACCESS_DENIED_ACE;
+
+struct ACCESSTIMEOUT
+{
+    UINT cbSize;
+    DWORD dwFlags;
+    DWORD iTimeOutMSec;
+}
+
+alias ACCESSTIMEOUT _ACCESSTIMEOUT;
+alias ACCESSTIMEOUT TACCESSTIMEOUT;
+alias ACCESSTIMEOUT* PACCESSTIMEOUT;
+
+struct ACL
+{
+    ubyte AclRevision;
+    ubyte Sbz1;
+    ushort AclSize;
+    ushort AceCount;
+    ushort Sbz2;
+}
+
+alias ACL* PACL;
+alias ACL _ACL;
+alias ACL TACL;
+
+struct ACL_REVISION_INFORMATION
+{
+    DWORD AclRevision;
+}
+
+alias ACL_REVISION_INFORMATION _ACL_REVISION_INFORMATION;
+alias ACL_REVISION_INFORMATION TACLREVISIONINFORMATION;
+alias ACL_REVISION_INFORMATION* PACLREVISIONINFORMATION;
+
+struct ACL_SIZE_INFORMATION
+{
+    DWORD AceCount;
+    DWORD AclBytesInUse;
+    DWORD AclBytesFree;
+}
+
+alias ACL_SIZE_INFORMATION _ACL_SIZE_INFORMATION;
+alias ACL_SIZE_INFORMATION TACLSIZEINFORMATION;
+alias ACL_SIZE_INFORMATION* PACLSIZEINFORMATION;
+
+struct ACTION_HEADER
+{
+    ULONG transport_id;
+    USHORT action_code;
+    USHORT reserved;
+}
+
+alias ACTION_HEADER _ACTION_HEADER;
+alias ACTION_HEADER TACTIONHEADER;
+alias ACTION_HEADER* PACTIONHEADER;
+
+struct ADAPTER_STATUS
+{
+    UCHAR[1 + 5] adapter_address;
+    UCHAR rev_major;
+    UCHAR reserved0;
+    UCHAR adapter_type;
+    UCHAR rev_minor;
+    ushort duration;
+    ushort frmr_recv;
+    ushort frmr_xmit;
+    ushort iframe_recv_err;
+    ushort xmit_aborts;
+    DWORD xmit_success;
+    DWORD recv_success;
+    ushort iframe_xmit_err;
+    ushort recv_buff_unavail;
+    ushort t1_timeouts;
+    ushort ti_timeouts;
+    DWORD reserved1;
+    ushort free_ncbs;
+    ushort max_cfg_ncbs;
+    ushort max_ncbs;
+    ushort xmit_buf_unavail;
+    ushort max_dgram_size;
+    ushort pending_sess;
+    ushort max_cfg_sess;
+    ushort max_sess;
+    ushort max_sess_pkt_size;
+    ushort name_count;
+}
+
+alias ADAPTER_STATUS _ADAPTER_STATUS;
+alias ADAPTER_STATUS TADAPTERSTATUS;
+alias ADAPTER_STATUS* PADAPTERSTATUS;
+
+struct ADDJOB_INFO_1
+{
+    LPTSTR Path;
+    DWORD JobId;
+}
+
+alias ADDJOB_INFO_1 _ADDJOB_INFO_1;
+alias ADDJOB_INFO_1 TADDJOB_INFO_1;
+alias ADDJOB_INFO_1* PADDJOB_INFO_1;
+
+struct ANIMATIONINFO
+{
+    UINT cbSize;
+    int iMinAnimate;
+}
+
+alias ANIMATIONINFO* LPANIMATIONINFO;
+alias ANIMATIONINFO _ANIMATIONINFO;
+alias ANIMATIONINFO TANIMATIONINFO;
+alias ANIMATIONINFO* PANIMATIONINFO;
+
+struct RECT
+{
+    LONG left;
+    LONG top;
+    LONG right;
+    LONG bottom;
+}
+
+alias RECT* LPCRECT;
+alias RECT* LPRECT;
+alias RECT _RECT;
+alias RECT TRECT;
+alias RECT* PRECT;
+
+struct RECTL
+{
+    LONG left;
+    LONG top;
+    LONG right;
+    LONG bottom;
+}
+
+alias RECTL _RECTL;
+alias RECTL TRECTL;
+alias RECTL* PRECTL;
+alias RECTL* LPRECTL;
+alias RECTL* LPCRECTL;
+
+struct APPBARDATA
+{
+    DWORD cbSize;
+    HWND hWnd;
+    UINT uCallbackMessage;
+    UINT uEdge;
+    RECT rc;
+    LPARAM lParam;
+}
+
+alias APPBARDATA _APPBARDATA;
+alias APPBARDATA TAPPBARDATA;
+alias APPBARDATA* PAPPBARDATA;
+
+struct BITMAP
+{
+    LONG bmType;
+    LONG bmWidth;
+    LONG bmHeight;
+    LONG bmWidthBytes;
+    ushort bmPlanes;
+    ushort bmBitsPixel;
+    LPVOID bmBits;
+}
+
+alias BITMAP* PBITMAP;
+alias BITMAP* NPBITMAP;
+alias BITMAP* LPBITMAP;
+alias BITMAP TAGBITMAP;
+alias BITMAP TBITMAP;
+
+struct BITMAPCOREHEADER
+{
+    DWORD bcSize;
+    ushort bcWidth;
+    ushort bcHeight;
+    ushort bcPlanes;
+    ushort bcBitCount;
+}
+
+alias BITMAPCOREHEADER TAGBITMAPCOREHEADER;
+alias BITMAPCOREHEADER TBITMAPCOREHEADER;
+alias BITMAPCOREHEADER* PBITMAPCOREHEADER;
+
+struct RGBTRIPLE
+{
+    ubyte rgbtBlue;
+    ubyte rgbtGreen;
+    ubyte rgbtRed;
+}
+
+alias RGBTRIPLE TAGRGBTRIPLE;
+alias RGBTRIPLE TRGBTRIPLE;
+alias RGBTRIPLE* PRGBTRIPLE;
+
+struct BITMAPCOREINFO
+{
+    BITMAPCOREHEADER bmciHeader;
+    RGBTRIPLE[1 + 0] bmciColors;
+}
+
+alias BITMAPCOREINFO* PBITMAPCOREINFO;
+alias BITMAPCOREINFO* LPBITMAPCOREINFO;
+alias BITMAPCOREINFO _BITMAPCOREINFO;
+alias BITMAPCOREINFO TBITMAPCOREINFO;
+
+struct BITMAPINFOHEADER
+{
+    DWORD biSize;
+    LONG biWidth;
+    LONG biHeight;
+    ushort biPlanes;
+    ushort biBitCount;
+    DWORD biCompression;
+    DWORD biSizeImage;
+    LONG biXPelsPerMeter;
+    LONG biYPelsPerMeter;
+    DWORD biClrUsed;
+    DWORD biClrImportant;
+}
+
+alias BITMAPINFOHEADER* LPBITMAPINFOHEADER;
+alias BITMAPINFOHEADER TBITMAPINFOHEADER;
+alias BITMAPINFOHEADER* PBITMAPINFOHEADER;
+
+struct RGBQUAD
+{
+    ubyte rgbBlue;
+    ubyte rgbGreen;
+    ubyte rgbRed;
+    ubyte rgbReserved;
+}
+
+alias RGBQUAD TAGRGBQUAD;
+alias RGBQUAD TRGBQUAD;
+alias RGBQUAD* PRGBQUAD;
+
+struct BITMAPINFO
+{
+    BITMAPINFOHEADER bmiHeader;
+    RGBQUAD[1 + 0] bmiColors;
+}
+
+alias BITMAPINFO* LPBITMAPINFO;
+alias BITMAPINFO* PBITMAPINFO;
+alias BITMAPINFO TBITMAPINFO;
+alias int FXPT2DOT30;
+alias FXPT2DOT30* LPFXPT2DOT30;
+alias FXPT2DOT30 TPFXPT2DOT30;
+alias FXPT2DOT30* PPFXPT2DOT30;
+
+struct CIEXYZ
+{
+    FXPT2DOT30 ciexyzX;
+    FXPT2DOT30 ciexyzY;
+    FXPT2DOT30 ciexyzZ;
+}
+
+alias CIEXYZ TAGCIEXYZ;
+alias CIEXYZ* LPCIEXYZ;
+alias CIEXYZ TPCIEXYZ;
+alias CIEXYZ* PCIEXYZ;
+
+struct CIEXYZTRIPLE
+{
+    CIEXYZ ciexyzRed;
+    CIEXYZ ciexyzGreen;
+    CIEXYZ ciexyzBlue;
+}
+
+alias CIEXYZTRIPLE TAGCIEXYZTRIPLE;
+alias CIEXYZTRIPLE* LPCIEXYZTRIPLE;
+alias CIEXYZTRIPLE TCIEXYZTRIPLE;
+alias CIEXYZTRIPLE* PCIEXYZTRIPLE;
+
+struct BITMAPV4HEADER
+{
+    DWORD bV4Size;
+    LONG bV4Width;
+    LONG bV4Height;
+    ushort bV4Planes;
+    ushort bV4BitCount;
+    DWORD bV4V4Compression;
+    DWORD bV4SizeImage;
+    LONG bV4XPelsPerMeter;
+    LONG bV4YPelsPerMeter;
+    DWORD bV4ClrUsed;
+    DWORD bV4ClrImportant;
+    DWORD bV4RedMask;
+    DWORD bV4GreenMask;
+    DWORD bV4BlueMask;
+    DWORD bV4AlphaMask;
+    DWORD bV4CSType;
+    CIEXYZTRIPLE bV4Endpoints;
+    DWORD bV4GammaRed;
+    DWORD bV4GammaGreen;
+    DWORD bV4GammaBlue;
+}
+
+alias BITMAPV4HEADER* LPBITMAPV4HEADER;
+alias BITMAPV4HEADER TBITMAPV4HEADER;
+alias BITMAPV4HEADER* PBITMAPV4HEADER;
+
+align(1) struct BITMAPFILEHEADER
+{
+    ushort bfType;
+    DWORD bfSize;
+    ushort bfReserved1;
+    ushort bfReserved2;
+    DWORD bfOffBits;
+}
+
+
+struct BLOB
+{
+    ULONG cbSize;
+    ubyte* pBlobData;
+}
+
+alias BLOB _BLOB;
+alias BLOB TBLOB;
+alias BLOB* PBLOB;
+
+// struct SHITEMID
+// {
+//     USHORT cb;
+//     ubyte[1 + 0] abID;
+// }
+//
+// alias SHITEMID* LPSHITEMID;
+// alias SHITEMID* LPCSHITEMID;
+// alias SHITEMID _SHITEMID;
+// alias SHITEMID TSHITEMID;
+// alias SHITEMID* PSHITEMID;
+
+struct ITEMIDLIST
+{
+    SHITEMID mkid;
+}
+
+alias ITEMIDLIST* LPITEMIDLIST;
+alias ITEMIDLIST* LPCITEMIDLIST;
+alias ITEMIDLIST _ITEMIDLIST;
+alias ITEMIDLIST TITEMIDLIST;
+alias ITEMIDLIST* PITEMIDLIST;
+
+// struct BROWSEINFO
+// {
+//     HWND hwndOwner;
+//     LPCITEMIDLIST pidlRoot;
+//     LPSTR pszDisplayName;
+//     LPCSTR lpszTitle;
+//     UINT ulFlags;
+//     BFFCALLBACK lpfn;
+//     LPARAM lParam;
+//     int iImage;
+// }
+
+// alias BROWSEINFO* LPBROWSEINFO;
+// alias BROWSEINFO _BROWSEINFO;
+// alias BROWSEINFO TBROWSEINFO;
+// alias BROWSEINFO* PBROWSEINFO;
+
+struct FILETIME
+{
+    DWORD dwLowDateTime;
+    DWORD dwHighDateTime;
+}
+
+alias FILETIME* LPFILETIME;
+alias FILETIME _FILETIME;
+alias FILETIME TFILETIME;
+alias FILETIME* PFILETIME;
+
+struct BY_HANDLE_FILE_INFORMATION
+{
+    DWORD dwFileAttributes;
+    FILETIME ftCreationTime;
+    FILETIME ftLastAccessTime;
+    FILETIME ftLastWriteTime;
+    DWORD dwVolumeSerialNumber;
+    DWORD nFileSizeHigh;
+    DWORD nFileSizeLow;
+    DWORD nNumberOfLinks;
+    DWORD nFileIndexHigh;
+    DWORD nFileIndexLow;
+}
+
+alias BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION;
+alias BY_HANDLE_FILE_INFORMATION _BY_HANDLE_FILE_INFORMATION;
+alias BY_HANDLE_FILE_INFORMATION TBYHANDLEFILEINFORMATION;
+alias BY_HANDLE_FILE_INFORMATION* PBYHANDLEFILEINFORMATION;
+
+struct FIXED
+{
+    ushort fract;
+    int value;
+}
+
+alias FIXED _FIXED;
+alias FIXED TFIXED;
+alias FIXED* PFIXED;
+
+struct POINT
+{
+    LONG x;
+    LONG y;
+}
+
+alias POINT* LPPOINT;
+alias POINT TAGPOINT;
+alias POINT TPOINT;
+alias POINT* PPOINT;
+
+struct POINTFX
+{
+    FIXED x;
+    FIXED y;
+}
+
+alias POINTFX TAGPOINTFX;
+alias POINTFX TPOINTFX;
+alias POINTFX* PPOINTFX;
+
+struct POINTL
+{
+    LONG x;
+    LONG y;
+}
+
+alias POINTL _POINTL;
+alias POINTL TPOINTL;
+alias POINTL* PPOINTL;
+
+struct TSMALLPOINT
+{
+    byte X, Y;
+}
+
+
+struct POINTS
+{
+    SHORT x;
+    SHORT y;
+}
+
+alias POINTS TAGPOINTS;
+alias POINTS TPOINTS;
+alias POINTS* PPOINTS;
+
+struct CANDIDATEFORM
+{
+    DWORD dwIndex;
+    DWORD dwStyle;
+    POINT ptCurrentPos;
+    RECT rcArea;
+}
+
+alias CANDIDATEFORM* LPCANDIDATEFORM;
+alias CANDIDATEFORM _TAGCANDIDATEFORM;
+alias CANDIDATEFORM TCANDIDATEFORM;
+alias CANDIDATEFORM* PCANDIDATEFORM;
+
+struct CANDIDATELIST
+{
+    DWORD dwSize;
+    DWORD dwStyle;
+    DWORD dwCount;
+    DWORD dwSelection;
+    DWORD dwPageStart;
+    DWORD dwPageSize;
+    DWORD[1 + 0] dwOffset;
+}
+
+alias CANDIDATELIST* LPCANDIDATELIST;
+alias CANDIDATELIST _TAGCANDIDATELIST;
+alias CANDIDATELIST TCANDIDATELIST;
+alias CANDIDATELIST* PCANDIDATELIST;
+
+// struct CREATESTRUCT
+// {
+//     LPVOID lpCreateParams;
+//     HINST hInstance;
+//     HMENU hMenu;
+//     HWND hwndParent;
+//     int cy;
+//     int cx;
+//     int y;
+//     int x;
+//     LONG style;
+//     LPCTSTR lpszName;
+//     LPCTSTR lpszClass;
+//     DWORD dwExStyle;
+// }
+
+alias CREATESTRUCT* LPCREATESTRUCT;
+alias CREATESTRUCT TAGCREATESTRUCT;
+alias CREATESTRUCT TCREATESTRUCT;
+alias CREATESTRUCT* PCREATESTRUCT;
+
+struct CBT_CREATEWND
+{
+    LPCREATESTRUCT lpcs;
+    HWND hwndInsertAfter;
+}
+
+alias CBT_CREATEWND TAGCBT_CREATEWND;
+alias CBT_CREATEWND TCBT_CREATEWND;
+alias CBT_CREATEWND* PCBT_CREATEWND;
+
+struct CBTACTIVATESTRUCT
+{
+    WINBOOL fMouse;
+    HWND hWndActive;
+}
+
+alias CBTACTIVATESTRUCT TAGCBTACTIVATESTRUCT;
+alias CBTACTIVATESTRUCT TCBTACTIVATESTRUCT;
+alias CBTACTIVATESTRUCT* PCBTACTIVATESTRUCT;
+
+struct CHAR_INFO
+{
+
+    union
+    {
+        struct
+        {
+            WCHAR UnicodeChar;
+            ushort Attributes;
+        }
+        struct
+        {
+            char AsciiChar;
+        }
+    }
+}
+
+alias CHAR_INFO _CHAR_INFO;
+alias CHAR_INFO TCHAR_INFO;
+alias CHAR_INFO* PCHAR_INFO;
+
+struct CHARFORMAT
+{
+    UINT cbSize;
+    DWORD dwMask;
+    DWORD dwEffects;
+    LONG yHeight;
+    LONG yOffset;
+    COLORREF crTextColor;
+    ubyte bCharSet;
+    ubyte bPitchAndFamily;
+    TCHAR[1 + LF_FACESIZE-1] szFaceName;
+}
+
+alias CHARFORMAT _CHARFORMAT;
+alias CHARFORMAT TCHARFORMAT;
+alias CHARFORMAT* PCHARFORMAT;
+
+struct CHARRANGE
+{
+    LONG cpMin;
+    LONG cpMax;
+}
+
+alias CHARRANGE _CHARRANGE;
+alias CHARRANGE TCHARRANGE;
+alias CHARRANGE* PCHARRANGE;
+
+struct CHARSET
+{
+    DWORD[1 + 2] aflBlock;
+    DWORD flLang;
+}
+
+alias CHARSET TAGCHARSET;
+alias CHARSET TCHARSET;
+alias CHARSET* PCHARSET;
+
+// struct FONTSIGNATURE
+// {
+//     DWORD[1 + 3] fsUsb;
+//     DWORD[1 + 1] fsCsb;
+// }
+//
+// alias FONTSIGNATURE* LPFONTSIGNATURE;
+// alias FONTSIGNATURE TAGFONTSIGNATURE;
+// alias FONTSIGNATURE TFONTSIGNATURE;
+// alias FONTSIGNATURE* PFONTSIGNATURE;
+
+struct CHARSETINFO
+{
+    UINT ciCharset;
+    UINT ciACP;
+    FONTSIGNATURE fs;
+}
+
+alias CHARSETINFO* LPCHARSETINFO;
+alias CHARSETINFO TCHARSETINFO;
+alias CHARSETINFO* PCHARSETINFO;
+
+// struct TCHOOSECOLOR
+// {
+//     DWORD lStructSize;
+//     HWND hwndOwner;
+//     HWND hInstance;
+//     COLORREF rgbResult;
+//     COLORREF* lpCustColors;
+//     DWORD Flags;
+//     LPARAM lCustData;
+//     LPCCHOOKPROC lpfnHook;
+//     LPCTSTR lpTemplateName;
+// }
+//
+// alias TCHOOSECOLOR* LPCHOOSECOLOR;
+// alias TCHOOSECOLOR* PCHOOSECOLOR;
+
+// struct LOGFONTA
+// {
+//     LONG lfHeight;
+//     LONG lfWidth;
+//     LONG lfEscapement;
+//     LONG lfOrientation;
+//     LONG lfWeight;
+//     ubyte lfItalic;
+//     ubyte lfUnderline;
+//     ubyte lfStrikeOut;
+//     ubyte lfCharSet;
+//     ubyte lfOutPrecision;
+//     ubyte lfClipPrecision;
+//     ubyte lfQuality;
+//     ubyte lfPitchAndFamily;
+//     TCHAR[1 + LF_FACESIZE-1] lfFaceName;
+// }
+//
+// alias LOGFONTA  TLOGFONTA;
+// alias LOGFONTA* PLOGFONTA;
+// alias LOGFONTA* LPLOGFONTA;
+//
+// struct LOGFONTW
+// {
+//     LONG lfHeight;
+//     LONG lfWidth;
+//     LONG lfEscapement;
+//     LONG lfOrientation;
+//     LONG lfWeight;
+//     ubyte lfItalic;
+//     ubyte lfUnderline;
+//     ubyte lfStrikeOut;
+//     ubyte lfCharSet;
+//     ubyte lfOutPrecision;
+//     ubyte lfClipPrecision;
+//     ubyte lfQuality;
+//     ubyte lfPitchAndFamily;
+//     WCHAR lfFaceName[LF_FACESIZE];
+// };
+//
+// alias LOGFONTW  TLOGFONTW;
+// alias LOGFONTW* LPLOGFONTW;
+// alias LOGFONTW* PLOGFONTW;
+//
+// version( ANSI ){
+//     alias LOGFONTA  LOGFONT;
+//     alias LOGFONTA  TLOGFONT;
+//     alias LOGFONTA* PLOGFONT;
+//     alias LOGFONTA* LPLOGFONT;
+// }
+// else{
+//     alias LOGFONTW  LOGFONT;
+//     alias LOGFONTW  TLOGFONT;
+//     alias LOGFONTW* PLOGFONT;
+//     alias LOGFONTW* LPLOGFONT;
+// }
+
+
+struct TCHOOSEFONT
+{
+    DWORD lStructSize;
+    HWND hwndOwner;
+    HDC hDC;
+    LPLOGFONT lpLogFont;
+    INT iPointSize;
+    DWORD Flags;
+    DWORD rgbColors;
+    LPARAM lCustData;
+    LPCFHOOKPROC lpfnHook;
+    LPCTSTR lpTemplateName;
+    HINST hInstance;
+    LPTSTR lpszStyle;
+    ushort nFontType;
+    ushort ___MISSING_ALIGNMENT__;
+    INT nSizeMin;
+    INT nSizeMax;
+}
+
+alias TCHOOSEFONT* LPCHOOSEFONT;
+alias TCHOOSEFONT* PCHOOSEFONT;
+
+struct CIDA
+{
+    UINT cidl;
+    UINT[1 + 0] aoffset;
+}
+
+alias CIDA* LPIDA;
+alias CIDA _IDA;
+alias CIDA TIDA;
+alias CIDA* PIDA;
+
+struct CLIENTCREATESTRUCT
+{
+    HANDLE hWindowMenu;
+    UINT idFirstChild;
+}
+
+alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT;
+alias CLIENTCREATESTRUCT TAGCLIENTCREATESTRUCT;
+alias CLIENTCREATESTRUCT TCLIENTCREATESTRUCT;
+alias CLIENTCREATESTRUCT* PCLIENTCREATESTRUCT;
+
+struct CMINVOKECOMMANDINFO
+{
+    DWORD cbSize;
+    DWORD fMask;
+    HWND hwnd;
+    LPCSTR lpVerb;
+    LPCSTR lpParameters;
+    LPCSTR lpDirectory;
+    int nShow;
+    DWORD dwHotKey;
+    HANDLE hIcon;
+}
+
+alias CMINVOKECOMMANDINFO* LPCMINVOKECOMMANDINFO;
+alias CMINVOKECOMMANDINFO _CMINVOKECOMMANDINFO;
+alias CMINVOKECOMMANDINFO TCMINVOKECOMMANDINFO;
+alias CMINVOKECOMMANDINFO* PCMINVOKECOMMANDINFO;
+
+struct COLORADJUSTMENT
+{
+    ushort caSize;
+    ushort caFlags;
+    ushort caIlluminantIndex;
+    ushort caRedGamma;
+    ushort caGreenGamma;
+    ushort caBlueGamma;
+    ushort caReferenceBlack;
+    ushort caReferenceWhite;
+    SHORT caContrast;
+    SHORT caBrightness;
+    SHORT caColorfulness;
+    SHORT caRedGreenTint;
+}
+
+alias COLORADJUSTMENT* LPCOLORADJUSTMENT;
+alias COLORADJUSTMENT TAGCOLORADJUSTMENT;
+alias COLORADJUSTMENT TCOLORADJUSTMENT;
+alias COLORADJUSTMENT* PCOLORADJUSTMENT;
+
+struct COLORMAP
+{
+    COLORREF from;
+    COLORREF _to;
+}
+
+alias COLORMAP* LPCOLORMAP;
+alias COLORMAP _COLORMAP;
+alias COLORMAP TCOLORMAP;
+alias COLORMAP* PCOLORMAP;
+
+struct DCB
+{
+    DWORD DCBlength;
+    DWORD BaudRate;
+    int flag0;
+    ushort wReserved;
+    ushort XonLim;
+    ushort XoffLim;
+    ubyte ByteSize;
+    ubyte Parity;
+    ubyte StopBits;
+    char XonChar;
+    char XoffChar;
+    char ErrorChar;
+    char EofChar;
+    char EvtChar;
+    ushort wReserved1;
+}
+
+alias DCB* LPDCB;
+alias DCB _DCB;
+alias DCB TDCB;
+alias DCB* PDCB;
+enum : DWORD {
+    bm_DCB_fBinary = (0x1),
+    bp_DCB_fBinary = (0),
+    bm_DCB_fParity = (0x2),
+    bp_DCB_fParity = (1),
+    bm_DCB_fOutxCtsFlow = (0x4),
+    bp_DCB_fOutxCtsFlow = (2),
+    bm_DCB_fOutxDsrFlow = (0x8),
+    bp_DCB_fOutxDsrFlow = (3),
+    bm_DCB_fDtrControl = (0x30),
+    bp_DCB_fDtrControl = (4),
+    bm_DCB_fDsrSensitivity = (0x40),
+    bp_DCB_fDsrSensitivity = (6),
+    bm_DCB_fTXContinueOnXoff = (0x80),
+    bp_DCB_fTXContinueOnXoff = (7),
+    bm_DCB_fOutX = (0x100),
+    bp_DCB_fOutX = (8),
+    bm_DCB_fInX = (0x200),
+    bp_DCB_fInX = (9),
+    bm_DCB_fErrorChar = (0x400),
+    bp_DCB_fErrorChar = (10),
+    bm_DCB_fNull = (0x800),
+    bp_DCB_fNull = (11),
+    bm_DCB_fRtsControl = (0x3000),
+    bp_DCB_fRtsControl = (12),
+    bm_DCB_fAbortOnError = (0x4000),
+    bp_DCB_fAbortOnError = (14),
+    bm_DCB_fDummy2 = (0xFFFF8000),
+    bp_DCB_fDummy2 = (15),
+}
+
+struct COMMCONFIG
+{
+    DWORD dwSize;
+    ushort wVersion;
+    ushort wReserved;
+    DCB dcb;
+    DWORD dwProviderSubType;
+    DWORD dwProviderOffset;
+    DWORD dwProviderSize;
+    WCHAR[1 + 0] wcProviderData;
+}
+
+alias COMMCONFIG* LPCOMMCONFIG;
+alias COMMCONFIG _COMM_CONFIG;
+alias COMMCONFIG TCOMMCONFIG;
+alias COMMCONFIG* PCOMMCONFIG;
+
+struct COMMPROP
+{
+    ushort wPacketLength;
+    ushort wPacketVersion;
+    DWORD dwServiceMask;
+    DWORD dwReserved1;
+    DWORD dwMaxTxQueue;
+    DWORD dwMaxRxQueue;
+    DWORD dwMaxBaud;
+    DWORD dwProvSubType;
+    DWORD dwProvCapabilities;
+    DWORD dwSettableParams;
+    DWORD dwSettableBaud;
+    ushort wSettableData;
+    ushort wSettableStopParity;
+    DWORD dwCurrentTxQueue;
+    DWORD dwCurrentRxQueue;
+    DWORD dwProvSpec1;
+    DWORD dwProvSpec2;
+    WCHAR[1 + 0] wcProvChar;
+}
+
+alias COMMPROP* LPCOMMPROP;
+alias COMMPROP _COMMPROP;
+alias COMMPROP TCOMMPROP;
+alias COMMPROP* PCOMMPROP;
+
+struct COMMTIMEOUTS
+{
+    DWORD ReadIntervalTimeout;
+    DWORD ReadTotalTimeoutMultiplier;
+    DWORD ReadTotalTimeoutConstant;
+    DWORD WriteTotalTimeoutMultiplier;
+    DWORD WriteTotalTimeoutConstant;
+}
+
+alias COMMTIMEOUTS* LPCOMMTIMEOUTS;
+alias COMMTIMEOUTS _COMMTIMEOUTS;
+alias COMMTIMEOUTS TCOMMTIMEOUTS;
+alias COMMTIMEOUTS* PCOMMTIMEOUTS;
+
+struct COMPAREITEMSTRUCT
+{
+    UINT CtlType;
+    UINT CtlID;
+    HWND hwndItem;
+    UINT itemID1;
+    DWORD itemData1;
+    UINT itemID2;
+    DWORD itemData2;
+}
+
+alias COMPAREITEMSTRUCT TAGCOMPAREITEMSTRUCT;
+alias COMPAREITEMSTRUCT TCOMPAREITEMSTRUCT;
+alias COMPAREITEMSTRUCT* PCOMPAREITEMSTRUCT;
+
+struct COMPCOLOR
+{
+    COLORREF crText;
+    COLORREF crBackground;
+    DWORD dwEffects;
+}
+
+alias COMPCOLOR TCOMPCOLOR;
+alias COMPCOLOR* PCOMPCOLOR;
+
+struct COMPOSITIONFORM
+{
+    DWORD dwStyle;
+    POINT ptCurrentPos;
+    RECT rcArea;
+}
+
+alias COMPOSITIONFORM* LPCOMPOSITIONFORM;
+alias COMPOSITIONFORM _TAGCOMPOSITIONFORM;
+alias COMPOSITIONFORM TCOMPOSITIONFORM;
+alias COMPOSITIONFORM* PCOMPOSITIONFORM;
+
+struct COMSTAT
+{
+    int flag0;
+    DWORD cbInQue;
+    DWORD cbOutQue;
+}
+
+alias COMSTAT* LPCOMSTAT;
+alias COMSTAT _COMSTAT;
+alias COMSTAT TCOMSTAT;
+alias COMSTAT* PCOMSTAT;
+enum : DWORD {
+    bm_COMSTAT_fCtsHold = (0x1),
+    bp_COMSTAT_fCtsHold = (0),
+    bm_COMSTAT_fDsrHold = (0x2),
+    bp_COMSTAT_fDsrHold = (1),
+    bm_COMSTAT_fRlsdHold = (0x4),
+    bp_COMSTAT_fRlsdHold = (2),
+    bm_COMSTAT_fXoffHold = (0x8),
+    bp_COMSTAT_fXoffHold = (3),
+    bm_COMSTAT_fXoffSent = (0x10),
+    bp_COMSTAT_fXoffSent = (4),
+    bm_COMSTAT_fEof = (0x20),
+    bp_COMSTAT_fEof = (5),
+    bm_COMSTAT_fTxim = (0x40),
+    bp_COMSTAT_fTxim = (6),
+    bm_COMSTAT_fReserved = (0xFFFFFF80),
+    bp_COMSTAT_fReserved = (7),
+}
+struct CONSOLE_CURSOR_INFO
+{
+    DWORD dwSize;
+    WINBOOL bVisible;
+}
+
+alias CONSOLE_CURSOR_INFO* PCONSOLE_CURSOR_INFO;
+alias CONSOLE_CURSOR_INFO _CONSOLE_CURSOR_INFO;
+alias CONSOLE_CURSOR_INFO TCONSOLECURSORINFO;
+alias CONSOLE_CURSOR_INFO* PCONSOLECURSORINFO;
+alias CONSOLE_CURSOR_INFO TCURSORINFO;
+
+struct COORD
+{
+    SHORT X;
+    SHORT Y;
+}
+
+alias COORD _COORD;
+alias COORD TCOORD;
+alias COORD* PCOORD;
+
+struct SMALL_RECT
+{
+    SHORT Left;
+    SHORT Top;
+    SHORT Right;
+    SHORT Bottom;
+}
+
+alias SMALL_RECT _SMALL_RECT;
+alias SMALL_RECT TSMALL_RECT;
+alias SMALL_RECT* PSMALL_RECT;
+
+align(1) struct CONSOLE_SCREEN_BUFFER_INFO
+{
+    COORD dwSize;
+    COORD dwCursorPosition;
+    ushort wAttributes;
+    SMALL_RECT srWindow;
+    COORD dwMaximumWindowSize;
+}
+
+alias CONSOLE_SCREEN_BUFFER_INFO* PCONSOLE_SCREEN_BUFFER_INFO;
+alias CONSOLE_SCREEN_BUFFER_INFO _CONSOLE_SCREEN_BUFFER_INFO;
+alias CONSOLE_SCREEN_BUFFER_INFO TCONSOLESCREENBUFFERINFO;
+alias CONSOLE_SCREEN_BUFFER_INFO* PCONSOLESCREENBUFFERINFO;
+
+struct FLOATING_SAVE_AREA
+{
+    DWORD ControlWord;
+    DWORD StatusWord;
+    DWORD TagWord;
+    DWORD ErrorOffset;
+    DWORD ErrorSelector;
+    DWORD DataOffset;
+    DWORD DataSelector;
+    ubyte[1 + 79] RegisterArea;
+    DWORD Cr0NpxState;
+}
+
+alias FLOATING_SAVE_AREA _FLOATING_SAVE_AREA;
+alias FLOATING_SAVE_AREA TFLOATINGSAVEAREA;
+alias FLOATING_SAVE_AREA* PFLOATINGSAVEAREA;
+
+enum : DWORD
+{
+//
+// The following flags control the contents of the CONTEXT structure.
+//
+    CONTEXT_i386 = 0x00010000,    // this assumes that i386 and
+    CONTEXT_i486 = 0x00010000,    // i486 have identical context records
+
+    CONTEXT_CONTROL =         (CONTEXT_i386 | 0x00000001), // SS:SP, CS:IP, FLAGS, BP
+    CONTEXT_INTEGER =         (CONTEXT_i386 | 0x00000002), // AX, BX, CX, DX, SI, DI
+    CONTEXT_SEGMENTS =        (CONTEXT_i386 | 0x00000004), // DS, ES, FS, GS
+    CONTEXT_FLOATING_POINT =  (CONTEXT_i386 | 0x00000008), // 387 state
+    CONTEXT_DEBUG_REGISTERS = (CONTEXT_i386 | 0x00000010), // DB 0-3,6,7
+
+    CONTEXT_FULL = (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS),
+}
+
+struct CONTEXT
+{
+    DWORD ContextFlags;
+    DWORD Dr0;
+    DWORD Dr1;
+    DWORD Dr2;
+    DWORD Dr3;
+    DWORD Dr6;
+    DWORD Dr7;
+    FLOATING_SAVE_AREA FloatSave;
+    DWORD 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;
+}
+
+alias CONTEXT* LPCONTEXT;
+alias CONTEXT _CONTEXT;
+alias CONTEXT TCONTEXT;
+alias CONTEXT* PCONTEXT;
+
+struct LIST_ENTRY
+{
+    _LIST_ENTRY* Flink;
+    _LIST_ENTRY* Blink;
+}
+
+alias LIST_ENTRY _LIST_ENTRY;
+alias LIST_ENTRY TLISTENTRY;
+alias LIST_ENTRY* PLISTENTRY;
+
+struct CRITICAL_SECTION_DEBUG
+{
+    ushort _Type;
+    ushort CreatorBackTraceIndex;
+    _CRITICAL_SECTION* CriticalSection;
+    LIST_ENTRY ProcessLocksList;
+    DWORD EntryCount;
+    DWORD ContentionCount;
+    DWORD Depth;
+    PVOID[1 + 4] OwnerBackTrace;
+}
+
+alias CRITICAL_SECTION_DEBUG* LPCRITICAL_SECTION_DEBUG;
+alias CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
+alias CRITICAL_SECTION_DEBUG _CRITICAL_SECTION_DEBUG;
+alias CRITICAL_SECTION_DEBUG TCRITICALSECTIONDEBUG;
+alias CRITICAL_SECTION_DEBUG* PCRITICALSECTIONDEBUG;
+
+struct CRITICAL_SECTION
+{
+    PCRITICAL_SECTION_DEBUG DebugInfo;
+    LONG LockCount;
+    LONG RecursionCount;
+    HANDLE OwningThread;
+    HANDLE LockSemaphore;
+    DWORD Reserved;
+}
+
+alias CRITICAL_SECTION* LPCRITICAL_SECTION;
+alias CRITICAL_SECTION* PCRITICAL_SECTION;
+alias CRITICAL_SECTION _CRITICAL_SECTION;
+alias CRITICAL_SECTION TCRITICALSECTION;
+alias CRITICAL_SECTION* PCRITICALSECTION;
+
+struct SECURITY_QUALITY_OF_SERVICE
+{
+    DWORD Length;
+    SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
+    WINBOOL ContextTrackingMode;
+    ubyte EffectiveOnly;
+}
+
+alias SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE;
+alias SECURITY_QUALITY_OF_SERVICE _SECURITY_QUALITY_OF_SERVICE;
+alias SECURITY_QUALITY_OF_SERVICE TSECURITYQUALITYOFSERVICE;
+alias SECURITY_QUALITY_OF_SERVICE* PSECURITYQUALITYOFSERVICE;
+
+struct CONVCONTEXT
+{
+    UINT cb;
+    UINT wFlags;
+    UINT wCountryID;
+    int iCodePage;
+    DWORD dwLangID;
+    DWORD dwSecurity;
+    SECURITY_QUALITY_OF_SERVICE qos;
+}
+
+alias CONVCONTEXT TAGCONVCONTEXT;
+alias CONVCONTEXT TCONVCONTEXT;
+alias CONVCONTEXT* PCONVCONTEXT;
+
+struct CONVINFO
+{
+    DWORD cb;
+    DWORD hUser;
+    HCONV hConvPartner;
+    HSZ hszSvcPartner;
+    HSZ hszServiceReq;
+    HSZ hszTopic;
+    HSZ hszItem;
+    UINT wFmt;
+    UINT wType;
+    UINT wStatus;
+    UINT wConvst;
+    UINT wLastError;
+    HCONVLIST hConvList;
+    CONVCONTEXT ConvCtxt;
+    HWND _hwnd;
+    HWND hwndPartner;
+}
+
+alias CONVINFO TAGCONVINFO;
+alias CONVINFO TCONVINFO;
+alias CONVINFO* PCONVINFO;
+
+struct COPYDATASTRUCT
+{
+    DWORD dwData;
+    DWORD cbData;
+    PVOID lpData;
+}
+
+alias COPYDATASTRUCT TAGCOPYDATASTRUCT;
+alias COPYDATASTRUCT TCOPYDATASTRUCT;
+alias COPYDATASTRUCT* PCOPYDATASTRUCT;
+
+struct CPINFO
+{
+    UINT MaxCharSize;
+    ubyte[1 + MAX_DEFAULTCHAR-1] DefaultChar;
+    ubyte[1 + MAX_LEADBYTES-1] LeadByte;
+}
+
+alias CPINFO* LPCPINFO;
+alias CPINFO _CPINFO;
+alias CPINFO TCPINFO;
+alias CPINFO* PCPINFO;
+
+struct CPLINFO
+{
+    int idIcon;
+    int idName;
+    int idInfo;
+    LONG lData;
+}
+
+alias CPLINFO TAGCPLINFO;
+alias CPLINFO TCPLINFO;
+alias CPLINFO* PCPLINFO;
+
+struct CREATE_PROCESS_DEBUG_INFO
+{
+    HANDLE hFile;
+    HANDLE hProcess;
+    HANDLE hThread;
+    LPVOID lpBaseOfImage;
+    DWORD dwDebugInfoFileOffset;
+    DWORD nDebugInfoSize;
+    LPVOID lpThreadLocalBase;
+    LPTHREAD_START_ROUTINE lpStartAddress;
+    LPVOID lpImageName;
+    ushort fUnicode;
+}
+
+alias CREATE_PROCESS_DEBUG_INFO _CREATE_PROCESS_DEBUG_INFO;
+alias CREATE_PROCESS_DEBUG_INFO TCREATEPROCESSDEBUGINFO;
+alias CREATE_PROCESS_DEBUG_INFO* PCREATEPROCESSDEBUGINFO;
+
+struct CREATE_THREAD_DEBUG_INFO
+{
+    HANDLE hThread;
+    LPVOID lpThreadLocalBase;
+    LPTHREAD_START_ROUTINE lpStartAddress;
+}
+
+alias CREATE_THREAD_DEBUG_INFO _CREATE_THREAD_DEBUG_INFO;
+alias CREATE_THREAD_DEBUG_INFO TCREATETHREADDEBUGINFO;
+alias CREATE_THREAD_DEBUG_INFO* PCREATETHREADDEBUGINFO;
+
+struct CURRENCYFMT
+{
+    UINT NumDigits;
+    UINT LeadingZero;
+    UINT Grouping;
+    LPTSTR lpDecimalSep;
+    LPTSTR lpThousandSep;
+    UINT NegativeOrder;
+    UINT PositiveOrder;
+    LPTSTR lpCurrencySymbol;
+}
+
+alias CURRENCYFMT _CURRENCYFMT;
+alias CURRENCYFMT TCURRENCYFMT;
+alias CURRENCYFMT* PCURRENCYFMT;
+
+struct CURSORSHAPE
+{
+    int xHotSpot;
+    int yHotSpot;
+    int cx;
+    int cy;
+    int cbWidth;
+    ubyte Planes;
+    ubyte BitsPixel;
+}
+
+alias CURSORSHAPE* LPCURSORSHAPE;
+alias CURSORSHAPE TAGCURSORSHAPE;
+alias CURSORSHAPE TCURSORSHAPE;
+alias CURSORSHAPE* PCURSORSHAPE;
+
+struct CWPRETSTRUCT
+{
+    LRESULT lResult;
+    LPARAM lParam;
+    WPARAM wParam;
+    DWORD message;
+    HWND hwnd;
+}
+
+alias CWPRETSTRUCT TAGCWPRETSTRUCT;
+alias CWPRETSTRUCT TCWPRETSTRUCT;
+alias CWPRETSTRUCT* PCWPRETSTRUCT;
+
+struct CWPSTRUCT
+{
+    LPARAM lParam;
+    WPARAM wParam;
+    UINT message;
+    HWND hwnd;
+}
+
+alias CWPSTRUCT TAGCWPSTRUCT;
+alias CWPSTRUCT TCWPSTRUCT;
+alias CWPSTRUCT* PCWPSTRUCT;
+
+struct DATATYPES_INFO_1
+{
+    LPTSTR pName;
+}
+
+alias DATATYPES_INFO_1 _DATATYPES_INFO_1;
+alias DATATYPES_INFO_1 TDATATYPESINFO1;
+alias DATATYPES_INFO_1* PDATATYPESINFO1;
+
+struct DDEACK
+{
+    ushort flag0;
+}
+
+alias DDEACK TDDEACK;
+alias DDEACK* PDDEACK;
+enum : DWORD {
+    bm_DDEACK_bAppReturnCode = (0xFF),
+    bp_DDEACK_bAppReturnCode = (0),
+    bm_DDEACK_reserved = (0x3F00),
+    bp_DDEACK_reserved = (8),
+    bm_DDEACK_fBusy = (0x4000),
+    bp_DDEACK_fBusy = (14),
+    bm_DDEACK_fAck = (0x8000),
+    bp_DDEACK_fAck = (15),
+}
+
+struct DDEADVISE
+{
+    ushort flag0;
+    int cfFormat;
+}
+
+alias DDEADVISE TDDEADVISE;
+alias DDEADVISE* PDDEADVISE;
+enum : DWORD {
+    bm_DDEADVISE_reserved = (0x3FFF),
+    bp_DDEADVISE_reserved = (0),
+    bm_DDEADVISE_fDeferUpd = (0x4000),
+    bp_DDEADVISE_fDeferUpd = (14),
+    bm_DDEADVISE_fAckReq = (0x8000),
+    bp_DDEADVISE_fAckReq = (15),
+}
+
+struct DDEDATA
+{
+    ushort flag0;
+    int cfFormat;
+    ubyte[1 + 0] Value;
+}
+
+alias DDEDATA* PDDEDATA;
+enum : DWORD {
+    bm_DDEDATA_unused = (0xFFF),
+    bp_DDEDATA_unused = (0),
+    bm_DDEDATA_fResponse = (0x1000),
+    bp_DDEDATA_fResponse = (12),
+    bm_DDEDATA_fRelease = (0x2000),
+    bp_DDEDATA_fRelease = (13),
+    bm_DDEDATA_reserved = (0x4000),
+    bp_DDEDATA_reserved = (14),
+    bm_DDEDATA_fAckReq = (0x8000),
+    bp_DDEDATA_fAckReq = (15),
+}
+
+struct DDELN
+{
+    ushort flag0;
+    int cfFormat;
+}
+
+alias DDELN TDDELN;
+alias DDELN* PDDELN;
+enum : DWORD {
+    bm_DDELN_unused = (0x1FFF),
+    bp_DDELN_unused = (0),
+    bm_DDELN_fRelease = (0x2000),
+    bp_DDELN_fRelease = (13),
+    bm_DDELN_fDeferUpd = (0x4000),
+    bp_DDELN_fDeferUpd = (14),
+    bm_DDELN_fAckReq = (0x8000),
+    bp_DDELN_fAckReq = (15),
+}
+
+struct DDEML_MSG_HOOK_DATA
+{
+    UINT uiLo;
+    UINT uiHi;
+    DWORD cbData;
+    DWORD[1 + 7] Data;
+}
+
+alias DDEML_MSG_HOOK_DATA TAGDDEML_MSG_HOOK_DATA;
+alias DDEML_MSG_HOOK_DATA TDDEMLMSGHOOKDATA;
+alias DDEML_MSG_HOOK_DATA* PDDEMLMSGHOOKDATA;
+
+struct DDEPOKE
+{
+    ushort flag0;
+    int cfFormat;
+    ubyte[1 + 0] Value;
+}
+
+alias DDEPOKE TDDEPOKE;
+alias DDEPOKE* PDDEPOKE;
+enum : DWORD {
+    bm_DDEPOKE_unused = (0x1FFF),
+    bp_DDEPOKE_unused = (0),
+    bm_DDEPOKE_fRelease = (0x2000),
+    bp_DDEPOKE_fRelease = (13),
+    bm_DDEPOKE_fReserved = (0xC000),
+    bp_DDEPOKE_fReserved = (14),
+}
+struct DDEUP
+{
+    ushort flag0;
+    int cfFormat;
+    ubyte[1 + 0] rgb;
+}
+
+alias DDEUP TDDEUP;
+alias DDEUP* PDDEUP;
+
+enum : DWORD {
+    bm_DDEUP_unused = (0xFFF),
+    bp_DDEUP_unused = (0),
+    bm_DDEUP_fAck = (0x1000),
+    bp_DDEUP_fAck = (12),
+    bm_DDEUP_fRelease = (0x2000),
+    bp_DDEUP_fRelease = (13),
+    bm_DDEUP_fReserved = (0x4000),
+    bp_DDEUP_fReserved = (14),
+    bm_DDEUP_fAckReq = (0x8000),
+    bp_DDEUP_fAckReq = (15),
+}
+
+struct EXCEPTION_RECORD
+{
+    DWORD ExceptionCode;
+    DWORD ExceptionFlags;
+    _EXCEPTION_RECORD* ExceptionRecord;
+    PVOID ExceptionAddress;
+    DWORD NumberParameters;
+    DWORD[1 + EXCEPTION_MAXIMUM_PARAMETERS-1] ExceptionInformation;
+}
+
+alias EXCEPTION_RECORD* PEXCEPTION_RECORD;
+alias EXCEPTION_RECORD _EXCEPTION_RECORD;
+alias EXCEPTION_RECORD TEXCEPTIONRECORD;
+alias EXCEPTION_RECORD* PEXCEPTIONRECORD;
+
+struct EXCEPTION_DEBUG_INFO
+{
+    EXCEPTION_RECORD ExceptionRecord;
+    DWORD dwFirstChance;
+}
+
+alias EXCEPTION_DEBUG_INFO* PEXCEPTION_DEBUG_INFO;
+alias EXCEPTION_DEBUG_INFO _EXCEPTION_DEBUG_INFO;
+alias EXCEPTION_DEBUG_INFO TEXCEPTIONDEBUGINFO;
+alias EXCEPTION_DEBUG_INFO* PEXCEPTIONDEBUGINFO;
+
+struct EXIT_PROCESS_DEBUG_INFO
+{
+    DWORD dwExitCode;
+}
+
+alias EXIT_PROCESS_DEBUG_INFO _EXIT_PROCESS_DEBUG_INFO;
+alias EXIT_PROCESS_DEBUG_INFO TEXITPROCESSDEBUGINFO;
+alias EXIT_PROCESS_DEBUG_INFO* PEXITPROCESSDEBUGINFO;
+
+struct EXIT_THREAD_DEBUG_INFO
+{
+    DWORD dwExitCode;
+}
+
+alias EXIT_THREAD_DEBUG_INFO _EXIT_THREAD_DEBUG_INFO;
+alias EXIT_THREAD_DEBUG_INFO TEXITTHREADDEBUGINFO;
+alias EXIT_THREAD_DEBUG_INFO* PEXITTHREADDEBUGINFO;
+
+struct LOAD_DLL_DEBUG_INFO
+{
+    HANDLE hFile;
+    LPVOID lpBaseOfDll;
+    DWORD dwDebugInfoFileOffset;
+    DWORD nDebugInfoSize;
+    LPVOID lpImageName;
+    ushort fUnicode;
+}
+
+alias LOAD_DLL_DEBUG_INFO _LOAD_DLL_DEBUG_INFO;
+alias LOAD_DLL_DEBUG_INFO TLOADDLLDEBUGINFO;
+alias LOAD_DLL_DEBUG_INFO* PLOADDLLDEBUGINFO;
+
+struct UNLOAD_DLL_DEBUG_INFO
+{
+    LPVOID lpBaseOfDll;
+}
+
+alias UNLOAD_DLL_DEBUG_INFO _UNLOAD_DLL_DEBUG_INFO;
+alias UNLOAD_DLL_DEBUG_INFO TUNLOADDLLDEBUGINFO;
+alias UNLOAD_DLL_DEBUG_INFO* PUNLOADDLLDEBUGINFO;
+
+struct OUTPUT_DEBUG_STRING_INFO
+{
+    LPSTR lpDebugStringData;
+    ushort fUnicode;
+    ushort nDebugStringLength;
+}
+
+alias OUTPUT_DEBUG_STRING_INFO _OUTPUT_DEBUG_STRING_INFO;
+alias OUTPUT_DEBUG_STRING_INFO TOUTPUTDEBUGSTRINGINFO;
+alias OUTPUT_DEBUG_STRING_INFO* POUTPUTDEBUGSTRINGINFO;
+
+struct RIP_INFO
+{
+    DWORD dwError;
+    DWORD dwType;
+}
+
+alias RIP_INFO _RIP_INFO;
+alias RIP_INFO TRIPINFO;
+alias RIP_INFO* PRIPINFO;
+
+struct DEBUG_EVENT
+{
+    DWORD dwDebugEventCode;
+    DWORD dwProcessId;
+    DWORD dwThreadId;
+
+    union
+    {
+        struct
+        {
+            EXCEPTION_DEBUG_INFO Exception;
+        }
+        struct
+        {
+            CREATE_THREAD_DEBUG_INFO CreateThread;
+        }
+        struct
+        {
+            CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
+        }
+        struct
+        {
+            EXIT_THREAD_DEBUG_INFO ExitThread;
+        }
+        struct
+        {
+            EXIT_PROCESS_DEBUG_INFO ExitProcess;
+        }
+        struct
+        {
+            LOAD_DLL_DEBUG_INFO LoadDll;
+        }
+        struct
+        {
+            UNLOAD_DLL_DEBUG_INFO UnloadDll;
+        }
+        struct
+        {
+            OUTPUT_DEBUG_STRING_INFO DebugString;
+        }
+        struct
+        {
+            RIP_INFO RipInfo;
+        }
+    }
+}
+
+alias DEBUG_EVENT* LPDEBUG_EVENT;
+alias DEBUG_EVENT _DEBUG_EVENT;
+alias DEBUG_EVENT TDEBUGEVENT;
+alias DEBUG_EVENT* PDEBUGEVENT;
+
+struct DEBUGHOOKINFO
+{
+    DWORD idThread;
+    DWORD idThreadInstaller;
+    LPARAM lParam;
+    WPARAM wParam;
+    int code;
+}
+
+alias DEBUGHOOKINFO TAGDEBUGHOOKINFO;
+alias DEBUGHOOKINFO TDEBUGHOOKINFO;
+alias DEBUGHOOKINFO* PDEBUGHOOKINFO;
+
+struct DELETEITEMSTRUCT
+{
+    UINT CtlType;
+    UINT CtlID;
+    UINT itemID;
+    HWND hwndItem;
+    UINT itemData;
+}
+
+alias DELETEITEMSTRUCT TAGDELETEITEMSTRUCT;
+alias DELETEITEMSTRUCT TDELETEITEMSTRUCT;
+alias DELETEITEMSTRUCT* PDELETEITEMSTRUCT;
+
+struct DEV_BROADCAST_HDR
+{
+    ULONG dbch_size;
+    ULONG dbch_devicetype;
+    ULONG dbch_reserved;
+}
+
+alias DEV_BROADCAST_HDR* PDEV_BROADCAST_HDR;
+alias DEV_BROADCAST_HDR _DEV_BROADCAST_HDR;
+alias DEV_BROADCAST_HDR TDEVBROADCASTHDR;
+alias DEV_BROADCAST_HDR* PDEVBROADCASTHDR;
+
+struct DEV_BROADCAST_OEM
+{
+    ULONG dbco_size;
+    ULONG dbco_devicetype;
+    ULONG dbco_reserved;
+    ULONG dbco_identifier;
+    ULONG dbco_suppfunc;
+}
+
+alias DEV_BROADCAST_OEM* PDEV_BROADCAST_OEM;
+alias DEV_BROADCAST_OEM _DEV_BROADCAST_OEM;
+alias DEV_BROADCAST_OEM TDEVBROADCASTOEM;
+alias DEV_BROADCAST_OEM* PDEVBROADCASTOEM;
+
+struct DEV_BROADCAST_PORT
+{
+    ULONG dbcp_size;
+    ULONG dbcp_devicetype;
+    ULONG dbcp_reserved;
+    char[1 + 0] dbcp_name;
+}
+
+alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT;
+alias DEV_BROADCAST_PORT _DEV_BROADCAST_PORT;
+alias DEV_BROADCAST_PORT TDEVBROADCASTPORT;
+alias DEV_BROADCAST_PORT* PDEVBROADCASTPORT;
+
+struct _DEV_BROADCAST_USERDEFINED
+{
+    _DEV_BROADCAST_HDR dbud_dbh;
+    char[1 + 0] dbud_szName;
+    ubyte[1 + 0] dbud_rgbUserDefined;
+}
+
+alias _DEV_BROADCAST_USERDEFINED TDEVBROADCASTUSERDEFINED;
+alias _DEV_BROADCAST_USERDEFINED* PDEVBROADCASTUSERDEFINED;
+
+struct DEV_BROADCAST_VOLUME
+{
+    ULONG dbcv_size;
+    ULONG dbcv_devicetype;
+    ULONG dbcv_reserved;
+    ULONG dbcv_unitmask;
+    USHORT dbcv_flags;
+}
+
+alias DEV_BROADCAST_VOLUME* PDEV_BROADCAST_VOLUME;
+alias DEV_BROADCAST_VOLUME _DEV_BROADCAST_VOLUME;
+alias DEV_BROADCAST_VOLUME TDEVBROADCASTVOLUME;
+alias DEV_BROADCAST_VOLUME* PDEVBROADCASTVOLUME;
+
+struct DEVMODE
+{
+    BCHAR[1 + CCHDEVICENAME-1] dmDeviceName;
+    ushort dmSpecVersion;
+    ushort dmDriverVersion;
+    ushort dmSize;
+    ushort dmDriverExtra;
+    DWORD dmFields;
+    int dmOrientation;
+    int dmPaperSize;
+    int dmPaperLength;
+    int dmPaperWidth;
+    int dmScale;
+    int dmCopies;
+    int dmDefaultSource;
+    int dmPrintQuality;
+    int dmColor;
+    int dmDuplex;
+    int dmYResolution;
+    int dmTTOption;
+    int dmCollate;
+    BCHAR[1 + CCHFORMNAME-1] dmFormName;
+    ushort dmLogPixels;
+    DWORD dmBitsPerPel;
+    DWORD dmPelsWidth;
+    DWORD dmPelsHeight;
+    DWORD dmDisplayFlags;
+    DWORD dmDisplayFrequency;
+    DWORD dmICMMethod;
+    DWORD dmICMIntent;
+    DWORD dmMediaType;
+    DWORD dmDitherType;
+    DWORD dmICCManufacturer;
+    DWORD dmICCModel;
+}
+
+alias DEVMODE* LPDEVMODE;
+alias DEVMODE _DEVICEMODE;
+alias DEVMODE DEVICEMODE;
+alias DEVMODE TDEVICEMODE;
+alias DEVMODE TDEVICEMODEA;
+alias DEVMODE TDEVMODE;
+alias DEVMODE* PDEVMODE;
+
+// struct DEVNAMES
+// {
+//     ushort wDriverOffset;
+//     ushort wDeviceOffset;
+//     ushort wOutputOffset;
+//     ushort wDefault;
+// }
+
+// alias DEVNAMES* LPDEVNAMES;
+// alias DEVNAMES TAGDEVNAMES;
+// alias DEVNAMES TDEVNAMES;
+// alias DEVNAMES* PDEVNAMES;
+
+// struct DIBSECTION
+// {
+//     BITMAP dsBm;
+//     BITMAPINFOHEADER dsBmih;
+//     DWORD[1 + 2] dsBitfields;
+//     HANDLE dshSection;
+//     DWORD dsOffset;
+// }
+//
+// alias DIBSECTION TAGDIBSECTION;
+// alias DIBSECTION TDIBSECTION;
+// alias DIBSECTION* PDIBSECTION;
+
+// union LARGE_INTEGER
+// {
+//     struct
+//     {
+//         DWORD LowPart;
+//         LONG HighPart;
+//     };
+//     struct u
+//     {
+//         DWORD LowPart;
+//         LONG HighPart;
+//     };
+//     LONGLONG QuadPart;
+// };
+//
+// alias LARGE_INTEGER* PLARGE_INTEGER;
+// alias LARGE_INTEGER _LARGE_INTEGER;
+// alias LARGE_INTEGER TLARGEINTEGER;
+// alias LARGE_INTEGER* PLARGEINTEGER;
+
+struct DISK_GEOMETRY
+{
+    LARGE_INTEGER Cylinders;
+    MEDIA_TYPE MediaType;
+    DWORD TracksPerCylinder;
+    DWORD SectorsPerTrack;
+    DWORD BytesPerSector;
+}
+
+alias DISK_GEOMETRY _DISK_GEOMETRY;
+alias DISK_GEOMETRY TDISKGEOMETRY;
+alias DISK_GEOMETRY* PDISKGEOMETRY;
+
+struct DISK_PERFORMANCE
+{
+    LARGE_INTEGER BytesRead;
+    LARGE_INTEGER BytesWritten;
+    LARGE_INTEGER ReadTime;
+    LARGE_INTEGER WriteTime;
+    DWORD ReadCount;
+    DWORD WriteCount;
+    DWORD QueueDepth;
+}
+
+alias DISK_PERFORMANCE _DISK_PERFORMANCE;
+alias DISK_PERFORMANCE TDISKPERFORMANCE;
+alias DISK_PERFORMANCE* PDISKPERFORMANCE;
+
+align(1) struct DLGITEMTEMPLATE
+{
+    DWORD style;
+    DWORD dwExtendedStyle;
+    int x;
+    int y;
+    int cx;
+    int cy;
+    ushort id;
+}
+
+alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATE;
+alias DLGITEMTEMPLATE TDLGITEMTEMPLATE;
+alias DLGITEMTEMPLATE* PDLGITEMTEMPLATE;
+
+align(1) struct DLGTEMPLATE
+{
+    DWORD style;
+    DWORD dwExtendedStyle;
+    ushort cdit;
+    int x;
+    int y;
+    int cx;
+    int cy;
+}
+
+alias DLGTEMPLATE* LPDLGTEMPLATE;
+alias DLGTEMPLATE* LPCDLGTEMPLATE;
+alias DLGTEMPLATE TDLGTEMPLATE;
+alias DLGTEMPLATE* PDLGTEMPLATE;
+
+struct DOC_INFO_1
+{
+    LPTSTR pDocName;
+    LPTSTR pOutputFile;
+    LPTSTR pDatatype;
+}
+
+alias DOC_INFO_1 _DOC_INFO_1;
+alias DOC_INFO_1 TDOCINFO1;
+alias DOC_INFO_1* PDOCINFO1;
+
+struct DOC_INFO_2
+{
+    LPTSTR pDocName;
+    LPTSTR pOutputFile;
+    LPTSTR pDatatype;
+    DWORD dwMode;
+    DWORD JobId;
+}
+
+alias DOC_INFO_2 _DOC_INFO_2;
+alias DOC_INFO_2 TDOCINFO2;
+alias DOC_INFO_2* PDOCINFO2;
+
+// struct DOCINFO
+// {
+//     int cbSize;
+//     LPCTSTR lpszDocName;
+//     LPCTSTR lpszOutput;
+//     LPCTSTR lpszDatatype;
+//     DWORD fwType;
+// }
+//
+// alias DOCINFO TDOCINFO;
+// alias DOCINFO TDOCINFOA;
+// alias DOCINFO* PDOCINFO;
+
+struct DRAGLISTINFO
+{
+    UINT uNotification;
+    HWND hWnd;
+    POINT ptCursor;
+}
+
+alias DRAGLISTINFO* LPDRAGLISTINFO;
+alias DRAGLISTINFO TDRAGLISTINFO;
+alias DRAGLISTINFO* PDRAGLISTINFO;
+
+// struct DRAWITEMSTRUCT
+// {
+//     UINT CtlType;
+//     UINT CtlID;
+//     UINT itemID;
+//     UINT itemAction;
+//     UINT itemState;
+//     HWND hwndItem;
+//     HDC hDC;
+//     RECT rcItem;
+//     DWORD itemData;
+// }
+//
+// alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT;
+// alias DRAWITEMSTRUCT TAGDRAWITEMSTRUCT;
+// alias DRAWITEMSTRUCT TDRAWITEMSTRUCT;
+// alias DRAWITEMSTRUCT* PDRAWITEMSTRUCT;
+
+struct DRAWTEXTPARAMS
+{
+    UINT cbSize;
+    int iTabLength;
+    int iLeftMargin;
+    int iRightMargin;
+    UINT uiLengthDrawn;
+}
+
+alias DRAWTEXTPARAMS* LPDRAWTEXTPARAMS;
+alias DRAWTEXTPARAMS TDRAWTEXTPARAMS;
+alias DRAWTEXTPARAMS* PDRAWTEXTPARAMS;
+
+struct PARTITION_INFORMATION
+{
+    ubyte PartitionType;
+    ubyte BootIndicator;
+    ubyte RecognizedPartition;
+    ubyte RewritePartition;
+    LARGE_INTEGER StartingOffset;
+    LARGE_INTEGER PartitionLength;
+    LARGE_INTEGER HiddenSectors;
+}
+
+alias PARTITION_INFORMATION _PARTITION_INFORMATION;
+alias PARTITION_INFORMATION TPARTITIONINFORMATION;
+alias PARTITION_INFORMATION* PPARTITIONINFORMATION;
+
+struct DRIVE_LAYOUT_INFORMATION
+{
+    DWORD PartitionCount;
+    DWORD Signature;
+    PARTITION_INFORMATION[1 + 0] PartitionEntry;
+}
+
+alias DRIVE_LAYOUT_INFORMATION _DRIVE_LAYOUT_INFORMATION;
+alias DRIVE_LAYOUT_INFORMATION TDRIVELAYOUTINFORMATION;
+alias DRIVE_LAYOUT_INFORMATION* PDRIVELAYOUTINFORMATION;
+
+struct DRIVER_INFO_1
+{
+    LPTSTR pName;
+}
+
+alias DRIVER_INFO_1 _DRIVER_INFO_1;
+alias DRIVER_INFO_1 TDRIVERINFO1;
+alias DRIVER_INFO_1* PDRIVERINFO1;
+
+struct DRIVER_INFO_2
+{
+    DWORD cVersion;
+    LPTSTR pName;
+    LPTSTR pEnvironment;
+    LPTSTR pDriverPath;
+    LPTSTR pDataFile;
+    LPTSTR pConfigFile;
+}
+
+alias DRIVER_INFO_2 _DRIVER_INFO_2;
+alias DRIVER_INFO_2 TDRIVERINFO2;
+alias DRIVER_INFO_2* PDRIVERINFO2;
+
+struct DRIVER_INFO_3
+{
+    DWORD cVersion;
+    LPTSTR pName;
+    LPTSTR pEnvironment;
+    LPTSTR pDriverPath;
+    LPTSTR pDataFile;
+    LPTSTR pConfigFile;
+    LPTSTR pHelpFile;
+    LPTSTR pDependentFiles;
+    LPTSTR pMonitorName;
+    LPTSTR pDefaultDataType;
+}
+
+alias DRIVER_INFO_3 _DRIVER_INFO_3;
+alias DRIVER_INFO_3 TDRIVERINFO3;
+alias DRIVER_INFO_3* PDRIVERINFO3;
+
+struct EDITSTREAM
+{
+    DWORD dwCookie;
+    DWORD dwError;
+    EDITSTREAMCALLBACK pfnCallback;
+}
+
+alias EDITSTREAM _EDITSTREAM;
+alias EDITSTREAM TEDITSTREAM;
+alias EDITSTREAM* PEDITSTREAM;
+
+struct EMR
+{
+    DWORD iType;
+    DWORD nSize;
+}
+
+alias EMR TAGEMR;
+alias EMR TEMR;
+alias EMR* PEMR;
+
+struct EMRANGLEARC
+{
+    EMR emr;
+    POINTL ptlCenter;
+    DWORD nRadius;
+    FLOAT eStartAngle;
+    FLOAT eSweepAngle;
+}
+
+alias EMRANGLEARC TAGEMRANGLEARC;
+alias EMRANGLEARC TEMRANGLEARC;
+alias EMRANGLEARC* PEMRANGLEARC;
+
+struct EMRARC
+{
+    EMR emr;
+    RECTL rclBox;
+    POINTL ptlStart;
+    POINTL ptlEnd;
+}
+
+alias EMRARC TAGEMRARC;
+alias EMRARC TEMRARC;
+alias EMRARC* PEMRARC;
+alias EMRARC EMRARCTO;
+alias EMRARC TEMRARCTO;
+alias EMRARC* PEMRARCTO;
+alias EMRARC EMRCHORD;
+alias EMRARC TEMRCHORD;
+alias EMRARC* PEMRCHORD;
+alias EMRARC EMRPIE;
+alias EMRARC TEMRPIE;
+alias EMRARC* PEMRPIE;
+
+struct XFORM
+{
+    FLOAT eM11;
+    FLOAT eM12;
+    FLOAT eM21;
+    FLOAT eM22;
+    FLOAT eDx;
+    FLOAT eDy;
+}
+
+alias XFORM* LPXFORM;
+alias XFORM _XFORM;
+alias XFORM TXFORM;
+alias XFORM* PXFORM;
+
+struct EMRBITBLT
+{
+    EMR emr;
+    RECTL rclBounds;
+    LONG xDest;
+    LONG yDest;
+    LONG cxDest;
+    LONG cyDest;
+    DWORD dwRop;
+    LONG xSrc;
+    LONG ySrc;
+    XFORM xformSrc;
+    COLORREF crBkColorSrc;
+    DWORD iUsageSrc;
+    DWORD offBmiSrc;
+    DWORD offBitsSrc;
+    DWORD cbBitsSrc;
+}
+
+alias EMRBITBLT TAGEMRBITBLT;
+alias EMRBITBLT TEMRBITBLT;
+alias EMRBITBLT* PEMRBITBLT;
+
+struct LOGBRUSH
+{
+    UINT lbStyle;
+    COLORREF lbColor;
+    LONG lbHatch;
+}
+
+alias LOGBRUSH TAGLOGBRUSH;
+alias LOGBRUSH TLOGBRUSH;
+alias LOGBRUSH* PLOGBRUSH;
+
+struct EMRCREATEBRUSHINDIRECT
+{
+    EMR emr;
+    DWORD ihBrush;
+    LOGBRUSH lb;
+}
+
+alias EMRCREATEBRUSHINDIRECT TAGEMRCREATEBRUSHINDIRECT;
+alias EMRCREATEBRUSHINDIRECT TEMRCREATEBRUSHINDIRECT;
+alias EMRCREATEBRUSHINDIRECT* PEMRCREATEBRUSHINDIRECT;
+alias LONG LCSCSTYPE;
+alias LONG LCSGAMUTMATCH;
+
+struct LOGCOLORSPACE
+{
+    DWORD lcsSignature;
+    DWORD lcsVersion;
+    DWORD lcsSize;
+    LCSCSTYPE lcsCSType;
+    LCSGAMUTMATCH lcsIntent;
+    CIEXYZTRIPLE lcsEndpoints;
+    DWORD lcsGammaRed;
+    DWORD lcsGammaGreen;
+    DWORD lcsGammaBlue;
+    TCHAR[1 + MAX_PATH-1] lcsFilename;
+}
+
+alias LOGCOLORSPACE* LPLOGCOLORSPACE;
+alias LOGCOLORSPACE TAGLOGCOLORSPACE;
+alias LOGCOLORSPACE TLOGCOLORSPACE;
+alias LOGCOLORSPACE TLOGCOLORSPACEA;
+alias LOGCOLORSPACE* PLOGCOLORSPACE;
+
+struct EMRCREATECOLORSPACE
+{
+    EMR emr;
+    DWORD ihCS;
+    LOGCOLORSPACE lcs;
+}
+
+alias EMRCREATECOLORSPACE TAGEMRCREATECOLORSPACE;
+alias EMRCREATECOLORSPACE TEMRCREATECOLORSPACE;
+alias EMRCREATECOLORSPACE* PEMRCREATECOLORSPACE;
+
+struct EMRCREATEDIBPATTERNBRUSHPT
+{
+    EMR emr;
+    DWORD ihBrush;
+    DWORD iUsage;
+    DWORD offBmi;
+    DWORD cbBmi;
+    DWORD offBits;
+    DWORD cbBits;
+}
+
+alias EMRCREATEDIBPATTERNBRUSHPT TAGEMRCREATEDIBPATTERNBRUSHPT;
+alias EMRCREATEDIBPATTERNBRUSHPT TEMRCREATEDIBPATTERNBRUSHPT;
+alias EMRCREATEDIBPATTERNBRUSHPT PEMRCREATEDIBPATTERNBRUSHPT;
+
+struct EMRCREATEMONOBRUSH
+{
+    EMR emr;
+    DWORD ihBrush;
+    DWORD iUsage;
+    DWORD offBmi;
+    DWORD cbBmi;
+    DWORD offBits;
+    DWORD cbBits;
+}
+
+alias EMRCREATEMONOBRUSH TAGEMRCREATEMONOBRUSH;
+alias EMRCREATEMONOBRUSH TEMRCREATEMONOBRUSH;
+alias EMRCREATEMONOBRUSH* PEMRCREATEMONOBRUSH;
+
+struct PALETTEENTRY
+{
+    ubyte peRed;
+    ubyte peGreen;
+    ubyte peBlue;
+    ubyte peFlags;
+}
+
+alias PALETTEENTRY* LPPALETTEENTRY;
+alias PALETTEENTRY TAGPALETTEENTRY;
+alias PALETTEENTRY TPALETTEENTRY;
+alias PALETTEENTRY* PPALETTEENTRY;
+
+struct LOGPALETTE
+{
+    ushort palVersion;
+    ushort palNumEntries;
+    PALETTEENTRY[1 + 0] palPalEntry;
+}
+
+alias LOGPALETTE* LPLOGPALETTE;
+alias LOGPALETTE TAGLOGPALETTE;
+alias LOGPALETTE TLOGPALETTE;
+alias LOGPALETTE* PLOGPALETTE;
+
+struct EMRCREATEPALETTE
+{
+    EMR emr;
+    DWORD ihPal;
+    LOGPALETTE lgpl;
+}
+
+alias EMRCREATEPALETTE TAGEMRCREATEPALETTE;
+alias EMRCREATEPALETTE TEMRCREATEPALETTE;
+alias EMRCREATEPALETTE* PEMRCREATEPALETTE;
+
+// struct LOGPEN
+// {
+//     UINT lopnStyle;
+//     POINT lopnWidth;
+//     COLORREF lopnColor;
+// }
+//
+// alias LOGPEN TAGLOGPEN;
+// alias LOGPEN TLOGPEN;
+// alias LOGPEN* PLOGPEN;
+
+struct EMRCREATEPEN
+{
+    EMR emr;
+    DWORD ihPen;
+    LOGPEN lopn;
+}
+
+alias EMRCREATEPEN TAGEMRCREATEPEN;
+alias EMRCREATEPEN TEMRCREATEPEN;
+alias EMRCREATEPEN* PEMRCREATEPEN;
+
+struct EMRELLIPSE
+{
+    EMR emr;
+    RECTL rclBox;
+}
+
+alias EMRELLIPSE TAGEMRELLIPSE;
+alias EMRELLIPSE TEMRELLIPSE;
+alias EMRELLIPSE* PEMRELLIPSE;
+alias EMRELLIPSE EMRRECTANGLE;
+alias EMRELLIPSE TEMRRECTANGLE;
+alias EMRELLIPSE* PEMRRECTANGLE;
+
+struct EMREOF
+{
+    EMR emr;
+    DWORD nPalEntries;
+    DWORD offPalEntries;
+    DWORD nSizeLast;
+}
+
+alias EMREOF TAGEMREOF;
+alias EMREOF TEMREOF;
+alias EMREOF* PEMREOF;
+
+struct EMREXCLUDECLIPRECT
+{
+    EMR emr;
+    RECTL rclClip;
+}
+
+alias EMREXCLUDECLIPRECT TAGEMREXCLUDECLIPRECT;
+alias EMREXCLUDECLIPRECT TEMREXCLUDECLIPRECT;
+alias EMREXCLUDECLIPRECT* PEMREXCLUDECLIPRECT;
+alias EMREXCLUDECLIPRECT EMRINTERSECTCLIPRECT;
+alias EMREXCLUDECLIPRECT TEMRINTERSECTCLIPRECT;
+alias EMREXCLUDECLIPRECT* PEMRINTERSECTCLIPRECT;
+
+struct PANOSE
+{
+    ubyte bFamilyType;
+    ubyte bSerifStyle;
+    ubyte bWeight;
+    ubyte bProportion;
+    ubyte bContrast;
+    ubyte bStrokeVariation;
+    ubyte bArmStyle;
+    ubyte bLetterform;
+    ubyte bMidline;
+    ubyte bXHeight;
+}
+
+alias PANOSE TAGPANOSE;
+alias PANOSE TPANOSE;
+alias PANOSE* PPANOSE;
+
+struct EXTLOGFONT
+{
+    LOGFONT elfLogFont;
+    BCHAR[1 + LF_FULLFACESIZE-1] elfFullName;
+    BCHAR[1 + LF_FACESIZE-1] elfStyle;
+    DWORD elfVersion;
+    DWORD elfStyleSize;
+    DWORD elfMatch;
+    DWORD elfReserved;
+    ubyte[1 + ELF_VENDOR_SIZE-1] elfVendorId;
+    DWORD elfCulture;
+    PANOSE elfPanose;
+}
+
+alias EXTLOGFONT TAGEXTLOGFONT;
+alias EXTLOGFONT TEXTLOGFONT;
+alias EXTLOGFONT* PEXTLOGFONT;
+
+struct EMREXTCREATEFONTINDIRECTW
+{
+    EMR emr;
+    DWORD ihFont;
+    EXTLOGFONT elfw;
+}
+
+alias EMREXTCREATEFONTINDIRECTW TAGEMREXTCREATEFONTINDIRECTW;
+alias EMREXTCREATEFONTINDIRECTW TEMREXTCREATEFONTINDIRECTW;
+alias EMREXTCREATEFONTINDIRECTW* PEMREXTCREATEFONTINDIRECTW;
+
+struct EXTLOGPEN
+{
+    UINT elpPenStyle;
+    UINT elpWidth;
+    UINT elpBrushStyle;
+    COLORREF elpColor;
+    LONG elpHatch;
+    DWORD elpNumEntries;
+    DWORD[1 + 0] elpStyleEntry;
+}
+
+alias EXTLOGPEN TAGEXTLOGPEN;
+alias EXTLOGPEN TEXTLOGPEN;
+alias EXTLOGPEN* PEXTLOGPEN;
+
+struct EMREXTCREATEPEN
+{
+    EMR emr;
+    DWORD ihPen;
+    DWORD offBmi;
+    DWORD cbBmi;
+    DWORD offBits;
+    DWORD cbBits;
+    EXTLOGPEN elp;
+}
+
+alias EMREXTCREATEPEN TAGEMREXTCREATEPEN;
+alias EMREXTCREATEPEN TEMREXTCREATEPEN;
+alias EMREXTCREATEPEN* PEMREXTCREATEPEN;
+
+struct EMREXTFLOODFILL
+{
+    EMR emr;
+    POINTL ptlStart;
+    COLORREF crColor;
+    DWORD iMode;
+}
+
+alias EMREXTFLOODFILL TAGEMREXTFLOODFILL;
+alias EMREXTFLOODFILL TEMREXTFLOODFILL;
+alias EMREXTFLOODFILL* PEMREXTFLOODFILL;
+
+struct EMREXTSELECTCLIPRGN
+{
+    EMR emr;
+    DWORD cbRgnData;
+    DWORD iMode;
+    ubyte[1 + 0] RgnData;
+}
+
+alias EMREXTSELECTCLIPRGN TAGEMREXTSELECTCLIPRGN;
+alias EMREXTSELECTCLIPRGN TEMREXTSELECTCLIPRGN;
+alias EMREXTSELECTCLIPRGN* PEMREXTSELECTCLIPRGN;
+
+struct EMRTEXT
+{
+    POINTL ptlReference;
+    DWORD nChars;
+    DWORD offString;
+    DWORD fOptions;
+    RECTL rcl;
+    DWORD offDx;
+}
+
+alias EMRTEXT TAGEMRTEXT;
+alias EMRTEXT TEMRTEXT;
+alias EMRTEXT* PEMRTEXT;
+
+struct EMREXTTEXTOUTA
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD iGraphicsMode;
+    FLOAT exScale;
+    FLOAT eyScale;
+    EMRTEXT emrtext;
+}
+
+alias EMREXTTEXTOUTA TAGEMREXTTEXTOUTA;
+alias EMREXTTEXTOUTA TEMREXTTEXTOUTA;
+alias EMREXTTEXTOUTA* PEMREXTTEXTOUTA;
+alias EMREXTTEXTOUTA EMREXTTEXTOUTW;
+alias EMREXTTEXTOUTA TEMREXTTEXTOUTW;
+alias EMREXTTEXTOUTA* PEMREXTTEXTOUTW;
+
+struct EMRFILLPATH
+{
+    EMR emr;
+    RECTL rclBounds;
+}
+
+alias EMRFILLPATH TAGEMRFILLPATH;
+alias EMRFILLPATH TEMRFILLPATH;
+alias EMRFILLPATH* PEMRFILLPATH;
+alias EMRFILLPATH EMRSTROKEANDFILLPATH;
+alias EMRFILLPATH TEMRSTROKEANDFILLPATH;
+alias EMRFILLPATH* PEMRSTROKEANDFILLPATH;
+alias EMRFILLPATH EMRSTROKEPATH;
+alias EMRFILLPATH TEMRSTROKEPATH;
+alias EMRFILLPATH* PEMRSTROKEPATH;
+
+struct EMRFILLRGN
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD cbRgnData;
+    DWORD ihBrush;
+    ubyte[1 + 0] RgnData;
+}
+
+alias EMRFILLRGN TAGEMRFILLRGN;
+alias EMRFILLRGN TEMRFILLRGN;
+alias EMRFILLRGN* PEMRFILLRGN;
+
+struct EMRFORMAT
+{
+    DWORD dSignature;
+    DWORD nVersion;
+    DWORD cbData;
+    DWORD offData;
+}
+
+alias EMRFORMAT TAGEMRFORMAT;
+alias EMRFORMAT TEMRFORMAT;
+alias EMRFORMAT* PEMRFORMAT;
+
+struct SIZE
+{
+    LONG cx;
+    LONG cy;
+}
+
+alias SIZE* LPSIZE;
+alias SIZE TAGSIZE;
+alias SIZE TSIZE;
+alias SIZE* PSIZE;
+alias SIZE SIZEL;
+alias SIZE TSIZEL;
+alias SIZE* PSIZEL;
+alias SIZE* LPSIZEL;
+
+struct EMRFRAMERGN
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD cbRgnData;
+    DWORD ihBrush;
+    SIZEL szlStroke;
+    ubyte[1 + 0] RgnData;
+}
+
+alias EMRFRAMERGN TAGEMRFRAMERGN;
+alias EMRFRAMERGN TEMRFRAMERGN;
+alias EMRFRAMERGN* PEMRFRAMERGN;
+
+struct EMRGDICOMMENT
+{
+    EMR emr;
+    DWORD cbData;
+    ubyte[1 + 0] Data;
+}
+
+alias EMRGDICOMMENT TAGEMRGDICOMMENT;
+alias EMRGDICOMMENT TEMRGDICOMMENT;
+alias EMRGDICOMMENT* PEMRGDICOMMENT;
+
+struct EMRINVERTRGN
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD cbRgnData;
+    ubyte[1 + 0] RgnData;
+}
+
+alias EMRINVERTRGN TAGEMRINVERTRGN;
+alias EMRINVERTRGN TEMRINVERTRGN;
+alias EMRINVERTRGN* PEMRINVERTRGN;
+alias EMRINVERTRGN EMRPAINTRGN;
+alias EMRINVERTRGN TEMRPAINTRGN;
+alias EMRINVERTRGN* PEMRPAINTRGN;
+
+struct EMRLINETO
+{
+    EMR emr;
+    POINTL ptl;
+}
+
+alias EMRLINETO TAGEMRLINETO;
+alias EMRLINETO TEMRLINETO;
+alias EMRLINETO* PEMRLINETO;
+alias EMRLINETO EMRMOVETOEX;
+alias EMRLINETO TEMRMOVETOEX;
+alias EMRLINETO* PEMRMOVETOEX;
+
+struct EMRMASKBLT
+{
+    EMR emr;
+    RECTL rclBounds;
+    LONG xDest;
+    LONG yDest;
+    LONG cxDest;
+    LONG cyDest;
+    DWORD dwRop;
+    LONG xSrc;
+    LONG ySrc;
+    XFORM xformSrc;
+    COLORREF crBkColorSrc;
+    DWORD iUsageSrc;
+    DWORD offBmiSrc;
+    DWORD cbBmiSrc;
+    DWORD offBitsSrc;
+    DWORD cbBitsSrc;
+    LONG xMask;
+    LONG yMask;
+    DWORD iUsageMask;
+    DWORD offBmiMask;
+    DWORD cbBmiMask;
+    DWORD offBitsMask;
+    DWORD cbBitsMask;
+}
+
+alias EMRMASKBLT TAGEMRMASKBLT;
+alias EMRMASKBLT TEMRMASKBLT;
+alias EMRMASKBLT* PEMRMASKBLT;
+
+struct EMRMODIFYWORLDTRANSFORM
+{
+    EMR emr;
+    XFORM xform;
+    DWORD iMode;
+}
+
+alias EMRMODIFYWORLDTRANSFORM TAGEMRMODIFYWORLDTRANSFORM;
+alias EMRMODIFYWORLDTRANSFORM TEMRMODIFYWORLDTRANSFORM;
+alias EMRMODIFYWORLDTRANSFORM PEMRMODIFYWORLDTRANSFORM;
+
+struct EMROFFSETCLIPRGN
+{
+    EMR emr;
+    POINTL ptlOffset;
+}
+
+alias EMROFFSETCLIPRGN TAGEMROFFSETCLIPRGN;
+alias EMROFFSETCLIPRGN TEMROFFSETCLIPRGN;
+alias EMROFFSETCLIPRGN* PEMROFFSETCLIPRGN;
+
+struct EMRPLGBLT
+{
+    EMR emr;
+    RECTL rclBounds;
+    POINTL[1 + 2] aptlDest;
+    LONG xSrc;
+    LONG ySrc;
+    LONG cxSrc;
+    LONG cySrc;
+    XFORM xformSrc;
+    COLORREF crBkColorSrc;
+    DWORD iUsageSrc;
+    DWORD offBmiSrc;
+    DWORD cbBmiSrc;
+    DWORD offBitsSrc;
+    DWORD cbBitsSrc;
+    LONG xMask;
+    LONG yMask;
+    DWORD iUsageMask;
+    DWORD offBmiMask;
+    DWORD cbBmiMask;
+    DWORD offBitsMask;
+    DWORD cbBitsMask;
+}
+
+alias EMRPLGBLT TAGEMRPLGBLT;
+alias EMRPLGBLT TEMRPLGBLT;
+alias EMRPLGBLT* PEMRPLGBLT;
+
+struct EMRPOLYDRAW
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD cptl;
+    POINTL[1 + 0] aptl;
+    ubyte[1 + 0] abTypes;
+}
+
+alias EMRPOLYDRAW TAGEMRPOLYDRAW;
+alias EMRPOLYDRAW TEMRPOLYDRAW;
+alias EMRPOLYDRAW* PEMRPOLYDRAW;
+
+struct EMRPOLYDRAW16
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD cpts;
+    POINTS[1 + 0] apts;
+    ubyte[1 + 0] abTypes;
+}
+
+alias EMRPOLYDRAW16 TAGEMRPOLYDRAW16;
+alias EMRPOLYDRAW16 TEMRPOLYDRAW16;
+alias EMRPOLYDRAW16* PEMRPOLYDRAW16;
+
+struct EMRPOLYLINE
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD cptl;
+    POINTL[1 + 0] aptl;
+}
+
+alias EMRPOLYLINE TAGEMRPOLYLINE;
+alias EMRPOLYLINE TEMRPOLYLINE;
+alias EMRPOLYLINE* PEMRPOLYLINE;
+alias EMRPOLYLINE EMRPOLYBEZIER;
+alias EMRPOLYLINE TEMRPOLYBEZIER;
+alias EMRPOLYLINE* PEMRPOLYBEZIER;
+alias EMRPOLYLINE EMRPOLYGON;
+alias EMRPOLYLINE TEMRPOLYGON;
+alias EMRPOLYLINE* PEMRPOLYGON;
+alias EMRPOLYLINE EMRPOLYBEZIERTO;
+alias EMRPOLYLINE TEMRPOLYBEZIERTO;
+alias EMRPOLYLINE* PEMRPOLYBEZIERTO;
+alias EMRPOLYLINE EMRPOLYLINETO;
+alias EMRPOLYLINE TEMRPOLYLINETO;
+alias EMRPOLYLINE* PEMRPOLYLINETO;
+
+struct EMRPOLYLINE16
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD cpts;
+    POINTL[1 + 0] apts;
+}
+
+alias EMRPOLYLINE16 TAGEMRPOLYLINE16;
+alias EMRPOLYLINE16 TEMRPOLYLINE16;
+alias EMRPOLYLINE16* PEMRPOLYLINE16;
+alias EMRPOLYLINE16 EMRPOLYBEZIER16;
+alias EMRPOLYLINE16 TEMRPOLYBEZIER16;
+alias EMRPOLYLINE16* PEMRPOLYBEZIER16;
+alias EMRPOLYLINE16 EMRPOLYGON16;
+alias EMRPOLYLINE16 TEMRPOLYGON16;
+alias EMRPOLYLINE16* PEMRPOLYGON16;
+alias EMRPOLYLINE16 EMRPOLYBEZIERTO16;
+alias EMRPOLYLINE16 TEMRPOLYBEZIERTO16;
+alias EMRPOLYLINE16* PEMRPOLYBEZIERTO16;
+alias EMRPOLYLINE16 EMRPOLYLINETO16;
+alias EMRPOLYLINE16 TEMRPOLYLINETO16;
+alias EMRPOLYLINE16* PEMRPOLYLINETO16;
+
+struct EMRPOLYPOLYLINE
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD nPolys;
+    DWORD cptl;
+    DWORD[1 + 0] aPolyCounts;
+    POINTL[1 + 0] aptl;
+}
+
+alias EMRPOLYPOLYLINE TAGEMRPOLYPOLYLINE;
+alias EMRPOLYPOLYLINE TEMRPOLYPOLYLINE;
+alias EMRPOLYPOLYLINE* PEMRPOLYPOLYLINE;
+alias EMRPOLYPOLYLINE EMRPOLYPOLYGON;
+alias EMRPOLYPOLYLINE TEMRPOLYPOLYGON;
+alias EMRPOLYPOLYLINE* PEMRPOLYPOLYGON;
+
+struct EMRPOLYPOLYLINE16
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD nPolys;
+    DWORD cpts;
+    DWORD[1 + 0] aPolyCounts;
+    POINTS[1 + 0] apts;
+}
+
+alias EMRPOLYPOLYLINE16 TAGEMRPOLYPOLYLINE16;
+alias EMRPOLYPOLYLINE16 TEMRPOLYPOLYLINE16;
+alias EMRPOLYPOLYLINE16* PEMRPOLYPOLYLINE16;
+alias EMRPOLYPOLYLINE16 EMRPOLYPOLYGON16;
+alias EMRPOLYPOLYLINE16 TEMRPOLYPOLYGON16;
+alias EMRPOLYPOLYLINE16* PEMRPOLYPOLYGON16;
+
+struct EMRPOLYTEXTOUTA
+{
+    EMR emr;
+    RECTL rclBounds;
+    DWORD iGraphicsMode;
+    FLOAT exScale;
+    FLOAT eyScale;
+    LONG cStrings;
+    EMRTEXT[1 + 0] aemrtext;
+}
+
+alias EMRPOLYTEXTOUTA TAGEMRPOLYTEXTOUTA;
+alias EMRPOLYTEXTOUTA TEMRPOLYTEXTOUTA;
+alias EMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTA;
+alias EMRPOLYTEXTOUTA EMRPOLYTEXTOUTW;
+alias EMRPOLYTEXTOUTA TEMRPOLYTEXTOUTW;
+alias EMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTW;
+
+struct EMRRESIZEPALETTE
+{
+    EMR emr;
+    DWORD ihPal;
+    DWORD cEntries;
+}
+
+alias EMRRESIZEPALETTE TAGEMRRESIZEPALETTE;
+alias EMRRESIZEPALETTE TEMRRESIZEPALETTE;
+alias EMRRESIZEPALETTE* PEMRRESIZEPALETTE;
+
+struct EMRRESTOREDC
+{
+    EMR emr;
+    LONG iRelative;
+}
+
+alias EMRRESTOREDC TAGEMRRESTOREDC;
+alias EMRRESTOREDC TEMRRESTOREDC;
+alias EMRRESTOREDC* PEMRRESTOREDC;
+
+struct EMRROUNDRECT
+{
+    EMR emr;
+    RECTL rclBox;
+    SIZEL szlCorner;
+}
+
+alias EMRROUNDRECT TAGEMRROUNDRECT;
+alias EMRROUNDRECT TEMRROUNDRECT;
+alias EMRROUNDRECT* PEMRROUNDRECT;
+
+struct EMRSCALEVIEWPORTEXTEX
+{
+    EMR emr;
+    LONG xNum;
+    LONG xDenom;
+    LONG yNum;
+    LONG yDenom;
+}
+
+alias EMRSCALEVIEWPORTEXTEX TAGEMRSCALEVIEWPORTEXTEX;
+alias EMRSCALEVIEWPORTEXTEX TEMRSCALEVIEWPORTEXTEX;
+alias EMRSCALEVIEWPORTEXTEX* PEMRSCALEVIEWPORTEXTEX;
+alias EMRSCALEVIEWPORTEXTEX EMRSCALEWINDOWEXTEX;
+alias EMRSCALEVIEWPORTEXTEX TEMRSCALEWINDOWEXTEX;
+alias EMRSCALEVIEWPORTEXTEX* PEMRSCALEWINDOWEXTEX;
+
+struct EMRSELECTCOLORSPACE
+{
+    EMR emr;
+    DWORD ihCS;
+}
+
+alias EMRSELECTCOLORSPACE TAGEMRSELECTCOLORSPACE;
+alias EMRSELECTCOLORSPACE TEMRSELECTCOLORSPACE;
+alias EMRSELECTCOLORSPACE* PEMRSELECTCOLORSPACE;
+alias EMRSELECTCOLORSPACE EMRDELETECOLORSPACE;
+alias EMRSELECTCOLORSPACE TEMRDELETECOLORSPACE;
+alias EMRSELECTCOLORSPACE* PEMRDELETECOLORSPACE;
+
+struct EMRSELECTOBJECT
+{
+    EMR emr;
+    DWORD ihObject;
+}
+
+alias EMRSELECTOBJECT TAGEMRSELECTOBJECT;
+alias EMRSELECTOBJECT TEMRSELECTOBJECT;
+alias EMRSELECTOBJECT* PEMRSELECTOBJECT;
+alias EMRSELECTOBJECT EMRDELETEOBJECT;
+alias EMRSELECTOBJECT TEMRDELETEOBJECT;
+alias EMRSELECTOBJECT* PEMRDELETEOBJECT;
+
+struct EMRSELECTPALETTE
+{
+    EMR emr;
+    DWORD ihPal;
+}
+
+alias EMRSELECTPALETTE TAGEMRSELECTPALETTE;
+alias EMRSELECTPALETTE TEMRSELECTPALETTE;
+alias EMRSELECTPALETTE* PEMRSELECTPALETTE;
+
+struct EMRSETARCDIRECTION
+{
+    EMR emr;
+    DWORD iArcDirection;
+}
+
+alias EMRSETARCDIRECTION TAGEMRSETARCDIRECTION;
+alias EMRSETARCDIRECTION TEMRSETARCDIRECTION;
+alias EMRSETARCDIRECTION* PEMRSETARCDIRECTION;
+
+struct EMRSETBKCOLOR
+{
+    EMR emr;
+    COLORREF crColor;
+}
+
+alias EMRSETBKCOLOR TAGEMRSETTEXTCOLOR;
+alias EMRSETBKCOLOR TEMRSETBKCOLOR;
+alias EMRSETBKCOLOR* PEMRSETBKCOLOR;
+alias EMRSETBKCOLOR EMRSETTEXTCOLOR;
+alias EMRSETBKCOLOR TEMRSETTEXTCOLOR;
+alias EMRSETBKCOLOR* PEMRSETTEXTCOLOR;
+
+struct EMRSETCOLORADJUSTMENT
+{
+    EMR emr;
+    COLORADJUSTMENT ColorAdjustment;
+}
+
+alias EMRSETCOLORADJUSTMENT TAGEMRSETCOLORADJUSTMENT;
+alias EMRSETCOLORADJUSTMENT TEMRSETCOLORADJUSTMENT;
+alias EMRSETCOLORADJUSTMENT* PEMRSETCOLORADJUSTMENT;
+
+struct EMRSETDIBITSTODEVICE
+{
+    EMR emr;
+    RECTL rclBounds;
+    LONG xDest;
+    LONG yDest;
+    LONG xSrc;
+    LONG ySrc;
+    LONG cxSrc;
+    LONG cySrc;
+    DWORD offBmiSrc;
+    DWORD cbBmiSrc;
+    DWORD offBitsSrc;
+    DWORD cbBitsSrc;
+    DWORD iUsageSrc;
+    DWORD iStartScan;
+    DWORD cScans;
+}
+
+alias EMRSETDIBITSTODEVICE TAGEMRSETDIBITSTODEVICE;
+alias EMRSETDIBITSTODEVICE TEMRSETDIBITSTODEVICE;
+alias EMRSETDIBITSTODEVICE* PEMRSETDIBITSTODEVICE;
+
+struct EMRSETMAPPERFLAGS
+{
+    EMR emr;
+    DWORD dwFlags;
+}
+
+alias EMRSETMAPPERFLAGS TAGEMRSETMAPPERFLAGS;
+alias EMRSETMAPPERFLAGS TEMRSETMAPPERFLAGS;
+alias EMRSETMAPPERFLAGS* PEMRSETMAPPERFLAGS;
+
+struct EMRSETMITERLIMIT
+{
+    EMR emr;
+    FLOAT eMiterLimit;
+}
+
+alias EMRSETMITERLIMIT TAGEMRSETMITERLIMIT;
+alias EMRSETMITERLIMIT TEMRSETMITERLIMIT;
+alias EMRSETMITERLIMIT* PEMRSETMITERLIMIT;
+
+struct EMRSETPALETTEENTRIES
+{
+    EMR emr;
+    DWORD ihPal;
+    DWORD iStart;
+    DWORD cEntries;
+    PALETTEENTRY[1 + 0] aPalEntries;
+}
+
+alias EMRSETPALETTEENTRIES TAGEMRSETPALETTEENTRIES;
+alias EMRSETPALETTEENTRIES TEMRSETPALETTEENTRIES;
+alias EMRSETPALETTEENTRIES* PEMRSETPALETTEENTRIES;
+
+struct EMRSETPIXELV
+{
+    EMR emr;
+    POINTL ptlPixel;
+    COLORREF crColor;
+}
+
+alias EMRSETPIXELV TAGEMRSETPIXELV;
+alias EMRSETPIXELV TEMRSETPIXELV;
+alias EMRSETPIXELV* PEMRSETPIXELV;
+
+struct EMRSETVIEWPORTEXTEX
+{
+    EMR emr;
+    SIZEL szlExtent;
+}
+
+alias EMRSETVIEWPORTEXTEX TAGEMRSETVIEWPORTEXTEX;
+alias EMRSETVIEWPORTEXTEX TEMRSETVIEWPORTEXTEX;
+alias EMRSETVIEWPORTEXTEX* PEMRSETVIEWPORTEXTEX;
+alias EMRSETVIEWPORTEXTEX EMRSETWINDOWEXTEX;
+alias EMRSETVIEWPORTEXTEX TEMRSETWINDOWEXTEX;
+alias EMRSETVIEWPORTEXTEX* PEMRSETWINDOWEXTEX;
+
+struct EMRSETVIEWPORTORGEX
+{
+    EMR emr;
+    POINTL ptlOrigin;
+}
+
+alias EMRSETVIEWPORTORGEX TAGEMRSETVIEWPORTORGEX;
+alias EMRSETVIEWPORTORGEX TEMRSETVIEWPORTORGEX;
+alias EMRSETVIEWPORTORGEX* PEMRSETVIEWPORTORGEX;
+alias EMRSETVIEWPORTORGEX EMRSETWINDOWORGEX;
+alias EMRSETVIEWPORTORGEX TEMRSETWINDOWORGEX;
+alias EMRSETVIEWPORTORGEX* PEMRSETWINDOWORGEX;
+alias EMRSETVIEWPORTORGEX EMRSETBRUSHORGEX;
+alias EMRSETVIEWPORTORGEX TEMRSETBRUSHORGEX;
+alias EMRSETVIEWPORTORGEX* PEMRSETBRUSHORGEX;
+
+struct EMRSETWORLDTRANSFORM
+{
+    EMR emr;
+    XFORM xform;
+}
+
+alias EMRSETWORLDTRANSFORM TAGEMRSETWORLDTRANSFORM;
+alias EMRSETWORLDTRANSFORM TEMRSETWORLDTRANSFORM;
+alias EMRSETWORLDTRANSFORM* PEMRSETWORLDTRANSFORM;
+
+struct EMRSTRETCHBLT
+{
+    EMR emr;
+    RECTL rclBounds;
+    LONG xDest;
+    LONG yDest;
+    LONG cxDest;
+    LONG cyDest;
+    DWORD dwRop;
+    LONG xSrc;
+    LONG ySrc;
+    XFORM xformSrc;
+    COLORREF crBkColorSrc;
+    DWORD iUsageSrc;
+    DWORD offBmiSrc;
+    DWORD cbBmiSrc;
+    DWORD offBitsSrc;
+    DWORD cbBitsSrc;
+    LONG cxSrc;
+    LONG cySrc;
+}
+
+alias EMRSTRETCHBLT TAGEMRSTRETCHBLT;
+alias EMRSTRETCHBLT TEMRSTRETCHBLT;
+alias EMRSTRETCHBLT* PEMRSTRETCHBLT;
+
+struct EMRSTRETCHDIBITS
+{
+    EMR emr;
+    RECTL rclBounds;
+    LONG xDest;
+    LONG yDest;
+    LONG xSrc;
+    LONG ySrc;
+    LONG cxSrc;
+    LONG cySrc;
+    DWORD offBmiSrc;
+    DWORD cbBmiSrc;
+    DWORD offBitsSrc;
+    DWORD cbBitsSrc;
+    DWORD iUsageSrc;
+    DWORD dwRop;
+    LONG cxDest;
+    LONG cyDest;
+}
+
+alias EMRSTRETCHDIBITS TAGEMRSTRETCHDIBITS;
+alias EMRSTRETCHDIBITS TEMRSTRETCHDIBITS;
+alias EMRSTRETCHDIBITS* PEMRSTRETCHDIBITS;
+
+struct EMRABORTPATH
+{
+    EMR emr;
+}
+
+alias EMRABORTPATH TEMRABORTPATH;
+alias EMRABORTPATH* PEMRABORTPATH;
+alias EMRABORTPATH TAGABORTPATH;
+alias EMRABORTPATH TABORTPATH;
+alias EMRABORTPATH EMRBEGINPATH;
+alias EMRABORTPATH TEMRBEGINPATH;
+alias EMRABORTPATH* PEMRBEGINPATH;
+alias EMRABORTPATH EMRENDPATH;
+alias EMRABORTPATH TEMRENDPATH;
+alias EMRABORTPATH* PEMRENDPATH;
+alias EMRABORTPATH EMRCLOSEFIGURE;
+alias EMRABORTPATH TEMRCLOSEFIGURE;
+alias EMRABORTPATH* PEMRCLOSEFIGURE;
+alias EMRABORTPATH EMRFLATTENPATH;
+alias EMRABORTPATH TEMRFLATTENPATH;
+alias EMRABORTPATH* PEMRFLATTENPATH;
+alias EMRABORTPATH EMRWIDENPATH;
+alias EMRABORTPATH TEMRWIDENPATH;
+alias EMRABORTPATH* PEMRWIDENPATH;
+alias EMRABORTPATH EMRSETMETARGN;
+alias EMRABORTPATH TEMRSETMETARGN;
+alias EMRABORTPATH* PEMRSETMETARGN;
+alias EMRABORTPATH EMRSAVEDC;
+alias EMRABORTPATH TEMRSAVEDC;
+alias EMRABORTPATH* PEMRSAVEDC;
+alias EMRABORTPATH EMRREALIZEPALETTE;
+alias EMRABORTPATH TEMRREALIZEPALETTE;
+alias EMRABORTPATH* PEMRREALIZEPALETTE;
+
+struct EMRSELECTCLIPPATH
+{
+    EMR emr;
+    DWORD iMode;
+}
+
+alias EMRSELECTCLIPPATH TAGEMRSELECTCLIPPATH;
+alias EMRSELECTCLIPPATH TEMRSELECTCLIPPATH;
+alias EMRSELECTCLIPPATH* PEMRSELECTCLIPPATH;
+alias EMRSELECTCLIPPATH EMRSETBKMODE;
+alias EMRSELECTCLIPPATH TEMRSETBKMODE;
+alias EMRSELECTCLIPPATH* PEMRSETBKMODE;
+alias EMRSELECTCLIPPATH EMRSETMAPMODE;
+alias EMRSELECTCLIPPATH TEMRSETMAPMODE;
+alias EMRSELECTCLIPPATH* PEMRSETMAPMODE;
+alias EMRSELECTCLIPPATH EMRSETPOLYFILLMODE;
+alias EMRSELECTCLIPPATH TEMRSETPOLYFILLMODE;
+alias EMRSELECTCLIPPATH* PEMRSETPOLYFILLMODE;
+alias EMRSELECTCLIPPATH EMRSETROP2;
+alias EMRSELECTCLIPPATH TEMRSETROP2;
+alias EMRSELECTCLIPPATH* PEMRSETROP2;
+alias EMRSELECTCLIPPATH EMRSETSTRETCHBLTMODE;
+alias EMRSELECTCLIPPATH TEMRSETSTRETCHBLTMODE;
+alias EMRSELECTCLIPPATH* PEMRSETSTRETCHBLTMODE;
+alias EMRSELECTCLIPPATH EMRSETTEXTALIGN;
+alias EMRSELECTCLIPPATH TEMRSETTEXTALIGN;
+alias EMRSELECTCLIPPATH* PEMRSETTEXTALIGN;
+alias EMRSELECTCLIPPATH EMRENABLEICM;
+alias EMRSELECTCLIPPATH TEMRENABLEICM;
+alias EMRSELECTCLIPPATH* PEMRENABLEICM;
+
+// struct NMHDR
+// {
+//     HWND hwndFrom;
+//     UINT idFrom;
+//     UINT code;
+// }
+//
+// alias NMHDR TAGNMHDR;
+// alias NMHDR TNMHDR;
+// alias NMHDR* PNMHDR;
+
+struct ENCORRECTTEXT
+{
+    NMHDR nmhdr;
+    CHARRANGE chrg;
+    ushort seltyp;
+}
+
+alias ENCORRECTTEXT _ENCORRECTTEXT;
+alias ENCORRECTTEXT TENCORRECTTEXT;
+alias ENCORRECTTEXT* PENCORRECTTEXT;
+
+struct ENDROPFILES
+{
+    NMHDR nmhdr;
+    HANDLE hDrop;
+    LONG cp;
+    WINBOOL fProtected;
+}
+
+alias ENDROPFILES _ENDROPFILES;
+alias ENDROPFILES TENDROPFILES;
+alias ENDROPFILES* PENDROPFILES;
+
+struct ENSAVECLIPBOARD
+{
+    NMHDR nmhdr;
+    LONG cObjectCount;
+    LONG cch;
+}
+
+alias ENSAVECLIPBOARD TENSAVECLIPBOARD;
+alias ENSAVECLIPBOARD* PENSAVECLIPBOARD;
+
+struct ENOLEOPFAILED
+{
+    NMHDR nmhdr;
+    LONG iob;
+    LONG lOper;
+    HRESULT hr;
+}
+
+alias ENOLEOPFAILED TENOLEOPFAILED;
+alias ENOLEOPFAILED* PENOLEOPFAILED;
+
+struct ENHMETAHEADER
+{
+    DWORD iType;
+    DWORD nSize;
+    RECTL rclBounds;
+    RECTL rclFrame;
+    DWORD dSignature;
+    DWORD nVersion;
+    DWORD nBytes;
+    DWORD nRecords;
+    ushort nHandles;
+    ushort sReserved;
+    DWORD nDescription;
+    DWORD offDescription;
+    DWORD nPalEntries;
+    SIZEL szlDevice;
+    SIZEL szlMillimeters;
+}
+
+alias ENHMETAHEADER* LPENHMETAHEADER;
+alias ENHMETAHEADER TAGENHMETAHEADER;
+alias ENHMETAHEADER TENHMETAHEADER;
+alias ENHMETAHEADER* PENHMETAHEADER;
+
+struct ENHMETARECORD
+{
+    DWORD iType;
+    DWORD nSize;
+    DWORD[1 + 0] dParm;
+}
+
+alias ENHMETARECORD* LPENHMETARECORD;
+alias ENHMETARECORD TAGENHMETARECORD;
+alias ENHMETARECORD TENHMETARECORD;
+alias ENHMETARECORD* PENHMETARECORD;
+
+struct ENPROTECTED
+{
+    NMHDR nmhdr;
+    UINT msg;
+    WPARAM wParam;
+    LPARAM lParam;
+    CHARRANGE chrg;
+}
+
+alias ENPROTECTED _ENPROTECTED;
+alias ENPROTECTED TENPROTECTED;
+alias ENPROTECTED* PENPROTECTED;
+
+struct SERVICE_STATUS
+{
+    DWORD dwServiceType;
+    DWORD dwCurrentState;
+    DWORD dwControlsAccepted;
+    DWORD dwWin32ExitCode;
+    DWORD dwServiceSpecificExitCode;
+    DWORD dwCheckPoint;
+    DWORD dwWaitHint;
+}
+
+alias SERVICE_STATUS* LPSERVICE_STATUS;
+alias SERVICE_STATUS _SERVICE_STATUS;
+alias SERVICE_STATUS TSERVICESTATUS;
+alias SERVICE_STATUS* PSERVICESTATUS;
+
+struct ENUM_SERVICE_STATUS
+{
+    LPTSTR lpServiceName;
+    LPTSTR lpDisplayName;
+    SERVICE_STATUS ServiceStatus;
+}
+
+alias ENUM_SERVICE_STATUS* LPENUM_SERVICE_STATUS;
+alias ENUM_SERVICE_STATUS _ENUM_SERVICE_STATUS;
+alias ENUM_SERVICE_STATUS TENUMSERVICESTATUS;
+alias ENUM_SERVICE_STATUS* PENUMSERVICESTATUS;
+
+struct ENUMLOGFONTA {
+  LOGFONTA elfLogFont;
+  CHAR   elfFullName[LF_FULLFACESIZE];
+  CHAR   elfStyle[LF_FACESIZE];
+}
+struct ENUMLOGFONTW {
+  LOGFONTW elfLogFont;
+  WCHAR   elfFullName[LF_FULLFACESIZE];
+  WCHAR   elfStyle[LF_FACESIZE];
+}
+struct ENUMLOGFONTEXA {
+    LOGFONTA  elfLogFont;
+    BYTE  elfFullName[LF_FULLFACESIZE];
+    BYTE  elfStyle[LF_FACESIZE];
+    BYTE  elfScript[LF_FACESIZE];
+}
+struct ENUMLOGFONTEXW {
+    LOGFONTW  elfLogFont;
+    WCHAR  elfFullName[LF_FULLFACESIZE];
+    WCHAR  elfStyle[LF_FACESIZE];
+    WCHAR  elfScript[LF_FACESIZE];
+}
+version(ANSI){
+    alias ENUMLOGFONTA ENUMLOGFONT;
+    alias ENUMLOGFONTEXA ENUMLOGFONTEX;
+}else {
+    alias ENUMLOGFONTW ENUMLOGFONT;
+    alias ENUMLOGFONTEXW ENUMLOGFONTEX;
+}
+
+
+// struct ENUMLOGFONT
+// {
+//  LOGFONT elfLogFont;
+//  BCHAR[1 + LF_FULLFACESIZE-1] elfFullName;
+//  BCHAR[1 + LF_FACESIZE-1] elfStyle;
+// }
+//
+// alias ENUMLOGFONT TAGENUMLOGFONT;
+// alias ENUMLOGFONT TENUMLOGFONT;
+// alias ENUMLOGFONT* PENUMLOGFONT;
+//
+// struct ENUMLOGFONTEX
+// {
+//  LOGFONT elfLogFont;
+//  BCHAR[1 + LF_FULLFACESIZE-1] elfFullName;
+//  BCHAR[1 + LF_FACESIZE-1] elfStyle;
+//  BCHAR[1 + LF_FACESIZE-1] elfScript;
+// }
+//
+// alias ENUMLOGFONTEX TAGENUMLOGFONTEX;
+// alias ENUMLOGFONTEX TENUMLOGFONTEX;
+// alias ENUMLOGFONTEX* PENUMLOGFONTEX;
+
+struct EVENTLOGRECORD
+{
+    DWORD Length;
+    DWORD Reserved;
+    DWORD RecordNumber;
+    DWORD TimeGenerated;
+    DWORD TimeWritten;
+    DWORD EventID;
+    ushort EventType;
+    ushort NumStrings;
+    ushort EventCategory;
+    ushort ReservedFlags;
+    DWORD ClosingRecordNumber;
+    DWORD StringOffset;
+    DWORD UserSidLength;
+    DWORD UserSidOffset;
+    DWORD DataLength;
+    DWORD DataOffset;
+}
+
+alias EVENTLOGRECORD _EVENTLOGRECORD;
+alias EVENTLOGRECORD TEVENTLOGRECORD;
+alias EVENTLOGRECORD* PEVENTLOGRECORD;
+
+struct EVENTMSG
+{
+    UINT message;
+    UINT paramL;
+    UINT paramH;
+    DWORD time;
+    HWND hwnd;
+}
+
+alias EVENTMSG TAGEVENTMSG;
+alias EVENTMSG TEVENTMSG;
+alias EVENTMSG* PEVENTMSG;
+
+struct EXCEPTION_POINTERS
+{
+    PEXCEPTION_RECORD ExceptionRecord;
+    PCONTEXT ContextRecord;
+}
+
+alias EXCEPTION_POINTERS* LPEXCEPTION_POINTERS;
+alias EXCEPTION_POINTERS* PEXCEPTION_POINTERS;
+alias EXCEPTION_POINTERS _EXCEPTION_POINTERS;
+alias EXCEPTION_POINTERS TEXCEPTIONPOINTERS;
+alias EXCEPTION_POINTERS* PEXCEPTIONPOINTERS;
+
+struct EXT_BUTTON
+{
+    ushort idCommand;
+    ushort idsHelp;
+    ushort fsStyle;
+}
+
+alias EXT_BUTTON* LPEXT_BUTTON;
+alias EXT_BUTTON _EXT_BUTTON;
+alias EXT_BUTTON TEXTBUTTON;
+alias EXT_BUTTON* PEXTBUTTON;
+
+struct FILTERKEYS
+{
+    UINT cbSize;
+    DWORD dwFlags;
+    DWORD iWaitMSec;
+    DWORD iDelayMSec;
+    DWORD iRepeatMSec;
+    DWORD iBounceMSec;
+}
+
+alias FILTERKEYS TAGFILTERKEYS;
+alias FILTERKEYS TFILTERKEYS;
+alias FILTERKEYS* PFILTERKEYS;
+
+struct FIND_NAME_BUFFER
+{
+    UCHAR length;
+    UCHAR access_control;
+    UCHAR frame_control;
+    UCHAR[1 + 5] destination_addr;
+    UCHAR[1 + 5] source_addr;
+    UCHAR[1 + 17] routing_info;
+}
+
+alias FIND_NAME_BUFFER _FIND_NAME_BUFFER;
+alias FIND_NAME_BUFFER TFINDNAMEBUFFER;
+alias FIND_NAME_BUFFER* PFINDNAMEBUFFER;
+
+struct FIND_NAME_HEADER
+{
+    ushort node_count;
+    UCHAR reserved;
+    UCHAR unique_group;
+}
+
+alias FIND_NAME_HEADER _FIND_NAME_HEADER;
+alias FIND_NAME_HEADER TFINDNAMEHEADER;
+alias FIND_NAME_HEADER* PFINDNAMEHEADER;
+
+struct FINDREPLACE
+{
+    DWORD lStructSize;
+    HWND hwndOwner;
+    HINST hInstance;
+    DWORD Flags;
+    LPTSTR lpstrFindWhat;
+    LPTSTR lpstrReplaceWith;
+    ushort wFindWhatLen;
+    ushort wReplaceWithLen;
+    LPARAM lCustData;
+    LPFRHOOKPROC lpfnHook;
+    LPCTSTR lpTemplateName;
+}
+
+alias FINDREPLACE* LPFINDREPLACE;
+alias FINDREPLACE TFINDREPLACE;
+alias FINDREPLACE* PFINDREPLACE;
+
+struct TFINDTEXT
+{
+    CHARRANGE chrg;
+    LPSTR lpstrText;
+}
+
+alias TFINDTEXT _FINDTEXT;
+alias TFINDTEXT* PFINDTEXT;
+
+struct FINDTEXTEX
+{
+    CHARRANGE chrg;
+    LPSTR lpstrText;
+    CHARRANGE chrgText;
+}
+
+alias FINDTEXTEX _FINDTEXTEX;
+alias FINDTEXTEX TFINDTEXTEX;
+alias FINDTEXTEX* PFINDTEXTEX;
+
+struct FMS_GETDRIVEINFO
+{
+    DWORD dwTotalSpace;
+    DWORD dwFreeSpace;
+    TCHAR[1 + 259] szPath;
+    TCHAR[1 + 13] szVolume;
+    TCHAR[1 + 127] szShare;
+}
+
+alias FMS_GETDRIVEINFO _FMS_GETDRIVEINFO;
+alias FMS_GETDRIVEINFO TFMSGETDRIVEINFO;
+alias FMS_GETDRIVEINFO* PFMSGETDRIVEINFO;
+
+struct FMS_GETFILESEL
+{
+    FILETIME ftTime;
+    DWORD dwSize;
+    ubyte bAttr;
+    TCHAR[1 + 259] szName;
+}
+
+alias FMS_GETFILESEL _FMS_GETFILESEL;
+alias FMS_GETFILESEL TFMSGETFILESEL;
+alias FMS_GETFILESEL* PFMSGETFILESEL;
+
+struct FMS_LOAD
+{
+    DWORD dwSize;
+    TCHAR[1 + MENU_TEXT_LEN-1] szMenuName;
+    HMENU hMenu;
+    UINT wMenuDelta;
+}
+
+alias FMS_LOAD _FMS_LOAD;
+alias FMS_LOAD TFMSLOAD;
+alias FMS_LOAD* PFMSLOAD;
+
+struct FMS_TOOLBARLOAD
+{
+    DWORD dwSize;
+    LPEXT_BUTTON lpButtons;
+    ushort cButtons;
+    ushort cBitmaps;
+    ushort idBitmap;
+    HBITMAP hBitmap;
+}
+
+alias FMS_TOOLBARLOAD _FMS_TOOLBARLOAD;
+alias FMS_TOOLBARLOAD TFMSTOOLBARLOAD;
+alias FMS_TOOLBARLOAD* PFMSTOOLBARLOAD;
+
+struct FOCUS_EVENT_RECORD
+{
+    WINBOOL bSetFocus;
+}
+
+alias FOCUS_EVENT_RECORD _FOCUS_EVENT_RECORD;
+alias FOCUS_EVENT_RECORD TFOCUSEVENTRECORD;
+alias FOCUS_EVENT_RECORD* PFOCUSEVENTRECORD;
+
+struct FORM_INFO_1
+{
+    DWORD Flags;
+    LPTSTR pName;
+    SIZEL Size;
+    RECTL ImageableArea;
+}
+
+alias FORM_INFO_1 _FORM_INFO_1;
+alias FORM_INFO_1 TFORMINFO1;
+alias FORM_INFO_1* PFORMINFO1;
+
+struct FORMAT_PARAMETERS
+{
+    MEDIA_TYPE MediaType;
+    DWORD StartCylinderNumber;
+    DWORD EndCylinderNumber;
+    DWORD StartHeadNumber;
+    DWORD EndHeadNumber;
+}
+
+alias FORMAT_PARAMETERS _FORMAT_PARAMETERS;
+alias FORMAT_PARAMETERS TFORMATPARAMETERS;
+alias FORMAT_PARAMETERS* PFORMATPARAMETERS;
+
+struct FORMATRANGE
+{
+    HDC _hdc;
+    HDC hdcTarget;
+    RECT rc;
+    RECT rcPage;
+    CHARRANGE chrg;
+}
+
+alias FORMATRANGE _FORMATRANGE;
+alias FORMATRANGE TFORMATRANGE;
+alias FORMATRANGE* PFORMATRANGE;
+
+// struct GCP_RESULTS
+// {
+//     DWORD lStructSize;
+//     LPTSTR lpOutString;
+//     UINT* lpOrder;
+//     INT* lpDx;
+//     INT* lpCaretPos;
+//     LPTSTR lpClass;
+//     UINT* lpGlyphs;
+//     UINT nGlyphs;
+//     UINT nMaxFit;
+// }
+//
+// alias GCP_RESULTS* LPGCP_RESULTS;
+// alias GCP_RESULTS TAGGCP_RESULTS;
+// alias GCP_RESULTS TGCPRESULTS;
+// alias GCP_RESULTS* PGCPRESULTS;
+
+struct GENERIC_MAPPING
+{
+    ACCESS_MASK GenericRead;
+    ACCESS_MASK GenericWrite;
+    ACCESS_MASK GenericExecute;
+    ACCESS_MASK GenericAll;
+}
+
+alias GENERIC_MAPPING* PGENERIC_MAPPING;
+alias GENERIC_MAPPING _GENERIC_MAPPING;
+alias GENERIC_MAPPING TGENERICMAPPING;
+alias GENERIC_MAPPING* PGENERICMAPPING;
+
+struct GLYPHMETRICS
+{
+    UINT gmBlackBoxX;
+    UINT gmBlackBoxY;
+    POINT gmptGlyphOrigin;
+    int gmCellIncX;
+    int gmCellIncY;
+}
+
+alias GLYPHMETRICS* LPGLYPHMETRICS;
+alias GLYPHMETRICS _GLYPHMETRICS;
+alias GLYPHMETRICS TGLYPHMETRICS;
+alias GLYPHMETRICS* PGLYPHMETRICS;
+
+struct HANDLETABLE
+{
+    HGDIOBJ[1 + 0] objectHandle;
+}
+
+alias HANDLETABLE TAGHANDLETABLE;
+alias HANDLETABLE THANDLETABLE;
+alias HANDLETABLE* LPHANDLETABLE;
+
+struct HD_HITTESTINFO
+{
+    POINT pt;
+    UINT flags;
+    int iItem;
+}
+
+alias HD_HITTESTINFO _HD_HITTESTINFO;
+alias HD_HITTESTINFO THDHITTESTINFO;
+alias HD_HITTESTINFO  HDHITTESTINFO;
+alias HD_HITTESTINFO* PHDHITTESTINFO;
+
+struct HD_ITEM
+{
+    UINT mask;
+    int cxy;
+    LPTSTR pszText;
+    HBITMAP hbm;
+    int cchTextMax;
+    int fmt;
+    LPARAM lParam;
+}
+
+alias HD_ITEM _HD_ITEM;
+alias HD_ITEM THDITEM;
+alias HD_ITEM* PHDITEM;
+
+struct WINDOWPOS
+{
+    HWND _hwnd;
+    HWND hwndInsertAfter;
+    int x;
+    int y;
+    int cx;
+    int cy;
+    UINT flags;
+}
+
+alias WINDOWPOS* LPWINDOWPOS;
+alias WINDOWPOS _WINDOWPOS;
+alias WINDOWPOS TWINDOWPOS;
+alias WINDOWPOS* PWINDOWPOS;
+
+struct HD_LAYOUT
+{
+    RECT* prc;
+    WINDOWPOS* pwpos;
+}
+
+alias HD_LAYOUT _HD_LAYOUT;
+alias HD_LAYOUT THDLAYOUT;
+alias HD_LAYOUT  HDLAYOUT;
+alias HD_LAYOUT* PHDLAYOUT;
+
+struct HD_NOTIFY
+{
+    NMHDR hdr;
+    int iItem;
+    int iButton;
+    HD_ITEM* pitem;
+}
+
+alias HD_NOTIFY _HD_NOTIFY;
+alias HD_NOTIFY THDNOTIFY;
+alias HD_NOTIFY* PHDNOTIFY;
+
+// struct HELPINFO
+// {
+//     UINT cbSize;
+//     int iContextType;
+//     int iCtrlId;
+//     HANDLE hItemHandle;
+//     DWORD dwContextId;
+//     POINT MousePos;
+// }
+//
+// alias HELPINFO* LPHELPINFO;
+// alias HELPINFO TAGHELPINFO;
+// alias HELPINFO THELPINFO;
+// alias HELPINFO* PHELPINFO;
+
+struct HELPWININFO
+{
+    int wStructSize;
+    int x;
+    int y;
+    int dx;
+    int dy;
+    int wMax;
+    TCHAR[1 + 1] rgchMember;
+}
+
+alias HELPWININFO THELPWININFO;
+alias HELPWININFO* PHELPWININFO;
+
+// struct HIGHCONTRAST
+// {
+//     UINT cbSize;
+//     DWORD dwFlags;
+//     LPTSTR lpszDefaultScheme;
+// }
+//
+// alias HIGHCONTRAST* LPHIGHCONTRAST;
+// alias HIGHCONTRAST TAGHIGHCONTRAST;
+// alias HIGHCONTRAST THIGHCONTRAST;
+// alias HIGHCONTRAST* PHIGHCONTRAST;
+
+struct HSZPAIR
+{
+    HSZ hszSvc;
+    HSZ hszTopic;
+}
+
+alias HSZPAIR TAGHSZPAIR;
+alias HSZPAIR THSZPAIR;
+alias HSZPAIR* PHSZPAIR;
+
+struct ICONINFO
+{
+    WINBOOL fIcon;
+    DWORD xHotspot;
+    DWORD yHotspot;
+    HBITMAP hbmMask;
+    HBITMAP hbmColor;
+}
+
+alias ICONINFO _ICONINFO;
+alias ICONINFO TICONINFO;
+alias ICONINFO* PICONINFO;
+
+struct ICONMETRICS
+{
+    UINT cbSize;
+    int iHorzSpacing;
+    int iVertSpacing;
+    int iTitleWrap;
+    LOGFONT lfFont;
+}
+
+alias ICONMETRICS* LPICONMETRICS;
+alias ICONMETRICS TAGICONMETRICS;
+alias ICONMETRICS TICONMETRICS;
+alias ICONMETRICS* PICONMETRICS;
+
+struct IMAGEINFO
+{
+    HBITMAP hbmImage;
+    HBITMAP hbmMask;
+    int Unused1;
+    int Unused2;
+    RECT rcImage;
+}
+
+alias IMAGEINFO _IMAGEINFO;
+alias IMAGEINFO TIMAGEINFO;
+alias IMAGEINFO* PIMAGEINFO;
+
+align(1) struct KEY_EVENT_RECORD
+{
+    WINBOOL bKeyDown;
+    ushort wRepeatCount;
+    ushort wVirtualKeyCode;
+    ushort wVirtualScanCode;
+
+    union
+    {
+        struct
+        {
+            WCHAR UnicodeChar;
+            DWORD dwControlKeyState;
+        }
+        struct
+        {
+            char AsciiChar;
+        }
+    }
+}
+
+alias KEY_EVENT_RECORD _KEY_EVENT_RECORD;
+alias KEY_EVENT_RECORD TKEYEVENTRECORD;
+alias KEY_EVENT_RECORD* PKEYEVENTRECORD;
+
+struct MOUSE_EVENT_RECORD
+{
+    COORD dwMousePosition;
+    DWORD dwButtonState;
+    DWORD dwControlKeyState;
+    DWORD dwEventFlags;
+}
+
+alias MOUSE_EVENT_RECORD _MOUSE_EVENT_RECORD;
+alias MOUSE_EVENT_RECORD TMOUSEEVENTRECORD;
+alias MOUSE_EVENT_RECORD* PMOUSEEVENTRECORD;
+
+struct WINDOW_BUFFER_SIZE_RECORD
+{
+    COORD dwSize;
+}
+
+alias WINDOW_BUFFER_SIZE_RECORD _WINDOW_BUFFER_SIZE_RECORD;
+alias WINDOW_BUFFER_SIZE_RECORD TWINDOWBUFFERSIZERECORD;
+alias WINDOW_BUFFER_SIZE_RECORD* PWINDOWBUFFERSIZERECORD;
+
+struct MENU_EVENT_RECORD
+{
+    UINT dwCommandId;
+}
+
+alias MENU_EVENT_RECORD* PMENU_EVENT_RECORD;
+alias MENU_EVENT_RECORD _MENU_EVENT_RECORD;
+alias MENU_EVENT_RECORD TMENUEVENTRECORD;
+alias MENU_EVENT_RECORD* PMENUEVENTRECORD;
+
+struct INPUT_RECORD
+{
+    ushort EventType;
+
+    union
+    {
+        struct
+        {
+            KEY_EVENT_RECORD KeyEvent;
+        }
+        struct
+        {
+            MOUSE_EVENT_RECORD MouseEvent;
+        }
+        struct
+        {
+            WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
+        }
+        struct
+        {
+            MENU_EVENT_RECORD MenuEvent;
+        }
+        struct
+        {
+            FOCUS_EVENT_RECORD FocusEvent;
+        }
+    }
+}
+
+alias INPUT_RECORD* PINPUT_RECORD;
+alias INPUT_RECORD _INPUT_RECORD;
+alias INPUT_RECORD TINPUTRECORD;
+alias INPUT_RECORD* PINPUTRECORD;
+
+struct SYSTEMTIME
+{
+    ushort wYear;
+    ushort wMonth;
+    ushort wDayOfWeek;
+    ushort wDay;
+    ushort wHour;
+    ushort wMinute;
+    ushort wSecond;
+    ushort wMilliseconds;
+}
+
+alias SYSTEMTIME* LPSYSTEMTIME;
+alias SYSTEMTIME _SYSTEMTIME;
+alias SYSTEMTIME TSYSTEMTIME;
+alias SYSTEMTIME* PSYSTEMTIME;
+
+struct JOB_INFO_1
+{
+    DWORD JobId;
+    LPTSTR pPrinterName;
+    LPTSTR pMachineName;
+    LPTSTR pUserName;
+    LPTSTR pDocument;
+    LPTSTR pDatatype;
+    LPTSTR pStatus;
+    DWORD Status;
+    DWORD Priority;
+    DWORD Position;
+    DWORD TotalPages;
+    DWORD PagesPrinted;
+    SYSTEMTIME Submitted;
+}
+
+alias JOB_INFO_1 _JOB_INFO_1;
+alias JOB_INFO_1 TJOBINFO1;
+alias JOB_INFO_1* PJOBINFO1;
+
+struct SID_IDENTIFIER_AUTHORITY
+{
+    ubyte[1 + 5] Value;
+}
+
+alias SID_IDENTIFIER_AUTHORITY* LPSID_IDENTIFIER_AUTHORITY;
+alias SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY;
+alias SID_IDENTIFIER_AUTHORITY _SID_IDENTIFIER_AUTHORITY;
+alias SID_IDENTIFIER_AUTHORITY TSIDIDENTIFIERAUTHORITY;
+alias SID_IDENTIFIER_AUTHORITY* PSIDIDENTIFIERAUTHORITY;
+
+struct SID
+{
+    ubyte Revision;
+    ubyte SubAuthorityCount;
+    SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
+    DWORD[1 + ANYSIZE_ARRAY-1] SubAuthority;
+}
+
+alias SID _SID;
+alias SID TSID;
+alias SID* PSID;
+alias ushort SECURITY_DESCRIPTOR_CONTROL;
+alias SECURITY_DESCRIPTOR_CONTROL* PSECURITY_DESCRIPTOR_CONTROL;
+alias SECURITY_DESCRIPTOR_CONTROL TSECURITYDESCRIPTORCONTROL;
+alias SECURITY_DESCRIPTOR_CONTROL* PSECURITYDESCRIPTORCONTROL;
+
+struct SECURITY_DESCRIPTOR
+{
+    ubyte Revision;
+    ubyte Sbz1;
+    SECURITY_DESCRIPTOR_CONTROL Control;
+    PSID Owner;
+    PSID Group;
+    PACL Sacl;
+    PACL Dacl;
+}
+
+alias SECURITY_DESCRIPTOR* PSECURITY_DESCRIPTOR;
+alias SECURITY_DESCRIPTOR _SECURITY_DESCRIPTOR;
+alias SECURITY_DESCRIPTOR TSECURITYDESCRIPTOR;
+alias SECURITY_DESCRIPTOR* PSECURITYDESCRIPTOR;
+
+struct JOB_INFO_2
+{
+    DWORD JobId;
+    LPTSTR pPrinterName;
+    LPTSTR pMachineName;
+    LPTSTR pUserName;
+    LPTSTR pDocument;
+    LPTSTR pNotifyName;
+    LPTSTR pDatatype;
+    LPTSTR pPrintProcessor;
+    LPTSTR pParameters;
+    LPTSTR pDriverName;
+    LPDEVMODE pDevMode;
+    LPTSTR pStatus;
+    PSECURITY_DESCRIPTOR pSecurityDescriptor;
+    DWORD Status;
+    DWORD Priority;
+    DWORD Position;
+    DWORD StartTime;
+    DWORD UntilTime;
+    DWORD TotalPages;
+    DWORD Size;
+    SYSTEMTIME Submitted;
+    DWORD Time;
+    DWORD PagesPrinted;
+}
+
+alias JOB_INFO_2 _JOB_INFO_2;
+alias JOB_INFO_2 TJOBINFO2;
+alias JOB_INFO_2* PJOBINFO2;
+
+struct KERNINGPAIR
+{
+    ushort wFirst;
+    ushort wSecond;
+    int iKernAmount;
+}
+
+alias KERNINGPAIR* LPKERNINGPAIR;
+alias KERNINGPAIR TAGKERNINGPAIR;
+alias KERNINGPAIR TKERNINGPAIR;
+alias KERNINGPAIR* PKERNINGPAIR;
+
+struct LANA_ENUM
+{
+    UCHAR length;
+    UCHAR[1 + MAX_LANA-1] lana;
+}
+
+alias LANA_ENUM _LANA_ENUM;
+alias LANA_ENUM TLANAENUM;
+alias LANA_ENUM* PLANAENUM;
+
+struct LDT_ENTRY
+{
+    ushort LimitLow;
+    ushort BaseLow;
+
+    union
+    {
+        struct
+        {
+            ubyte BaseMid;
+            ubyte Flags1;
+            ubyte Flags2;
+            ubyte BaseHi;
+        }
+        struct
+        {
+            int flag0;
+        }
+    }
+}
+
+alias LDT_ENTRY* LPLDT_ENTRY;
+alias LDT_ENTRY* PLDT_ENTRY;
+alias LDT_ENTRY _LDT_ENTRY;
+alias LDT_ENTRY TLDTENTRY;
+alias LDT_ENTRY* PLDTENTRY;
+enum : DWORD {
+    bm_LDT_ENTRY_BaseMid = (0xFF),
+    bp_LDT_ENTRY_BaseMid = (0),
+    bm_LDT_ENTRY_Type = (0x1F00),
+    bp_LDT_ENTRY_Type = (8),
+    bm_LDT_ENTRY_Dpl = (0x6000),
+    bp_LDT_ENTRY_Dpl = (13),
+    bm_LDT_ENTRY_Pres = (0x8000),
+    bp_LDT_ENTRY_Pres = (15),
+    bm_LDT_ENTRY_LimitHi = (0xF0000),
+    bp_LDT_ENTRY_LimitHi = (16),
+    bm_LDT_ENTRY_Sys = (0x100000),
+    bp_LDT_ENTRY_Sys = (20),
+    bm_LDT_ENTRY_Reserved_0 = (0x200000),
+    bp_LDT_ENTRY_Reserved_0 = (21),
+    bm_LDT_ENTRY_Default_Big = (0x400000),
+    bp_LDT_ENTRY_Default_Big = (22),
+    bm_LDT_ENTRY_Granularity = (0x800000),
+    bp_LDT_ENTRY_Granularity = (23),
+    bm_LDT_ENTRY_BaseHi = (0xFF000000),
+    bp_LDT_ENTRY_BaseHi = (24),
+}
+
+struct LOCALESIGNATURE
+{
+    DWORD[1 + 3] lsUsb;
+    DWORD[1 + 1] lsCsbDefault;
+    DWORD[1 + 1] lsCsbSupported;
+}
+
+alias LOCALESIGNATURE TAGLOCALESIGNATURE;
+alias LOCALESIGNATURE TLOCALESIGNATURE;
+alias LOCALESIGNATURE* PLOCALESIGNATURE;
+
+struct LOCALGROUP_MEMBERS_INFO_0
+{
+    PSID lgrmi0_sid;
+}
+
+alias LOCALGROUP_MEMBERS_INFO_0 _LOCALGROUP_MEMBERS_INFO_0;
+alias LOCALGROUP_MEMBERS_INFO_0 TLOCALGROUPMEMBERSINFO0;
+alias LOCALGROUP_MEMBERS_INFO_0* PLOCALGROUPMEMBERSINFO0;
+
+struct LOCALGROUP_MEMBERS_INFO_3
+{
+    LPWSTR lgrmi3_domainandname;
+}
+
+alias LOCALGROUP_MEMBERS_INFO_3 _LOCALGROUP_MEMBERS_INFO_3;
+alias LOCALGROUP_MEMBERS_INFO_3 TLOCALGROUPMEMBERSINFO3;
+alias LOCALGROUP_MEMBERS_INFO_3* PLOCALGROUPMEMBERSINFO3;
+alias int FXPT16DOT16;
+alias FXPT16DOT16* LPFXPT16DOT16;
+alias FXPT16DOT16 TFXPT16DOT16;
+alias FXPT16DOT16* PFXPT16DOT16;
+alias LARGE_INTEGER LUID;
+alias LUID TLUID;
+alias LUID* PLUID;
+
+struct LUID_AND_ATTRIBUTES
+{
+    LUID Luid;
+    DWORD Attributes;
+}
+
+alias LUID_AND_ATTRIBUTES _LUID_AND_ATTRIBUTES;
+alias LUID_AND_ATTRIBUTES TLUIDANDATTRIBUTES;
+alias LUID_AND_ATTRIBUTES* PLUIDANDATTRIBUTES;
+alias LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] LUID_AND_ATTRIBUTES_ARRAY;
+alias LUID_AND_ATTRIBUTES_ARRAY* PLUID_AND_ATTRIBUTES_ARRAY;
+alias LUID_AND_ATTRIBUTES_ARRAY TLUIDANDATTRIBUTESARRAY;
+alias LUID_AND_ATTRIBUTES_ARRAY* PLUIDANDATTRIBUTESARRAY;
+
+struct LV_COLUMN
+{
+    UINT mask;
+    int fmt;
+    int cx;
+    LPTSTR pszText;
+    int cchTextMax;
+    int iSubItem;
+}
+
+alias LV_COLUMN _LV_COLUMN;
+alias LV_COLUMN TLVCOLUMN;
+alias LV_COLUMN* PLVCOLUMN;
+
+struct LV_ITEM
+{
+    UINT mask;
+    int iItem;
+    int iSubItem;
+    UINT state;
+    UINT stateMask;
+    LPTSTR pszText;
+    int cchTextMax;
+    int iImage;
+    LPARAM lParam;
+}
+
+alias LV_ITEM _LV_ITEM;
+alias LV_ITEM TLVITEM;
+alias LV_ITEM* PLVITEM;
+
+struct LV_DISPINFO
+{
+    NMHDR hdr;
+    LV_ITEM item;
+}
+
+alias LV_DISPINFO TAGLV_DISPINFO;
+alias LV_DISPINFO TLVDISPINFO;
+alias LV_DISPINFO* PLVDISPINFO;
+
+struct LV_FINDINFO
+{
+    UINT flags;
+    LPCTSTR psz;
+    LPARAM lParam;
+    POINT pt;
+    UINT vkDirection;
+}
+
+alias LV_FINDINFO _LV_FINDINFO;
+alias LV_FINDINFO TLVFINDINFO;
+alias LV_FINDINFO* PLVFINDINFO;
+
+struct LV_HITTESTINFO
+{
+    POINT pt;
+    UINT flags;
+    int iItem;
+}
+
+alias LV_HITTESTINFO _LV_HITTESTINFO;
+alias LV_HITTESTINFO TLVHITTESTINFO;
+alias LV_HITTESTINFO* PLVHITTESTINFO;
+
+struct LV_KEYDOWN
+{
+    NMHDR hdr;
+    ushort wVKey;
+    UINT flags;
+}
+
+alias LV_KEYDOWN TAGLV_KEYDOWN;
+alias LV_KEYDOWN TLVKEYDOWN;
+alias LV_KEYDOWN* PLVKEYDOWN;
+
+struct MAT2
+{
+    FIXED eM11;
+    FIXED eM12;
+    FIXED eM21;
+    FIXED eM22;
+}
+
+alias MAT2 _MAT2;
+alias MAT2 TMAT2;
+alias MAT2* PMAT2;
+
+struct MDICREATESTRUCT
+{
+    LPCTSTR szClass;
+    LPCTSTR szTitle;
+    HANDLE hOwner;
+    int x;
+    int y;
+    int cx;
+    int cy;
+    DWORD style;
+    LPARAM lParam;
+}
+
+alias MDICREATESTRUCT* LPMDICREATESTRUCT;
+alias MDICREATESTRUCT TAGMDICREATESTRUCT;
+alias MDICREATESTRUCT TMDICREATESTRUCT;
+alias MDICREATESTRUCT* PMDICREATESTRUCT;
+
+// struct MEASUREITEMSTRUCT
+// {
+//     UINT CtlType;
+//     UINT CtlID;
+//     UINT itemID;
+//     UINT itemWidth;
+//     UINT itemHeight;
+//     DWORD itemData;
+// }
+//
+// alias MEASUREITEMSTRUCT* LPMEASUREITEMSTRUCT;
+// alias MEASUREITEMSTRUCT TAGMEASUREITEMSTRUCT;
+// alias MEASUREITEMSTRUCT TMEASUREITEMSTRUCT;
+// alias MEASUREITEMSTRUCT* PMEASUREITEMSTRUCT;
+
+struct MEMORY_BASIC_INFORMATION
+{
+    PVOID BaseAddress;
+    PVOID AllocationBase;
+    DWORD AllocationProtect;
+    DWORD RegionSize;
+    DWORD State;
+    DWORD Protect;
+    DWORD _Type;
+}
+
+alias MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION;
+alias MEMORY_BASIC_INFORMATION _MEMORY_BASIC_INFORMATION;
+alias MEMORY_BASIC_INFORMATION TMEMORYBASICINFORMATION;
+alias MEMORY_BASIC_INFORMATION* PMEMORYBASICINFORMATION;
+
+struct MEMORYSTATUS
+{
+    DWORD dwLength;
+    DWORD dwMemoryLoad;
+    DWORD dwTotalPhys;
+    DWORD dwAvailPhys;
+    DWORD dwTotalPageFile;
+    DWORD dwAvailPageFile;
+    DWORD dwTotalVirtual;
+    DWORD dwAvailVirtual;
+}
+
+alias MEMORYSTATUS* LPMEMORYSTATUS;
+alias MEMORYSTATUS _MEMORYSTATUS;
+alias MEMORYSTATUS TMEMORYSTATUS;
+alias MEMORYSTATUS* PMEMORYSTATUS;
+
+struct MENUEX_TEMPLATE_HEADER
+{
+    ushort wVersion;
+    ushort wOffset;
+    DWORD dwHelpId;
+}
+
+alias MENUEX_TEMPLATE_HEADER TMENUXTEMPLATEHEADER;
+alias MENUEX_TEMPLATE_HEADER* PMENUXTEMPLATEHEADER;
+
+struct MENUEX_TEMPLATE_ITEM
+{
+    DWORD dwType;
+    DWORD dwState;
+    UINT uId;
+    ubyte bResInfo;
+    WCHAR[1 + 0] szText;
+    DWORD dwHelpId;
+}
+
+alias MENUEX_TEMPLATE_ITEM TMENUEXTEMPLATEITEM;
+alias MENUEX_TEMPLATE_ITEM* PMENUEXTEMPLATEITEM;
+
+/*
+* Feature in Windows.  The hbmpItem field requires Windows 4.10
+* or greater.  On Windows NT 4.0, passing in a larger struct size
+* in the cbSize field does nothing.  On Windows 95, the MENUITEMINFO
+* calls fail when the struct size is too large.  The fix is to ensure
+* that the correct struct size is used for the Windows platform.
+*/
+struct MENUITEMINFOA
+{
+    UINT    cbSize;
+    UINT    fMask;
+    UINT    fType;          // used if MIIM_TYPE
+    UINT    fState;         // used if MIIM_STATE
+    UINT    wID;            // used if MIIM_ID
+    HMENU   hSubMenu;       // used if MIIM_SUBMENU
+    HBITMAP hbmpChecked;    // used if MIIM_CHECKMARKS
+    HBITMAP hbmpUnchecked;  // used if MIIM_CHECKMARKS
+    DWORD   dwItemData;     // used if MIIM_DATA
+    LPSTR   dwTypeData;     // used if MIIM_TYPE
+    UINT    cch;            // used if MIIM_TYPE
+    HBITMAP hbmpItem;
+}
+alias MENUITEMINFOA* PMENUITEMINFOA, LPMENUITEMINFOA;
+struct MENUITEMINFOW
+{
+    UINT    cbSize;
+    UINT    fMask;
+    UINT    fType;          // used if MIIM_TYPE
+    UINT    fState;         // used if MIIM_STATE
+    UINT    wID;            // used if MIIM_ID
+    HMENU   hSubMenu;       // used if MIIM_SUBMENU
+    HBITMAP hbmpChecked;    // used if MIIM_CHECKMARKS
+    HBITMAP hbmpUnchecked;  // used if MIIM_CHECKMARKS
+    DWORD   dwItemData;     // used if MIIM_DATA
+    LPWSTR  dwTypeData;     // used if MIIM_TYPE
+    UINT    cch;            // used if MIIM_TYPE
+    HBITMAP hbmpItem;
+}   alias MENUITEMINFOW* PMENUITEMINFOW, LPMENUITEMINFOW;
+version(ANSI){
+    alias MENUITEMINFOA MENUITEMINFO;
+}else{
+    alias MENUITEMINFOW MENUITEMINFO;
+}
+alias MENUITEMINFO * LPMENUITEMINFO;
+alias MENUITEMINFO * LPCMENUITEMINFO;
+
+// struct MENUITEMINFO
+// {
+//  UINT cbSize;
+//  UINT fMask;
+//  UINT fType;
+//  UINT fState;
+//  UINT wID;
+//  HMENU hSubMenu;
+//  HBITMAP hbmpChecked;
+//  HBITMAP hbmpUnchecked;
+//  DWORD dwItemData;
+//  LPTSTR dwTypeData;
+//  UINT cch;
+// }
+//
+// alias MENUITEMINFO* LPMENUITEMINFO;
+// alias MENUITEMINFO* LPCMENUITEMINFO;
+// alias MENUITEMINFO TAGMENUITEMINFO;
+// alias MENUITEMINFO TMENUITEMINFO;
+// alias MENUITEMINFO TMENUITEMINFOA;
+// alias MENUITEMINFO* PMENUITEMINFO;
+
+struct MENUITEMTEMPLATE
+{
+    ushort mtOption;
+    ushort mtID;
+    WCHAR[1 + 0] mtString;
+}
+
+alias MENUITEMTEMPLATE TMENUITEMTEMPLATE;
+alias MENUITEMTEMPLATE* PMENUITEMTEMPLATE;
+
+struct MENUITEMTEMPLATEHEADER
+{
+    ushort versionNumber;
+    ushort offset;
+}
+
+alias MENUITEMTEMPLATEHEADER TMENUITEMTEMPLATEHEADER;
+alias MENUITEMTEMPLATEHEADER* PMENUITEMTEMPLATEHEADER;
+
+struct MENUTEMPLATE
+{
+}
+
+alias MENUTEMPLATE* LPMENUTEMPLATE;
+alias MENUTEMPLATE TMENUTEMPLATE;
+alias MENUTEMPLATE* PMENUTEMPLATE;
+
+struct METAFILEPICT
+{
+    LONG mm;
+    LONG xExt;
+    LONG yExt;
+    HMETAFILE hMF;
+}
+
+alias METAFILEPICT* LPMETAFILEPICT;
+alias METAFILEPICT TAGMETAFILEPICT;
+alias METAFILEPICT TMETAFILEPICT;
+alias METAFILEPICT* PMETAFILEPICT;
+
+align(1) struct METAHEADER
+{
+    ushort mtType;
+    ushort mtHeaderSize;
+    ushort mtVersion;
+    DWORD mtSize;
+    ushort mtNoObjects;
+    DWORD mtMaxRecord;
+    ushort mtNoParameters;
+}
+
+alias METAHEADER TAGMETAHEADER;
+alias METAHEADER TMETAHEADER;
+alias METAHEADER* PMETAHEADER;
+
+struct METARECORD
+{
+    DWORD rdSize;
+    ushort rdFunction;
+    ushort[1 + 0] rdParm;
+}
+
+alias METARECORD* LPMETARECORD;
+alias METARECORD TAGMETARECORD;
+alias METARECORD TMETARECORD;
+alias METARECORD* PMETARECORD;
+
+struct MINIMIZEDMETRICS
+{
+    UINT cbSize;
+    int iWidth;
+    int iHorzGap;
+    int iVertGap;
+    int iArrange;
+}
+
+alias MINIMIZEDMETRICS* LPMINIMIZEDMETRICS;
+alias MINIMIZEDMETRICS TAGMINIMIZEDMETRICS;
+alias MINIMIZEDMETRICS TMINIMIZEDMETRICS;
+alias MINIMIZEDMETRICS* PMINIMIZEDMETRICS;
+
+// struct MINMAXINFO
+// {
+//     POINT ptReserved;
+//     POINT ptMaxSize;
+//     POINT ptMaxPosition;
+//     POINT ptMinTrackSize;
+//     POINT ptMaxTrackSize;
+// }
+//
+// alias MINMAXINFO TAGMINMAXINFO;
+// alias MINMAXINFO TMINMAXINFO;
+// alias MINMAXINFO* PMINMAXINFO;
+
+struct MODEMDEVCAPS
+{
+    DWORD 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;
+    ubyte[1 + 0] abVariablePortion;
+}
+
+alias MODEMDEVCAPS* LPMODEMDEVCAPS;
+alias MODEMDEVCAPS TMODEMDEVCAPS;
+alias MODEMDEVCAPS* PMODEMDEVCAPS;
+alias MODEMDEVCAPS MODEMDEVCAPS_TAG;
+
+struct MODEMSETTINGS
+{
+    DWORD dwActualSize;
+    DWORD dwRequiredSize;
+    DWORD dwDevSpecificOffset;
+    DWORD dwDevSpecificSize;
+    DWORD dwCallSetupFailTimer;
+    DWORD dwInactivityTimeout;
+    DWORD dwSpeakerVolume;
+    DWORD dwSpeakerMode;
+    DWORD dwPreferredModemOptions;
+    DWORD dwNegotiatedModemOptions;
+    DWORD dwNegotiatedDCERate;
+    ubyte[1 + 0] abVariablePortion;
+}
+
+alias MODEMSETTINGS* LPMODEMSETTINGS;
+alias MODEMSETTINGS TMODEMSETTINGS;
+alias MODEMSETTINGS* PMODEMSETTINGS;
+alias MODEMSETTINGS MODEMSETTINGS_TAG;
+
+struct MONCBSTRUCT
+{
+    UINT cb;
+    DWORD dwTime;
+    HANDLE hTask;
+    DWORD dwRet;
+    UINT wType;
+    UINT wFmt;
+    HCONV hConv;
+    HSZ hsz1;
+    HSZ hsz2;
+    HDDEDATA hData;
+    DWORD dwData1;
+    DWORD dwData2;
+    CONVCONTEXT cc;
+    DWORD cbData;
+    DWORD[1 + 7] Data;
+}
+
+alias MONCBSTRUCT TAGMONCBSTRUCT;
+alias MONCBSTRUCT TMONCBSTRUCT;
+alias MONCBSTRUCT* PMONCBSTRUCT;
+
+struct MONCONVSTRUCT
+{
+    UINT cb;
+    WINBOOL fConnect;
+    DWORD dwTime;
+    HANDLE hTask;
+    HSZ hszSvc;
+    HSZ hszTopic;
+    HCONV hConvClient;
+    HCONV hConvServer;
+}
+
+alias MONCONVSTRUCT TAGMONCONVSTRUCT;
+alias MONCONVSTRUCT TMONCONVSTRUCT;
+alias MONCONVSTRUCT* PMONCONVSTRUCT;
+
+struct MONERRSTRUCT
+{
+    UINT cb;
+    UINT wLastError;
+    DWORD dwTime;
+    HANDLE hTask;
+}
+
+alias MONERRSTRUCT TAGMONERRSTRUCT;
+alias MONERRSTRUCT TMONERRSTRUCT;
+alias MONERRSTRUCT* PMONERRSTRUCT;
+
+struct MONHSZSTRUCT
+{
+    UINT cb;
+    WINBOOL fsAction;
+    DWORD dwTime;
+    HSZ hsz;
+    HANDLE hTask;
+    TCHAR[1 + 0] str;
+}
+
+alias MONHSZSTRUCT TAGMONHSZSTRUCT;
+alias MONHSZSTRUCT TMONHSZSTRUCT;
+alias MONHSZSTRUCT* PMONHSZSTRUCT;
+
+struct MONITOR_INFO_1
+{
+    LPTSTR pName;
+}
+
+alias MONITOR_INFO_1 _MONITOR_INFO_1;
+alias MONITOR_INFO_1 TMONITORINFO1;
+alias MONITOR_INFO_1* PMONITORINFO1;
+
+struct MONITOR_INFO_2
+{
+    LPTSTR pName;
+    LPTSTR pEnvironment;
+    LPTSTR pDLLName;
+}
+
+alias MONITOR_INFO_2 _MONITOR_INFO_2;
+alias MONITOR_INFO_2 TMONITORINFO2;
+alias MONITOR_INFO_2* PMONITORINFO2;
+
+struct MONLINKSTRUCT
+{
+    UINT cb;
+    DWORD dwTime;
+    HANDLE hTask;
+    WINBOOL fEstablished;
+    WINBOOL fNoData;
+    HSZ hszSvc;
+    HSZ hszTopic;
+    HSZ hszItem;
+    UINT wFmt;
+    WINBOOL fServer;
+    HCONV hConvServer;
+    HCONV hConvClient;
+}
+
+alias MONLINKSTRUCT TAGMONLINKSTRUCT;
+alias MONLINKSTRUCT TMONLINKSTRUCT;
+alias MONLINKSTRUCT* PMONLINKSTRUCT;
+
+struct MONMSGSTRUCT
+{
+    UINT cb;
+    HWND hwndTo;
+    DWORD dwTime;
+    HANDLE hTask;
+    UINT wMsg;
+    WPARAM wParam;
+    LPARAM lParam;
+    DDEML_MSG_HOOK_DATA dmhd;
+}
+
+alias MONMSGSTRUCT TAGMONMSGSTRUCT;
+alias MONMSGSTRUCT TMONMSGSTRUCT;
+alias MONMSGSTRUCT* PMONMSGSTRUCT;
+
+struct MOUSEHOOKSTRUCT
+{
+    POINT pt;
+    HWND hwnd;
+    UINT wHitTestCode;
+    DWORD dwExtraInfo;
+}
+
+alias MOUSEHOOKSTRUCT* LPMOUSEHOOKSTRUCT;
+alias MOUSEHOOKSTRUCT TAGMOUSEHOOKSTRUCT;
+alias MOUSEHOOKSTRUCT TMOUSEHOOKSTRUCT;
+alias MOUSEHOOKSTRUCT* PMOUSEHOOKSTRUCT;
+
+struct MOUSEKEYS
+{
+    DWORD cbSize;
+    DWORD dwFlags;
+    DWORD iMaxSpeed;
+    DWORD iTimeToMaxSpeed;
+    DWORD iCtrlSpeed;
+    DWORD dwReserved1;
+    DWORD dwReserved2;
+}
+
+alias MOUSEKEYS TMOUSEKEYS;
+alias MOUSEKEYS* PMOUSEKEYS;
+
+struct MSG
+{
+    HWND hwnd;
+    UINT message;
+    WPARAM wParam;
+    LPARAM lParam;
+    DWORD time;
+    POINT pt;
+}
+
+alias MSG* LPMSG;
+alias MSG TAGMSG;
+alias MSG TMSG;
+alias MSG* PMSG;
+extern(Windows){
+alias void (*MSGBOXCALLBACK)(LPHELPINFO);
+}
+alias MSGBOXCALLBACK TMSGBOXCALLBACK;
+
+struct MSGBOXPARAMS
+{
+    UINT cbSize;
+    HWND hwndOwner;
+    HINST hInstance;
+    LPCSTR lpszText;
+    LPCSTR lpszCaption;
+    DWORD dwStyle;
+    LPCSTR lpszIcon;
+    DWORD dwContextHelpId;
+    MSGBOXCALLBACK lpfnMsgBoxCallback;
+    DWORD dwLanguageId;
+}
+
+alias MSGBOXPARAMS* LPMSGBOXPARAMS;
+alias MSGBOXPARAMS TMSGBOXPARAMS;
+alias MSGBOXPARAMS TMSGBOXPARAMSA;
+alias MSGBOXPARAMS* PMSGBOXPARAMS;
+
+struct MSGFILTER
+{
+    NMHDR nmhdr;
+    UINT msg;
+    WPARAM wParam;
+    LPARAM lParam;
+}
+
+alias MSGFILTER _MSGFILTER;
+alias MSGFILTER TMSGFILTER;
+alias MSGFILTER* PMSGFILTER;
+
+struct MULTIKEYHELP
+{
+    DWORD mkSize;
+    TCHAR mkKeylist;
+    TCHAR[1 + 0] szKeyphrase;
+}
+
+alias MULTIKEYHELP TAGMULTIKEYHELP;
+alias MULTIKEYHELP TMULTIKEYHELP;
+alias MULTIKEYHELP* PMULTIKEYHELP;
+
+struct NAME_BUFFER
+{
+    UCHAR[1 + NCBNAMSZ-1] name;
+    UCHAR name_num;
+    UCHAR name_flags;
+}
+
+alias NAME_BUFFER _NAME_BUFFER;
+alias NAME_BUFFER TNAMEBUFFER;
+alias NAME_BUFFER* PNAMEBUFFER;
+alias _NCB* P_NCB;
+
+struct NCB
+{
+    UCHAR ncb_command;
+    UCHAR ncb_retcode;
+    UCHAR ncb_lsn;
+    UCHAR ncb_num;
+    PUCHAR ncb_buffer;
+    ushort ncb_length;
+    UCHAR[1 + NCBNAMSZ-1] ncb_callname;
+    UCHAR[1 + NCBNAMSZ-1] ncb_name;
+    UCHAR ncb_rto;
+    UCHAR ncb_sto;
+    POINTER ncb_post;
+    UCHAR ncb_lana_num;
+    UCHAR ncb_cmd_cplt;
+    UCHAR[1 + 9] ncb_reserve;
+    HANDLE ncb_event;
+}
+
+alias NCB _NCB;
+alias NCB TNCB;
+alias NCB* PNCB;
+
+struct NCCALCSIZE_PARAMS
+{
+    RECT[1 + 2] rgrc;
+    PWINDOWPOS lppos;
+}
+
+alias NCCALCSIZE_PARAMS _NCCALCSIZE_PARAMS;
+alias NCCALCSIZE_PARAMS TNCCALCSIZEPARAMS;
+alias NCCALCSIZE_PARAMS* PNCCALCSIZEPARAMS;
+
+struct NDDESHAREINFO
+{
+    LONG lRevision;
+    LPTSTR lpszShareName;
+    LONG lShareType;
+    LPTSTR lpszAppTopicList;
+    LONG fSharedFlag;
+    LONG fService;
+    LONG fStartAppFlag;
+    LONG nCmdShow;
+    LONG[1 + 1] qModifyId;
+    LONG cNumItems;
+    LPTSTR lpszItemList;
+}
+
+alias NDDESHAREINFO _NDDESHAREINFO;
+alias NDDESHAREINFO TNDDESHAREINFO;
+alias NDDESHAREINFO* PNDDESHAREINFO;
+
+struct NETRESOURCE
+{
+    DWORD dwScope;
+    DWORD dwType;
+    DWORD dwDisplayType;
+    DWORD dwUsage;
+    LPTSTR lpLocalName;
+    LPTSTR lpRemoteName;
+    LPTSTR lpComment;
+    LPTSTR lpProvider;
+}
+
+alias NETRESOURCE* LPNETRESOURCE;
+alias NETRESOURCE _NETRESOURCE;
+alias NETRESOURCE TNETRESOURCE;
+alias NETRESOURCE TNETRESOURCEA;
+alias NETRESOURCE* PNETRESOURCE;
+alias NETRESOURCE* PNETRESOURCEA;
+
+struct NEWCPLINFO
+{
+    DWORD dwSize;
+    DWORD dwFlags;
+    DWORD dwHelpContext;
+    LONG lData;
+    HICON hIcon;
+    TCHAR[1 + 31] szName;
+    TCHAR[1 + 63] szInfo;
+    TCHAR[1 + 127] szHelpFile;
+}
+
+alias NEWCPLINFO TAGNEWCPLINFO;
+alias NEWCPLINFO TNEWCPLINFO;
+alias NEWCPLINFO* PNEWCPLINFO;
+
+// ----------------------------------------------------------------------------
+
+struct NEWTEXTMETRICA {
+    LONG   tmHeight;
+    LONG   tmAscent;
+    LONG   tmDescent;
+    LONG   tmInternalLeading;
+    LONG   tmExternalLeading;
+    LONG   tmAveCharWidth;
+    LONG   tmMaxCharWidth;
+    LONG   tmWeight;
+    LONG   tmOverhang;
+    LONG   tmDigitizedAspectX;
+    LONG   tmDigitizedAspectY;
+    BYTE  tmFirstChar;
+    BYTE  tmLastChar;
+    BYTE  tmDefaultChar;
+    BYTE  tmBreakChar;
+    BYTE   tmItalic;
+    BYTE   tmUnderlined;
+    BYTE   tmStruckOut;
+    BYTE   tmPitchAndFamily;
+    BYTE   tmCharSet;
+    DWORD  ntmFlags;
+    UINT   ntmSizeEM;
+    UINT   ntmCellHeight;
+    UINT   ntmAvgWidth;
+}
+struct NEWTEXTMETRICW {
+    LONG   tmHeight;
+    LONG   tmAscent;
+    LONG   tmDescent;
+    LONG   tmInternalLeading;
+    LONG   tmExternalLeading;
+    LONG   tmAveCharWidth;
+    LONG   tmMaxCharWidth;
+    LONG   tmWeight;
+    LONG   tmOverhang;
+    LONG   tmDigitizedAspectX;
+    LONG   tmDigitizedAspectY;
+    WCHAR  tmFirstChar;
+    WCHAR  tmLastChar;
+    WCHAR  tmDefaultChar;
+    WCHAR  tmBreakChar;
+    BYTE   tmItalic;
+    BYTE   tmUnderlined;
+    BYTE   tmStruckOut;
+    BYTE   tmPitchAndFamily;
+    BYTE   tmCharSet;
+    DWORD  ntmFlags;
+    UINT   ntmSizeEM;
+    UINT   ntmCellHeight;
+    UINT   ntmAvgWidth;
+}
+
+struct NEWTEXTMETRICEXA {
+    NEWTEXTMETRICA  ntmentm;
+    FONTSIGNATURE  ntmeFontSignature;
+}
+struct NEWTEXTMETRICEXW {
+    NEWTEXTMETRICW  ntmentm;
+    FONTSIGNATURE  ntmeFontSignature;
+}
+
+alias NEWTEXTMETRIC TNEWTEXTMETRIC;
+alias NEWTEXTMETRIC* PNEWTEXTMETRIC;
+alias NEWTEXTMETRIC* LPNEWTEXTMETRIC;
+
+version(ANSI){
+    alias NEWTEXTMETRICA NEWTEXTMETRIC;
+    alias NEWTEXTMETRICEXA NEWTEXTMETRICEX;
+}else{
+    alias NEWTEXTMETRICW NEWTEXTMETRIC;
+    alias NEWTEXTMETRICEXW NEWTEXTMETRICEX;
+}
+
+/+
+struct NEWTEXTMETRIC
+{
+    LONG tmHeight;
+    LONG tmAscent;
+    LONG tmDescent;
+    LONG tmInternalLeading;
+    LONG tmExternalLeading;
+    LONG tmAveCharWidth;
+    LONG tmMaxCharWidth;
+    LONG tmWeight;
+    LONG tmOverhang;
+    LONG tmDigitizedAspectX;
+    LONG tmDigitizedAspectY;
+    BCHAR tmFirstChar;
+    BCHAR tmLastChar;
+    BCHAR tmDefaultChar;
+    BCHAR tmBreakChar;
+    ubyte tmItalic;
+    ubyte tmUnderlined;
+    ubyte tmStruckOut;
+    ubyte tmPitchAndFamily;
+    ubyte tmCharSet;
+    DWORD ntmFlags;
+    UINT ntmSizeEM;
+    UINT ntmCellHeight;
+    UINT ntmAvgWidth;
+}
+
+alias NEWTEXTMETRIC TAGNEWTEXTMETRIC;
+alias NEWTEXTMETRIC TNEWTEXTMETRIC;
+alias NEWTEXTMETRIC* PNEWTEXTMETRIC;
+
+struct NEWTEXTMETRICEX
+{
+    NEWTEXTMETRIC ntmentm;
+    FONTSIGNATURE ntmeFontSignature;
+}
+
+alias NEWTEXTMETRICEX TAGNEWTEXTMETRICEX;
+alias NEWTEXTMETRICEX TNEWTEXTMETRICEX;
+alias NEWTEXTMETRICEX* PNEWTEXTMETRICEX;
++/
+// ----------------------------------------------------------------------------
+
+struct NM_LISTVIEW
+{
+    NMHDR hdr;
+    int iItem;
+    int iSubItem;
+    UINT uNewState;
+    UINT uOldState;
+    UINT uChanged;
+    POINT ptAction;
+    LPARAM lParam;
+}
+
+alias NM_LISTVIEW TAGNM_LISTVIEW;
+alias NM_LISTVIEW TNMLISTVIEW;
+alias NM_LISTVIEW* PNMLISTVIEW;
+
+// struct TV_ITEM
+// {
+//  UINT mask;
+//  HTREEITEM hItem;
+//  UINT state;
+//  UINT stateMask;
+//  LPTSTR pszText;
+//  int cchTextMax;
+//  int iImage;
+//  int iSelectedImage;
+//  int cChildren;
+//  LPARAM lParam;
+// }
+//
+// alias TV_ITEM* LPTV_ITEM;
+// alias TV_ITEM _TV_ITEM;
+// alias TV_ITEM TTVITEM;
+// alias TV_ITEM* PTVITEM;
+
+// struct NM_TREEVIEW
+// {
+//  NMHDR hdr;
+//  UINT action;
+//  TV_ITEM itemOld;
+//  TV_ITEM itemNew;
+//  POINT ptDrag;
+// }
+//
+// alias NM_TREEVIEW* LPNM_TREEVIEW;
+// alias NM_TREEVIEW _NM_TREEVIEW;
+// alias NM_TREEVIEW TNMTREEVIEW;
+// alias NM_TREEVIEW* PNMTREEVIEW;
+
+struct NM_UPDOWNW
+{
+    NMHDR hdr;
+    int iPos;
+    int iDelta;
+}
+
+alias NM_UPDOWNW _NM_UPDOWN;
+alias NM_UPDOWNW TNMUPDOWN;
+alias NM_UPDOWNW* PNMUPDOWN;
+alias NM_UPDOWNW NMUPDOWN;
+
+// struct NONCLIENTMETRICS
+// {
+//     UINT cbSize;
+//     int iBorderWidth;
+//     int iScrollWidth;
+//     int iScrollHeight;
+//     int iCaptionWidth;
+//     int iCaptionHeight;
+//     LOGFONT lfCaptionFont;
+//     int iSmCaptionWidth;
+//     int iSmCaptionHeight;
+//     LOGFONT lfSmCaptionFont;
+//     int iMenuWidth;
+//     int iMenuHeight;
+//     LOGFONT lfMenuFont;
+//     LOGFONT lfStatusFont;
+//     LOGFONT lfMessageFont;
+// }
+//
+// alias NONCLIENTMETRICS* LPNONCLIENTMETRICS;
+// alias NONCLIENTMETRICS TAGNONCLIENTMETRICS;
+// alias NONCLIENTMETRICS TNONCLIENTMETRICS;
+// alias NONCLIENTMETRICS* PNONCLIENTMETRICS;
+
+struct SERVICE_ADDRESS
+{
+    DWORD dwAddressType;
+    DWORD dwAddressFlags;
+    DWORD dwAddressLength;
+    DWORD dwPrincipalLength;
+    ubyte* lpAddress;
+    ubyte* lpPrincipal;
+}
+
+alias SERVICE_ADDRESS _SERVICE_ADDRESS;
+alias SERVICE_ADDRESS TSERVICEADDRESS;
+alias SERVICE_ADDRESS* PSERVICEADDRESS;
+
+struct SERVICE_ADDRESSES
+{
+    DWORD dwAddressCount;
+    SERVICE_ADDRESS[1 + 0] Addresses;
+}
+
+alias SERVICE_ADDRESSES* LPSERVICE_ADDRESSES;
+alias SERVICE_ADDRESSES _SERVICE_ADDRESSES;
+alias SERVICE_ADDRESSES TSERVICEADDRESSES;
+alias SERVICE_ADDRESSES* PSERVICEADDRESSES;
+
+align(1) struct __GUID
+{
+
+    union
+    {
+        struct
+        {
+            uint Data1;
+            ushort Data2;
+            ushort Data3;
+            ubyte[1 + 7] Data4;
+        }
+        struct
+        {
+            uint D1;
+            ushort D2;
+            ushort D3;
+            ubyte[1 + 7] D4;
+        }
+    }
+}
+
+alias __GUID* LPGUID;
+alias __GUID _GUID;
+alias __GUID GUID;
+alias __GUID TGUID;
+alias __GUID* PGUID;
+alias __GUID __CLSID;
+alias __CLSID* LPCLSID;
+alias __CLSID TCLSID;
+alias __CLSID* PCLSID;
+
+struct SERVICE_INFO
+{
+    LPGUID lpServiceType;
+    LPTSTR lpServiceName;
+    LPTSTR lpComment;
+    LPTSTR lpLocale;
+    DWORD dwDisplayHint;
+    DWORD dwVersion;
+    DWORD dwTime;
+    LPTSTR lpMachineName;
+    LPSERVICE_ADDRESSES lpServiceAddress;
+    BLOB ServiceSpecificInfo;
+}
+
+alias SERVICE_INFO _SERVICE_INFO;
+alias SERVICE_INFO TSERVICEINFO;
+alias SERVICE_INFO* PSERVICEINFO;
+
+struct NS_SERVICE_INFO
+{
+    DWORD dwNameSpace;
+    SERVICE_INFO ServiceInfo;
+}
+
+alias NS_SERVICE_INFO _NS_SERVICE_INFO;
+alias NS_SERVICE_INFO TNSSERVICEINFO;
+alias NS_SERVICE_INFO* PNSSERVICEINFO;
+
+struct NUMBERFMT
+{
+    UINT NumDigits;
+    UINT LeadingZero;
+    UINT Grouping;
+    LPTSTR lpDecimalSep;
+    LPTSTR lpThousandSep;
+    UINT NegativeOrder;
+}
+
+alias NUMBERFMT _NUMBERFMT;
+alias NUMBERFMT TNUMBERFMT;
+alias NUMBERFMT* PNUMBERFMT;
+
+struct OFSTRUCT
+{
+    ubyte cBytes;
+    ubyte fFixedDisk;
+    ushort nErrCode;
+    ushort Reserved1;
+    ushort Reserved2;
+    char[1 + OFS_MAXPATHNAME-1] szPathName;
+}
+
+alias OFSTRUCT* LPOFSTRUCT;
+alias OFSTRUCT _OFSTRUCT;
+alias OFSTRUCT TOFSTRUCT;
+alias OFSTRUCT* POFSTRUCT;
+
+struct OPENFILENAME
+{
+    DWORD lStructSize;
+    HWND hwndOwner;
+    HINST hInstance;
+    LPCTSTR lpstrFilter;
+    LPTSTR lpstrCustomFilter;
+    DWORD nMaxCustFilter;
+    DWORD nFilterIndex;
+    LPTSTR lpstrFile;
+    DWORD nMaxFile;
+    LPTSTR lpstrFileTitle;
+    DWORD nMaxFileTitle;
+    LPCTSTR lpstrInitialDir;
+    LPCTSTR lpstrTitle;
+    DWORD Flags;
+    ushort nFileOffset;
+    ushort nFileExtension;
+    LPCTSTR lpstrDefExt;
+    DWORD lCustData;
+    LPOFNHOOKPROC lpfnHook;
+    LPCTSTR lpTemplateName;
+}
+
+alias OPENFILENAME* LPOPENFILENAME;
+alias OPENFILENAME TOPENFILENAME;
+alias OPENFILENAME* POPENFILENAME;
+alias OPENFILENAME TAGOFN;
+alias OPENFILENAME TOFN;
+alias OPENFILENAME* POFN;
+
+struct OFNOTIFY
+{
+    NMHDR hdr;
+    LPOPENFILENAME lpOFN;
+    LPTSTR pszFile;
+}
+
+alias OFNOTIFY* LPOFNOTIFY;
+alias OFNOTIFY _OFNOTIFY;
+alias OFNOTIFY TOFNOTIFY;
+alias OFNOTIFY* POFNOTIFY;
+
+// struct OSVERSIONINFO
+// {
+//     DWORD dwOSVersionInfoSize;
+//     DWORD dwMajorVersion;
+//     DWORD dwMinorVersion;
+//     DWORD dwBuildNumber;
+//     DWORD dwPlatformId;
+//     TCHAR[1 + 127] szCSDVersion;
+// }
+//
+// alias OSVERSIONINFO* LPOSVERSIONINFO;
+// alias OSVERSIONINFO _OSVERSIONINFO;
+// alias OSVERSIONINFO TOSVERSIONINFO;
+// alias OSVERSIONINFO* POSVERSIONINFO;
+
+// struct TEXTMETRIC
+// {
+//     LONG tmHeight;
+//     LONG tmAscent;
+//     LONG tmDescent;
+//     LONG tmInternalLeading;
+//     LONG tmExternalLeading;
+//     LONG tmAveCharWidth;
+//     LONG tmMaxCharWidth;
+//     LONG tmWeight;
+//     LONG tmOverhang;
+//     LONG tmDigitizedAspectX;
+//     LONG tmDigitizedAspectY;
+//     BCHAR tmFirstChar;
+//     BCHAR tmLastChar;
+//     BCHAR tmDefaultChar;
+//     BCHAR tmBreakChar;
+//     ubyte tmItalic;
+//     ubyte tmUnderlined;
+//     ubyte tmStruckOut;
+//     ubyte tmPitchAndFamily;
+//     ubyte tmCharSet;
+// }
+//
+// alias TEXTMETRIC* LPTEXTMETRIC;
+// alias TEXTMETRIC TAGTEXTMETRIC;
+// alias TEXTMETRIC TTEXTMETRIC;
+// alias TEXTMETRIC* PTEXTMETRIC;
+
+struct OUTLINETEXTMETRIC
+{
+    UINT otmSize;
+    TEXTMETRIC otmTextMetrics;
+    ubyte otmFiller;
+    PANOSE otmPanoseNumber;
+    UINT otmfsSelection;
+    UINT otmfsType;
+    int otmsCharSlopeRise;
+    int otmsCharSlopeRun;
+    int otmItalicAngle;
+    UINT otmEMSquare;
+    int otmAscent;
+    int otmDescent;
+    UINT otmLineGap;
+    UINT otmsCapEmHeight;
+    UINT otmsXHeight;
+    RECT otmrcFontBox;
+    int otmMacAscent;
+    int otmMacDescent;
+    UINT otmMacLineGap;
+    UINT otmusMinimumPPEM;
+    POINT otmptSubscriptSize;
+    POINT otmptSubscriptOffset;
+    POINT otmptSuperscriptSize;
+    POINT otmptSuperscriptOffset;
+    UINT otmsStrikeoutSize;
+    int otmsStrikeoutPosition;
+    int otmsUnderscoreSize;
+    int otmsUnderscorePosition;
+    PSTR otmpFamilyName;
+    PSTR otmpFaceName;
+    PSTR otmpStyleName;
+    PSTR otmpFullName;
+}
+
+alias OUTLINETEXTMETRIC* LPOUTLINETEXTMETRIC;
+alias OUTLINETEXTMETRIC _OUTLINETEXTMETRIC;
+alias OUTLINETEXTMETRIC TOUTLINETEXTMETRIC;
+alias OUTLINETEXTMETRIC* POUTLINETEXTMETRIC;
+
+struct OVERLAPPED
+{
+    DWORD Internal;
+    DWORD InternalHigh;
+    DWORD Offset;
+    DWORD OffsetHigh;
+    HANDLE hEvent;
+}
+
+alias OVERLAPPED* LPOVERLAPPED;
+alias OVERLAPPED _OVERLAPPED;
+alias OVERLAPPED TOVERLAPPED;
+alias OVERLAPPED* POVERLAPPED;
+
+struct TPAGESETUPDLG
+{
+    DWORD lStructSize;
+    HWND hwndOwner;
+    HGLOBAL hDevMode;
+    HGLOBAL hDevNames;
+    DWORD Flags;
+    POINT ptPaperSize;
+    RECT rtMinMargin;
+    RECT rtMargin;
+    HINST hInstance;
+    LPARAM lCustData;
+    LPPAGESETUPHOOK lpfnPageSetupHook;
+    LPPAGEPAINTHOOK lpfnPagePaintHook;
+    LPCTSTR lpPageSetupTemplateName;
+    HGLOBAL hPageSetupTemplate;
+}
+
+alias TPAGESETUPDLG* LPPAGESETUPDLG;
+alias TPAGESETUPDLG* PPAGESETUPDLG;
+alias TPAGESETUPDLG TAGPSD;
+alias TPAGESETUPDLG TPSD;
+alias TPAGESETUPDLG* PPSD;
+
+struct PAINTSTRUCT
+{
+    HDC hdc;
+    WINBOOL fErase;
+    RECT rcPaint;
+    WINBOOL fRestore;
+    WINBOOL fIncUpdate;
+    ubyte[1 + 31] rgbReserved;
+}
+
+alias PAINTSTRUCT* LPPAINTSTRUCT;
+alias PAINTSTRUCT TAGPAINTSTRUCT;
+alias PAINTSTRUCT TPAINTSTRUCT;
+alias PAINTSTRUCT* PPAINTSTRUCT;
+
+struct PARAFORMAT
+{
+    UINT cbSize;
+    DWORD dwMask;
+    ushort wNumbering;
+    ushort wReserved;
+    LONG dxStartIndent;
+    LONG dxRightIndent;
+    LONG dxOffset;
+    ushort wAlignment;
+    SHORT cTabCount;
+    LONG[1 + MAX_TAB_STOPS-1] rgxTabs;
+}
+
+alias PARAFORMAT _PARAFORMAT;
+alias PARAFORMAT TPARAFORMAT;
+alias PARAFORMAT* PPARAFORMAT;
+
+struct PERF_COUNTER_BLOCK
+{
+    DWORD ByteLength;
+}
+
+alias PERF_COUNTER_BLOCK _PERF_COUNTER_BLOCK;
+alias PERF_COUNTER_BLOCK TPERFCOUNTERBLOCK;
+alias PERF_COUNTER_BLOCK* PPERFCOUNTERBLOCK;
+
+struct PERF_COUNTER_DEFINITION
+{
+    DWORD ByteLength;
+    DWORD CounterNameTitleIndex;
+    LPWSTR CounterNameTitle;
+    DWORD CounterHelpTitleIndex;
+    LPWSTR CounterHelpTitle;
+    DWORD DefaultScale;
+    DWORD DetailLevel;
+    DWORD CounterType;
+    DWORD CounterSize;
+    DWORD CounterOffset;
+}
+
+alias PERF_COUNTER_DEFINITION _PERF_COUNTER_DEFINITION;
+alias PERF_COUNTER_DEFINITION TPERFCOUNTERDEFINITION;
+alias PERF_COUNTER_DEFINITION* PPERFCOUNTERDEFINITION;
+
+struct PERF_DATA_BLOCK
+{
+    WCHAR[1 + 3] Signature;
+    DWORD LittleEndian;
+    DWORD Version;
+    DWORD Revision;
+    DWORD TotalByteLength;
+    DWORD HeaderLength;
+    DWORD NumObjectTypes;
+    DWORD DefaultObject;
+    SYSTEMTIME SystemTime;
+    LARGE_INTEGER PerfTime;
+    LARGE_INTEGER PerfFreq;
+    LARGE_INTEGER PerfTime100nSec;
+    DWORD SystemNameLength;
+    DWORD SystemNameOffset;
+}
+
+alias PERF_DATA_BLOCK _PERF_DATA_BLOCK;
+alias PERF_DATA_BLOCK TPERFDATABLOCK;
+alias PERF_DATA_BLOCK* PPERFDATABLOCK;
+
+struct PERF_INSTANCE_DEFINITION
+{
+    DWORD ByteLength;
+    DWORD ParentObjectTitleIndex;
+    DWORD ParentObjectInstance;
+    DWORD UniqueID;
+    DWORD NameOffset;
+    DWORD NameLength;
+}
+
+alias PERF_INSTANCE_DEFINITION _PERF_INSTANCE_DEFINITION;
+alias PERF_INSTANCE_DEFINITION TPERFINSTANCEDEFINITION;
+alias PERF_INSTANCE_DEFINITION PPERFINSTANCEDEFINITION;
+
+struct PERF_OBJECT_TYPE
+{
+    DWORD TotalByteLength;
+    DWORD DefinitionLength;
+    DWORD HeaderLength;
+    DWORD ObjectNameTitleIndex;
+    LPWSTR ObjectNameTitle;
+    DWORD ObjectHelpTitleIndex;
+    LPWSTR ObjectHelpTitle;
+    DWORD DetailLevel;
+    DWORD NumCounters;
+    DWORD DefaultCounter;
+    DWORD NumInstances;
+    DWORD CodePage;
+    LARGE_INTEGER PerfTime;
+    LARGE_INTEGER PerfFreq;
+}
+
+alias PERF_OBJECT_TYPE _PERF_OBJECT_TYPE;
+alias PERF_OBJECT_TYPE TPERFOBJECTTYPE;
+alias PERF_OBJECT_TYPE* PPERFOBJECTTYPE;
+
+struct POLYTEXT
+{
+    int x;
+    int y;
+    UINT n;
+    LPCTSTR lpstr;
+    UINT uiFlags;
+    RECT rcl;
+    int* pdx;
+}
+
+alias POLYTEXT _POLYTEXT;
+alias POLYTEXT TPOLYTEXT;
+alias POLYTEXT* PPOLYTEXT;
+
+struct PORT_INFO_1
+{
+    LPTSTR pName;
+}
+
+alias PORT_INFO_1 _PORT_INFO_1;
+alias PORT_INFO_1 TPORTINFO1;
+alias PORT_INFO_1* PPORTINFO1;
+
+struct PORT_INFO_2
+{
+    LPSTR pPortName;
+    LPSTR pMonitorName;
+    LPSTR pDescription;
+    DWORD fPortType;
+    DWORD Reserved;
+}
+
+alias PORT_INFO_2 _PORT_INFO_2;
+alias PORT_INFO_2 TPORTINFO2;
+alias PORT_INFO_2* PPORTINFO2;
+
+struct PREVENT_MEDIA_REMOVAL
+{
+    ubyte PreventMediaRemoval;
+}
+
+alias PREVENT_MEDIA_REMOVAL _PREVENT_MEDIA_REMOVAL;
+alias PREVENT_MEDIA_REMOVAL TPREVENTMEDIAREMOVAL;
+alias PREVENT_MEDIA_REMOVAL* PPREVENTMEDIAREMOVAL;
+
+align(1) struct TPRINTDLG
+{
+    DWORD lStructSize;
+    HWND hwndOwner;
+    HANDLE hDevMode;
+    HANDLE hDevNames;
+    HDC hDC;
+    DWORD Flags;
+    ushort nFromPage;
+    ushort nToPage;
+    ushort nMinPage;
+    ushort nMaxPage;
+    ushort nCopies;
+    HINST hInstance;
+    DWORD lCustData;
+    LPPRINTHOOKPROC lpfnPrintHook;
+    LPSETUPHOOKPROC lpfnSetupHook;
+    LPCTSTR lpPrintTemplateName;
+    LPCTSTR lpSetupTemplateName;
+    HANDLE hPrintTemplate;
+    HANDLE hSetupTemplate;
+}
+
+alias TPRINTDLG* LPPRINTDLG;
+alias TPRINTDLG* PPRINTDLG;
+alias TPRINTDLG TAGPD;
+alias TPRINTDLG TPD;
+alias TPRINTDLG* PPD;
+
+struct PRINTER_DEFAULTS
+{
+    LPTSTR pDatatype;
+    LPDEVMODE pDevMode;
+    ACCESS_MASK DesiredAccess;
+}
+
+alias PRINTER_DEFAULTS _PRINTER_DEFAULTS;
+alias PRINTER_DEFAULTS TPRINTERDEFAULTS;
+alias PRINTER_DEFAULTS* PPRINTERDEFAULTS;
+
+struct PRINTER_INFO_1
+{
+    DWORD Flags;
+    LPTSTR pDescription;
+    LPTSTR pName;
+    LPTSTR pComment;
+}
+
+alias PRINTER_INFO_1* LPPRINTER_INFO_1;
+alias PRINTER_INFO_1* PPRINTER_INFO_1;
+alias PRINTER_INFO_1 _PRINTER_INFO_1;
+alias PRINTER_INFO_1 TPRINTERINFO1;
+alias PRINTER_INFO_1* PPRINTERINFO1;
+
+struct PRINTER_INFO_2
+{
+    LPTSTR pServerName;
+    LPTSTR pPrinterName;
+    LPTSTR pShareName;
+    LPTSTR pPortName;
+    LPTSTR pDriverName;
+    LPTSTR pComment;
+    LPTSTR pLocation;
+    LPDEVMODE pDevMode;
+    LPTSTR pSepFile;
+    LPTSTR pPrintProcessor;
+    LPTSTR pDatatype;
+    LPTSTR pParameters;
+    PSECURITY_DESCRIPTOR pSecurityDescriptor;
+    DWORD Attributes;
+    DWORD Priority;
+    DWORD DefaultPriority;
+    DWORD StartTime;
+    DWORD UntilTime;
+    DWORD Status;
+    DWORD cJobs;
+    DWORD AveragePPM;
+}
+
+alias PRINTER_INFO_2 _PRINTER_INFO_2;
+alias PRINTER_INFO_2 TPRINTERINFO2;
+alias PRINTER_INFO_2* PPRINTERINFO2;
+
+struct PRINTER_INFO_3
+{
+    PSECURITY_DESCRIPTOR pSecurityDescriptor;
+}
+
+alias PRINTER_INFO_3 _PRINTER_INFO_3;
+alias PRINTER_INFO_3 TPRINTERINFO3;
+alias PRINTER_INFO_3* PPRINTERINFO3;
+
+struct PRINTER_INFO_4
+{
+    LPTSTR pPrinterName;
+    LPTSTR pServerName;
+    DWORD Attributes;
+}
+
+alias PRINTER_INFO_4 _PRINTER_INFO_4;
+alias PRINTER_INFO_4 TPRINTERINFO4;
+alias PRINTER_INFO_4* PPRINTERINFO4;
+
+struct PRINTER_INFO_5
+{
+    LPTSTR pPrinterName;
+    LPTSTR pPortName;
+    DWORD Attributes;
+    DWORD DeviceNotSelectedTimeout;
+    DWORD TransmissionRetryTimeout;
+}
+
+alias PRINTER_INFO_5 _PRINTER_INFO_5;
+alias PRINTER_INFO_5 TPRINTERINFO5;
+alias PRINTER_INFO_5* PPRINTERINFO5;
+
+struct PRINTER_NOTIFY_INFO_DATA
+{
+    ushort _Type;
+    ushort Field;
+    DWORD Reserved;
+    DWORD Id;
+
+    union
+    {
+        struct
+        {
+            DWORD[1 + 1] adwData;
+        }
+        struct
+        {
+            DWORD cbBuf;
+            LPVOID pBuf;
+        }
+    }
+}
+
+alias PRINTER_NOTIFY_INFO_DATA _PRINTER_NOTIFY_INFO_DATA;
+alias PRINTER_NOTIFY_INFO_DATA TPRINTERNOTIFYINFODATA;
+alias PRINTER_NOTIFY_INFO_DATA* PPRINTERNOTIFYINFODATA;
+
+struct PRINTER_NOTIFY_INFO
+{
+    DWORD Version;
+    DWORD Flags;
+    DWORD Count;
+    PRINTER_NOTIFY_INFO_DATA[1 + 0] aData;
+}
+
+alias PRINTER_NOTIFY_INFO _PRINTER_NOTIFY_INFO;
+alias PRINTER_NOTIFY_INFO TPRINTERNOTIFYINFO;
+alias PRINTER_NOTIFY_INFO* PPRINTERNOTIFYINFO;
+
+struct PRINTER_NOTIFY_OPTIONS_TYPE
+{
+    ushort _Type;
+    ushort Reserved0;
+    DWORD Reserved1;
+    DWORD Reserved2;
+    DWORD Count;
+    PWORD pFields;
+}
+
+alias PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTER_NOTIFY_OPTIONS_TYPE;
+alias PRINTER_NOTIFY_OPTIONS_TYPE _PRINTER_NOTIFY_OPTIONS_TYPE;
+alias PRINTER_NOTIFY_OPTIONS_TYPE TPRINTERNOTIFYOPTIONSTYPE;
+alias PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTERNOTIFYOPTIONSTYPE;
+
+struct PRINTER_NOTIFY_OPTIONS
+{
+    DWORD Version;
+    DWORD Flags;
+    DWORD Count;
+    PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
+}
+
+alias PRINTER_NOTIFY_OPTIONS _PRINTER_NOTIFY_OPTIONS;
+alias PRINTER_NOTIFY_OPTIONS TPRINTERNOTIFYOPTIONS;
+alias PRINTER_NOTIFY_OPTIONS* PPRINTERNOTIFYOPTIONS;
+
+struct PRINTPROCESSOR_INFO_1
+{
+    LPTSTR pName;
+}
+
+alias PRINTPROCESSOR_INFO_1 _PRINTPROCESSOR_INFO_1;
+alias PRINTPROCESSOR_INFO_1 TPRINTPROCESSORINFO1;
+alias PRINTPROCESSOR_INFO_1* PPRINTPROCESSORINFO1;
+
+struct PRIVILEGE_SET
+{
+    DWORD PrivilegeCount;
+    DWORD Control;
+    LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Privilege;
+}
+
+alias PRIVILEGE_SET* LPPRIVILEGE_SET;
+alias PRIVILEGE_SET* PPRIVILEGE_SET;
+alias PRIVILEGE_SET _PRIVILEGE_SET;
+alias PRIVILEGE_SET TPRIVILEGESET;
+alias PRIVILEGE_SET* PPRIVILEGESET;
+
+struct PROCESS_HEAPENTRY
+{
+    PVOID lpData;
+    DWORD cbData;
+    ubyte cbOverhead;
+    ubyte iRegionIndex;
+    ushort wFlags;
+    DWORD dwCommittedSize;
+    DWORD dwUnCommittedSize;
+    LPVOID lpFirstBlock;
+    LPVOID lpLastBlock;
+    HANDLE hMem;
+}
+
+alias PROCESS_HEAPENTRY* LPPROCESS_HEAP_ENTRY;
+alias PROCESS_HEAPENTRY _PROCESS_HEAP_ENTRY;
+alias PROCESS_HEAPENTRY TPROCESSHEAPENTRY;
+alias PROCESS_HEAPENTRY* PPROCESSHEAPENTRY;
+
+struct PROCESS_INFORMATION
+{
+    HANDLE hProcess;
+    HANDLE hThread;
+    DWORD dwProcessId;
+    DWORD dwThreadId;
+}
+
+alias PROCESS_INFORMATION* LPPROCESS_INFORMATION;
+alias PROCESS_INFORMATION _PROCESS_INFORMATION;
+alias PROCESS_INFORMATION TPROCESSINFORMATION;
+alias PROCESS_INFORMATION* PPROCESSINFORMATION;
+extern(Windows){alias UINT (*LPFNPSPCALLBACK)(HWND, UINT, LPVOID);}
+alias LPFNPSPCALLBACK TFNPSPCALLBACK;
+
+struct PROPSHEETPAGE_U1
+{
+
+    union
+    {
+        struct
+        {
+            LPCTSTR pszTemplate;
+        }
+        struct
+        {
+            LPCDLGTEMPLATE pResource;
+        }
+    }
+}
+
+
+struct PROPSHEETPAGE_U2
+{
+
+    union
+    {
+        struct
+        {
+            HICON hIcon;
+        }
+        struct
+        {
+            LPCTSTR pszIcon;
+        }
+    }
+}
+
+
+struct PROPSHEETPAGE
+{
+    DWORD dwSize;
+    DWORD dwFlags;
+    HINST hInstance;
+    PROPSHEETPAGE_U1 u1;
+    PROPSHEETPAGE_U2 u2;
+    LPCTSTR pszTitle;
+    DLGPROC pfnDlgProc;
+    LPARAM lParam;
+    LPFNPSPCALLBACK pfnCallback;
+    UINT* pcRefParent;
+}
+
+alias PROPSHEETPAGE* LPPROPSHEETPAGE;
+alias PROPSHEETPAGE* LPCPROPSHEETPAGE;
+alias PROPSHEETPAGE _PROPSHEETPAGE;
+alias PROPSHEETPAGE TPROPSHEETPAGE;
+alias PROPSHEETPAGE* PPROPSHEETPAGE;
+
+struct EMPTYRECORD
+{
+}
+
+alias EMPTYRECORD* HPROPSHEETPAGE;
+
+struct PROPSHEETHEADER_U1
+{
+
+    union
+    {
+        struct
+        {
+            HICON hIcon;
+        }
+        struct
+        {
+            LPCTSTR pszIcon;
+        }
+    }
+}
+
+
+struct PROPSHEETHEADER_U2
+{
+
+    union
+    {
+        struct
+        {
+            UINT nStartPage;
+        }
+        struct
+        {
+            LPCTSTR pStartPage;
+        }
+    }
+}
+
+
+struct PROPSHEETHEADER_U3
+{
+
+    union
+    {
+        struct
+        {
+            LPCPROPSHEETPAGE ppsp;
+        }
+        struct
+        {
+            HPROPSHEETPAGE* phpage;
+        }
+    }
+}
+
+
+struct PROPSHEETHEADER
+{
+    DWORD dwSize;
+    DWORD dwFlags;
+    HWND hwndParent;
+    HINST hInstance;
+    PROPSHEETHEADER_U1 u1;
+    LPCTSTR pszCaption;
+    UINT nPages;
+    PROPSHEETHEADER_U2 u2;
+    PROPSHEETHEADER_U3 u3;
+    PFNPROPSHEETCALLBACK pfnCallback;
+}
+
+alias PROPSHEETHEADER* LPPROPSHEETHEADER;
+alias PROPSHEETHEADER* LPCPROPSHEETHEADER;
+alias PROPSHEETHEADER _PROPSHEETHEADER;
+alias PROPSHEETHEADER TPROPSHEETHEADER;
+alias PROPSHEETHEADER* PPROPSHEETHEADER;
+extern(Windows){
+alias WINBOOL (*LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM);
+alias WINBOOL (*LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM);
+}
+alias LPFNADDPROPSHEETPAGE TFNADDPROPSHEETPAGE;
+alias LPFNADDPROPSHEETPAGES TFNADDPROPSHEETPAGES;
+
+struct PROTOCOL_INFO
+{
+    DWORD dwServiceFlags;
+    INT iAddressFamily;
+    INT iMaxSockAddr;
+    INT iMinSockAddr;
+    INT iSocketType;
+    INT iProtocol;
+    DWORD dwMessageSize;
+    LPTSTR lpProtocol;
+}
+
+alias PROTOCOL_INFO _PROTOCOL_INFO;
+alias PROTOCOL_INFO TPROTOCOLINFO;
+alias PROTOCOL_INFO* PPROTOCOLINFO;
+
+struct PROVIDOR_INFO_1
+{
+    LPTSTR pName;
+    LPTSTR pEnvironment;
+    LPTSTR pDLLName;
+}
+
+alias PROVIDOR_INFO_1 _PROVIDOR_INFO_1;
+alias PROVIDOR_INFO_1 TPROVIDORINFO1;
+alias PROVIDOR_INFO_1* PPROVIDORINFO1;
+
+struct PSHNOTIFY
+{
+    NMHDR hdr;
+    LPARAM lParam;
+}
+
+alias PSHNOTIFY* LPPSHNOTIFY;
+alias PSHNOTIFY _PSHNOTIFY;
+alias PSHNOTIFY TPSHNOTIFY;
+alias PSHNOTIFY* PPSHNOTIFY;
+
+struct PUNCTUATION
+{
+    UINT iSize;
+    LPSTR szPunctuation;
+}
+
+alias PUNCTUATION _PUNCTUATION;
+alias PUNCTUATION TPUNCTUATION;
+alias PUNCTUATION* PPUNCTUATION;
+
+struct QUERY_SERVICE_CONFIG
+{
+    DWORD dwServiceType;
+    DWORD dwStartType;
+    DWORD dwErrorControl;
+    LPTSTR lpBinaryPathName;
+    LPTSTR lpLoadOrderGroup;
+    DWORD dwTagId;
+    LPTSTR lpDependencies;
+    LPTSTR lpServiceStartName;
+    LPTSTR lpDisplayName;
+}
+
+alias QUERY_SERVICE_CONFIG* LPQUERY_SERVICE_CONFIG;
+alias QUERY_SERVICE_CONFIG _QUERY_SERVICE_CONFIG;
+alias QUERY_SERVICE_CONFIG TQUERYSERVICECONFIG;
+alias QUERY_SERVICE_CONFIG* PQUERYSERVICECONFIG;
+
+struct QUERY_SERVICE_LOCK_STATUS
+{
+    DWORD fIsLocked;
+    LPTSTR lpLockOwner;
+    DWORD dwLockDuration;
+}
+
+alias QUERY_SERVICE_LOCK_STATUS* LPQUERY_SERVICE_LOCK_STATUS;
+alias QUERY_SERVICE_LOCK_STATUS _QUERY_SERVICE_LOCK_STATUS;
+alias QUERY_SERVICE_LOCK_STATUS TQUERYSERVICELOCKSTATUS;
+alias QUERY_SERVICE_LOCK_STATUS* PQUERYSERVICELOCKSTATUS;
+
+struct RASAMB
+{
+    DWORD dwSize;
+    DWORD dwError;
+    TCHAR[1 + NETBIOS_NAME_LEN+1-1] szNetBiosError;
+    ubyte bLana;
+}
+
+alias RASAMB _RASAMB;
+alias RASAMB TRASAMB;
+alias RASAMB* PRASAMB;
+
+struct RASCONN
+{
+    DWORD dwSize;
+    HRASCONN hrasconn;
+    TCHAR[1 + RAS_MaxEntryName+1-1] szEntryName;
+    char[1 + RAS_MaxDeviceType+1-1] szDeviceType;
+    char[1 + RAS_MaxDeviceName+1-1] szDeviceName;
+}
+
+alias RASCONN _RASCONN;
+alias RASCONN TRASCONN;
+alias RASCONN* PRASCONN;
+
+struct RASCONNSTATUS
+{
+    DWORD dwSize;
+    RASCONNSTATE rasconnstate;
+    DWORD dwError;
+    TCHAR[1 + RAS_MaxDeviceType+1-1] szDeviceType;
+    TCHAR[1 + RAS_MaxDeviceName+1-1] szDeviceName;
+}
+
+alias RASCONNSTATUS _RASCONNSTATUS;
+alias RASCONNSTATUS TRASCONNSTATUS;
+alias RASCONNSTATUS* PRASCONNSTATUS;
+
+struct RASDIALEXTENSIONS
+{
+    DWORD dwSize;
+    DWORD dwfOptions;
+    HWND hwndParent;
+    DWORD reserved;
+}
+
+alias RASDIALEXTENSIONS _RASDIALEXTENSIONS;
+alias RASDIALEXTENSIONS TRASDIALEXTENSIONS;
+alias RASDIALEXTENSIONS* PRASDIALEXTENSIONS;
+
+struct RASDIALPARAMS
+{
+    DWORD dwSize;
+    TCHAR[1 + RAS_MaxEntryName+1-1] szEntryName;
+    TCHAR[1 + RAS_MaxPhoneNumber+1-1] szPhoneNumber;
+    TCHAR[1 + (RAS_MaxCallbackNumber+1)-1] szCallbackNumber;
+    TCHAR[1 + (UNLEN+1)-1] szUserName;
+    TCHAR[1 + (PWLEN+1)-1] szPassword;
+    TCHAR[1 + (DNLEN+1)-1] szDomain;
+}
+
+alias RASDIALPARAMS _RASDIALPARAMS;
+alias RASDIALPARAMS TRASDIALPARAMS;
+alias RASDIALPARAMS* PRASDIALPARAMS;
+
+struct RASENTRYNAME
+{
+    DWORD dwSize;
+    TCHAR[1 + (RAS_MaxEntryName+1)-1] szEntryName;
+}
+
+alias RASENTRYNAME _RASENTRYNAME;
+alias RASENTRYNAME TRASENTRYNAME;
+alias RASENTRYNAME* PRASENTRYNAME;
+
+struct RASPPPIP
+{
+    DWORD dwSize;
+    DWORD dwError;
+    TCHAR[1 + (RAS_MaxIpAddress+1)-1] szIpAddress;
+}
+
+alias RASPPPIP _RASPPPIP;
+alias RASPPPIP TRASPPPIP;
+alias RASPPPIP* PRASPPPIP;
+
+struct RASPPPIPX
+{
+    DWORD dwSize;
+    DWORD dwError;
+    TCHAR[1 + (RAS_MaxIpxAddress+1)-1] szIpxAddress;
+}
+
+alias RASPPPIPX _RASPPPIPX;
+alias RASPPPIPX TRASPPPIPX;
+alias RASPPPIPX* PRASPPPIPX;
+
+struct RASPPPNBF
+{
+    DWORD dwSize;
+    DWORD dwError;
+    DWORD dwNetBiosError;
+    TCHAR[1 + (NETBIOS_NAME_LEN+1)-1] szNetBiosError;
+    TCHAR[1 + (NETBIOS_NAME_LEN+1)-1] szWorkstationName;
+    ubyte bLana;
+}
+
+alias RASPPPNBF _RASPPPNBF;
+alias RASPPPNBF TRASPPPNBF;
+alias RASPPPNBF* PRASPPPNBF;
+
+struct RASTERIZER_STATUS
+{
+    int nSize;
+    int wFlags;
+    int nLanguageID;
+}
+
+alias RASTERIZER_STATUS* LPRASTERIZER_STATUS;
+alias RASTERIZER_STATUS _RASTERIZER_STATUS;
+alias RASTERIZER_STATUS TRASTERIZERSTATUS;
+alias RASTERIZER_STATUS* PRASTERIZERSTATUS;
+
+struct REASSIGN_BLOCKS
+{
+    ushort Reserved;
+    ushort Count;
+    DWORD[1 + 0] BlockNumber;
+}
+
+alias REASSIGN_BLOCKS _REASSIGN_BLOCKS;
+alias REASSIGN_BLOCKS TREASSIGNBLOCKS;
+alias REASSIGN_BLOCKS* PREASSIGNBLOCKS;
+
+struct REMOTE_NAME_INFO
+{
+    LPTSTR lpUniversalName;
+    LPTSTR lpConnectionName;
+    LPTSTR lpRemainingPath;
+}
+
+alias REMOTE_NAME_INFO _REMOTE_NAME_INFO;
+alias REMOTE_NAME_INFO TREMOTENAMEINFO;
+alias REMOTE_NAME_INFO* PREMOTENAMEINFO;
+
+struct REPASTESPECIAL
+{
+    DWORD dwAspect;
+    DWORD dwParam;
+}
+
+alias REPASTESPECIAL _REPASTESPECIAL;
+alias REPASTESPECIAL TREPASTESPECIAL;
+alias REPASTESPECIAL* PREPASTESPECIAL;
+
+struct REQRESIZE
+{
+    NMHDR nmhdr;
+    RECT rc;
+}
+
+alias REQRESIZE _REQRESIZE;
+alias REQRESIZE TREQRESIZE;
+alias REQRESIZE* PREQRESIZE;
+
+// struct RGNDATAHEADER
+// {
+//     DWORD dwSize;
+//     DWORD iType;
+//     DWORD nCount;
+//     DWORD nRgnSize;
+//     RECT rcBound;
+// }
+//
+// alias RGNDATAHEADER _RGNDATAHEADER;
+// alias RGNDATAHEADER TRGNDATAHEADER;
+// alias RGNDATAHEADER* PRGNDATAHEADER;
+
+struct RGNDATA
+{
+    RGNDATAHEADER rdh;
+    char[1 + 0] Buffer;
+}
+
+alias RGNDATA* LPRGNDATA;
+alias RGNDATA _RGNDATA;
+alias RGNDATA TRGNDATA;
+alias RGNDATA* PRGNDATA;
+
+struct SCROLLINFO
+{
+    UINT cbSize;
+    UINT fMask;
+    int nMin;
+    int nMax;
+    UINT nPage;
+    int nPos;
+    int nTrackPos;
+}
+
+alias SCROLLINFO* LPSCROLLINFO;
+alias SCROLLINFO* LPCSCROLLINFO;
+alias SCROLLINFO TAGSCROLLINFO;
+alias SCROLLINFO TSCROLLINFO;
+alias SCROLLINFO* PSCROLLINFO;
+
+struct SECURITY_ATTRIBUTES
+{
+    DWORD nLength;
+    LPVOID lpSecurityDescriptor;
+    WINBOOL bInheritHandle;
+}
+
+alias SECURITY_ATTRIBUTES* LPSECURITY_ATTRIBUTES;
+alias SECURITY_ATTRIBUTES _SECURITY_ATTRIBUTES;
+alias SECURITY_ATTRIBUTES TSECURITYATTRIBUTES;
+alias SECURITY_ATTRIBUTES* PSECURITYATTRIBUTES;
+alias DWORD SECURITY_INFORMATION;
+alias SECURITY_INFORMATION* PSECURITY_INFORMATION;
+alias SECURITY_INFORMATION TSECURITYINFORMATION;
+alias SECURITY_INFORMATION* PSECURITYINFORMATION;
+
+struct SELCHANGE
+{
+    NMHDR nmhdr;
+    CHARRANGE chrg;
+    ushort seltyp;
+}
+
+alias SELCHANGE _SELCHANGE;
+alias SELCHANGE TSELCHANGE;
+alias SELCHANGE* PSELCHANGE;
+
+struct SERIALKEYS
+{
+    DWORD cbSize;
+    DWORD dwFlags;
+    LPSTR lpszActivePort;
+    LPSTR lpszPort;
+    DWORD iBaudRate;
+    DWORD iPortState;
+}
+
+alias SERIALKEYS* LPSERIALKEYS;
+alias SERIALKEYS TAGSERIALKEYS;
+alias SERIALKEYS TSERIALKEYS;
+alias SERIALKEYS* PSERIALKEYS;
+
+struct SERVICE_TABLE_ENTRY
+{
+    LPTSTR lpServiceName;
+    LPSERVICE_MAIN_FUNCTION lpServiceProc;
+}
+
+alias SERVICE_TABLE_ENTRY* LPSERVICE_TABLE_ENTRY;
+alias SERVICE_TABLE_ENTRY _SERVICE_TABLE_ENTRY;
+alias SERVICE_TABLE_ENTRY TSERVICETABLEENTRY;
+alias SERVICE_TABLE_ENTRY* PSERVICETABLEENTRY;
+
+struct SERVICE_TYPE_VALUE_ABS
+{
+    DWORD dwNameSpace;
+    DWORD dwValueType;
+    DWORD dwValueSize;
+    LPTSTR lpValueName;
+    PVOID lpValue;
+}
+
+alias SERVICE_TYPE_VALUE_ABS _SERVICE_TYPE_VALUE_ABS;
+alias SERVICE_TYPE_VALUE_ABS TSERVICETYPEVALUEABS;
+alias SERVICE_TYPE_VALUE_ABS* PSERVICETYPEVALUEABS;
+
+struct SERVICE_TYPE_INFO_ABS
+{
+    LPTSTR lpTypeName;
+    DWORD dwValueCount;
+    SERVICE_TYPE_VALUE_ABS[1 + 0] Values;
+}
+
+alias SERVICE_TYPE_INFO_ABS _SERVICE_TYPE_INFO_ABS;
+alias SERVICE_TYPE_INFO_ABS TSERVICETYPEINFOABS;
+alias SERVICE_TYPE_INFO_ABS* PSERVICETYPEINFOABS;
+
+struct SESSION_BUFFER
+{
+    UCHAR lsn;
+    UCHAR state;
+    UCHAR[1 + NCBNAMSZ-1] local_name;
+    UCHAR[1 + NCBNAMSZ-1] remote_name;
+    UCHAR rcvs_outstanding;
+    UCHAR sends_outstanding;
+}
+
+alias SESSION_BUFFER _SESSION_BUFFER;
+alias SESSION_BUFFER TSESSIONBUFFER;
+alias SESSION_BUFFER* PSESSIONBUFFER;
+
+struct SESSION_HEADER
+{
+    UCHAR sess_name;
+    UCHAR num_sess;
+    UCHAR rcv_dg_outstanding;
+    UCHAR rcv_any_outstanding;
+}
+
+alias SESSION_HEADER _SESSION_HEADER;
+alias SESSION_HEADER TSESSIONHEADER;
+alias SESSION_HEADER* PSESSIONHEADER;
+
+struct SET_PARTITION_INFORMATION
+{
+    ubyte PartitionType;
+}
+
+alias SET_PARTITION_INFORMATION _SET_PARTITION_INFORMATION;
+alias SET_PARTITION_INFORMATION TSETPARTITIONINFORMATION;
+alias SET_PARTITION_INFORMATION* PSETPARTITIONINFORMATION;
+alias int SHCONTF;
+enum { SHCONTF_FOLDERS = 32, SHCONTF_NONFOLDERS = 64, SHCONTF_INCLUDEHIDDEN = 128,  };
+alias SHCONTF TAGSHCONTF;
+alias SHCONTF TSHCONTF;
+
+struct SHFILEINFO
+{
+    HICON hIcon;
+    int iIcon;
+    DWORD dwAttributes;
+    char[1 + MAX_PATH-1] szDisplayName;
+    char[1 + 79] szTypeName;
+}
+
+alias SHFILEINFO _SHFILEINFO;
+alias SHFILEINFO TSHFILEINFO;
+alias SHFILEINFO* PSHFILEINFO;
+alias ushort FILEOP_FLAGS;
+alias FILEOP_FLAGS TFILEOPFLAGS;
+alias FILEOP_FLAGS* PFILEOPFLAGS;
+
+struct SHFILEOPSTRUCT
+{
+    HWND hwnd;
+    UINT wFunc;
+    LPCSTR pFrom;
+    LPCSTR pTo;
+    FILEOP_FLAGS fFlags;
+    WINBOOL fAnyOperationsAborted;
+    LPVOID hNameMappings;
+    LPCSTR lpszProgressTitle;
+}
+
+alias SHFILEOPSTRUCT* LPSHFILEOPSTRUCT;
+alias SHFILEOPSTRUCT _SHFILEOPSTRUCT;
+alias SHFILEOPSTRUCT TSHFILEOPSTRUCT;
+alias SHFILEOPSTRUCT* PSHFILEOPSTRUCT;
+alias int SHGNO;
+enum { SHGDN_NORMAL = 0, SHGDN_INFOLDER = 1, SHGDN_FORPARSING = 0x8000,  };
+alias SHGNO TAGSHGDN;
+alias SHGNO TSHGDN;
+
+struct SHNAMEMAPPING
+{
+    LPSTR pszOldPath;
+    LPSTR pszNewPath;
+    int cchOldPath;
+    int cchNewPath;
+}
+
+alias SHNAMEMAPPING* LPSHNAMEMAPPING;
+alias SHNAMEMAPPING _SHNAMEMAPPING;
+alias SHNAMEMAPPING TSHNAMEMAPPING;
+alias SHNAMEMAPPING* PSHNAMEMAPPING;
+
+struct SID_AND_ATTRIBUTES
+{
+    PSID Sid;
+    DWORD Attributes;
+}
+
+alias SID_AND_ATTRIBUTES _SID_AND_ATTRIBUTES;
+alias SID_AND_ATTRIBUTES TSIDANDATTRIBUTES;
+alias SID_AND_ATTRIBUTES* PSIDANDATTRIBUTES;
+alias SID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] SID_AND_ATTRIBUTES_ARRAY;
+alias SID_AND_ATTRIBUTES_ARRAY* PSID_AND_ATTRIBUTES_ARRAY;
+alias SID_AND_ATTRIBUTES_ARRAY TSIDANDATTRIBUTESARRAY;
+alias SID_AND_ATTRIBUTES_ARRAY* PSIDANDATTRIBUTESARRAY;
+
+struct SINGLE_LIST_ENTRY
+{
+    _SINGLE_LIST_ENTRY* Next;
+}
+
+alias SINGLE_LIST_ENTRY _SINGLE_LIST_ENTRY;
+alias SINGLE_LIST_ENTRY TSINGLELISTENTRY;
+alias SINGLE_LIST_ENTRY* PSINGLELISTENTRY;
+
+struct SOUNDSENTRY
+{
+    UINT cbSize;
+    DWORD dwFlags;
+    DWORD iFSTextEffect;
+    DWORD iFSTextEffectMSec;
+    DWORD iFSTextEffectColorBits;
+    DWORD iFSGrafEffect;
+    DWORD iFSGrafEffectMSec;
+    DWORD iFSGrafEffectColor;
+    DWORD iWindowsEffect;
+    DWORD iWindowsEffectMSec;
+    LPTSTR lpszWindowsEffectDLL;
+    DWORD iWindowsEffectOrdinal;
+}
+
+alias SOUNDSENTRY* LPSOUNDSENTRY;
+alias SOUNDSENTRY TAGSOUNDSENTRY;
+alias SOUNDSENTRY TSOUNDSENTRY;
+alias SOUNDSENTRY* PSOUNDSENTRY;
+
+struct STARTUPINFO
+{
+    DWORD cb;
+    LPTSTR lpReserved;
+    LPTSTR lpDesktop;
+    LPTSTR lpTitle;
+    DWORD dwX;
+    DWORD dwY;
+    DWORD dwXSize;
+    DWORD dwYSize;
+    DWORD dwXCountChars;
+    DWORD dwYCountChars;
+    DWORD dwFillAttribute;
+    DWORD dwFlags;
+    ushort wShowWindow;
+    ushort cbReserved2;
+    LPBYTE lpReserved2;
+    HANDLE hStdInput;
+    HANDLE hStdOutput;
+    HANDLE hStdError;
+}
+
+alias STARTUPINFO* LPSTARTUPINFO;
+alias STARTUPINFO _STARTUPINFO;
+alias STARTUPINFO TSTARTUPINFO;
+alias STARTUPINFO* PSTARTUPINFO;
+
+struct STICKYKEYS
+{
+    DWORD cbSize;
+    DWORD dwFlags;
+}
+
+alias STICKYKEYS* LPSTICKYKEYS;
+alias STICKYKEYS TAGSTICKYKEYS;
+alias STICKYKEYS TSTICKYKEYS;
+alias STICKYKEYS* PSTICKYKEYS;
+
+struct STRRET
+{
+    UINT uType;
+
+    union
+    {
+        struct
+        {
+            LPWSTR pOleStr;
+        }
+        struct
+        {
+            UINT uOffset;
+        }
+        struct
+        {
+            char[1 + MAX_PATH-1] cStr;
+        }
+    }
+}
+
+alias STRRET* LPSTRRET;
+alias STRRET _STRRET;
+alias STRRET TSTRRET;
+alias STRRET* PSTRRET;
+
+struct STYLEBUF
+{
+    DWORD dwStyle;
+    char[1 + 31] szDescription;
+}
+
+alias STYLEBUF* LPSTYLEBUF;
+alias STYLEBUF _TAGSTYLEBUF;
+alias STYLEBUF TSTYLEBUF;
+alias STYLEBUF* PSTYLEBUF;
+
+struct STYLESTRUCT
+{
+    DWORD styleOld;
+    DWORD styleNew;
+}
+
+alias STYLESTRUCT* LPSTYLESTRUCT;
+alias STYLESTRUCT TAGSTYLESTRUCT;
+alias STYLESTRUCT TSTYLESTRUCT;
+alias STYLESTRUCT* PSTYLESTRUCT;
+
+struct SYSTEM_AUDIT_ACE
+{
+    ACE_HEADER Header;
+    ACCESS_MASK Mask;
+    DWORD SidStart;
+}
+
+alias SYSTEM_AUDIT_ACE _SYSTEM_AUDIT_ACE;
+alias SYSTEM_AUDIT_ACE TSYSTEMAUDITACE;
+alias SYSTEM_AUDIT_ACE* PSYSTEMAUDITACE;
+
+struct SYSTEM_INFO_U
+{
+
+    union
+    {
+        struct
+        {
+            DWORD dwOemId;
+        }
+        struct
+        {
+            ushort wProcessorArchitecture;
+            ushort wReserved;
+        }
+    }
+}
+
+
+struct SYSTEM_INFO
+{
+    SYSTEM_INFO_U u;
+    DWORD dwPageSize;
+    LPVOID lpMinimumApplicationAddress;
+    LPVOID lpMaximumApplicationAddress;
+    DWORD dwActiveProcessorMask;
+    DWORD dwNumberOfProcessors;
+    DWORD dwProcessorType;
+    DWORD dwAllocationGranularity;
+    ushort wProcessorLevel;
+    ushort wProcessorRevision;
+}
+
+alias SYSTEM_INFO* LPSYSTEM_INFO;
+alias SYSTEM_INFO _SYSTEM_INFO;
+alias SYSTEM_INFO TSYSTEMINFO;
+alias SYSTEM_INFO* PSYSTEMINFO;
+
+struct SYSTEM_POWER_STATUS
+{
+    ubyte ACLineStatus;
+    ubyte BatteryFlag;
+    ubyte BatteryLifePercent;
+    ubyte Reserved1;
+    DWORD BatteryLifeTime;
+    DWORD BatteryFullLifeTime;
+}
+
+alias SYSTEM_POWER_STATUS _SYSTEM_POWER_STATUS;
+alias SYSTEM_POWER_STATUS TSYSTEMPOWERSTATUS;
+alias SYSTEM_POWER_STATUS* PSYSTEMPOWERSTATUS;
+alias EMPTYRECORD* LPSYSTEM_POWER_STATUS;
+
+struct TAPE_ERASE
+{
+    ULONG _Type;
+}
+
+alias TAPE_ERASE _TAPE_ERASE;
+alias TAPE_ERASE TTAPEERASE;
+alias TAPE_ERASE* PTAPEERASE;
+
+struct TAPE_GET_DRIVE_PARAMETERS
+{
+    ubyte ECC;
+    ubyte Compression;
+    ubyte DataPadding;
+    ubyte ReportSetmarks;
+    ULONG DefaultBlockSize;
+    ULONG MaximumBlockSize;
+    ULONG MinimumBlockSize;
+    ULONG MaximumPartitionCount;
+    ULONG FeaturesLow;
+    ULONG FeaturesHigh;
+    ULONG EOTWarningZoneSize;
+}
+
+alias TAPE_GET_DRIVE_PARAMETERS _TAPE_GET_DRIVE_PARAMETERS;
+alias TAPE_GET_DRIVE_PARAMETERS TTAPEGETDRIVEPARAMETERS;
+alias TAPE_GET_DRIVE_PARAMETERS* PTAPEGETDRIVEPARAMETERS;
+
+struct TAPE_GET_MEDIA_PARAMETERS
+{
+    LARGE_INTEGER Capacity;
+    LARGE_INTEGER Remaining;
+    DWORD BlockSize;
+    DWORD PartitionCount;
+    ubyte WriteProtected;
+}
+
+alias TAPE_GET_MEDIA_PARAMETERS _TAPE_GET_MEDIA_PARAMETERS;
+alias TAPE_GET_MEDIA_PARAMETERS TTAPEGETMEDIAPARAMETERS;
+alias TAPE_GET_MEDIA_PARAMETERS* PTAPEGETMEDIAPARAMETERS;
+
+struct TAPE_GET_POSITION
+{
+    ULONG _Type;
+    ULONG Partition;
+    ULONG OffsetLow;
+    ULONG OffsetHigh;
+}
+
+alias TAPE_GET_POSITION _TAPE_GET_POSITION;
+alias TAPE_GET_POSITION TTAPEGETPOSITION;
+alias TAPE_GET_POSITION* PTAPEGETPOSITION;
+
+struct TAPE_PREPARE
+{
+    ULONG Operation;
+}
+
+alias TAPE_PREPARE _TAPE_PREPARE;
+alias TAPE_PREPARE TTAPEPREPARE;
+alias TAPE_PREPARE* PTAPEPREPARE;
+
+struct TAPE_SET_DRIVE_PARAMETERS
+{
+    ubyte ECC;
+    ubyte Compression;
+    ubyte DataPadding;
+    ubyte ReportSetmarks;
+    ULONG EOTWarningZoneSize;
+}
+
+alias TAPE_SET_DRIVE_PARAMETERS _TAPE_SET_DRIVE_PARAMETERS;
+alias TAPE_SET_DRIVE_PARAMETERS TTAPESETDRIVEPARAMETERS;
+alias TAPE_SET_DRIVE_PARAMETERS* PTAPESETDRIVEPARAMETERS;
+
+struct TAPE_SET_MEDIA_PARAMETERS
+{
+    ULONG BlockSize;
+}
+
+alias TAPE_SET_MEDIA_PARAMETERS _TAPE_SET_MEDIA_PARAMETERS;
+alias TAPE_SET_MEDIA_PARAMETERS TTAPESETMEDIAPARAMETERS;
+alias TAPE_SET_MEDIA_PARAMETERS* PTAPESETMEDIAPARAMETERS;
+
+struct TAPE_SET_POSITION
+{
+    ULONG Method;
+    ULONG Partition;
+    ULONG OffsetLow;
+    ULONG OffsetHigh;
+}
+
+alias TAPE_SET_POSITION _TAPE_SET_POSITION;
+alias TAPE_SET_POSITION TTAPESETPOSITION;
+alias TAPE_SET_POSITION* PTAPESETPOSITION;
+
+struct TAPE_WRITE_MARKS
+{
+    ULONG _Type;
+    ULONG Count;
+}
+
+alias TAPE_WRITE_MARKS _TAPE_WRITE_MARKS;
+alias TAPE_WRITE_MARKS TTAPEWRITEMARKS;
+alias TAPE_WRITE_MARKS* PTAPEWRITEMARKS;
+
+struct TBADDBITMAP
+{
+    HINST hInst;
+    UINT nID;
+}
+
+alias TBADDBITMAP* LPTBADDBITMAP;
+alias TBADDBITMAP TTBADDBITMAP;
+alias TBADDBITMAP* PTBADDBITMAP;
+
+// struct TBBUTTON
+// {
+//     int iBitmap;
+//     int idCommand;
+//     ubyte fsState;
+//     ubyte fsStyle;
+//     DWORD dwData;
+//     int iString;
+// }
+//
+// alias TBBUTTON* LPTBBUTTON;
+// alias TBBUTTON* LPCTBBUTTON;
+// alias TBBUTTON _TBBUTTON;
+// alias TBBUTTON TTBBUTTON;
+// alias TBBUTTON* PTBBUTTON;
+
+struct TBNOTIFY
+{
+    NMHDR hdr;
+    int iItem;
+    TBBUTTON tbButton;
+    int cchText;
+    LPTSTR pszText;
+}
+
+alias TBNOTIFY* LPTBNOTIFY;
+alias TBNOTIFY TTBNOTIFY;
+alias TBNOTIFY* PTBNOTIFY;
+
+struct TBSAVEPARAMS
+{
+    HKEY hkr;
+    LPCTSTR pszSubKey;
+    LPCTSTR pszValueName;
+}
+
+alias TBSAVEPARAMS TTBSAVEPARAMS;
+alias TBSAVEPARAMS* PTBSAVEPARAMS;
+
+struct TC_HITTESTINFO
+{
+    POINT pt;
+    UINT flags;
+}
+
+alias TC_HITTESTINFO _TC_HITTESTINFO;
+alias TC_HITTESTINFO TTCHITTESTINFO;
+alias TC_HITTESTINFO* PTCHITTESTINFO;
+
+struct TC_ITEM
+{
+    UINT mask;
+    UINT lpReserved1;
+    UINT lpReserved2;
+    LPTSTR pszText;
+    int cchTextMax;
+    int iImage;
+    LPARAM lParam;
+}
+
+alias TC_ITEM _TC_ITEM;
+alias TC_ITEM TTCITEM;
+alias TC_ITEM* PTCITEM;
+
+struct TC_ITEMHEADER
+{
+    UINT mask;
+    UINT lpReserved1;
+    UINT lpReserved2;
+    LPTSTR pszText;
+    int cchTextMax;
+    int iImage;
+}
+
+alias TC_ITEMHEADER _TC_ITEMHEADER;
+alias TC_ITEMHEADER TTCITEMHEADER;
+alias TC_ITEMHEADER* PTCITEMHEADER;
+
+struct TC_KEYDOWN
+{
+    NMHDR hdr;
+    ushort wVKey;
+    UINT flags;
+}
+
+alias TC_KEYDOWN _TC_KEYDOWN;
+alias TC_KEYDOWN TTCKEYDOWN;
+alias TC_KEYDOWN* PTCKEYDOWN;
+
+struct TEXTRANGE
+{
+    CHARRANGE chrg;
+    LPSTR lpstrText;
+}
+
+alias TEXTRANGE _TEXTRANGE;
+alias TEXTRANGE TTEXTRANGE;
+alias TEXTRANGE* PTEXTRANGE;
+
+struct TIME_ZONE_INFORMATION
+{
+    LONG Bias;
+    WCHAR[1 + 31] StandardName;
+    SYSTEMTIME StandardDate;
+    LONG StandardBias;
+    WCHAR[1 + 31] DaylightName;
+    SYSTEMTIME DaylightDate;
+    LONG DaylightBias;
+}
+
+alias TIME_ZONE_INFORMATION* LPTIME_ZONE_INFORMATION;
+alias TIME_ZONE_INFORMATION _TIME_ZONE_INFORMATION;
+alias TIME_ZONE_INFORMATION TTIMEZONEINFORMATION;
+alias TIME_ZONE_INFORMATION* PTIMEZONEINFORMATION;
+
+struct TOGGLEKEYS
+{
+    DWORD cbSize;
+    DWORD dwFlags;
+}
+
+alias TOGGLEKEYS TAGTOGGLEKEYS;
+alias TOGGLEKEYS TTOGGLEKEYS;
+alias TOGGLEKEYS* PTOGGLEKEYS;
+
+struct TOKEN_SOURCE
+{
+    char[1 + 7] SourceName;
+    LUID SourceIdentifier;
+}
+
+alias TOKEN_SOURCE _TOKEN_SOURCE;
+alias TOKEN_SOURCE TTOKENSOURCE;
+alias TOKEN_SOURCE* PTOKENSOURCE;
+
+struct TOKEN_CONTROL
+{
+    LUID TokenId;
+    LUID AuthenticationId;
+    LUID ModifiedId;
+    TOKEN_SOURCE TokenSource;
+}
+
+alias TOKEN_CONTROL _TOKEN_CONTROL;
+alias TOKEN_CONTROL TTOKENCONTROL;
+alias TOKEN_CONTROL* PTOKENCONTROL;
+
+struct TOKEN_DEFAULT_DACL
+{
+    PACL DefaultDacl;
+}
+
+alias TOKEN_DEFAULT_DACL _TOKEN_DEFAULT_DACL;
+alias TOKEN_DEFAULT_DACL TTOKENDEFAULTDACL;
+alias TOKEN_DEFAULT_DACL* PTOKENDEFAULTDACL;
+
+struct TOKEN_GROUPS
+{
+    DWORD GroupCount;
+    SID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Groups;
+}
+
+alias TOKEN_GROUPS* PTOKEN_GROUPS;
+alias TOKEN_GROUPS* LPTOKEN_GROUPS;
+alias TOKEN_GROUPS _TOKEN_GROUPS;
+alias TOKEN_GROUPS TTOKENGROUPS;
+alias TOKEN_GROUPS* PTOKENGROUPS;
+
+struct TOKEN_OWNER
+{
+    PSID Owner;
+}
+
+alias TOKEN_OWNER _TOKEN_OWNER;
+alias TOKEN_OWNER TTOKENOWNER;
+alias TOKEN_OWNER* PTOKENOWNER;
+
+struct TOKEN_PRIMARY_GROUP
+{
+    PSID PrimaryGroup;
+}
+
+alias TOKEN_PRIMARY_GROUP _TOKEN_PRIMARY_GROUP;
+alias TOKEN_PRIMARY_GROUP TTOKENPRIMARYGROUP;
+alias TOKEN_PRIMARY_GROUP* PTOKENPRIMARYGROUP;
+
+struct TOKEN_PRIVILEGES
+{
+    DWORD PrivilegeCount;
+    LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Privileges;
+}
+
+alias TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES;
+alias TOKEN_PRIVILEGES* LPTOKEN_PRIVILEGES;
+alias TOKEN_PRIVILEGES _TOKEN_PRIVILEGES;
+alias TOKEN_PRIVILEGES TTOKENPRIVILEGES;
+alias TOKEN_PRIVILEGES* PTOKENPRIVILEGES;
+
+struct TOKEN_STATISTICS
+{
+    LUID TokenId;
+    LUID AuthenticationId;
+    LARGE_INTEGER ExpirationTime;
+    TOKEN_TYPE TokenType;
+    SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
+    DWORD DynamicCharged;
+    DWORD DynamicAvailable;
+    DWORD GroupCount;
+    DWORD PrivilegeCount;
+    LUID ModifiedId;
+}
+
+alias TOKEN_STATISTICS _TOKEN_STATISTICS;
+alias TOKEN_STATISTICS TTOKENSTATISTICS;
+alias TOKEN_STATISTICS* PTOKENSTATISTICS;
+
+struct TOKEN_USER
+{
+    SID_AND_ATTRIBUTES User;
+}
+
+alias TOKEN_USER _TOKEN_USER;
+alias TOKEN_USER TTOKENUSER;
+alias TOKEN_USER* PTOKENUSER;
+
+struct TOOLINFO
+{
+    UINT cbSize;
+    UINT uFlags;
+    HWND hwnd;
+    UINT uId;
+    RECT rect;
+    HINST hinst;
+    LPWSTR lpszText;
+    LPARAM lParam;
+}
+
+alias TOOLINFO* LPTOOLINFO;
+alias TOOLINFO TTOOLINFO;
+alias TOOLINFO* PTOOLINFO;
+
+struct TOOLTIPTEXT
+{
+    NMHDR hdr;
+    LPTSTR lpszText;
+    char[1 + 79] szText;
+    HINST hinst;
+    UINT uFlags;
+}
+
+alias TOOLTIPTEXT* LPTOOLTIPTEXT;
+alias TOOLTIPTEXT TTOOLTIPTEXT;
+alias TOOLTIPTEXT* PTOOLTIPTEXT;
+
+struct TPMPARAMS
+{
+    UINT cbSize;
+    RECT rcExclude;
+}
+
+alias TPMPARAMS* LPTPMPARAMS;
+alias TPMPARAMS TAGTPMPARAMS;
+alias TPMPARAMS TTPMPARAMS;
+alias TPMPARAMS* PTPMPARAMS;
+
+struct TRANSMIT_FILE_BUFFERS
+{
+    PVOID Head;
+    DWORD HeadLength;
+    PVOID Tail;
+    DWORD TailLength;
+}
+
+alias TRANSMIT_FILE_BUFFERS _TRANSMIT_FILE_BUFFERS;
+alias TRANSMIT_FILE_BUFFERS TTRANSMITFILEBUFFERS;
+alias TRANSMIT_FILE_BUFFERS* PTRANSMITFILEBUFFERS;
+
+struct TTHITTESTINFO
+{
+    HWND hwnd;
+    POINT pt;
+    TOOLINFO ti;
+}
+
+alias TTHITTESTINFO* LPHITTESTINFO;
+alias TTHITTESTINFO _TT_HITTESTINFO;
+alias TTHITTESTINFO TTTHITTESTINFO;
+alias TTHITTESTINFO* PTTHITTESTINFO;
+
+struct TTPOLYCURVE
+{
+    ushort wType;
+    ushort cpfx;
+    POINTFX[1 + 0] apfx;
+}
+
+alias TTPOLYCURVE* LPTTPOLYCURVE;
+alias TTPOLYCURVE TAGTTPOLYCURVE;
+alias TTPOLYCURVE TTTPOLYCURVE;
+alias TTPOLYCURVE* PTTPOLYCURVE;
+
+struct TTPOLYGONHEADER
+{
+    DWORD cb;
+    DWORD dwType;
+    POINTFX pfxStart;
+}
+
+alias TTPOLYGONHEADER* LPTTPOLYGONHEADER;
+alias TTPOLYGONHEADER _TTPOLYGONHEADER;
+alias TTPOLYGONHEADER TTTPOLYGONHEADER;
+alias TTPOLYGONHEADER* PTTPOLYGONHEADER;
+
+// struct TV_DISPINFO
+// {
+//  NMHDR hdr;
+//  TV_ITEM item;
+// }
+//
+// alias TV_DISPINFO _TV_DISPINFO;
+// alias TV_DISPINFO TTVDISPINFO;
+// alias TV_DISPINFO* PTVDISPINFO;
+//
+// struct TV_HITTESTINFO
+// {
+//  POINT pt;
+//  UINT flags;
+//  HTREEITEM hItem;
+// }
+//
+// alias TV_HITTESTINFO* LPTV_HITTESTINFO;
+// alias TV_HITTESTINFO _TVHITTESTINFO;
+// alias TV_HITTESTINFO TTVHITTESTINFO;
+// alias TV_HITTESTINFO* PTVHITTESTINFO;
+//
+// struct TV_INSERTSTRUCT
+// {
+//  HTREEITEM hParent;
+//  HTREEITEM hInsertAfter;
+//  TV_ITEM item;
+// }
+//
+// alias TV_INSERTSTRUCT* LPTV_INSERTSTRUCT;
+// alias TV_INSERTSTRUCT _TV_INSERTSTRUCT;
+// alias TV_INSERTSTRUCT TTVINSERTSTRUCT;
+// alias TV_INSERTSTRUCT  TVINSERTSTRUCT;
+// alias TV_INSERTSTRUCT* PTVINSERTSTRUCT;
+//
+// struct TV_KEYDOWN
+// {
+//  NMHDR hdr;
+//  ushort wVKey;
+//  UINT flags;
+// }
+//
+// alias TV_KEYDOWN _TV_KEYDOWN;
+// alias TV_KEYDOWN TTVKEYDOWN;
+// alias TV_KEYDOWN* PTVKEYDOWN;
+//
+// struct TV_SORTCB
+// {
+//  HTREEITEM hParent;
+//  PFNTVCOMPARE lpfnCompare;
+//  LPARAM lParam;
+// }
+//
+// alias TV_SORTCB* LPTV_SORTCB;
+// alias TV_SORTCB _TV_SORTCB;
+// alias TV_SORTCB TTVSORTCB;
+// alias TV_SORTCB* PTVSORTCB;
+
+struct UDACCEL
+{
+    UINT nSec;
+    UINT nInc;
+}
+
+alias UDACCEL TUDACCEL;
+alias UDACCEL* PUDACCEL;
+
+// struct ULARGE_INTEGER
+// {
+//     DWORD LowPart;
+//     DWORD HighPart;
+// }
+//
+// alias ULARGE_INTEGER* PULARGE_INTEGER;
+// alias ULARGE_INTEGER _ULARGE_INTEGER;
+// alias ULARGE_INTEGER TULARGEINTEGER;
+// alias ULARGE_INTEGER* PULARGEINTEGER;
+
+struct UNIVERSAL_NAME_INFO
+{
+    LPTSTR lpUniversalName;
+}
+
+alias UNIVERSAL_NAME_INFO _UNIVERSAL_NAME_INFO;
+alias UNIVERSAL_NAME_INFO TUNIVERSALNAMEINFO;
+alias UNIVERSAL_NAME_INFO* PUNIVERSALNAMEINFO;
+
+struct USEROBJECTFLAGS
+{
+    WINBOOL fInherit;
+    WINBOOL fReserved;
+    DWORD dwFlags;
+}
+
+alias USEROBJECTFLAGS TAGUSEROBJECTFLAGS;
+alias USEROBJECTFLAGS TUSEROBJECTFLAGS;
+alias USEROBJECTFLAGS* PUSEROBJECTFLAGS;
+
+struct VALENT
+{
+    LPTSTR ve_valuename;
+    DWORD ve_valuelen;
+    DWORD ve_valueptr;
+    DWORD ve_type;
+}
+
+alias VALENT TVALENT;
+alias VALENT* PVALENT;
+alias VALENT VALUE_ENT;
+alias VALENT TVALUE_ENT;
+alias VALENT* PVALUE_ENT;
+
+struct VERIFY_INFORMATION
+{
+    LARGE_INTEGER StartingOffset;
+    DWORD Length;
+}
+
+alias VERIFY_INFORMATION _VERIFY_INFORMATION;
+alias VERIFY_INFORMATION TVERIFYINFORMATION;
+alias VERIFY_INFORMATION* PVERIFYINFORMATION;
+
+struct VS_FIXEDFILEINFO
+{
+    DWORD 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;
+}
+
+alias VS_FIXEDFILEINFO _VS_FIXEDFILEINFO;
+alias VS_FIXEDFILEINFO TVSFIXEDFILEINFO;
+alias VS_FIXEDFILEINFO* PVSFIXEDFILEINFO;
+
+struct WIN32_FIND_DATA
+{
+    DWORD dwFileAttributes;
+    FILETIME ftCreationTime;
+    FILETIME ftLastAccessTime;
+    FILETIME ftLastWriteTime;
+    DWORD nFileSizeHigh;
+    DWORD nFileSizeLow;
+    DWORD dwReserved0;
+    DWORD dwReserved1;
+    TCHAR[1 + MAX_PATH-1] cFileName;
+    TCHAR[1 + 13] cAlternateFileName;
+}
+
+alias WIN32_FIND_DATA* LPWIN32_FIND_DATA;
+alias WIN32_FIND_DATA* PWIN32_FIND_DATA;
+alias WIN32_FIND_DATA _WIN32_FIND_DATA;
+alias WIN32_FIND_DATA TWIN32FINDDATA;
+alias WIN32_FIND_DATA TWIN32FINDDATAA;
+alias WIN32_FIND_DATA* PWIN32FINDDATA;
+
+struct WIN32_FIND_DATAW {
+    DWORD dwFileAttributes;
+    FILETIME ftCreationTime;
+    FILETIME ftLastAccessTime;
+    FILETIME ftLastWriteTime;
+    DWORD nFileSizeHigh;
+    DWORD nFileSizeLow;
+    DWORD dwReserved0;
+    DWORD dwReserved1;
+    WCHAR  cFileName[MAX_PATH];
+    WCHAR  cAlternateFileName[14];
+}
+
+alias WIN32_FIND_DATAW* LPWIN32_FIND_DATAW;
+alias WIN32_FIND_DATAW* PWIN32_FIND_DATAW;
+
+struct WIN32_FILE_ATTRIBUTE_DATA {
+  DWORD dwFileAttributes;
+  FILETIME ftCreationTime;
+  FILETIME ftLastAccessTime;
+  FILETIME ftLastWriteTime;
+  DWORD nFileSizeHigh;
+  DWORD nFileSizeLow;
+}
+
+enum {
+    GetFileInfoLevelStandard,
+    GetFileInfoLevelMax
+}
+
+struct WIN32_STREAM_ID
+{
+    DWORD dwStreamId;
+    DWORD dwStreamAttributes;
+    LARGE_INTEGER Size;
+    DWORD dwStreamNameSize;
+    WCHAR* cStreamName;
+}
+
+alias WIN32_STREAM_ID _WIN32_STREAM_ID;
+alias WIN32_STREAM_ID TWIN32STREAMID;
+alias WIN32_STREAM_ID* PWIN32STREAMID;
+
+struct WINDOWPLACEMENT
+{
+    UINT length;
+    UINT flags;
+    UINT showCmd;
+    POINT ptMinPosition;
+    POINT ptMaxPosition;
+    RECT rcNormalPosition;
+}
+
+alias WINDOWPLACEMENT _WINDOWPLACEMENT;
+alias WINDOWPLACEMENT TWINDOWPLACEMENT;
+alias WINDOWPLACEMENT* PWINDOWPLACEMENT;
+
+struct WNDCLASSA {
+    UINT style;
+    WNDPROC lpfnWndProc;
+    int cbClsExtra;
+    int cbWndExtra;
+    HANDLE hInstance;
+    HICON hIcon;
+    HCURSOR hCursor;
+    HBRUSH hbrBackground;
+    LPCTSTR lpszMenuName;
+    LPCTSTR lpszClassName;
+}
+
+alias WNDCLASSA* PWNDCLASSA, LPWNDCLASSA;
+
+struct WNDCLASSW {
+    UINT        style;
+    WNDPROC     lpfnWndProc;
+    int         cbClsExtra;
+    int         cbWndExtra;
+    HINSTANCE   hInstance;
+    HICON       hIcon;
+    HCURSOR     hCursor;
+    HBRUSH      hbrBackground;
+    LPCWSTR     lpszMenuName;
+    LPCWSTR     lpszClassName;
+};
+
+alias WNDCLASSW* PWNDCLASSW, LPWNDCLASSW;
+
+// since phobos has alias WNDCLASSA to WNDCLASS, we have to alias it another name
+version(ANSI){
+    alias WNDCLASSA WNDCLASS;
+}else{
+    alias WNDCLASSW WNDCLASS;
+}
+
+alias WNDCLASS* LPWNDCLASS;
+alias WNDCLASS _WNDCLASS;
+alias WNDCLASS TWNDCLASS;
+alias WNDCLASS WNDCLASS_T;
+
+struct WNDCLASSEX
+{
+    UINT cbSize;
+    UINT style;
+    WNDPROC lpfnWndProc;
+    int cbClsExtra;
+    int cbWndExtra;
+    HANDLE hInstance;
+    HICON hIcon;
+    HCURSOR hCursor;
+    HBRUSH hbrBackground;
+    LPCTSTR lpszMenuName;
+    LPCTSTR lpszClassName;
+    HANDLE hIconSm;
+}
+
+alias WNDCLASSEX* LPWNDCLASSEX;
+alias WNDCLASSEX _WNDCLASSEX;
+alias WNDCLASSEX TWNDCLASSEX;
+alias WNDCLASSEX TWNDCLASSEXA;
+alias WNDCLASSEX* PWNDCLASSEX;
+
+struct CONNECTDLGSTRUCT
+{
+    DWORD cbStructure;
+    HWND hwndOwner;
+    LPNETRESOURCE lpConnRes;
+    DWORD dwFlags;
+    DWORD dwDevNum;
+}
+
+alias CONNECTDLGSTRUCT* LPCONNECTDLGSTRUCT;
+alias CONNECTDLGSTRUCT _CONNECTDLGSTRUCT;
+alias CONNECTDLGSTRUCT TCONNECTDLGSTRUCT;
+alias CONNECTDLGSTRUCT* PCONNECTDLGSTRUCT;
+
+struct DISCDLGSTRUCT
+{
+    DWORD cbStructure;
+    HWND hwndOwner;
+    LPTSTR lpLocalName;
+    LPTSTR lpRemoteName;
+    DWORD dwFlags;
+}
+
+alias DISCDLGSTRUCT* LPDISCDLGSTRUCT;
+alias DISCDLGSTRUCT _DISCDLGSTRUCT;
+alias DISCDLGSTRUCT TDISCDLGSTRUCT;
+alias DISCDLGSTRUCT TDISCDLGSTRUCTA;
+alias DISCDLGSTRUCT* PDISCDLGSTRUCT;
+
+struct NETINFOSTRUCT
+{
+    DWORD cbStructure;
+    DWORD dwProviderVersion;
+    DWORD dwStatus;
+    DWORD dwCharacteristics;
+    DWORD dwHandle;
+    ushort wNetType;
+    DWORD dwPrinters;
+    DWORD dwDrives;
+}
+
+alias NETINFOSTRUCT* LPNETINFOSTRUCT;
+alias NETINFOSTRUCT _NETINFOSTRUCT;
+alias NETINFOSTRUCT TNETINFOSTRUCT;
+alias NETINFOSTRUCT* PNETINFOSTRUCT;
+
+struct NETCONNECTINFOSTRUCT
+{
+    DWORD cbStructure;
+    DWORD dwFlags;
+    DWORD dwSpeed;
+    DWORD dwDelay;
+    DWORD dwOptDataSize;
+}
+
+alias NETCONNECTINFOSTRUCT* LPNETCONNECTINFOSTRUCT;
+alias NETCONNECTINFOSTRUCT _NETCONNECTINFOSTRUCT;
+alias NETCONNECTINFOSTRUCT TNETCONNECTINFOSTRUCT;
+alias NETCONNECTINFOSTRUCT* PNETCONNECTINFOSTRUCT;
+extern(Windows){
+alias int (*ENUMMETAFILEPROC)(HDC, HANDLETABLE, METARECORD, int, LPARAM);
+alias int (*ENHMETAFILEPROC)(HDC, HANDLETABLE, ENHMETARECORD, int, LPARAM);
+alias int (*ENUMFONTSPROC)(LPLOGFONT, LPTEXTMETRIC, DWORD, LPARAM);
+alias int (*FONTENUMPROC)(ENUMLOGFONT*, NEWTEXTMETRIC*, int, LPARAM);
+alias int (*FONTENUMEXPROC)(ENUMLOGFONTEX*, NEWTEXTMETRICEX*, int, LPARAM);
+alias void (*LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD, DWORD);
+}
+
+struct POINTFLOAT
+{
+    FLOAT x;
+    FLOAT y;
+}
+
+alias POINTFLOAT _POINTFLOAT;
+alias POINTFLOAT TPOINTFLOAT;
+alias POINTFLOAT* PPOINTFLOAT;
+
+struct GLYPHMETRICSFLOAT
+{
+    FLOAT gmfBlackBoxX;
+    FLOAT gmfBlackBoxY;
+    POINTFLOAT gmfptGlyphOrigin;
+    FLOAT gmfCellIncX;
+    FLOAT gmfCellIncY;
+}
+
+alias GLYPHMETRICSFLOAT* LPGLYPHMETRICSFLOAT;
+alias GLYPHMETRICSFLOAT _GLYPHMETRICSFLOAT;
+alias GLYPHMETRICSFLOAT TGLYPHMETRICSFLOAT;
+alias GLYPHMETRICSFLOAT* PGLYPHMETRICSFLOAT;
+
+struct LAYERPLANEDESCRIPTOR
+{
+    ushort nSize;
+    ushort nVersion;
+    DWORD dwFlags;
+    ubyte iPixelType;
+    ubyte cColorBits;
+    ubyte cRedBits;
+    ubyte cRedShift;
+    ubyte cGreenBits;
+    ubyte cGreenShift;
+    ubyte cBlueBits;
+    ubyte cBlueShift;
+    ubyte cAlphaBits;
+    ubyte cAlphaShift;
+    ubyte cAccumBits;
+    ubyte cAccumRedBits;
+    ubyte cAccumGreenBits;
+    ubyte cAccumBlueBits;
+    ubyte cAccumAlphaBits;
+    ubyte cDepthBits;
+    ubyte cStencilBits;
+    ubyte cAuxBuffers;
+    ubyte iLayerPlane;
+    ubyte bReserved;
+    COLORREF crTransparent;
+}
+
+alias LAYERPLANEDESCRIPTOR* LPLAYERPLANEDESCRIPTOR;
+alias LAYERPLANEDESCRIPTOR TAGLAYERPLANEDESCRIPTOR;
+alias LAYERPLANEDESCRIPTOR TLAYERPLANEDESCRIPTOR;
+alias LAYERPLANEDESCRIPTOR* PLAYERPLANEDESCRIPTOR;
+
+struct PIXELFORMATDESCRIPTOR
+{
+    ushort nSize;
+    ushort nVersion;
+    DWORD dwFlags;
+    ubyte iPixelType;
+    ubyte cColorBits;
+    ubyte cRedBits;
+    ubyte cRedShift;
+    ubyte cGreenBits;
+    ubyte cGreenShift;
+    ubyte cBlueBits;
+    ubyte cBlueShift;
+    ubyte cAlphaBits;
+    ubyte cAlphaShift;
+    ubyte cAccumBits;
+    ubyte cAccumRedBits;
+    ubyte cAccumGreenBits;
+    ubyte cAccumBlueBits;
+    ubyte cAccumAlphaBits;
+    ubyte cDepthBits;
+    ubyte cStencilBits;
+    ubyte cAuxBuffers;
+    ubyte iLayerType;
+    ubyte bReserved;
+    DWORD dwLayerMask;
+    DWORD dwVisibleMask;
+    DWORD dwDamageMask;
+}
+
+alias PIXELFORMATDESCRIPTOR* LPPIXELFORMATDESCRIPTOR;
+alias PIXELFORMATDESCRIPTOR TAGPIXELFORMATDESCRIPTOR;
+alias PIXELFORMATDESCRIPTOR TPIXELFORMATDESCRIPTOR;
+alias PIXELFORMATDESCRIPTOR* PPIXELFORMATDESCRIPTOR;
+
+struct USER_INFO_2
+{
+    LPWSTR usri2_name;
+    LPWSTR usri2_password;
+    DWORD usri2_password_age;
+    DWORD usri2_priv;
+    LPWSTR usri2_home_dir;
+    LPWSTR usri2_comment;
+    DWORD usri2_flags;
+    LPWSTR usri2_script_path;
+    DWORD usri2_auth_flags;
+    LPWSTR usri2_full_name;
+    LPWSTR usri2_usr_comment;
+    LPWSTR usri2_parms;
+    LPWSTR usri2_workstations;
+    DWORD usri2_last_logon;
+    DWORD usri2_last_logoff;
+    DWORD usri2_acct_expires;
+    DWORD usri2_max_storage;
+    DWORD usri2_units_per_week;
+    PBYTE usri2_logon_hours;
+    DWORD usri2_bad_pw_count;
+    DWORD usri2_num_logons;
+    LPWSTR usri2_logon_server;
+    DWORD usri2_country_code;
+    DWORD usri2_code_page;
+}
+
+alias USER_INFO_2* PUSER_INFO_2;
+alias USER_INFO_2* LPUSER_INFO_2;
+alias USER_INFO_2 TUSERINFO2;
+alias USER_INFO_2* PUSERINFO2;
+
+struct USER_INFO_0
+{
+    LPWSTR usri0_name;
+}
+
+alias USER_INFO_0* PUSER_INFO_0;
+alias USER_INFO_0* LPUSER_INFO_0;
+alias USER_INFO_0 TUSERINFO0;
+alias USER_INFO_0* PUSERINFO0;
+
+struct USER_INFO_3
+{
+    LPWSTR usri3_name;
+    LPWSTR usri3_password;
+    DWORD usri3_password_age;
+    DWORD usri3_priv;
+    LPWSTR usri3_home_dir;
+    LPWSTR usri3_comment;
+    DWORD usri3_flags;
+    LPWSTR usri3_script_path;
+    DWORD usri3_auth_flags;
+    LPWSTR usri3_full_name;
+    LPWSTR usri3_usr_comment;
+    LPWSTR usri3_parms;
+    LPWSTR usri3_workstations;
+    DWORD usri3_last_logon;
+    DWORD usri3_last_logoff;
+    DWORD usri3_acct_expires;
+    DWORD usri3_max_storage;
+    DWORD usri3_units_per_week;
+    PBYTE usri3_logon_hours;
+    DWORD usri3_bad_pw_count;
+    DWORD usri3_num_logons;
+    LPWSTR usri3_logon_server;
+    DWORD usri3_country_code;
+    DWORD usri3_code_page;
+    DWORD usri3_user_id;
+    DWORD usri3_primary_group_id;
+    LPWSTR usri3_profile;
+    LPWSTR usri3_home_dir_drive;
+    DWORD usri3_password_expired;
+}
+
+alias USER_INFO_3* PUSER_INFO_3;
+alias USER_INFO_3* LPUSER_INFO_3;
+alias USER_INFO_3 TUSERINFO3;
+alias USER_INFO_3* PUSERINFO3;
+
+struct GROUP_INFO_2
+{
+    LPWSTR grpi2_name;
+    LPWSTR grpi2_comment;
+    DWORD grpi2_group_id;
+    DWORD grpi2_attributes;
+}
+
+alias GROUP_INFO_2* PGROUP_INFO_2;
+alias GROUP_INFO_2 TGROUPINFO2;
+alias GROUP_INFO_2* PGROUPINFO2;
+
+struct LOCALGROUP_INFO_0
+{
+    LPWSTR lgrpi0_name;
+}
+
+alias LOCALGROUP_INFO_0* PLOCALGROUP_INFO_0;
+alias LOCALGROUP_INFO_0* LPLOCALGROUP_INFO_0;
+alias LOCALGROUP_INFO_0 TLOCALGROUPINFO0;
+alias LOCALGROUP_INFO_0* PLOCALGROUPINFO0;
+
+struct IMAGE_DOS_HEADER
+{
+    ushort e_magic;
+    ushort e_cblp;
+    ushort e_cp;
+    ushort e_crlc;
+    ushort e_cparhdr;
+    ushort e_minalloc;
+    ushort e_maxalloc;
+    ushort e_ss;
+    ushort e_sp;
+    ushort e_csum;
+    ushort e_ip;
+    ushort e_cs;
+    ushort e_lfarlc;
+    ushort e_ovno;
+    ushort[1 + 3] e_res;
+    ushort e_oemid;
+    ushort e_oeminfo;
+    ushort[1 + 9] e_res2;
+    LONG e_lfanew;
+}
+
+alias IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER;
+alias IMAGE_DOS_HEADER TIMAGEDOSHEADER;
+alias IMAGE_DOS_HEADER* PIMAGEDOSHEADER;
+alias ushort TVARTYPE;
+alias TVARIANT* PVARIANT;
+
+struct TVARIANT
+{
+    TVARTYPE vt;
+    ushort wReserved1;
+    ushort wReserved2;
+    ushort wReserved3;
+
+    union
+    {
+        struct
+        {
+            ubyte bVal;
+        }
+        struct
+        {
+            byte iVal;
+        }
+        struct
+        {
+            int lVal;
+        }
+        struct
+        {
+            float fltVal;
+        }
+        struct
+        {
+            double dblVal;
+        }
+        struct
+        {
+            ushort vbool;
+        }
+        struct
+        {
+            HRESULT scode;
+        }
+        struct
+        {
+            ubyte* pbVal;
+        }
+        struct
+        {
+            byte* piVal;
+        }
+        struct
+        {
+            int* plVal;
+        }
+        struct
+        {
+            float* pfltVal;
+        }
+        struct
+        {
+            double* pdblVal;
+        }
+        struct
+        {
+            ushort* pbool;
+        }
+        struct
+        {
+            HRESULT* pscode;
+        }
+        struct
+        {
+            POINTER byRef;
+        }
+    }
+}
+
+alias TVARIANT VARIANT;
+alias int MMRESULT;
+alias TWAVEFORMATEX* PWAVEFORMATEX;
+
+align(1) struct TWAVEFORMATEX
+{
+    ushort wFormatTag;
+    ushort nChannels;
+    DWORD nSamplesPerSec;
+    DWORD nAvgBytesPerSec;
+    ushort nBlockAlign;
+    ushort wBitsPerSample;
+    ushort cbSize;
+}
+
+alias CRITICAL_SECTION TRTLCRITICALSECTION;
+alias PCRITICAL_SECTION PRTLCRITICALSECTION;
+alias PGUID PIID;
+alias TGUID TIID;
+alias HANDLE THANDLE;
+alias TSMALLRECT* PSMALLRECT;
+alias SMALL_RECT TSMALLRECT;
+alias TCHARINFO* PCHARINFO;
+alias _CHAR_INFO TCHARINFO;
+alias POINTER TFARPROC;
+alias POINTER TFNDLGPROC;
+alias POINTER TFNTHREADSTARTROUTINE;
+
+struct _OBJECT_TYPE_LIST
+{
+    ushort Level;
+    ushort Sbz;
+    PGUID ObjectType;
+}
+
+alias _OBJECT_TYPE_LIST TOBJECTTYPELIST;
+alias TOBJECTTYPELIST* POBJECTTYPELIST;
+alias _OBJECT_TYPE_LIST OBJECT_TYPE_LIST;
+alias DWORD AUDIT_EVENT_TYPE;
+
+align(1) struct _BLENDFUNCTION
+{
+    ubyte BlendOp;
+    ubyte BlendFlags;
+    ubyte SourceConstantAlpha;
+    ubyte AlphaFormat;
+}
+
+alias _BLENDFUNCTION TBLENDFUNCTION;
+alias TBLENDFUNCTION* PBLENDFUNCTION;
+alias _BLENDFUNCTION BLENDFUNCTION;
+
+alias HANDLE HMONITOR;
+
+struct tagMONITORINFOEX
+{
+    DWORD  cbSize;
+    RECT   rcMonitor;
+    RECT   rcWork;
+    DWORD  dwFlags;
+    TCHAR  szDevice[CCHDEVICENAME];
+}
+alias tagMONITORINFOEX MONITORINFOEX;
+alias MONITORINFOEX* LPMONITORINFOEX;
+
+struct tagMONITORINFO
+{
+    DWORD  cbSize;
+    RECT   rcMonitor;
+    RECT   rcWork;
+    DWORD  dwFlags;
+}
+alias tagMONITORINFO MONITORINFO;
+alias MONITORINFO* LPMONITORINFO;
+
+struct WINDOWINFO
+{
+    DWORD cbSize;
+    RECT rcWindow;
+    RECT rcClient;
+    DWORD dwStyle;
+    DWORD dwExStyle;
+    DWORD dwWindowStatus;
+    UINT cxWindowBorders;
+    UINT cyWindowBorders;
+    ATOM atomWindowType;
+    short wCreatorVersion;
+};
+alias WINDOWINFO* PWINDOWINFO;
+alias WINDOWINFO* LPWINDOWINFO;
+
+/*
+int S_OK = (0x00000000);
+int S_FALSE = (0x00000001);
+int NOERROR = (0);
+int E_UNEXPECTED = (DWORD)((0x8000FFFF));
+int E_NOTIMPL = (DWORD)((0x80004001));
+int E_OUTOFMEMORY = (DWORD)((0x8007000E));
+int E_INVALIDARG = (DWORD)((0x80070057));
+int E_NOINTERFACE = (DWORD)((0x80004002));
+int E_POINTER = (DWORD)((0x80004003));
+int E_HANDLE = (DWORD)((0x80070006));
+int E_ABORT = (DWORD)((0x80004004));
+int E_FAIL = (DWORD)((0x80004005));
+int E_ACCESSDENIED = (DWORD)((0x80070005));
+int E_PENDING = (DWORD)((0x8000000A));
+int CO_E_INIT_TLS = (DWORD)((0x80004006));
+int CO_E_INIT_MEMORY_ALLOCATOR = (DWORD)((0x80004008));
+int CO_E_INIT_CLASS_CACHE = (DWORD)((0x80004009));
+int CO_E_INIT_RPC_CHANNEL = (DWORD)((0x8000400A));
+int CO_E_INIT_TLS_SET_CHANNEL_CONTROL = (DWORD)((0x8000400B));
+int CO_E_INIT_TLS_CHANNEL_CONTROL = (DWORD)((0x8000400C));
+int CO_E_INIT_UNACCEPTED_USER_ALLOCATOR = (DWORD)((0x8000400D));
+int CO_E_INIT_SCM_MUTEX_EXISTS = (DWORD)((0x8000400E));
+int CO_E_INIT_SCM_FILE_MAPPING_EXISTS = (DWORD)((0x8000400F));
+int CO_E_INIT_SCM_MAP_VIEW_OF_FILE = (DWORD)((0x80004010));
+int CO_E_INIT_SCM_EXEC_FAILURE = (DWORD)((0x80004011));
+int CO_E_INIT_ONLY_SINGLE_THREADED = (DWORD)((0x80004012));
+int CO_E_CANT_REMOTE = (DWORD)((0x80004013));
+int CO_E_BAD_SERVER_NAME = (DWORD)((0x80004014));
+int CO_E_WRONG_SERVER_IDENTITY = (DWORD)((0x80004015));
+int CO_E_OLE1DDE_DISABLED = (DWORD)((0x80004016));
+int CO_E_RUNAS_SYNTAX = (DWORD)((0x80004017));
+int CO_E_CREATEPROCESS_FAILURE = (DWORD)((0x80004018));
+int CO_E_RUNAS_CREATEPROCESS_FAILURE = (DWORD)((0x80004019));
+int CO_E_RUNAS_LOGON_FAILURE = (DWORD)((0x8000401A));
+int CO_E_LAUNCH_PERMSSION_DENIED = (DWORD)((0x8000401B));
+int CO_E_START_SERVICE_FAILURE = (DWORD)((0x8000401C));
+int CO_E_REMOTE_COMMUNICATION_FAILURE = (DWORD)((0x8000401D));
+int CO_E_SERVER_START_TIMEOUT = (DWORD)((0x8000401E));
+int CO_E_CLSREG_INCONSISTENT = (DWORD)((0x8000401F));
+int CO_E_IIDREG_INCONSISTENT = (DWORD)((0x80004020));
+int CO_E_NOT_SUPPORTED = (DWORD)((0x80004021));
+int CO_E_FIRST = (DWORD)((0x800401F0));
+int CO_E_LAST = (DWORD)((0x800401FF));
+int CO_S_FIRST = (0x401F0);
+int CO_E_NOTINITIALIZED = (DWORD)((0x800401F0));
+int CO_E_ALREADYINITIALIZED = (DWORD)((0x800401F1));
+int CO_E_CANTDETERMINECLASS = (DWORD)((0x800401F2));
+int CO_E_CLASSSTRING = (DWORD)((0x800401F3));
+int CO_E_IIDSTRING = (DWORD)((0x800401F4));
+int CO_E_APPNOTFOUND = (DWORD)((0x800401F5));
+int CO_E_APPSINGLEUSE = (DWORD)((0x800401F6));
+int CO_E_ERRORINAPP = (DWORD)((0x800401F7));
+int CO_E_DLLNOTFOUND = (DWORD)((0x800401F8));
+int CO_E_ERRORINDLL = (DWORD)((0x800401F9));
+int CO_E_WRONGOSFORAPP = (DWORD)((0x800401FA));
+int CO_E_OBJNOTREG = (DWORD)((0x800401FB));
+int CO_E_OBJISREG = (DWORD)((0x800401FC));
+int CO_E_OBJNOTCONNECTED = (DWORD)((0x800401FD));
+int CO_E_APPDIDNTREG = (DWORD)((0x800401FE));
+int CO_E_RELEASED = (DWORD)((0x800401FF));
+*/
+
+///////////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////////
+
+
+
+
+
 
 // missing in tango
 //alias TLOGFONTA* LPLOGFONTA;
 //alias TLOGFONTA LOGFONTA;
-alias char CHAR;
+//alias char CHAR;
 alias OPENFILENAME OPENFILENAMEW;
 alias OPENFILENAME OPENFILENAMEA;
-alias WNDCLASS_T   WNDCLASS;
+//alias WNDCLASS_T   WNDCLASS;
 
 //alias TCLSID *REFCLSID;
 
@@ -127,47 +13798,40 @@
 // ....
 //--------------------------------------------------------------------------------
 
-const int LF_FACESIZE = 32;
-const int LF_FULLFACESIZE = 64;
+// const int LF_FACESIZE = 32;
+// const int LF_FULLFACESIZE = 64;
 
 alias HANDLE HIMC;
-alias HANDLE HTREEITEM;
-alias HANDLE HDWP;
-alias HANDLE HIMAGELIST;
-alias HANDLE HMONITOR;
-alias HANDLE HHOOK;
-alias HANDLE HDROP;
+// alias HANDLE HTREEITEM;
+//alias HANDLE HDWP;
+//alias HANDLE HIMAGELIST;
+//alias HANDLE HMONITOR;
+//alias HANDLE HHOOK;
+//alias HANDLE HDROP;
 //alias HANDLE *LPHANDLE;
 
 alias HRESULT WINOLEAPI;
-alias LPRECT LPCRECT;
-alias LPRECT LPCRECTL;
+// alias LPRECT LPCRECT;
+// alias LPRECT LPCRECTL;
 alias DWORD LGRPID;
 //alias LONG LONG_PTR;
-alias ULONG ULONG_PTR;
+//alias ULONG ULONG_PTR;
 alias DWORD DWORD_PTR;
-alias int INT_PTR;
+//alias int INT_PTR;
 //alias uint UINT_PTR;
-alias DWORD LCID;
-alias DWORD LCTYPE;
+// alias DWORD LCID;
+// alias DWORD LCTYPE;
 alias USHORT COLOR16;
 
-alias POINT POINTL;
-
-alias long LONGLONG;
-alias ulong DWORDLONG;
-
-alias LONGLONG  *PLONGLONG;
-alias DWORDLONG *PDWORDLONG;
+//alias POINT POINTL;
+
+//alias long LONGLONG;
+//alias ulong DWORDLONG;
+
+//alias LONGLONG  *PLONGLONG;
+//alias DWORDLONG *PDWORDLONG;
 alias size_t    SIZE_T;
-alias int       WPARAM_I;
-
-version(ANSI){
-    alias char  TCHAR;
-}else{
-    alias wchar TCHAR;
-}
-
+//alias int       WPARAM_I;
 
 extern(Windows){
 
@@ -177,16 +13841,16 @@
  * something else. This made some DWT API failed. to fix the problem, it better to declare (msg, wparam)
  * as int like Eclispe/SWT does. and we alias int to WPARAM_I.
  */
-alias LRESULT function(HWND, uint, uint, int) WNDPROC_I;
-alias LRESULT function(int code, int wParam, LPARAM lParam) HOOKPROC_I;
-
-// Windows CALLBACK declaration here
-alias WNDPROC_I BFFCALLBACK;        // browse for fold
-alias WNDPROC_I LPCCHOOKPROC_I;     // choose color
-alias WNDPROC_I LPCFHOOKPROC_I;     // choose font
-alias WNDPROC_I LPPRINTHOOKPROC_I;  // print hook
-alias WNDPROC_I LPSETUPHOOKPROC_I;  // print setup
-alias WNDPROC_I TIMERPROC_I;        // timer
+// alias LRESULT function(HWND, uint, uint, int) WNDPROC_I;
+// alias LRESULT function(int code, int wParam, LPARAM lParam) HOOKPROC_I;
+//
+// // Windows CALLBACK declaration here
+// alias WNDPROC_I BFFCALLBACK;        // browse for fold
+// alias WNDPROC_I LPCCHOOKPROC_I;     // choose color
+// alias WNDPROC_I LPCFHOOKPROC_I;     // choose font
+// alias WNDPROC_I LPPRINTHOOKPROC_I;  // print hook
+// alias WNDPROC_I LPSETUPHOOKPROC_I;  // print setup
+// alias WNDPROC_I TIMERPROC_I;        // timer
 
 alias LRESULT function (
     int code,       // hook code
@@ -331,7 +13995,7 @@
     COLORREF*    lpCustColors;
     DWORD        Flags;
     LPARAM       lCustData;
-    LPCCHOOKPROC_I lpfnHook;
+    LPCCHOOKPROC lpfnHook;
     LPCSTR      lpTemplateName;
 }
 alias CHOOSECOLORA* PCHOOSECOLORA, LPCHOOSECOLORA;
@@ -343,7 +14007,7 @@
     COLORREF*    lpCustColors;
     DWORD        Flags;
     LPARAM       lCustData;
-    LPCCHOOKPROC_I lpfnHook;
+    LPCCHOOKPROC lpfnHook;
     LPCWSTR      lpTemplateName;
 }
 alias CHOOSECOLORW* PCHOOSECOLORW, LPCHOOSECOLORW;
@@ -366,7 +14030,7 @@
     DWORD        Flags;
     DWORD        rgbColors;
     LPARAM       lCustData;
-    LPCFHOOKPROC_I lpfnHook;
+    LPCFHOOKPROC lpfnHook;
     LPCSTR      lpTemplateName;
     HINSTANCE    hInstance;
     LPSTR       lpszStyle;
@@ -387,7 +14051,7 @@
     DWORD        Flags;
     DWORD        rgbColors;
     LPARAM       lCustData;
-    LPCFHOOKPROC_I lpfnHook;
+    LPCFHOOKPROC lpfnHook;
     LPCWSTR      lpTemplateName;
     HINSTANCE    hInstance;
     LPWSTR       lpszStyle;
@@ -434,8 +14098,8 @@
     int dwExStyle;
 }
 
-const uint CCHDEVICENAME = 32;
-const uint CCHFORMNAME = 32;
+// const uint CCHDEVICENAME = 32;
+// const uint CCHFORMNAME = 32;
 
 struct DEVMODEA {    // dvmd
     BYTE   dmDeviceName[CCHDEVICENAME];
@@ -696,7 +14360,7 @@
 }else{
     alias GCP_RESULTSW GCP_RESULTS;
 }
-//alias GCP_RESULTS* LPGCP_RESULTS;
+alias GCP_RESULTS* LPGCP_RESULTS;
 
 
 struct GOFFSET {
@@ -758,6 +14422,7 @@
     DWORD    dwContextId;
     POINT    MousePos;
 }
+alias HELPINFO* LPHELPINFO;
 
 struct HIGHCONTRASTA {
     UINT             cbSize;
@@ -813,19 +14478,6 @@
     ULONG_PTR dwExtraInfo;
 }
 
-union LARGE_INTEGER {
-    struct {
-        DWORD LowPart;
-        LONG HighPart;
-    };
-    struct u {
-        DWORD LowPart;
-        LONG HighPart;
-    };
-    LONGLONG QuadPart;
-}
-alias LARGE_INTEGER * PLARGE_INTEGER;
-
 
 // struct LOGBRUSH {
 //   UINT     lbStyle;
@@ -833,7 +14485,7 @@
 //   LONG     lbHatch;
 // }
 
-/+struct LOGFONTA {
+struct LOGFONTA {
   int lfHeight;
   int lfWidth;
   int lfEscapement;
@@ -850,29 +14502,31 @@
   char lfFaceName[LF_FACESIZE];
 }
 alias LOGFONTA* LPLOGFONTA;
-+/
-//struct LOGFONTW {
-//   LONG lfHeight;
-//   LONG lfWidth;
-//   LONG lfEscapement;
-//   LONG lfOrientation;
-//   LONG lfWeight;
-//   BYTE lfItalic;
-//   BYTE lfUnderline;
-//   BYTE lfStrikeOut;
-//   BYTE lfCharSet;
-//   BYTE lfOutPrecision;
-//   BYTE lfClipPrecision;
-//   BYTE lfQuality;
-//   BYTE lfPitchAndFamily;
-//   WCHAR lfFaceName[LF_FACESIZE];
-//}
-//alias LOGFONTW* PLOGFONTW, LPLOGFONTW;
+
+struct LOGFONTW {
+   LONG lfHeight;
+   LONG lfWidth;
+   LONG lfEscapement;
+   LONG lfOrientation;
+   LONG lfWeight;
+   BYTE lfItalic;
+   BYTE lfUnderline;
+   BYTE lfStrikeOut;
+   BYTE lfCharSet;
+   BYTE lfOutPrecision;
+   BYTE lfClipPrecision;
+   BYTE lfQuality;
+   BYTE lfPitchAndFamily;
+   WCHAR lfFaceName[LF_FACESIZE];
+}
+alias LOGFONTW* PLOGFONTW, LPLOGFONTW;
 version(ANSI){
     alias LOGFONTA LOGFONT;
 } else {
     alias LOGFONTW LOGFONT;
 }
+alias LOGFONT* PLOGFONT;
+alias LOGFONT* LPLOGFONT;
 
 
 struct LOGPEN {
@@ -1501,8 +15155,8 @@
     WORD      nCopies;
     HINSTANCE hInstance;
     DWORD     lCustData;
-    LPPRINTHOOKPROC_I lpfnPrintHook;
-    LPSETUPHOOKPROC_I lpfnSetupHook;
+    LPPRINTHOOKPROC lpfnPrintHook;
+    LPSETUPHOOKPROC lpfnSetupHook;
     LPCSTR    lpPrintTemplateName;
     LPCSTR    lpSetupTemplateName;
     HANDLE    hPrintTemplate;
@@ -1524,8 +15178,8 @@
     WORD      nCopies;
     HINSTANCE hInstance;
     DWORD     lCustData;
-    LPPRINTHOOKPROC_I lpfnPrintHook;
-    LPSETUPHOOKPROC_I lpfnSetupHook;
+    LPPRINTHOOKPROC lpfnPrintHook;
+    LPSETUPHOOKPROC lpfnSetupHook;
     LPCWSTR    lpPrintTemplateName;
     LPCWSTR    lpSetupTemplateName;
     HANDLE    hPrintTemplate;
@@ -2021,32 +15675,33 @@
 } else {
     alias TEXTMETRICW TEXTMETRIC;
 }
-
-struct TOOLINFOA {
-    UINT cbSize;
-    UINT uFlags;
-    HWND hwnd;
-    UINT uId;
-    RECT rect;
-    HINSTANCE hinst;
-    LPSTR lpszText;
-    LPARAM lParam;
-}
-struct TOOLINFOW {
-    UINT cbSize;
-    UINT uFlags;
-    HWND hwnd;
-    UINT uId;
-    RECT rect;
-    HINSTANCE hinst;
-    LPWSTR lpszText;
-    LPARAM lParam;
-}
-version(ANSI){
-    alias TOOLINFOA TOOLINFO;
-}else{
-    alias TOOLINFOW TOOLINFO;
-}
+alias TEXTMETRIC* LPTEXTMETRIC;
+
+// struct TOOLINFOA {
+//     UINT cbSize;
+//     UINT uFlags;
+//     HWND hwnd;
+//     UINT uId;
+//     RECT rect;
+//     HINSTANCE hinst;
+//     LPSTR lpszText;
+//     LPARAM lParam;
+// }
+// struct TOOLINFOW {
+//     UINT cbSize;
+//     UINT uFlags;
+//     HWND hwnd;
+//     UINT uId;
+//     RECT rect;
+//     HINSTANCE hinst;
+//     LPWSTR lpszText;
+//     LPARAM lParam;
+// }
+// version(ANSI){
+//     alias TOOLINFOA TOOLINFO;
+// }else{
+//     alias TOOLINFOW TOOLINFO;
+// }
 
 struct TRACKMOUSEEVENT {
     DWORD cbSize;
@@ -2135,7 +15790,7 @@
 }
 alias ULARGE_INTEGER * PULARGE_INTEGER;
 
-alias extern(Windows) int (*PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM);
+//alias extern(Windows) int (*PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM);
 struct TVSORTCB {
     HTREEITEM hParent;
     PFNTVCOMPARE lpfnCompare;
--- a/dwt/ole/win32/OleControlSite.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/ole/win32/OleControlSite.d	Tue Feb 12 21:25:00 2008 +0100
@@ -889,7 +889,7 @@
     HRESULT LockInPlaceActive(BOOL fLock) { return COM.E_NOTIMPL; }
     HRESULT GetExtendedControl(LPDISPATCH* ppDisp) { return COM.E_NOTIMPL; }
     HRESULT TransformCoords(
-      POINT* pPtlHimetric ,  //Address of POINTL structure
+      POINTL* pPtlHimetric ,  //Address of POINTL structure
       POINTF* pPtfContainer ,  //Address of POINTF structure
       DWORD dwFlags           //Flags indicating the exact conversion
     ) { return COM.E_NOTIMPL; }
--- a/dwt/ole/win32/OleFrame.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/ole/win32/OleFrame.d	Tue Feb 12 21:25:00 2008 +0100
@@ -202,7 +202,7 @@
         }
     });
 }
-static extern(Windows) int getMsgProc(int code, int wParam, int lParam) {
+static extern(Windows) int getMsgProc(int code, uint wParam, int lParam) {
     Display display = Display.getCurrent();
     if (display is null) return 0;
     auto hHook = cast(ValueWrapperT!(void*))display.getData(HHOOK);
--- a/dwt/widgets/ColorDialog.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/widgets/ColorDialog.d	Tue Feb 12 21:25:00 2008 +0100
@@ -101,7 +101,7 @@
     checkSubclass ();
 }
 
-private static extern(Windows) int CCHookFunc (HWND hdlg, uint uiMsg, uint lParam, int lpData) {
+private static extern(Windows) uint CCHookFunc (HWND hdlg, uint uiMsg, uint lParam, int lpData) {
     return sThis.CCHookProc( hdlg, uiMsg, lParam );
 }
 
--- a/dwt/widgets/Combo.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/widgets/Combo.d	Tue Feb 12 21:25:00 2008 +0100
@@ -334,7 +334,7 @@
     return OS.DefWindowProc (hwnd, msg, wParam, lParam);
 }
 
-private static extern(Windows) int CBTFunc (int nCode, int wParam, int lParam) {
+private static extern(Windows) int CBTFunc (int nCode, uint wParam, int lParam) {
     return pThis.CBTProc( nCode, wParam, lParam );
 }
 
--- a/dwt/widgets/Display.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/widgets/Display.d	Tue Feb 12 21:25:00 2008 +0100
@@ -1324,7 +1324,7 @@
     return null;
 }
 
-private static extern(Windows) int foregroundIdleProcFunc (int code, int wParam, int lParam) {
+private static extern(Windows) int foregroundIdleProcFunc (int code, uint wParam, int lParam) {
     auto d = Display.getCurrent();
     return d.foregroundIdleProc( code, wParam, lParam );
 }
@@ -1994,7 +1994,7 @@
     return result;
 }
 
-static extern(Windows) int getMsgFunc (int code, int wParam, int lParam) {
+static extern(Windows) int getMsgFunc (int code, uint wParam, int lParam) {
     return Display.getCurrent().getMsgProc( code, wParam, lParam );
 }
 
@@ -3100,7 +3100,7 @@
     return 1;
 }
 
-private static extern(Windows) int msgFilterProcFunc (int code, int wParam, int lParam) {
+private static extern(Windows) int msgFilterProcFunc (int code, uint wParam, int lParam) {
     Display pThis = Display.getCurrent();
     return pThis.msgFilterProc( code, wParam, lParam );
 }
--- a/dwt/widgets/Shell.d	Mon Feb 11 22:30:50 2008 -0800
+++ b/dwt/widgets/Shell.d	Tue Feb 12 21:25:00 2008 +0100
@@ -1534,8 +1534,7 @@
     if (lpstrTip !is null) OS.HeapFree (hHeap, 0, lpstrTip);
     int byteCount = buffer.length;
     lpstrTip = cast(TCHAR*)OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount);
-    (cast(byte*)lpstrTip)[ 0 .. byteCount ] = buffer;
-    //OS.MoveMemory (lpstrTip, buffer, byteCount);
+    OS.MoveMemory (lpstrTip, buffer.ptr, byteCount);
     lpnmtdi.lpszText = lpstrTip;
 }
 
@@ -1549,10 +1548,10 @@
     if (!hasCursor ()) return;
     auto hHeap = OS.GetProcessHeap ();
     if (lpstrTip !is null) OS.HeapFree (hHeap, 0, lpstrTip);
-    int byteCount = buffer.length * 2;
+    TCHAR[] charz = StrToTCHARs( 0, buffer );
+    int byteCount = charz.length * TCHAR.sizeof;
     lpstrTip = cast(TCHAR*)OS.HeapAlloc (hHeap, OS.HEAP_ZERO_MEMORY, byteCount);
-    (cast(char*)lpstrTip)[ 0 .. byteCount ] = buffer;
-    //OS.MoveMemory (lpstrTip, buffer, byteCount);
+    OS.MoveMemory (lpstrTip, charz.ptr, byteCount);
     lpnmtdi.lpszText = lpstrTip;
 }
 
--- a/tango_sys_win32/CodePage.d	Mon Feb 11 22:30:50 2008 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*******************************************************************************
-
-        copyright:      Copyright (c) 2007 Kris Bell. All rights reserved
-
-        license:        BSD style: $(LICENSE)
-
-        version:        Initial release: April 2007
-
-        author:         Kris
-
-*******************************************************************************/
-
-module tango_sys_win32.CodePage;
-
-private import tango.sys.Common;
-
-private import tango.core.Exception;
-
-/*******************************************************************************
-
-        Convert text to and from Windows 'code pages'. This is non-portable,
-        and will be unlikely to operate even across all Windows platforms.
-
-*******************************************************************************/
-
-struct CodePage
-{
-        /**********************************************************************
-
-                Test a text array to see if it contains non-ascii elements.
-                Returns true if ascii, false otherwise
-
-        **********************************************************************/
-
-        static bool isAscii (char[] src)
-        {
-                foreach (c; src)
-                         if (c & 0x80)
-                             return false;
-                return true;
-        }
-
-
-        /**********************************************************************
-
-                Convert utf8 text to a codepage representation
-
-                page  0     - the ansi code page
-                      1     - the oem code page
-                      2     - the mac code page
-                      3     - ansi code page for the calling thread
-                      65000 - UTF-7 translation
-                      65001 - UTF-8 translation
-
-                      or a region-specific codepage
-
-                returns: a slice of the provided output buffer
-                         representing converted text
-
-                Note that the input must be utf8 encoded. Note also
-                that the dst output should be sufficiently large to
-                accomodate the output; a size of 2*src.length would
-                be enough to host almost any conversion
-
-        **********************************************************************/
-
-        static char[] into (char[] src, char[] dst, uint page=0)
-        {
-                return convert (src, dst, CP_UTF8, page);
-        }
-
-
-        /**********************************************************************
-
-                Convert codepage text to a utf8 representation
-
-                page  0     - the ansi code page
-                      1     - the oem code page
-                      2     - the mac code page
-                      3     - ansi code page for the calling thread
-                      65000 - UTF-7 translation
-                      65001 - UTF-8 translation
-
-                      or a region-specific codepage
-
-                returns: a slice of the provided output buffer
-                         representing converted text
-
-                Note that the input will be utf8 encoded. Note also
-                that the dst output should be sufficiently large to
-                accomodate the output; a size of 2*src.length would
-                be enough to host almost any conversion
-
-        **********************************************************************/
-
-        static char[] from (char[] src, char[] dst, uint page=0)
-        {
-                return convert (src, dst, page, CP_UTF8);
-        }
-
-
-        /**********************************************************************
-
-                Internal conversion routine; we avoid heap activity for
-                strings of short and medium length. A zero is appended
-                to the dst array in order to simplify C API conversions
-
-        **********************************************************************/
-
-        private static char[] convert (char[] src, char[] dst, uint from, uint into)
-        {
-                uint len = 0;
-
-                // sanity check
-                assert (dst.length);
-
-                // got some input?
-                if (src.length > 0)
-                   {
-                   wchar[2000] tmp = void;
-                   wchar[] wide = (src.length <= tmp.length) ? tmp : new wchar[src.length];
-
-                   len = MultiByteToWideChar (from, 0, src.ptr, src.length,
-                                              wide.ptr, wide.length);
-                   if (len)
-                       len = WideCharToMultiByte (into, 0, wide.ptr, len,
-                                                  dst.ptr, dst.length-1, null, null);
-                   if (len is 0)
-                       throw new IllegalArgumentException ("CodePage.convert :: "~SysError.lastMsg);
-                   }
-
-                // append a null terminator
-                dst[len] = 0;
-                return dst [0 .. len];
-        }
-}
-
-
-debug(Test)
-{
-        void main ()
-        {
-                char[] s = "foo";
-                char[3] x = void;
-
-                //if (! CodePage.isAscii (s))
-                      s = CodePage.into (s, x);
-                      s = CodePage.from (s, x);
-        }
-}
--- a/tango_sys_win32/Macros.d	Mon Feb 11 22:30:50 2008 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-module tango_sys_win32.Macros;
-
-/*
- 	Module:		Windows Utilities
- 	Author: 	Trevor Parscal
-*/
-
-/+ Imports +/
-public
-{
-    import tango_sys_win32.Types;
-}
-private
-{
-	import tango.stdc.string;
-	import tango_sys_win32.UserGdi;
-}
-
-
-/+ Functions +/
-ushort MAKEWORD(ubyte A, ubyte B)
-{
-	return cast(ushort)(A | (B << 8));
-}
-uint MAKELONG(ushort A, ushort B)
-{
-	return cast(uint)(A | (B << 16));
-}
-ushort HIWORD(uint L)
-{
-	return cast(ushort)(L >> 16);
-}
-ushort LOWORD(uint L)
-{
-	return cast(ushort)(L & 0xFFFF);
-}
-ubyte HIBYTE(ushort W)
-{
-	return cast(ubyte)(W >> 8);
-}
-ubyte LOBYTE(ushort W)
-{
-	return cast(ubyte)(W & 0xFF);
-}
-HANDLE GlobalDiscard(HANDLE h)
-{
-	return GlobalReAlloc(h, 0, GMEM_MOVEABLE);
-}
-HANDLE LocalDiscard(HANDLE h)
-{
-	return LocalReAlloc(h, 0, LMEM_MOVEABLE);
-}
-BOOL SUCCEEDED(HRESULT Status)
-{
-	return (cast(int)Status & 0x80000000) == 0;
-}
-BOOL FAILED(HRESULT Status)
-{
-	return (cast(int)Status & 0x80000000) != 0;
-}
-BOOL IS_ERROR(HRESULT Status)
-{
-	return (cast(int)Status >> 31) == SEVERITY_ERROR;
-}
-int HRESULT_CODE(HRESULT hr)
-{
-	return cast(int)hr & 0xFFFF;
-}
-int HRESULT_FACILITY(HRESULT hr)
-{
-	return (cast(int)hr >> 16) & 0x1FFF;
-}
-int HRESULT_SEVERITY(HRESULT hr)
-{
-	return (cast(int)hr >> 31) & 0x1;
-}
-HRESULT MAKE_HRESULT(int sev, int fac, int code)
-{
-	return cast(HRESULT)((sev << 31) | (fac << 16) | code);
-}
-HRESULT HRESULT_FROM_WIN32(int x)
-{
-	return cast(HRESULT) (x ? (x & 0xFFFF) | (FACILITY_WIN32 << 16) | 0x80000000 : 0);
-}
-//HRESULT HRESULT_FROM_NT(int x)
-//{
-//	return x | FACILITY_NT_BIT;
-//}
-DWORD MAKEROP4(DWORD fore, DWORD back)
-{
-	return ((back << 8) & 0xFF000000) | fore;
-}
-ubyte GetKValue(COLORREF cmyk)
-{
-	return cast(ubyte)(cmyk & 0xFF);
-}
-ubyte GetYValue(COLORREF cmyk)
-{
-	return cast(ubyte)((cmyk >> 8) & 0xFF);
-}
-ubyte GetMValue(COLORREF cmyk)
-{
-	return cast(ubyte)((cmyk >> 16) & 0xFF);
-}
-ubyte GetCValue(COLORREF cmyk)
-{
-	return cast(ubyte)((cmyk >> 24) & 0xFF);
-}
-COLORREF CMYK(ubyte c, ubyte m, ubyte y, ubyte k)
-{
-	return k | (y << 8) | (m << 16) | (c << 24);
-}
-COLORREF RGB(ubyte r, ubyte g, ubyte b)
-{
-	return r | (g << 8) | (b << 16);
-}
-COLORREF PALETTERGB(ubyte r, ubyte g, ubyte b)
-{
-	return 0x02000000 | RGB(r, g, b);
-}
-COLORREF PALETTEINDEX(ushort i)
-{
-	return 0x01000000 | i;
-}
-ubyte GetRValue(COLORREF rgb)
-{
-	return cast(ubyte)(rgb & 0xFF);
-}
-ubyte GetGValue(COLORREF rgb)
-{
-	return cast(ubyte)((rgb >> 8) & 0xFF);
-}
-ubyte GetBValue(COLORREF rgb)
-{
-	return cast(ubyte)((rgb >> 16) & 0xFF);
-}
-WPARAM MAKEWPARAM(ushort l, ushort h)
-{
-	return MAKELONG(l, h);
-}
-LPARAM MAKELPARAM(ushort l, ushort h)
-{
-	return MAKELONG(l, h);
-}
-LRESULT MAKELRESULT(ushort l, ushort h)
-{
-	return MAKELONG(l, h);
-}
-BOOL ExitWindows(DWORD dwReserved, UINT uReserved)
-{
-	return ExitWindowsEx(EWX_LOGOFF, 0);
-}
-HWND CreateWindowA(PCHAR b, PCHAR c, DWORD d, int e,
-	int f, int g, int h, HWND i, HMENU j, HINST k, POINTER l)
-{
-	return CreateWindowExA(0, b, c, d, e, f, g, h, i, j, k, l);
-}
-HWND CreateWindowW(PWIDECHAR b, PWIDECHAR c, DWORD d, int e,
-	int f, int g, int h, HWND i, HMENU j, HINST k, POINTER l)
-{
-	return CreateWindowExW(0, b, c, d, e, f, g, h, i, j, k, l);
-}
-HWND CreateDialogA(HINST a, PANSICHAR b, HWND c, DLGPROC d)
-{
-	return CreateDialogParamA(a, b, c, d, 0);
-}
-HWND CreateDialogW(HINST a, PWIDECHAR b, HWND c, DLGPROC d)
-{
-	return CreateDialogParamW(a, b, c, d, 0);
-}
-HWND CreateDialogIndirectA(HINST a, DLGTEMPLATE* b, HWND c, DLGPROC d)
-{
-	return CreateDialogIndirectParamA(a, b, c, d, 0);
-}
-HWND CreateDialogIndirectW(HINST a, DLGTEMPLATE* b, HWND c, DLGPROC d)
-{
-	return CreateDialogIndirectParamW(a, b, c, d, 0);
-}
-int DialogBoxA(HINST a, PANSICHAR b, HWND c, DLGPROC d)
-{
-	return DialogBoxParamA(a, b, c, d, 0);
-}
-int DialogBoxW(HINST a, PWIDECHAR b, HWND c, DLGPROC d)
-{
-	return DialogBoxParamW(a, b, c, d, 0);
-}
-int DialogBoxIndirectA(HINST a, DLGTEMPLATE* b, HWND c, DLGPROC d)
-{
-	return DialogBoxIndirectParamA(a, b, c, d, 0);
-}
-int DialogBoxIndirectW(HINST a, DLGTEMPLATE* b, HWND c, DLGPROC d)
-{
-	return DialogBoxIndirectParamW(a, b, c, d, 0);
-}
-void ZeroMemory(void* dest, uint len)
-{
-	memset(dest, 0, len);
-}
-void FillMemory(void* dest, uint len, ubyte c)
-{
-	memset(dest, c, len);
-}
-void MoveMemory(void* dest, void* src, uint len)
-{
-	memmove(dest, src, len);
-}
-void CopyMemory(void* dest, void* src, uint len)
-{
-	memcpy(dest, src, len);
-}
--- a/tango_sys_win32/Process.d	Mon Feb 11 22:30:50 2008 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
- * Written by Sean Kelly
- * Placed into Public Domain
- */
-
-module tango_sys_win32.Process;
-
-
-private
-{
-    import tango.stdc.stdint;
-    import tango.stdc.stddef;
-}
-
-extern (C):
-
-enum
-{
-    P_WAIT,
-    P_NOWAIT,
-    P_OVERLAY,
-    P_NOWAITO,
-    P_DETACH,
-}
-
-enum
-{
-    WAIT_CHILD,
-    WAIT_GRANDCHILD,
-}
-
-private
-{
-    extern (C) alias void function(void*) bt_fptr;
-    extern (Windows) alias uint function(void*) btex_fptr;
-}
-
-uintptr_t _beginthread(bt_fptr, uint, void*);
-void _endthread();
-uintptr_t _beginthreadex(void*, uint, btex_fptr, void*, uint, uint *);
-void _endthreadex(uint);
-
-void abort();
-void exit(int);
-void _exit(int);
-void _cexit();
-void _c_exit();
-
-intptr_t cwait(int*, intptr_t, int);
-intptr_t wait(int*);
-
-int getpid();
-int system(char*);
-
-intptr_t spawnl(int, char*, char*, ...);
-intptr_t spawnle(int, char*, char*, ...);
-intptr_t spawnlp(int, char*, char*, ...);
-intptr_t spawnlpe(int, char*, char*, ...);
-intptr_t spawnv(int, char*, char**);
-intptr_t spawnve(int, char*, char**, char**);
-intptr_t spawnvp(int, char*, char**);
-intptr_t spawnvpe(int, char*, char**, char**);
-
-intptr_t execl(char*, char*, ...);
-intptr_t execle(char*, char*, ...);
-intptr_t execlp(char*, char*, ...);
-intptr_t execlpe(char*, char*, ...);
-intptr_t execv(char*, char**);
-intptr_t execve(char*, char**, char**);
-intptr_t execvp(char*, char**);
-intptr_t execvpe(char*, char**, char**);
-
-int _wsystem(wchar_t*);
-
-intptr_t _wspawnl(int, wchar_t*, wchar_t*, ...);
-intptr_t _wspawnle(int, wchar_t*, wchar_t*, ...);
-intptr_t _wspawnlp(int, wchar_t*, wchar_t*, ...);
-intptr_t _wspawnlpe(int, wchar_t*, wchar_t*, ...);
-intptr_t _wspawnv(int, wchar_t*, wchar_t**);
-intptr_t _wspawnve(int, wchar_t*, wchar_t**, wchar_t**);
-intptr_t _wspawnvp(int, wchar_t*, wchar_t**);
-intptr_t _wspawnvpe(int, wchar_t*, wchar_t**, wchar_t**);
-
-intptr_t _wexecl(wchar_t*, wchar_t*, ...);
-intptr_t _wexecle(wchar_t*, wchar_t*, ...);
-intptr_t _wexeclp(wchar_t*, wchar_t*, ...);
-intptr_t _wexeclpe(wchar_t*, wchar_t*, ...);
-intptr_t _wexecv(wchar_t*, wchar_t**);
-intptr_t _wexecve(wchar_t*, wchar_t**, wchar_t**);
-intptr_t _wexecvp(wchar_t*, wchar_t**);
-intptr_t _wexecvpe(wchar_t*, wchar_t**, wchar_t**);
--- a/tango_sys_win32/Types.d	Mon Feb 11 22:30:50 2008 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13636 +0,0 @@
-module tango_sys_win32.Types;
-
-/*
- 	Module:		Windows Types
- 	Author: 	Trevor Parscal
-*/
-
-/+ Aliases, Types, and Constants +/
-const int NULL = 0;
-alias int SCODE;
-alias void VOID;
-alias void* POINTER;
-alias ushort ATOM;
-alias int WINBOOL;
-alias WINBOOL BOOL;
-alias uint CALTYPE;
-alias uint CALID;
-alias char CCHAR;
-alias char* PCHAR;
-alias uint COLORREF;
-alias uint TCOLORREF;
-alias char CHAR;
-alias ubyte BYTE;
-alias short INT16;
-alias ushort UINT16;
-alias short SHORT;
-alias int INT;
-alias int WINT;
-alias int LONG;
-alias ushort WORD;
-alias uint DWORD;
-alias int INT_PTR;
-alias uint UINT_PTR;
-alias int LONG_PTR;
-alias uint ULONG_PTR;
-alias uint PROPID;
-const BOOL FALSE = 0;
-const BOOL TRUE = -1;
-alias char* PANSICHAR;
-alias wchar* PWIDECHAR;
-alias int* PINTEGER;
-alias double LONGLONG;
-alias LONGLONG* PLONGLONG;
-alias double DWORDLONG;
-alias DWORDLONG* PDWORDLONG;
-alias double FLOAT;
-alias void* HANDLE;
-alias HANDLE HACCEL;
-alias HANDLE HBITMAP;
-alias HANDLE HBRUSH;
-alias HANDLE HCOLORSPACE;
-alias HANDLE HCONV;
-alias HANDLE HCONVLIST;
-alias HANDLE HCURSOR;
-alias HANDLE HDBC;
-alias HANDLE HDC;
-alias HANDLE HDDEDATA;
-alias HANDLE HDESK;
-alias HANDLE HDROP;
-alias HANDLE HDWP;
-alias HANDLE HENHMETAFILE;
-alias HANDLE HENV;
-alias HANDLE HFILE;
-alias HANDLE HFONT;
-alias HANDLE HGDIOBJ;
-alias HANDLE HGLOBAL;
-alias HANDLE HGLRC;
-alias HANDLE HHOOK;
-alias HANDLE HICON;
-alias HANDLE HIMAGELIST;
-alias HANDLE HINST;
-alias HINST HINSTANCE;
-alias HANDLE HKEY;
-alias HANDLE HKL;
-alias HANDLE HLOCAL;
-alias HANDLE HMENU;
-alias HANDLE HMETAFILE;
-alias HANDLE HMODULE;
-alias HANDLE HPALETTE;
-alias HANDLE HPEN;
-alias HANDLE HRASCONN;
-alias int HRESULT;
-alias HANDLE HRGN;
-alias HANDLE HRSRC;
-alias HANDLE HSTMT;
-alias HANDLE HSZ;
-alias HANDLE HWINSTA;
-alias HANDLE HWND;
-alias ushort LANGID;
-alias DWORD LCID;
-alias DWORD LCTYPE;
-alias int LPARAM;
-alias ushort* LP;
-alias WINBOOL* LPBOOL;
-alias ubyte* LPBYTE;
-alias PCHAR LPCCH;
-alias PCHAR LPCH;
-alias COLORREF* LPCOLORREF;
-alias PCHAR LPCSTR;
-alias TCHAR* LPCTSTR;
-alias wchar* LPCWCH;
-alias wchar* LPCWSTR;
-alias DWORD* LPDWORD;
-alias HANDLE* LPHANDLE;
-alias int* LPINT;
-alias int* LPLONG;
-alias PCHAR LPSTR;
-alias PCHAR LPTCH;
-alias TCHAR* LPTSTR;
-alias int LRESULT;
-alias POINTER LPVOID;
-alias POINTER LPCVOID;
-alias wchar* LPWCH;
-alias wchar* LPWORD;
-alias wchar* LPWSTR;
-alias wchar* NWPSTR;
-alias WINBOOL* PWINBOOL;
-alias ubyte* PBOOLEAN;
-alias ubyte* PBYTE;
-alias PCHAR PCCH;
-alias PCHAR PCH;
-alias PCHAR PCSTR;
-alias wchar* PCWCH;
-alias wchar* PCWSTR;
-alias DWORD* PDWORD;
-alias double* PFLOAT;
-alias HANDLE* PHANDLE;
-alias HKEY* PHKEY;
-alias int* PINT;
-alias int* PLONG;
-alias int* PSHORT;
-alias PCHAR PSTR;
-alias PCHAR PSZ;
-alias ubyte* PTBYTE;
-alias PCHAR PTCH;
-alias PCHAR PTCHAR;
-alias PCHAR PTSTR;
-alias ubyte* PUCHAR;
-alias wchar* PWCH;
-alias wchar* PWCHAR;
-alias ushort* PWORD;
-alias uint* PUINT;
-alias uint* PULONG;
-alias ushort* PUSHORT;
-alias POINTER PVOID;
-// NOTE: This is defined in sqltypes.  Probably shouldn't be here.  Commenting for now.
-//alias int RETCODE;
-alias HANDLE SC_HANDLE;
-alias LPVOID SC_LOCK;
-alias SC_HANDLE* LPSC_HANDLE;
-alias DWORD SERVICE_STATUS_HANDLE;
-alias ubyte TBYTE;
-
-// version dependent
-alias wchar TCHAR;
-
-alias ubyte BCHAR;
-alias ubyte UCHAR;
-alias wchar WCHAR;
-alias uint UINT;
-alias uint ULONG;
-alias ushort USHORT;
-alias uint WPARAM;
-alias int ACL_INFORMATION_CLASS;
-
-// struct GUID { // size is 16
-// align(1):
-// 	DWORD   Data1;
-// 	WORD    Data2;
-// 	WORD    Data3;
-// 	BYTE[8] Data4;
-// }
-
-enum { AclRevisionInformation = 1, AclSizeInformation,  };
-alias ACL_INFORMATION_CLASS _ACL_INFORMATION_CLASS;
-alias int 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,  };
-alias MEDIA_TYPE _MEDIA_TYPE;
-const int RASCS_DONE = (0x2000);
-const int RASCS_PAUSED = (0x1000);
-alias int 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,  };
-alias RASCONNSTATE _RASCONNSTATE;
-alias int RASPROJECTION;
-enum { RASP_Amb = 0x10000, RASP_PppNbf = 0x803F, RASP_PppIpx = 0x802B, RASP_PppIp = 0x8021,  };
-alias RASPROJECTION _RASPROJECTION;
-alias int SECURITY_IMPERSONATION_LEVEL;
-enum { SecurityAnonymous, SecurityIdentification, SecurityImpersonation, SecurityDelegation,  };
-alias SECURITY_IMPERSONATION_LEVEL _SECURITY_IMPERSONATION_LEVEL;
-alias int SID_NAME_USE;
-enum { SidTypeUser = 1, SidTypeGroup, SidTypeDomain, SidTypeAlias, SidTypeWellKnownGroup, SidTypeDeletedAccount, SidTypeInvalid, SidTypeUnknown,  };
-alias SID_NAME_USE* PSID_NAME_USE;
-alias SID_NAME_USE _SID_NAME_USE;
-alias int TOKEN_INFORMATION_CLASS;
-enum { TokenUser = 1, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, TokenStatistics,  };
-alias TOKEN_INFORMATION_CLASS _TOKEN_INFORMATION_CLASS;
-alias int TOKEN_TYPE;
-enum { TokenPrimary = 1, TokenImpersonation,  };
-alias TOKEN_TYPE TAGTOKEN_TYPE;
-
-extern(Windows){
-alias int (*BFFCALLBACK)(HWND, UINT, LPARAM, LPARAM);
-alias UINT (*LPCCHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
-alias UINT (*LPCFHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
-alias POINTER PTHREAD_START_ROUTINE;
-alias PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
-alias DWORD (*EDITSTREAMCALLBACK)(DWORD, LPBYTE, LONG, LONG);
-alias UINT (*LPFRHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
-alias UINT (*LPOFNHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
-alias UINT (*LPPRINTHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
-alias UINT (*LPSETUPHOOKPROC)(HWND, UINT, WPARAM, LPARAM);
-alias LRESULT (*DLGPROC)(HWND, UINT, WPARAM, LPARAM);
-alias int (*PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM);
-alias void (*LPSERVICE_MAIN_FUNCTION)(DWORD);
-alias int (*PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM);
-alias LRESULT (*WNDPROC)(HWND, UINT, WPARAM, LPARAM);
-alias POINTER FARPROC;
-alias FARPROC PROC;
-alias WINBOOL (*ENUMRESTYPEPROC)(HANDLE, LPTSTR, LONG);
-alias WINBOOL (*ENUMRESNAMEPROC)(HANDLE, LPCTSTR, LPTSTR, LONG);
-alias WINBOOL (*ENUMRESLANGPROC)(HANDLE, LPCTSTR, LPCTSTR, ushort, LONG);
-alias FARPROC DESKTOPENUMPROC;
-alias WINBOOL (*ENUMWINDOWSPROC)(HWND, LPARAM);
-alias WINBOOL (*ENUMWINDOWSTATIONPROC)(LPTSTR, LPARAM);
-alias void (*SENDASYNCPROC)(HWND, UINT, DWORD);
-alias void (*TIMERPROC)(HWND, UINT, UINT);
-alias BOOL(*MONITORENUMPROC)(HMONITOR, HDC, RECT*, LPARAM);
-alias FARPROC GRAYSTRINGPROC;
-alias WINBOOL (*DRAWSTATEPROC)(HDC, LPARAM, WPARAM, int, int);
-alias WINBOOL (*PROPENUMPROCEX)(HWND, LPCTSTR, HANDLE, DWORD);
-alias WINBOOL (*PROPENUMPROC)(HWND, LPCTSTR, HANDLE);
-alias LRESULT (*HOOKPROC)(int, WPARAM, LPARAM);
-alias void (*ENUMOBJECTSPROC)(LPVOID);
-alias void (*LINEDDAPROC)(int, int);
-alias WINBOOL (*TABORTPROC)(HDC, int);
-alias UINT (*LPPAGEPAINTHOOK)(HWND, UINT, WPARAM, LPARAM);
-alias UINT (*LPPAGESETUPHOOK)(HWND, UINT, WPARAM, LPARAM);
-alias int (*ICMENUMPROC)(LPTSTR, LPARAM);
-alias LONG (*EDITWORDBREAKPROCEX)(PCHAR, LONG, ubyte, INT);
-alias int (*PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM);
-alias WINBOOL (*LOCALE_ENUMPROC)(LPTSTR);
-alias WINBOOL (*CODEPAGE_ENUMPROC)(LPTSTR);
-alias WINBOOL (*DATEFMT_ENUMPROC)(LPTSTR);
-alias WINBOOL (*TIMEFMT_ENUMPROC)(LPTSTR);
-alias WINBOOL (*CALINFO_ENUMPROC)(LPTSTR);
-alias WINBOOL (*PHANDLER_ROUTINE)(DWORD);
-alias WINBOOL (*LPHANDLER_FUNCTION)(DWORD);
-alias void (*PTIMERAPCROUTINE)(LPVOID, DWORD, DWORD);
-alias UINT (*PFNGETPROFILEPATH)(LPCTSTR, LPSTR, UINT);
-alias UINT (*PFNRECONCILEPROFILE)(LPCTSTR, LPCTSTR, DWORD);
-alias WINBOOL (*PFNPROCESSPOLICIES)(HWND, LPCTSTR, LPCTSTR, LPCTSTR, DWORD);
-}
-
-const {
- char* SE_CREATE_TOKEN_NAME = ("SeCreateTokenPrivilege");
- char* SE_ASSIGNPRIMARYTOKEN_NAME = ("SeAssignPrimaryTokenPrivilege");
- char* SE_LOCK_MEMORY_NAME = ("SeLockMemoryPrivilege");
- char* SE_INCREASE_QUOTA_NAME = ("SeIncreaseQuotaPrivilege");
- char* SE_UNSOLICITED_INPUT_NAME = ("SeUnsolicitedInputPrivilege");
- char* SE_MACHINE_ACCOUNT_NAME = ("SeMachineAccountPrivilege");
- char* SE_TCB_NAME = ("SeTcbPrivilege");
- char* SE_SECURITY_NAME = ("SeSecurityPrivilege");
- char* SE_TAKE_OWNERSHIP_NAME = ("SeTakeOwnershipPrivilege");
- char* SE_LOAD_DRIVER_NAME = ("SeLoadDriverPrivilege");
- char* SE_SYSTEM_PROFILE_NAME = ("SeSystemProfilePrivilege");
- char* SE_SYSTEMTIME_NAME = ("SeSystemtimePrivilege");
- char* SE_PROF_SINGLE_PROCESS_NAME = ("SeProfileSingleProcessPrivilege");
- char* SE_INC_BASE_PRIORITY_NAME = ("SeIncreaseBasePriorityPrivilege");
- char* SE_CREATE_PAGEFILE_NAME = ("SeCreatePagefilePrivilege");
- char* SE_CREATE_PERMANENT_NAME = ("SeCreatePermanentPrivilege");
- char* SE_BACKUP_NAME = ("SeBackupPrivilege");
- char* SE_RESTORE_NAME = ("SeRestorePrivilege");
- char* SE_SHUTDOWN_NAME = ("SeShutdownPrivilege");
- char* SE_DEBUG_NAME = ("SeDebugPrivilege");
- char* SE_AUDIT_NAME = ("SeAuditPrivilege");
- char* SE_SYSTEM_ENVIRONMENT_NAME = ("SeSystemEnvironmentPrivilege");
- char* SE_CHANGE_NOTIFY_NAME = ("SeChangeNotifyPrivilege");
- char* SE_REMOTE_SHUTDOWN_NAME = ("SeRemoteShutdownPrivilege");
- char* SERVICES_ACTIVE_DATABASEA = ("ServicesActive");
- char* SERVICES_FAILED_DATABASEA = ("ServicesFailed");
- char* SC_GROUP_IDENTIFIERA = ("+");
- char* SERVICES_ACTIVE_DATABASE = (SERVICES_ACTIVE_DATABASEA);
- char* SERVICES_FAILED_DATABASE = (SERVICES_FAILED_DATABASEA);
- char* SC_GROUP_IDENTIFIER = (SC_GROUP_IDENTIFIERA);
-}
-
-extern(Windows){
-alias HDDEDATA (*PFNCALLBACK)(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, DWORD);
-}
-alias PFNCALLBACK CALLB;
-alias WINBOOL SECURITY___FILE___TRACKING_MODE;
-alias FARPROC WNDENUMPROC;
-alias FARPROC ENHMFENUMPROC;
-alias DWORD CCSTYLE;
-alias CCSTYLE* PCCSTYLE;
-alias CCSTYLE* LPCCSTYLE;
-alias DWORD CCSTYLEFLAGA;
-alias CCSTYLEFLAGA* PCCSTYLEFLAGA;
-alias CCSTYLEFLAGA* LPCCSTYLEFLAGA;
-
-const HANDLE INVALID_HANDLE_VALUE = cast(HANDLE) -1;
-
-
-enum : DWORD {
-    SM_CXVIRTUALSCREEN = (76),
-    SM_CYVIRTUALSCREEN = (77),
-    MONITORINFOF_PRIMARY = (1),
-    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___FILE___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_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___FILE___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___FILE__ = (1775),
-    RPC_X_SS___FILE___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_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),
-    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_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),
-    MAX_PATH = (260),
-    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 = (0xFFFF),
-    MAXBYTE = (0xFF),
-    MINCHAR = (0x80),
-    MAXCHAR = (0x7F),
-    MINSHORT = (0x8000),
-    MAXSHORT = (0x7FFF),
-    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 = (0x4),
-    MF_DISABLED = (0x2),
-    MF_ENABLED = (0),
-    MF_GRAYED = (0x1),
-    MF_HELP = (0x4000),
-    MF_MENUBARBREAK = (0x20),
-    MF_MENUBREAK = (0x40),
-    MF_MOUSESELECT = (0x8000),
-    MF_OWNERDRAW = (0x100),
-    MF_POPUP = (0x10),
-    MF_SEPARATOR = (0x800),
-    MF_STRING = (0),
-    MF_SYSMENU = (0x2000),
-    MF_USECHECKBITMAPS = (0x200),
-    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),
-    DM_BITSPERPEL = (0x40000),
-    DM_PELSWIDTH = (0x80000),
-    DM_PELSHEIGHT = (0x100000),
-    DM_DISPLAYFLAGS = (0x200000),
-    DM_DISPLAYFREQUENCY = (0x400000),
-    CDS_UPDATEREGISTRY = (1),
-    CDS_TEST = (2),
-    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 = (0x400),
-    MF_CHECKED = (0x8),
-    MF_UNCHECKED = (0),
-    MF_HILITE = (0x80),
-    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 = (0xffff),
-    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 = (0x1000)+(10),
-    PDERR_DEFAULTDIFFERENT = (0x1000)+(12),
-    PDERR_DNDMMISMATCH = (0x1000)+(9),
-    PDERR_GETDEVMODEFAIL = (0x1000)+(5),
-    PDERR_INITFAILURE = (0x1000)+(6),
-    PDERR_LOADDRVFAILURE = (0x1000)+(4),
-    PDERR_NODEFAULTPRN = (0x1000)+(8),
-    PDERR_NODEVICES = (0x1000)+(7),
-    PDERR_PARSEFAILURE = (0x1000)+(2),
-    PDERR_PRINTERNOTFOUND = (0x1000)+(11),
-    PDERR_RETDEFFAILURE = (0x1000)+(3),
-    PDERR_SETUPFAILURE = (0x1000)+(1),
-    CFERR_MAXLESSTHANMIN = (0x2000)+(2),
-    CFERR_NOFONTS = (0x2000)+(1),
-    FNERR_BUFFERTOOSMALL = (0x3000)+(3),
-    FNERR_INVALIDFILENAME = (0x3000)+(2),
-    FNERR_SUBCLASSFAILURE = (0x3000)+(1),
-    FRERR_BUFFERLENGTHZERO = (0x4000)+(1),
-    LOCALE_SYSTEM_DEFAULT = (0x800),
-    LOCALE_USER_DEFAULT = (0x400),
-    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 = (0x10002),
-    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_COPYDELETEORG = (8),
-    LR_COPYRETURNORG = (4),
-    LR_MONOCHROME = (1),
-    LR_CREATEDIBSECTION = (8192),
-    LR_DEFAULTSIZE = (64),
-    DF_ALLOWOTHERACCOUNTHOOK = (0x1),
-    DESKTOP_CREATEMENU = (0x4),
-    DESKTOP_CREATEWINDOW = (0x2),
-    DESKTOP_ENUMERATE = (0x40),
-    DESKTOP_HOOKCONTROL = (0x8),
-    DESKTOP_JOURNALPLAYBACK = (0x20),
-    DESKTOP_JOURNALRECORD = (0x10),
-    DESKTOP_READOBJECTS = (0x1),
-    DESKTOP_SWITCHDESKTOP = (0x100),
-    DESKTOP_WRITEOBJECTS = (0x80),
-    WSF_VISIBLE = (0x1),
-    CBM_INIT = (0x4),
-    DIB_PAL_COLORS = (1),
-    DIB_RGB_COLORS = (0),
-    GENERIC_READ = (0x80000000),
-    GENERIC_WRITE = (0x40000000),
-    FILE_READ_DATA = (0x0001),
-    FILE_LIST_DIRECTORY = (0x0001),
-    FILE_WRITE_DATA = (0x0002),
-    FILE_ADD_FILE = (0x0002),
-    FILE_APPEND_DATA = (0x0004),
-    FILE_ADD_SUBDIRECTORY = (0x0004),
-    FILE_CREATE_PIPE_INSTANCE = (0x0004),
-    FILE_READ_EA = (0x0008),
-    FILE_READ_PROPERTIES = (FILE_READ_EA),
-    FILE_WRITE_EA = (0x0010),
-    FILE_WRITE_PROPERTIES = (FILE_WRITE_EA),
-    FILE_EXECUTE = (0x0020),
-    FILE_TRAVERSE = (0x0020),
-    FILE_DELETE_CHILD = (0x0040),
-    FILE_READ_ATTRIBUTES = (0x0080),
-    FILE_WRITE_ATTRIBUTES = (0x0100),
-    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),
-    INVALID_FILE_ATTRIBUTE = (-1),
-    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 = (2147483648),
-    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),
-    SECURITY_ANONYMOUS = (0),
-    SECURITY_IDENTIFICATION = (65536),
-    SECURITY_IMPERSONATION = (131072),
-    SECURITY_DELEGATION = (196608),
-    SECURITY___FILE___TRACKING = (262144),
-    SECURITY_EFFECTIVE_ONLY = (524288),
-    SECURITY_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 = (0x10),
-    SECTION_MAP_READ = (0x4),
-    SECTION_MAP_WRITE = (0x2),
-    SECTION_QUERY = (0x1),
-    SECTION_ALL_ACCESS = (0xf001f),
-    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),
-    DEFAULT_PITCH = (0),
-    FIXED_PITCH = (1),
-    VARIABLE_PITCH = (2),
-    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 = (0x40000),
-    WRITE_OWNER = (0x80000),
-    ACCESS_SYSTEM_SECURITY = (0x1000000),
-    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 = (0xf01ff),
-    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 = (0x10000),
-    SERVICE_READ_CONTROL = (0x20000),
-    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 = (0x2),
-    TAPE_SELECT_PARTITIONS = (0x1),
-    TAPE_FILEMARKS = (0x1),
-    TAPE_LONG_FILEMARKS = (0x3),
-    TAPE_SETMARKS = (0),
-    TAPE_SHORT_FILEMARKS = (0x2),
-    CW_USEDEFAULT = (0x80000000),
-    WS_BORDER = (0x800000),
-    WS_CAPTION = (0xc00000),
-    WS_CHILD = (0x40000000),
-    WS_CHILDWINDOW = (0x40000000),
-    WS_CLIPCHILDREN = (0x2000000),
-    WS_CLIPSIBLINGS = (0x4000000),
-    WS_DISABLED = (0x8000000),
-    WS_DLGFRAME = (0x400000),
-    WS_GROUP = (0x20000),
-    WS_HSCROLL = (0x100000),
-    WS_ICONIC = (0x20000000),
-    WS_MAXIMIZE = (0x1000000),
-    WS_MAXIMIZEBOX = (0x10000),
-    WS_MINIMIZE = (0x20000000),
-    WS_MINIMIZEBOX = (0x20000),
-    WS_OVERLAPPED = (0),
-    WS_OVERLAPPEDWINDOW = (0xcf0000),
-    WS_POPUP = (0x80000000),
-    WS_POPUPWINDOW = (0x80880000),
-    WS_SIZEBOX = (0x40000),
-    WS_SYSMENU = (0x80000),
-    WS_TABSTOP = (0x10000),
-    WS_THICKFRAME = (0x40000),
-    WS_TILED = (0),
-    WS_TILEDWINDOW = (0xcf0000),
-    WS_VISIBLE = (0x10000000),
-    WS_VSCROLL = (0x200000),
-    MDIS_ALLCHILDSTYLES = (0x1),
-    BS_3STATE = (0x5),
-    BS_AUTO3STATE = (0x6),
-    BS_AUTOCHECKBOX = (0x3),
-    BS_AUTORADIOBUTTON = (0x9),
-    BS_BITMAP = (0x80),
-    BS_BOTTOM = (0x800),
-    BS_CENTER = (0x300),
-    BS_CHECKBOX = (0x2),
-    BS_DEFPUSHBUTTON = (0x1),
-    BS_GROUPBOX = (0x7),
-    BS_ICON = (0x40),
-    BS_LEFT = (0x100),
-    BS_LEFTTEXT = (0x20),
-    BS_MULTILINE = (0x2000),
-    BS_NOTIFY = (0x4000),
-    BS_OWNERDRAW = (0xb),
-    BS_PUSHBUTTON = (0),
-    BS_PUSHLIKE = (0x1000),
-    BS_RADIOBUTTON = (0x4),
-    BS_RIGHT = (0x200),
-    BS_RIGHTBUTTON = (0x20),
-    BS_TEXT = (0),
-    BS_TOP = (0x400),
-    BS_USERBUTTON = (0x8),
-    BS_VCENTER = (0xc00),
-    CBS_AUTOHSCROLL = (0x40),
-    CBS_DISABLENOSCROLL = (0x800),
-    CBS_DROPDOWN = (0x2),
-    CBS_DROPDOWNLIST = (0x3),
-    CBS_HASSTRINGS = (0x200),
-    CBS_LOWERCASE = (0x4000),
-    CBS_NOINTEGRALHEIGHT = (0x400),
-    CBS_OEMCONVERT = (0x80),
-    CBS_OWNERDRAWFIXED = (0x10),
-    CBS_OWNERDRAWVARIABLE = (0x20),
-    CBS_SIMPLE = (0x1),
-    CBS_SORT = (0x100),
-    CBS_UPPERCASE = (0x2000),
-    ES_AUTOHSCROLL = (0x80),
-    ES_AUTOVSCROLL = (0x40),
-    ES_CENTER = (0x1),
-    ES_LEFT = (0),
-    ES_LOWERCASE = (0x10),
-    ES_MULTILINE = (0x4),
-    ES_NOHIDESEL = (0x100),
-    ES_NUMBER = (0x2000),
-    ES_OEMCONVERT = (0x400),
-    ES_PASSWORD = (0x20),
-    ES_READONLY = (0x800),
-    ES_RIGHT = (0x2),
-    ES_UPPERCASE = (0x8),
-    ES_WANTRETURN = (0x1000),
-    LBS_DISABLENOSCROLL = (0x1000),
-    LBS_EXTENDEDSEL = (0x800),
-    LBS_HASSTRINGS = (0x40),
-    LBS_MULTICOLUMN = (0x200),
-    LBS_MULTIPLESEL = (0x8),
-    LBS_NODATA = (0x2000),
-    LBS_NOINTEGRALHEIGHT = (0x100),
-    LBS_NOREDRAW = (0x4),
-    LBS_NOSEL = (0x4000),
-    LBS_NOTIFY = (0x1),
-    LBS_OWNERDRAWFIXED = (0x10),
-    LBS_OWNERDRAWVARIABLE = (0x20),
-    LBS_SORT = (0x2),
-    LBS_STANDARD = (0xa00003),
-    LBS_USETABSTOPS = (0x80),
-    LBS_WANTKEYBOARDINPUT = (0x400),
-    SBS_BOTTOMALIGN = (0x4),
-    SBS_HORZ = (0),
-    SBS_LEFTALIGN = (0x2),
-    SBS_RIGHTALIGN = (0x4),
-    SBS_SIZEBOX = (0x8),
-    SBS_SIZEBOXBOTTOMRIGHTALIGN = (0x4),
-    SBS_SIZEBOXTOPLEFTALIGN = (0x2),
-    SBS_SIZEGRIP = (0x10),
-    SBS_TOPALIGN = (0x2),
-    SBS_VERT = (0x1),
-    SS_BITMAP = (0xe),
-    SS_BLACKFRAME = (0x7),
-    SS_BLACKRECT = (0x4),
-    SS_CENTER = (0x1),
-    SS_CENTERIMAGE = (0x200),
-    SS_ENHMETAFILE = (0xf),
-    SS_ETCHEDFRAME = (0x12),
-    SS_ETCHEDHORZ = (0x10),
-    SS_ETCHEDVERT = (0x11),
-    SS_GRAYFRAME = (0x8),
-    SS_GRAYRECT = (0x5),
-    SS_ICON = (0x3),
-    SS_LEFT = (0),
-    SS_LEFTNOWORDWRAP = (0xc),
-    SS_NOPREFIX = (0x80),
-    SS_NOTIFY = (0x100),
-    SS_OWNERDRAW = (0xd),
-    SS_REALSIZEIMAGE = (0x800),
-    SS_RIGHT = (0x2),
-    SS_RIGHTJUST = (0x400),
-    SS_SIMPLE = (0xb),
-    SS_SUNKEN = (0x1000),
-    SS_USERITEM = (0xa),
-    SS_WHITEFRAME = (0x9),
-    SS_WHITERECT = (0x6),
-    DS_3DLOOK = (0x4),
-    DS_ABSALIGN = (0x1),
-    DS_CENTER = (0x800),
-    DS_CENTERMOUSE = (0x1000),
-    DS___FILE__HELP = (0x2000),
-    DS_CONTROL = (0x400),
-    DS_FIXEDSYS = (0x8),
-    DS_LOCALEDIT = (0x20),
-    DS_MODALFRAME = (0x80),
-    DS_NOFAILCREATE = (0x10),
-    DS_NOIDLEMSG = (0x100),
-    DS_SETFONT = (0x40),
-    DS_SETFOREGROUND = (0x200),
-    DS_SYSMODAL = (0x2),
-    WS_EX_ACCEPTFILES = (0x10),
-    WS_EX_APPWINDOW = (0x40000),
-    WS_EX_CLIENTEDGE = (0x200),
-    WS_EX___FILE__HELP = (0x400),
-    WS_EX_CONTROLPARENT = (0x10000),
-    WS_EX_DLGMODALFRAME = (0x1),
-    WS_EX_LEFT = (0),
-    WS_EX_LEFTSCROLLBAR = (0x4000),
-    WS_EX_LTRREADING = (0),
-    WS_EX_MDICHILD = (0x40),
-    WS_EX_NOPARENTNOTIFY = (0x4),
-    WS_EX_OVERLAPPEDWINDOW = (0x300),
-    WS_EX_PALETTEWINDOW = (0x188),
-    WS_EX_RIGHT = (0x1000),
-    WS_EX_RIGHTSCROLLBAR = (0),
-    WS_EX_RTLREADING = (0x2000),
-    WS_EX_STATICEDGE = (0x20000),
-    WS_EX_TOOLWINDOW = (0x80),
-    WS_EX_TOPMOST = (0x8),
-    WS_EX_TRANSPARENT = (0x20),
-    WS_EX_WINDOWEDGE = (0x100),
-    WINSTA_ACCESSCLIPBOARD = (0x4),
-    WINSTA_ACCESSGLOBALATOMS = (0x20),
-    WINSTA_CREATEDESKTOP = (0x8),
-    WINSTA_ENUMDESKTOPS = (0x1),
-    WINSTA_ENUMERATE = (0x100),
-    WINSTA_EXITWINDOWS = (0x40),
-    WINSTA_READATTRIBUTES = (0x2),
-    WINSTA_READSCREEN = (0x200),
-    WINSTA_WRITEATTRIBUTES = (0x10),
-    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),
-    DC_BINNAMES = (12),
-    DC_BINS = (6),
-    DC_COPIES = (18),
-    DC_DRIVER = (11),
-    DC_DATATYPE_PRODUCED = (21),
-    DC_DUPLEX = (7),
-    DC_EMF_COMPLIANT = (20),
-    DC_ENUMRESOLUTIONS = (13),
-    DC_EXTRA = (9),
-    DC_FIELDS = (1),
-    DC_FILEDEPENDENCIES = (14),
-    DC_MAXEXTENT = (5),
-    DC_MINEXTENT = (4),
-    DC_ORIENTATION = (17),
-    DC_PAPERNAMES = (16),
-    DC_PAPERS = (2),
-    DC_PAPERSIZE = (3),
-    DC_SIZE = (8),
-    DC_TRUETYPE = (15),
-    DCTT_BITMAP = (0x1),
-    DCTT_DOWNLOAD = (0x2),
-    DCTT_SUBDEV = (0x4),
-    DC_VERSION = (10),
-    DC_BINADJUST = (19),
-    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),
-    DM_IN_BUFFER = (8),
-    DM_MODIFY = (8),
-    DM_IN_PROMPT = (4),
-    DM_PROMPT = (4),
-    DM_OUT_BUFFER = (2),
-    DM_COPY = (2),
-    DM_UPDATE = (1),
-    IDANI_OPEN = (1),
-    IDANI_CLOSE = (2),
-    DC_ACTIVE = (1),
-    DC_SMALLCAP = (2),
-    BDR_RAISEDINNER = (4),
-    BDR_SUNKENINNER = (8),
-    BDR_RAISEDOUTER = (1),
-    BDR_SUNKENOUTER = (1),
-    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),
-    DUPLICATE_CLOSE_SOURCE = (1),
-    DUPLICATE_SAME_ACCESS = (2),
-    FILE_MAP_ALL_ACCESS = (0xf001f),
-    FILE_MAP_READ = (4),
-    FILE_MAP_WRITE = (2),
-    FILE_MAP_COPY = (1),
-    MUTEX_ALL_ACCESS = (0x1f0001),
-    MUTEX_MODIFY_STATE = (1),
-    SYNCHRONIZE = (0x100000),
-    SEMAPHORE_ALL_ACCESS = (0x1f0003),
-    SEMAPHORE_MODIFY_STATE = (2),
-    EVENT_ALL_ACCESS = (0x1f0003),
-    EVENT_MODIFY_STATE = (2),
-    KEY_ALL_ACCESS = (0xf003f),
-    KEY_CREATE_LINK = (32),
-    KEY_CREATE_SUB_KEY = (4),
-    KEY_ENUMERATE_SUB_KEYS = (8),
-    KEY_EXECUTE = (0x20019),
-    KEY_NOTIFY = (16),
-    KEY_QUERY_VALUE = (1),
-    KEY_READ = (0x20019),
-    KEY_SET_VALUE = (2),
-    KEY_WRITE = (0x20006),
-    PROCESS_ALL_ACCESS = (0x1f0fff),
-    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 = (0x1f03ff),
-    THREAD_DIRECT_IMPERSONATION = (512),
-    THREAD_GET___FILE__ = (8),
-    THREAD_IMPERSONATE = (256),
-    THREAD_QUERY_INFORMATION = (64),
-    THREAD_SET___FILE__ = (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),
-    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),
-    SERVICE_WIN32 = (48),
-    SERVICE_DRIVER = (11),
-    CP_INSTALLED = (1),
-    CP_SUPPORTED = (2),
-    LCID_INSTALLED = (1),
-    LCID_SUPPORTED = (2),
-    TAPE_ERASE_LONG = (0x1),
-    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 = (0x8000),
-    GCP_CLASSIN = (0x80000),
-    GCP_DIACRITIC = (256),
-    GCP_DISPLAYZWG = (0x400000),
-    GCP_GLYPHSHAPE = (16),
-    GCP_JUSTIFY = (0x10000),
-    GCP_JUSTIFYIN = (0x200000),
-    GCP_KASHIDA = (1024),
-    GCP_LIGATE = (32),
-    GCP_MAXEXTENT = (0x100000),
-    GCP_NEUTRALOVERRIDE = (0x2000000),
-    GCP_NUMERICOVERRIDE = (0x1000000),
-    GCP_NUMERICSLATIN = (0x4000000),
-    GCP_NUMERICSLOCAL = (0x8000000),
-    GCP_REORDER = (2),
-    GCP_SYMSWAPOFF = (0x800000),
-    GCP_USEKERNING = (8),
-    FLI_GLYPHS = (0x40000),
-    FLI_MASK = (0x103b),
-    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 = (0x10),
-    MS_DSR_ON = (0x20),
-    MS_RING_ON = (0x40),
-    MS_RLSD_ON = (0x80),
-    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),
-    CP_UTF8 = 65001,
-    DATE_USE_ALT_CALENDAR = (4),
-    DCX_WINDOW = (0x1),
-    DCX_CACHE = (0x2),
-    DCX_PARENTCLIP = (0x20),
-    DCX_CLIPSIBLINGS = (0x10),
-    DCX_CLIPCHILDREN = (0x8),
-    DCX_NORESETATTRS = (0x4),
-    DCX_LOCKWINDOWUPDATE = (0x400),
-    DCX_EXCLUDERGN = (0x40),
-    DCX_INTERSECTRGN = (0x80),
-    DCX_VALIDATE = (0x200000),
-    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 = (0x1),
-    EXCEPTION_STACK_OVERFLOW = (0xc00000fd),
-    EXCEPTION_INVALID_DISPOSITION = (0xc0000026),
-    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),
-}
-char* RT_ACCELERATOR = cast(char*) ((9));
-char* RT_BITMAP = cast(char*) ((2));
-char* RT_DIALOG = cast(char*) ((5));
-char* RT_FONT = cast(char*) ((8));
-char* RT_FONTDIR = cast(char*) ((7));
-char* RT_MENU = cast(char*) ((4));
-char* RT_RCDATA = cast(char*) ((10));
-char* RT_STRING = cast(char*) ((6));
-char* RT_MESSAGETABLE = cast(char*) ((11));
-char* RT_CURSOR = cast(char*) ((1));
-char* RT_GROUP_CURSOR = cast(char*) ((12));
-char* RT_ICON = cast(char*) ((3));
-char* RT_GROUP_ICON = cast(char*) ((13));
-char* RT_VERSION = cast(char*) ((16));
-char* IDC_ARROW = cast(char*) ((32512));
-char* IDC_IBEAM = cast(char*) ((32513));
-char* IDC_WAIT = cast(char*) ((32514));
-char* IDC_CROSS = cast(char*) ((32515));
-char* IDC_UPARROW = cast(char*) ((32516));
-char* IDC_SIZENWSE = cast(char*) ((32642));
-char* IDC_SIZENESW = cast(char*) ((32643));
-char* IDC_SIZEWE = cast(char*) ((32644));
-char* IDC_SIZENS = cast(char*) ((32645));
-char* IDC_SIZEALL = cast(char*) ((32646));
-char* IDC_NO = cast(char*) ((32648));
-char* IDC_APPSTARTING = cast(char*) ((32650));
-char* IDC_HELP = cast(char*) ((32651));
-char* IDI_APPLICATION = cast(char*) ((32512));
-char* IDI_HAND = cast(char*) ((32513));
-char* IDI_QUESTION = cast(char*) ((32514));
-char* IDI_EXCLAMATION = cast(char*) ((32515));
-char* IDI_ASTERISK = cast(char*) ((32516));
-char* IDI_WINLOGO = cast(char*) ((32517));
-char* IDC_SIZE = cast(char*) ((32640));
-char* IDC_ICON = cast(char*) ((32641));
-enum : DWORD {
-    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 = (0x2),
-    GMDI_USEDISABLED = (0x1),
-    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 = -(10),
-    STD_OUTPUT_HANDLE = -(11),
-    STD_ERROR_HANDLE = -(12),
-    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 = (0x1),
-    ARW_HIDE = (0x8),
-    ARW_TOPLEFT = (0x2),
-    ARW_TOPRIGHT = (0x3),
-    ARW_DOWN = (0x4),
-    ARW_LEFT = (0),
-    ARW_RIGHT = (0),
-    ARW_UP = (0x4),
-    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 = (0x1),
-    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 = -(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 = (0x80),
-    MB_ICONASTERISK = (0x40),
-    MB_ICONEXCLAMATION = (0x30),
-    MB_ICONWARNING = (0x30),
-    MB_ICONERROR = (0x10),
-    MB_ICONHAND = (0x10),
-    MB_ICONQUESTION = (0x20),
-    MB_OK = (0),
-    MB_ABORTRETRYIGNORE = (0x2),
-    MB_APPLMODAL = (0),
-    MB_DEFAULT_DESKTOP_ONLY = (0x20000),
-    MB_HELP = (0x4000),
-    MB_RIGHT = (0x80000),
-    MB_RTLREADING = (0x100000),
-    MB_TOPMOST = (0x40000),
-    MB_DEFBUTTON1 = (0),
-    MB_DEFBUTTON2 = (0x100),
-    MB_DEFBUTTON3 = (0x200),
-    MB_DEFBUTTON4 = (0x300),
-    MB_ICONINFORMATION = (0x40),
-    MB_ICONSTOP = (0x10),
-    MB_OKCANCEL = (0x1),
-    MB_RETRYCANCEL = (0x5),
-    MB_SERVICE_NOTIFICATION = (0x40000),
-    MB_SETFOREGROUND = (0x10000),
-    MB_SYSTEMMODAL = (0x1000),
-    MB_TASKMODAL = (0x2000),
-    MB_YESNO = (0x4),
-    MB_YESNOCANCEL = (0x3),
-    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),
-    MOVEFILE_WRITE_THROUGH = (8),
-    WAIT_OBJECT_0 = (0),
-    WAIT_ABANDONED_0 = (0x80),
-    WAIT_TIMEOUT = (0x102),
-    WAIT_IO_COMPLETION = (0xc0),
-    WAIT_ABANDONED = (0x80),
-    WAIT_FAILED = (0xffffffff),
-    MAXIMUM_WAIT_OBJECTS = (0x40),
-    MAXIMUM_SUSPEND_COUNT = (0x7f),
-    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 = (0xf00ff),
-    TOKEN_ASSIGN_PRIMARY = (1),
-    TOKEN_DUPLICATE = (2),
-    TOKEN_EXECUTE = (0x20000),
-    TOKEN_IMPERSONATE = (4),
-    TOKEN_QUERY = (8),
-    TOKEN_QUERY_SOURCE = (16),
-    TOKEN_READ = (0x20008),
-    TOKEN_WRITE = (0x200e0),
-    SC_MANAGER_ALL_ACCESS = (0xf003f),
-    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 = (0xFFFF),
-    TAPE_FORMAT = (0x5),
-    TAPE_LOAD = (0),
-    TAPE_LOCK = (0x3),
-    TAPE_TENSION = (0x2),
-    TAPE_UNLOAD = (0x1),
-    TAPE_UNLOCK = (0x4),
-    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 = (0x1),
-    GROUP_SECURITY_INFORMATION = (0x2),
-    DACL_SECURITY_INFORMATION = (0x4),
-    SACL_SECURITY_INFORMATION = (0x8),
-    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 = (0x80000000),
-    HKEY_CURRENT_USER = (0x80000001),
-    HKEY_LOCAL_MACHINE = (0x80000002),
-    HKEY_USERS = (0x80000003),
-    HKEY_PERFORMANCE_DATA = (0x80000004),
-    HKEY_CURRENT_CONFIG = (0x80000005),
-    HKEY_DYN_DATA = (0x80000006),
-    REG_OPTION_VOLATILE = (0x1),
-    REG_OPTION_NON_VOLATILE = (0),
-    REG_CREATED_NEW_KEY = (0x1),
-    REG_OPENED_EXISTING_KEY = (0x2),
-    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 = (0x1),
-    REG_NOTIFY_CHANGE_ATTRIBUTES = (0x2),
-    REG_NOTIFY_CHANGE_LAST_SET = (0x4),
-    REG_NOTIFY_CHANGE_SECURITY = (0x8),
-    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),
-    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 = (0x1),
-    TAPE_LOGICAL_BLOCK = (0x2),
-    TAPE_REWIND = (0),
-    TAPE_SPACE_END_OF_DATA = (0x4),
-    TAPE_SPACE_FILEMARKS = (0x6),
-    TAPE_SPACE_RELATIVE_BLOCKS = (0x5),
-    TAPE_SPACE_SEQUENTIAL_FMKS = (0x7),
-    TAPE_SPACE_SEQUENTIAL_SMKS = (0x9),
-    TAPE_SPACE_SETMARKS = (0x8),
-    EXCEPTION_EXECUTE_HANDLER = (1),
-    EXCEPTION_CONTINUE_EXECUTION = -((1)),
-    EXCEPTION_CONTINUE_SEARCH = (0),
-    HWND_BOTTOM = (1),
-    HWND_NOTOPMOST = -(2),
-    HWND_TOP = (0),
-    HWND_TOPMOST = -(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 = (0xFFFFFFFF),
-    SPI_GETACCESSTIMEOUT = (60),
-    SPI_GETANIMATION = (72),
-    SPI_GETBEEP = (1),
-    SPI_GETBORDER = (5),
-    SPI_GETDEFAULTINPUTLANG = (89),
-    SPI_GETDRAGFULLWINDOWS = (38),
-    SPI_GETFASTTASKSWITCH = (35),
-    SPI_GETFILTERKEYS = (50),
-    SPI_GETFONTSMOOTHING = (74),
-    SPI_GETGRIDGRANULARITY = (18),
-    SPI_GETHIGHCONTRAST = (66),
-    SPI_GETICONMETRICS = (45),
-    SPI_GETICONTITLELOGFONT = (31),
-    SPI_GETICONTITLEWRAP = (25),
-    SPI_GETKEYBOARDDELAY = (22),
-    SPI_GETKEYBOARDPREF = (68),
-    SPI_GETKEYBOARDSPEED = (10),
-    SPI_GETLOWPOWERACTIVE = (83),
-    SPI_GETLOWPOWERTIMEOUT = (79),
-    SPI_GETMENUDROPALIGNMENT = (27),
-    SPI_GETMINIMIZEDMETRICS = (43),
-    SPI_GETMOUSE = (3),
-    SPI_GETMOUSEKEYS = (54),
-    SPI_GETMOUSETRAILS = (94),
-    SPI_GETNONCLIENTMETRICS = (41),
-    SPI_GETPOWEROFFACTIVE = (84),
-    SPI_GETPOWEROFFTIMEOUT = (80),
-    SPI_GETSCREENREADER = (70),
-    SPI_GETSCREENSAVEACTIVE = (16),
-    SPI_GETSCREENSAVETIMEOUT = (14),
-    SPI_GETSERIALKEYS = (62),
-    SPI_GETSHOWSOUNDS = (56),
-    SPI_GETSOUNDSENTRY = (64),
-    SPI_GETSTICKYKEYS = (58),
-    SPI_GETTOGGLEKEYS = (52),
-    SPI_GETWINDOWSEXTENSION = (92),
-    SPI_GETWORKAREA = (48),
-    SPI_ICONHORIZONTALSPACING = (13),
-    SPI_ICONVERTICALSPACING = (24),
-    SPI_LANGDRIVER = (12),
-    SPI_SCREENSAVERRUNNING = (97),
-    SPI_SETACCESSTIMEOUT = (61),
-    SPI_SETANIMATION = (73),
-    SPI_SETBEEP = (2),
-    SPI_SETBORDER = (6),
-    SPI_SETDEFAULTINPUTLANG = (90),
-    SPI_SETDESKPATTERN = (21),
-    SPI_SETDESKWALLPAPER = (20),
-    SPI_SETDOUBLECLICKTIME = (32),
-    SPI_SETDOUBLECLKHEIGHT = (30),
-    SPI_SETDOUBLECLKWIDTH = (29),
-    SPI_SETDRAGFULLWINDOWS = (37),
-    SPI_SETDRAGHEIGHT = (77),
-    SPI_SETDRAGWIDTH = (76),
-    SPI_SETFASTTASKSWITCH = (36),
-    SPI_SETFILTERKEYS = (51),
-    SPI_SETFONTSMOOTHING = (75),
-    SPI_SETGRIDGRANULARITY = (19),
-    SPI_SETHANDHELD = (78),
-    SPI_SETHIGHCONTRAST = (67),
-    SPI_SETICONMETRICS = (46),
-    SPI_SETICONTITLELOGFONT = (34),
-    SPI_SETICONTITLEWRAP = (26),
-    SPI_SETKEYBOARDDELAY = (23),
-    SPI_SETKEYBOARDPREF = (69),
-    SPI_SETKEYBOARDSPEED = (11),
-    SPI_SETLANGTOGGLE = (91),
-    SPI_SETLOWPOWERACTIVE = (85),
-    SPI_SETLOWPOWERTIMEOUT = (81),
-    SPI_SETMENUDROPALIGNMENT = (28),
-    SPI_SETMINIMIZEDMETRICS = (44),
-    SPI_SETMOUSE = (4),
-    SPI_SETMOUSEBUTTONSWAP = (33),
-    SPI_SETMOUSEKEYS = (55),
-    SPI_SETMOUSETRAILS = (93),
-    SPI_SETNONCLIENTMETRICS = (42),
-    SPI_SETPENWINDOWS = (49),
-    SPI_SETPOWEROFFACTIVE = (86),
-    SPI_SETPOWEROFFTIMEOUT = (82),
-    SPI_SETSCREENREADER = (71),
-    SPI_SETSCREENSAVEACTIVE = (17),
-    SPI_SETSCREENSAVETIMEOUT = (15),
-    SPI_SETSERIALKEYS = (63),
-    SPI_SETSHOWSOUNDS = (57),
-    SPI_SETSOUNDSENTRY = (65),
-    SPI_SETSTICKYKEYS = (59),
-    SPI_SETTOGGLEKEYS = (53),
-    SPI_SETWORKAREA = (47),
-    SPIF_UPDATEINIFILE = (1),
-    SPIF_SENDWININICHANGE = (2),
-    SPIF_SENDCHANGE = (2),
-    TPM_CENTERALIGN = (0x4),
-    TPM_LEFTALIGN = (0),
-    TPM_RIGHTALIGN = (0x8),
-    TPM_LEFTBUTTON = (0),
-    TPM_RIGHTBUTTON = (0x2),
-    TPM_HORIZONTAL = (0),
-    TPM_VERTICAL = (0x40),
-    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 = (0x1),
-    VIF_MISMATCH = (0x2),
-    VIF_SRCOLD = (0x4),
-    VIF_DIFFLANG = (0x8),
-    VIF_DIFFCODEPG = (0x10),
-    VIF_DIFFTYPE = (0x20),
-    VIF_WRITEPROT = (0x40),
-    VIF_FILEINUSE = (0x80),
-    VIF_OUTOFSPACE = (0x100),
-    VIF_ACCESSVIOLATION = (0x200),
-    VIF_SHARINGVIOLATION = (0x400),
-    VIF_CANNOTCREATE = (0x800),
-    VIF_CANNOTDELETE = (0x1000),
-    VIF_CANNOTDELETECUR = (0x4000),
-    VIF_CANNOTRENAME = (0x2000),
-    VIF_OUTOFMEMORY = (0x8000),
-    VIF_CANNOTREADSRC = (0x10000),
-    VIF_CANNOTREADDST = (0x20000),
-    VIF_BUFFTOOSMALL = (0x40000),
-    WC_COMPOSITECHECK = (512),
-    WC_DISCARDNS = (16),
-    WC_SEPCHARS = (32),
-    WC_DEFAULTCHAR = (64),
-    HELP_COMMAND = (0x102),
-    HELP_CONTENTS = (0x3),
-    HELP___FILE__ = (0x1),
-    HELP___FILE__POPUP = (0x8),
-    HELP_FORCEFILE = (0x9),
-    HELP_HELPONHELP = (0x4),
-    HELP_INDEX = (0x3),
-    HELP_KEY = (0x101),
-    HELP_MULTIKEY = (0x201),
-    HELP_PARTIALKEY = (0x105),
-    HELP_QUIT = (0x2),
-    HELP_SETCONTENTS = (0x5),
-    HELP_SETINDEX = (0x5),
-    HELP___FILE__MENU = (0xa),
-    HELP_FINDER = (0xb),
-    HELP_WM_HELP = (0xc),
-    HELP_TCARD = (0x8000),
-    HELP_TCARD_DATA = (0x10),
-    HELP_TCARD_OTHER_CALLER = (0x11),
-    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 = (0x43),
-    WN_EXTENDED_ERROR = (0x4b8),
-    WN_MORE_DATA = (0xea),
-    WN_NO_NETWORK = (0x4c6),
-    WN_SUCCESS = (0),
-    WN_ACCESS_DENIED = (0x5),
-    WN_BAD_PROVIDER = (0x4b4),
-    WN_NOT_AUTHENTICATED = (0x4dc),
-    UNIVERSAL_NAME_INFO_LEVEL = (1),
-    REMOTE_NAME_INFO_LEVEL = (2),
-    STILL_ACTIVE = (0x103),
-    SP_SERIALCOMM = (0x1),
-    BAUD_075 = (0x1),
-    BAUD_110 = (0x2),
-    BAUD_134_5 = (0x4),
-    BAUD_150 = (0x8),
-    BAUD_300 = (0x10),
-    BAUD_600 = (0x20),
-    BAUD_1200 = (0x40),
-    BAUD_1800 = (0x80),
-    BAUD_2400 = (0x100),
-    BAUD_4800 = (0x200),
-    BAUD_7200 = (0x400),
-    BAUD_9600 = (0x800),
-    BAUD_14400 = (0x1000),
-    BAUD_19200 = (0x2000),
-    BAUD_38400 = (0x4000),
-    BAUD_56K = (0x8000),
-    BAUD_57600 = (0x40000),
-    BAUD_115200 = (0x20000),
-    BAUD_128K = (0x10000),
-    BAUD_USER = (0x10000000),
-    PST_FAX = (0x21),
-    PST_LAT = (0x101),
-    PST_MODEM = (0x6),
-    PST_NETWORK_BRIDGE = (0x100),
-    PST_PARALLELPORT = (0x2),
-    PST_RS232 = (0x1),
-    PST_RS422 = (0x3),
-    PST_RS423 = (0x4),
-    PST_RS449 = (0x5),
-    PST_SCANNER = (0x22),
-    PST_TCPIP_TELNET = (0x102),
-    PST_UNSPECIFIED = (0),
-    PST_X25 = (0x103),
-    PCF_16BITMODE = (0x200),
-    PCF_DTRDSR = (0x1),
-    PCF_INTTIMEOUTS = (0x80),
-    PCF_PARITY_CHECK = (0x8),
-    PCF_RLSD = (0x4),
-    PCF_RTSCTS = (0x2),
-    PCF_SETXCHAR = (0x20),
-    PCF_SPECIALCHARS = (0x100),
-    PCF_TOTALTIMEOUTS = (0x40),
-    PCF_XONXOFF = (0x10),
-    SP_BAUD = (0x2),
-    SP_DATABITS = (0x4),
-    SP_HANDSHAKING = (0x10),
-    SP_PARITY = (0x1),
-    SP_PARITY_CHECK = (0x20),
-    SP_RLSD = (0x40),
-    SP_STOPBITS = (0x8),
-    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),
-    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),
-}
-char* VS_FILE_INFO = cast(char*) ((16));
-enum : DWORD {
-    VS_VERSION_INFO = (1),
-    VS_FF_DEBUG = (0x1),
-    VS_FF_INFOINFERRED = (0x10),
-    VS_FF_PATCHED = (0x4),
-    VS_FF_PRERELEASE = (0x2),
-    VS_FF_PRIVATEBUILD = (0x8),
-    VS_FF_SPECIALBUILD = (0x20),
-    VOS_UNKNOWN = (0),
-    VOS_DOS = (0x10000),
-    VOS_OS216 = (0x20000),
-    VOS_OS232 = (0x30000),
-    VOS_NT = (0x40000),
-    VOS_DOS_WINDOWS16 = (0x10001),
-    VOS_DOS_WINDOWS32 = (0x10004),
-    VOS_OS216_PM16 = (0x20002),
-    VOS_OS232_PM32 = (0x30003),
-    VOS_NT_WINDOWS32 = (0x40004),
-    VFT_UNKNOWN = (0),
-    VFT_APP = (0x1),
-    VFT_DLL = (0x2),
-    VFT_DRV = (0x3),
-    VFT_FONT = (0x4),
-    VFT_VXD = (0x5),
-    VFT_STATIC_LIB = (0x7),
-    VFT2_UNKNOWN = (0),
-    VFT2_DRV_PRINTER = (0x1),
-    VFT2_DRV_KEYBOARD = (0x2),
-    VFT2_DRV_LANGUAGE = (0x3),
-    VFT2_DRV_DISPLAY = (0x4),
-    VFT2_DRV_MOUSE = (0x5),
-    VFT2_DRV_NETWORK = (0x6),
-    VFT2_DRV_SYSTEM = (0x7),
-    VFT2_DRV_INSTALLABLE = (0x8),
-    VFT2_DRV_SOUND = (0x9),
-    VFT2_FONT_RASTER = (0x1),
-    VFT2_FONT_VECTOR = (0x2),
-    VFT2_FONT_TRUETYPE = (0x3),
-    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 = (0x1),
-    DM_PAPERSIZE = (0x2),
-    DM_PAPERLENGTH = (0x4),
-    DM_PAPERWIDTH = (0x8),
-    DM_SCALE = (0x10),
-    DM_COPIES = (0x100),
-    DM_DEFAULTSOURCE = (0x200),
-    DM_PRINTQUALITY = (0x400),
-    DM_COLOR = (0x800),
-    DM_DUPLEX = (0x1000),
-    DM_YRESOLUTION = (0x2000),
-    DM_TTOPTION = (0x4000),
-    DM_COLLATE = (0x8000),
-    DM_FORMNAME = (0x10000),
-    DM_LOGPIXELS = (0x20000),
-    DM_ICMMETHOD = (0x800000),
-    DM_ICMINTENT = (0x1000000),
-    DM_MEDIATYPE = (0x2000000),
-    DM_DITHERTYPE = (0x4000000),
-    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),
-    DMRES_HIGH = -((4)),
-    DMRES_MEDIUM = -((3)),
-    DMRES_LOW = -((2)),
-    DMRES_DRAFT = -((1)),
-    DMCOLOR_COLOR = (2),
-    DMCOLOR_MONOCHROME = (1),
-    DMDUP_SIMPLEX = (1),
-    DMDUP_HORIZONTAL = (3),
-    DMDUP_VERTICAL = (2),
-    DMTT_BITMAP = (1),
-    DMTT_DOWNLOAD = (2),
-    DMTT_SUBDEV = (3),
-    DMCOLLATE_TRUE = (1),
-    DMCOLLATE_FALSE = (0),
-    DM_GRAYSCALE = (1),
-    DM_INTERLACED = (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_GLOSSY = (3),
-    DMMEDIA_TRANSPARENCY = (2),
-    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),
-}
-const {
-char* CF_RTF = ("Rich Text Format");
-char* CF_RETEXTOBJ = ("RichEdit Text and Objects");
-}
-enum : DWORD {
-    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_CHECKED = (8),
-    ODS_COMBOBOXEDIT = (4096),
-    ODS_DEFAULT = (32),
-    ODS_DISABLED = (4),
-    ODS_FOCUS = (16),
-    ODS_GRAYED = (2),
-    ODS_SELECTED = (1),
-}
-const {
-char* ANIMATE_CLASSW = ("SysAnimate32");
-char* HOTKEY_CLASSW = ("msctls_hotkey32");
-char* PROGRESS_CLASSW = ("msctls_progress32");
-char* STATUSCLASSNAMEW = ("msctls_statusbar32");
-char* TOOLBARCLASSNAMEW = ("ToolbarWindow32");
-char* TOOLTIPS_CLASSW = ("tooltips_class32");
-char* TRACKBAR_CLASSW = ("msctls_trackbar32");
-char* UPDOWN_CLASSW = ("msctls_updown32");
-char* WC_HEADERW = ("SysHeader32");
-char* WC_LISTVIEWW = ("SysListView32");
-char* WC_TABCONTROLW = ("SysTabControl32");
-char* WC_TREEVIEWW = ("SysTreeView32");
-}
-enum : DWORD {
-    CCS_ADJUSTABLE = (0x20),
-    CCS_BOTTOM = (0x3),
-    CCS_NODIVIDER = (0x40),
-    CCS_NOMOVEY = (0x2),
-    CCS_NOPARENTALIGN = (0x8),
-    CCS_NORESIZE = (0x4),
-    CCS_TOP = (0x1),
-}
-const {
-char* ANIMATE_CLASSA = ("SysAnimate32");
-char* HOTKEY_CLASSA = ("msctls_hotkey32");
-char* PROGRESS_CLASSA = ("msctls_progress32");
-char* STATUSCLASSNAMEA = ("msctls_statusbar32");
-char* TOOLBARCLASSNAMEA = ("ToolbarWindow32");
-char* TOOLTIPS_CLASSA = ("tooltips_class32");
-char* TRACKBAR_CLASSA = ("msctls_trackbar32");
-char* UPDOWN_CLASSA = ("msctls_updown32");
-char* WC_HEADERA = ("SysHeader32");
-char* WC_LISTVIEWA = ("SysListView32");
-char* WC_TABCONTROLA = ("SysTabControl32");
-char* WC_TREEVIEWA = ("SysTreeView32");
-char* ANIMATE_CLASS = (ANIMATE_CLASSA);
-char* HOTKEY_CLASS = (HOTKEY_CLASSA);
-char* PROGRESS_CLASS = (PROGRESS_CLASSA);
-char* STATUSCLASSNAME = (STATUSCLASSNAMEA);
-char* TOOLBARCLASSNAME = (TOOLBARCLASSNAMEA);
-char* TOOLTIPS_CLASS = (TOOLTIPS_CLASSA);
-char* TRACKBAR_CLASS = (TRACKBAR_CLASSA);
-char* UPDOWN_CLASS = (UPDOWN_CLASSA);
-char* WC_HEADER = (WC_HEADERA);
-char* WC_LISTVIEW = (WC_LISTVIEWA);
-char* WC_TABCONTROL = (WC_TABCONTROLA);
-char* WC_TREEVIEW = (WC_TREEVIEWA);
-}
-enum : DWORD {
-    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 = -(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),
-}
-const {
-wchar* LPSTR_TEXTCALLBACKW = cast(LPWSTR)(-(1));
-char* LPSTR_TEXTCALLBACKA = cast(LPSTR)(-(1));
-char* LPSTR_TEXTCALLBACK = (LPSTR_TEXTCALLBACKA);
-}
-enum : DWORD {
-    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)),
-}
-
-struct TREEITEM
-{
-}
-
-alias HANDLE HTREEITEM;
-alias TREEITEM TTREEITEM;
-alias TREEITEM* PTREEITEM;
-enum : DWORD {
-    TVI_ROOT = (0xFFFF0000),
-    TVI_FIRST = (0xFFFF0001),
-    TVI_LAST = (0xFFFF0002),
-    TVI_SORT = (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_BULGARIAN = (2),
-    LANG_CHINESE = (4),
-    LANG_CROATIAN = (26),
-    LANG_CZECH = (5),
-    LANG_DANISH = (6),
-    LANG_DUTCH = (19),
-    LANG_ENGLISH = (9),
-    LANG_FINNISH = (11),
-    LANG_FRENCH = (12),
-    LANG_GERMAN = (7),
-    LANG_GREEK = (8),
-    LANG_HUNGARIAN = (14),
-    LANG_ICELANDIC = (15),
-    LANG_ITALIAN = (16),
-    LANG_JAPANESE = (17),
-    LANG_KOREAN = (18),
-    LANG_NEUTRAL = (0),
-    LANG_NORWEGIAN = (20),
-    LANG_POLISH = (21),
-    LANG_PORTUGUESE = (22),
-    LANG_ROMANIAN = (24),
-    LANG_RUSSIAN = (25),
-    LANG_SLOVAK = (27),
-    LANG_SLOVENIAN = (36),
-    LANG_SPANISH = (10),
-    LANG_SWEDISH = (29),
-    LANG_TURKISH = (31),
-    SUBLANG_CHINESE_SIMPLIFIED = (2),
-    SUBLANG_CHINESE_TRADITIONAL = (1),
-    SUBLANG_CHINESE_HONGKONG = (3),
-    SUBLANG_CHINESE_SINGAPORE = (4),
-    SUBLANG_DEFAULT = (1),
-    SUBLANG_DUTCH = (1),
-    SUBLANG_DUTCH_BELGIAN = (2),
-    SUBLANG_ENGLISH_AUS = (3),
-    SUBLANG_ENGLISH_CAN = (4),
-    SUBLANG_ENGLISH_EIRE = (6),
-    SUBLANG_ENGLISH_NZ = (5),
-    SUBLANG_ENGLISH_UK = (2),
-    SUBLANG_ENGLISH_US = (1),
-    SUBLANG_FRENCH = (1),
-    SUBLANG_FRENCH_BELGIAN = (2),
-    SUBLANG_FRENCH_CANADIAN = (3),
-    SUBLANG_FRENCH_SWISS = (4),
-    SUBLANG_GERMAN = (1),
-    SUBLANG_GERMAN_AUSTRIAN = (3),
-    SUBLANG_GERMAN_SWISS = (2),
-    SUBLANG_ITALIAN = (1),
-    SUBLANG_ITALIAN_SWISS = (2),
-    SUBLANG_NEUTRAL = (0),
-    SUBLANG_NORWEGIAN_BOKMAL = (1),
-    SUBLANG_NORWEGIAN_NYNORSK = (2),
-    SUBLANG_PORTUGUESE = (2),
-    SUBLANG_PORTUGUESE_BRAZILIAN = (1),
-    SUBLANG_SPANISH = (1),
-    SUBLANG_SPANISH_MEXICAN = (2),
-    SUBLANG_SPANISH_MODERN = (3),
-    SUBLANG_SYS_DEFAULT = (2),
-    NLS_VALID_LOCALE_MASK = (1048575),
-    SORT_DEFAULT = (0),
-    SORT_JAPANESE_XJIS = (0),
-    SORT_JAPANESE_UNICODE = (1),
-    SORT_CHINESE_BIG5 = (0),
-    SORT_CHINESE_UNICODE = (1),
-    SORT_KOREAN_KSC = (0),
-    SORT_KOREAN_UNICODE = (1),
-    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 = (0xf0000),
-    STANDARD_RIGHTS_WRITE = (0x20000),
-    STANDARD_RIGHTS_READ = (0x20000),
-    STANDARD_RIGHTS_EXECUTE = (0x20000),
-    STANDARD_RIGHTS_ALL = (0x1f0000),
-    SPECIFIC_RIGHTS_ALL = (0xffff),
-    MAXIMUM_ALLOWED = (0x2000000),
-    GENERIC_ALL = (0x10000000),
-    SECURITY_NULL_RID = (0),
-    SECURITY_WORLD_RID = (0),
-    SECURITY_LOCAL_RID = (0),
-    SECURITY_CREATOR_OWNER_RID = (0),
-    SECURITY_CREATOR_GROUP_RID = (0x1),
-    SECURITY_DIALUP_RID = (0x1),
-    SECURITY_NETWORK_RID = (0x2),
-    SECURITY_BATCH_RID = (0x3),
-    SECURITY_INTERACTIVE_RID = (0x4),
-    SECURITY_LOGON_IDS_RID = (0x5),
-    SECURITY_LOGON_IDS_RID_COUNT = (0x3),
-    SECURITY_SERVICE_RID = (0x6),
-    SECURITY_LOCAL_SYSTEM_RID = (0x12),
-    SECURITY_BUILTIN_DOMAIN_RID = (0x20),
-    DOMAIN_USER_RID_ADMIN = (0x1f4),
-    DOMAIN_USER_RID_GUEST = (0x1f5),
-    DOMAIN_GROUP_RID_ADMINS = (0x200),
-    DOMAIN_GROUP_RID_USERS = (0x201),
-    DOMAIN_ALIAS_RID_ADMINS = (0x220),
-    DOMAIN_ALIAS_RID_USERS = (0x221),
-    DOMAIN_ALIAS_RID_GUESTS = (0x222),
-    DOMAIN_ALIAS_RID_POWER_USERS = (0x223),
-    DOMAIN_ALIAS_RID_ACCOUNT_OPS = (0x224),
-    DOMAIN_ALIAS_RID_SYSTEM_OPS = (0x225),
-    DOMAIN_ALIAS_RID_PRINT_OPS = (0x226),
-    DOMAIN_ALIAS_RID_BACKUP_OPS = (0x227),
-    DOMAIN_ALIAS_RID_REPLICATOR = (0x228),
-    SE_GROUP_MANDATORY = (0x1),
-    SE_GROUP_ENABLED_BY_DEFAULT = (0x2),
-    SE_GROUP_ENABLED = (0x4),
-    SE_GROUP_OWNER = (0x8),
-    SE_GROUP_LOGON_ID = (0xc0000000),
-    ACL_REVISION = (2),
-    ACCESS_ALLOWED_ACE_TYPE = (0x0),
-    ACCESS_DENIED_ACE_TYPE = (0x1),
-    SYSTEM_AUDIT_ACE_TYPE = (0x2),
-    SYSTEM_ALARM_ACE_TYPE = (0x3),
-    OBJECT_INHERIT_ACE = (0x1),
-    CONTAINER_INHERIT_ACE = (0x2),
-    NO_PROPAGATE_INHERIT_ACE = (0x4),
-    INHERIT_ONLY_ACE = (0x8),
-    SUCCESSFUL_ACCESS_ACE_FLAG = (0x40),
-    FAILED_ACCESS_ACE_FLAG = (0x80),
-    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 = (0x1),
-    SE_PRIVILEGE_ENABLED = (0x2),
-    SE_PRIVILEGE_USED_FOR_ACCESS = (0x80000000),
-    PRIVILEGE_SET_ALL_NECESSARY = (0x1),
-    OFN_ALLOWMULTISELECT = (0x200),
-    OFN_CREATEPROMPT = (0x2000),
-    OFN_ENABLEHOOK = (0x20),
-    OFN_ENABLETEMPLATE = (0x40),
-    OFN_ENABLETEMPLATEHANDLE = (0x80),
-    OFN_EXPLORER = (0x80000),
-    OFN_EXTENSIONDIFFERENT = (0x400),
-    OFN_FILEMUSTEXIST = (0x1000),
-    OFN_HIDEREADONLY = (0x4),
-    OFN_LONGNAMES = (0x200000),
-    OFN_NOCHANGEDIR = (0x8),
-    OFN_NODEREFERENCELINKS = (0x100000),
-    OFN_NOLONGNAMES = (0x40000),
-    OFN_NONETWORKBUTTON = (0x20000),
-    OFN_NOREADONLYRETURN = (0x8000),
-    OFN_NOTESTFILECREATE = (0x10000),
-    OFN_NOVALIDATE = (0x100),
-    OFN_OVERWRITEPROMPT = (0x2),
-    OFN_PATHMUSTEXIST = (0x800),
-    OFN_READONLY = (0x1),
-    OFN_SHAREAWARE = (0x4000),
-    OFN_SHOWHELP = (0x10),
-    OFN_SHAREFALLTHROUGH = (0x2),
-    OFN_SHARENOWARN = (0x1),
-    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 = (0x465),
-    CDM_GETFOLDERIDLIST = (0x467),
-    CDM_GETFOLDERPATH = (0x466),
-    CDM_GETSPEC = (0x464),
-    CDM_HIDECONTROL = (0x469),
-    CDM_SETCONTROLTEXT = (0x468),
-    CDM_SETDEFEXT = (0x46a),
-    CC_ENABLEHOOK = (0x10),
-    CC_ENABLETEMPLATE = (0x20),
-    CC_ENABLETEMPLATEHANDLE = (0x40),
-    CC_FULLOPEN = (0x2),
-    CC_PREVENTFULLOPEN = (0x4),
-    CC_RGBINIT = (0x1),
-    CC_SHOWHELP = (0x8),
-    CC_SOLIDCOLOR = (0x80),
-    FR_DIALOGTERM = (0x40),
-    FR_DOWN = (0x1),
-    FR_ENABLEHOOK = (0x100),
-    FR_ENABLETEMPLATE = (0x200),
-    FR_ENABLETEMPLATEHANDLE = (0x2000),
-    FR_FINDNEXT = (0x8),
-    FR_HIDEUPDOWN = (0x4000),
-    FR_HIDEMATCHCASE = (0x8000),
-    FR_HIDEWHOLEWORD = (0x10000),
-    FR_MATCHCASE = (0x4),
-    FR_NOMATCHCASE = (0x800),
-    FR_NOUPDOWN = (0x400),
-    FR_NOWHOLEWORD = (0x1000),
-    FR_REPLACE = (0x10),
-    FR_REPLACEALL = (0x20),
-    FR_SHOWHELP = (0x80),
-    FR_WHOLEWORD = (0x2),
-    CF_APPLY = (0x200),
-    CF_ANSIONLY = (0x400),
-    CF_BOTH = (0x3),
-    CF_TTONLY = (0x40000),
-    CF_EFFECTS = (0x100),
-    CF_ENABLEHOOK = (0x8),
-    CF_ENABLETEMPLATE = (0x10),
-    CF_ENABLETEMPLATEHANDLE = (0x20),
-    CF_FIXEDPITCHONLY = (0x4000),
-    CF_FORCEFONTEXIST = (0x10000),
-    CF_INITTOLOGFONTSTRUCT = (0x40),
-    CF_LIMITSIZE = (0x2000),
-    CF_NOOEMFONTS = (0x800),
-    CF_NOFACESEL = (0x80000),
-    CF_NOSCRIPTSEL = (0x800000),
-    CF_NOSTYLESEL = (0x100000),
-    CF_NOSIZESEL = (0x200000),
-    CF_NOSIMULATIONS = (0x1000),
-    CF_NOVECTORFONTS = (0x800),
-    CF_NOVERTFONTS = (0x1000000),
-    CF_PRINTERFONTS = (0x2),
-    CF_SCALABLEONLY = (0x20000),
-    CF_SCREENFONTS = (0x1),
-    CF_SCRIPTSONLY = (0x400),
-    CF_SELECTSCRIPT = (0x400000),
-    CF_SHOWHELP = (0x4),
-    CF_USESTYLE = (0x80),
-    CF_WYSIWYG = (0x8000),
-    BOLD_FONTTYPE = (0x100),
-    ITALIC_FONTTYPE = (0x200),
-    PRINTER_FONTTYPE = (0x4000),
-    REGULAR_FONTTYPE = (0x400),
-    SCREEN_FONTTYPE = (0x2000),
-    SIMULATED_FONTTYPE = (0x8000),
-}
-const {
-char* COLOROKSTRINGW = ("commdlg_ColorOK");
-char* FILEOKSTRINGW = ("commdlg_FileNameOK");
-char* FINDMSGSTRINGW = ("commdlg_FindReplace");
-char* HELPMSGSTRINGW = ("commdlg_help");
-char* LBSELCHSTRINGW = ("commdlg_LBSelChangedNotify");
-char* SETRGBSTRINGW = ("commdlg_SetRGBColor");
-char* SHAREVISTRINGW = ("commdlg_ShareViolation");
-char* COLOROKSTRINGA = ("commdlg_ColorOK");
-char* FILEOKSTRINGA = ("commdlg_FileNameOK");
-char* FINDMSGSTRINGA = ("commdlg_FindReplace");
-char* HELPMSGSTRINGA = ("commdlg_help");
-char* LBSELCHSTRINGA = ("commdlg_LBSelChangedNotify");
-char* SETRGBSTRINGA = ("commdlg_SetRGBColor");
-char* SHAREVISTRINGA = ("commdlg_ShareViolation");
-char* COLOROKSTRING = (COLOROKSTRINGA);
-char* FILEOKSTRING = (FILEOKSTRINGA);
-char* FINDMSGSTRING = (FINDMSGSTRINGA);
-char* HELPMSGSTRING = (HELPMSGSTRINGA);
-char* LBSELCHSTRING = (LBSELCHSTRINGA);
-char* SETRGBSTRING = (SETRGBSTRINGA);
-char* SHAREVISTRING = (SHAREVISTRINGA);
-}
-enum : DWORD {
-    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_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),
-    MIIM_CHECKMARKS = (8),
-    MIIM_DATA = (32),
-    MIIM_ID = (2),
-    MIIM_STATE = (1),
-    MIIM_SUBMENU = (4),
-    MIIM_TYPE = (16),
-    MFT_BITMAP = (0x4),
-    MFT_MENUBARBREAK = (0x20),
-    MFT_MENUBREAK = (0x40),
-    MFT_OWNERDRAW = (0x100),
-    MFT_RADIOCHECK = (0x200),
-    MFT_RIGHTJUSTIFY = (0x4000),
-    MFT_SEPARATOR = (0x800),
-    MFT_STRING = (0),
-    MFS_CHECKED = (0x8),
-    MFS_DEFAULT = (0x1000),
-    MFS_DISABLED = (0x3),
-    MFS_ENABLED = (0),
-    MFS_GRAYED = (0x3),
-    MFS_HILITE = (0x80),
-    MFS_UNCHECKED = (0),
-    MFS_UNHILITE = (0),
-    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 = (0x1),
-    PRF_CHILDREN = (0x10),
-    PRF_CLIENT = (0x4),
-    PRF_ERASEBKGND = (0x8),
-    PRF_NONCLIENT = (0x2),
-    PRF_OWNED = (0x20),
-    HWND_DESKTOP = (0),
-    SC_CLOSE = (61536),
-    SC___FILE__HELP = (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),
-    _MOUSE_EVENT = (2),
-    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_DRAW_TO_WINDOW = (0x4),
-    PFD_DRAW_TO_BITMAP = (0x8),
-    PFD_SUPPORT_GDI = (0x10),
-    PFD_SUPPORT_OPENGL = (0x20),
-    PFD_DOUBLEBUFFER = (0x1),
-    PFD_STEREO = (0x2),
-    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 = (0x40),
-    PFD_NEED_PALETTE = (0x80),
-    PFD_NEED_SYSTEM_PALETTE = (0x100),
-    PFD_SWAP_COPY = (0x400),
-    PFD_SWAP_EXCHANGE = (0x200),
-    TMPF_FIXED_PITCH = (0x1),
-    TMPF_VECTOR = (0x2),
-    TMPF_TRUETYPE = (0x4),
-    TMPF_DEVICE = (0x8),
-    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 = (0x1000),
-    XCLASS_DATA = (0x2000),
-    XCLASS_FLAGS = (0x4000),
-    XCLASS_MASK = (0xfc00),
-    XCLASS_NOTIFICATION = (0x8000),
-    XTYPF_NOBLOCK = (0x0002),
-    XTYP_ADVDATA = (0x4010),
-    XTYP_ADVREQ = (0x2022),
-    XTYP_ADVSTART = (0x1030),
-    XTYP_ADVSTOP = (0x8040),
-    XTYP_CONNECT = (0x1062),
-    XTYP_CONNECT_CONFIRM = (0x8072),
-    XTYP_DISCONNECT = (0x80c2),
-    XTYP_EXECUTE = (0x4050),
-    XTYP_POKE = (0x4090),
-    XTYP_REQUEST = (0x20b0),
-    XTYP_WILDCONNECT = (0x20E2),
-    XTYP_REGISTER = (0x80A2),
-    XTYP_ERROR = (0x8002),
-    XTYP_XACT_COMPLETE = (0x8080),
-    XTYP_UNREGISTER = (0x80D2),
-    DMLERR_DLL_USAGE = (0x4004),
-    DMLERR_INVALIDPARAMETER = (0x4006),
-    DMLERR_NOTPROCESSED = (0x4009),
-    DMLERR_POSTMSG_FAILED = (0x400c),
-    DMLERR_SERVER_DIED = (0x400e),
-    DMLERR_SYS_ERROR = (0x400f),
-    DMLERR_BUSY = (0x4001),
-    DMLERR_DATAACKTIMEOUT = (0x4002),
-    DMLERR_ADVACKTIMEOUT = (0x4000),
-    DMLERR_DLL_NOT_INITIALIZED = (0x4003),
-    DMLERR_LOW_MEMORY = (0x4007),
-    DMLERR_MEMORY_ERROR = (0x4008),
-    DMLERR_POKEACKTIMEOUT = (0x400b),
-    DMLERR_NO_CONV_ESTABLISHED = (0x400a),
-    DMLERR_REENTRANCY = (0x400d),
-    DMLERR_UNFOUND_QUEUE_ID = (0x4011),
-    DMLERR_UNADVACKTIMEOUT = (0x4010),
-    DMLERR_EXECACKTIMEOUT = (0x4005),
-    DDE_FACK = (0x8000),
-    DDE_FNOTPROCESSED = (0x0000),
-    DNS_REGISTER = (0x0001),
-    DNS_UNREGISTER = (0x0002),
-    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 = (0x0103),
-    META_SETWINDOWORG = (0x020B),
-    META_SETWINDOWEXT = (0x020C),
-    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),
-    SIZE_OF_80387_REGISTERS = (80),
-    __FILE___i386 = (0x10000),
-    __FILE___CONTROL = (__FILE___i386) | (1),
-    __FILE___INTEGER = (__FILE___i386) | (2),
-    __FILE___SEGMENTS = (__FILE___i386) | (4),
-    __FILE___FLOATING_POINT = (__FILE___i386) | (8),
-    __FILE___DEBUG_REGISTERS = (__FILE___i386) | (0x10),
-    __FILE___FULL = ((__FILE___CONTROL) | (__FILE___INTEGER)) | (__FILE___SEGMENTS),
-    FLAG_TRACE_BIT = (0x100),
-    __FILE___DEBUGGER = (__FILE___FULL) | (__FILE___FLOATING_POINT),
-    FILTER_TEMP_DUPLICATE_ACCOUNT = (0x0001),
-    FILTER_NORMAL_ACCOUNT = (0x0002),
-    FILTER_INTERDOMAIN_TRUST_ACCOUNT = (0x0008),
-    FILTER_WORKSTATION_TRUST_ACCOUNT = (0x0010),
-    FILTER_SERVER_TRUST_ACCOUNT = (0x0020),
-    LOGON32_LOGON_INTERACTIVE = (0x02),
-    LOGON32_LOGON_BATCH = (0x04),
-    LOGON32_LOGON_SERVICE = (0x05),
-    LOGON32_PROVIDER_DEFAULT = (0x00),
-    LOGON32_PROVIDER_WINNT35 = (0x01),
-    QID_SYNC = (0xFFFFFFFF),
-    IMAGE_DOS_SIGNATURE = (0x5a4d),
-    IMAGE_NT_SIGNATURE = (0x4550),
-    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 = (0x4000),
-    VT_RESERVED = (0x8000),
-    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),
-    ACM_OPENW = (1127),
-    ACM_OPENA = (1124),
-    ACM_OPEN = (ACM_OPENA),
-    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_GETITEMA),
-    HDM_INSERTITEM = (HDM_INSERTITEMA),
-    HDM_SETITEM = (HDM_SETITEMA),
-    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_BEGINTRACKA),
-    HDN_DIVIDERDBLCLICK = (HDN_DIVIDERDBLCLICKA),
-    HDN_ENDTRACK = (HDN_ENDTRACKA),
-    HDN_ITEMCHANGED = (HDN_ITEMCHANGEDA),
-    HDN_ITEMCHANGING = (HDN_ITEMCHANGINGA),
-    HDN_ITEMCLICK = (HDN_ITEMCLICKA),
-    HDN_ITEMDBLCLICK = (HDN_ITEMDBLCLICKA),
-    HDN_TRACK = (HDN_TRACKA),
-    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_EDITLABELA),
-    LVM_FINDITEM = (LVM_FINDITEMA),
-    LVM_GETCOLUMN = (LVM_GETCOLUMNA),
-    LVM_GETISEARCHSTRING = (LVM_GETISEARCHSTRINGA),
-    LVM_GETITEM = (LVM_GETITEMA),
-    LVM_GETITEMTEXT = (LVM_GETITEMTEXTA),
-    LVM_GETSTRINGWIDTH = (LVM_GETSTRINGWIDTHA),
-    LVM_INSERTCOLUMN = (LVM_INSERTCOLUMNA),
-    LVM_INSERTITEM = (LVM_INSERTITEMA),
-    LVM_SETCOLUMN = (LVM_SETCOLUMNA),
-    LVM_SETITEM = (LVM_SETITEMA),
-    LVM_SETITEMTEXT = (LVM_SETITEMTEXTA),
-    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_BEGINLABELEDITA),
-    LVN_ENDLABELEDIT = (LVN_ENDLABELEDITA),
-    LVN_GETDISPINFO = (LVN_GETDISPINFOA),
-    LVN_SETDISPINFO = (LVN_SETDISPINFOA),
-    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_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_SETFINISHTEXTA),
-    PSM_SETTITLE = (PSM_SETTITLEA),
-    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_GETTEXTA),
-    SB_GETTEXTLENGTH = (SB_GETTEXTLENGTHA),
-    SB_SETTEXT = (SB_SETTEXTA),
-    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_ADDSTRINGA),
-    TB_GETBUTTONTEXT = (TB_GETBUTTONTEXTA),
-    TB_SAVERESTORE = (TB_SAVERESTOREA),
-    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_GETBUTTONINFOA),
-    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_GETITEMA),
-    TCM_INSERTITEM = (TCM_INSERTITEMA),
-    TCM_SETITEM = (TCM_SETITEMA),
-    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_ADDTOOLA),
-    TTM_DELTOOL = (TTM_DELTOOLA),
-    TTM_ENUMTOOLS = (TTM_ENUMTOOLSA),
-    TTM_GETCURRENTTOOL = (TTM_GETCURRENTTOOLA),
-    TTM_GETTEXT = (TTM_GETTEXTA),
-    TTM_GETTOOLINFO = (TTM_GETTOOLINFOA),
-    TTM_HITTEST = (TTM_HITTESTA),
-    TTM_NEWTOOLRECT = (TTM_NEWTOOLRECTA),
-    TTM_SETTOOLINFO = (TTM_SETTOOLINFOA),
-    TTM_UPDATETIPTEXT = (TTM_UPDATETIPTEXTA),
-    TTM_GETTOOLCOUNT = (1037),
-    TTM_RELAYEVENT = (1031),
-    TTM_SETDELAYTIME = (1027),
-    TTM_WINDOWFROMPOINT = (1040),
-    TTN_NEEDTEXTW = -((530)),
-    TTN_NEEDTEXTA = -((520)),
-    TTN_NEEDTEXT = (TTN_NEEDTEXTA),
-    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_EDITLABELA),
-    TVM_GETISEARCHSTRING = (TVM_GETISEARCHSTRINGA),
-    TVM_GETITEM = (TVM_GETITEMA),
-    TVM_INSERTITEM = (TVM_INSERTITEMA),
-    TVM_SETITEM = (TVM_SETITEMA),
-    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_BEGINDRAGA),
-    TVN_BEGINLABELEDIT = (TVN_BEGINLABELEDITA),
-    TVN_BEGINRDRAG = (TVN_BEGINRDRAGA),
-    TVN_DELETEITEM = (TVN_DELETEITEMA),
-    TVN_ENDLABELEDIT = (TVN_ENDLABELEDITA),
-    TVN_GETDISPINFO = (TVN_GETDISPINFOA),
-    TVN_ITEMEXPANDED = (TVN_ITEMEXPANDEDA),
-    TVN_ITEMEXPANDING = (TVN_ITEMEXPANDINGA),
-    TVN_SELCHANGED = (TVN_SELCHANGEDA),
-    TVN_SELCHANGING = (TVN_SELCHANGINGA),
-    TVN_SETDISPINFO = (TVN_SETDISPINFOA),
-    UDM_GETACCEL = (1132),
-    UDM_GETBASE = (1134),
-    UDM_GETBUDDY = (1130),
-    UDM_GETPOS = (1128),
-    UDM_GETRANGE = (1126),
-    UDM_SETACCEL = (1131),
-    UDM_SETBASE = (1133),
-    UDM_SETBUDDY = (1129),
-    UDM_SETPOS = (1127),
-    UDM_SETRANGE = (1125),
-    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___FILE__MENU = (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_SET__FILE__ = (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 = 0x020A,
-    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 = (521),
-}
-struct VA_LIST
-{
-}
-
-
-struct ABC
-{
-	int abcA;
-	UINT abcB;
-	int abcC;
-}
-
-alias ABC* LPABC;
-alias ABC _ABC;
-alias ABC TABC;
-alias ABC* PABC;
-
-struct ABCFLOAT
-{
-	FLOAT abcfA;
-	FLOAT abcfB;
-	FLOAT abcfC;
-}
-
-alias ABCFLOAT* LPABCFLOAT;
-alias ABCFLOAT _ABCFLOAT;
-alias ABCFLOAT TABCFLOAT;
-alias ABCFLOAT* PABCFLOAT;
-
-struct ACCEL
-{
-	ubyte fVirt;
-	ushort key;
-	ushort cmd;
-}
-
-alias ACCEL* LPACCEL;
-alias ACCEL _ACCEL;
-alias ACCEL TACCEL;
-alias ACCEL* PACCEL;
-
-struct ACE_HEADER
-{
-	ubyte AceType;
-	ubyte AceFlags;
-	ushort AceSize;
-}
-
-alias ACE_HEADER _ACE_HEADER;
-alias ACE_HEADER TACE_HEADER;
-alias ACE_HEADER* PACE_HEADER;
-alias DWORD ACCESS_MASK;
-alias ACCESS_MASK REGSAM;
-
-struct ACCESS_ALLOWED_ACE
-{
-	ACE_HEADER Header;
-	ACCESS_MASK Mask;
-	DWORD SidStart;
-}
-
-alias ACCESS_ALLOWED_ACE _ACCESS_ALLOWED_ACE;
-alias ACCESS_ALLOWED_ACE TACCESS_ALLOWED_ACE;
-alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE;
-
-struct ACCESS_DENIED_ACE
-{
-	ACE_HEADER Header;
-	ACCESS_MASK Mask;
-	DWORD SidStart;
-}
-
-alias ACCESS_DENIED_ACE _ACCESS_DENIED_ACE;
-alias ACCESS_DENIED_ACE TACCESS_DENIED_ACE;
-
-struct ACCESSTIMEOUT
-{
-	UINT cbSize;
-	DWORD dwFlags;
-	DWORD iTimeOutMSec;
-}
-
-alias ACCESSTIMEOUT _ACCESSTIMEOUT;
-alias ACCESSTIMEOUT TACCESSTIMEOUT;
-alias ACCESSTIMEOUT* PACCESSTIMEOUT;
-
-struct ACL
-{
-	ubyte AclRevision;
-	ubyte Sbz1;
-	ushort AclSize;
-	ushort AceCount;
-	ushort Sbz2;
-}
-
-alias ACL* PACL;
-alias ACL _ACL;
-alias ACL TACL;
-
-struct ACL_REVISION_INFORMATION
-{
-	DWORD AclRevision;
-}
-
-alias ACL_REVISION_INFORMATION _ACL_REVISION_INFORMATION;
-alias ACL_REVISION_INFORMATION TACLREVISIONINFORMATION;
-alias ACL_REVISION_INFORMATION* PACLREVISIONINFORMATION;
-
-struct ACL_SIZE_INFORMATION
-{
-	DWORD AceCount;
-	DWORD AclBytesInUse;
-	DWORD AclBytesFree;
-}
-
-alias ACL_SIZE_INFORMATION _ACL_SIZE_INFORMATION;
-alias ACL_SIZE_INFORMATION TACLSIZEINFORMATION;
-alias ACL_SIZE_INFORMATION* PACLSIZEINFORMATION;
-
-struct ACTION_HEADER
-{
-	ULONG transport_id;
-	USHORT action_code;
-	USHORT reserved;
-}
-
-alias ACTION_HEADER _ACTION_HEADER;
-alias ACTION_HEADER TACTIONHEADER;
-alias ACTION_HEADER* PACTIONHEADER;
-
-struct ADAPTER_STATUS
-{
-	UCHAR[1 + 5] adapter_address;
-	UCHAR rev_major;
-	UCHAR reserved0;
-	UCHAR adapter_type;
-	UCHAR rev_minor;
-	ushort duration;
-	ushort frmr_recv;
-	ushort frmr_xmit;
-	ushort iframe_recv_err;
-	ushort xmit_aborts;
-	DWORD xmit_success;
-	DWORD recv_success;
-	ushort iframe_xmit_err;
-	ushort recv_buff_unavail;
-	ushort t1_timeouts;
-	ushort ti_timeouts;
-	DWORD reserved1;
-	ushort free_ncbs;
-	ushort max_cfg_ncbs;
-	ushort max_ncbs;
-	ushort xmit_buf_unavail;
-	ushort max_dgram_size;
-	ushort pending_sess;
-	ushort max_cfg_sess;
-	ushort max_sess;
-	ushort max_sess_pkt_size;
-	ushort name_count;
-}
-
-alias ADAPTER_STATUS _ADAPTER_STATUS;
-alias ADAPTER_STATUS TADAPTERSTATUS;
-alias ADAPTER_STATUS* PADAPTERSTATUS;
-
-struct ADDJOB_INFO_1
-{
-	LPTSTR Path;
-	DWORD JobId;
-}
-
-alias ADDJOB_INFO_1 _ADDJOB_INFO_1;
-alias ADDJOB_INFO_1 TADDJOB_INFO_1;
-alias ADDJOB_INFO_1* PADDJOB_INFO_1;
-
-struct ANIMATIONINFO
-{
-	UINT cbSize;
-	int iMinAnimate;
-}
-
-alias ANIMATIONINFO* LPANIMATIONINFO;
-alias ANIMATIONINFO _ANIMATIONINFO;
-alias ANIMATIONINFO TANIMATIONINFO;
-alias ANIMATIONINFO* PANIMATIONINFO;
-
-struct RECT
-{
-	LONG left;
-	LONG top;
-	LONG right;
-	LONG bottom;
-}
-
-alias RECT* LPRECT;
-alias RECT _RECT;
-alias RECT TRECT;
-alias RECT* PRECT;
-
-struct RECTL
-{
-	LONG left;
-	LONG top;
-	LONG right;
-	LONG bottom;
-}
-
-alias RECTL _RECTL;
-alias RECTL TRECTL;
-alias RECTL* PRECTL;
-
-struct APPBARDATA
-{
-	DWORD cbSize;
-	HWND hWnd;
-	UINT uCallbackMessage;
-	UINT uEdge;
-	RECT rc;
-	LPARAM lParam;
-}
-
-alias APPBARDATA _APPBARDATA;
-alias APPBARDATA TAPPBARDATA;
-alias APPBARDATA* PAPPBARDATA;
-
-struct BITMAP
-{
-	LONG bmType;
-	LONG bmWidth;
-	LONG bmHeight;
-	LONG bmWidthBytes;
-	ushort bmPlanes;
-	ushort bmBitsPixel;
-	LPVOID bmBits;
-}
-
-alias BITMAP* PBITMAP;
-alias BITMAP* NPBITMAP;
-alias BITMAP* LPBITMAP;
-alias BITMAP TAGBITMAP;
-alias BITMAP TBITMAP;
-
-struct BITMAPCOREHEADER
-{
-	DWORD bcSize;
-	ushort bcWidth;
-	ushort bcHeight;
-	ushort bcPlanes;
-	ushort bcBitCount;
-}
-
-alias BITMAPCOREHEADER TAGBITMAPCOREHEADER;
-alias BITMAPCOREHEADER TBITMAPCOREHEADER;
-alias BITMAPCOREHEADER* PBITMAPCOREHEADER;
-
-struct RGBTRIPLE
-{
-	ubyte rgbtBlue;
-	ubyte rgbtGreen;
-	ubyte rgbtRed;
-}
-
-alias RGBTRIPLE TAGRGBTRIPLE;
-alias RGBTRIPLE TRGBTRIPLE;
-alias RGBTRIPLE* PRGBTRIPLE;
-
-struct BITMAPCOREINFO
-{
-	BITMAPCOREHEADER bmciHeader;
-	RGBTRIPLE[1 + 0] bmciColors;
-}
-
-alias BITMAPCOREINFO* PBITMAPCOREINFO;
-alias BITMAPCOREINFO* LPBITMAPCOREINFO;
-alias BITMAPCOREINFO _BITMAPCOREINFO;
-alias BITMAPCOREINFO TBITMAPCOREINFO;
-
-struct BITMAPINFOHEADER
-{
-	DWORD biSize;
-	LONG biWidth;
-	LONG biHeight;
-	ushort biPlanes;
-	ushort biBitCount;
-	DWORD biCompression;
-	DWORD biSizeImage;
-	LONG biXPelsPerMeter;
-	LONG biYPelsPerMeter;
-	DWORD biClrUsed;
-	DWORD biClrImportant;
-}
-
-alias BITMAPINFOHEADER* LPBITMAPINFOHEADER;
-alias BITMAPINFOHEADER TBITMAPINFOHEADER;
-alias BITMAPINFOHEADER* PBITMAPINFOHEADER;
-
-struct RGBQUAD
-{
-	ubyte rgbBlue;
-	ubyte rgbGreen;
-	ubyte rgbRed;
-	ubyte rgbReserved;
-}
-
-alias RGBQUAD TAGRGBQUAD;
-alias RGBQUAD TRGBQUAD;
-alias RGBQUAD* PRGBQUAD;
-
-struct BITMAPINFO
-{
-	BITMAPINFOHEADER bmiHeader;
-	RGBQUAD[1 + 0] bmiColors;
-}
-
-alias BITMAPINFO* LPBITMAPINFO;
-alias BITMAPINFO* PBITMAPINFO;
-alias BITMAPINFO TBITMAPINFO;
-alias int FXPT2DOT30;
-alias FXPT2DOT30* LPFXPT2DOT30;
-alias FXPT2DOT30 TPFXPT2DOT30;
-alias FXPT2DOT30* PPFXPT2DOT30;
-
-struct CIEXYZ
-{
-	FXPT2DOT30 ciexyzX;
-	FXPT2DOT30 ciexyzY;
-	FXPT2DOT30 ciexyzZ;
-}
-
-alias CIEXYZ TAGCIEXYZ;
-alias CIEXYZ* LPCIEXYZ;
-alias CIEXYZ TPCIEXYZ;
-alias CIEXYZ* PCIEXYZ;
-
-struct CIEXYZTRIPLE
-{
-	CIEXYZ ciexyzRed;
-	CIEXYZ ciexyzGreen;
-	CIEXYZ ciexyzBlue;
-}
-
-alias CIEXYZTRIPLE TAGCIEXYZTRIPLE;
-alias CIEXYZTRIPLE* LPCIEXYZTRIPLE;
-alias CIEXYZTRIPLE TCIEXYZTRIPLE;
-alias CIEXYZTRIPLE* PCIEXYZTRIPLE;
-
-struct BITMAPV4HEADER
-{
-	DWORD bV4Size;
-	LONG bV4Width;
-	LONG bV4Height;
-	ushort bV4Planes;
-	ushort bV4BitCount;
-	DWORD bV4V4Compression;
-	DWORD bV4SizeImage;
-	LONG bV4XPelsPerMeter;
-	LONG bV4YPelsPerMeter;
-	DWORD bV4ClrUsed;
-	DWORD bV4ClrImportant;
-	DWORD bV4RedMask;
-	DWORD bV4GreenMask;
-	DWORD bV4BlueMask;
-	DWORD bV4AlphaMask;
-	DWORD bV4CSType;
-	CIEXYZTRIPLE bV4Endpoints;
-	DWORD bV4GammaRed;
-	DWORD bV4GammaGreen;
-	DWORD bV4GammaBlue;
-}
-
-alias BITMAPV4HEADER* LPBITMAPV4HEADER;
-alias BITMAPV4HEADER TBITMAPV4HEADER;
-alias BITMAPV4HEADER* PBITMAPV4HEADER;
-
-align(1) struct BITMAPFILEHEADER
-{
-	ushort bfType;
-	DWORD bfSize;
-	ushort bfReserved1;
-	ushort bfReserved2;
-	DWORD bfOffBits;
-}
-
-
-struct BLOB
-{
-	ULONG cbSize;
-	ubyte* pBlobData;
-}
-
-alias BLOB _BLOB;
-alias BLOB TBLOB;
-alias BLOB* PBLOB;
-
-struct SHITEMID
-{
-	USHORT cb;
-	ubyte[1 + 0] abID;
-}
-
-alias SHITEMID* LPSHITEMID;
-alias SHITEMID* LPCSHITEMID;
-alias SHITEMID _SHITEMID;
-alias SHITEMID TSHITEMID;
-alias SHITEMID* PSHITEMID;
-
-struct ITEMIDLIST
-{
-	SHITEMID mkid;
-}
-
-alias ITEMIDLIST* LPITEMIDLIST;
-alias ITEMIDLIST* LPCITEMIDLIST;
-alias ITEMIDLIST _ITEMIDLIST;
-alias ITEMIDLIST TITEMIDLIST;
-alias ITEMIDLIST* PITEMIDLIST;
-
-struct BROWSEINFO
-{
-	HWND hwndOwner;
-	LPCITEMIDLIST pidlRoot;
-	LPSTR pszDisplayName;
-	LPCSTR lpszTitle;
-	UINT ulFlags;
-	BFFCALLBACK lpfn;
-	LPARAM lParam;
-	int iImage;
-}
-
-alias BROWSEINFO* LPBROWSEINFO;
-alias BROWSEINFO _BROWSEINFO;
-alias BROWSEINFO TBROWSEINFO;
-alias BROWSEINFO* PBROWSEINFO;
-
-struct FILETIME
-{
-	DWORD dwLowDateTime;
-	DWORD dwHighDateTime;
-}
-
-alias FILETIME* LPFILETIME;
-alias FILETIME _FILETIME;
-alias FILETIME TFILETIME;
-alias FILETIME* PFILETIME;
-
-struct BY_HANDLE_FILE_INFORMATION
-{
-	DWORD dwFileAttributes;
-	FILETIME ftCreationTime;
-	FILETIME ftLastAccessTime;
-	FILETIME ftLastWriteTime;
-	DWORD dwVolumeSerialNumber;
-	DWORD nFileSizeHigh;
-	DWORD nFileSizeLow;
-	DWORD nNumberOfLinks;
-	DWORD nFileIndexHigh;
-	DWORD nFileIndexLow;
-}
-
-alias BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION;
-alias BY_HANDLE_FILE_INFORMATION _BY_HANDLE_FILE_INFORMATION;
-alias BY_HANDLE_FILE_INFORMATION TBYHANDLEFILEINFORMATION;
-alias BY_HANDLE_FILE_INFORMATION* PBYHANDLEFILEINFORMATION;
-
-struct FIXED
-{
-	ushort fract;
-	int value;
-}
-
-alias FIXED _FIXED;
-alias FIXED TFIXED;
-alias FIXED* PFIXED;
-
-struct POINT
-{
-	LONG x;
-	LONG y;
-}
-
-alias POINT* LPPOINT;
-alias POINT TAGPOINT;
-alias POINT TPOINT;
-alias POINT* PPOINT;
-
-struct POINTFX
-{
-	FIXED x;
-	FIXED y;
-}
-
-alias POINTFX TAGPOINTFX;
-alias POINTFX TPOINTFX;
-alias POINTFX* PPOINTFX;
-
-struct POINTL
-{
-	LONG x;
-	LONG y;
-}
-
-alias POINTL _POINTL;
-alias POINTL TPOINTL;
-alias POINTL* PPOINTL;
-
-struct TSMALLPOINT
-{
-	byte X, Y;
-}
-
-
-struct POINTS
-{
-	SHORT x;
-	SHORT y;
-}
-
-alias POINTS TAGPOINTS;
-alias POINTS TPOINTS;
-alias POINTS* PPOINTS;
-
-struct CANDIDATEFORM
-{
-	DWORD dwIndex;
-	DWORD dwStyle;
-	POINT ptCurrentPos;
-	RECT rcArea;
-}
-
-alias CANDIDATEFORM* LPCANDIDATEFORM;
-alias CANDIDATEFORM _TAGCANDIDATEFORM;
-alias CANDIDATEFORM TCANDIDATEFORM;
-alias CANDIDATEFORM* PCANDIDATEFORM;
-
-struct CANDIDATELIST
-{
-	DWORD dwSize;
-	DWORD dwStyle;
-	DWORD dwCount;
-	DWORD dwSelection;
-	DWORD dwPageStart;
-	DWORD dwPageSize;
-	DWORD[1 + 0] dwOffset;
-}
-
-alias CANDIDATELIST* LPCANDIDATELIST;
-alias CANDIDATELIST _TAGCANDIDATELIST;
-alias CANDIDATELIST TCANDIDATELIST;
-alias CANDIDATELIST* PCANDIDATELIST;
-
-struct CREATESTRUCT
-{
-	LPVOID lpCreateParams;
-	HINST hInstance;
-	HMENU hMenu;
-	HWND hwndParent;
-	int cy;
-	int cx;
-	int y;
-	int x;
-	LONG style;
-	LPCTSTR lpszName;
-	LPCTSTR lpszClass;
-	DWORD dwExStyle;
-}
-
-alias CREATESTRUCT* LPCREATESTRUCT;
-alias CREATESTRUCT TAGCREATESTRUCT;
-alias CREATESTRUCT TCREATESTRUCT;
-alias CREATESTRUCT* PCREATESTRUCT;
-
-struct CBT_CREATEWND
-{
-	LPCREATESTRUCT lpcs;
-	HWND hwndInsertAfter;
-}
-
-alias CBT_CREATEWND TAGCBT_CREATEWND;
-alias CBT_CREATEWND TCBT_CREATEWND;
-alias CBT_CREATEWND* PCBT_CREATEWND;
-
-struct CBTACTIVATESTRUCT
-{
-	WINBOOL fMouse;
-	HWND hWndActive;
-}
-
-alias CBTACTIVATESTRUCT TAGCBTACTIVATESTRUCT;
-alias CBTACTIVATESTRUCT TCBTACTIVATESTRUCT;
-alias CBTACTIVATESTRUCT* PCBTACTIVATESTRUCT;
-
-struct CHAR_INFO
-{
-
-	union
-	{
-		struct
-		{
-			WCHAR UnicodeChar;
-			ushort Attributes;
-		}
-		struct
-		{
-			char AsciiChar;
-		}
-	}
-}
-
-alias CHAR_INFO _CHAR_INFO;
-alias CHAR_INFO TCHAR_INFO;
-alias CHAR_INFO* PCHAR_INFO;
-
-struct CHARFORMAT
-{
-	UINT cbSize;
-	DWORD dwMask;
-	DWORD dwEffects;
-	LONG yHeight;
-	LONG yOffset;
-	COLORREF crTextColor;
-	ubyte bCharSet;
-	ubyte bPitchAndFamily;
-	TCHAR[1 + LF_FACESIZE-1] szFaceName;
-}
-
-alias CHARFORMAT _CHARFORMAT;
-alias CHARFORMAT TCHARFORMAT;
-alias CHARFORMAT* PCHARFORMAT;
-
-struct CHARRANGE
-{
-	LONG cpMin;
-	LONG cpMax;
-}
-
-alias CHARRANGE _CHARRANGE;
-alias CHARRANGE TCHARRANGE;
-alias CHARRANGE* PCHARRANGE;
-
-struct CHARSET
-{
-	DWORD[1 + 2] aflBlock;
-	DWORD flLang;
-}
-
-alias CHARSET TAGCHARSET;
-alias CHARSET TCHARSET;
-alias CHARSET* PCHARSET;
-
-struct FONTSIGNATURE
-{
-	DWORD[1 + 3] fsUsb;
-	DWORD[1 + 1] fsCsb;
-}
-
-alias FONTSIGNATURE* LPFONTSIGNATURE;
-alias FONTSIGNATURE TAGFONTSIGNATURE;
-alias FONTSIGNATURE TFONTSIGNATURE;
-alias FONTSIGNATURE* PFONTSIGNATURE;
-
-struct CHARSETINFO
-{
-	UINT ciCharset;
-	UINT ciACP;
-	FONTSIGNATURE fs;
-}
-
-alias CHARSETINFO* LPCHARSETINFO;
-alias CHARSETINFO TCHARSETINFO;
-alias CHARSETINFO* PCHARSETINFO;
-
-struct TCHOOSECOLOR
-{
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HWND hInstance;
-	COLORREF rgbResult;
-	COLORREF* lpCustColors;
-	DWORD Flags;
-	LPARAM lCustData;
-	LPCCHOOKPROC lpfnHook;
-	LPCTSTR lpTemplateName;
-}
-
-alias TCHOOSECOLOR* LPCHOOSECOLOR;
-alias TCHOOSECOLOR* PCHOOSECOLOR;
-
-struct LOGFONTA
-{
-	LONG lfHeight;
-	LONG lfWidth;
-	LONG lfEscapement;
-	LONG lfOrientation;
-	LONG lfWeight;
-	ubyte lfItalic;
-	ubyte lfUnderline;
-	ubyte lfStrikeOut;
-	ubyte lfCharSet;
-	ubyte lfOutPrecision;
-	ubyte lfClipPrecision;
-	ubyte lfQuality;
-	ubyte lfPitchAndFamily;
-	TCHAR[1 + LF_FACESIZE-1] lfFaceName;
-}
-
-alias LOGFONTA  TLOGFONTA;
-alias LOGFONTA* PLOGFONTA;
-alias LOGFONTA* LPLOGFONTA;
-
-struct LOGFONTW
-{
-    LONG lfHeight;
-    LONG lfWidth;
-    LONG lfEscapement;
-    LONG lfOrientation;
-    LONG lfWeight;
-    ubyte lfItalic;
-    ubyte lfUnderline;
-    ubyte lfStrikeOut;
-    ubyte lfCharSet;
-    ubyte lfOutPrecision;
-    ubyte lfClipPrecision;
-    ubyte lfQuality;
-    ubyte lfPitchAndFamily;
-    WCHAR lfFaceName[LF_FACESIZE];
-};
-
-alias LOGFONTW  TLOGFONTW;
-alias LOGFONTW* LPLOGFONTW;
-alias LOGFONTW* PLOGFONTW;
-
-version( ANSI ){
-    alias LOGFONTA  LOGFONT;
-    alias LOGFONTA  TLOGFONT;
-    alias LOGFONTA* PLOGFONT;
-    alias LOGFONTA* LPLOGFONT;
-}
-else{
-    alias LOGFONTW  LOGFONT;
-    alias LOGFONTW  TLOGFONT;
-    alias LOGFONTW* PLOGFONT;
-    alias LOGFONTW* LPLOGFONT;
-}
-
-
-struct TCHOOSEFONT
-{
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HDC hDC;
-	LPLOGFONT lpLogFont;
-	INT iPointSize;
-	DWORD Flags;
-	DWORD rgbColors;
-	LPARAM lCustData;
-	LPCFHOOKPROC lpfnHook;
-	LPCTSTR lpTemplateName;
-	HINST hInstance;
-	LPTSTR lpszStyle;
-	ushort nFontType;
-	ushort ___MISSING_ALIGNMENT__;
-	INT nSizeMin;
-	INT nSizeMax;
-}
-
-alias TCHOOSEFONT* LPCHOOSEFONT;
-alias TCHOOSEFONT* PCHOOSEFONT;
-
-struct CIDA
-{
-	UINT cidl;
-	UINT[1 + 0] aoffset;
-}
-
-alias CIDA* LPIDA;
-alias CIDA _IDA;
-alias CIDA TIDA;
-alias CIDA* PIDA;
-
-struct CLIENTCREATESTRUCT
-{
-	HANDLE hWindowMenu;
-	UINT idFirstChild;
-}
-
-alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT;
-alias CLIENTCREATESTRUCT TAGCLIENTCREATESTRUCT;
-alias CLIENTCREATESTRUCT TCLIENTCREATESTRUCT;
-alias CLIENTCREATESTRUCT* PCLIENTCREATESTRUCT;
-
-struct CMINVOKECOMMANDINFO
-{
-	DWORD cbSize;
-	DWORD fMask;
-	HWND hwnd;
-	LPCSTR lpVerb;
-	LPCSTR lpParameters;
-	LPCSTR lpDirectory;
-	int nShow;
-	DWORD dwHotKey;
-	HANDLE hIcon;
-}
-
-alias CMINVOKECOMMANDINFO* LPCMINVOKECOMMANDINFO;
-alias CMINVOKECOMMANDINFO _CMINVOKECOMMANDINFO;
-alias CMINVOKECOMMANDINFO TCMINVOKECOMMANDINFO;
-alias CMINVOKECOMMANDINFO* PCMINVOKECOMMANDINFO;
-
-struct COLORADJUSTMENT
-{
-	ushort caSize;
-	ushort caFlags;
-	ushort caIlluminantIndex;
-	ushort caRedGamma;
-	ushort caGreenGamma;
-	ushort caBlueGamma;
-	ushort caReferenceBlack;
-	ushort caReferenceWhite;
-	SHORT caContrast;
-	SHORT caBrightness;
-	SHORT caColorfulness;
-	SHORT caRedGreenTint;
-}
-
-alias COLORADJUSTMENT* LPCOLORADJUSTMENT;
-alias COLORADJUSTMENT TAGCOLORADJUSTMENT;
-alias COLORADJUSTMENT TCOLORADJUSTMENT;
-alias COLORADJUSTMENT* PCOLORADJUSTMENT;
-
-struct COLORMAP
-{
-	COLORREF from;
-	COLORREF _to;
-}
-
-alias COLORMAP* LPCOLORMAP;
-alias COLORMAP _COLORMAP;
-alias COLORMAP TCOLORMAP;
-alias COLORMAP* PCOLORMAP;
-
-struct DCB
-{
-	DWORD DCBlength;
-	DWORD BaudRate;
-	int flag0;
-	ushort wReserved;
-	ushort XonLim;
-	ushort XoffLim;
-	ubyte ByteSize;
-	ubyte Parity;
-	ubyte StopBits;
-	char XonChar;
-	char XoffChar;
-	char ErrorChar;
-	char EofChar;
-	char EvtChar;
-	ushort wReserved1;
-}
-
-alias DCB* LPDCB;
-alias DCB _DCB;
-alias DCB TDCB;
-alias DCB* PDCB;
-enum : DWORD {
-    bm_DCB_fBinary = (0x1),
-    bp_DCB_fBinary = (0),
-    bm_DCB_fParity = (0x2),
-    bp_DCB_fParity = (1),
-    bm_DCB_fOutxCtsFlow = (0x4),
-    bp_DCB_fOutxCtsFlow = (2),
-    bm_DCB_fOutxDsrFlow = (0x8),
-    bp_DCB_fOutxDsrFlow = (3),
-    bm_DCB_fDtrControl = (0x30),
-    bp_DCB_fDtrControl = (4),
-    bm_DCB_fDsrSensitivity = (0x40),
-    bp_DCB_fDsrSensitivity = (6),
-    bm_DCB_fTXContinueOnXoff = (0x80),
-    bp_DCB_fTXContinueOnXoff = (7),
-    bm_DCB_fOutX = (0x100),
-    bp_DCB_fOutX = (8),
-    bm_DCB_fInX = (0x200),
-    bp_DCB_fInX = (9),
-    bm_DCB_fErrorChar = (0x400),
-    bp_DCB_fErrorChar = (10),
-    bm_DCB_fNull = (0x800),
-    bp_DCB_fNull = (11),
-    bm_DCB_fRtsControl = (0x3000),
-    bp_DCB_fRtsControl = (12),
-    bm_DCB_fAbortOnError = (0x4000),
-    bp_DCB_fAbortOnError = (14),
-    bm_DCB_fDummy2 = (0xFFFF8000),
-    bp_DCB_fDummy2 = (15),
-}
-
-struct COMMCONFIG
-{
-	DWORD dwSize;
-	ushort wVersion;
-	ushort wReserved;
-	DCB dcb;
-	DWORD dwProviderSubType;
-	DWORD dwProviderOffset;
-	DWORD dwProviderSize;
-	WCHAR[1 + 0] wcProviderData;
-}
-
-alias COMMCONFIG* LPCOMMCONFIG;
-alias COMMCONFIG _COMM_CONFIG;
-alias COMMCONFIG TCOMMCONFIG;
-alias COMMCONFIG* PCOMMCONFIG;
-
-struct COMMPROP
-{
-	ushort wPacketLength;
-	ushort wPacketVersion;
-	DWORD dwServiceMask;
-	DWORD dwReserved1;
-	DWORD dwMaxTxQueue;
-	DWORD dwMaxRxQueue;
-	DWORD dwMaxBaud;
-	DWORD dwProvSubType;
-	DWORD dwProvCapabilities;
-	DWORD dwSettableParams;
-	DWORD dwSettableBaud;
-	ushort wSettableData;
-	ushort wSettableStopParity;
-	DWORD dwCurrentTxQueue;
-	DWORD dwCurrentRxQueue;
-	DWORD dwProvSpec1;
-	DWORD dwProvSpec2;
-	WCHAR[1 + 0] wcProvChar;
-}
-
-alias COMMPROP* LPCOMMPROP;
-alias COMMPROP _COMMPROP;
-alias COMMPROP TCOMMPROP;
-alias COMMPROP* PCOMMPROP;
-
-struct COMMTIMEOUTS
-{
-	DWORD ReadIntervalTimeout;
-	DWORD ReadTotalTimeoutMultiplier;
-	DWORD ReadTotalTimeoutConstant;
-	DWORD WriteTotalTimeoutMultiplier;
-	DWORD WriteTotalTimeoutConstant;
-}
-
-alias COMMTIMEOUTS* LPCOMMTIMEOUTS;
-alias COMMTIMEOUTS _COMMTIMEOUTS;
-alias COMMTIMEOUTS TCOMMTIMEOUTS;
-alias COMMTIMEOUTS* PCOMMTIMEOUTS;
-
-struct COMPAREITEMSTRUCT
-{
-	UINT CtlType;
-	UINT CtlID;
-	HWND hwndItem;
-	UINT itemID1;
-	DWORD itemData1;
-	UINT itemID2;
-	DWORD itemData2;
-}
-
-alias COMPAREITEMSTRUCT TAGCOMPAREITEMSTRUCT;
-alias COMPAREITEMSTRUCT TCOMPAREITEMSTRUCT;
-alias COMPAREITEMSTRUCT* PCOMPAREITEMSTRUCT;
-
-struct COMPCOLOR
-{
-	COLORREF crText;
-	COLORREF crBackground;
-	DWORD dwEffects;
-}
-
-alias COMPCOLOR TCOMPCOLOR;
-alias COMPCOLOR* PCOMPCOLOR;
-
-struct COMPOSITIONFORM
-{
-	DWORD dwStyle;
-	POINT ptCurrentPos;
-	RECT rcArea;
-}
-
-alias COMPOSITIONFORM* LPCOMPOSITIONFORM;
-alias COMPOSITIONFORM _TAGCOMPOSITIONFORM;
-alias COMPOSITIONFORM TCOMPOSITIONFORM;
-alias COMPOSITIONFORM* PCOMPOSITIONFORM;
-
-struct COMSTAT
-{
-	int flag0;
-	DWORD cbInQue;
-	DWORD cbOutQue;
-}
-
-alias COMSTAT* LPCOMSTAT;
-alias COMSTAT _COMSTAT;
-alias COMSTAT TCOMSTAT;
-alias COMSTAT* PCOMSTAT;
-enum : DWORD {
-    bm_COMSTAT_fCtsHold = (0x1),
-    bp_COMSTAT_fCtsHold = (0),
-    bm_COMSTAT_fDsrHold = (0x2),
-    bp_COMSTAT_fDsrHold = (1),
-    bm_COMSTAT_fRlsdHold = (0x4),
-    bp_COMSTAT_fRlsdHold = (2),
-    bm_COMSTAT_fXoffHold = (0x8),
-    bp_COMSTAT_fXoffHold = (3),
-    bm_COMSTAT_fXoffSent = (0x10),
-    bp_COMSTAT_fXoffSent = (4),
-    bm_COMSTAT_fEof = (0x20),
-    bp_COMSTAT_fEof = (5),
-    bm_COMSTAT_fTxim = (0x40),
-    bp_COMSTAT_fTxim = (6),
-    bm_COMSTAT_fReserved = (0xFFFFFF80),
-    bp_COMSTAT_fReserved = (7),
-}
-struct CONSOLE_CURSOR_INFO
-{
-	DWORD dwSize;
-	WINBOOL bVisible;
-}
-
-alias CONSOLE_CURSOR_INFO* PCONSOLE_CURSOR_INFO;
-alias CONSOLE_CURSOR_INFO _CONSOLE_CURSOR_INFO;
-alias CONSOLE_CURSOR_INFO TCONSOLECURSORINFO;
-alias CONSOLE_CURSOR_INFO* PCONSOLECURSORINFO;
-alias CONSOLE_CURSOR_INFO TCURSORINFO;
-
-struct COORD
-{
-	SHORT X;
-	SHORT Y;
-}
-
-alias COORD _COORD;
-alias COORD TCOORD;
-alias COORD* PCOORD;
-
-struct SMALL_RECT
-{
-	SHORT Left;
-	SHORT Top;
-	SHORT Right;
-	SHORT Bottom;
-}
-
-alias SMALL_RECT _SMALL_RECT;
-alias SMALL_RECT TSMALL_RECT;
-alias SMALL_RECT* PSMALL_RECT;
-
-align(1) struct CONSOLE_SCREEN_BUFFER_INFO
-{
-	COORD dwSize;
-	COORD dwCursorPosition;
-	ushort wAttributes;
-	SMALL_RECT srWindow;
-	COORD dwMaximumWindowSize;
-}
-
-alias CONSOLE_SCREEN_BUFFER_INFO* PCONSOLE_SCREEN_BUFFER_INFO;
-alias CONSOLE_SCREEN_BUFFER_INFO _CONSOLE_SCREEN_BUFFER_INFO;
-alias CONSOLE_SCREEN_BUFFER_INFO TCONSOLESCREENBUFFERINFO;
-alias CONSOLE_SCREEN_BUFFER_INFO* PCONSOLESCREENBUFFERINFO;
-
-struct FLOATING_SAVE_AREA
-{
-	DWORD ControlWord;
-	DWORD StatusWord;
-	DWORD TagWord;
-	DWORD ErrorOffset;
-	DWORD ErrorSelector;
-	DWORD DataOffset;
-	DWORD DataSelector;
-	ubyte[1 + 79] RegisterArea;
-	DWORD Cr0NpxState;
-}
-
-alias FLOATING_SAVE_AREA _FLOATING_SAVE_AREA;
-alias FLOATING_SAVE_AREA TFLOATINGSAVEAREA;
-alias FLOATING_SAVE_AREA* PFLOATINGSAVEAREA;
-
-enum : DWORD
-{
-//
-// The following flags control the contents of the CONTEXT structure.
-//
-	CONTEXT_i386 = 0x00010000,    // this assumes that i386 and
-	CONTEXT_i486 = 0x00010000,    // i486 have identical context records
-
-	CONTEXT_CONTROL =         (CONTEXT_i386 | 0x00000001), // SS:SP, CS:IP, FLAGS, BP
-	CONTEXT_INTEGER =         (CONTEXT_i386 | 0x00000002), // AX, BX, CX, DX, SI, DI
-	CONTEXT_SEGMENTS =        (CONTEXT_i386 | 0x00000004), // DS, ES, FS, GS
-	CONTEXT_FLOATING_POINT =  (CONTEXT_i386 | 0x00000008), // 387 state
-	CONTEXT_DEBUG_REGISTERS = (CONTEXT_i386 | 0x00000010), // DB 0-3,6,7
-
-	CONTEXT_FULL = (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS),
-}
-
-struct CONTEXT
-{
-	DWORD ContextFlags;
-	DWORD Dr0;
-	DWORD Dr1;
-	DWORD Dr2;
-	DWORD Dr3;
-	DWORD Dr6;
-	DWORD Dr7;
-	FLOATING_SAVE_AREA FloatSave;
-	DWORD 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;
-}
-
-alias CONTEXT* LPCONTEXT;
-alias CONTEXT _CONTEXT;
-alias CONTEXT TCONTEXT;
-alias CONTEXT* PCONTEXT;
-
-struct LIST_ENTRY
-{
-	_LIST_ENTRY* Flink;
-	_LIST_ENTRY* Blink;
-}
-
-alias LIST_ENTRY _LIST_ENTRY;
-alias LIST_ENTRY TLISTENTRY;
-alias LIST_ENTRY* PLISTENTRY;
-
-struct CRITICAL_SECTION_DEBUG
-{
-	ushort _Type;
-	ushort CreatorBackTraceIndex;
-	_CRITICAL_SECTION* CriticalSection;
-	LIST_ENTRY ProcessLocksList;
-	DWORD EntryCount;
-	DWORD ContentionCount;
-	DWORD Depth;
-	PVOID[1 + 4] OwnerBackTrace;
-}
-
-alias CRITICAL_SECTION_DEBUG* LPCRITICAL_SECTION_DEBUG;
-alias CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
-alias CRITICAL_SECTION_DEBUG _CRITICAL_SECTION_DEBUG;
-alias CRITICAL_SECTION_DEBUG TCRITICALSECTIONDEBUG;
-alias CRITICAL_SECTION_DEBUG* PCRITICALSECTIONDEBUG;
-
-struct CRITICAL_SECTION
-{
-	PCRITICAL_SECTION_DEBUG DebugInfo;
-	LONG LockCount;
-	LONG RecursionCount;
-	HANDLE OwningThread;
-	HANDLE LockSemaphore;
-	DWORD Reserved;
-}
-
-alias CRITICAL_SECTION* LPCRITICAL_SECTION;
-alias CRITICAL_SECTION* PCRITICAL_SECTION;
-alias CRITICAL_SECTION _CRITICAL_SECTION;
-alias CRITICAL_SECTION TCRITICALSECTION;
-alias CRITICAL_SECTION* PCRITICALSECTION;
-
-struct SECURITY_QUALITY_OF_SERVICE
-{
-	DWORD Length;
-	SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
-	WINBOOL ContextTrackingMode;
-	ubyte EffectiveOnly;
-}
-
-alias SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE;
-alias SECURITY_QUALITY_OF_SERVICE _SECURITY_QUALITY_OF_SERVICE;
-alias SECURITY_QUALITY_OF_SERVICE TSECURITYQUALITYOFSERVICE;
-alias SECURITY_QUALITY_OF_SERVICE* PSECURITYQUALITYOFSERVICE;
-
-struct CONVCONTEXT
-{
-	UINT cb;
-	UINT wFlags;
-	UINT wCountryID;
-	int iCodePage;
-	DWORD dwLangID;
-	DWORD dwSecurity;
-	SECURITY_QUALITY_OF_SERVICE qos;
-}
-
-alias CONVCONTEXT TAGCONVCONTEXT;
-alias CONVCONTEXT TCONVCONTEXT;
-alias CONVCONTEXT* PCONVCONTEXT;
-
-struct CONVINFO
-{
-	DWORD cb;
-	DWORD hUser;
-	HCONV hConvPartner;
-	HSZ hszSvcPartner;
-	HSZ hszServiceReq;
-	HSZ hszTopic;
-	HSZ hszItem;
-	UINT wFmt;
-	UINT wType;
-	UINT wStatus;
-	UINT wConvst;
-	UINT wLastError;
-	HCONVLIST hConvList;
-	CONVCONTEXT ConvCtxt;
-	HWND _hwnd;
-	HWND hwndPartner;
-}
-
-alias CONVINFO TAGCONVINFO;
-alias CONVINFO TCONVINFO;
-alias CONVINFO* PCONVINFO;
-
-struct COPYDATASTRUCT
-{
-	DWORD dwData;
-	DWORD cbData;
-	PVOID lpData;
-}
-
-alias COPYDATASTRUCT TAGCOPYDATASTRUCT;
-alias COPYDATASTRUCT TCOPYDATASTRUCT;
-alias COPYDATASTRUCT* PCOPYDATASTRUCT;
-
-struct CPINFO
-{
-	UINT MaxCharSize;
-	ubyte[1 + MAX_DEFAULTCHAR-1] DefaultChar;
-	ubyte[1 + MAX_LEADBYTES-1] LeadByte;
-}
-
-alias CPINFO* LPCPINFO;
-alias CPINFO _CPINFO;
-alias CPINFO TCPINFO;
-alias CPINFO* PCPINFO;
-
-struct CPLINFO
-{
-	int idIcon;
-	int idName;
-	int idInfo;
-	LONG lData;
-}
-
-alias CPLINFO TAGCPLINFO;
-alias CPLINFO TCPLINFO;
-alias CPLINFO* PCPLINFO;
-
-struct CREATE_PROCESS_DEBUG_INFO
-{
-	HANDLE hFile;
-	HANDLE hProcess;
-	HANDLE hThread;
-	LPVOID lpBaseOfImage;
-	DWORD dwDebugInfoFileOffset;
-	DWORD nDebugInfoSize;
-	LPVOID lpThreadLocalBase;
-	LPTHREAD_START_ROUTINE lpStartAddress;
-	LPVOID lpImageName;
-	ushort fUnicode;
-}
-
-alias CREATE_PROCESS_DEBUG_INFO _CREATE_PROCESS_DEBUG_INFO;
-alias CREATE_PROCESS_DEBUG_INFO TCREATEPROCESSDEBUGINFO;
-alias CREATE_PROCESS_DEBUG_INFO* PCREATEPROCESSDEBUGINFO;
-
-struct CREATE_THREAD_DEBUG_INFO
-{
-	HANDLE hThread;
-	LPVOID lpThreadLocalBase;
-	LPTHREAD_START_ROUTINE lpStartAddress;
-}
-
-alias CREATE_THREAD_DEBUG_INFO _CREATE_THREAD_DEBUG_INFO;
-alias CREATE_THREAD_DEBUG_INFO TCREATETHREADDEBUGINFO;
-alias CREATE_THREAD_DEBUG_INFO* PCREATETHREADDEBUGINFO;
-
-struct CURRENCYFMT
-{
-	UINT NumDigits;
-	UINT LeadingZero;
-	UINT Grouping;
-	LPTSTR lpDecimalSep;
-	LPTSTR lpThousandSep;
-	UINT NegativeOrder;
-	UINT PositiveOrder;
-	LPTSTR lpCurrencySymbol;
-}
-
-alias CURRENCYFMT _CURRENCYFMT;
-alias CURRENCYFMT TCURRENCYFMT;
-alias CURRENCYFMT* PCURRENCYFMT;
-
-struct CURSORSHAPE
-{
-	int xHotSpot;
-	int yHotSpot;
-	int cx;
-	int cy;
-	int cbWidth;
-	ubyte Planes;
-	ubyte BitsPixel;
-}
-
-alias CURSORSHAPE* LPCURSORSHAPE;
-alias CURSORSHAPE TAGCURSORSHAPE;
-alias CURSORSHAPE TCURSORSHAPE;
-alias CURSORSHAPE* PCURSORSHAPE;
-
-struct CWPRETSTRUCT
-{
-	LRESULT lResult;
-	LPARAM lParam;
-	WPARAM wParam;
-	DWORD message;
-	HWND hwnd;
-}
-
-alias CWPRETSTRUCT TAGCWPRETSTRUCT;
-alias CWPRETSTRUCT TCWPRETSTRUCT;
-alias CWPRETSTRUCT* PCWPRETSTRUCT;
-
-struct CWPSTRUCT
-{
-	LPARAM lParam;
-	WPARAM wParam;
-	UINT message;
-	HWND hwnd;
-}
-
-alias CWPSTRUCT TAGCWPSTRUCT;
-alias CWPSTRUCT TCWPSTRUCT;
-alias CWPSTRUCT* PCWPSTRUCT;
-
-struct DATATYPES_INFO_1
-{
-	LPTSTR pName;
-}
-
-alias DATATYPES_INFO_1 _DATATYPES_INFO_1;
-alias DATATYPES_INFO_1 TDATATYPESINFO1;
-alias DATATYPES_INFO_1* PDATATYPESINFO1;
-
-struct DDEACK
-{
-	ushort flag0;
-}
-
-alias DDEACK TDDEACK;
-alias DDEACK* PDDEACK;
-enum : DWORD {
-    bm_DDEACK_bAppReturnCode = (0xFF),
-    bp_DDEACK_bAppReturnCode = (0),
-    bm_DDEACK_reserved = (0x3F00),
-    bp_DDEACK_reserved = (8),
-    bm_DDEACK_fBusy = (0x4000),
-    bp_DDEACK_fBusy = (14),
-    bm_DDEACK_fAck = (0x8000),
-    bp_DDEACK_fAck = (15),
-}
-
-struct DDEADVISE
-{
-	ushort flag0;
-	int cfFormat;
-}
-
-alias DDEADVISE TDDEADVISE;
-alias DDEADVISE* PDDEADVISE;
-enum : DWORD {
-    bm_DDEADVISE_reserved = (0x3FFF),
-    bp_DDEADVISE_reserved = (0),
-    bm_DDEADVISE_fDeferUpd = (0x4000),
-    bp_DDEADVISE_fDeferUpd = (14),
-    bm_DDEADVISE_fAckReq = (0x8000),
-    bp_DDEADVISE_fAckReq = (15),
-}
-
-struct DDEDATA
-{
-	ushort flag0;
-	int cfFormat;
-	ubyte[1 + 0] Value;
-}
-
-alias DDEDATA* PDDEDATA;
-enum : DWORD {
-    bm_DDEDATA_unused = (0xFFF),
-    bp_DDEDATA_unused = (0),
-    bm_DDEDATA_fResponse = (0x1000),
-    bp_DDEDATA_fResponse = (12),
-    bm_DDEDATA_fRelease = (0x2000),
-    bp_DDEDATA_fRelease = (13),
-    bm_DDEDATA_reserved = (0x4000),
-    bp_DDEDATA_reserved = (14),
-    bm_DDEDATA_fAckReq = (0x8000),
-    bp_DDEDATA_fAckReq = (15),
-}
-
-struct DDELN
-{
-	ushort flag0;
-	int cfFormat;
-}
-
-alias DDELN TDDELN;
-alias DDELN* PDDELN;
-enum : DWORD {
-    bm_DDELN_unused = (0x1FFF),
-    bp_DDELN_unused = (0),
-    bm_DDELN_fRelease = (0x2000),
-    bp_DDELN_fRelease = (13),
-    bm_DDELN_fDeferUpd = (0x4000),
-    bp_DDELN_fDeferUpd = (14),
-    bm_DDELN_fAckReq = (0x8000),
-    bp_DDELN_fAckReq = (15),
-}
-
-struct DDEML_MSG_HOOK_DATA
-{
-	UINT uiLo;
-	UINT uiHi;
-	DWORD cbData;
-	DWORD[1 + 7] Data;
-}
-
-alias DDEML_MSG_HOOK_DATA TAGDDEML_MSG_HOOK_DATA;
-alias DDEML_MSG_HOOK_DATA TDDEMLMSGHOOKDATA;
-alias DDEML_MSG_HOOK_DATA* PDDEMLMSGHOOKDATA;
-
-struct DDEPOKE
-{
-	ushort flag0;
-	int cfFormat;
-	ubyte[1 + 0] Value;
-}
-
-alias DDEPOKE TDDEPOKE;
-alias DDEPOKE* PDDEPOKE;
-enum : DWORD {
-    bm_DDEPOKE_unused = (0x1FFF),
-    bp_DDEPOKE_unused = (0),
-    bm_DDEPOKE_fRelease = (0x2000),
-    bp_DDEPOKE_fRelease = (13),
-    bm_DDEPOKE_fReserved = (0xC000),
-    bp_DDEPOKE_fReserved = (14),
-}
-struct DDEUP
-{
-	ushort flag0;
-	int cfFormat;
-	ubyte[1 + 0] rgb;
-}
-
-alias DDEUP TDDEUP;
-alias DDEUP* PDDEUP;
-
-enum : DWORD {
-    bm_DDEUP_unused = (0xFFF),
-    bp_DDEUP_unused = (0),
-    bm_DDEUP_fAck = (0x1000),
-    bp_DDEUP_fAck = (12),
-    bm_DDEUP_fRelease = (0x2000),
-    bp_DDEUP_fRelease = (13),
-    bm_DDEUP_fReserved = (0x4000),
-    bp_DDEUP_fReserved = (14),
-    bm_DDEUP_fAckReq = (0x8000),
-    bp_DDEUP_fAckReq = (15),
-}
-
-struct EXCEPTION_RECORD
-{
-	DWORD ExceptionCode;
-	DWORD ExceptionFlags;
-	_EXCEPTION_RECORD* ExceptionRecord;
-	PVOID ExceptionAddress;
-	DWORD NumberParameters;
-	DWORD[1 + EXCEPTION_MAXIMUM_PARAMETERS-1] ExceptionInformation;
-}
-
-alias EXCEPTION_RECORD* PEXCEPTION_RECORD;
-alias EXCEPTION_RECORD _EXCEPTION_RECORD;
-alias EXCEPTION_RECORD TEXCEPTIONRECORD;
-alias EXCEPTION_RECORD* PEXCEPTIONRECORD;
-
-struct EXCEPTION_DEBUG_INFO
-{
-	EXCEPTION_RECORD ExceptionRecord;
-	DWORD dwFirstChance;
-}
-
-alias EXCEPTION_DEBUG_INFO* PEXCEPTION_DEBUG_INFO;
-alias EXCEPTION_DEBUG_INFO _EXCEPTION_DEBUG_INFO;
-alias EXCEPTION_DEBUG_INFO TEXCEPTIONDEBUGINFO;
-alias EXCEPTION_DEBUG_INFO* PEXCEPTIONDEBUGINFO;
-
-struct EXIT_PROCESS_DEBUG_INFO
-{
-	DWORD dwExitCode;
-}
-
-alias EXIT_PROCESS_DEBUG_INFO _EXIT_PROCESS_DEBUG_INFO;
-alias EXIT_PROCESS_DEBUG_INFO TEXITPROCESSDEBUGINFO;
-alias EXIT_PROCESS_DEBUG_INFO* PEXITPROCESSDEBUGINFO;
-
-struct EXIT_THREAD_DEBUG_INFO
-{
-	DWORD dwExitCode;
-}
-
-alias EXIT_THREAD_DEBUG_INFO _EXIT_THREAD_DEBUG_INFO;
-alias EXIT_THREAD_DEBUG_INFO TEXITTHREADDEBUGINFO;
-alias EXIT_THREAD_DEBUG_INFO* PEXITTHREADDEBUGINFO;
-
-struct LOAD_DLL_DEBUG_INFO
-{
-	HANDLE hFile;
-	LPVOID lpBaseOfDll;
-	DWORD dwDebugInfoFileOffset;
-	DWORD nDebugInfoSize;
-	LPVOID lpImageName;
-	ushort fUnicode;
-}
-
-alias LOAD_DLL_DEBUG_INFO _LOAD_DLL_DEBUG_INFO;
-alias LOAD_DLL_DEBUG_INFO TLOADDLLDEBUGINFO;
-alias LOAD_DLL_DEBUG_INFO* PLOADDLLDEBUGINFO;
-
-struct UNLOAD_DLL_DEBUG_INFO
-{
-	LPVOID lpBaseOfDll;
-}
-
-alias UNLOAD_DLL_DEBUG_INFO _UNLOAD_DLL_DEBUG_INFO;
-alias UNLOAD_DLL_DEBUG_INFO TUNLOADDLLDEBUGINFO;
-alias UNLOAD_DLL_DEBUG_INFO* PUNLOADDLLDEBUGINFO;
-
-struct OUTPUT_DEBUG_STRING_INFO
-{
-	LPSTR lpDebugStringData;
-	ushort fUnicode;
-	ushort nDebugStringLength;
-}
-
-alias OUTPUT_DEBUG_STRING_INFO _OUTPUT_DEBUG_STRING_INFO;
-alias OUTPUT_DEBUG_STRING_INFO TOUTPUTDEBUGSTRINGINFO;
-alias OUTPUT_DEBUG_STRING_INFO* POUTPUTDEBUGSTRINGINFO;
-
-struct RIP_INFO
-{
-	DWORD dwError;
-	DWORD dwType;
-}
-
-alias RIP_INFO _RIP_INFO;
-alias RIP_INFO TRIPINFO;
-alias RIP_INFO* PRIPINFO;
-
-struct DEBUG_EVENT
-{
-	DWORD dwDebugEventCode;
-	DWORD dwProcessId;
-	DWORD dwThreadId;
-
-	union
-	{
-		struct
-		{
-			EXCEPTION_DEBUG_INFO Exception;
-		}
-		struct
-		{
-			CREATE_THREAD_DEBUG_INFO CreateThread;
-		}
-		struct
-		{
-			CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
-		}
-		struct
-		{
-			EXIT_THREAD_DEBUG_INFO ExitThread;
-		}
-		struct
-		{
-			EXIT_PROCESS_DEBUG_INFO ExitProcess;
-		}
-		struct
-		{
-			LOAD_DLL_DEBUG_INFO LoadDll;
-		}
-		struct
-		{
-			UNLOAD_DLL_DEBUG_INFO UnloadDll;
-		}
-		struct
-		{
-			OUTPUT_DEBUG_STRING_INFO DebugString;
-		}
-		struct
-		{
-			RIP_INFO RipInfo;
-		}
-	}
-}
-
-alias DEBUG_EVENT* LPDEBUG_EVENT;
-alias DEBUG_EVENT _DEBUG_EVENT;
-alias DEBUG_EVENT TDEBUGEVENT;
-alias DEBUG_EVENT* PDEBUGEVENT;
-
-struct DEBUGHOOKINFO
-{
-	DWORD idThread;
-	DWORD idThreadInstaller;
-	LPARAM lParam;
-	WPARAM wParam;
-	int code;
-}
-
-alias DEBUGHOOKINFO TAGDEBUGHOOKINFO;
-alias DEBUGHOOKINFO TDEBUGHOOKINFO;
-alias DEBUGHOOKINFO* PDEBUGHOOKINFO;
-
-struct DELETEITEMSTRUCT
-{
-	UINT CtlType;
-	UINT CtlID;
-	UINT itemID;
-	HWND hwndItem;
-	UINT itemData;
-}
-
-alias DELETEITEMSTRUCT TAGDELETEITEMSTRUCT;
-alias DELETEITEMSTRUCT TDELETEITEMSTRUCT;
-alias DELETEITEMSTRUCT* PDELETEITEMSTRUCT;
-
-struct DEV_BROADCAST_HDR
-{
-	ULONG dbch_size;
-	ULONG dbch_devicetype;
-	ULONG dbch_reserved;
-}
-
-alias DEV_BROADCAST_HDR* PDEV_BROADCAST_HDR;
-alias DEV_BROADCAST_HDR _DEV_BROADCAST_HDR;
-alias DEV_BROADCAST_HDR TDEVBROADCASTHDR;
-alias DEV_BROADCAST_HDR* PDEVBROADCASTHDR;
-
-struct DEV_BROADCAST_OEM
-{
-	ULONG dbco_size;
-	ULONG dbco_devicetype;
-	ULONG dbco_reserved;
-	ULONG dbco_identifier;
-	ULONG dbco_suppfunc;
-}
-
-alias DEV_BROADCAST_OEM* PDEV_BROADCAST_OEM;
-alias DEV_BROADCAST_OEM _DEV_BROADCAST_OEM;
-alias DEV_BROADCAST_OEM TDEVBROADCASTOEM;
-alias DEV_BROADCAST_OEM* PDEVBROADCASTOEM;
-
-struct DEV_BROADCAST_PORT
-{
-	ULONG dbcp_size;
-	ULONG dbcp_devicetype;
-	ULONG dbcp_reserved;
-	char[1 + 0] dbcp_name;
-}
-
-alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT;
-alias DEV_BROADCAST_PORT _DEV_BROADCAST_PORT;
-alias DEV_BROADCAST_PORT TDEVBROADCASTPORT;
-alias DEV_BROADCAST_PORT* PDEVBROADCASTPORT;
-
-struct _DEV_BROADCAST_USERDEFINED
-{
-	_DEV_BROADCAST_HDR dbud_dbh;
-	char[1 + 0] dbud_szName;
-	ubyte[1 + 0] dbud_rgbUserDefined;
-}
-
-alias _DEV_BROADCAST_USERDEFINED TDEVBROADCASTUSERDEFINED;
-alias _DEV_BROADCAST_USERDEFINED* PDEVBROADCASTUSERDEFINED;
-
-struct DEV_BROADCAST_VOLUME
-{
-	ULONG dbcv_size;
-	ULONG dbcv_devicetype;
-	ULONG dbcv_reserved;
-	ULONG dbcv_unitmask;
-	USHORT dbcv_flags;
-}
-
-alias DEV_BROADCAST_VOLUME* PDEV_BROADCAST_VOLUME;
-alias DEV_BROADCAST_VOLUME _DEV_BROADCAST_VOLUME;
-alias DEV_BROADCAST_VOLUME TDEVBROADCASTVOLUME;
-alias DEV_BROADCAST_VOLUME* PDEVBROADCASTVOLUME;
-
-struct DEVMODE
-{
-	BCHAR[1 + CCHDEVICENAME-1] dmDeviceName;
-	ushort dmSpecVersion;
-	ushort dmDriverVersion;
-	ushort dmSize;
-	ushort dmDriverExtra;
-	DWORD dmFields;
-	int dmOrientation;
-	int dmPaperSize;
-	int dmPaperLength;
-	int dmPaperWidth;
-	int dmScale;
-	int dmCopies;
-	int dmDefaultSource;
-	int dmPrintQuality;
-	int dmColor;
-	int dmDuplex;
-	int dmYResolution;
-	int dmTTOption;
-	int dmCollate;
-	BCHAR[1 + CCHFORMNAME-1] dmFormName;
-	ushort dmLogPixels;
-	DWORD dmBitsPerPel;
-	DWORD dmPelsWidth;
-	DWORD dmPelsHeight;
-	DWORD dmDisplayFlags;
-	DWORD dmDisplayFrequency;
-	DWORD dmICMMethod;
-	DWORD dmICMIntent;
-	DWORD dmMediaType;
-	DWORD dmDitherType;
-	DWORD dmICCManufacturer;
-	DWORD dmICCModel;
-}
-
-alias DEVMODE* LPDEVMODE;
-alias DEVMODE _DEVICEMODE;
-alias DEVMODE DEVICEMODE;
-alias DEVMODE TDEVICEMODE;
-alias DEVMODE TDEVICEMODEA;
-alias DEVMODE TDEVMODE;
-alias DEVMODE* PDEVMODE;
-
-struct DEVNAMES
-{
-	ushort wDriverOffset;
-	ushort wDeviceOffset;
-	ushort wOutputOffset;
-	ushort wDefault;
-}
-
-alias DEVNAMES* LPDEVNAMES;
-alias DEVNAMES TAGDEVNAMES;
-alias DEVNAMES TDEVNAMES;
-alias DEVNAMES* PDEVNAMES;
-
-struct DIBSECTION
-{
-	BITMAP dsBm;
-	BITMAPINFOHEADER dsBmih;
-	DWORD[1 + 2] dsBitfields;
-	HANDLE dshSection;
-	DWORD dsOffset;
-}
-
-alias DIBSECTION TAGDIBSECTION;
-alias DIBSECTION TDIBSECTION;
-alias DIBSECTION* PDIBSECTION;
-
-union LARGE_INTEGER
-{
-	struct
-	{
-		DWORD LowPart;
-    	LONG HighPart;
-	};
-	struct u
-	{
-		DWORD LowPart;
-		LONG HighPart;
-	};
-	LONGLONG QuadPart;
-};
-
-alias LARGE_INTEGER* PLARGE_INTEGER;
-alias LARGE_INTEGER _LARGE_INTEGER;
-alias LARGE_INTEGER TLARGEINTEGER;
-alias LARGE_INTEGER* PLARGEINTEGER;
-
-struct DISK_GEOMETRY
-{
-	LARGE_INTEGER Cylinders;
-	MEDIA_TYPE MediaType;
-	DWORD TracksPerCylinder;
-	DWORD SectorsPerTrack;
-	DWORD BytesPerSector;
-}
-
-alias DISK_GEOMETRY _DISK_GEOMETRY;
-alias DISK_GEOMETRY TDISKGEOMETRY;
-alias DISK_GEOMETRY* PDISKGEOMETRY;
-
-struct DISK_PERFORMANCE
-{
-	LARGE_INTEGER BytesRead;
-	LARGE_INTEGER BytesWritten;
-	LARGE_INTEGER ReadTime;
-	LARGE_INTEGER WriteTime;
-	DWORD ReadCount;
-	DWORD WriteCount;
-	DWORD QueueDepth;
-}
-
-alias DISK_PERFORMANCE _DISK_PERFORMANCE;
-alias DISK_PERFORMANCE TDISKPERFORMANCE;
-alias DISK_PERFORMANCE* PDISKPERFORMANCE;
-
-align(1) struct DLGITEMTEMPLATE
-{
-	DWORD style;
-	DWORD dwExtendedStyle;
-	int x;
-	int y;
-	int cx;
-	int cy;
-	ushort id;
-}
-
-alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATE;
-alias DLGITEMTEMPLATE TDLGITEMTEMPLATE;
-alias DLGITEMTEMPLATE* PDLGITEMTEMPLATE;
-
-align(1) struct DLGTEMPLATE
-{
-	DWORD style;
-	DWORD dwExtendedStyle;
-	ushort cdit;
-	int x;
-	int y;
-	int cx;
-	int cy;
-}
-
-alias DLGTEMPLATE* LPDLGTEMPLATE;
-alias DLGTEMPLATE* LPCDLGTEMPLATE;
-alias DLGTEMPLATE TDLGTEMPLATE;
-alias DLGTEMPLATE* PDLGTEMPLATE;
-
-struct DOC_INFO_1
-{
-	LPTSTR pDocName;
-	LPTSTR pOutputFile;
-	LPTSTR pDatatype;
-}
-
-alias DOC_INFO_1 _DOC_INFO_1;
-alias DOC_INFO_1 TDOCINFO1;
-alias DOC_INFO_1* PDOCINFO1;
-
-struct DOC_INFO_2
-{
-	LPTSTR pDocName;
-	LPTSTR pOutputFile;
-	LPTSTR pDatatype;
-	DWORD dwMode;
-	DWORD JobId;
-}
-
-alias DOC_INFO_2 _DOC_INFO_2;
-alias DOC_INFO_2 TDOCINFO2;
-alias DOC_INFO_2* PDOCINFO2;
-
-struct DOCINFO
-{
-	int cbSize;
-	LPCTSTR lpszDocName;
-	LPCTSTR lpszOutput;
-	LPCTSTR lpszDatatype;
-	DWORD fwType;
-}
-
-alias DOCINFO TDOCINFO;
-alias DOCINFO TDOCINFOA;
-alias DOCINFO* PDOCINFO;
-
-struct DRAGLISTINFO
-{
-	UINT uNotification;
-	HWND hWnd;
-	POINT ptCursor;
-}
-
-alias DRAGLISTINFO* LPDRAGLISTINFO;
-alias DRAGLISTINFO TDRAGLISTINFO;
-alias DRAGLISTINFO* PDRAGLISTINFO;
-
-struct DRAWITEMSTRUCT
-{
-	UINT CtlType;
-	UINT CtlID;
-	UINT itemID;
-	UINT itemAction;
-	UINT itemState;
-	HWND hwndItem;
-	HDC hDC;
-	RECT rcItem;
-	DWORD itemData;
-}
-
-alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT;
-alias DRAWITEMSTRUCT TAGDRAWITEMSTRUCT;
-alias DRAWITEMSTRUCT TDRAWITEMSTRUCT;
-alias DRAWITEMSTRUCT* PDRAWITEMSTRUCT;
-
-struct DRAWTEXTPARAMS
-{
-	UINT cbSize;
-	int iTabLength;
-	int iLeftMargin;
-	int iRightMargin;
-	UINT uiLengthDrawn;
-}
-
-alias DRAWTEXTPARAMS* LPDRAWTEXTPARAMS;
-alias DRAWTEXTPARAMS TDRAWTEXTPARAMS;
-alias DRAWTEXTPARAMS* PDRAWTEXTPARAMS;
-
-struct PARTITION_INFORMATION
-{
-	ubyte PartitionType;
-	ubyte BootIndicator;
-	ubyte RecognizedPartition;
-	ubyte RewritePartition;
-	LARGE_INTEGER StartingOffset;
-	LARGE_INTEGER PartitionLength;
-	LARGE_INTEGER HiddenSectors;
-}
-
-alias PARTITION_INFORMATION _PARTITION_INFORMATION;
-alias PARTITION_INFORMATION TPARTITIONINFORMATION;
-alias PARTITION_INFORMATION* PPARTITIONINFORMATION;
-
-struct DRIVE_LAYOUT_INFORMATION
-{
-	DWORD PartitionCount;
-	DWORD Signature;
-	PARTITION_INFORMATION[1 + 0] PartitionEntry;
-}
-
-alias DRIVE_LAYOUT_INFORMATION _DRIVE_LAYOUT_INFORMATION;
-alias DRIVE_LAYOUT_INFORMATION TDRIVELAYOUTINFORMATION;
-alias DRIVE_LAYOUT_INFORMATION* PDRIVELAYOUTINFORMATION;
-
-struct DRIVER_INFO_1
-{
-	LPTSTR pName;
-}
-
-alias DRIVER_INFO_1 _DRIVER_INFO_1;
-alias DRIVER_INFO_1 TDRIVERINFO1;
-alias DRIVER_INFO_1* PDRIVERINFO1;
-
-struct DRIVER_INFO_2
-{
-	DWORD cVersion;
-	LPTSTR pName;
-	LPTSTR pEnvironment;
-	LPTSTR pDriverPath;
-	LPTSTR pDataFile;
-	LPTSTR pConfigFile;
-}
-
-alias DRIVER_INFO_2 _DRIVER_INFO_2;
-alias DRIVER_INFO_2 TDRIVERINFO2;
-alias DRIVER_INFO_2* PDRIVERINFO2;
-
-struct DRIVER_INFO_3
-{
-	DWORD cVersion;
-	LPTSTR pName;
-	LPTSTR pEnvironment;
-	LPTSTR pDriverPath;
-	LPTSTR pDataFile;
-	LPTSTR pConfigFile;
-	LPTSTR pHelpFile;
-	LPTSTR pDependentFiles;
-	LPTSTR pMonitorName;
-	LPTSTR pDefaultDataType;
-}
-
-alias DRIVER_INFO_3 _DRIVER_INFO_3;
-alias DRIVER_INFO_3 TDRIVERINFO3;
-alias DRIVER_INFO_3* PDRIVERINFO3;
-
-struct EDITSTREAM
-{
-	DWORD dwCookie;
-	DWORD dwError;
-	EDITSTREAMCALLBACK pfnCallback;
-}
-
-alias EDITSTREAM _EDITSTREAM;
-alias EDITSTREAM TEDITSTREAM;
-alias EDITSTREAM* PEDITSTREAM;
-
-struct EMR
-{
-	DWORD iType;
-	DWORD nSize;
-}
-
-alias EMR TAGEMR;
-alias EMR TEMR;
-alias EMR* PEMR;
-
-struct EMRANGLEARC
-{
-	EMR emr;
-	POINTL ptlCenter;
-	DWORD nRadius;
-	FLOAT eStartAngle;
-	FLOAT eSweepAngle;
-}
-
-alias EMRANGLEARC TAGEMRANGLEARC;
-alias EMRANGLEARC TEMRANGLEARC;
-alias EMRANGLEARC* PEMRANGLEARC;
-
-struct EMRARC
-{
-	EMR emr;
-	RECTL rclBox;
-	POINTL ptlStart;
-	POINTL ptlEnd;
-}
-
-alias EMRARC TAGEMRARC;
-alias EMRARC TEMRARC;
-alias EMRARC* PEMRARC;
-alias EMRARC EMRARCTO;
-alias EMRARC TEMRARCTO;
-alias EMRARC* PEMRARCTO;
-alias EMRARC EMRCHORD;
-alias EMRARC TEMRCHORD;
-alias EMRARC* PEMRCHORD;
-alias EMRARC EMRPIE;
-alias EMRARC TEMRPIE;
-alias EMRARC* PEMRPIE;
-
-struct XFORM
-{
-	FLOAT eM11;
-	FLOAT eM12;
-	FLOAT eM21;
-	FLOAT eM22;
-	FLOAT eDx;
-	FLOAT eDy;
-}
-
-alias XFORM* LPXFORM;
-alias XFORM _XFORM;
-alias XFORM TXFORM;
-alias XFORM* PXFORM;
-
-struct EMRBITBLT
-{
-	EMR emr;
-	RECTL rclBounds;
-	LONG xDest;
-	LONG yDest;
-	LONG cxDest;
-	LONG cyDest;
-	DWORD dwRop;
-	LONG xSrc;
-	LONG ySrc;
-	XFORM xformSrc;
-	COLORREF crBkColorSrc;
-	DWORD iUsageSrc;
-	DWORD offBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-}
-
-alias EMRBITBLT TAGEMRBITBLT;
-alias EMRBITBLT TEMRBITBLT;
-alias EMRBITBLT* PEMRBITBLT;
-
-struct LOGBRUSH
-{
-	UINT lbStyle;
-	COLORREF lbColor;
-	LONG lbHatch;
-}
-
-alias LOGBRUSH TAGLOGBRUSH;
-alias LOGBRUSH TLOGBRUSH;
-alias LOGBRUSH* PLOGBRUSH;
-
-struct EMRCREATEBRUSHINDIRECT
-{
-	EMR emr;
-	DWORD ihBrush;
-	LOGBRUSH lb;
-}
-
-alias EMRCREATEBRUSHINDIRECT TAGEMRCREATEBRUSHINDIRECT;
-alias EMRCREATEBRUSHINDIRECT TEMRCREATEBRUSHINDIRECT;
-alias EMRCREATEBRUSHINDIRECT* PEMRCREATEBRUSHINDIRECT;
-alias LONG LCSCSTYPE;
-alias LONG LCSGAMUTMATCH;
-
-struct LOGCOLORSPACE
-{
-	DWORD lcsSignature;
-	DWORD lcsVersion;
-	DWORD lcsSize;
-	LCSCSTYPE lcsCSType;
-	LCSGAMUTMATCH lcsIntent;
-	CIEXYZTRIPLE lcsEndpoints;
-	DWORD lcsGammaRed;
-	DWORD lcsGammaGreen;
-	DWORD lcsGammaBlue;
-	TCHAR[1 + MAX_PATH-1] lcsFilename;
-}
-
-alias LOGCOLORSPACE* LPLOGCOLORSPACE;
-alias LOGCOLORSPACE TAGLOGCOLORSPACE;
-alias LOGCOLORSPACE TLOGCOLORSPACE;
-alias LOGCOLORSPACE TLOGCOLORSPACEA;
-alias LOGCOLORSPACE* PLOGCOLORSPACE;
-
-struct EMRCREATECOLORSPACE
-{
-	EMR emr;
-	DWORD ihCS;
-	LOGCOLORSPACE lcs;
-}
-
-alias EMRCREATECOLORSPACE TAGEMRCREATECOLORSPACE;
-alias EMRCREATECOLORSPACE TEMRCREATECOLORSPACE;
-alias EMRCREATECOLORSPACE* PEMRCREATECOLORSPACE;
-
-struct EMRCREATEDIBPATTERNBRUSHPT
-{
-	EMR emr;
-	DWORD ihBrush;
-	DWORD iUsage;
-	DWORD offBmi;
-	DWORD cbBmi;
-	DWORD offBits;
-	DWORD cbBits;
-}
-
-alias EMRCREATEDIBPATTERNBRUSHPT TAGEMRCREATEDIBPATTERNBRUSHPT;
-alias EMRCREATEDIBPATTERNBRUSHPT TEMRCREATEDIBPATTERNBRUSHPT;
-alias EMRCREATEDIBPATTERNBRUSHPT PEMRCREATEDIBPATTERNBRUSHPT;
-
-struct EMRCREATEMONOBRUSH
-{
-	EMR emr;
-	DWORD ihBrush;
-	DWORD iUsage;
-	DWORD offBmi;
-	DWORD cbBmi;
-	DWORD offBits;
-	DWORD cbBits;
-}
-
-alias EMRCREATEMONOBRUSH TAGEMRCREATEMONOBRUSH;
-alias EMRCREATEMONOBRUSH TEMRCREATEMONOBRUSH;
-alias EMRCREATEMONOBRUSH* PEMRCREATEMONOBRUSH;
-
-struct PALETTEENTRY
-{
-	ubyte peRed;
-	ubyte peGreen;
-	ubyte peBlue;
-	ubyte peFlags;
-}
-
-alias PALETTEENTRY* LPPALETTEENTRY;
-alias PALETTEENTRY TAGPALETTEENTRY;
-alias PALETTEENTRY TPALETTEENTRY;
-alias PALETTEENTRY* PPALETTEENTRY;
-
-struct LOGPALETTE
-{
-	ushort palVersion;
-	ushort palNumEntries;
-	PALETTEENTRY[1 + 0] palPalEntry;
-}
-
-alias LOGPALETTE* LPLOGPALETTE;
-alias LOGPALETTE TAGLOGPALETTE;
-alias LOGPALETTE TLOGPALETTE;
-alias LOGPALETTE* PLOGPALETTE;
-
-struct EMRCREATEPALETTE
-{
-	EMR emr;
-	DWORD ihPal;
-	LOGPALETTE lgpl;
-}
-
-alias EMRCREATEPALETTE TAGEMRCREATEPALETTE;
-alias EMRCREATEPALETTE TEMRCREATEPALETTE;
-alias EMRCREATEPALETTE* PEMRCREATEPALETTE;
-
-struct LOGPEN
-{
-	UINT lopnStyle;
-	POINT lopnWidth;
-	COLORREF lopnColor;
-}
-
-alias LOGPEN TAGLOGPEN;
-alias LOGPEN TLOGPEN;
-alias LOGPEN* PLOGPEN;
-
-struct EMRCREATEPEN
-{
-	EMR emr;
-	DWORD ihPen;
-	LOGPEN lopn;
-}
-
-alias EMRCREATEPEN TAGEMRCREATEPEN;
-alias EMRCREATEPEN TEMRCREATEPEN;
-alias EMRCREATEPEN* PEMRCREATEPEN;
-
-struct EMRELLIPSE
-{
-	EMR emr;
-	RECTL rclBox;
-}
-
-alias EMRELLIPSE TAGEMRELLIPSE;
-alias EMRELLIPSE TEMRELLIPSE;
-alias EMRELLIPSE* PEMRELLIPSE;
-alias EMRELLIPSE EMRRECTANGLE;
-alias EMRELLIPSE TEMRRECTANGLE;
-alias EMRELLIPSE* PEMRRECTANGLE;
-
-struct EMREOF
-{
-	EMR emr;
-	DWORD nPalEntries;
-	DWORD offPalEntries;
-	DWORD nSizeLast;
-}
-
-alias EMREOF TAGEMREOF;
-alias EMREOF TEMREOF;
-alias EMREOF* PEMREOF;
-
-struct EMREXCLUDECLIPRECT
-{
-	EMR emr;
-	RECTL rclClip;
-}
-
-alias EMREXCLUDECLIPRECT TAGEMREXCLUDECLIPRECT;
-alias EMREXCLUDECLIPRECT TEMREXCLUDECLIPRECT;
-alias EMREXCLUDECLIPRECT* PEMREXCLUDECLIPRECT;
-alias EMREXCLUDECLIPRECT EMRINTERSECTCLIPRECT;
-alias EMREXCLUDECLIPRECT TEMRINTERSECTCLIPRECT;
-alias EMREXCLUDECLIPRECT* PEMRINTERSECTCLIPRECT;
-
-struct PANOSE
-{
-	ubyte bFamilyType;
-	ubyte bSerifStyle;
-	ubyte bWeight;
-	ubyte bProportion;
-	ubyte bContrast;
-	ubyte bStrokeVariation;
-	ubyte bArmStyle;
-	ubyte bLetterform;
-	ubyte bMidline;
-	ubyte bXHeight;
-}
-
-alias PANOSE TAGPANOSE;
-alias PANOSE TPANOSE;
-alias PANOSE* PPANOSE;
-
-struct EXTLOGFONT
-{
-	LOGFONT elfLogFont;
-	BCHAR[1 + LF_FULLFACESIZE-1] elfFullName;
-	BCHAR[1 + LF_FACESIZE-1] elfStyle;
-	DWORD elfVersion;
-	DWORD elfStyleSize;
-	DWORD elfMatch;
-	DWORD elfReserved;
-	ubyte[1 + ELF_VENDOR_SIZE-1] elfVendorId;
-	DWORD elfCulture;
-	PANOSE elfPanose;
-}
-
-alias EXTLOGFONT TAGEXTLOGFONT;
-alias EXTLOGFONT TEXTLOGFONT;
-alias EXTLOGFONT* PEXTLOGFONT;
-
-struct EMREXTCREATEFONTINDIRECTW
-{
-	EMR emr;
-	DWORD ihFont;
-	EXTLOGFONT elfw;
-}
-
-alias EMREXTCREATEFONTINDIRECTW TAGEMREXTCREATEFONTINDIRECTW;
-alias EMREXTCREATEFONTINDIRECTW TEMREXTCREATEFONTINDIRECTW;
-alias EMREXTCREATEFONTINDIRECTW* PEMREXTCREATEFONTINDIRECTW;
-
-struct EXTLOGPEN
-{
-	UINT elpPenStyle;
-	UINT elpWidth;
-	UINT elpBrushStyle;
-	COLORREF elpColor;
-	LONG elpHatch;
-	DWORD elpNumEntries;
-	DWORD[1 + 0] elpStyleEntry;
-}
-
-alias EXTLOGPEN TAGEXTLOGPEN;
-alias EXTLOGPEN TEXTLOGPEN;
-alias EXTLOGPEN* PEXTLOGPEN;
-
-struct EMREXTCREATEPEN
-{
-	EMR emr;
-	DWORD ihPen;
-	DWORD offBmi;
-	DWORD cbBmi;
-	DWORD offBits;
-	DWORD cbBits;
-	EXTLOGPEN elp;
-}
-
-alias EMREXTCREATEPEN TAGEMREXTCREATEPEN;
-alias EMREXTCREATEPEN TEMREXTCREATEPEN;
-alias EMREXTCREATEPEN* PEMREXTCREATEPEN;
-
-struct EMREXTFLOODFILL
-{
-	EMR emr;
-	POINTL ptlStart;
-	COLORREF crColor;
-	DWORD iMode;
-}
-
-alias EMREXTFLOODFILL TAGEMREXTFLOODFILL;
-alias EMREXTFLOODFILL TEMREXTFLOODFILL;
-alias EMREXTFLOODFILL* PEMREXTFLOODFILL;
-
-struct EMREXTSELECTCLIPRGN
-{
-	EMR emr;
-	DWORD cbRgnData;
-	DWORD iMode;
-	ubyte[1 + 0] RgnData;
-}
-
-alias EMREXTSELECTCLIPRGN TAGEMREXTSELECTCLIPRGN;
-alias EMREXTSELECTCLIPRGN TEMREXTSELECTCLIPRGN;
-alias EMREXTSELECTCLIPRGN* PEMREXTSELECTCLIPRGN;
-
-struct EMRTEXT
-{
-	POINTL ptlReference;
-	DWORD nChars;
-	DWORD offString;
-	DWORD fOptions;
-	RECTL rcl;
-	DWORD offDx;
-}
-
-alias EMRTEXT TAGEMRTEXT;
-alias EMRTEXT TEMRTEXT;
-alias EMRTEXT* PEMRTEXT;
-
-struct EMREXTTEXTOUTA
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD iGraphicsMode;
-	FLOAT exScale;
-	FLOAT eyScale;
-	EMRTEXT emrtext;
-}
-
-alias EMREXTTEXTOUTA TAGEMREXTTEXTOUTA;
-alias EMREXTTEXTOUTA TEMREXTTEXTOUTA;
-alias EMREXTTEXTOUTA* PEMREXTTEXTOUTA;
-alias EMREXTTEXTOUTA EMREXTTEXTOUTW;
-alias EMREXTTEXTOUTA TEMREXTTEXTOUTW;
-alias EMREXTTEXTOUTA* PEMREXTTEXTOUTW;
-
-struct EMRFILLPATH
-{
-	EMR emr;
-	RECTL rclBounds;
-}
-
-alias EMRFILLPATH TAGEMRFILLPATH;
-alias EMRFILLPATH TEMRFILLPATH;
-alias EMRFILLPATH* PEMRFILLPATH;
-alias EMRFILLPATH EMRSTROKEANDFILLPATH;
-alias EMRFILLPATH TEMRSTROKEANDFILLPATH;
-alias EMRFILLPATH* PEMRSTROKEANDFILLPATH;
-alias EMRFILLPATH EMRSTROKEPATH;
-alias EMRFILLPATH TEMRSTROKEPATH;
-alias EMRFILLPATH* PEMRSTROKEPATH;
-
-struct EMRFILLRGN
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cbRgnData;
-	DWORD ihBrush;
-	ubyte[1 + 0] RgnData;
-}
-
-alias EMRFILLRGN TAGEMRFILLRGN;
-alias EMRFILLRGN TEMRFILLRGN;
-alias EMRFILLRGN* PEMRFILLRGN;
-
-struct EMRFORMAT
-{
-	DWORD dSignature;
-	DWORD nVersion;
-	DWORD cbData;
-	DWORD offData;
-}
-
-alias EMRFORMAT TAGEMRFORMAT;
-alias EMRFORMAT TEMRFORMAT;
-alias EMRFORMAT* PEMRFORMAT;
-
-struct SIZE
-{
-	LONG cx;
-	LONG cy;
-}
-
-alias SIZE* LPSIZE;
-alias SIZE TAGSIZE;
-alias SIZE TSIZE;
-alias SIZE* PSIZE;
-alias SIZE SIZEL;
-alias SIZE TSIZEL;
-alias SIZE* PSIZEL;
-alias SIZE* LPSIZEL;
-
-struct EMRFRAMERGN
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cbRgnData;
-	DWORD ihBrush;
-	SIZEL szlStroke;
-	ubyte[1 + 0] RgnData;
-}
-
-alias EMRFRAMERGN TAGEMRFRAMERGN;
-alias EMRFRAMERGN TEMRFRAMERGN;
-alias EMRFRAMERGN* PEMRFRAMERGN;
-
-struct EMRGDICOMMENT
-{
-	EMR emr;
-	DWORD cbData;
-	ubyte[1 + 0] Data;
-}
-
-alias EMRGDICOMMENT TAGEMRGDICOMMENT;
-alias EMRGDICOMMENT TEMRGDICOMMENT;
-alias EMRGDICOMMENT* PEMRGDICOMMENT;
-
-struct EMRINVERTRGN
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cbRgnData;
-	ubyte[1 + 0] RgnData;
-}
-
-alias EMRINVERTRGN TAGEMRINVERTRGN;
-alias EMRINVERTRGN TEMRINVERTRGN;
-alias EMRINVERTRGN* PEMRINVERTRGN;
-alias EMRINVERTRGN EMRPAINTRGN;
-alias EMRINVERTRGN TEMRPAINTRGN;
-alias EMRINVERTRGN* PEMRPAINTRGN;
-
-struct EMRLINETO
-{
-	EMR emr;
-	POINTL ptl;
-}
-
-alias EMRLINETO TAGEMRLINETO;
-alias EMRLINETO TEMRLINETO;
-alias EMRLINETO* PEMRLINETO;
-alias EMRLINETO EMRMOVETOEX;
-alias EMRLINETO TEMRMOVETOEX;
-alias EMRLINETO* PEMRMOVETOEX;
-
-struct EMRMASKBLT
-{
-	EMR emr;
-	RECTL rclBounds;
-	LONG xDest;
-	LONG yDest;
-	LONG cxDest;
-	LONG cyDest;
-	DWORD dwRop;
-	LONG xSrc;
-	LONG ySrc;
-	XFORM xformSrc;
-	COLORREF crBkColorSrc;
-	DWORD iUsageSrc;
-	DWORD offBmiSrc;
-	DWORD cbBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-	LONG xMask;
-	LONG yMask;
-	DWORD iUsageMask;
-	DWORD offBmiMask;
-	DWORD cbBmiMask;
-	DWORD offBitsMask;
-	DWORD cbBitsMask;
-}
-
-alias EMRMASKBLT TAGEMRMASKBLT;
-alias EMRMASKBLT TEMRMASKBLT;
-alias EMRMASKBLT* PEMRMASKBLT;
-
-struct EMRMODIFYWORLDTRANSFORM
-{
-	EMR emr;
-	XFORM xform;
-	DWORD iMode;
-}
-
-alias EMRMODIFYWORLDTRANSFORM TAGEMRMODIFYWORLDTRANSFORM;
-alias EMRMODIFYWORLDTRANSFORM TEMRMODIFYWORLDTRANSFORM;
-alias EMRMODIFYWORLDTRANSFORM PEMRMODIFYWORLDTRANSFORM;
-
-struct EMROFFSETCLIPRGN
-{
-	EMR emr;
-	POINTL ptlOffset;
-}
-
-alias EMROFFSETCLIPRGN TAGEMROFFSETCLIPRGN;
-alias EMROFFSETCLIPRGN TEMROFFSETCLIPRGN;
-alias EMROFFSETCLIPRGN* PEMROFFSETCLIPRGN;
-
-struct EMRPLGBLT
-{
-	EMR emr;
-	RECTL rclBounds;
-	POINTL[1 + 2] aptlDest;
-	LONG xSrc;
-	LONG ySrc;
-	LONG cxSrc;
-	LONG cySrc;
-	XFORM xformSrc;
-	COLORREF crBkColorSrc;
-	DWORD iUsageSrc;
-	DWORD offBmiSrc;
-	DWORD cbBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-	LONG xMask;
-	LONG yMask;
-	DWORD iUsageMask;
-	DWORD offBmiMask;
-	DWORD cbBmiMask;
-	DWORD offBitsMask;
-	DWORD cbBitsMask;
-}
-
-alias EMRPLGBLT TAGEMRPLGBLT;
-alias EMRPLGBLT TEMRPLGBLT;
-alias EMRPLGBLT* PEMRPLGBLT;
-
-struct EMRPOLYDRAW
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cptl;
-	POINTL[1 + 0] aptl;
-	ubyte[1 + 0] abTypes;
-}
-
-alias EMRPOLYDRAW TAGEMRPOLYDRAW;
-alias EMRPOLYDRAW TEMRPOLYDRAW;
-alias EMRPOLYDRAW* PEMRPOLYDRAW;
-
-struct EMRPOLYDRAW16
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cpts;
-	POINTS[1 + 0] apts;
-	ubyte[1 + 0] abTypes;
-}
-
-alias EMRPOLYDRAW16 TAGEMRPOLYDRAW16;
-alias EMRPOLYDRAW16 TEMRPOLYDRAW16;
-alias EMRPOLYDRAW16* PEMRPOLYDRAW16;
-
-struct EMRPOLYLINE
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cptl;
-	POINTL[1 + 0] aptl;
-}
-
-alias EMRPOLYLINE TAGEMRPOLYLINE;
-alias EMRPOLYLINE TEMRPOLYLINE;
-alias EMRPOLYLINE* PEMRPOLYLINE;
-alias EMRPOLYLINE EMRPOLYBEZIER;
-alias EMRPOLYLINE TEMRPOLYBEZIER;
-alias EMRPOLYLINE* PEMRPOLYBEZIER;
-alias EMRPOLYLINE EMRPOLYGON;
-alias EMRPOLYLINE TEMRPOLYGON;
-alias EMRPOLYLINE* PEMRPOLYGON;
-alias EMRPOLYLINE EMRPOLYBEZIERTO;
-alias EMRPOLYLINE TEMRPOLYBEZIERTO;
-alias EMRPOLYLINE* PEMRPOLYBEZIERTO;
-alias EMRPOLYLINE EMRPOLYLINETO;
-alias EMRPOLYLINE TEMRPOLYLINETO;
-alias EMRPOLYLINE* PEMRPOLYLINETO;
-
-struct EMRPOLYLINE16
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD cpts;
-	POINTL[1 + 0] apts;
-}
-
-alias EMRPOLYLINE16 TAGEMRPOLYLINE16;
-alias EMRPOLYLINE16 TEMRPOLYLINE16;
-alias EMRPOLYLINE16* PEMRPOLYLINE16;
-alias EMRPOLYLINE16 EMRPOLYBEZIER16;
-alias EMRPOLYLINE16 TEMRPOLYBEZIER16;
-alias EMRPOLYLINE16* PEMRPOLYBEZIER16;
-alias EMRPOLYLINE16 EMRPOLYGON16;
-alias EMRPOLYLINE16 TEMRPOLYGON16;
-alias EMRPOLYLINE16* PEMRPOLYGON16;
-alias EMRPOLYLINE16 EMRPOLYBEZIERTO16;
-alias EMRPOLYLINE16 TEMRPOLYBEZIERTO16;
-alias EMRPOLYLINE16* PEMRPOLYBEZIERTO16;
-alias EMRPOLYLINE16 EMRPOLYLINETO16;
-alias EMRPOLYLINE16 TEMRPOLYLINETO16;
-alias EMRPOLYLINE16* PEMRPOLYLINETO16;
-
-struct EMRPOLYPOLYLINE
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD nPolys;
-	DWORD cptl;
-	DWORD[1 + 0] aPolyCounts;
-	POINTL[1 + 0] aptl;
-}
-
-alias EMRPOLYPOLYLINE TAGEMRPOLYPOLYLINE;
-alias EMRPOLYPOLYLINE TEMRPOLYPOLYLINE;
-alias EMRPOLYPOLYLINE* PEMRPOLYPOLYLINE;
-alias EMRPOLYPOLYLINE EMRPOLYPOLYGON;
-alias EMRPOLYPOLYLINE TEMRPOLYPOLYGON;
-alias EMRPOLYPOLYLINE* PEMRPOLYPOLYGON;
-
-struct EMRPOLYPOLYLINE16
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD nPolys;
-	DWORD cpts;
-	DWORD[1 + 0] aPolyCounts;
-	POINTS[1 + 0] apts;
-}
-
-alias EMRPOLYPOLYLINE16 TAGEMRPOLYPOLYLINE16;
-alias EMRPOLYPOLYLINE16 TEMRPOLYPOLYLINE16;
-alias EMRPOLYPOLYLINE16* PEMRPOLYPOLYLINE16;
-alias EMRPOLYPOLYLINE16 EMRPOLYPOLYGON16;
-alias EMRPOLYPOLYLINE16 TEMRPOLYPOLYGON16;
-alias EMRPOLYPOLYLINE16* PEMRPOLYPOLYGON16;
-
-struct EMRPOLYTEXTOUTA
-{
-	EMR emr;
-	RECTL rclBounds;
-	DWORD iGraphicsMode;
-	FLOAT exScale;
-	FLOAT eyScale;
-	LONG cStrings;
-	EMRTEXT[1 + 0] aemrtext;
-}
-
-alias EMRPOLYTEXTOUTA TAGEMRPOLYTEXTOUTA;
-alias EMRPOLYTEXTOUTA TEMRPOLYTEXTOUTA;
-alias EMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTA;
-alias EMRPOLYTEXTOUTA EMRPOLYTEXTOUTW;
-alias EMRPOLYTEXTOUTA TEMRPOLYTEXTOUTW;
-alias EMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTW;
-
-struct EMRRESIZEPALETTE
-{
-	EMR emr;
-	DWORD ihPal;
-	DWORD cEntries;
-}
-
-alias EMRRESIZEPALETTE TAGEMRRESIZEPALETTE;
-alias EMRRESIZEPALETTE TEMRRESIZEPALETTE;
-alias EMRRESIZEPALETTE* PEMRRESIZEPALETTE;
-
-struct EMRRESTOREDC
-{
-	EMR emr;
-	LONG iRelative;
-}
-
-alias EMRRESTOREDC TAGEMRRESTOREDC;
-alias EMRRESTOREDC TEMRRESTOREDC;
-alias EMRRESTOREDC* PEMRRESTOREDC;
-
-struct EMRROUNDRECT
-{
-	EMR emr;
-	RECTL rclBox;
-	SIZEL szlCorner;
-}
-
-alias EMRROUNDRECT TAGEMRROUNDRECT;
-alias EMRROUNDRECT TEMRROUNDRECT;
-alias EMRROUNDRECT* PEMRROUNDRECT;
-
-struct EMRSCALEVIEWPORTEXTEX
-{
-	EMR emr;
-	LONG xNum;
-	LONG xDenom;
-	LONG yNum;
-	LONG yDenom;
-}
-
-alias EMRSCALEVIEWPORTEXTEX TAGEMRSCALEVIEWPORTEXTEX;
-alias EMRSCALEVIEWPORTEXTEX TEMRSCALEVIEWPORTEXTEX;
-alias EMRSCALEVIEWPORTEXTEX* PEMRSCALEVIEWPORTEXTEX;
-alias EMRSCALEVIEWPORTEXTEX EMRSCALEWINDOWEXTEX;
-alias EMRSCALEVIEWPORTEXTEX TEMRSCALEWINDOWEXTEX;
-alias EMRSCALEVIEWPORTEXTEX* PEMRSCALEWINDOWEXTEX;
-
-struct EMRSELECTCOLORSPACE
-{
-	EMR emr;
-	DWORD ihCS;
-}
-
-alias EMRSELECTCOLORSPACE TAGEMRSELECTCOLORSPACE;
-alias EMRSELECTCOLORSPACE TEMRSELECTCOLORSPACE;
-alias EMRSELECTCOLORSPACE* PEMRSELECTCOLORSPACE;
-alias EMRSELECTCOLORSPACE EMRDELETECOLORSPACE;
-alias EMRSELECTCOLORSPACE TEMRDELETECOLORSPACE;
-alias EMRSELECTCOLORSPACE* PEMRDELETECOLORSPACE;
-
-struct EMRSELECTOBJECT
-{
-	EMR emr;
-	DWORD ihObject;
-}
-
-alias EMRSELECTOBJECT TAGEMRSELECTOBJECT;
-alias EMRSELECTOBJECT TEMRSELECTOBJECT;
-alias EMRSELECTOBJECT* PEMRSELECTOBJECT;
-alias EMRSELECTOBJECT EMRDELETEOBJECT;
-alias EMRSELECTOBJECT TEMRDELETEOBJECT;
-alias EMRSELECTOBJECT* PEMRDELETEOBJECT;
-
-struct EMRSELECTPALETTE
-{
-	EMR emr;
-	DWORD ihPal;
-}
-
-alias EMRSELECTPALETTE TAGEMRSELECTPALETTE;
-alias EMRSELECTPALETTE TEMRSELECTPALETTE;
-alias EMRSELECTPALETTE* PEMRSELECTPALETTE;
-
-struct EMRSETARCDIRECTION
-{
-	EMR emr;
-	DWORD iArcDirection;
-}
-
-alias EMRSETARCDIRECTION TAGEMRSETARCDIRECTION;
-alias EMRSETARCDIRECTION TEMRSETARCDIRECTION;
-alias EMRSETARCDIRECTION* PEMRSETARCDIRECTION;
-
-struct EMRSETBKCOLOR
-{
-	EMR emr;
-	COLORREF crColor;
-}
-
-alias EMRSETBKCOLOR TAGEMRSETTEXTCOLOR;
-alias EMRSETBKCOLOR TEMRSETBKCOLOR;
-alias EMRSETBKCOLOR* PEMRSETBKCOLOR;
-alias EMRSETBKCOLOR EMRSETTEXTCOLOR;
-alias EMRSETBKCOLOR TEMRSETTEXTCOLOR;
-alias EMRSETBKCOLOR* PEMRSETTEXTCOLOR;
-
-struct EMRSETCOLORADJUSTMENT
-{
-	EMR emr;
-	COLORADJUSTMENT ColorAdjustment;
-}
-
-alias EMRSETCOLORADJUSTMENT TAGEMRSETCOLORADJUSTMENT;
-alias EMRSETCOLORADJUSTMENT TEMRSETCOLORADJUSTMENT;
-alias EMRSETCOLORADJUSTMENT* PEMRSETCOLORADJUSTMENT;
-
-struct EMRSETDIBITSTODEVICE
-{
-	EMR emr;
-	RECTL rclBounds;
-	LONG xDest;
-	LONG yDest;
-	LONG xSrc;
-	LONG ySrc;
-	LONG cxSrc;
-	LONG cySrc;
-	DWORD offBmiSrc;
-	DWORD cbBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-	DWORD iUsageSrc;
-	DWORD iStartScan;
-	DWORD cScans;
-}
-
-alias EMRSETDIBITSTODEVICE TAGEMRSETDIBITSTODEVICE;
-alias EMRSETDIBITSTODEVICE TEMRSETDIBITSTODEVICE;
-alias EMRSETDIBITSTODEVICE* PEMRSETDIBITSTODEVICE;
-
-struct EMRSETMAPPERFLAGS
-{
-	EMR emr;
-	DWORD dwFlags;
-}
-
-alias EMRSETMAPPERFLAGS TAGEMRSETMAPPERFLAGS;
-alias EMRSETMAPPERFLAGS TEMRSETMAPPERFLAGS;
-alias EMRSETMAPPERFLAGS* PEMRSETMAPPERFLAGS;
-
-struct EMRSETMITERLIMIT
-{
-	EMR emr;
-	FLOAT eMiterLimit;
-}
-
-alias EMRSETMITERLIMIT TAGEMRSETMITERLIMIT;
-alias EMRSETMITERLIMIT TEMRSETMITERLIMIT;
-alias EMRSETMITERLIMIT* PEMRSETMITERLIMIT;
-
-struct EMRSETPALETTEENTRIES
-{
-	EMR emr;
-	DWORD ihPal;
-	DWORD iStart;
-	DWORD cEntries;
-	PALETTEENTRY[1 + 0] aPalEntries;
-}
-
-alias EMRSETPALETTEENTRIES TAGEMRSETPALETTEENTRIES;
-alias EMRSETPALETTEENTRIES TEMRSETPALETTEENTRIES;
-alias EMRSETPALETTEENTRIES* PEMRSETPALETTEENTRIES;
-
-struct EMRSETPIXELV
-{
-	EMR emr;
-	POINTL ptlPixel;
-	COLORREF crColor;
-}
-
-alias EMRSETPIXELV TAGEMRSETPIXELV;
-alias EMRSETPIXELV TEMRSETPIXELV;
-alias EMRSETPIXELV* PEMRSETPIXELV;
-
-struct EMRSETVIEWPORTEXTEX
-{
-	EMR emr;
-	SIZEL szlExtent;
-}
-
-alias EMRSETVIEWPORTEXTEX TAGEMRSETVIEWPORTEXTEX;
-alias EMRSETVIEWPORTEXTEX TEMRSETVIEWPORTEXTEX;
-alias EMRSETVIEWPORTEXTEX* PEMRSETVIEWPORTEXTEX;
-alias EMRSETVIEWPORTEXTEX EMRSETWINDOWEXTEX;
-alias EMRSETVIEWPORTEXTEX TEMRSETWINDOWEXTEX;
-alias EMRSETVIEWPORTEXTEX* PEMRSETWINDOWEXTEX;
-
-struct EMRSETVIEWPORTORGEX
-{
-	EMR emr;
-	POINTL ptlOrigin;
-}
-
-alias EMRSETVIEWPORTORGEX TAGEMRSETVIEWPORTORGEX;
-alias EMRSETVIEWPORTORGEX TEMRSETVIEWPORTORGEX;
-alias EMRSETVIEWPORTORGEX* PEMRSETVIEWPORTORGEX;
-alias EMRSETVIEWPORTORGEX EMRSETWINDOWORGEX;
-alias EMRSETVIEWPORTORGEX TEMRSETWINDOWORGEX;
-alias EMRSETVIEWPORTORGEX* PEMRSETWINDOWORGEX;
-alias EMRSETVIEWPORTORGEX EMRSETBRUSHORGEX;
-alias EMRSETVIEWPORTORGEX TEMRSETBRUSHORGEX;
-alias EMRSETVIEWPORTORGEX* PEMRSETBRUSHORGEX;
-
-struct EMRSETWORLDTRANSFORM
-{
-	EMR emr;
-	XFORM xform;
-}
-
-alias EMRSETWORLDTRANSFORM TAGEMRSETWORLDTRANSFORM;
-alias EMRSETWORLDTRANSFORM TEMRSETWORLDTRANSFORM;
-alias EMRSETWORLDTRANSFORM* PEMRSETWORLDTRANSFORM;
-
-struct EMRSTRETCHBLT
-{
-	EMR emr;
-	RECTL rclBounds;
-	LONG xDest;
-	LONG yDest;
-	LONG cxDest;
-	LONG cyDest;
-	DWORD dwRop;
-	LONG xSrc;
-	LONG ySrc;
-	XFORM xformSrc;
-	COLORREF crBkColorSrc;
-	DWORD iUsageSrc;
-	DWORD offBmiSrc;
-	DWORD cbBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-	LONG cxSrc;
-	LONG cySrc;
-}
-
-alias EMRSTRETCHBLT TAGEMRSTRETCHBLT;
-alias EMRSTRETCHBLT TEMRSTRETCHBLT;
-alias EMRSTRETCHBLT* PEMRSTRETCHBLT;
-
-struct EMRSTRETCHDIBITS
-{
-	EMR emr;
-	RECTL rclBounds;
-	LONG xDest;
-	LONG yDest;
-	LONG xSrc;
-	LONG ySrc;
-	LONG cxSrc;
-	LONG cySrc;
-	DWORD offBmiSrc;
-	DWORD cbBmiSrc;
-	DWORD offBitsSrc;
-	DWORD cbBitsSrc;
-	DWORD iUsageSrc;
-	DWORD dwRop;
-	LONG cxDest;
-	LONG cyDest;
-}
-
-alias EMRSTRETCHDIBITS TAGEMRSTRETCHDIBITS;
-alias EMRSTRETCHDIBITS TEMRSTRETCHDIBITS;
-alias EMRSTRETCHDIBITS* PEMRSTRETCHDIBITS;
-
-struct EMRABORTPATH
-{
-	EMR emr;
-}
-
-alias EMRABORTPATH TEMRABORTPATH;
-alias EMRABORTPATH* PEMRABORTPATH;
-alias EMRABORTPATH TAGABORTPATH;
-alias EMRABORTPATH TABORTPATH;
-alias EMRABORTPATH EMRBEGINPATH;
-alias EMRABORTPATH TEMRBEGINPATH;
-alias EMRABORTPATH* PEMRBEGINPATH;
-alias EMRABORTPATH EMRENDPATH;
-alias EMRABORTPATH TEMRENDPATH;
-alias EMRABORTPATH* PEMRENDPATH;
-alias EMRABORTPATH EMRCLOSEFIGURE;
-alias EMRABORTPATH TEMRCLOSEFIGURE;
-alias EMRABORTPATH* PEMRCLOSEFIGURE;
-alias EMRABORTPATH EMRFLATTENPATH;
-alias EMRABORTPATH TEMRFLATTENPATH;
-alias EMRABORTPATH* PEMRFLATTENPATH;
-alias EMRABORTPATH EMRWIDENPATH;
-alias EMRABORTPATH TEMRWIDENPATH;
-alias EMRABORTPATH* PEMRWIDENPATH;
-alias EMRABORTPATH EMRSETMETARGN;
-alias EMRABORTPATH TEMRSETMETARGN;
-alias EMRABORTPATH* PEMRSETMETARGN;
-alias EMRABORTPATH EMRSAVEDC;
-alias EMRABORTPATH TEMRSAVEDC;
-alias EMRABORTPATH* PEMRSAVEDC;
-alias EMRABORTPATH EMRREALIZEPALETTE;
-alias EMRABORTPATH TEMRREALIZEPALETTE;
-alias EMRABORTPATH* PEMRREALIZEPALETTE;
-
-struct EMRSELECTCLIPPATH
-{
-	EMR emr;
-	DWORD iMode;
-}
-
-alias EMRSELECTCLIPPATH TAGEMRSELECTCLIPPATH;
-alias EMRSELECTCLIPPATH TEMRSELECTCLIPPATH;
-alias EMRSELECTCLIPPATH* PEMRSELECTCLIPPATH;
-alias EMRSELECTCLIPPATH EMRSETBKMODE;
-alias EMRSELECTCLIPPATH TEMRSETBKMODE;
-alias EMRSELECTCLIPPATH* PEMRSETBKMODE;
-alias EMRSELECTCLIPPATH EMRSETMAPMODE;
-alias EMRSELECTCLIPPATH TEMRSETMAPMODE;
-alias EMRSELECTCLIPPATH* PEMRSETMAPMODE;
-alias EMRSELECTCLIPPATH EMRSETPOLYFILLMODE;
-alias EMRSELECTCLIPPATH TEMRSETPOLYFILLMODE;
-alias EMRSELECTCLIPPATH* PEMRSETPOLYFILLMODE;
-alias EMRSELECTCLIPPATH EMRSETROP2;
-alias EMRSELECTCLIPPATH TEMRSETROP2;
-alias EMRSELECTCLIPPATH* PEMRSETROP2;
-alias EMRSELECTCLIPPATH EMRSETSTRETCHBLTMODE;
-alias EMRSELECTCLIPPATH TEMRSETSTRETCHBLTMODE;
-alias EMRSELECTCLIPPATH* PEMRSETSTRETCHBLTMODE;
-alias EMRSELECTCLIPPATH EMRSETTEXTALIGN;
-alias EMRSELECTCLIPPATH TEMRSETTEXTALIGN;
-alias EMRSELECTCLIPPATH* PEMRSETTEXTALIGN;
-alias EMRSELECTCLIPPATH EMRENABLEICM;
-alias EMRSELECTCLIPPATH TEMRENABLEICM;
-alias EMRSELECTCLIPPATH* PEMRENABLEICM;
-
-struct NMHDR
-{
-	HWND hwndFrom;
-	UINT idFrom;
-	UINT code;
-}
-
-alias NMHDR TAGNMHDR;
-alias NMHDR TNMHDR;
-alias NMHDR* PNMHDR;
-
-struct ENCORRECTTEXT
-{
-	NMHDR nmhdr;
-	CHARRANGE chrg;
-	ushort seltyp;
-}
-
-alias ENCORRECTTEXT _ENCORRECTTEXT;
-alias ENCORRECTTEXT TENCORRECTTEXT;
-alias ENCORRECTTEXT* PENCORRECTTEXT;
-
-struct ENDROPFILES
-{
-	NMHDR nmhdr;
-	HANDLE hDrop;
-	LONG cp;
-	WINBOOL fProtected;
-}
-
-alias ENDROPFILES _ENDROPFILES;
-alias ENDROPFILES TENDROPFILES;
-alias ENDROPFILES* PENDROPFILES;
-
-struct ENSAVECLIPBOARD
-{
-	NMHDR nmhdr;
-	LONG cObjectCount;
-	LONG cch;
-}
-
-alias ENSAVECLIPBOARD TENSAVECLIPBOARD;
-alias ENSAVECLIPBOARD* PENSAVECLIPBOARD;
-
-struct ENOLEOPFAILED
-{
-	NMHDR nmhdr;
-	LONG iob;
-	LONG lOper;
-	HRESULT hr;
-}
-
-alias ENOLEOPFAILED TENOLEOPFAILED;
-alias ENOLEOPFAILED* PENOLEOPFAILED;
-
-struct ENHMETAHEADER
-{
-	DWORD iType;
-	DWORD nSize;
-	RECTL rclBounds;
-	RECTL rclFrame;
-	DWORD dSignature;
-	DWORD nVersion;
-	DWORD nBytes;
-	DWORD nRecords;
-	ushort nHandles;
-	ushort sReserved;
-	DWORD nDescription;
-	DWORD offDescription;
-	DWORD nPalEntries;
-	SIZEL szlDevice;
-	SIZEL szlMillimeters;
-}
-
-alias ENHMETAHEADER* LPENHMETAHEADER;
-alias ENHMETAHEADER TAGENHMETAHEADER;
-alias ENHMETAHEADER TENHMETAHEADER;
-alias ENHMETAHEADER* PENHMETAHEADER;
-
-struct ENHMETARECORD
-{
-	DWORD iType;
-	DWORD nSize;
-	DWORD[1 + 0] dParm;
-}
-
-alias ENHMETARECORD* LPENHMETARECORD;
-alias ENHMETARECORD TAGENHMETARECORD;
-alias ENHMETARECORD TENHMETARECORD;
-alias ENHMETARECORD* PENHMETARECORD;
-
-struct ENPROTECTED
-{
-	NMHDR nmhdr;
-	UINT msg;
-	WPARAM wParam;
-	LPARAM lParam;
-	CHARRANGE chrg;
-}
-
-alias ENPROTECTED _ENPROTECTED;
-alias ENPROTECTED TENPROTECTED;
-alias ENPROTECTED* PENPROTECTED;
-
-struct SERVICE_STATUS
-{
-	DWORD dwServiceType;
-	DWORD dwCurrentState;
-	DWORD dwControlsAccepted;
-	DWORD dwWin32ExitCode;
-	DWORD dwServiceSpecificExitCode;
-	DWORD dwCheckPoint;
-	DWORD dwWaitHint;
-}
-
-alias SERVICE_STATUS* LPSERVICE_STATUS;
-alias SERVICE_STATUS _SERVICE_STATUS;
-alias SERVICE_STATUS TSERVICESTATUS;
-alias SERVICE_STATUS* PSERVICESTATUS;
-
-struct ENUM_SERVICE_STATUS
-{
-	LPTSTR lpServiceName;
-	LPTSTR lpDisplayName;
-	SERVICE_STATUS ServiceStatus;
-}
-
-alias ENUM_SERVICE_STATUS* LPENUM_SERVICE_STATUS;
-alias ENUM_SERVICE_STATUS _ENUM_SERVICE_STATUS;
-alias ENUM_SERVICE_STATUS TENUMSERVICESTATUS;
-alias ENUM_SERVICE_STATUS* PENUMSERVICESTATUS;
-
-struct ENUMLOGFONTA {
-  LOGFONTA elfLogFont;
-  CHAR   elfFullName[LF_FULLFACESIZE];
-  CHAR   elfStyle[LF_FACESIZE];
-}
-struct ENUMLOGFONTW {
-  LOGFONTW elfLogFont;
-  WCHAR   elfFullName[LF_FULLFACESIZE];
-  WCHAR   elfStyle[LF_FACESIZE];
-}
-struct ENUMLOGFONTEXA {
-    LOGFONTA  elfLogFont;
-    BYTE  elfFullName[LF_FULLFACESIZE];
-    BYTE  elfStyle[LF_FACESIZE];
-    BYTE  elfScript[LF_FACESIZE];
-}
-struct ENUMLOGFONTEXW {
-    LOGFONTW  elfLogFont;
-    WCHAR  elfFullName[LF_FULLFACESIZE];
-    WCHAR  elfStyle[LF_FACESIZE];
-    WCHAR  elfScript[LF_FACESIZE];
-}
-version(ANSI){
-    alias ENUMLOGFONTA ENUMLOGFONT;
-    alias ENUMLOGFONTEXA ENUMLOGFONTEX;
-}else {
-    alias ENUMLOGFONTW ENUMLOGFONT;
-    alias ENUMLOGFONTEXW ENUMLOGFONTEX;
-}
-
-
-// struct ENUMLOGFONT
-// {
-// 	LOGFONT elfLogFont;
-// 	BCHAR[1 + LF_FULLFACESIZE-1] elfFullName;
-// 	BCHAR[1 + LF_FACESIZE-1] elfStyle;
-// }
-//
-// alias ENUMLOGFONT TAGENUMLOGFONT;
-// alias ENUMLOGFONT TENUMLOGFONT;
-// alias ENUMLOGFONT* PENUMLOGFONT;
-//
-// struct ENUMLOGFONTEX
-// {
-// 	LOGFONT elfLogFont;
-// 	BCHAR[1 + LF_FULLFACESIZE-1] elfFullName;
-// 	BCHAR[1 + LF_FACESIZE-1] elfStyle;
-// 	BCHAR[1 + LF_FACESIZE-1] elfScript;
-// }
-//
-// alias ENUMLOGFONTEX TAGENUMLOGFONTEX;
-// alias ENUMLOGFONTEX TENUMLOGFONTEX;
-// alias ENUMLOGFONTEX* PENUMLOGFONTEX;
-
-struct EVENTLOGRECORD
-{
-	DWORD Length;
-	DWORD Reserved;
-	DWORD RecordNumber;
-	DWORD TimeGenerated;
-	DWORD TimeWritten;
-	DWORD EventID;
-	ushort EventType;
-	ushort NumStrings;
-	ushort EventCategory;
-	ushort ReservedFlags;
-	DWORD ClosingRecordNumber;
-	DWORD StringOffset;
-	DWORD UserSidLength;
-	DWORD UserSidOffset;
-	DWORD DataLength;
-	DWORD DataOffset;
-}
-
-alias EVENTLOGRECORD _EVENTLOGRECORD;
-alias EVENTLOGRECORD TEVENTLOGRECORD;
-alias EVENTLOGRECORD* PEVENTLOGRECORD;
-
-struct EVENTMSG
-{
-	UINT message;
-	UINT paramL;
-	UINT paramH;
-	DWORD time;
-	HWND hwnd;
-}
-
-alias EVENTMSG TAGEVENTMSG;
-alias EVENTMSG TEVENTMSG;
-alias EVENTMSG* PEVENTMSG;
-
-struct EXCEPTION_POINTERS
-{
-	PEXCEPTION_RECORD ExceptionRecord;
-	PCONTEXT ContextRecord;
-}
-
-alias EXCEPTION_POINTERS* LPEXCEPTION_POINTERS;
-alias EXCEPTION_POINTERS* PEXCEPTION_POINTERS;
-alias EXCEPTION_POINTERS _EXCEPTION_POINTERS;
-alias EXCEPTION_POINTERS TEXCEPTIONPOINTERS;
-alias EXCEPTION_POINTERS* PEXCEPTIONPOINTERS;
-
-struct EXT_BUTTON
-{
-	ushort idCommand;
-	ushort idsHelp;
-	ushort fsStyle;
-}
-
-alias EXT_BUTTON* LPEXT_BUTTON;
-alias EXT_BUTTON _EXT_BUTTON;
-alias EXT_BUTTON TEXTBUTTON;
-alias EXT_BUTTON* PEXTBUTTON;
-
-struct FILTERKEYS
-{
-	UINT cbSize;
-	DWORD dwFlags;
-	DWORD iWaitMSec;
-	DWORD iDelayMSec;
-	DWORD iRepeatMSec;
-	DWORD iBounceMSec;
-}
-
-alias FILTERKEYS TAGFILTERKEYS;
-alias FILTERKEYS TFILTERKEYS;
-alias FILTERKEYS* PFILTERKEYS;
-
-struct FIND_NAME_BUFFER
-{
-	UCHAR length;
-	UCHAR access_control;
-	UCHAR frame_control;
-	UCHAR[1 + 5] destination_addr;
-	UCHAR[1 + 5] source_addr;
-	UCHAR[1 + 17] routing_info;
-}
-
-alias FIND_NAME_BUFFER _FIND_NAME_BUFFER;
-alias FIND_NAME_BUFFER TFINDNAMEBUFFER;
-alias FIND_NAME_BUFFER* PFINDNAMEBUFFER;
-
-struct FIND_NAME_HEADER
-{
-	ushort node_count;
-	UCHAR reserved;
-	UCHAR unique_group;
-}
-
-alias FIND_NAME_HEADER _FIND_NAME_HEADER;
-alias FIND_NAME_HEADER TFINDNAMEHEADER;
-alias FIND_NAME_HEADER* PFINDNAMEHEADER;
-
-struct FINDREPLACE
-{
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HINST hInstance;
-	DWORD Flags;
-	LPTSTR lpstrFindWhat;
-	LPTSTR lpstrReplaceWith;
-	ushort wFindWhatLen;
-	ushort wReplaceWithLen;
-	LPARAM lCustData;
-	LPFRHOOKPROC lpfnHook;
-	LPCTSTR lpTemplateName;
-}
-
-alias FINDREPLACE* LPFINDREPLACE;
-alias FINDREPLACE TFINDREPLACE;
-alias FINDREPLACE* PFINDREPLACE;
-
-struct TFINDTEXT
-{
-	CHARRANGE chrg;
-	LPSTR lpstrText;
-}
-
-alias TFINDTEXT _FINDTEXT;
-alias TFINDTEXT* PFINDTEXT;
-
-struct FINDTEXTEX
-{
-	CHARRANGE chrg;
-	LPSTR lpstrText;
-	CHARRANGE chrgText;
-}
-
-alias FINDTEXTEX _FINDTEXTEX;
-alias FINDTEXTEX TFINDTEXTEX;
-alias FINDTEXTEX* PFINDTEXTEX;
-
-struct FMS_GETDRIVEINFO
-{
-	DWORD dwTotalSpace;
-	DWORD dwFreeSpace;
-	TCHAR[1 + 259] szPath;
-	TCHAR[1 + 13] szVolume;
-	TCHAR[1 + 127] szShare;
-}
-
-alias FMS_GETDRIVEINFO _FMS_GETDRIVEINFO;
-alias FMS_GETDRIVEINFO TFMSGETDRIVEINFO;
-alias FMS_GETDRIVEINFO* PFMSGETDRIVEINFO;
-
-struct FMS_GETFILESEL
-{
-	FILETIME ftTime;
-	DWORD dwSize;
-	ubyte bAttr;
-	TCHAR[1 + 259] szName;
-}
-
-alias FMS_GETFILESEL _FMS_GETFILESEL;
-alias FMS_GETFILESEL TFMSGETFILESEL;
-alias FMS_GETFILESEL* PFMSGETFILESEL;
-
-struct FMS_LOAD
-{
-	DWORD dwSize;
-	TCHAR[1 + MENU_TEXT_LEN-1] szMenuName;
-	HMENU hMenu;
-	UINT wMenuDelta;
-}
-
-alias FMS_LOAD _FMS_LOAD;
-alias FMS_LOAD TFMSLOAD;
-alias FMS_LOAD* PFMSLOAD;
-
-struct FMS_TOOLBARLOAD
-{
-	DWORD dwSize;
-	LPEXT_BUTTON lpButtons;
-	ushort cButtons;
-	ushort cBitmaps;
-	ushort idBitmap;
-	HBITMAP hBitmap;
-}
-
-alias FMS_TOOLBARLOAD _FMS_TOOLBARLOAD;
-alias FMS_TOOLBARLOAD TFMSTOOLBARLOAD;
-alias FMS_TOOLBARLOAD* PFMSTOOLBARLOAD;
-
-struct FOCUS_EVENT_RECORD
-{
-	WINBOOL bSetFocus;
-}
-
-alias FOCUS_EVENT_RECORD _FOCUS_EVENT_RECORD;
-alias FOCUS_EVENT_RECORD TFOCUSEVENTRECORD;
-alias FOCUS_EVENT_RECORD* PFOCUSEVENTRECORD;
-
-struct FORM_INFO_1
-{
-	DWORD Flags;
-	LPTSTR pName;
-	SIZEL Size;
-	RECTL ImageableArea;
-}
-
-alias FORM_INFO_1 _FORM_INFO_1;
-alias FORM_INFO_1 TFORMINFO1;
-alias FORM_INFO_1* PFORMINFO1;
-
-struct FORMAT_PARAMETERS
-{
-	MEDIA_TYPE MediaType;
-	DWORD StartCylinderNumber;
-	DWORD EndCylinderNumber;
-	DWORD StartHeadNumber;
-	DWORD EndHeadNumber;
-}
-
-alias FORMAT_PARAMETERS _FORMAT_PARAMETERS;
-alias FORMAT_PARAMETERS TFORMATPARAMETERS;
-alias FORMAT_PARAMETERS* PFORMATPARAMETERS;
-
-struct FORMATRANGE
-{
-	HDC _hdc;
-	HDC hdcTarget;
-	RECT rc;
-	RECT rcPage;
-	CHARRANGE chrg;
-}
-
-alias FORMATRANGE _FORMATRANGE;
-alias FORMATRANGE TFORMATRANGE;
-alias FORMATRANGE* PFORMATRANGE;
-
-struct GCP_RESULTS
-{
-	DWORD lStructSize;
-	LPTSTR lpOutString;
-	UINT* lpOrder;
-	INT* lpDx;
-	INT* lpCaretPos;
-	LPTSTR lpClass;
-	UINT* lpGlyphs;
-	UINT nGlyphs;
-	UINT nMaxFit;
-}
-
-alias GCP_RESULTS* LPGCP_RESULTS;
-alias GCP_RESULTS TAGGCP_RESULTS;
-alias GCP_RESULTS TGCPRESULTS;
-alias GCP_RESULTS* PGCPRESULTS;
-
-struct GENERIC_MAPPING
-{
-	ACCESS_MASK GenericRead;
-	ACCESS_MASK GenericWrite;
-	ACCESS_MASK GenericExecute;
-	ACCESS_MASK GenericAll;
-}
-
-alias GENERIC_MAPPING* PGENERIC_MAPPING;
-alias GENERIC_MAPPING _GENERIC_MAPPING;
-alias GENERIC_MAPPING TGENERICMAPPING;
-alias GENERIC_MAPPING* PGENERICMAPPING;
-
-struct GLYPHMETRICS
-{
-	UINT gmBlackBoxX;
-	UINT gmBlackBoxY;
-	POINT gmptGlyphOrigin;
-	int gmCellIncX;
-	int gmCellIncY;
-}
-
-alias GLYPHMETRICS* LPGLYPHMETRICS;
-alias GLYPHMETRICS _GLYPHMETRICS;
-alias GLYPHMETRICS TGLYPHMETRICS;
-alias GLYPHMETRICS* PGLYPHMETRICS;
-
-struct HANDLETABLE
-{
-	HGDIOBJ[1 + 0] objectHandle;
-}
-
-alias HANDLETABLE TAGHANDLETABLE;
-alias HANDLETABLE THANDLETABLE;
-alias HANDLETABLE* LPHANDLETABLE;
-
-struct HD_HITTESTINFO
-{
-	POINT pt;
-	UINT flags;
-	int iItem;
-}
-
-alias HD_HITTESTINFO _HD_HITTESTINFO;
-alias HD_HITTESTINFO THDHITTESTINFO;
-alias HD_HITTESTINFO  HDHITTESTINFO;
-alias HD_HITTESTINFO* PHDHITTESTINFO;
-
-struct HD_ITEM
-{
-	UINT mask;
-	int cxy;
-	LPTSTR pszText;
-	HBITMAP hbm;
-	int cchTextMax;
-	int fmt;
-	LPARAM lParam;
-}
-
-alias HD_ITEM _HD_ITEM;
-alias HD_ITEM THDITEM;
-alias HD_ITEM* PHDITEM;
-
-struct WINDOWPOS
-{
-	HWND _hwnd;
-	HWND hwndInsertAfter;
-	int x;
-	int y;
-	int cx;
-	int cy;
-	UINT flags;
-}
-
-alias WINDOWPOS* LPWINDOWPOS;
-alias WINDOWPOS _WINDOWPOS;
-alias WINDOWPOS TWINDOWPOS;
-alias WINDOWPOS* PWINDOWPOS;
-
-struct HD_LAYOUT
-{
-	RECT* prc;
-	WINDOWPOS* pwpos;
-}
-
-alias HD_LAYOUT _HD_LAYOUT;
-alias HD_LAYOUT THDLAYOUT;
-alias HD_LAYOUT  HDLAYOUT;
-alias HD_LAYOUT* PHDLAYOUT;
-
-struct HD_NOTIFY
-{
-	NMHDR hdr;
-	int iItem;
-	int iButton;
-	HD_ITEM* pitem;
-}
-
-alias HD_NOTIFY _HD_NOTIFY;
-alias HD_NOTIFY THDNOTIFY;
-alias HD_NOTIFY* PHDNOTIFY;
-
-struct HELPINFO
-{
-	UINT cbSize;
-	int iContextType;
-	int iCtrlId;
-	HANDLE hItemHandle;
-	DWORD dwContextId;
-	POINT MousePos;
-}
-
-alias HELPINFO* LPHELPINFO;
-alias HELPINFO TAGHELPINFO;
-alias HELPINFO THELPINFO;
-alias HELPINFO* PHELPINFO;
-
-struct HELPWININFO
-{
-	int wStructSize;
-	int x;
-	int y;
-	int dx;
-	int dy;
-	int wMax;
-	TCHAR[1 + 1] rgchMember;
-}
-
-alias HELPWININFO THELPWININFO;
-alias HELPWININFO* PHELPWININFO;
-
-struct HIGHCONTRAST
-{
-	UINT cbSize;
-	DWORD dwFlags;
-	LPTSTR lpszDefaultScheme;
-}
-
-alias HIGHCONTRAST* LPHIGHCONTRAST;
-alias HIGHCONTRAST TAGHIGHCONTRAST;
-alias HIGHCONTRAST THIGHCONTRAST;
-alias HIGHCONTRAST* PHIGHCONTRAST;
-
-struct HSZPAIR
-{
-	HSZ hszSvc;
-	HSZ hszTopic;
-}
-
-alias HSZPAIR TAGHSZPAIR;
-alias HSZPAIR THSZPAIR;
-alias HSZPAIR* PHSZPAIR;
-
-struct ICONINFO
-{
-	WINBOOL fIcon;
-	DWORD xHotspot;
-	DWORD yHotspot;
-	HBITMAP hbmMask;
-	HBITMAP hbmColor;
-}
-
-alias ICONINFO _ICONINFO;
-alias ICONINFO TICONINFO;
-alias ICONINFO* PICONINFO;
-
-struct ICONMETRICS
-{
-	UINT cbSize;
-	int iHorzSpacing;
-	int iVertSpacing;
-	int iTitleWrap;
-	LOGFONT lfFont;
-}
-
-alias ICONMETRICS* LPICONMETRICS;
-alias ICONMETRICS TAGICONMETRICS;
-alias ICONMETRICS TICONMETRICS;
-alias ICONMETRICS* PICONMETRICS;
-
-struct IMAGEINFO
-{
-	HBITMAP hbmImage;
-	HBITMAP hbmMask;
-	int Unused1;
-	int Unused2;
-	RECT rcImage;
-}
-
-alias IMAGEINFO _IMAGEINFO;
-alias IMAGEINFO TIMAGEINFO;
-alias IMAGEINFO* PIMAGEINFO;
-
-align(1) struct KEY_EVENT_RECORD
-{
-	WINBOOL bKeyDown;
-	ushort wRepeatCount;
-	ushort wVirtualKeyCode;
-	ushort wVirtualScanCode;
-
-	union
-	{
-		struct
-		{
-			WCHAR UnicodeChar;
-			DWORD dwControlKeyState;
-		}
-		struct
-		{
-			char AsciiChar;
-		}
-	}
-}
-
-alias KEY_EVENT_RECORD _KEY_EVENT_RECORD;
-alias KEY_EVENT_RECORD TKEYEVENTRECORD;
-alias KEY_EVENT_RECORD* PKEYEVENTRECORD;
-
-struct MOUSE_EVENT_RECORD
-{
-	COORD dwMousePosition;
-	DWORD dwButtonState;
-	DWORD dwControlKeyState;
-	DWORD dwEventFlags;
-}
-
-alias MOUSE_EVENT_RECORD _MOUSE_EVENT_RECORD;
-alias MOUSE_EVENT_RECORD TMOUSEEVENTRECORD;
-alias MOUSE_EVENT_RECORD* PMOUSEEVENTRECORD;
-
-struct WINDOW_BUFFER_SIZE_RECORD
-{
-	COORD dwSize;
-}
-
-alias WINDOW_BUFFER_SIZE_RECORD _WINDOW_BUFFER_SIZE_RECORD;
-alias WINDOW_BUFFER_SIZE_RECORD TWINDOWBUFFERSIZERECORD;
-alias WINDOW_BUFFER_SIZE_RECORD* PWINDOWBUFFERSIZERECORD;
-
-struct MENU_EVENT_RECORD
-{
-	UINT dwCommandId;
-}
-
-alias MENU_EVENT_RECORD* PMENU_EVENT_RECORD;
-alias MENU_EVENT_RECORD _MENU_EVENT_RECORD;
-alias MENU_EVENT_RECORD TMENUEVENTRECORD;
-alias MENU_EVENT_RECORD* PMENUEVENTRECORD;
-
-struct INPUT_RECORD
-{
-	ushort EventType;
-
-	union
-	{
-		struct
-		{
-			KEY_EVENT_RECORD KeyEvent;
-		}
-		struct
-		{
-			MOUSE_EVENT_RECORD MouseEvent;
-		}
-		struct
-		{
-			WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
-		}
-		struct
-		{
-			MENU_EVENT_RECORD MenuEvent;
-		}
-		struct
-		{
-			FOCUS_EVENT_RECORD FocusEvent;
-		}
-	}
-}
-
-alias INPUT_RECORD* PINPUT_RECORD;
-alias INPUT_RECORD _INPUT_RECORD;
-alias INPUT_RECORD TINPUTRECORD;
-alias INPUT_RECORD* PINPUTRECORD;
-
-struct SYSTEMTIME
-{
-	ushort wYear;
-	ushort wMonth;
-	ushort wDayOfWeek;
-	ushort wDay;
-	ushort wHour;
-	ushort wMinute;
-	ushort wSecond;
-	ushort wMilliseconds;
-}
-
-alias SYSTEMTIME* LPSYSTEMTIME;
-alias SYSTEMTIME _SYSTEMTIME;
-alias SYSTEMTIME TSYSTEMTIME;
-alias SYSTEMTIME* PSYSTEMTIME;
-
-struct JOB_INFO_1
-{
-	DWORD JobId;
-	LPTSTR pPrinterName;
-	LPTSTR pMachineName;
-	LPTSTR pUserName;
-	LPTSTR pDocument;
-	LPTSTR pDatatype;
-	LPTSTR pStatus;
-	DWORD Status;
-	DWORD Priority;
-	DWORD Position;
-	DWORD TotalPages;
-	DWORD PagesPrinted;
-	SYSTEMTIME Submitted;
-}
-
-alias JOB_INFO_1 _JOB_INFO_1;
-alias JOB_INFO_1 TJOBINFO1;
-alias JOB_INFO_1* PJOBINFO1;
-
-struct SID_IDENTIFIER_AUTHORITY
-{
-	ubyte[1 + 5] Value;
-}
-
-alias SID_IDENTIFIER_AUTHORITY* LPSID_IDENTIFIER_AUTHORITY;
-alias SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY;
-alias SID_IDENTIFIER_AUTHORITY _SID_IDENTIFIER_AUTHORITY;
-alias SID_IDENTIFIER_AUTHORITY TSIDIDENTIFIERAUTHORITY;
-alias SID_IDENTIFIER_AUTHORITY* PSIDIDENTIFIERAUTHORITY;
-
-struct SID
-{
-	ubyte Revision;
-	ubyte SubAuthorityCount;
-	SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
-	DWORD[1 + ANYSIZE_ARRAY-1] SubAuthority;
-}
-
-alias SID _SID;
-alias SID TSID;
-alias SID* PSID;
-alias ushort SECURITY_DESCRIPTOR_CONTROL;
-alias SECURITY_DESCRIPTOR_CONTROL* PSECURITY_DESCRIPTOR_CONTROL;
-alias SECURITY_DESCRIPTOR_CONTROL TSECURITYDESCRIPTORCONTROL;
-alias SECURITY_DESCRIPTOR_CONTROL* PSECURITYDESCRIPTORCONTROL;
-
-struct SECURITY_DESCRIPTOR
-{
-	ubyte Revision;
-	ubyte Sbz1;
-	SECURITY_DESCRIPTOR_CONTROL Control;
-	PSID Owner;
-	PSID Group;
-	PACL Sacl;
-	PACL Dacl;
-}
-
-alias SECURITY_DESCRIPTOR* PSECURITY_DESCRIPTOR;
-alias SECURITY_DESCRIPTOR _SECURITY_DESCRIPTOR;
-alias SECURITY_DESCRIPTOR TSECURITYDESCRIPTOR;
-alias SECURITY_DESCRIPTOR* PSECURITYDESCRIPTOR;
-
-struct JOB_INFO_2
-{
-	DWORD JobId;
-	LPTSTR pPrinterName;
-	LPTSTR pMachineName;
-	LPTSTR pUserName;
-	LPTSTR pDocument;
-	LPTSTR pNotifyName;
-	LPTSTR pDatatype;
-	LPTSTR pPrintProcessor;
-	LPTSTR pParameters;
-	LPTSTR pDriverName;
-	LPDEVMODE pDevMode;
-	LPTSTR pStatus;
-	PSECURITY_DESCRIPTOR pSecurityDescriptor;
-	DWORD Status;
-	DWORD Priority;
-	DWORD Position;
-	DWORD StartTime;
-	DWORD UntilTime;
-	DWORD TotalPages;
-	DWORD Size;
-	SYSTEMTIME Submitted;
-	DWORD Time;
-	DWORD PagesPrinted;
-}
-
-alias JOB_INFO_2 _JOB_INFO_2;
-alias JOB_INFO_2 TJOBINFO2;
-alias JOB_INFO_2* PJOBINFO2;
-
-struct KERNINGPAIR
-{
-	ushort wFirst;
-	ushort wSecond;
-	int iKernAmount;
-}
-
-alias KERNINGPAIR* LPKERNINGPAIR;
-alias KERNINGPAIR TAGKERNINGPAIR;
-alias KERNINGPAIR TKERNINGPAIR;
-alias KERNINGPAIR* PKERNINGPAIR;
-
-struct LANA_ENUM
-{
-	UCHAR length;
-	UCHAR[1 + MAX_LANA-1] lana;
-}
-
-alias LANA_ENUM _LANA_ENUM;
-alias LANA_ENUM TLANAENUM;
-alias LANA_ENUM* PLANAENUM;
-
-struct LDT_ENTRY
-{
-	ushort LimitLow;
-	ushort BaseLow;
-
-	union
-	{
-		struct
-		{
-			ubyte BaseMid;
-			ubyte Flags1;
-			ubyte Flags2;
-			ubyte BaseHi;
-		}
-		struct
-		{
-			int flag0;
-		}
-	}
-}
-
-alias LDT_ENTRY* LPLDT_ENTRY;
-alias LDT_ENTRY* PLDT_ENTRY;
-alias LDT_ENTRY _LDT_ENTRY;
-alias LDT_ENTRY TLDTENTRY;
-alias LDT_ENTRY* PLDTENTRY;
-enum : DWORD {
-    bm_LDT_ENTRY_BaseMid = (0xFF),
-    bp_LDT_ENTRY_BaseMid = (0),
-    bm_LDT_ENTRY_Type = (0x1F00),
-    bp_LDT_ENTRY_Type = (8),
-    bm_LDT_ENTRY_Dpl = (0x6000),
-    bp_LDT_ENTRY_Dpl = (13),
-    bm_LDT_ENTRY_Pres = (0x8000),
-    bp_LDT_ENTRY_Pres = (15),
-    bm_LDT_ENTRY_LimitHi = (0xF0000),
-    bp_LDT_ENTRY_LimitHi = (16),
-    bm_LDT_ENTRY_Sys = (0x100000),
-    bp_LDT_ENTRY_Sys = (20),
-    bm_LDT_ENTRY_Reserved_0 = (0x200000),
-    bp_LDT_ENTRY_Reserved_0 = (21),
-    bm_LDT_ENTRY_Default_Big = (0x400000),
-    bp_LDT_ENTRY_Default_Big = (22),
-    bm_LDT_ENTRY_Granularity = (0x800000),
-    bp_LDT_ENTRY_Granularity = (23),
-    bm_LDT_ENTRY_BaseHi = (0xFF000000),
-    bp_LDT_ENTRY_BaseHi = (24),
-}
-
-struct LOCALESIGNATURE
-{
-	DWORD[1 + 3] lsUsb;
-	DWORD[1 + 1] lsCsbDefault;
-	DWORD[1 + 1] lsCsbSupported;
-}
-
-alias LOCALESIGNATURE TAGLOCALESIGNATURE;
-alias LOCALESIGNATURE TLOCALESIGNATURE;
-alias LOCALESIGNATURE* PLOCALESIGNATURE;
-
-struct LOCALGROUP_MEMBERS_INFO_0
-{
-	PSID lgrmi0_sid;
-}
-
-alias LOCALGROUP_MEMBERS_INFO_0 _LOCALGROUP_MEMBERS_INFO_0;
-alias LOCALGROUP_MEMBERS_INFO_0 TLOCALGROUPMEMBERSINFO0;
-alias LOCALGROUP_MEMBERS_INFO_0* PLOCALGROUPMEMBERSINFO0;
-
-struct LOCALGROUP_MEMBERS_INFO_3
-{
-	LPWSTR lgrmi3_domainandname;
-}
-
-alias LOCALGROUP_MEMBERS_INFO_3 _LOCALGROUP_MEMBERS_INFO_3;
-alias LOCALGROUP_MEMBERS_INFO_3 TLOCALGROUPMEMBERSINFO3;
-alias LOCALGROUP_MEMBERS_INFO_3* PLOCALGROUPMEMBERSINFO3;
-alias int FXPT16DOT16;
-alias FXPT16DOT16* LPFXPT16DOT16;
-alias FXPT16DOT16 TFXPT16DOT16;
-alias FXPT16DOT16* PFXPT16DOT16;
-alias LARGE_INTEGER LUID;
-alias LUID TLUID;
-alias LUID* PLUID;
-
-struct LUID_AND_ATTRIBUTES
-{
-	LUID Luid;
-	DWORD Attributes;
-}
-
-alias LUID_AND_ATTRIBUTES _LUID_AND_ATTRIBUTES;
-alias LUID_AND_ATTRIBUTES TLUIDANDATTRIBUTES;
-alias LUID_AND_ATTRIBUTES* PLUIDANDATTRIBUTES;
-alias LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] LUID_AND_ATTRIBUTES_ARRAY;
-alias LUID_AND_ATTRIBUTES_ARRAY* PLUID_AND_ATTRIBUTES_ARRAY;
-alias LUID_AND_ATTRIBUTES_ARRAY TLUIDANDATTRIBUTESARRAY;
-alias LUID_AND_ATTRIBUTES_ARRAY* PLUIDANDATTRIBUTESARRAY;
-
-struct LV_COLUMN
-{
-	UINT mask;
-	int fmt;
-	int cx;
-	LPTSTR pszText;
-	int cchTextMax;
-	int iSubItem;
-}
-
-alias LV_COLUMN _LV_COLUMN;
-alias LV_COLUMN TLVCOLUMN;
-alias LV_COLUMN* PLVCOLUMN;
-
-struct LV_ITEM
-{
-	UINT mask;
-	int iItem;
-	int iSubItem;
-	UINT state;
-	UINT stateMask;
-	LPTSTR pszText;
-	int cchTextMax;
-	int iImage;
-	LPARAM lParam;
-}
-
-alias LV_ITEM _LV_ITEM;
-alias LV_ITEM TLVITEM;
-alias LV_ITEM* PLVITEM;
-
-struct LV_DISPINFO
-{
-	NMHDR hdr;
-	LV_ITEM item;
-}
-
-alias LV_DISPINFO TAGLV_DISPINFO;
-alias LV_DISPINFO TLVDISPINFO;
-alias LV_DISPINFO* PLVDISPINFO;
-
-struct LV_FINDINFO
-{
-	UINT flags;
-	LPCTSTR psz;
-	LPARAM lParam;
-	POINT pt;
-	UINT vkDirection;
-}
-
-alias LV_FINDINFO _LV_FINDINFO;
-alias LV_FINDINFO TLVFINDINFO;
-alias LV_FINDINFO* PLVFINDINFO;
-
-struct LV_HITTESTINFO
-{
-	POINT pt;
-	UINT flags;
-	int iItem;
-}
-
-alias LV_HITTESTINFO _LV_HITTESTINFO;
-alias LV_HITTESTINFO TLVHITTESTINFO;
-alias LV_HITTESTINFO* PLVHITTESTINFO;
-
-struct LV_KEYDOWN
-{
-	NMHDR hdr;
-	ushort wVKey;
-	UINT flags;
-}
-
-alias LV_KEYDOWN TAGLV_KEYDOWN;
-alias LV_KEYDOWN TLVKEYDOWN;
-alias LV_KEYDOWN* PLVKEYDOWN;
-
-struct MAT2
-{
-	FIXED eM11;
-	FIXED eM12;
-	FIXED eM21;
-	FIXED eM22;
-}
-
-alias MAT2 _MAT2;
-alias MAT2 TMAT2;
-alias MAT2* PMAT2;
-
-struct MDICREATESTRUCT
-{
-	LPCTSTR szClass;
-	LPCTSTR szTitle;
-	HANDLE hOwner;
-	int x;
-	int y;
-	int cx;
-	int cy;
-	DWORD style;
-	LPARAM lParam;
-}
-
-alias MDICREATESTRUCT* LPMDICREATESTRUCT;
-alias MDICREATESTRUCT TAGMDICREATESTRUCT;
-alias MDICREATESTRUCT TMDICREATESTRUCT;
-alias MDICREATESTRUCT* PMDICREATESTRUCT;
-
-struct MEASUREITEMSTRUCT
-{
-	UINT CtlType;
-	UINT CtlID;
-	UINT itemID;
-	UINT itemWidth;
-	UINT itemHeight;
-	DWORD itemData;
-}
-
-alias MEASUREITEMSTRUCT* LPMEASUREITEMSTRUCT;
-alias MEASUREITEMSTRUCT TAGMEASUREITEMSTRUCT;
-alias MEASUREITEMSTRUCT TMEASUREITEMSTRUCT;
-alias MEASUREITEMSTRUCT* PMEASUREITEMSTRUCT;
-
-struct MEMORY_BASIC_INFORMATION
-{
-	PVOID BaseAddress;
-	PVOID AllocationBase;
-	DWORD AllocationProtect;
-	DWORD RegionSize;
-	DWORD State;
-	DWORD Protect;
-	DWORD _Type;
-}
-
-alias MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION;
-alias MEMORY_BASIC_INFORMATION _MEMORY_BASIC_INFORMATION;
-alias MEMORY_BASIC_INFORMATION TMEMORYBASICINFORMATION;
-alias MEMORY_BASIC_INFORMATION* PMEMORYBASICINFORMATION;
-
-struct MEMORYSTATUS
-{
-	DWORD dwLength;
-	DWORD dwMemoryLoad;
-	DWORD dwTotalPhys;
-	DWORD dwAvailPhys;
-	DWORD dwTotalPageFile;
-	DWORD dwAvailPageFile;
-	DWORD dwTotalVirtual;
-	DWORD dwAvailVirtual;
-}
-
-alias MEMORYSTATUS* LPMEMORYSTATUS;
-alias MEMORYSTATUS _MEMORYSTATUS;
-alias MEMORYSTATUS TMEMORYSTATUS;
-alias MEMORYSTATUS* PMEMORYSTATUS;
-
-struct MENUEX_TEMPLATE_HEADER
-{
-	ushort wVersion;
-	ushort wOffset;
-	DWORD dwHelpId;
-}
-
-alias MENUEX_TEMPLATE_HEADER TMENUXTEMPLATEHEADER;
-alias MENUEX_TEMPLATE_HEADER* PMENUXTEMPLATEHEADER;
-
-struct MENUEX_TEMPLATE_ITEM
-{
-	DWORD dwType;
-	DWORD dwState;
-	UINT uId;
-	ubyte bResInfo;
-	WCHAR[1 + 0] szText;
-	DWORD dwHelpId;
-}
-
-alias MENUEX_TEMPLATE_ITEM TMENUEXTEMPLATEITEM;
-alias MENUEX_TEMPLATE_ITEM* PMENUEXTEMPLATEITEM;
-
-/*
-* Feature in Windows.  The hbmpItem field requires Windows 4.10
-* or greater.  On Windows NT 4.0, passing in a larger struct size
-* in the cbSize field does nothing.  On Windows 95, the MENUITEMINFO
-* calls fail when the struct size is too large.  The fix is to ensure
-* that the correct struct size is used for the Windows platform.
-*/
-struct MENUITEMINFOA
-{
-    UINT    cbSize;
-    UINT    fMask;
-    UINT    fType;          // used if MIIM_TYPE
-    UINT    fState;         // used if MIIM_STATE
-    UINT    wID;            // used if MIIM_ID
-    HMENU   hSubMenu;       // used if MIIM_SUBMENU
-    HBITMAP hbmpChecked;    // used if MIIM_CHECKMARKS
-    HBITMAP hbmpUnchecked;  // used if MIIM_CHECKMARKS
-    DWORD   dwItemData;     // used if MIIM_DATA
-    LPSTR   dwTypeData;     // used if MIIM_TYPE
-    UINT    cch;            // used if MIIM_TYPE
-    HBITMAP hbmpItem;
-}
-alias MENUITEMINFOA* PMENUITEMINFOA, LPMENUITEMINFOA;
-struct MENUITEMINFOW
-{
-    UINT    cbSize;
-    UINT    fMask;
-    UINT    fType;          // used if MIIM_TYPE
-    UINT    fState;         // used if MIIM_STATE
-    UINT    wID;            // used if MIIM_ID
-    HMENU   hSubMenu;       // used if MIIM_SUBMENU
-    HBITMAP hbmpChecked;    // used if MIIM_CHECKMARKS
-    HBITMAP hbmpUnchecked;  // used if MIIM_CHECKMARKS
-    DWORD   dwItemData;     // used if MIIM_DATA
-    LPWSTR  dwTypeData;     // used if MIIM_TYPE
-    UINT    cch;            // used if MIIM_TYPE
-    HBITMAP hbmpItem;
-}   alias MENUITEMINFOW* PMENUITEMINFOW, LPMENUITEMINFOW;
-version(ANSI){
-    alias MENUITEMINFOA MENUITEMINFO;
-}else{
-    alias MENUITEMINFOW MENUITEMINFO;
-}
-alias MENUITEMINFO * LPMENUITEMINFO;
-alias MENUITEMINFO * LPCMENUITEMINFO;
-
-// struct MENUITEMINFO
-// {
-// 	UINT cbSize;
-// 	UINT fMask;
-// 	UINT fType;
-// 	UINT fState;
-// 	UINT wID;
-// 	HMENU hSubMenu;
-// 	HBITMAP hbmpChecked;
-// 	HBITMAP hbmpUnchecked;
-// 	DWORD dwItemData;
-// 	LPTSTR dwTypeData;
-// 	UINT cch;
-// }
-//
-// alias MENUITEMINFO* LPMENUITEMINFO;
-// alias MENUITEMINFO* LPCMENUITEMINFO;
-// alias MENUITEMINFO TAGMENUITEMINFO;
-// alias MENUITEMINFO TMENUITEMINFO;
-// alias MENUITEMINFO TMENUITEMINFOA;
-// alias MENUITEMINFO* PMENUITEMINFO;
-
-struct MENUITEMTEMPLATE
-{
-	ushort mtOption;
-	ushort mtID;
-	WCHAR[1 + 0] mtString;
-}
-
-alias MENUITEMTEMPLATE TMENUITEMTEMPLATE;
-alias MENUITEMTEMPLATE* PMENUITEMTEMPLATE;
-
-struct MENUITEMTEMPLATEHEADER
-{
-	ushort versionNumber;
-	ushort offset;
-}
-
-alias MENUITEMTEMPLATEHEADER TMENUITEMTEMPLATEHEADER;
-alias MENUITEMTEMPLATEHEADER* PMENUITEMTEMPLATEHEADER;
-
-struct MENUTEMPLATE
-{
-}
-
-alias MENUTEMPLATE* LPMENUTEMPLATE;
-alias MENUTEMPLATE TMENUTEMPLATE;
-alias MENUTEMPLATE* PMENUTEMPLATE;
-
-struct METAFILEPICT
-{
-	LONG mm;
-	LONG xExt;
-	LONG yExt;
-	HMETAFILE hMF;
-}
-
-alias METAFILEPICT* LPMETAFILEPICT;
-alias METAFILEPICT TAGMETAFILEPICT;
-alias METAFILEPICT TMETAFILEPICT;
-alias METAFILEPICT* PMETAFILEPICT;
-
-align(1) struct METAHEADER
-{
-	ushort mtType;
-	ushort mtHeaderSize;
-	ushort mtVersion;
-	DWORD mtSize;
-	ushort mtNoObjects;
-	DWORD mtMaxRecord;
-	ushort mtNoParameters;
-}
-
-alias METAHEADER TAGMETAHEADER;
-alias METAHEADER TMETAHEADER;
-alias METAHEADER* PMETAHEADER;
-
-struct METARECORD
-{
-	DWORD rdSize;
-	ushort rdFunction;
-	ushort[1 + 0] rdParm;
-}
-
-alias METARECORD* LPMETARECORD;
-alias METARECORD TAGMETARECORD;
-alias METARECORD TMETARECORD;
-alias METARECORD* PMETARECORD;
-
-struct MINIMIZEDMETRICS
-{
-	UINT cbSize;
-	int iWidth;
-	int iHorzGap;
-	int iVertGap;
-	int iArrange;
-}
-
-alias MINIMIZEDMETRICS* LPMINIMIZEDMETRICS;
-alias MINIMIZEDMETRICS TAGMINIMIZEDMETRICS;
-alias MINIMIZEDMETRICS TMINIMIZEDMETRICS;
-alias MINIMIZEDMETRICS* PMINIMIZEDMETRICS;
-
-struct MINMAXINFO
-{
-	POINT ptReserved;
-	POINT ptMaxSize;
-	POINT ptMaxPosition;
-	POINT ptMinTrackSize;
-	POINT ptMaxTrackSize;
-}
-
-alias MINMAXINFO TAGMINMAXINFO;
-alias MINMAXINFO TMINMAXINFO;
-alias MINMAXINFO* PMINMAXINFO;
-
-struct MODEMDEVCAPS
-{
-	DWORD 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;
-	ubyte[1 + 0] abVariablePortion;
-}
-
-alias MODEMDEVCAPS* LPMODEMDEVCAPS;
-alias MODEMDEVCAPS TMODEMDEVCAPS;
-alias MODEMDEVCAPS* PMODEMDEVCAPS;
-alias MODEMDEVCAPS MODEMDEVCAPS_TAG;
-
-struct MODEMSETTINGS
-{
-	DWORD dwActualSize;
-	DWORD dwRequiredSize;
-	DWORD dwDevSpecificOffset;
-	DWORD dwDevSpecificSize;
-	DWORD dwCallSetupFailTimer;
-	DWORD dwInactivityTimeout;
-	DWORD dwSpeakerVolume;
-	DWORD dwSpeakerMode;
-	DWORD dwPreferredModemOptions;
-	DWORD dwNegotiatedModemOptions;
-	DWORD dwNegotiatedDCERate;
-	ubyte[1 + 0] abVariablePortion;
-}
-
-alias MODEMSETTINGS* LPMODEMSETTINGS;
-alias MODEMSETTINGS TMODEMSETTINGS;
-alias MODEMSETTINGS* PMODEMSETTINGS;
-alias MODEMSETTINGS MODEMSETTINGS_TAG;
-
-struct MONCBSTRUCT
-{
-	UINT cb;
-	DWORD dwTime;
-	HANDLE hTask;
-	DWORD dwRet;
-	UINT wType;
-	UINT wFmt;
-	HCONV hConv;
-	HSZ hsz1;
-	HSZ hsz2;
-	HDDEDATA hData;
-	DWORD dwData1;
-	DWORD dwData2;
-	CONVCONTEXT cc;
-	DWORD cbData;
-	DWORD[1 + 7] Data;
-}
-
-alias MONCBSTRUCT TAGMONCBSTRUCT;
-alias MONCBSTRUCT TMONCBSTRUCT;
-alias MONCBSTRUCT* PMONCBSTRUCT;
-
-struct MONCONVSTRUCT
-{
-	UINT cb;
-	WINBOOL fConnect;
-	DWORD dwTime;
-	HANDLE hTask;
-	HSZ hszSvc;
-	HSZ hszTopic;
-	HCONV hConvClient;
-	HCONV hConvServer;
-}
-
-alias MONCONVSTRUCT TAGMONCONVSTRUCT;
-alias MONCONVSTRUCT TMONCONVSTRUCT;
-alias MONCONVSTRUCT* PMONCONVSTRUCT;
-
-struct MONERRSTRUCT
-{
-	UINT cb;
-	UINT wLastError;
-	DWORD dwTime;
-	HANDLE hTask;
-}
-
-alias MONERRSTRUCT TAGMONERRSTRUCT;
-alias MONERRSTRUCT TMONERRSTRUCT;
-alias MONERRSTRUCT* PMONERRSTRUCT;
-
-struct MONHSZSTRUCT
-{
-	UINT cb;
-	WINBOOL fsAction;
-	DWORD dwTime;
-	HSZ hsz;
-	HANDLE hTask;
-	TCHAR[1 + 0] str;
-}
-
-alias MONHSZSTRUCT TAGMONHSZSTRUCT;
-alias MONHSZSTRUCT TMONHSZSTRUCT;
-alias MONHSZSTRUCT* PMONHSZSTRUCT;
-
-struct MONITOR_INFO_1
-{
-	LPTSTR pName;
-}
-
-alias MONITOR_INFO_1 _MONITOR_INFO_1;
-alias MONITOR_INFO_1 TMONITORINFO1;
-alias MONITOR_INFO_1* PMONITORINFO1;
-
-struct MONITOR_INFO_2
-{
-	LPTSTR pName;
-	LPTSTR pEnvironment;
-	LPTSTR pDLLName;
-}
-
-alias MONITOR_INFO_2 _MONITOR_INFO_2;
-alias MONITOR_INFO_2 TMONITORINFO2;
-alias MONITOR_INFO_2* PMONITORINFO2;
-
-struct MONLINKSTRUCT
-{
-	UINT cb;
-	DWORD dwTime;
-	HANDLE hTask;
-	WINBOOL fEstablished;
-	WINBOOL fNoData;
-	HSZ hszSvc;
-	HSZ hszTopic;
-	HSZ hszItem;
-	UINT wFmt;
-	WINBOOL fServer;
-	HCONV hConvServer;
-	HCONV hConvClient;
-}
-
-alias MONLINKSTRUCT TAGMONLINKSTRUCT;
-alias MONLINKSTRUCT TMONLINKSTRUCT;
-alias MONLINKSTRUCT* PMONLINKSTRUCT;
-
-struct MONMSGSTRUCT
-{
-	UINT cb;
-	HWND hwndTo;
-	DWORD dwTime;
-	HANDLE hTask;
-	UINT wMsg;
-	WPARAM wParam;
-	LPARAM lParam;
-	DDEML_MSG_HOOK_DATA dmhd;
-}
-
-alias MONMSGSTRUCT TAGMONMSGSTRUCT;
-alias MONMSGSTRUCT TMONMSGSTRUCT;
-alias MONMSGSTRUCT* PMONMSGSTRUCT;
-
-struct MOUSEHOOKSTRUCT
-{
-	POINT pt;
-	HWND hwnd;
-	UINT wHitTestCode;
-	DWORD dwExtraInfo;
-}
-
-alias MOUSEHOOKSTRUCT* LPMOUSEHOOKSTRUCT;
-alias MOUSEHOOKSTRUCT TAGMOUSEHOOKSTRUCT;
-alias MOUSEHOOKSTRUCT TMOUSEHOOKSTRUCT;
-alias MOUSEHOOKSTRUCT* PMOUSEHOOKSTRUCT;
-
-struct MOUSEKEYS
-{
-	DWORD cbSize;
-	DWORD dwFlags;
-	DWORD iMaxSpeed;
-	DWORD iTimeToMaxSpeed;
-	DWORD iCtrlSpeed;
-	DWORD dwReserved1;
-	DWORD dwReserved2;
-}
-
-alias MOUSEKEYS TMOUSEKEYS;
-alias MOUSEKEYS* PMOUSEKEYS;
-
-struct MSG
-{
-	HWND hwnd;
-	UINT message;
-	WPARAM wParam;
-	LPARAM lParam;
-	DWORD time;
-	POINT pt;
-}
-
-alias MSG* LPMSG;
-alias MSG TAGMSG;
-alias MSG TMSG;
-alias MSG* PMSG;
-extern(Windows){
-alias void (*MSGBOXCALLBACK)(LPHELPINFO);
-}
-alias MSGBOXCALLBACK TMSGBOXCALLBACK;
-
-struct MSGBOXPARAMS
-{
-	UINT cbSize;
-	HWND hwndOwner;
-	HINST hInstance;
-	LPCSTR lpszText;
-	LPCSTR lpszCaption;
-	DWORD dwStyle;
-	LPCSTR lpszIcon;
-	DWORD dwContextHelpId;
-	MSGBOXCALLBACK lpfnMsgBoxCallback;
-	DWORD dwLanguageId;
-}
-
-alias MSGBOXPARAMS* LPMSGBOXPARAMS;
-alias MSGBOXPARAMS TMSGBOXPARAMS;
-alias MSGBOXPARAMS TMSGBOXPARAMSA;
-alias MSGBOXPARAMS* PMSGBOXPARAMS;
-
-struct MSGFILTER
-{
-	NMHDR nmhdr;
-	UINT msg;
-	WPARAM wParam;
-	LPARAM lParam;
-}
-
-alias MSGFILTER _MSGFILTER;
-alias MSGFILTER TMSGFILTER;
-alias MSGFILTER* PMSGFILTER;
-
-struct MULTIKEYHELP
-{
-	DWORD mkSize;
-	TCHAR mkKeylist;
-	TCHAR[1 + 0] szKeyphrase;
-}
-
-alias MULTIKEYHELP TAGMULTIKEYHELP;
-alias MULTIKEYHELP TMULTIKEYHELP;
-alias MULTIKEYHELP* PMULTIKEYHELP;
-
-struct NAME_BUFFER
-{
-	UCHAR[1 + NCBNAMSZ-1] name;
-	UCHAR name_num;
-	UCHAR name_flags;
-}
-
-alias NAME_BUFFER _NAME_BUFFER;
-alias NAME_BUFFER TNAMEBUFFER;
-alias NAME_BUFFER* PNAMEBUFFER;
-alias _NCB* P_NCB;
-
-struct NCB
-{
-	UCHAR ncb_command;
-	UCHAR ncb_retcode;
-	UCHAR ncb_lsn;
-	UCHAR ncb_num;
-	PUCHAR ncb_buffer;
-	ushort ncb_length;
-	UCHAR[1 + NCBNAMSZ-1] ncb_callname;
-	UCHAR[1 + NCBNAMSZ-1] ncb_name;
-	UCHAR ncb_rto;
-	UCHAR ncb_sto;
-	POINTER ncb_post;
-	UCHAR ncb_lana_num;
-	UCHAR ncb_cmd_cplt;
-	UCHAR[1 + 9] ncb_reserve;
-	HANDLE ncb_event;
-}
-
-alias NCB _NCB;
-alias NCB TNCB;
-alias NCB* PNCB;
-
-struct NCCALCSIZE_PARAMS
-{
-	RECT[1 + 2] rgrc;
-	PWINDOWPOS lppos;
-}
-
-alias NCCALCSIZE_PARAMS _NCCALCSIZE_PARAMS;
-alias NCCALCSIZE_PARAMS TNCCALCSIZEPARAMS;
-alias NCCALCSIZE_PARAMS* PNCCALCSIZEPARAMS;
-
-struct NDDESHAREINFO
-{
-	LONG lRevision;
-	LPTSTR lpszShareName;
-	LONG lShareType;
-	LPTSTR lpszAppTopicList;
-	LONG fSharedFlag;
-	LONG fService;
-	LONG fStartAppFlag;
-	LONG nCmdShow;
-	LONG[1 + 1] qModifyId;
-	LONG cNumItems;
-	LPTSTR lpszItemList;
-}
-
-alias NDDESHAREINFO _NDDESHAREINFO;
-alias NDDESHAREINFO TNDDESHAREINFO;
-alias NDDESHAREINFO* PNDDESHAREINFO;
-
-struct NETRESOURCE
-{
-	DWORD dwScope;
-	DWORD dwType;
-	DWORD dwDisplayType;
-	DWORD dwUsage;
-	LPTSTR lpLocalName;
-	LPTSTR lpRemoteName;
-	LPTSTR lpComment;
-	LPTSTR lpProvider;
-}
-
-alias NETRESOURCE* LPNETRESOURCE;
-alias NETRESOURCE _NETRESOURCE;
-alias NETRESOURCE TNETRESOURCE;
-alias NETRESOURCE TNETRESOURCEA;
-alias NETRESOURCE* PNETRESOURCE;
-alias NETRESOURCE* PNETRESOURCEA;
-
-struct NEWCPLINFO
-{
-	DWORD dwSize;
-	DWORD dwFlags;
-	DWORD dwHelpContext;
-	LONG lData;
-	HICON hIcon;
-	TCHAR[1 + 31] szName;
-	TCHAR[1 + 63] szInfo;
-	TCHAR[1 + 127] szHelpFile;
-}
-
-alias NEWCPLINFO TAGNEWCPLINFO;
-alias NEWCPLINFO TNEWCPLINFO;
-alias NEWCPLINFO* PNEWCPLINFO;
-
-// ----------------------------------------------------------------------------
-
-struct NEWTEXTMETRICA {
-    LONG   tmHeight;
-    LONG   tmAscent;
-    LONG   tmDescent;
-    LONG   tmInternalLeading;
-    LONG   tmExternalLeading;
-    LONG   tmAveCharWidth;
-    LONG   tmMaxCharWidth;
-    LONG   tmWeight;
-    LONG   tmOverhang;
-    LONG   tmDigitizedAspectX;
-    LONG   tmDigitizedAspectY;
-    BYTE  tmFirstChar;
-    BYTE  tmLastChar;
-    BYTE  tmDefaultChar;
-    BYTE  tmBreakChar;
-    BYTE   tmItalic;
-    BYTE   tmUnderlined;
-    BYTE   tmStruckOut;
-    BYTE   tmPitchAndFamily;
-    BYTE   tmCharSet;
-    DWORD  ntmFlags;
-    UINT   ntmSizeEM;
-    UINT   ntmCellHeight;
-    UINT   ntmAvgWidth;
-}
-struct NEWTEXTMETRICW {
-    LONG   tmHeight;
-    LONG   tmAscent;
-    LONG   tmDescent;
-    LONG   tmInternalLeading;
-    LONG   tmExternalLeading;
-    LONG   tmAveCharWidth;
-    LONG   tmMaxCharWidth;
-    LONG   tmWeight;
-    LONG   tmOverhang;
-    LONG   tmDigitizedAspectX;
-    LONG   tmDigitizedAspectY;
-    WCHAR  tmFirstChar;
-    WCHAR  tmLastChar;
-    WCHAR  tmDefaultChar;
-    WCHAR  tmBreakChar;
-    BYTE   tmItalic;
-    BYTE   tmUnderlined;
-    BYTE   tmStruckOut;
-    BYTE   tmPitchAndFamily;
-    BYTE   tmCharSet;
-    DWORD  ntmFlags;
-    UINT   ntmSizeEM;
-    UINT   ntmCellHeight;
-    UINT   ntmAvgWidth;
-}
-
-struct NEWTEXTMETRICEXA {
-    NEWTEXTMETRICA  ntmentm;
-    FONTSIGNATURE  ntmeFontSignature;
-}
-struct NEWTEXTMETRICEXW {
-    NEWTEXTMETRICW  ntmentm;
-    FONTSIGNATURE  ntmeFontSignature;
-}
-
-alias NEWTEXTMETRIC TNEWTEXTMETRIC;
-alias NEWTEXTMETRIC* PNEWTEXTMETRIC;
-alias NEWTEXTMETRIC* LPNEWTEXTMETRIC;
-
-version(ANSI){
-    alias NEWTEXTMETRICA NEWTEXTMETRIC;
-    alias NEWTEXTMETRICEXA NEWTEXTMETRICEX;
-}else{
-    alias NEWTEXTMETRICW NEWTEXTMETRIC;
-    alias NEWTEXTMETRICEXW NEWTEXTMETRICEX;
-}
-
-/+
-struct NEWTEXTMETRIC
-{
-	LONG tmHeight;
-	LONG tmAscent;
-	LONG tmDescent;
-	LONG tmInternalLeading;
-	LONG tmExternalLeading;
-	LONG tmAveCharWidth;
-	LONG tmMaxCharWidth;
-	LONG tmWeight;
-	LONG tmOverhang;
-	LONG tmDigitizedAspectX;
-	LONG tmDigitizedAspectY;
-	BCHAR tmFirstChar;
-	BCHAR tmLastChar;
-	BCHAR tmDefaultChar;
-	BCHAR tmBreakChar;
-	ubyte tmItalic;
-	ubyte tmUnderlined;
-	ubyte tmStruckOut;
-	ubyte tmPitchAndFamily;
-	ubyte tmCharSet;
-	DWORD ntmFlags;
-	UINT ntmSizeEM;
-	UINT ntmCellHeight;
-	UINT ntmAvgWidth;
-}
-
-alias NEWTEXTMETRIC TAGNEWTEXTMETRIC;
-alias NEWTEXTMETRIC TNEWTEXTMETRIC;
-alias NEWTEXTMETRIC* PNEWTEXTMETRIC;
-
-struct NEWTEXTMETRICEX
-{
-	NEWTEXTMETRIC ntmentm;
-	FONTSIGNATURE ntmeFontSignature;
-}
-
-alias NEWTEXTMETRICEX TAGNEWTEXTMETRICEX;
-alias NEWTEXTMETRICEX TNEWTEXTMETRICEX;
-alias NEWTEXTMETRICEX* PNEWTEXTMETRICEX;
-+/
-// ----------------------------------------------------------------------------
-
-struct NM_LISTVIEW
-{
-	NMHDR hdr;
-	int iItem;
-	int iSubItem;
-	UINT uNewState;
-	UINT uOldState;
-	UINT uChanged;
-	POINT ptAction;
-	LPARAM lParam;
-}
-
-alias NM_LISTVIEW TAGNM_LISTVIEW;
-alias NM_LISTVIEW TNMLISTVIEW;
-alias NM_LISTVIEW* PNMLISTVIEW;
-
-// struct TV_ITEM
-// {
-// 	UINT mask;
-// 	HTREEITEM hItem;
-// 	UINT state;
-// 	UINT stateMask;
-// 	LPTSTR pszText;
-// 	int cchTextMax;
-// 	int iImage;
-// 	int iSelectedImage;
-// 	int cChildren;
-// 	LPARAM lParam;
-// }
-//
-// alias TV_ITEM* LPTV_ITEM;
-// alias TV_ITEM _TV_ITEM;
-// alias TV_ITEM TTVITEM;
-// alias TV_ITEM* PTVITEM;
-
-// struct NM_TREEVIEW
-// {
-// 	NMHDR hdr;
-// 	UINT action;
-// 	TV_ITEM itemOld;
-// 	TV_ITEM itemNew;
-// 	POINT ptDrag;
-// }
-//
-// alias NM_TREEVIEW* LPNM_TREEVIEW;
-// alias NM_TREEVIEW _NM_TREEVIEW;
-// alias NM_TREEVIEW TNMTREEVIEW;
-// alias NM_TREEVIEW* PNMTREEVIEW;
-
-struct NM_UPDOWNW
-{
-	NMHDR hdr;
-	int iPos;
-	int iDelta;
-}
-
-alias NM_UPDOWNW _NM_UPDOWN;
-alias NM_UPDOWNW TNMUPDOWN;
-alias NM_UPDOWNW* PNMUPDOWN;
-alias NM_UPDOWNW NMUPDOWN;
-
-struct NONCLIENTMETRICS
-{
-	UINT cbSize;
-	int iBorderWidth;
-	int iScrollWidth;
-	int iScrollHeight;
-	int iCaptionWidth;
-	int iCaptionHeight;
-	LOGFONT lfCaptionFont;
-	int iSmCaptionWidth;
-	int iSmCaptionHeight;
-	LOGFONT lfSmCaptionFont;
-	int iMenuWidth;
-	int iMenuHeight;
-	LOGFONT lfMenuFont;
-	LOGFONT lfStatusFont;
-	LOGFONT lfMessageFont;
-}
-
-alias NONCLIENTMETRICS* LPNONCLIENTMETRICS;
-alias NONCLIENTMETRICS TAGNONCLIENTMETRICS;
-alias NONCLIENTMETRICS TNONCLIENTMETRICS;
-alias NONCLIENTMETRICS* PNONCLIENTMETRICS;
-
-struct SERVICE_ADDRESS
-{
-	DWORD dwAddressType;
-	DWORD dwAddressFlags;
-	DWORD dwAddressLength;
-	DWORD dwPrincipalLength;
-	ubyte* lpAddress;
-	ubyte* lpPrincipal;
-}
-
-alias SERVICE_ADDRESS _SERVICE_ADDRESS;
-alias SERVICE_ADDRESS TSERVICEADDRESS;
-alias SERVICE_ADDRESS* PSERVICEADDRESS;
-
-struct SERVICE_ADDRESSES
-{
-	DWORD dwAddressCount;
-	SERVICE_ADDRESS[1 + 0] Addresses;
-}
-
-alias SERVICE_ADDRESSES* LPSERVICE_ADDRESSES;
-alias SERVICE_ADDRESSES _SERVICE_ADDRESSES;
-alias SERVICE_ADDRESSES TSERVICEADDRESSES;
-alias SERVICE_ADDRESSES* PSERVICEADDRESSES;
-
-align(1) struct __GUID
-{
-
-	union
-	{
-		struct
-		{
-			uint Data1;
-			ushort Data2;
-			ushort Data3;
-			ubyte[1 + 7] Data4;
-		}
-		struct
-		{
-			uint D1;
-			ushort D2;
-			ushort D3;
-			ubyte[1 + 7] D4;
-		}
-	}
-}
-
-alias __GUID* LPGUID;
-alias __GUID _GUID;
-alias __GUID GUID;
-alias __GUID TGUID;
-alias __GUID* PGUID;
-alias __GUID __CLSID;
-alias __CLSID* LPCLSID;
-alias __CLSID TCLSID;
-alias __CLSID* PCLSID;
-
-struct SERVICE_INFO
-{
-	LPGUID lpServiceType;
-	LPTSTR lpServiceName;
-	LPTSTR lpComment;
-	LPTSTR lpLocale;
-	DWORD dwDisplayHint;
-	DWORD dwVersion;
-	DWORD dwTime;
-	LPTSTR lpMachineName;
-	LPSERVICE_ADDRESSES lpServiceAddress;
-	BLOB ServiceSpecificInfo;
-}
-
-alias SERVICE_INFO _SERVICE_INFO;
-alias SERVICE_INFO TSERVICEINFO;
-alias SERVICE_INFO* PSERVICEINFO;
-
-struct NS_SERVICE_INFO
-{
-	DWORD dwNameSpace;
-	SERVICE_INFO ServiceInfo;
-}
-
-alias NS_SERVICE_INFO _NS_SERVICE_INFO;
-alias NS_SERVICE_INFO TNSSERVICEINFO;
-alias NS_SERVICE_INFO* PNSSERVICEINFO;
-
-struct NUMBERFMT
-{
-	UINT NumDigits;
-	UINT LeadingZero;
-	UINT Grouping;
-	LPTSTR lpDecimalSep;
-	LPTSTR lpThousandSep;
-	UINT NegativeOrder;
-}
-
-alias NUMBERFMT _NUMBERFMT;
-alias NUMBERFMT TNUMBERFMT;
-alias NUMBERFMT* PNUMBERFMT;
-
-struct OFSTRUCT
-{
-	ubyte cBytes;
-	ubyte fFixedDisk;
-	ushort nErrCode;
-	ushort Reserved1;
-	ushort Reserved2;
-	char[1 + OFS_MAXPATHNAME-1] szPathName;
-}
-
-alias OFSTRUCT* LPOFSTRUCT;
-alias OFSTRUCT _OFSTRUCT;
-alias OFSTRUCT TOFSTRUCT;
-alias OFSTRUCT* POFSTRUCT;
-
-struct OPENFILENAME
-{
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HINST hInstance;
-	LPCTSTR lpstrFilter;
-	LPTSTR lpstrCustomFilter;
-	DWORD nMaxCustFilter;
-	DWORD nFilterIndex;
-	LPTSTR lpstrFile;
-	DWORD nMaxFile;
-	LPTSTR lpstrFileTitle;
-	DWORD nMaxFileTitle;
-	LPCTSTR lpstrInitialDir;
-	LPCTSTR lpstrTitle;
-	DWORD Flags;
-	ushort nFileOffset;
-	ushort nFileExtension;
-	LPCTSTR lpstrDefExt;
-	DWORD lCustData;
-	LPOFNHOOKPROC lpfnHook;
-	LPCTSTR lpTemplateName;
-}
-
-alias OPENFILENAME* LPOPENFILENAME;
-alias OPENFILENAME TOPENFILENAME;
-alias OPENFILENAME* POPENFILENAME;
-alias OPENFILENAME TAGOFN;
-alias OPENFILENAME TOFN;
-alias OPENFILENAME* POFN;
-
-struct OFNOTIFY
-{
-	NMHDR hdr;
-	LPOPENFILENAME lpOFN;
-	LPTSTR pszFile;
-}
-
-alias OFNOTIFY* LPOFNOTIFY;
-alias OFNOTIFY _OFNOTIFY;
-alias OFNOTIFY TOFNOTIFY;
-alias OFNOTIFY* POFNOTIFY;
-
-struct OSVERSIONINFO
-{
-	DWORD dwOSVersionInfoSize;
-	DWORD dwMajorVersion;
-	DWORD dwMinorVersion;
-	DWORD dwBuildNumber;
-	DWORD dwPlatformId;
-	TCHAR[1 + 127] szCSDVersion;
-}
-
-alias OSVERSIONINFO* LPOSVERSIONINFO;
-alias OSVERSIONINFO _OSVERSIONINFO;
-alias OSVERSIONINFO TOSVERSIONINFO;
-alias OSVERSIONINFO* POSVERSIONINFO;
-
-struct TEXTMETRIC
-{
-	LONG tmHeight;
-	LONG tmAscent;
-	LONG tmDescent;
-	LONG tmInternalLeading;
-	LONG tmExternalLeading;
-	LONG tmAveCharWidth;
-	LONG tmMaxCharWidth;
-	LONG tmWeight;
-	LONG tmOverhang;
-	LONG tmDigitizedAspectX;
-	LONG tmDigitizedAspectY;
-	BCHAR tmFirstChar;
-	BCHAR tmLastChar;
-	BCHAR tmDefaultChar;
-	BCHAR tmBreakChar;
-	ubyte tmItalic;
-	ubyte tmUnderlined;
-	ubyte tmStruckOut;
-	ubyte tmPitchAndFamily;
-	ubyte tmCharSet;
-}
-
-alias TEXTMETRIC* LPTEXTMETRIC;
-alias TEXTMETRIC TAGTEXTMETRIC;
-alias TEXTMETRIC TTEXTMETRIC;
-alias TEXTMETRIC* PTEXTMETRIC;
-
-struct OUTLINETEXTMETRIC
-{
-	UINT otmSize;
-	TEXTMETRIC otmTextMetrics;
-	ubyte otmFiller;
-	PANOSE otmPanoseNumber;
-	UINT otmfsSelection;
-	UINT otmfsType;
-	int otmsCharSlopeRise;
-	int otmsCharSlopeRun;
-	int otmItalicAngle;
-	UINT otmEMSquare;
-	int otmAscent;
-	int otmDescent;
-	UINT otmLineGap;
-	UINT otmsCapEmHeight;
-	UINT otmsXHeight;
-	RECT otmrcFontBox;
-	int otmMacAscent;
-	int otmMacDescent;
-	UINT otmMacLineGap;
-	UINT otmusMinimumPPEM;
-	POINT otmptSubscriptSize;
-	POINT otmptSubscriptOffset;
-	POINT otmptSuperscriptSize;
-	POINT otmptSuperscriptOffset;
-	UINT otmsStrikeoutSize;
-	int otmsStrikeoutPosition;
-	int otmsUnderscoreSize;
-	int otmsUnderscorePosition;
-	PSTR otmpFamilyName;
-	PSTR otmpFaceName;
-	PSTR otmpStyleName;
-	PSTR otmpFullName;
-}
-
-alias OUTLINETEXTMETRIC* LPOUTLINETEXTMETRIC;
-alias OUTLINETEXTMETRIC _OUTLINETEXTMETRIC;
-alias OUTLINETEXTMETRIC TOUTLINETEXTMETRIC;
-alias OUTLINETEXTMETRIC* POUTLINETEXTMETRIC;
-
-struct OVERLAPPED
-{
-	DWORD Internal;
-	DWORD InternalHigh;
-	DWORD Offset;
-	DWORD OffsetHigh;
-	HANDLE hEvent;
-}
-
-alias OVERLAPPED* LPOVERLAPPED;
-alias OVERLAPPED _OVERLAPPED;
-alias OVERLAPPED TOVERLAPPED;
-alias OVERLAPPED* POVERLAPPED;
-
-struct TPAGESETUPDLG
-{
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HGLOBAL hDevMode;
-	HGLOBAL hDevNames;
-	DWORD Flags;
-	POINT ptPaperSize;
-	RECT rtMinMargin;
-	RECT rtMargin;
-	HINST hInstance;
-	LPARAM lCustData;
-	LPPAGESETUPHOOK lpfnPageSetupHook;
-	LPPAGEPAINTHOOK lpfnPagePaintHook;
-	LPCTSTR lpPageSetupTemplateName;
-	HGLOBAL hPageSetupTemplate;
-}
-
-alias TPAGESETUPDLG* LPPAGESETUPDLG;
-alias TPAGESETUPDLG* PPAGESETUPDLG;
-alias TPAGESETUPDLG TAGPSD;
-alias TPAGESETUPDLG TPSD;
-alias TPAGESETUPDLG* PPSD;
-
-struct PAINTSTRUCT
-{
-	HDC hdc;
-	WINBOOL fErase;
-	RECT rcPaint;
-	WINBOOL fRestore;
-	WINBOOL fIncUpdate;
-	ubyte[1 + 31] rgbReserved;
-}
-
-alias PAINTSTRUCT* LPPAINTSTRUCT;
-alias PAINTSTRUCT TAGPAINTSTRUCT;
-alias PAINTSTRUCT TPAINTSTRUCT;
-alias PAINTSTRUCT* PPAINTSTRUCT;
-
-struct PARAFORMAT
-{
-	UINT cbSize;
-	DWORD dwMask;
-	ushort wNumbering;
-	ushort wReserved;
-	LONG dxStartIndent;
-	LONG dxRightIndent;
-	LONG dxOffset;
-	ushort wAlignment;
-	SHORT cTabCount;
-	LONG[1 + MAX_TAB_STOPS-1] rgxTabs;
-}
-
-alias PARAFORMAT _PARAFORMAT;
-alias PARAFORMAT TPARAFORMAT;
-alias PARAFORMAT* PPARAFORMAT;
-
-struct PERF_COUNTER_BLOCK
-{
-	DWORD ByteLength;
-}
-
-alias PERF_COUNTER_BLOCK _PERF_COUNTER_BLOCK;
-alias PERF_COUNTER_BLOCK TPERFCOUNTERBLOCK;
-alias PERF_COUNTER_BLOCK* PPERFCOUNTERBLOCK;
-
-struct PERF_COUNTER_DEFINITION
-{
-	DWORD ByteLength;
-	DWORD CounterNameTitleIndex;
-	LPWSTR CounterNameTitle;
-	DWORD CounterHelpTitleIndex;
-	LPWSTR CounterHelpTitle;
-	DWORD DefaultScale;
-	DWORD DetailLevel;
-	DWORD CounterType;
-	DWORD CounterSize;
-	DWORD CounterOffset;
-}
-
-alias PERF_COUNTER_DEFINITION _PERF_COUNTER_DEFINITION;
-alias PERF_COUNTER_DEFINITION TPERFCOUNTERDEFINITION;
-alias PERF_COUNTER_DEFINITION* PPERFCOUNTERDEFINITION;
-
-struct PERF_DATA_BLOCK
-{
-	WCHAR[1 + 3] Signature;
-	DWORD LittleEndian;
-	DWORD Version;
-	DWORD Revision;
-	DWORD TotalByteLength;
-	DWORD HeaderLength;
-	DWORD NumObjectTypes;
-	DWORD DefaultObject;
-	SYSTEMTIME SystemTime;
-	LARGE_INTEGER PerfTime;
-	LARGE_INTEGER PerfFreq;
-	LARGE_INTEGER PerfTime100nSec;
-	DWORD SystemNameLength;
-	DWORD SystemNameOffset;
-}
-
-alias PERF_DATA_BLOCK _PERF_DATA_BLOCK;
-alias PERF_DATA_BLOCK TPERFDATABLOCK;
-alias PERF_DATA_BLOCK* PPERFDATABLOCK;
-
-struct PERF_INSTANCE_DEFINITION
-{
-	DWORD ByteLength;
-	DWORD ParentObjectTitleIndex;
-	DWORD ParentObjectInstance;
-	DWORD UniqueID;
-	DWORD NameOffset;
-	DWORD NameLength;
-}
-
-alias PERF_INSTANCE_DEFINITION _PERF_INSTANCE_DEFINITION;
-alias PERF_INSTANCE_DEFINITION TPERFINSTANCEDEFINITION;
-alias PERF_INSTANCE_DEFINITION PPERFINSTANCEDEFINITION;
-
-struct PERF_OBJECT_TYPE
-{
-	DWORD TotalByteLength;
-	DWORD DefinitionLength;
-	DWORD HeaderLength;
-	DWORD ObjectNameTitleIndex;
-	LPWSTR ObjectNameTitle;
-	DWORD ObjectHelpTitleIndex;
-	LPWSTR ObjectHelpTitle;
-	DWORD DetailLevel;
-	DWORD NumCounters;
-	DWORD DefaultCounter;
-	DWORD NumInstances;
-	DWORD CodePage;
-	LARGE_INTEGER PerfTime;
-	LARGE_INTEGER PerfFreq;
-}
-
-alias PERF_OBJECT_TYPE _PERF_OBJECT_TYPE;
-alias PERF_OBJECT_TYPE TPERFOBJECTTYPE;
-alias PERF_OBJECT_TYPE* PPERFOBJECTTYPE;
-
-struct POLYTEXT
-{
-	int x;
-	int y;
-	UINT n;
-	LPCTSTR lpstr;
-	UINT uiFlags;
-	RECT rcl;
-	int* pdx;
-}
-
-alias POLYTEXT _POLYTEXT;
-alias POLYTEXT TPOLYTEXT;
-alias POLYTEXT* PPOLYTEXT;
-
-struct PORT_INFO_1
-{
-	LPTSTR pName;
-}
-
-alias PORT_INFO_1 _PORT_INFO_1;
-alias PORT_INFO_1 TPORTINFO1;
-alias PORT_INFO_1* PPORTINFO1;
-
-struct PORT_INFO_2
-{
-	LPSTR pPortName;
-	LPSTR pMonitorName;
-	LPSTR pDescription;
-	DWORD fPortType;
-	DWORD Reserved;
-}
-
-alias PORT_INFO_2 _PORT_INFO_2;
-alias PORT_INFO_2 TPORTINFO2;
-alias PORT_INFO_2* PPORTINFO2;
-
-struct PREVENT_MEDIA_REMOVAL
-{
-	ubyte PreventMediaRemoval;
-}
-
-alias PREVENT_MEDIA_REMOVAL _PREVENT_MEDIA_REMOVAL;
-alias PREVENT_MEDIA_REMOVAL TPREVENTMEDIAREMOVAL;
-alias PREVENT_MEDIA_REMOVAL* PPREVENTMEDIAREMOVAL;
-
-align(1) struct TPRINTDLG
-{
-	DWORD lStructSize;
-	HWND hwndOwner;
-	HANDLE hDevMode;
-	HANDLE hDevNames;
-	HDC hDC;
-	DWORD Flags;
-	ushort nFromPage;
-	ushort nToPage;
-	ushort nMinPage;
-	ushort nMaxPage;
-	ushort nCopies;
-	HINST hInstance;
-	DWORD lCustData;
-	LPPRINTHOOKPROC lpfnPrintHook;
-	LPSETUPHOOKPROC lpfnSetupHook;
-	LPCTSTR lpPrintTemplateName;
-	LPCTSTR lpSetupTemplateName;
-	HANDLE hPrintTemplate;
-	HANDLE hSetupTemplate;
-}
-
-alias TPRINTDLG* LPPRINTDLG;
-alias TPRINTDLG* PPRINTDLG;
-alias TPRINTDLG TAGPD;
-alias TPRINTDLG TPD;
-alias TPRINTDLG* PPD;
-
-struct PRINTER_DEFAULTS
-{
-	LPTSTR pDatatype;
-	LPDEVMODE pDevMode;
-	ACCESS_MASK DesiredAccess;
-}
-
-alias PRINTER_DEFAULTS _PRINTER_DEFAULTS;
-alias PRINTER_DEFAULTS TPRINTERDEFAULTS;
-alias PRINTER_DEFAULTS* PPRINTERDEFAULTS;
-
-struct PRINTER_INFO_1
-{
-	DWORD Flags;
-	LPTSTR pDescription;
-	LPTSTR pName;
-	LPTSTR pComment;
-}
-
-alias PRINTER_INFO_1* LPPRINTER_INFO_1;
-alias PRINTER_INFO_1* PPRINTER_INFO_1;
-alias PRINTER_INFO_1 _PRINTER_INFO_1;
-alias PRINTER_INFO_1 TPRINTERINFO1;
-alias PRINTER_INFO_1* PPRINTERINFO1;
-
-struct PRINTER_INFO_2
-{
-	LPTSTR pServerName;
-	LPTSTR pPrinterName;
-	LPTSTR pShareName;
-	LPTSTR pPortName;
-	LPTSTR pDriverName;
-	LPTSTR pComment;
-	LPTSTR pLocation;
-	LPDEVMODE pDevMode;
-	LPTSTR pSepFile;
-	LPTSTR pPrintProcessor;
-	LPTSTR pDatatype;
-	LPTSTR pParameters;
-	PSECURITY_DESCRIPTOR pSecurityDescriptor;
-	DWORD Attributes;
-	DWORD Priority;
-	DWORD DefaultPriority;
-	DWORD StartTime;
-	DWORD UntilTime;
-	DWORD Status;
-	DWORD cJobs;
-	DWORD AveragePPM;
-}
-
-alias PRINTER_INFO_2 _PRINTER_INFO_2;
-alias PRINTER_INFO_2 TPRINTERINFO2;
-alias PRINTER_INFO_2* PPRINTERINFO2;
-
-struct PRINTER_INFO_3
-{
-	PSECURITY_DESCRIPTOR pSecurityDescriptor;
-}
-
-alias PRINTER_INFO_3 _PRINTER_INFO_3;
-alias PRINTER_INFO_3 TPRINTERINFO3;
-alias PRINTER_INFO_3* PPRINTERINFO3;
-
-struct PRINTER_INFO_4
-{
-	LPTSTR pPrinterName;
-	LPTSTR pServerName;
-	DWORD Attributes;
-}
-
-alias PRINTER_INFO_4 _PRINTER_INFO_4;
-alias PRINTER_INFO_4 TPRINTERINFO4;
-alias PRINTER_INFO_4* PPRINTERINFO4;
-
-struct PRINTER_INFO_5
-{
-	LPTSTR pPrinterName;
-	LPTSTR pPortName;
-	DWORD Attributes;
-	DWORD DeviceNotSelectedTimeout;
-	DWORD TransmissionRetryTimeout;
-}
-
-alias PRINTER_INFO_5 _PRINTER_INFO_5;
-alias PRINTER_INFO_5 TPRINTERINFO5;
-alias PRINTER_INFO_5* PPRINTERINFO5;
-
-struct PRINTER_NOTIFY_INFO_DATA
-{
-	ushort _Type;
-	ushort Field;
-	DWORD Reserved;
-	DWORD Id;
-
-	union
-	{
-		struct
-		{
-			DWORD[1 + 1] adwData;
-		}
-		struct
-		{
-			DWORD cbBuf;
-			LPVOID pBuf;
-		}
-	}
-}
-
-alias PRINTER_NOTIFY_INFO_DATA _PRINTER_NOTIFY_INFO_DATA;
-alias PRINTER_NOTIFY_INFO_DATA TPRINTERNOTIFYINFODATA;
-alias PRINTER_NOTIFY_INFO_DATA* PPRINTERNOTIFYINFODATA;
-
-struct PRINTER_NOTIFY_INFO
-{
-	DWORD Version;
-	DWORD Flags;
-	DWORD Count;
-	PRINTER_NOTIFY_INFO_DATA[1 + 0] aData;
-}
-
-alias PRINTER_NOTIFY_INFO _PRINTER_NOTIFY_INFO;
-alias PRINTER_NOTIFY_INFO TPRINTERNOTIFYINFO;
-alias PRINTER_NOTIFY_INFO* PPRINTERNOTIFYINFO;
-
-struct PRINTER_NOTIFY_OPTIONS_TYPE
-{
-	ushort _Type;
-	ushort Reserved0;
-	DWORD Reserved1;
-	DWORD Reserved2;
-	DWORD Count;
-	PWORD pFields;
-}
-
-alias PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTER_NOTIFY_OPTIONS_TYPE;
-alias PRINTER_NOTIFY_OPTIONS_TYPE _PRINTER_NOTIFY_OPTIONS_TYPE;
-alias PRINTER_NOTIFY_OPTIONS_TYPE TPRINTERNOTIFYOPTIONSTYPE;
-alias PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTERNOTIFYOPTIONSTYPE;
-
-struct PRINTER_NOTIFY_OPTIONS
-{
-	DWORD Version;
-	DWORD Flags;
-	DWORD Count;
-	PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
-}
-
-alias PRINTER_NOTIFY_OPTIONS _PRINTER_NOTIFY_OPTIONS;
-alias PRINTER_NOTIFY_OPTIONS TPRINTERNOTIFYOPTIONS;
-alias PRINTER_NOTIFY_OPTIONS* PPRINTERNOTIFYOPTIONS;
-
-struct PRINTPROCESSOR_INFO_1
-{
-	LPTSTR pName;
-}
-
-alias PRINTPROCESSOR_INFO_1 _PRINTPROCESSOR_INFO_1;
-alias PRINTPROCESSOR_INFO_1 TPRINTPROCESSORINFO1;
-alias PRINTPROCESSOR_INFO_1* PPRINTPROCESSORINFO1;
-
-struct PRIVILEGE_SET
-{
-	DWORD PrivilegeCount;
-	DWORD Control;
-	LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Privilege;
-}
-
-alias PRIVILEGE_SET* LPPRIVILEGE_SET;
-alias PRIVILEGE_SET* PPRIVILEGE_SET;
-alias PRIVILEGE_SET _PRIVILEGE_SET;
-alias PRIVILEGE_SET TPRIVILEGESET;
-alias PRIVILEGE_SET* PPRIVILEGESET;
-
-struct PROCESS_HEAPENTRY
-{
-	PVOID lpData;
-	DWORD cbData;
-	ubyte cbOverhead;
-	ubyte iRegionIndex;
-	ushort wFlags;
-	DWORD dwCommittedSize;
-	DWORD dwUnCommittedSize;
-	LPVOID lpFirstBlock;
-	LPVOID lpLastBlock;
-	HANDLE hMem;
-}
-
-alias PROCESS_HEAPENTRY* LPPROCESS_HEAP_ENTRY;
-alias PROCESS_HEAPENTRY _PROCESS_HEAP_ENTRY;
-alias PROCESS_HEAPENTRY TPROCESSHEAPENTRY;
-alias PROCESS_HEAPENTRY* PPROCESSHEAPENTRY;
-
-struct PROCESS_INFORMATION
-{
-	HANDLE hProcess;
-	HANDLE hThread;
-	DWORD dwProcessId;
-	DWORD dwThreadId;
-}
-
-alias PROCESS_INFORMATION* LPPROCESS_INFORMATION;
-alias PROCESS_INFORMATION _PROCESS_INFORMATION;
-alias PROCESS_INFORMATION TPROCESSINFORMATION;
-alias PROCESS_INFORMATION* PPROCESSINFORMATION;
-extern(Windows){alias UINT (*LPFNPSPCALLBACK)(HWND, UINT, LPVOID);}
-alias LPFNPSPCALLBACK TFNPSPCALLBACK;
-
-struct PROPSHEETPAGE_U1
-{
-
-	union
-	{
-		struct
-		{
-			LPCTSTR pszTemplate;
-		}
-		struct
-		{
-			LPCDLGTEMPLATE pResource;
-		}
-	}
-}
-
-
-struct PROPSHEETPAGE_U2
-{
-
-	union
-	{
-		struct
-		{
-			HICON hIcon;
-		}
-		struct
-		{
-			LPCTSTR pszIcon;
-		}
-	}
-}
-
-
-struct PROPSHEETPAGE
-{
-	DWORD dwSize;
-	DWORD dwFlags;
-	HINST hInstance;
-	PROPSHEETPAGE_U1 u1;
-	PROPSHEETPAGE_U2 u2;
-	LPCTSTR pszTitle;
-	DLGPROC pfnDlgProc;
-	LPARAM lParam;
-	LPFNPSPCALLBACK pfnCallback;
-	UINT* pcRefParent;
-}
-
-alias PROPSHEETPAGE* LPPROPSHEETPAGE;
-alias PROPSHEETPAGE* LPCPROPSHEETPAGE;
-alias PROPSHEETPAGE _PROPSHEETPAGE;
-alias PROPSHEETPAGE TPROPSHEETPAGE;
-alias PROPSHEETPAGE* PPROPSHEETPAGE;
-
-struct EMPTYRECORD
-{
-}
-
-alias EMPTYRECORD* HPROPSHEETPAGE;
-
-struct PROPSHEETHEADER_U1
-{
-
-	union
-	{
-		struct
-		{
-			HICON hIcon;
-		}
-		struct
-		{
-			LPCTSTR pszIcon;
-		}
-	}
-}
-
-
-struct PROPSHEETHEADER_U2
-{
-
-	union
-	{
-		struct
-		{
-			UINT nStartPage;
-		}
-		struct
-		{
-			LPCTSTR pStartPage;
-		}
-	}
-}
-
-
-struct PROPSHEETHEADER_U3
-{
-
-	union
-	{
-		struct
-		{
-			LPCPROPSHEETPAGE ppsp;
-		}
-		struct
-		{
-			HPROPSHEETPAGE* phpage;
-		}
-	}
-}
-
-
-struct PROPSHEETHEADER
-{
-	DWORD dwSize;
-	DWORD dwFlags;
-	HWND hwndParent;
-	HINST hInstance;
-	PROPSHEETHEADER_U1 u1;
-	LPCTSTR pszCaption;
-	UINT nPages;
-	PROPSHEETHEADER_U2 u2;
-	PROPSHEETHEADER_U3 u3;
-	PFNPROPSHEETCALLBACK pfnCallback;
-}
-
-alias PROPSHEETHEADER* LPPROPSHEETHEADER;
-alias PROPSHEETHEADER* LPCPROPSHEETHEADER;
-alias PROPSHEETHEADER _PROPSHEETHEADER;
-alias PROPSHEETHEADER TPROPSHEETHEADER;
-alias PROPSHEETHEADER* PPROPSHEETHEADER;
-extern(Windows){
-alias WINBOOL (*LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM);
-alias WINBOOL (*LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM);
-}
-alias LPFNADDPROPSHEETPAGE TFNADDPROPSHEETPAGE;
-alias LPFNADDPROPSHEETPAGES TFNADDPROPSHEETPAGES;
-
-struct PROTOCOL_INFO
-{
-	DWORD dwServiceFlags;
-	INT iAddressFamily;
-	INT iMaxSockAddr;
-	INT iMinSockAddr;
-	INT iSocketType;
-	INT iProtocol;
-	DWORD dwMessageSize;
-	LPTSTR lpProtocol;
-}
-
-alias PROTOCOL_INFO _PROTOCOL_INFO;
-alias PROTOCOL_INFO TPROTOCOLINFO;
-alias PROTOCOL_INFO* PPROTOCOLINFO;
-
-struct PROVIDOR_INFO_1
-{
-	LPTSTR pName;
-	LPTSTR pEnvironment;
-	LPTSTR pDLLName;
-}
-
-alias PROVIDOR_INFO_1 _PROVIDOR_INFO_1;
-alias PROVIDOR_INFO_1 TPROVIDORINFO1;
-alias PROVIDOR_INFO_1* PPROVIDORINFO1;
-
-struct PSHNOTIFY
-{
-	NMHDR hdr;
-	LPARAM lParam;
-}
-
-alias PSHNOTIFY* LPPSHNOTIFY;
-alias PSHNOTIFY _PSHNOTIFY;
-alias PSHNOTIFY TPSHNOTIFY;
-alias PSHNOTIFY* PPSHNOTIFY;
-
-struct PUNCTUATION
-{
-	UINT iSize;
-	LPSTR szPunctuation;
-}
-
-alias PUNCTUATION _PUNCTUATION;
-alias PUNCTUATION TPUNCTUATION;
-alias PUNCTUATION* PPUNCTUATION;
-
-struct QUERY_SERVICE_CONFIG
-{
-	DWORD dwServiceType;
-	DWORD dwStartType;
-	DWORD dwErrorControl;
-	LPTSTR lpBinaryPathName;
-	LPTSTR lpLoadOrderGroup;
-	DWORD dwTagId;
-	LPTSTR lpDependencies;
-	LPTSTR lpServiceStartName;
-	LPTSTR lpDisplayName;
-}
-
-alias QUERY_SERVICE_CONFIG* LPQUERY_SERVICE_CONFIG;
-alias QUERY_SERVICE_CONFIG _QUERY_SERVICE_CONFIG;
-alias QUERY_SERVICE_CONFIG TQUERYSERVICECONFIG;
-alias QUERY_SERVICE_CONFIG* PQUERYSERVICECONFIG;
-
-struct QUERY_SERVICE_LOCK_STATUS
-{
-	DWORD fIsLocked;
-	LPTSTR lpLockOwner;
-	DWORD dwLockDuration;
-}
-
-alias QUERY_SERVICE_LOCK_STATUS* LPQUERY_SERVICE_LOCK_STATUS;
-alias QUERY_SERVICE_LOCK_STATUS _QUERY_SERVICE_LOCK_STATUS;
-alias QUERY_SERVICE_LOCK_STATUS TQUERYSERVICELOCKSTATUS;
-alias QUERY_SERVICE_LOCK_STATUS* PQUERYSERVICELOCKSTATUS;
-
-struct RASAMB
-{
-	DWORD dwSize;
-	DWORD dwError;
-	TCHAR[1 + NETBIOS_NAME_LEN+1-1] szNetBiosError;
-	ubyte bLana;
-}
-
-alias RASAMB _RASAMB;
-alias RASAMB TRASAMB;
-alias RASAMB* PRASAMB;
-
-struct RASCONN
-{
-	DWORD dwSize;
-	HRASCONN hrasconn;
-	TCHAR[1 + RAS_MaxEntryName+1-1] szEntryName;
-	char[1 + RAS_MaxDeviceType+1-1] szDeviceType;
-	char[1 + RAS_MaxDeviceName+1-1] szDeviceName;
-}
-
-alias RASCONN _RASCONN;
-alias RASCONN TRASCONN;
-alias RASCONN* PRASCONN;
-
-struct RASCONNSTATUS
-{
-	DWORD dwSize;
-	RASCONNSTATE rasconnstate;
-	DWORD dwError;
-	TCHAR[1 + RAS_MaxDeviceType+1-1] szDeviceType;
-	TCHAR[1 + RAS_MaxDeviceName+1-1] szDeviceName;
-}
-
-alias RASCONNSTATUS _RASCONNSTATUS;
-alias RASCONNSTATUS TRASCONNSTATUS;
-alias RASCONNSTATUS* PRASCONNSTATUS;
-
-struct RASDIALEXTENSIONS
-{
-	DWORD dwSize;
-	DWORD dwfOptions;
-	HWND hwndParent;
-	DWORD reserved;
-}
-
-alias RASDIALEXTENSIONS _RASDIALEXTENSIONS;
-alias RASDIALEXTENSIONS TRASDIALEXTENSIONS;
-alias RASDIALEXTENSIONS* PRASDIALEXTENSIONS;
-
-struct RASDIALPARAMS
-{
-	DWORD dwSize;
-	TCHAR[1 + RAS_MaxEntryName+1-1] szEntryName;
-	TCHAR[1 + RAS_MaxPhoneNumber+1-1] szPhoneNumber;
-	TCHAR[1 + (RAS_MaxCallbackNumber+1)-1] szCallbackNumber;
-	TCHAR[1 + (UNLEN+1)-1] szUserName;
-	TCHAR[1 + (PWLEN+1)-1] szPassword;
-	TCHAR[1 + (DNLEN+1)-1] szDomain;
-}
-
-alias RASDIALPARAMS _RASDIALPARAMS;
-alias RASDIALPARAMS TRASDIALPARAMS;
-alias RASDIALPARAMS* PRASDIALPARAMS;
-
-struct RASENTRYNAME
-{
-	DWORD dwSize;
-	TCHAR[1 + (RAS_MaxEntryName+1)-1] szEntryName;
-}
-
-alias RASENTRYNAME _RASENTRYNAME;
-alias RASENTRYNAME TRASENTRYNAME;
-alias RASENTRYNAME* PRASENTRYNAME;
-
-struct RASPPPIP
-{
-	DWORD dwSize;
-	DWORD dwError;
-	TCHAR[1 + (RAS_MaxIpAddress+1)-1] szIpAddress;
-}
-
-alias RASPPPIP _RASPPPIP;
-alias RASPPPIP TRASPPPIP;
-alias RASPPPIP* PRASPPPIP;
-
-struct RASPPPIPX
-{
-	DWORD dwSize;
-	DWORD dwError;
-	TCHAR[1 + (RAS_MaxIpxAddress+1)-1] szIpxAddress;
-}
-
-alias RASPPPIPX _RASPPPIPX;
-alias RASPPPIPX TRASPPPIPX;
-alias RASPPPIPX* PRASPPPIPX;
-
-struct RASPPPNBF
-{
-	DWORD dwSize;
-	DWORD dwError;
-	DWORD dwNetBiosError;
-	TCHAR[1 + (NETBIOS_NAME_LEN+1)-1] szNetBiosError;
-	TCHAR[1 + (NETBIOS_NAME_LEN+1)-1] szWorkstationName;
-	ubyte bLana;
-}
-
-alias RASPPPNBF _RASPPPNBF;
-alias RASPPPNBF TRASPPPNBF;
-alias RASPPPNBF* PRASPPPNBF;
-
-struct RASTERIZER_STATUS
-{
-	int nSize;
-	int wFlags;
-	int nLanguageID;
-}
-
-alias RASTERIZER_STATUS* LPRASTERIZER_STATUS;
-alias RASTERIZER_STATUS _RASTERIZER_STATUS;
-alias RASTERIZER_STATUS TRASTERIZERSTATUS;
-alias RASTERIZER_STATUS* PRASTERIZERSTATUS;
-
-struct REASSIGN_BLOCKS
-{
-	ushort Reserved;
-	ushort Count;
-	DWORD[1 + 0] BlockNumber;
-}
-
-alias REASSIGN_BLOCKS _REASSIGN_BLOCKS;
-alias REASSIGN_BLOCKS TREASSIGNBLOCKS;
-alias REASSIGN_BLOCKS* PREASSIGNBLOCKS;
-
-struct REMOTE_NAME_INFO
-{
-	LPTSTR lpUniversalName;
-	LPTSTR lpConnectionName;
-	LPTSTR lpRemainingPath;
-}
-
-alias REMOTE_NAME_INFO _REMOTE_NAME_INFO;
-alias REMOTE_NAME_INFO TREMOTENAMEINFO;
-alias REMOTE_NAME_INFO* PREMOTENAMEINFO;
-
-struct REPASTESPECIAL
-{
-	DWORD dwAspect;
-	DWORD dwParam;
-}
-
-alias REPASTESPECIAL _REPASTESPECIAL;
-alias REPASTESPECIAL TREPASTESPECIAL;
-alias REPASTESPECIAL* PREPASTESPECIAL;
-
-struct REQRESIZE
-{
-	NMHDR nmhdr;
-	RECT rc;
-}
-
-alias REQRESIZE _REQRESIZE;
-alias REQRESIZE TREQRESIZE;
-alias REQRESIZE* PREQRESIZE;
-
-struct RGNDATAHEADER
-{
-	DWORD dwSize;
-	DWORD iType;
-	DWORD nCount;
-	DWORD nRgnSize;
-	RECT rcBound;
-}
-
-alias RGNDATAHEADER _RGNDATAHEADER;
-alias RGNDATAHEADER TRGNDATAHEADER;
-alias RGNDATAHEADER* PRGNDATAHEADER;
-
-struct RGNDATA
-{
-	RGNDATAHEADER rdh;
-	char[1 + 0] Buffer;
-}
-
-alias RGNDATA* LPRGNDATA;
-alias RGNDATA _RGNDATA;
-alias RGNDATA TRGNDATA;
-alias RGNDATA* PRGNDATA;
-
-struct SCROLLINFO
-{
-	UINT cbSize;
-	UINT fMask;
-	int nMin;
-	int nMax;
-	UINT nPage;
-	int nPos;
-	int nTrackPos;
-}
-
-alias SCROLLINFO* LPSCROLLINFO;
-alias SCROLLINFO* LPCSCROLLINFO;
-alias SCROLLINFO TAGSCROLLINFO;
-alias SCROLLINFO TSCROLLINFO;
-alias SCROLLINFO* PSCROLLINFO;
-
-struct SECURITY_ATTRIBUTES
-{
-	DWORD nLength;
-	LPVOID lpSecurityDescriptor;
-	WINBOOL bInheritHandle;
-}
-
-alias SECURITY_ATTRIBUTES* LPSECURITY_ATTRIBUTES;
-alias SECURITY_ATTRIBUTES _SECURITY_ATTRIBUTES;
-alias SECURITY_ATTRIBUTES TSECURITYATTRIBUTES;
-alias SECURITY_ATTRIBUTES* PSECURITYATTRIBUTES;
-alias DWORD SECURITY_INFORMATION;
-alias SECURITY_INFORMATION* PSECURITY_INFORMATION;
-alias SECURITY_INFORMATION TSECURITYINFORMATION;
-alias SECURITY_INFORMATION* PSECURITYINFORMATION;
-
-struct SELCHANGE
-{
-	NMHDR nmhdr;
-	CHARRANGE chrg;
-	ushort seltyp;
-}
-
-alias SELCHANGE _SELCHANGE;
-alias SELCHANGE TSELCHANGE;
-alias SELCHANGE* PSELCHANGE;
-
-struct SERIALKEYS
-{
-	DWORD cbSize;
-	DWORD dwFlags;
-	LPSTR lpszActivePort;
-	LPSTR lpszPort;
-	DWORD iBaudRate;
-	DWORD iPortState;
-}
-
-alias SERIALKEYS* LPSERIALKEYS;
-alias SERIALKEYS TAGSERIALKEYS;
-alias SERIALKEYS TSERIALKEYS;
-alias SERIALKEYS* PSERIALKEYS;
-
-struct SERVICE_TABLE_ENTRY
-{
-	LPTSTR lpServiceName;
-	LPSERVICE_MAIN_FUNCTION lpServiceProc;
-}
-
-alias SERVICE_TABLE_ENTRY* LPSERVICE_TABLE_ENTRY;
-alias SERVICE_TABLE_ENTRY _SERVICE_TABLE_ENTRY;
-alias SERVICE_TABLE_ENTRY TSERVICETABLEENTRY;
-alias SERVICE_TABLE_ENTRY* PSERVICETABLEENTRY;
-
-struct SERVICE_TYPE_VALUE_ABS
-{
-	DWORD dwNameSpace;
-	DWORD dwValueType;
-	DWORD dwValueSize;
-	LPTSTR lpValueName;
-	PVOID lpValue;
-}
-
-alias SERVICE_TYPE_VALUE_ABS _SERVICE_TYPE_VALUE_ABS;
-alias SERVICE_TYPE_VALUE_ABS TSERVICETYPEVALUEABS;
-alias SERVICE_TYPE_VALUE_ABS* PSERVICETYPEVALUEABS;
-
-struct SERVICE_TYPE_INFO_ABS
-{
-	LPTSTR lpTypeName;
-	DWORD dwValueCount;
-	SERVICE_TYPE_VALUE_ABS[1 + 0] Values;
-}
-
-alias SERVICE_TYPE_INFO_ABS _SERVICE_TYPE_INFO_ABS;
-alias SERVICE_TYPE_INFO_ABS TSERVICETYPEINFOABS;
-alias SERVICE_TYPE_INFO_ABS* PSERVICETYPEINFOABS;
-
-struct SESSION_BUFFER
-{
-	UCHAR lsn;
-	UCHAR state;
-	UCHAR[1 + NCBNAMSZ-1] local_name;
-	UCHAR[1 + NCBNAMSZ-1] remote_name;
-	UCHAR rcvs_outstanding;
-	UCHAR sends_outstanding;
-}
-
-alias SESSION_BUFFER _SESSION_BUFFER;
-alias SESSION_BUFFER TSESSIONBUFFER;
-alias SESSION_BUFFER* PSESSIONBUFFER;
-
-struct SESSION_HEADER
-{
-	UCHAR sess_name;
-	UCHAR num_sess;
-	UCHAR rcv_dg_outstanding;
-	UCHAR rcv_any_outstanding;
-}
-
-alias SESSION_HEADER _SESSION_HEADER;
-alias SESSION_HEADER TSESSIONHEADER;
-alias SESSION_HEADER* PSESSIONHEADER;
-
-struct SET_PARTITION_INFORMATION
-{
-	ubyte PartitionType;
-}
-
-alias SET_PARTITION_INFORMATION _SET_PARTITION_INFORMATION;
-alias SET_PARTITION_INFORMATION TSETPARTITIONINFORMATION;
-alias SET_PARTITION_INFORMATION* PSETPARTITIONINFORMATION;
-alias int SHCONTF;
-enum { SHCONTF_FOLDERS = 32, SHCONTF_NONFOLDERS = 64, SHCONTF_INCLUDEHIDDEN = 128,  };
-alias SHCONTF TAGSHCONTF;
-alias SHCONTF TSHCONTF;
-
-struct SHFILEINFO
-{
-	HICON hIcon;
-	int iIcon;
-	DWORD dwAttributes;
-	char[1 + MAX_PATH-1] szDisplayName;
-	char[1 + 79] szTypeName;
-}
-
-alias SHFILEINFO _SHFILEINFO;
-alias SHFILEINFO TSHFILEINFO;
-alias SHFILEINFO* PSHFILEINFO;
-alias ushort FILEOP_FLAGS;
-alias FILEOP_FLAGS TFILEOPFLAGS;
-alias FILEOP_FLAGS* PFILEOPFLAGS;
-
-struct SHFILEOPSTRUCT
-{
-	HWND hwnd;
-	UINT wFunc;
-	LPCSTR pFrom;
-	LPCSTR pTo;
-	FILEOP_FLAGS fFlags;
-	WINBOOL fAnyOperationsAborted;
-	LPVOID hNameMappings;
-	LPCSTR lpszProgressTitle;
-}
-
-alias SHFILEOPSTRUCT* LPSHFILEOPSTRUCT;
-alias SHFILEOPSTRUCT _SHFILEOPSTRUCT;
-alias SHFILEOPSTRUCT TSHFILEOPSTRUCT;
-alias SHFILEOPSTRUCT* PSHFILEOPSTRUCT;
-alias int SHGNO;
-enum { SHGDN_NORMAL = 0, SHGDN_INFOLDER = 1, SHGDN_FORPARSING = 0x8000,  };
-alias SHGNO TAGSHGDN;
-alias SHGNO TSHGDN;
-
-struct SHNAMEMAPPING
-{
-	LPSTR pszOldPath;
-	LPSTR pszNewPath;
-	int cchOldPath;
-	int cchNewPath;
-}
-
-alias SHNAMEMAPPING* LPSHNAMEMAPPING;
-alias SHNAMEMAPPING _SHNAMEMAPPING;
-alias SHNAMEMAPPING TSHNAMEMAPPING;
-alias SHNAMEMAPPING* PSHNAMEMAPPING;
-
-struct SID_AND_ATTRIBUTES
-{
-	PSID Sid;
-	DWORD Attributes;
-}
-
-alias SID_AND_ATTRIBUTES _SID_AND_ATTRIBUTES;
-alias SID_AND_ATTRIBUTES TSIDANDATTRIBUTES;
-alias SID_AND_ATTRIBUTES* PSIDANDATTRIBUTES;
-alias SID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] SID_AND_ATTRIBUTES_ARRAY;
-alias SID_AND_ATTRIBUTES_ARRAY* PSID_AND_ATTRIBUTES_ARRAY;
-alias SID_AND_ATTRIBUTES_ARRAY TSIDANDATTRIBUTESARRAY;
-alias SID_AND_ATTRIBUTES_ARRAY* PSIDANDATTRIBUTESARRAY;
-
-struct SINGLE_LIST_ENTRY
-{
-	_SINGLE_LIST_ENTRY* Next;
-}
-
-alias SINGLE_LIST_ENTRY _SINGLE_LIST_ENTRY;
-alias SINGLE_LIST_ENTRY TSINGLELISTENTRY;
-alias SINGLE_LIST_ENTRY* PSINGLELISTENTRY;
-
-struct SOUNDSENTRY
-{
-	UINT cbSize;
-	DWORD dwFlags;
-	DWORD iFSTextEffect;
-	DWORD iFSTextEffectMSec;
-	DWORD iFSTextEffectColorBits;
-	DWORD iFSGrafEffect;
-	DWORD iFSGrafEffectMSec;
-	DWORD iFSGrafEffectColor;
-	DWORD iWindowsEffect;
-	DWORD iWindowsEffectMSec;
-	LPTSTR lpszWindowsEffectDLL;
-	DWORD iWindowsEffectOrdinal;
-}
-
-alias SOUNDSENTRY* LPSOUNDSENTRY;
-alias SOUNDSENTRY TAGSOUNDSENTRY;
-alias SOUNDSENTRY TSOUNDSENTRY;
-alias SOUNDSENTRY* PSOUNDSENTRY;
-
-struct STARTUPINFO
-{
-	DWORD cb;
-	LPTSTR lpReserved;
-	LPTSTR lpDesktop;
-	LPTSTR lpTitle;
-	DWORD dwX;
-	DWORD dwY;
-	DWORD dwXSize;
-	DWORD dwYSize;
-	DWORD dwXCountChars;
-	DWORD dwYCountChars;
-	DWORD dwFillAttribute;
-	DWORD dwFlags;
-	ushort wShowWindow;
-	ushort cbReserved2;
-	LPBYTE lpReserved2;
-	HANDLE hStdInput;
-	HANDLE hStdOutput;
-	HANDLE hStdError;
-}
-
-alias STARTUPINFO* LPSTARTUPINFO;
-alias STARTUPINFO _STARTUPINFO;
-alias STARTUPINFO TSTARTUPINFO;
-alias STARTUPINFO* PSTARTUPINFO;
-
-struct STICKYKEYS
-{
-	DWORD cbSize;
-	DWORD dwFlags;
-}
-
-alias STICKYKEYS* LPSTICKYKEYS;
-alias STICKYKEYS TAGSTICKYKEYS;
-alias STICKYKEYS TSTICKYKEYS;
-alias STICKYKEYS* PSTICKYKEYS;
-
-struct STRRET
-{
-	UINT uType;
-
-	union
-	{
-		struct
-		{
-			LPWSTR pOleStr;
-		}
-		struct
-		{
-			UINT uOffset;
-		}
-		struct
-		{
-			char[1 + MAX_PATH-1] cStr;
-		}
-	}
-}
-
-alias STRRET* LPSTRRET;
-alias STRRET _STRRET;
-alias STRRET TSTRRET;
-alias STRRET* PSTRRET;
-
-struct STYLEBUF
-{
-	DWORD dwStyle;
-	char[1 + 31] szDescription;
-}
-
-alias STYLEBUF* LPSTYLEBUF;
-alias STYLEBUF _TAGSTYLEBUF;
-alias STYLEBUF TSTYLEBUF;
-alias STYLEBUF* PSTYLEBUF;
-
-struct STYLESTRUCT
-{
-	DWORD styleOld;
-	DWORD styleNew;
-}
-
-alias STYLESTRUCT* LPSTYLESTRUCT;
-alias STYLESTRUCT TAGSTYLESTRUCT;
-alias STYLESTRUCT TSTYLESTRUCT;
-alias STYLESTRUCT* PSTYLESTRUCT;
-
-struct SYSTEM_AUDIT_ACE
-{
-	ACE_HEADER Header;
-	ACCESS_MASK Mask;
-	DWORD SidStart;
-}
-
-alias SYSTEM_AUDIT_ACE _SYSTEM_AUDIT_ACE;
-alias SYSTEM_AUDIT_ACE TSYSTEMAUDITACE;
-alias SYSTEM_AUDIT_ACE* PSYSTEMAUDITACE;
-
-struct SYSTEM_INFO_U
-{
-
-	union
-	{
-		struct
-		{
-			DWORD dwOemId;
-		}
-		struct
-		{
-			ushort wProcessorArchitecture;
-			ushort wReserved;
-		}
-	}
-}
-
-
-struct SYSTEM_INFO
-{
-	SYSTEM_INFO_U u;
-	DWORD dwPageSize;
-	LPVOID lpMinimumApplicationAddress;
-	LPVOID lpMaximumApplicationAddress;
-	DWORD dwActiveProcessorMask;
-	DWORD dwNumberOfProcessors;
-	DWORD dwProcessorType;
-	DWORD dwAllocationGranularity;
-	ushort wProcessorLevel;
-	ushort wProcessorRevision;
-}
-
-alias SYSTEM_INFO* LPSYSTEM_INFO;
-alias SYSTEM_INFO _SYSTEM_INFO;
-alias SYSTEM_INFO TSYSTEMINFO;
-alias SYSTEM_INFO* PSYSTEMINFO;
-
-struct SYSTEM_POWER_STATUS
-{
-	ubyte ACLineStatus;
-	ubyte BatteryFlag;
-	ubyte BatteryLifePercent;
-	ubyte Reserved1;
-	DWORD BatteryLifeTime;
-	DWORD BatteryFullLifeTime;
-}
-
-alias SYSTEM_POWER_STATUS _SYSTEM_POWER_STATUS;
-alias SYSTEM_POWER_STATUS TSYSTEMPOWERSTATUS;
-alias SYSTEM_POWER_STATUS* PSYSTEMPOWERSTATUS;
-alias EMPTYRECORD* LPSYSTEM_POWER_STATUS;
-
-struct TAPE_ERASE
-{
-	ULONG _Type;
-}
-
-alias TAPE_ERASE _TAPE_ERASE;
-alias TAPE_ERASE TTAPEERASE;
-alias TAPE_ERASE* PTAPEERASE;
-
-struct TAPE_GET_DRIVE_PARAMETERS
-{
-	ubyte ECC;
-	ubyte Compression;
-	ubyte DataPadding;
-	ubyte ReportSetmarks;
-	ULONG DefaultBlockSize;
-	ULONG MaximumBlockSize;
-	ULONG MinimumBlockSize;
-	ULONG MaximumPartitionCount;
-	ULONG FeaturesLow;
-	ULONG FeaturesHigh;
-	ULONG EOTWarningZoneSize;
-}
-
-alias TAPE_GET_DRIVE_PARAMETERS _TAPE_GET_DRIVE_PARAMETERS;
-alias TAPE_GET_DRIVE_PARAMETERS TTAPEGETDRIVEPARAMETERS;
-alias TAPE_GET_DRIVE_PARAMETERS* PTAPEGETDRIVEPARAMETERS;
-
-struct TAPE_GET_MEDIA_PARAMETERS
-{
-	LARGE_INTEGER Capacity;
-	LARGE_INTEGER Remaining;
-	DWORD BlockSize;
-	DWORD PartitionCount;
-	ubyte WriteProtected;
-}
-
-alias TAPE_GET_MEDIA_PARAMETERS _TAPE_GET_MEDIA_PARAMETERS;
-alias TAPE_GET_MEDIA_PARAMETERS TTAPEGETMEDIAPARAMETERS;
-alias TAPE_GET_MEDIA_PARAMETERS* PTAPEGETMEDIAPARAMETERS;
-
-struct TAPE_GET_POSITION
-{
-	ULONG _Type;
-	ULONG Partition;
-	ULONG OffsetLow;
-	ULONG OffsetHigh;
-}
-
-alias TAPE_GET_POSITION _TAPE_GET_POSITION;
-alias TAPE_GET_POSITION TTAPEGETPOSITION;
-alias TAPE_GET_POSITION* PTAPEGETPOSITION;
-
-struct TAPE_PREPARE
-{
-	ULONG Operation;
-}
-
-alias TAPE_PREPARE _TAPE_PREPARE;
-alias TAPE_PREPARE TTAPEPREPARE;
-alias TAPE_PREPARE* PTAPEPREPARE;
-
-struct TAPE_SET_DRIVE_PARAMETERS
-{
-	ubyte ECC;
-	ubyte Compression;
-	ubyte DataPadding;
-	ubyte ReportSetmarks;
-	ULONG EOTWarningZoneSize;
-}
-
-alias TAPE_SET_DRIVE_PARAMETERS _TAPE_SET_DRIVE_PARAMETERS;
-alias TAPE_SET_DRIVE_PARAMETERS TTAPESETDRIVEPARAMETERS;
-alias TAPE_SET_DRIVE_PARAMETERS* PTAPESETDRIVEPARAMETERS;
-
-struct TAPE_SET_MEDIA_PARAMETERS
-{
-	ULONG BlockSize;
-}
-
-alias TAPE_SET_MEDIA_PARAMETERS _TAPE_SET_MEDIA_PARAMETERS;
-alias TAPE_SET_MEDIA_PARAMETERS TTAPESETMEDIAPARAMETERS;
-alias TAPE_SET_MEDIA_PARAMETERS* PTAPESETMEDIAPARAMETERS;
-
-struct TAPE_SET_POSITION
-{
-	ULONG Method;
-	ULONG Partition;
-	ULONG OffsetLow;
-	ULONG OffsetHigh;
-}
-
-alias TAPE_SET_POSITION _TAPE_SET_POSITION;
-alias TAPE_SET_POSITION TTAPESETPOSITION;
-alias TAPE_SET_POSITION* PTAPESETPOSITION;
-
-struct TAPE_WRITE_MARKS
-{
-	ULONG _Type;
-	ULONG Count;
-}
-
-alias TAPE_WRITE_MARKS _TAPE_WRITE_MARKS;
-alias TAPE_WRITE_MARKS TTAPEWRITEMARKS;
-alias TAPE_WRITE_MARKS* PTAPEWRITEMARKS;
-
-struct TBADDBITMAP
-{
-	HINST hInst;
-	UINT nID;
-}
-
-alias TBADDBITMAP* LPTBADDBITMAP;
-alias TBADDBITMAP TTBADDBITMAP;
-alias TBADDBITMAP* PTBADDBITMAP;
-
-struct TBBUTTON
-{
-	int iBitmap;
-	int idCommand;
-	ubyte fsState;
-	ubyte fsStyle;
-	DWORD dwData;
-	int iString;
-}
-
-alias TBBUTTON* LPTBBUTTON;
-alias TBBUTTON* LPCTBBUTTON;
-alias TBBUTTON _TBBUTTON;
-alias TBBUTTON TTBBUTTON;
-alias TBBUTTON* PTBBUTTON;
-
-struct TBNOTIFY
-{
-	NMHDR hdr;
-	int iItem;
-	TBBUTTON tbButton;
-	int cchText;
-	LPTSTR pszText;
-}
-
-alias TBNOTIFY* LPTBNOTIFY;
-alias TBNOTIFY TTBNOTIFY;
-alias TBNOTIFY* PTBNOTIFY;
-
-struct TBSAVEPARAMS
-{
-	HKEY hkr;
-	LPCTSTR pszSubKey;
-	LPCTSTR pszValueName;
-}
-
-alias TBSAVEPARAMS TTBSAVEPARAMS;
-alias TBSAVEPARAMS* PTBSAVEPARAMS;
-
-struct TC_HITTESTINFO
-{
-	POINT pt;
-	UINT flags;
-}
-
-alias TC_HITTESTINFO _TC_HITTESTINFO;
-alias TC_HITTESTINFO TTCHITTESTINFO;
-alias TC_HITTESTINFO* PTCHITTESTINFO;
-
-struct TC_ITEM
-{
-	UINT mask;
-	UINT lpReserved1;
-	UINT lpReserved2;
-	LPTSTR pszText;
-	int cchTextMax;
-	int iImage;
-	LPARAM lParam;
-}
-
-alias TC_ITEM _TC_ITEM;
-alias TC_ITEM TTCITEM;
-alias TC_ITEM* PTCITEM;
-
-struct TC_ITEMHEADER
-{
-	UINT mask;
-	UINT lpReserved1;
-	UINT lpReserved2;
-	LPTSTR pszText;
-	int cchTextMax;
-	int iImage;
-}
-
-alias TC_ITEMHEADER _TC_ITEMHEADER;
-alias TC_ITEMHEADER TTCITEMHEADER;
-alias TC_ITEMHEADER* PTCITEMHEADER;
-
-struct TC_KEYDOWN
-{
-	NMHDR hdr;
-	ushort wVKey;
-	UINT flags;
-}
-
-alias TC_KEYDOWN _TC_KEYDOWN;
-alias TC_KEYDOWN TTCKEYDOWN;
-alias TC_KEYDOWN* PTCKEYDOWN;
-
-struct TEXTRANGE
-{
-	CHARRANGE chrg;
-	LPSTR lpstrText;
-}
-
-alias TEXTRANGE _TEXTRANGE;
-alias TEXTRANGE TTEXTRANGE;
-alias TEXTRANGE* PTEXTRANGE;
-
-struct TIME_ZONE_INFORMATION
-{
-	LONG Bias;
-	WCHAR[1 + 31] StandardName;
-	SYSTEMTIME StandardDate;
-	LONG StandardBias;
-	WCHAR[1 + 31] DaylightName;
-	SYSTEMTIME DaylightDate;
-	LONG DaylightBias;
-}
-
-alias TIME_ZONE_INFORMATION* LPTIME_ZONE_INFORMATION;
-alias TIME_ZONE_INFORMATION _TIME_ZONE_INFORMATION;
-alias TIME_ZONE_INFORMATION TTIMEZONEINFORMATION;
-alias TIME_ZONE_INFORMATION* PTIMEZONEINFORMATION;
-
-struct TOGGLEKEYS
-{
-	DWORD cbSize;
-	DWORD dwFlags;
-}
-
-alias TOGGLEKEYS TAGTOGGLEKEYS;
-alias TOGGLEKEYS TTOGGLEKEYS;
-alias TOGGLEKEYS* PTOGGLEKEYS;
-
-struct TOKEN_SOURCE
-{
-	char[1 + 7] SourceName;
-	LUID SourceIdentifier;
-}
-
-alias TOKEN_SOURCE _TOKEN_SOURCE;
-alias TOKEN_SOURCE TTOKENSOURCE;
-alias TOKEN_SOURCE* PTOKENSOURCE;
-
-struct TOKEN_CONTROL
-{
-	LUID TokenId;
-	LUID AuthenticationId;
-	LUID ModifiedId;
-	TOKEN_SOURCE TokenSource;
-}
-
-alias TOKEN_CONTROL _TOKEN_CONTROL;
-alias TOKEN_CONTROL TTOKENCONTROL;
-alias TOKEN_CONTROL* PTOKENCONTROL;
-
-struct TOKEN_DEFAULT_DACL
-{
-	PACL DefaultDacl;
-}
-
-alias TOKEN_DEFAULT_DACL _TOKEN_DEFAULT_DACL;
-alias TOKEN_DEFAULT_DACL TTOKENDEFAULTDACL;
-alias TOKEN_DEFAULT_DACL* PTOKENDEFAULTDACL;
-
-struct TOKEN_GROUPS
-{
-	DWORD GroupCount;
-	SID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Groups;
-}
-
-alias TOKEN_GROUPS* PTOKEN_GROUPS;
-alias TOKEN_GROUPS* LPTOKEN_GROUPS;
-alias TOKEN_GROUPS _TOKEN_GROUPS;
-alias TOKEN_GROUPS TTOKENGROUPS;
-alias TOKEN_GROUPS* PTOKENGROUPS;
-
-struct TOKEN_OWNER
-{
-	PSID Owner;
-}
-
-alias TOKEN_OWNER _TOKEN_OWNER;
-alias TOKEN_OWNER TTOKENOWNER;
-alias TOKEN_OWNER* PTOKENOWNER;
-
-struct TOKEN_PRIMARY_GROUP
-{
-	PSID PrimaryGroup;
-}
-
-alias TOKEN_PRIMARY_GROUP _TOKEN_PRIMARY_GROUP;
-alias TOKEN_PRIMARY_GROUP TTOKENPRIMARYGROUP;
-alias TOKEN_PRIMARY_GROUP* PTOKENPRIMARYGROUP;
-
-struct TOKEN_PRIVILEGES
-{
-	DWORD PrivilegeCount;
-	LUID_AND_ATTRIBUTES[1 + ANYSIZE_ARRAY-1] Privileges;
-}
-
-alias TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES;
-alias TOKEN_PRIVILEGES* LPTOKEN_PRIVILEGES;
-alias TOKEN_PRIVILEGES _TOKEN_PRIVILEGES;
-alias TOKEN_PRIVILEGES TTOKENPRIVILEGES;
-alias TOKEN_PRIVILEGES* PTOKENPRIVILEGES;
-
-struct TOKEN_STATISTICS
-{
-	LUID TokenId;
-	LUID AuthenticationId;
-	LARGE_INTEGER ExpirationTime;
-	TOKEN_TYPE TokenType;
-	SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
-	DWORD DynamicCharged;
-	DWORD DynamicAvailable;
-	DWORD GroupCount;
-	DWORD PrivilegeCount;
-	LUID ModifiedId;
-}
-
-alias TOKEN_STATISTICS _TOKEN_STATISTICS;
-alias TOKEN_STATISTICS TTOKENSTATISTICS;
-alias TOKEN_STATISTICS* PTOKENSTATISTICS;
-
-struct TOKEN_USER
-{
-	SID_AND_ATTRIBUTES User;
-}
-
-alias TOKEN_USER _TOKEN_USER;
-alias TOKEN_USER TTOKENUSER;
-alias TOKEN_USER* PTOKENUSER;
-
-struct TOOLINFO
-{
-	UINT cbSize;
-	UINT uFlags;
-	HWND hwnd;
-	UINT uId;
-	RECT rect;
-	HINST hinst;
-	LPTSTR lpszText;
-}
-
-alias TOOLINFO* LPTOOLINFO;
-alias TOOLINFO TTOOLINFO;
-alias TOOLINFO* PTOOLINFO;
-
-struct TOOLTIPTEXT
-{
-	NMHDR hdr;
-	LPTSTR lpszText;
-	char[1 + 79] szText;
-	HINST hinst;
-	UINT uFlags;
-}
-
-alias TOOLTIPTEXT* LPTOOLTIPTEXT;
-alias TOOLTIPTEXT TTOOLTIPTEXT;
-alias TOOLTIPTEXT* PTOOLTIPTEXT;
-
-struct TPMPARAMS
-{
-	UINT cbSize;
-	RECT rcExclude;
-}
-
-alias TPMPARAMS* LPTPMPARAMS;
-alias TPMPARAMS TAGTPMPARAMS;
-alias TPMPARAMS TTPMPARAMS;
-alias TPMPARAMS* PTPMPARAMS;
-
-struct TRANSMIT_FILE_BUFFERS
-{
-	PVOID Head;
-	DWORD HeadLength;
-	PVOID Tail;
-	DWORD TailLength;
-}
-
-alias TRANSMIT_FILE_BUFFERS _TRANSMIT_FILE_BUFFERS;
-alias TRANSMIT_FILE_BUFFERS TTRANSMITFILEBUFFERS;
-alias TRANSMIT_FILE_BUFFERS* PTRANSMITFILEBUFFERS;
-
-struct TTHITTESTINFO
-{
-	HWND hwnd;
-	POINT pt;
-	TOOLINFO ti;
-}
-
-alias TTHITTESTINFO* LPHITTESTINFO;
-alias TTHITTESTINFO _TT_HITTESTINFO;
-alias TTHITTESTINFO TTTHITTESTINFO;
-alias TTHITTESTINFO* PTTHITTESTINFO;
-
-struct TTPOLYCURVE
-{
-	ushort wType;
-	ushort cpfx;
-	POINTFX[1 + 0] apfx;
-}
-
-alias TTPOLYCURVE* LPTTPOLYCURVE;
-alias TTPOLYCURVE TAGTTPOLYCURVE;
-alias TTPOLYCURVE TTTPOLYCURVE;
-alias TTPOLYCURVE* PTTPOLYCURVE;
-
-struct TTPOLYGONHEADER
-{
-	DWORD cb;
-	DWORD dwType;
-	POINTFX pfxStart;
-}
-
-alias TTPOLYGONHEADER* LPTTPOLYGONHEADER;
-alias TTPOLYGONHEADER _TTPOLYGONHEADER;
-alias TTPOLYGONHEADER TTTPOLYGONHEADER;
-alias TTPOLYGONHEADER* PTTPOLYGONHEADER;
-
-// struct TV_DISPINFO
-// {
-// 	NMHDR hdr;
-// 	TV_ITEM item;
-// }
-//
-// alias TV_DISPINFO _TV_DISPINFO;
-// alias TV_DISPINFO TTVDISPINFO;
-// alias TV_DISPINFO* PTVDISPINFO;
-//
-// struct TV_HITTESTINFO
-// {
-// 	POINT pt;
-// 	UINT flags;
-// 	HTREEITEM hItem;
-// }
-//
-// alias TV_HITTESTINFO* LPTV_HITTESTINFO;
-// alias TV_HITTESTINFO _TVHITTESTINFO;
-// alias TV_HITTESTINFO TTVHITTESTINFO;
-// alias TV_HITTESTINFO* PTVHITTESTINFO;
-//
-// struct TV_INSERTSTRUCT
-// {
-// 	HTREEITEM hParent;
-// 	HTREEITEM hInsertAfter;
-// 	TV_ITEM item;
-// }
-//
-// alias TV_INSERTSTRUCT* LPTV_INSERTSTRUCT;
-// alias TV_INSERTSTRUCT _TV_INSERTSTRUCT;
-// alias TV_INSERTSTRUCT TTVINSERTSTRUCT;
-// alias TV_INSERTSTRUCT  TVINSERTSTRUCT;
-// alias TV_INSERTSTRUCT* PTVINSERTSTRUCT;
-//
-// struct TV_KEYDOWN
-// {
-// 	NMHDR hdr;
-// 	ushort wVKey;
-// 	UINT flags;
-// }
-//
-// alias TV_KEYDOWN _TV_KEYDOWN;
-// alias TV_KEYDOWN TTVKEYDOWN;
-// alias TV_KEYDOWN* PTVKEYDOWN;
-//
-// struct TV_SORTCB
-// {
-// 	HTREEITEM hParent;
-// 	PFNTVCOMPARE lpfnCompare;
-// 	LPARAM lParam;
-// }
-//
-// alias TV_SORTCB* LPTV_SORTCB;
-// alias TV_SORTCB _TV_SORTCB;
-// alias TV_SORTCB TTVSORTCB;
-// alias TV_SORTCB* PTVSORTCB;
-
-struct UDACCEL
-{
-	UINT nSec;
-	UINT nInc;
-}
-
-alias UDACCEL TUDACCEL;
-alias UDACCEL* PUDACCEL;
-
-struct ULARGE_INTEGER
-{
-	DWORD LowPart;
-	DWORD HighPart;
-}
-
-alias ULARGE_INTEGER* PULARGE_INTEGER;
-alias ULARGE_INTEGER _ULARGE_INTEGER;
-alias ULARGE_INTEGER TULARGEINTEGER;
-alias ULARGE_INTEGER* PULARGEINTEGER;
-
-struct UNIVERSAL_NAME_INFO
-{
-	LPTSTR lpUniversalName;
-}
-
-alias UNIVERSAL_NAME_INFO _UNIVERSAL_NAME_INFO;
-alias UNIVERSAL_NAME_INFO TUNIVERSALNAMEINFO;
-alias UNIVERSAL_NAME_INFO* PUNIVERSALNAMEINFO;
-
-struct USEROBJECTFLAGS
-{
-	WINBOOL fInherit;
-	WINBOOL fReserved;
-	DWORD dwFlags;
-}
-
-alias USEROBJECTFLAGS TAGUSEROBJECTFLAGS;
-alias USEROBJECTFLAGS TUSEROBJECTFLAGS;
-alias USEROBJECTFLAGS* PUSEROBJECTFLAGS;
-
-struct VALENT
-{
-	LPTSTR ve_valuename;
-	DWORD ve_valuelen;
-	DWORD ve_valueptr;
-	DWORD ve_type;
-}
-
-alias VALENT TVALENT;
-alias VALENT* PVALENT;
-alias VALENT VALUE_ENT;
-alias VALENT TVALUE_ENT;
-alias VALENT* PVALUE_ENT;
-
-struct VERIFY_INFORMATION
-{
-	LARGE_INTEGER StartingOffset;
-	DWORD Length;
-}
-
-alias VERIFY_INFORMATION _VERIFY_INFORMATION;
-alias VERIFY_INFORMATION TVERIFYINFORMATION;
-alias VERIFY_INFORMATION* PVERIFYINFORMATION;
-
-struct VS_FIXEDFILEINFO
-{
-	DWORD 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;
-}
-
-alias VS_FIXEDFILEINFO _VS_FIXEDFILEINFO;
-alias VS_FIXEDFILEINFO TVSFIXEDFILEINFO;
-alias VS_FIXEDFILEINFO* PVSFIXEDFILEINFO;
-
-struct WIN32_FIND_DATA
-{
-	DWORD dwFileAttributes;
-	FILETIME ftCreationTime;
-	FILETIME ftLastAccessTime;
-	FILETIME ftLastWriteTime;
-	DWORD nFileSizeHigh;
-	DWORD nFileSizeLow;
-	DWORD dwReserved0;
-	DWORD dwReserved1;
-	TCHAR[1 + MAX_PATH-1] cFileName;
-	TCHAR[1 + 13] cAlternateFileName;
-}
-
-alias WIN32_FIND_DATA* LPWIN32_FIND_DATA;
-alias WIN32_FIND_DATA* PWIN32_FIND_DATA;
-alias WIN32_FIND_DATA _WIN32_FIND_DATA;
-alias WIN32_FIND_DATA TWIN32FINDDATA;
-alias WIN32_FIND_DATA TWIN32FINDDATAA;
-alias WIN32_FIND_DATA* PWIN32FINDDATA;
-
-struct WIN32_FIND_DATAW {
-    DWORD dwFileAttributes;
-    FILETIME ftCreationTime;
-    FILETIME ftLastAccessTime;
-    FILETIME ftLastWriteTime;
-    DWORD nFileSizeHigh;
-    DWORD nFileSizeLow;
-    DWORD dwReserved0;
-    DWORD dwReserved1;
-    WCHAR  cFileName[MAX_PATH];
-    WCHAR  cAlternateFileName[14];
-}
-
-alias WIN32_FIND_DATAW* LPWIN32_FIND_DATAW;
-alias WIN32_FIND_DATAW* PWIN32_FIND_DATAW;
-
-struct WIN32_FILE_ATTRIBUTE_DATA {
-  DWORD dwFileAttributes;
-  FILETIME ftCreationTime;
-  FILETIME ftLastAccessTime;
-  FILETIME ftLastWriteTime;
-  DWORD nFileSizeHigh;
-  DWORD nFileSizeLow;
-}
-
-enum {
-    GetFileInfoLevelStandard,
-    GetFileInfoLevelMax
-}
-
-struct WIN32_STREAM_ID
-{
-	DWORD dwStreamId;
-	DWORD dwStreamAttributes;
-	LARGE_INTEGER Size;
-	DWORD dwStreamNameSize;
-	WCHAR* cStreamName;
-}
-
-alias WIN32_STREAM_ID _WIN32_STREAM_ID;
-alias WIN32_STREAM_ID TWIN32STREAMID;
-alias WIN32_STREAM_ID* PWIN32STREAMID;
-
-struct WINDOWPLACEMENT
-{
-	UINT length;
-	UINT flags;
-	UINT showCmd;
-	POINT ptMinPosition;
-	POINT ptMaxPosition;
-	RECT rcNormalPosition;
-}
-
-alias WINDOWPLACEMENT _WINDOWPLACEMENT;
-alias WINDOWPLACEMENT TWINDOWPLACEMENT;
-alias WINDOWPLACEMENT* PWINDOWPLACEMENT;
-
-struct WNDCLASSA {
-	UINT style;
-	WNDPROC lpfnWndProc;
-	int cbClsExtra;
-	int cbWndExtra;
-	HANDLE hInstance;
-	HICON hIcon;
-	HCURSOR hCursor;
-	HBRUSH hbrBackground;
-	LPCTSTR lpszMenuName;
-	LPCTSTR lpszClassName;
-}
-
-alias WNDCLASSA* PWNDCLASSA, LPWNDCLASSA;
-
-struct WNDCLASSW {
-    UINT        style;
-    WNDPROC     lpfnWndProc;
-    int         cbClsExtra;
-    int         cbWndExtra;
-    HINSTANCE   hInstance;
-    HICON       hIcon;
-    HCURSOR     hCursor;
-    HBRUSH      hbrBackground;
-    LPCWSTR     lpszMenuName;
-    LPCWSTR     lpszClassName;
-};
-
-alias WNDCLASSW* PWNDCLASSW, LPWNDCLASSW;
-
-// since phobos has alias WNDCLASSA to WNDCLASS, we have to alias it another name
-version(ANSI){
-    alias WNDCLASSA WNDCLASS;
-}else{
-    alias WNDCLASSW WNDCLASS;
-}
-
-alias WNDCLASS* LPWNDCLASS;
-alias WNDCLASS _WNDCLASS;
-alias WNDCLASS TWNDCLASS;
-alias WNDCLASS WNDCLASS_T;
-
-struct WNDCLASSEX
-{
-	UINT cbSize;
-	UINT style;
-	WNDPROC lpfnWndProc;
-	int cbClsExtra;
-	int cbWndExtra;
-	HANDLE hInstance;
-	HICON hIcon;
-	HCURSOR hCursor;
-	HBRUSH hbrBackground;
-	LPCTSTR lpszMenuName;
-	LPCTSTR lpszClassName;
-	HANDLE hIconSm;
-}
-
-alias WNDCLASSEX* LPWNDCLASSEX;
-alias WNDCLASSEX _WNDCLASSEX;
-alias WNDCLASSEX TWNDCLASSEX;
-alias WNDCLASSEX TWNDCLASSEXA;
-alias WNDCLASSEX* PWNDCLASSEX;
-
-struct CONNECTDLGSTRUCT
-{
-	DWORD cbStructure;
-	HWND hwndOwner;
-	LPNETRESOURCE lpConnRes;
-	DWORD dwFlags;
-	DWORD dwDevNum;
-}
-
-alias CONNECTDLGSTRUCT* LPCONNECTDLGSTRUCT;
-alias CONNECTDLGSTRUCT _CONNECTDLGSTRUCT;
-alias CONNECTDLGSTRUCT TCONNECTDLGSTRUCT;
-alias CONNECTDLGSTRUCT* PCONNECTDLGSTRUCT;
-
-struct DISCDLGSTRUCT
-{
-	DWORD cbStructure;
-	HWND hwndOwner;
-	LPTSTR lpLocalName;
-	LPTSTR lpRemoteName;
-	DWORD dwFlags;
-}
-
-alias DISCDLGSTRUCT* LPDISCDLGSTRUCT;
-alias DISCDLGSTRUCT _DISCDLGSTRUCT;
-alias DISCDLGSTRUCT TDISCDLGSTRUCT;
-alias DISCDLGSTRUCT TDISCDLGSTRUCTA;
-alias DISCDLGSTRUCT* PDISCDLGSTRUCT;
-
-struct NETINFOSTRUCT
-{
-	DWORD cbStructure;
-	DWORD dwProviderVersion;
-	DWORD dwStatus;
-	DWORD dwCharacteristics;
-	DWORD dwHandle;
-	ushort wNetType;
-	DWORD dwPrinters;
-	DWORD dwDrives;
-}
-
-alias NETINFOSTRUCT* LPNETINFOSTRUCT;
-alias NETINFOSTRUCT _NETINFOSTRUCT;
-alias NETINFOSTRUCT TNETINFOSTRUCT;
-alias NETINFOSTRUCT* PNETINFOSTRUCT;
-
-struct NETCONNECTINFOSTRUCT
-{
-	DWORD cbStructure;
-	DWORD dwFlags;
-	DWORD dwSpeed;
-	DWORD dwDelay;
-	DWORD dwOptDataSize;
-}
-
-alias NETCONNECTINFOSTRUCT* LPNETCONNECTINFOSTRUCT;
-alias NETCONNECTINFOSTRUCT _NETCONNECTINFOSTRUCT;
-alias NETCONNECTINFOSTRUCT TNETCONNECTINFOSTRUCT;
-alias NETCONNECTINFOSTRUCT* PNETCONNECTINFOSTRUCT;
-extern(Windows){
-alias int (*ENUMMETAFILEPROC)(HDC, HANDLETABLE, METARECORD, int, LPARAM);
-alias int (*ENHMETAFILEPROC)(HDC, HANDLETABLE, ENHMETARECORD, int, LPARAM);
-alias int (*ENUMFONTSPROC)(LPLOGFONT, LPTEXTMETRIC, DWORD, LPARAM);
-alias int (*FONTENUMPROC)(ENUMLOGFONT*, NEWTEXTMETRIC*, int, LPARAM);
-alias int (*FONTENUMEXPROC)(ENUMLOGFONTEX*, NEWTEXTMETRICEX*, int, LPARAM);
-alias void (*LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD, DWORD);
-}
-
-struct POINTFLOAT
-{
-	FLOAT x;
-	FLOAT y;
-}
-
-alias POINTFLOAT _POINTFLOAT;
-alias POINTFLOAT TPOINTFLOAT;
-alias POINTFLOAT* PPOINTFLOAT;
-
-struct GLYPHMETRICSFLOAT
-{
-	FLOAT gmfBlackBoxX;
-	FLOAT gmfBlackBoxY;
-	POINTFLOAT gmfptGlyphOrigin;
-	FLOAT gmfCellIncX;
-	FLOAT gmfCellIncY;
-}
-
-alias GLYPHMETRICSFLOAT* LPGLYPHMETRICSFLOAT;
-alias GLYPHMETRICSFLOAT _GLYPHMETRICSFLOAT;
-alias GLYPHMETRICSFLOAT TGLYPHMETRICSFLOAT;
-alias GLYPHMETRICSFLOAT* PGLYPHMETRICSFLOAT;
-
-struct LAYERPLANEDESCRIPTOR
-{
-	ushort nSize;
-	ushort nVersion;
-	DWORD dwFlags;
-	ubyte iPixelType;
-	ubyte cColorBits;
-	ubyte cRedBits;
-	ubyte cRedShift;
-	ubyte cGreenBits;
-	ubyte cGreenShift;
-	ubyte cBlueBits;
-	ubyte cBlueShift;
-	ubyte cAlphaBits;
-	ubyte cAlphaShift;
-	ubyte cAccumBits;
-	ubyte cAccumRedBits;
-	ubyte cAccumGreenBits;
-	ubyte cAccumBlueBits;
-	ubyte cAccumAlphaBits;
-	ubyte cDepthBits;
-	ubyte cStencilBits;
-	ubyte cAuxBuffers;
-	ubyte iLayerPlane;
-	ubyte bReserved;
-	COLORREF crTransparent;
-}
-
-alias LAYERPLANEDESCRIPTOR* LPLAYERPLANEDESCRIPTOR;
-alias LAYERPLANEDESCRIPTOR TAGLAYERPLANEDESCRIPTOR;
-alias LAYERPLANEDESCRIPTOR TLAYERPLANEDESCRIPTOR;
-alias LAYERPLANEDESCRIPTOR* PLAYERPLANEDESCRIPTOR;
-
-struct PIXELFORMATDESCRIPTOR
-{
-	ushort nSize;
-	ushort nVersion;
-	DWORD dwFlags;
-	ubyte iPixelType;
-	ubyte cColorBits;
-	ubyte cRedBits;
-	ubyte cRedShift;
-	ubyte cGreenBits;
-	ubyte cGreenShift;
-	ubyte cBlueBits;
-	ubyte cBlueShift;
-	ubyte cAlphaBits;
-	ubyte cAlphaShift;
-	ubyte cAccumBits;
-	ubyte cAccumRedBits;
-	ubyte cAccumGreenBits;
-	ubyte cAccumBlueBits;
-	ubyte cAccumAlphaBits;
-	ubyte cDepthBits;
-	ubyte cStencilBits;
-	ubyte cAuxBuffers;
-	ubyte iLayerType;
-	ubyte bReserved;
-	DWORD dwLayerMask;
-	DWORD dwVisibleMask;
-	DWORD dwDamageMask;
-}
-
-alias PIXELFORMATDESCRIPTOR* LPPIXELFORMATDESCRIPTOR;
-alias PIXELFORMATDESCRIPTOR TAGPIXELFORMATDESCRIPTOR;
-alias PIXELFORMATDESCRIPTOR TPIXELFORMATDESCRIPTOR;
-alias PIXELFORMATDESCRIPTOR* PPIXELFORMATDESCRIPTOR;
-
-struct USER_INFO_2
-{
-	LPWSTR usri2_name;
-	LPWSTR usri2_password;
-	DWORD usri2_password_age;
-	DWORD usri2_priv;
-	LPWSTR usri2_home_dir;
-	LPWSTR usri2_comment;
-	DWORD usri2_flags;
-	LPWSTR usri2_script_path;
-	DWORD usri2_auth_flags;
-	LPWSTR usri2_full_name;
-	LPWSTR usri2_usr_comment;
-	LPWSTR usri2_parms;
-	LPWSTR usri2_workstations;
-	DWORD usri2_last_logon;
-	DWORD usri2_last_logoff;
-	DWORD usri2_acct_expires;
-	DWORD usri2_max_storage;
-	DWORD usri2_units_per_week;
-	PBYTE usri2_logon_hours;
-	DWORD usri2_bad_pw_count;
-	DWORD usri2_num_logons;
-	LPWSTR usri2_logon_server;
-	DWORD usri2_country_code;
-	DWORD usri2_code_page;
-}
-
-alias USER_INFO_2* PUSER_INFO_2;
-alias USER_INFO_2* LPUSER_INFO_2;
-alias USER_INFO_2 TUSERINFO2;
-alias USER_INFO_2* PUSERINFO2;
-
-struct USER_INFO_0
-{
-	LPWSTR usri0_name;
-}
-
-alias USER_INFO_0* PUSER_INFO_0;
-alias USER_INFO_0* LPUSER_INFO_0;
-alias USER_INFO_0 TUSERINFO0;
-alias USER_INFO_0* PUSERINFO0;
-
-struct USER_INFO_3
-{
-	LPWSTR usri3_name;
-	LPWSTR usri3_password;
-	DWORD usri3_password_age;
-	DWORD usri3_priv;
-	LPWSTR usri3_home_dir;
-	LPWSTR usri3_comment;
-	DWORD usri3_flags;
-	LPWSTR usri3_script_path;
-	DWORD usri3_auth_flags;
-	LPWSTR usri3_full_name;
-	LPWSTR usri3_usr_comment;
-	LPWSTR usri3_parms;
-	LPWSTR usri3_workstations;
-	DWORD usri3_last_logon;
-	DWORD usri3_last_logoff;
-	DWORD usri3_acct_expires;
-	DWORD usri3_max_storage;
-	DWORD usri3_units_per_week;
-	PBYTE usri3_logon_hours;
-	DWORD usri3_bad_pw_count;
-	DWORD usri3_num_logons;
-	LPWSTR usri3_logon_server;
-	DWORD usri3_country_code;
-	DWORD usri3_code_page;
-	DWORD usri3_user_id;
-	DWORD usri3_primary_group_id;
-	LPWSTR usri3_profile;
-	LPWSTR usri3_home_dir_drive;
-	DWORD usri3_password_expired;
-}
-
-alias USER_INFO_3* PUSER_INFO_3;
-alias USER_INFO_3* LPUSER_INFO_3;
-alias USER_INFO_3 TUSERINFO3;
-alias USER_INFO_3* PUSERINFO3;
-
-struct GROUP_INFO_2
-{
-	LPWSTR grpi2_name;
-	LPWSTR grpi2_comment;
-	DWORD grpi2_group_id;
-	DWORD grpi2_attributes;
-}
-
-alias GROUP_INFO_2* PGROUP_INFO_2;
-alias GROUP_INFO_2 TGROUPINFO2;
-alias GROUP_INFO_2* PGROUPINFO2;
-
-struct LOCALGROUP_INFO_0
-{
-	LPWSTR lgrpi0_name;
-}
-
-alias LOCALGROUP_INFO_0* PLOCALGROUP_INFO_0;
-alias LOCALGROUP_INFO_0* LPLOCALGROUP_INFO_0;
-alias LOCALGROUP_INFO_0 TLOCALGROUPINFO0;
-alias LOCALGROUP_INFO_0* PLOCALGROUPINFO0;
-
-struct IMAGE_DOS_HEADER
-{
-	ushort e_magic;
-	ushort e_cblp;
-	ushort e_cp;
-	ushort e_crlc;
-	ushort e_cparhdr;
-	ushort e_minalloc;
-	ushort e_maxalloc;
-	ushort e_ss;
-	ushort e_sp;
-	ushort e_csum;
-	ushort e_ip;
-	ushort e_cs;
-	ushort e_lfarlc;
-	ushort e_ovno;
-	ushort[1 + 3] e_res;
-	ushort e_oemid;
-	ushort e_oeminfo;
-	ushort[1 + 9] e_res2;
-	LONG e_lfanew;
-}
-
-alias IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER;
-alias IMAGE_DOS_HEADER TIMAGEDOSHEADER;
-alias IMAGE_DOS_HEADER* PIMAGEDOSHEADER;
-alias ushort TVARTYPE;
-alias TVARIANT* PVARIANT;
-
-struct TVARIANT
-{
-	TVARTYPE vt;
-	ushort wReserved1;
-	ushort wReserved2;
-	ushort wReserved3;
-
-	union
-	{
-		struct
-		{
-			ubyte bVal;
-		}
-		struct
-		{
-			byte iVal;
-		}
-		struct
-		{
-			int lVal;
-		}
-		struct
-		{
-			float fltVal;
-		}
-		struct
-		{
-			double dblVal;
-		}
-		struct
-		{
-			ushort vbool;
-		}
-		struct
-		{
-			HRESULT scode;
-		}
-		struct
-		{
-			ubyte* pbVal;
-		}
-		struct
-		{
-			byte* piVal;
-		}
-		struct
-		{
-			int* plVal;
-		}
-		struct
-		{
-			float* pfltVal;
-		}
-		struct
-		{
-			double* pdblVal;
-		}
-		struct
-		{
-			ushort* pbool;
-		}
-		struct
-		{
-			HRESULT* pscode;
-		}
-		struct
-		{
-			POINTER byRef;
-		}
-	}
-}
-
-alias TVARIANT VARIANT;
-alias int MMRESULT;
-alias TWAVEFORMATEX* PWAVEFORMATEX;
-
-align(1) struct TWAVEFORMATEX
-{
-	ushort wFormatTag;
-	ushort nChannels;
-	DWORD nSamplesPerSec;
-	DWORD nAvgBytesPerSec;
-	ushort nBlockAlign;
-	ushort wBitsPerSample;
-	ushort cbSize;
-}
-
-alias CRITICAL_SECTION TRTLCRITICALSECTION;
-alias PCRITICAL_SECTION PRTLCRITICALSECTION;
-alias PGUID PIID;
-alias TGUID TIID;
-alias HANDLE THANDLE;
-alias TSMALLRECT* PSMALLRECT;
-alias SMALL_RECT TSMALLRECT;
-alias TCHARINFO* PCHARINFO;
-alias _CHAR_INFO TCHARINFO;
-alias POINTER TFARPROC;
-alias POINTER TFNDLGPROC;
-alias POINTER TFNTHREADSTARTROUTINE;
-
-struct _OBJECT_TYPE_LIST
-{
-	ushort Level;
-	ushort Sbz;
-	PGUID ObjectType;
-}
-
-alias _OBJECT_TYPE_LIST TOBJECTTYPELIST;
-alias TOBJECTTYPELIST* POBJECTTYPELIST;
-alias _OBJECT_TYPE_LIST OBJECT_TYPE_LIST;
-alias DWORD AUDIT_EVENT_TYPE;
-
-align(1) struct _BLENDFUNCTION
-{
-	ubyte BlendOp;
-	ubyte BlendFlags;
-	ubyte SourceConstantAlpha;
-	ubyte AlphaFormat;
-}
-
-alias _BLENDFUNCTION TBLENDFUNCTION;
-alias TBLENDFUNCTION* PBLENDFUNCTION;
-alias _BLENDFUNCTION BLENDFUNCTION;
-
-alias HANDLE HMONITOR;
-
-struct tagMONITORINFOEX
-{
-	DWORD  cbSize;
-	RECT   rcMonitor;
-	RECT   rcWork;
-	DWORD  dwFlags;
-	TCHAR  szDevice[CCHDEVICENAME];
-}
-alias tagMONITORINFOEX MONITORINFOEX;
-alias MONITORINFOEX* LPMONITORINFOEX;
-
-struct tagMONITORINFO
-{
-	DWORD  cbSize;
-	RECT   rcMonitor;
-	RECT   rcWork;
-	DWORD  dwFlags;
-}
-alias tagMONITORINFO MONITORINFO;
-alias MONITORINFO* LPMONITORINFO;
-
-struct WINDOWINFO
-{
-    DWORD cbSize;
-    RECT rcWindow;
-    RECT rcClient;
-    DWORD dwStyle;
-    DWORD dwExStyle;
-    DWORD dwWindowStatus;
-    UINT cxWindowBorders;
-    UINT cyWindowBorders;
-    ATOM atomWindowType;
-    short wCreatorVersion;
-};
-alias WINDOWINFO* PWINDOWINFO;
-alias WINDOWINFO* LPWINDOWINFO;
-
-/*
-int S_OK = (0x00000000);
-int S_FALSE = (0x00000001);
-int NOERROR = (0);
-int E_UNEXPECTED = (DWORD)((0x8000FFFF));
-int E_NOTIMPL = (DWORD)((0x80004001));
-int E_OUTOFMEMORY = (DWORD)((0x8007000E));
-int E_INVALIDARG = (DWORD)((0x80070057));
-int E_NOINTERFACE = (DWORD)((0x80004002));
-int E_POINTER = (DWORD)((0x80004003));
-int E_HANDLE = (DWORD)((0x80070006));
-int E_ABORT = (DWORD)((0x80004004));
-int E_FAIL = (DWORD)((0x80004005));
-int E_ACCESSDENIED = (DWORD)((0x80070005));
-int E_PENDING = (DWORD)((0x8000000A));
-int CO_E_INIT_TLS = (DWORD)((0x80004006));
-int CO_E_INIT_MEMORY_ALLOCATOR = (DWORD)((0x80004008));
-int CO_E_INIT_CLASS_CACHE = (DWORD)((0x80004009));
-int CO_E_INIT_RPC_CHANNEL = (DWORD)((0x8000400A));
-int CO_E_INIT_TLS_SET_CHANNEL_CONTROL = (DWORD)((0x8000400B));
-int CO_E_INIT_TLS_CHANNEL_CONTROL = (DWORD)((0x8000400C));
-int CO_E_INIT_UNACCEPTED_USER_ALLOCATOR = (DWORD)((0x8000400D));
-int CO_E_INIT_SCM_MUTEX_EXISTS = (DWORD)((0x8000400E));
-int CO_E_INIT_SCM_FILE_MAPPING_EXISTS = (DWORD)((0x8000400F));
-int CO_E_INIT_SCM_MAP_VIEW_OF_FILE = (DWORD)((0x80004010));
-int CO_E_INIT_SCM_EXEC_FAILURE = (DWORD)((0x80004011));
-int CO_E_INIT_ONLY_SINGLE_THREADED = (DWORD)((0x80004012));
-int CO_E_CANT_REMOTE = (DWORD)((0x80004013));
-int CO_E_BAD_SERVER_NAME = (DWORD)((0x80004014));
-int CO_E_WRONG_SERVER_IDENTITY = (DWORD)((0x80004015));
-int CO_E_OLE1DDE_DISABLED = (DWORD)((0x80004016));
-int CO_E_RUNAS_SYNTAX = (DWORD)((0x80004017));
-int CO_E_CREATEPROCESS_FAILURE = (DWORD)((0x80004018));
-int CO_E_RUNAS_CREATEPROCESS_FAILURE = (DWORD)((0x80004019));
-int CO_E_RUNAS_LOGON_FAILURE = (DWORD)((0x8000401A));
-int CO_E_LAUNCH_PERMSSION_DENIED = (DWORD)((0x8000401B));
-int CO_E_START_SERVICE_FAILURE = (DWORD)((0x8000401C));
-int CO_E_REMOTE_COMMUNICATION_FAILURE = (DWORD)((0x8000401D));
-int CO_E_SERVER_START_TIMEOUT = (DWORD)((0x8000401E));
-int CO_E_CLSREG_INCONSISTENT = (DWORD)((0x8000401F));
-int CO_E_IIDREG_INCONSISTENT = (DWORD)((0x80004020));
-int CO_E_NOT_SUPPORTED = (DWORD)((0x80004021));
-int CO_E_FIRST = (DWORD)((0x800401F0));
-int CO_E_LAST = (DWORD)((0x800401FF));
-int CO_S_FIRST = (0x401F0);
-int CO_E_NOTINITIALIZED = (DWORD)((0x800401F0));
-int CO_E_ALREADYINITIALIZED = (DWORD)((0x800401F1));
-int CO_E_CANTDETERMINECLASS = (DWORD)((0x800401F2));
-int CO_E_CLASSSTRING = (DWORD)((0x800401F3));
-int CO_E_IIDSTRING = (DWORD)((0x800401F4));
-int CO_E_APPNOTFOUND = (DWORD)((0x800401F5));
-int CO_E_APPSINGLEUSE = (DWORD)((0x800401F6));
-int CO_E_ERRORINAPP = (DWORD)((0x800401F7));
-int CO_E_DLLNOTFOUND = (DWORD)((0x800401F8));
-int CO_E_ERRORINDLL = (DWORD)((0x800401F9));
-int CO_E_WRONGOSFORAPP = (DWORD)((0x800401FA));
-int CO_E_OBJNOTREG = (DWORD)((0x800401FB));
-int CO_E_OBJISREG = (DWORD)((0x800401FC));
-int CO_E_OBJNOTCONNECTED = (DWORD)((0x800401FD));
-int CO_E_APPDIDNTREG = (DWORD)((0x800401FE));
-int CO_E_RELEASED = (DWORD)((0x800401FF));
-*/
\ No newline at end of file
--- a/tango_sys_win32/UserGdi.d	Mon Feb 11 22:30:50 2008 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1748 +0,0 @@
-module tango_sys_win32.UserGdi;
-
-/*
- 	Module:		Windows Functions
- 	Author: 	Trevor Parscal
-*/
-
-/+ Imports +/
-public
-{
-	import tango_sys_win32.Types;
-}
-
-/+ Functions +/
-extern(Windows)
-{
-	BOOL GetWindowInfo(HWND, PWINDOWINFO);
-	BOOL EnumDisplayMonitors(HDC, RECT*, MONITORENUMPROC, LPARAM);
-	BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFO);
-	WINBOOL GetBinaryTypeA(LPCSTR, LPDWORD);
-	DWORD GetShortPathNameA(LPCSTR, LPSTR, DWORD);
-	LPSTR GetEnvironmentStringsA();
-	WINBOOL FreeEnvironmentStringsA(LPSTR);
-	DWORD FormatMessageA(DWORD, LPCVOID, DWORD, DWORD, LPSTR, DWORD, VA_LIST*);
-	HANDLE CreateMailslotA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
-	int lstrcmpA(LPCSTR, LPCSTR);
-	int lstrcmpiA(LPCSTR, LPCSTR);
-	LPSTR lstrcpynA(LPSTR, LPCSTR, int);
-	LPSTR lstrcpyA(LPSTR, LPCSTR);
-	LPSTR lstrcatA(LPSTR, LPCSTR);
-	int lstrlenA(LPCSTR);
-	HANDLE CreateMutexA(LPSECURITY_ATTRIBUTES, WINBOOL, LPCSTR);
-	HANDLE OpenMutexA(DWORD, WINBOOL, LPCSTR);
-	HANDLE CreateEventA(LPSECURITY_ATTRIBUTES, WINBOOL, WINBOOL, LPCSTR);
-	HANDLE OpenEventA(DWORD, WINBOOL, LPCSTR);
-	HANDLE CreateSemaphoreA(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCSTR);
-	HANDLE OpenSemaphoreA(DWORD, WINBOOL, LPCSTR);
-	HANDLE CreateFileMappingA(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCSTR);
-	HANDLE OpenFileMappingA(DWORD, WINBOOL, LPCSTR);
-	DWORD GetLogicalDriveStringsA(DWORD, LPSTR);
-	HINST LoadLibraryA(LPCSTR);
-	HINST LoadLibraryExA(LPCSTR, HANDLE, DWORD);
-	DWORD GetModuleFileNameA(HINST, LPSTR, DWORD);
-	HMODULE GetModuleHandleA(LPCSTR);
-	void FatalAppExitA(UINT);
-	LPSTR GetCommandLineA();
-	DWORD GetEnvironmentVariableA(LPCSTR, LPSTR, DWORD);
-	WINBOOL SetEnvironmentVariableA(LPCSTR, LPCSTR);
-	DWORD ExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD);
-	void OutputDebugStringA(LPCSTR);
-	HRSRC FindResourceA(HINST, LPCSTR, LPCSTR);
-	HRSRC FindResourceExA(HINST, LPCSTR, LPCSTR, ushort);
-	WINBOOL EnumResourceTypesA(HINST, ENUMRESTYPEPROC, LONG);
-	WINBOOL EnumResourceNamesA(HINST, LPCSTR, ENUMRESNAMEPROC, LONG);
-	WINBOOL EnumResourceLanguagesA(HINST, LPCSTR, LPCSTR, ENUMRESLANGPROC, LONG);
-	HANDLE BeginUpdateResourceA(LPCSTR, WINBOOL);
-	WINBOOL UpdateResourceA(HANDLE, LPCSTR, LPCSTR, ushort, LPVOID, DWORD);
-	WINBOOL EndUpdateResourceA(HANDLE, WINBOOL);
-	ATOM GlobalAddAtomA(LPCSTR);
-	ATOM GlobalFindAtomA(LPCSTR);
-	UINT GlobalGetAtomNameA(ATOM, LPSTR, int);
-	ATOM AddAtomA(LPCSTR);
-	ATOM FindAtomA(LPCSTR);
-	UINT GetAtomNameA(ATOM, LPSTR, int);
-	UINT GetProfileIntA(LPCSTR, LPCSTR, INT);
-	DWORD GetProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD);
-	WINBOOL WriteProfileStringA(LPCSTR, LPCSTR, LPCSTR);
-	DWORD GetProfileSectionA(LPCSTR, LPSTR, DWORD);
-	WINBOOL WriteProfileSectionA(LPCSTR, LPCSTR);
-	UINT GetPrivateProfileIntA(LPCSTR, LPCSTR, INT, LPCSTR);
-	DWORD GetPrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD, LPCSTR);
-	WINBOOL WritePrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPCSTR);
-	DWORD GetPrivateProfileSectionA(LPCSTR, LPSTR, DWORD, LPCSTR);
-	WINBOOL WritePrivateProfileSectionA(LPCSTR, LPCSTR, LPCSTR);
-	UINT GetDriveTypeA(LPCSTR);
-	UINT GetSystemDirectoryA(LPSTR, UINT);
-	DWORD GetTempPathA(DWORD, LPSTR);
-	UINT GetTempFileNameA(LPCSTR, LPCSTR, UINT, LPSTR);
-	UINT GetWindowsDirectoryA(LPSTR, UINT);
-	WINBOOL SetCurrentDirectoryA(LPCSTR);
-	DWORD GetCurrentDirectoryA(DWORD, LPSTR);
-	WINBOOL GetDiskFreeSpaceA(LPCSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
-	WINBOOL CreateDirectoryA(LPCSTR, LPSECURITY_ATTRIBUTES);
-	WINBOOL CreateDirectoryExA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
-	WINBOOL RemoveDirectoryA(LPCSTR);
-	DWORD GetFullPathNameA(LPCSTR, DWORD, LPSTR, LPSTR*);
-	WINBOOL DefineDosDeviceA(DWORD, LPCSTR, LPCSTR);
-	DWORD QueryDosDeviceA(LPCSTR, LPSTR, DWORD);
-	HANDLE CreateFileA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
-	WINBOOL SetFileAttributesA(LPCSTR, DWORD);
-	DWORD GetFileAttributesA(LPCSTR);
-	BOOL GetFileAttributesExA(LPCSTR, DWORD, WIN32_FILE_ATTRIBUTE_DATA*);
-	DWORD GetCompressedFileSizeA(LPCSTR, LPDWORD);
-	WINBOOL DeleteFileA(LPCSTR);
-	DWORD SearchPathA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPSTR);
-	WINBOOL CopyFileA(LPCSTR, LPCSTR, WINBOOL);
-	WINBOOL MoveFileA(LPCSTR, LPCSTR);
-	WINBOOL MoveFileExA(LPCSTR, LPCSTR, DWORD);
-	HANDLE CreateNamedPipeA(LPCSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
-	WINBOOL GetNamedPipeHandleStateA(HANDLE, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPSTR, DWORD);
-	WINBOOL CallNamedPipeA(LPCSTR, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, DWORD);
-	WINBOOL WaitNamedPipeA(LPCSTR, DWORD);
-	WINBOOL SetVolumeLabelA(LPCSTR, LPCSTR);
-	WINBOOL GetVolumeInformationA(LPCSTR, LPSTR, DWORD, LPDWORD, LPDWORD, LPDWORD, LPSTR, DWORD);
-	WINBOOL ClearEventLogA(HANDLE, LPCSTR);
-	WINBOOL BackupEventLogA(HANDLE, LPCSTR);
-	HANDLE OpenEventLogA(LPCSTR, LPCSTR);
-	HANDLE RegisterEventSourceA(LPCSTR, LPCSTR);
-	HANDLE OpenBackupEventLogA(LPCSTR, LPCSTR);
-	WINBOOL ReadEventLogA(HANDLE, DWORD, DWORD, LPVOID, DWORD, LPDWORD, LPDWORD);
-	WINBOOL ReportEventA(HANDLE, ushort, ushort, DWORD, PSID, ushort, DWORD, LPCSTR*, LPVOID);
-	WINBOOL AccessCheckAndAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, WINBOOL, LPDWORD, LPBOOL, LPBOOL);
-	WINBOOL ObjectOpenAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, WINBOOL, WINBOOL, LPBOOL);
-	WINBOOL ObjectPrivilegeAuditAlarmA(LPCSTR, LPVOID, HANDLE, DWORD, PPRIVILEGE_SET, WINBOOL);
-	WINBOOL ObjectCloseAuditAlarmA(LPCSTR, LPVOID, WINBOOL);
-	WINBOOL PrivilegedServiceAuditAlarmA(LPCSTR, LPCSTR, HANDLE, PPRIVILEGE_SET, WINBOOL);
-	WINBOOL SetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
-	WINBOOL GetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
-	HANDLE FindFirstChangeNotificationA(LPCSTR, WINBOOL, DWORD);
-	WINBOOL IsBadStringPtrA(LPCSTR, UINT);
-	WINBOOL LookupAccountSidA(LPCSTR, PSID, LPSTR, LPDWORD, LPSTR, LPDWORD, PSID_NAME_USE);
-	WINBOOL LookupAccountNameA(LPCSTR, LPCSTR, PSID, LPDWORD, LPSTR, LPDWORD, PSID_NAME_USE);
-	WINBOOL LookupPrivilegeValueA(LPCSTR, LPCSTR, PLUID);
-	WINBOOL LookupPrivilegeNameA(LPCSTR, PLUID, LPSTR, LPDWORD);
-	WINBOOL LookupPrivilegeDisplayNameA(LPCSTR, LPCSTR, LPSTR, LPDWORD, LPDWORD);
-	WINBOOL BuildCommDCBA(LPCSTR, LPDCB);
-	WINBOOL BuildCommDCBAndTimeoutsA(LPCSTR, LPDCB, LPCOMMTIMEOUTS);
-	WINBOOL CommConfigDialogA(LPCSTR, HWND, LPCOMMCONFIG);
-	WINBOOL GetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, LPDWORD);
-	WINBOOL SetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, DWORD);
-	WINBOOL GetComputerNameA(LPSTR, LPDWORD);
-	WINBOOL SetComputerNameA(LPCSTR);
-	WINBOOL GetUserNameA(LPSTR, LPDWORD);
-	int wvsprintfA(LPSTR, LPCSTR, VA_LIST*);
-	HKL LoadKeyboardLayoutA(LPCSTR, UINT);
-	WINBOOL GetKeyboardLayoutNameA(LPSTR);
-	HDESK CreateDesktopA(LPSTR, LPSTR, LPDEVMODE, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
-	HDESK OpenDesktopA(LPSTR, DWORD, WINBOOL, DWORD);
-	WINBOOL EnumDesktopsA(HWINSTA, DESKTOPENUMPROC, LPARAM);
-	HWINSTA CreateWindowStationA(LPSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
-	HWINSTA OpenWindowStationA(LPSTR, WINBOOL, DWORD);
-	WINBOOL EnumWindowStationsA(ENUMWINDOWSTATIONPROC, LPARAM);
-	WINBOOL GetUserObjectInformationA(HANDLE, int, PVOID, DWORD, LPDWORD);
-	WINBOOL SetUserObjectInformationA(HANDLE, int, PVOID, DWORD);
-	UINT RegisterWindowMessageA(LPCSTR);
-	WINBOOL GetMessageA(LPMSG, HWND, UINT, UINT);
-	LONG DispatchMessageA(LPMSG);
-	WINBOOL PeekMessageA(LPMSG, HWND, UINT, UINT, UINT);
-	LRESULT SendMessageA(HWND, UINT, WPARAM, LPARAM);
-	LRESULT SendMessageTimeoutA(HWND, UINT, WPARAM, LPARAM, UINT, UINT, LPDWORD);
-	WINBOOL SendNotifyMessageA(HWND, UINT, WPARAM, LPARAM);
-	WINBOOL SendMessageCallbackA(HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD);
-	WINBOOL PostMessageA(HWND, UINT, WPARAM, LPARAM);
-	WINBOOL PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM);
-	LRESULT DefWindowProcA(HWND, UINT, WPARAM, LPARAM);
-	LRESULT CallWindowProcA(WNDPROC, HWND, UINT, WPARAM, LPARAM);
-	ATOM RegisterClassA(LPWNDCLASS);
-	WINBOOL UnregisterClassA(LPCSTR, HINST);
-	WINBOOL GetClassInfoA(HINST, LPCSTR, LPWNDCLASS);
-	ATOM RegisterClassExA(LPWNDCLASSEX);
-	WINBOOL GetClassInfoExA(HINST, LPCSTR, LPWNDCLASSEX);
-	HWND CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINST, LPVOID);
-	HWND CreateDialogParamA(HINST, LPCSTR, HWND, DLGPROC, LPARAM);
-	HWND CreateDialogIndirectParamA(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
-	int DialogBoxParamA(HINST, LPCSTR, HWND, DLGPROC, LPARAM);
-	int DialogBoxIndirectParamA(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
-	WINBOOL SetDlgItemTextA(HWND, int, LPCSTR);
-	UINT GetDlgItemTextA(HWND, int, LPSTR, int);
-	LONG SendDlgItemMessageA(HWND, int, UINT, WPARAM, LPARAM);
-	LRESULT DefDlgProcA(HWND, UINT, WPARAM, LPARAM);
-	WINBOOL CallMsgFilterA(LPMSG, int);
-	UINT RegisterClipboardFormatA(LPCSTR);
-	int GetClipboardFormatNameA(UINT, LPSTR, int);
-	WINBOOL CharToOemA(LPCSTR, LPSTR);
-	WINBOOL OemToCharA(LPCSTR, LPSTR);
-	WINBOOL CharToOemBuffA(LPCSTR, LPSTR, DWORD);
-	WINBOOL OemToCharBuffA(LPCSTR, LPSTR, DWORD);
-	LPSTR CharUpperA(LPSTR);
-	DWORD CharUpperBuffA(LPSTR, DWORD);
-	LPSTR CharLowerA(LPSTR);
-	DWORD CharLowerBuffA(LPSTR, DWORD);
-	LPSTR CharNextA(LPCSTR);
-	LPSTR CharPrevA(LPCSTR, LPCSTR);
-	WINBOOL IsCharAlphaA(char);
-	WINBOOL IsCharAlphaNumericA(char);
-	WINBOOL IsCharUpperA(char);
-	WINBOOL IsCharLowerA(char);
-	int GetKeyNameTextA(LONG, LPSTR, int);
-	SHORT VkKeyScanA(char);
-	SHORT VkKeyScanExA(char, HKL);
-	UINT MapVirtualKeyA(UINT, UINT);
-	UINT MapVirtualKeyExA(UINT, UINT, HKL);
-	HACCEL LoadAcceleratorsA(HINST, LPCSTR);
-	HACCEL CreateAcceleratorTableA(LPACCEL, int);
-	int CopyAcceleratorTableA(HACCEL, LPACCEL, int);
-	int TranslateAcceleratorA(HWND, HACCEL, LPMSG);
-	HMENU LoadMenuA(HINST, LPCSTR);
-	HMENU LoadMenuIndirectA(LPMENUTEMPLATE);
-	WINBOOL ChangeMenuA(HMENU, UINT, LPCSTR, UINT, UINT);
-	int GetMenuStringA(HMENU, UINT, LPSTR, int, UINT);
-	WINBOOL InsertMenuA(HMENU, UINT, UINT, UINT, LPCSTR);
-	WINBOOL AppendMenuA(HMENU, UINT, UINT, LPCSTR);
-	WINBOOL ModifyMenuA(HMENU, UINT, UINT, UINT, LPCSTR);
-	WINBOOL InsertMenuItemA(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
-	WINBOOL GetMenuItemInfoA(HMENU, UINT, WINBOOL, LPMENUITEMINFO);
-	WINBOOL SetMenuItemInfoA(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
-	int DrawTextA(HDC, LPCSTR, int, LPRECT, UINT);
-	int DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
-	WINBOOL GrayStringA(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int);
-	WINBOOL DrawStateA(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
-	LONG TabbedTextOutA(HDC, int, int, LPCSTR, int, int, LPINT, int);
-	DWORD GetTabbedTextExtentA(HDC, LPCSTR, int, int, LPINT);
-	WINBOOL SetPropA(HWND, LPCSTR, HANDLE);
-	HANDLE GetPropA(HWND, LPCSTR);
-	HANDLE RemovePropA(HWND, LPCSTR);
-	int EnumPropsExA(HWND, PROPENUMPROCEX, LPARAM);
-	int EnumPropsA(HWND, PROPENUMPROC);
-	WINBOOL SetWindowTextA(HWND, LPCSTR);
-	int GetWindowTextA(HWND, LPSTR, int);
-	int GetWindowTextLengthA(HWND);
-	int MessageBoxA(HWND, LPCSTR, LPCSTR, UINT);
-	int MessageBoxExA(HWND, LPCSTR, LPCSTR, UINT, ushort);
-	int MessageBoxIndirectA(LPMSGBOXPARAMS);
-	LONG GetWindowLongA(HWND, int);
-	LONG SetWindowLongA(HWND, int, LONG);
-	DWORD GetClassLongA(HWND, int);
-	DWORD SetClassLongA(HWND, int, LONG);
-	HWND FindWindowA(LPCSTR, LPCSTR);
-	HWND FindWindowExA(HWND, HWND, LPCSTR, LPCSTR);
-	int GetClassNameA(HWND, LPSTR, int);
-	HHOOK SetWindowsHookExA(int, HOOKPROC, HINST, DWORD);
-	HBITMAP LoadBitmapA(HINST, LPCSTR);
-	HCURSOR LoadCursorA(HINST, LPCSTR);
-	HCURSOR LoadCursorFromFileA(LPCSTR);
-	HICON LoadIconA(HINST, LPCSTR);
-	HANDLE LoadImageA(HINST, LPCSTR, UINT, int, int, UINT);
-	int LoadStringA(HINST, UINT, LPSTR, int);
-	WINBOOL IsDialogMessageA(HWND, LPMSG);
-	int DlgDirListA(HWND, LPSTR, int, int, UINT);
-	WINBOOL DlgDirSelectExA(HWND, LPSTR, int, int);
-	int DlgDirListComboBoxA(HWND, LPSTR, int, int, UINT);
-	WINBOOL DlgDirSelectComboBoxExA(HWND, LPSTR, int, int);
-	LRESULT DefFrameProcA(HWND, HWND, UINT, WPARAM, LPARAM);
-	LRESULT DefMDIChildProcA(HWND, UINT, WPARAM, LPARAM);
-	HWND CreateMDIWindowA(LPSTR, LPSTR, DWORD, int, int, int, int, HWND, HINST, LPARAM);
-	WINBOOL WinHelpA(HWND, LPCSTR, UINT, DWORD);
-	LONG ChangeDisplaySettingsA(LPDEVMODE, DWORD);
-	WINBOOL EnumDisplaySettingsA(LPCSTR, DWORD, LPDEVMODE);
-	WINBOOL SystemParametersInfoA(UINT, UINT, PVOID, UINT);
-	int AddFontResourceA(LPCSTR);
-	HMETAFILE CopyMetaFileA(HMETAFILE, LPCSTR);
-	HFONT CreateFontIndirectA(LPLOGFONT);
-	HDC CreateICA(LPCSTR, LPCSTR, LPCSTR, LPDEVMODE);
-	HDC CreateMetaFileA(LPCSTR);
-	WINBOOL CreateScalableFontResourceA(DWORD, LPCSTR, LPCSTR, LPCSTR);
-	int EnumFontFamiliesExA(HDC, LPLOGFONT, FONTENUMEXPROC, LPARAM, DWORD);
-	int EnumFontFamiliesA(HDC, LPCSTR, FONTENUMPROC, LPARAM);
-	int EnumFontsA(HDC, LPCSTR, ENUMFONTSPROC, LPARAM);
-	WINBOOL GetCharWidthA(HDC, UINT, UINT, LPINT);
-	WINBOOL GetCharWidth32A(HDC, UINT, UINT, LPINT);
-	WINBOOL GetCharWidthFloatA(HDC, UINT, UINT, PFLOAT);
-	WINBOOL GetCharABCWidthsA(HDC, UINT, UINT, LPABC);
-	WINBOOL GetCharABCWidthsFloatA(HDC, UINT, UINT, LPABCFLOAT);
-	DWORD GetGlyphOutlineA(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, PMAT2);
-	HMETAFILE GetMetaFileA(LPCSTR);
-	UINT GetOutlineTextMetricsA(HDC, UINT, LPOUTLINETEXTMETRIC);
-	WINBOOL GetTextExtentPointA(HDC, LPCSTR, int, LPSIZE);
-	WINBOOL GetTextExtentPoint32A(HDC, LPCSTR, int, LPSIZE);
-	WINBOOL GetTextExtentExPointA(HDC, LPCSTR, int, int, LPINT, LPINT, LPSIZE);
-	DWORD GetCharacterPlacementA(HDC, LPCSTR, int, int, LPGCP_RESULTS, DWORD);
-	HDC ResetDCA(HDC, LPDEVMODE);
-	WINBOOL RemoveFontResourceA(LPCSTR);
-	HENHMETAFILE CopyEnhMetaFileA(HENHMETAFILE, LPCSTR);
-	HDC CreateEnhMetaFileA(HDC, LPCSTR, LPRECT, LPCSTR);
-	HENHMETAFILE GetEnhMetaFileA(LPCSTR);
-	UINT GetEnhMetaFileDescriptionA(HENHMETAFILE, UINT, LPSTR);
-	WINBOOL GetTextMetricsA(HDC, LPTEXTMETRIC);
-	int StartDocA(HDC, PDOCINFO);
-	int GetObjectA(HGDIOBJ, int, LPVOID);
-	WINBOOL TextOutA(HDC, int, int, LPCSTR, int);
-	WINBOOL ExtTextOutA(HDC, int, int, UINT, LPRECT, LPCSTR, UINT, LPINT);
-	WINBOOL PolyTextOutA(HDC, PPOLYTEXT, int);
-	int GetTextFaceA(HDC, int, LPSTR);
-	DWORD GetKerningPairsA(HDC, DWORD, LPKERNINGPAIR);
-	HCOLORSPACE CreateColorSpaceA(LPLOGCOLORSPACE);
-	WINBOOL GetLogColorSpaceA(HCOLORSPACE, LPLOGCOLORSPACE, DWORD);
-	WINBOOL GetICMProfileA(HDC, DWORD, LPSTR);
-	WINBOOL SetICMProfileA(HDC, LPSTR);
-	WINBOOL UpdateICMRegKeyA(DWORD, DWORD, LPSTR, UINT);
-	int EnumICMProfilesA(HDC, ICMENUMPROC, LPARAM);
-	int PropertySheetA(LPCPROPSHEETHEADER);
-	HIMAGELIST ImageList_LoadImageA(HINST, LPCSTR, int, int, COLORREF, UINT, UINT);
-	HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT);
-	void DrawStatusTextA(HDC, LPRECT, LPCSTR);
-	WINBOOL GetOpenFileNameA(LPOPENFILENAME);
-	WINBOOL GetSaveFileNameA(LPOPENFILENAME);
-	int GetFileTitleA(LPCSTR, LPSTR, ushort);
-	WINBOOL ChooseColorA(LPCHOOSECOLOR);
-	HWND FindTextA(LPFINDREPLACE);
-	HWND ReplaceTextA(LPFINDREPLACE);
-	WINBOOL ChooseFontA(LPCHOOSEFONT);
-	WINBOOL PrintDlgA(LPPRINTDLG);
-	WINBOOL PageSetupDlgA(LPPAGESETUPDLG);
-	WINBOOL CreateProcessA(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
-	void GetStartupInfoA(LPSTARTUPINFO);
-	HANDLE FindFirstFileA(LPCSTR, LPWIN32_FIND_DATA);
-	WINBOOL FindNextFileA(HANDLE, LPWIN32_FIND_DATA);
-	WINBOOL GetVersionExA(LPOSVERSIONINFO);
-	HDC CreateDCA(LPCSTR, LPCSTR, LPCSTR, PDEVMODE);
-	DWORD VerInstallFileA(DWORD, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, PUINT);
-	DWORD GetFileVersionInfoSizeA(LPSTR, LPDWORD);
-	WINBOOL GetFileVersionInfoA(LPSTR, DWORD, DWORD, LPVOID);
-	DWORD VerLanguageNameA(DWORD, LPSTR, DWORD);
-	WINBOOL VerQueryValueA(LPVOID, LPSTR, LPVOID, PUINT);
-	DWORD VerFindFileA(DWORD, LPSTR, LPSTR, LPSTR, LPSTR, PUINT, LPSTR, PUINT);
-	LONG RegConnectRegistryA(LPSTR, HKEY, PHKEY);
-	LONG RegCreateKeyA(HKEY, LPCSTR, PHKEY);
-	LONG RegCreateKeyExA(HKEY, LPCSTR, DWORD, LPSTR, DWORD, REGSAM, LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD);
-	LONG RegDeleteKeyA(HKEY, LPCSTR);
-	LONG RegDeleteValueA(HKEY, LPCSTR);
-	LONG RegEnumKeyA(HKEY, DWORD, LPSTR, DWORD);
-	LONG RegEnumKeyExA(HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPSTR, LPDWORD, PFILETIME);
-	LONG RegEnumValueA(HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
-	LONG RegLoadKeyA(HKEY, LPCSTR, LPCSTR);
-	LONG RegOpenKeyA(HKEY, LPCSTR, PHKEY);
-	LONG RegOpenKeyExA(HKEY, LPCSTR, DWORD, REGSAM, PHKEY);
-	LONG RegQueryInfoKeyA(HKEY, LPSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, PFILETIME);
-	LONG RegQueryValueA(HKEY, LPCSTR, LPSTR, PLONG);
-	LONG RegQueryMultipleValuesA(HKEY, PVALENT, DWORD, LPSTR, LPDWORD);
-	LONG RegQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
-	LONG RegReplaceKeyA(HKEY, LPCSTR, LPCSTR, LPCSTR);
-	LONG RegRestoreKeyA(HKEY, LPCSTR, DWORD);
-	LONG RegSaveKeyA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES);
-	LONG RegSetValueA(HKEY, LPCSTR, DWORD, LPCSTR, DWORD);
-	LONG RegSetValueExA(HKEY, LPCSTR, DWORD, DWORD, LPBYTE, DWORD);
-	LONG RegUnLoadKeyA(HKEY, LPCSTR);
-	WINBOOL InitiateSystemShutdownA(LPSTR, LPSTR, DWORD, WINBOOL, WINBOOL);
-	WINBOOL AbortSystemShutdownA(LPSTR);
-	int CompareStringA(LCID, DWORD, LPCSTR, int, LPCSTR, int);
-	int LCMapStringA(LCID, DWORD, LPCSTR, int, LPSTR, int);
-	int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int);
-	WINBOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR);
-	int GetTimeFormatA(LCID, DWORD, LPSYSTEMTIME, LPCSTR, LPSTR, int);
-	int GetDateFormatA(LCID, DWORD, LPSYSTEMTIME, LPCSTR, LPSTR, int);
-	int GetNumberFormatA(LCID, DWORD, LPCSTR, PNUMBERFMT, LPSTR, int);
-	int GetCurrencyFormatA(LCID, DWORD, LPCSTR, PCURRENCYFMT, LPSTR, int);
-	WINBOOL EnumCalendarInfoA(CALINFO_ENUMPROC, LCID, CALID, CALTYPE);
-	WINBOOL EnumTimeFormatsA(TIMEFMT_ENUMPROC, LCID, DWORD);
-	WINBOOL EnumDateFormatsA(DATEFMT_ENUMPROC, LCID, DWORD);
-	WINBOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD);
-	WINBOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD);
-	int FoldStringA(DWORD, LPCSTR, int, LPSTR, int);
-	WINBOOL EnumSystemLocalesA(LOCALE_ENUMPROC, DWORD);
-	WINBOOL EnumSystemCodePagesA(CODEPAGE_ENUMPROC, DWORD);
-	WINBOOL PeekConsoleInputA(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
-	WINBOOL ReadConsoleInputA(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
-	WINBOOL WriteConsoleInputA(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
-	WINBOOL ReadConsoleOutputA(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
-	WINBOOL WriteConsoleOutputA(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
-	WINBOOL ReadConsoleOutputCharacterA(HANDLE, LPSTR, DWORD, COORD, LPDWORD);
-	WINBOOL WriteConsoleOutputCharacterA(HANDLE, LPCSTR, DWORD, COORD, LPDWORD);
-	WINBOOL FillConsoleOutputCharacterA(HANDLE, char, DWORD, COORD, LPDWORD);
-	WINBOOL ScrollConsoleScreenBufferA(HANDLE, PSMALL_RECT, PSMALL_RECT, COORD, PCHAR_INFO);
-	DWORD GetConsoleTitleA(LPSTR, DWORD);
-	WINBOOL SetConsoleTitleA(LPCSTR);
-	WINBOOL ReadConsoleA(HANDLE, LPVOID, DWORD, LPDWORD, LPVOID);
-	WINBOOL WriteConsoleA(HANDLE, POINTER, DWORD, LPDWORD, LPVOID);
-	DWORD WNetAddConnectionA(LPCSTR, LPCSTR, LPCSTR);
-	DWORD WNetAddConnection2A(LPNETRESOURCE, LPCSTR, LPCSTR, DWORD);
-	DWORD WNetAddConnection3A(HWND, LPNETRESOURCE, LPCSTR, LPCSTR, DWORD);
-	DWORD WNetCancelConnectionA(LPCSTR, WINBOOL);
-	DWORD WNetCancelConnection2A(LPCSTR, DWORD, WINBOOL);
-	DWORD WNetGetConnectionA(LPCSTR, LPSTR, LPDWORD);
-	DWORD WNetUseConnectionA(HWND, LPNETRESOURCE, LPCSTR, LPCSTR, DWORD, LPSTR, LPDWORD, LPDWORD);
-	DWORD WNetSetConnectionA(LPCSTR, DWORD, LPVOID);
-	DWORD WNetConnectionDialog1A(LPCONNECTDLGSTRUCT);
-	DWORD WNetDisconnectDialog1A(LPDISCDLGSTRUCT);
-	DWORD WNetOpenEnumA(DWORD, DWORD, DWORD, LPNETRESOURCE, LPHANDLE);
-	DWORD WNetEnumResourceA(HANDLE, LPDWORD, LPVOID, LPDWORD);
-	DWORD WNetGetUniversalNameA(LPCSTR, DWORD, LPVOID, LPDWORD);
-	DWORD WNetGetUserA(LPCSTR, LPSTR, LPDWORD);
-	DWORD WNetGetProviderNameA(DWORD, LPSTR, LPDWORD);
-	DWORD WNetGetNetworkInformationA(LPCSTR, LPNETINFOSTRUCT);
-	DWORD WNetGetLastErrorA(LPDWORD, LPSTR, DWORD, LPSTR, DWORD);
-	DWORD MultinetGetConnectionPerformanceA(LPNETRESOURCE, LPNETCONNECTINFOSTRUCT);
-	WINBOOL ChangeServiceConfigA(SC_HANDLE, DWORD, DWORD, DWORD, LPCSTR, LPCSTR, LPDWORD, LPCSTR, LPCSTR, LPCSTR, LPCSTR);
-	SC_HANDLE CreateServiceA(SC_HANDLE, LPCSTR, LPCSTR, DWORD, DWORD, DWORD, DWORD, LPCSTR, LPCSTR, LPDWORD, LPCSTR, LPCSTR, LPCSTR);
-	WINBOOL EnumDependentServicesA(SC_HANDLE, DWORD, LPENUM_SERVICE_STATUS, DWORD, LPDWORD, LPDWORD);
-	WINBOOL EnumServicesStatusA(SC_HANDLE, DWORD, DWORD, LPENUM_SERVICE_STATUS, DWORD, LPDWORD, LPDWORD, LPDWORD);
-	WINBOOL GetServiceKeyNameA(SC_HANDLE, LPCSTR, LPSTR, LPDWORD);
-	WINBOOL GetServiceDisplayNameA(SC_HANDLE, LPCSTR, LPSTR, LPDWORD);
-	SC_HANDLE OpenSCManagerA(LPCSTR, LPCSTR, DWORD);
-	SC_HANDLE OpenServiceA(SC_HANDLE, LPCSTR, DWORD);
-	WINBOOL QueryServiceConfigA(SC_HANDLE, LPQUERY_SERVICE_CONFIG, DWORD, LPDWORD);
-	WINBOOL QueryServiceLockStatusA(SC_HANDLE, LPQUERY_SERVICE_LOCK_STATUS, DWORD, LPDWORD);
-	SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerA(LPCSTR, LPHANDLER_FUNCTION);
-	WINBOOL StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRY);
-	WINBOOL StartServiceA(SC_HANDLE, DWORD, LPCSTR);
-	uint DragQueryFileA(HDROP, uint, PCHAR, uint);
-	HICON ExtractAssociatedIconA(HINST, PCHAR, LPWORD);
-	HICON ExtractIconA(HINST, PCHAR, uint);
-	HINST FindExecutableA(PCHAR, PCHAR, PCHAR);
-	int ShellAboutA(HWND, PCHAR, PCHAR, HICON);
-	HINST ShellExecuteA(HWND, PCHAR, PCHAR, PCHAR, PCHAR, int);
-	HSZ DdeCreateStringHandleA(DWORD, PCHAR, int);
-	UINT DdeInitializeA(LPDWORD, PFNCALLBACK, DWORD, DWORD);
-	DWORD DdeQueryStringA(DWORD, HSZ, PCHAR, DWORD, int);
-	WINBOOL LogonUserA(LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE);
-	WINBOOL CreateProcessAsUserA(HANDLE, LPCTSTR, LPTSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCTSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
-	WINBOOL GetBinaryTypeW(LPCWSTR, LPDWORD);
-	DWORD GetShortPathNameW(LPCWSTR, LPWSTR, DWORD);
-	LPWSTR GetEnvironmentStringsW();
-	WINBOOL FreeEnvironmentStringsW(LPWSTR);
-	DWORD FormatMessageW(DWORD, LPCVOID, DWORD, DWORD, LPWSTR, DWORD, VA_LIST*);
-	HANDLE CreateMailslotW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
-	int lstrcmpW(LPCWSTR, LPCWSTR);
-	int lstrcmpiW(LPCWSTR, LPCWSTR);
-	LPWSTR lstrcpynW(LPWSTR, LPCWSTR, int);
-	LPWSTR lstrcpyW(LPWSTR, LPCWSTR);
-	LPWSTR lstrcatW(LPWSTR, LPCWSTR);
-	int lstrlenW(LPCWSTR);
-	HANDLE CreateMutexW(LPSECURITY_ATTRIBUTES, WINBOOL, LPCWSTR);
-	HANDLE OpenMutexW(DWORD, WINBOOL, LPCWSTR);
-	HANDLE CreateEventW(LPSECURITY_ATTRIBUTES, WINBOOL, WINBOOL, LPCWSTR);
-	HANDLE OpenEventW(DWORD, WINBOOL, LPCWSTR);
-	HANDLE CreateSemaphoreW(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCWSTR);
-	HANDLE OpenSemaphoreW(DWORD, WINBOOL, LPCWSTR);
-	HANDLE CreateFileMappingW(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR);
-	HANDLE OpenFileMappingW(DWORD, WINBOOL, LPCWSTR);
-	DWORD GetLogicalDriveStringsW(DWORD, LPWSTR);
-	HINST LoadLibraryW(LPCWSTR);
-	HINST LoadLibraryExW(LPCWSTR, HANDLE, DWORD);
-	DWORD GetModuleFileNameW(HINST, LPWSTR, DWORD);
-	HMODULE GetModuleHandleW(LPCWSTR);
-	void FatalAppExitW(UINT);
-	LPWSTR GetCommandLineW();
-	DWORD GetEnvironmentVariableW(LPCWSTR, LPWSTR, DWORD);
-	WINBOOL SetEnvironmentVariableW(LPCWSTR, LPCWSTR);
-	DWORD ExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD);
-	void OutputDebugStringW(LPCWSTR);
-	HRSRC FindResourceW(HINST, LPCWSTR, LPCWSTR);
-	HRSRC FindResourceExW(HINST, LPCWSTR, LPCWSTR, ushort);
-	WINBOOL EnumResourceTypesW(HINST, ENUMRESTYPEPROC, LONG);
-	WINBOOL EnumResourceNamesW(HINST, LPCWSTR, ENUMRESNAMEPROC, LONG);
-	WINBOOL EnumResourceLanguagesW(HINST, LPCWSTR, LPCWSTR, ENUMRESLANGPROC, LONG);
-	HANDLE BeginUpdateResourceW(LPCWSTR, WINBOOL);
-	WINBOOL UpdateResourceW(HANDLE, LPCWSTR, LPCWSTR, ushort, LPVOID, DWORD);
-	WINBOOL EndUpdateResourceW(HANDLE, WINBOOL);
-	ATOM GlobalAddAtomW(LPCWSTR);
-	ATOM GlobalFindAtomW(LPCWSTR);
-	UINT GlobalGetAtomNameW(ATOM, LPWSTR, int);
-	ATOM AddAtomW(LPCWSTR);
-	ATOM FindAtomW(LPCWSTR);
-	UINT GetAtomNameW(ATOM, LPWSTR, int);
-	UINT GetProfileIntW(LPCWSTR, LPCWSTR, INT);
-	DWORD GetProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD);
-	WINBOOL WriteProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR);
-	DWORD GetProfileSectionW(LPCWSTR, LPWSTR, DWORD);
-	WINBOOL WriteProfileSectionW(LPCWSTR, LPCWSTR);
-	UINT GetPrivateProfileIntW(LPCWSTR, LPCWSTR, INT, LPCWSTR);
-	DWORD GetPrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD, LPCWSTR);
-	WINBOOL WritePrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
-	DWORD GetPrivateProfileSectionW(LPCWSTR, LPWSTR, DWORD, LPCWSTR);
-	WINBOOL WritePrivateProfileSectionW(LPCWSTR, LPCWSTR, LPCWSTR);
-	UINT GetDriveTypeW(LPCWSTR);
-	UINT GetSystemDirectoryW(LPWSTR, UINT);
-	DWORD GetTempPathW(DWORD, LPWSTR);
-	UINT GetTempFileNameW(LPCWSTR, LPCWSTR, UINT, LPWSTR);
-	UINT GetWindowsDirectoryW(LPWSTR, UINT);
-	WINBOOL SetCurrentDirectoryW(LPCWSTR);
-	DWORD GetCurrentDirectoryW(DWORD, LPWSTR);
-	WINBOOL GetDiskFreeSpaceW(LPCWSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
-	WINBOOL CreateDirectoryW(LPCWSTR, LPSECURITY_ATTRIBUTES);
-	WINBOOL CreateDirectoryExW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
-	WINBOOL RemoveDirectoryW(LPCWSTR);
-	DWORD GetFullPathNameW(LPCWSTR, DWORD, LPWSTR, LPWSTR*);
-	WINBOOL DefineDosDeviceW(DWORD, LPCWSTR, LPCWSTR);
-	DWORD QueryDosDeviceW(LPCWSTR, LPWSTR, DWORD);
-	HANDLE CreateFileW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
-	WINBOOL SetFileAttributesW(LPCWSTR, DWORD);
-	DWORD GetFileAttributesW(LPCWSTR);
-	BOOL GetFileAttributesExW(LPCWSTR, DWORD, WIN32_FILE_ATTRIBUTE_DATA*);
-	DWORD GetCompressedFileSizeW(LPCWSTR, LPDWORD);
-	WINBOOL DeleteFileW(LPCWSTR);
-	DWORD SearchPathW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPWSTR);
-	WINBOOL CopyFileW(LPCWSTR, LPCWSTR, WINBOOL);
-	WINBOOL MoveFileW(LPCWSTR, LPCWSTR);
-	WINBOOL MoveFileExW(LPCWSTR, LPCWSTR, DWORD);
-	HANDLE CreateNamedPipeW(LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
-	WINBOOL GetNamedPipeHandleStateW(HANDLE, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPWSTR, DWORD);
-	WINBOOL CallNamedPipeW(LPCWSTR, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, DWORD);
-	WINBOOL WaitNamedPipeW(LPCWSTR, DWORD);
-	WINBOOL SetVolumeLabelW(LPCWSTR, LPCWSTR);
-	WINBOOL GetVolumeInformationW(LPCWSTR, LPWSTR, DWORD, LPDWORD, LPDWORD, LPDWORD, LPWSTR, DWORD);
-	WINBOOL ClearEventLogW(HANDLE, LPCWSTR);
-	WINBOOL BackupEventLogW(HANDLE, LPCWSTR);
-	HANDLE OpenEventLogW(LPCWSTR, LPCWSTR);
-	HANDLE RegisterEventSourceW(LPCWSTR, LPCWSTR);
-	HANDLE OpenBackupEventLogW(LPCWSTR, LPCWSTR);
-	WINBOOL ReadEventLogW(HANDLE, DWORD, DWORD, LPVOID, DWORD, LPDWORD, LPDWORD);
-	WINBOOL ReportEventW(HANDLE, ushort, ushort, DWORD, PSID, ushort, DWORD, LPCWSTR*, LPVOID);
-	WINBOOL AccessCheckAndAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, WINBOOL, LPDWORD, LPBOOL, LPBOOL);
-	WINBOOL ObjectOpenAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, WINBOOL, WINBOOL, LPBOOL);
-	WINBOOL ObjectPrivilegeAuditAlarmW(LPCWSTR, LPVOID, HANDLE, DWORD, PPRIVILEGE_SET, WINBOOL);
-	WINBOOL ObjectCloseAuditAlarmW(LPCWSTR, LPVOID, WINBOOL);
-	WINBOOL PrivilegedServiceAuditAlarmW(LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_SET, WINBOOL);
-	WINBOOL SetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
-	WINBOOL GetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
-	HANDLE FindFirstChangeNotificationW(LPCWSTR, WINBOOL, DWORD);
-	WINBOOL IsBadStringPtrW(LPCWSTR, UINT);
-	WINBOOL LookupAccountSidW(LPCWSTR, PSID, LPWSTR, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE);
-	WINBOOL LookupAccountNameW(LPCWSTR, LPCWSTR, PSID, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE);
-	WINBOOL LookupPrivilegeValueW(LPCWSTR, LPCWSTR, PLUID);
-	WINBOOL LookupPrivilegeNameW(LPCWSTR, PLUID, LPWSTR, LPDWORD);
-	WINBOOL LookupPrivilegeDisplayNameW(LPCWSTR, LPCWSTR, LPWSTR, LPDWORD, LPDWORD);
-	WINBOOL BuildCommDCBW(LPCWSTR, LPDCB);
-	WINBOOL BuildCommDCBAndTimeoutsW(LPCWSTR, LPDCB, LPCOMMTIMEOUTS);
-	WINBOOL CommConfigDialogW(LPCWSTR, HWND, LPCOMMCONFIG);
-	WINBOOL GetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, LPDWORD);
-	WINBOOL SetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, DWORD);
-	WINBOOL GetComputerNameW(LPWSTR, LPDWORD);
-	WINBOOL SetComputerNameW(LPCWSTR);
-	WINBOOL GetUserNameW(LPWSTR, LPDWORD);
-	int wvsprintfW(LPWSTR, LPCWSTR, VA_LIST*);
-	HKL LoadKeyboardLayoutW(LPCWSTR, UINT);
-	WINBOOL GetKeyboardLayoutNameW(LPWSTR);
-	HDESK CreateDesktopW(LPWSTR, LPWSTR, LPDEVMODE, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
-	HDESK OpenDesktopW(LPWSTR, DWORD, WINBOOL, DWORD);
-	WINBOOL EnumDesktopsW(HWINSTA, DESKTOPENUMPROC, LPARAM);
-	HWINSTA CreateWindowStationW(LPWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
-	HWINSTA OpenWindowStationW(LPWSTR, WINBOOL, DWORD);
-	WINBOOL EnumWindowStationsW(ENUMWINDOWSTATIONPROC, LPARAM);
-	WINBOOL GetUserObjectInformationW(HANDLE, int, PVOID, DWORD, LPDWORD);
-	WINBOOL SetUserObjectInformationW(HANDLE, int, PVOID, DWORD);
-	UINT RegisterWindowMessageW(LPCWSTR);
-	WINBOOL GetMessageW(LPMSG, HWND, UINT, UINT);
-	LONG DispatchMessageW(LPMSG);
-	WINBOOL PeekMessageW(LPMSG, HWND, UINT, UINT, UINT);
-	LRESULT SendMessageW(HWND, UINT, WPARAM, LPARAM);
-	LRESULT SendMessageTimeoutW(HWND, UINT, WPARAM, LPARAM, UINT, UINT, LPDWORD);
-	WINBOOL SendNotifyMessageW(HWND, UINT, WPARAM, LPARAM);
-	WINBOOL SendMessageCallbackW(HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD);
-	WINBOOL PostMessageW(HWND, UINT, WPARAM, LPARAM);
-	WINBOOL PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM);
-	LRESULT DefWindowProcW(HWND, UINT, WPARAM, LPARAM);
-	LRESULT CallWindowProcW(WNDPROC, HWND, UINT, WPARAM, LPARAM);
-	ATOM RegisterClassW(LPWNDCLASS);
-	WINBOOL UnregisterClassW(LPCWSTR, HINST);
-	WINBOOL GetClassInfoW(HINST, LPCWSTR, LPWNDCLASS);
-	ATOM RegisterClassExW(LPWNDCLASSEX);
-	WINBOOL GetClassInfoExW(HINST, LPCWSTR, LPWNDCLASSEX);
-	HWND CreateWindowExW(DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HMENU, HINST, LPVOID);
-	HWND CreateDialogParamW(HINST, LPCWSTR, HWND, DLGPROC, LPARAM);
-	HWND CreateDialogIndirectParamW(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
-	int DialogBoxParamW(HINST, LPCWSTR, HWND, DLGPROC, LPARAM);
-	int DialogBoxIndirectParamW(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
-	WINBOOL SetDlgItemTextW(HWND, int, LPCWSTR);
-	UINT GetDlgItemTextW(HWND, int, LPWSTR, int);
-	LONG SendDlgItemMessageW(HWND, int, UINT, WPARAM, LPARAM);
-	LRESULT DefDlgProcW(HWND, UINT, WPARAM, LPARAM);
-	WINBOOL CallMsgFilterW(LPMSG, int);
-	UINT RegisterClipboardFormatW(LPCWSTR);
-	int GetClipboardFormatNameW(UINT, LPWSTR, int);
-	WINBOOL CharToOemW(LPCWSTR, LPSTR);
-	WINBOOL OemToCharW(LPCSTR, LPWSTR);
-	WINBOOL CharToOemBuffW(LPCWSTR, LPSTR, DWORD);
-	WINBOOL OemToCharBuffW(LPCSTR, LPWSTR, DWORD);
-	LPWSTR CharUpperW(LPWSTR);
-	DWORD CharUpperBuffW(LPWSTR, DWORD);
-	LPWSTR CharLowerW(LPWSTR);
-	DWORD CharLowerBuffW(LPWSTR, DWORD);
-	LPWSTR CharNextW(LPCWSTR);
-	LPWSTR CharPrevW(LPCWSTR, LPCWSTR);
-	WINBOOL IsCharAlphaW(WCHAR);
-	WINBOOL IsCharAlphaNumericW(WCHAR);
-	WINBOOL IsCharUpperW(WCHAR);
-	WINBOOL IsCharLowerW(WCHAR);
-	int GetKeyNameTextW(LONG, LPWSTR, int);
-	SHORT VkKeyScanW(WCHAR);
-	SHORT VkKeyScanExW(WCHAR, HKL);
-	UINT MapVirtualKeyW(UINT, UINT);
-	UINT MapVirtualKeyExW(UINT, UINT, HKL);
-	HACCEL LoadAcceleratorsW(HINST, LPCWSTR);
-	HACCEL CreateAcceleratorTableW(LPACCEL, int);
-	int CopyAcceleratorTableW(HACCEL, LPACCEL, int);
-	int TranslateAcceleratorW(HWND, HACCEL, LPMSG);
-	HMENU LoadMenuW(HINST, LPCWSTR);
-	HMENU LoadMenuIndirectW(LPMENUTEMPLATE);
-	WINBOOL ChangeMenuW(HMENU, UINT, LPCWSTR, UINT, UINT);
-	int GetMenuStringW(HMENU, UINT, LPWSTR, int, UINT);
-	WINBOOL InsertMenuW(HMENU, UINT, UINT, UINT, LPCWSTR);
-	WINBOOL AppendMenuW(HMENU, UINT, UINT, LPCWSTR);
-	WINBOOL ModifyMenuW(HMENU, UINT, UINT, UINT, LPCWSTR);
-	WINBOOL InsertMenuItemW(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
-	WINBOOL GetMenuItemInfoW(HMENU, UINT, WINBOOL, LPMENUITEMINFO);
-	WINBOOL SetMenuItemInfoW(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
-	int DrawTextW(HDC, LPCWSTR, int, LPRECT, UINT);
-	int DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
-	WINBOOL GrayStringW(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int);
-	WINBOOL DrawStateW(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
-	LONG TabbedTextOutW(HDC, int, int, LPCWSTR, int, int, LPINT, int);
-	DWORD GetTabbedTextExtentW(HDC, LPCWSTR, int, int, LPINT);
-	WINBOOL SetPropW(HWND, LPCWSTR, HANDLE);
-	HANDLE GetPropW(HWND, LPCWSTR);
-	HANDLE RemovePropW(HWND, LPCWSTR);
-	int EnumPropsExW(HWND, PROPENUMPROCEX, LPARAM);
-	int EnumPropsW(HWND, PROPENUMPROC);
-	WINBOOL SetWindowTextW(HWND, LPCWSTR);
-	int GetWindowTextW(HWND, LPWSTR, int);
-	int GetWindowTextLengthW(HWND);
-	int MessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT);
-	int MessageBoxExW(HWND, LPCWSTR, LPCWSTR, UINT, ushort);
-	int MessageBoxIndirectW(LPMSGBOXPARAMS);
-	LONG GetWindowLongW(HWND, int);
-	LONG SetWindowLongW(HWND, int, LONG);
-	DWORD GetClassLongW(HWND, int);
-	DWORD SetClassLongW(HWND, int, LONG);
-	HWND FindWindowW(LPCWSTR, LPCWSTR);
-	HWND FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR);
-	int GetClassNameW(HWND, LPWSTR, int);
-	HHOOK SetWindowsHookExW(int, HOOKPROC, HINST, DWORD);
-	HBITMAP LoadBitmapW(HINST, LPCWSTR);
-	HCURSOR LoadCursorW(HINST, LPCWSTR);
-	HCURSOR LoadCursorFromFileW(LPCWSTR);
-	HICON LoadIconW(HINST, LPCWSTR);
-	HANDLE LoadImageW(HINST, LPCWSTR, UINT, int, int, UINT);
-	int LoadStringW(HINST, UINT, LPWSTR, int);
-	WINBOOL IsDialogMessageW(HWND, LPMSG);
-	int DlgDirListW(HWND, LPWSTR, int, int, UINT);
-	WINBOOL DlgDirSelectExW(HWND, LPWSTR, int, int);
-	int DlgDirListComboBoxW(HWND, LPWSTR, int, int, UINT);
-	WINBOOL DlgDirSelectComboBoxExW(HWND, LPWSTR, int, int);
-	LRESULT DefFrameProcW(HWND, HWND, UINT, WPARAM, LPARAM);
-	LRESULT DefMDIChildProcW(HWND, UINT, WPARAM, LPARAM);
-	HWND CreateMDIWindowW(LPWSTR, LPWSTR, DWORD, int, int, int, int, HWND, HINST, LPARAM);
-	WINBOOL WinHelpW(HWND, LPCWSTR, UINT, DWORD);
-	LONG ChangeDisplaySettingsW(LPDEVMODE, DWORD);
-	WINBOOL EnumDisplaySettingsW(LPCWSTR, DWORD, LPDEVMODE);
-	WINBOOL SystemParametersInfoW(UINT, UINT, PVOID, UINT);
-	int AddFontResourceW(LPCWSTR);
-	HMETAFILE CopyMetaFileW(HMETAFILE, LPCWSTR);
-	HFONT CreateFontIndirectW(PLOGFONT);
-	HFONT CreateFontW(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPCWSTR);
-	HDC CreateICW(LPCWSTR, LPCWSTR, LPCWSTR, LPDEVMODE);
-	HDC CreateMetaFileW(LPCWSTR);
-	WINBOOL CreateScalableFontResourceW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR);
-	int EnumFontFamiliesExW(HDC, LPLOGFONT, FONTENUMEXPROC, LPARAM, DWORD);
-	int EnumFontFamiliesW(HDC, LPCWSTR, FONTENUMPROC, LPARAM);
-	int EnumFontsW(HDC, LPCWSTR, ENUMFONTSPROC, LPARAM);
-	WINBOOL GetCharWidthW(HDC, UINT, UINT, LPINT);
-	WINBOOL GetCharWidth32W(HDC, UINT, UINT, LPINT);
-	WINBOOL GetCharWidthFloatW(HDC, UINT, UINT, PFLOAT);
-	WINBOOL GetCharABCWidthsW(HDC, UINT, UINT, LPABC);
-	WINBOOL GetCharABCWidthsFloatW(HDC, UINT, UINT, LPABCFLOAT);
-	DWORD GetGlyphOutlineW(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, PMAT2);
-	HMETAFILE GetMetaFileW(LPCWSTR);
-	UINT GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRIC);
-	WINBOOL GetTextExtentPointW(HDC, LPCWSTR, int, LPSIZE);
-	WINBOOL GetTextExtentPoint32W(HDC, LPCWSTR, int, LPSIZE);
-	WINBOOL GetTextExtentExPointW(HDC, LPCWSTR, int, int, LPINT, LPINT, LPSIZE);
-	DWORD GetCharacterPlacementW(HDC, LPCWSTR, int, int, LPGCP_RESULTS, DWORD);
-	HDC ResetDCW(HDC, LPDEVMODE);
-	WINBOOL RemoveFontResourceW(LPCWSTR);
-	HENHMETAFILE CopyEnhMetaFileW(HENHMETAFILE, LPCWSTR);
-	HDC CreateEnhMetaFileW(HDC, LPCWSTR, LPRECT, LPCWSTR);
-	HENHMETAFILE GetEnhMetaFileW(LPCWSTR);
-	UINT GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR);
-	WINBOOL GetTextMetricsW(HDC, LPTEXTMETRIC);
-	int StartDocW(HDC, PDOCINFO);
-	int GetObjectW(HGDIOBJ, int, LPVOID);
-	WINBOOL TextOutW(HDC, int, int, LPCWSTR, int);
-	WINBOOL ExtTextOutW(HDC, int, int, UINT, LPRECT, LPCWSTR, UINT, LPINT);
-	WINBOOL PolyTextOutW(HDC, PPOLYTEXT, int);
-	int GetTextFaceW(HDC, int, LPWSTR);
-	DWORD GetKerningPairsW(HDC, DWORD, LPKERNINGPAIR);
-	WINBOOL GetLogColorSpaceW(HCOLORSPACE, LPLOGCOLORSPACE, DWORD);
-	HCOLORSPACE CreateColorSpaceW(LPLOGCOLORSPACE);
-	WINBOOL GetICMProfileW(HDC, DWORD, LPWSTR);
-	WINBOOL SetICMProfileW(HDC, LPWSTR);
-	WINBOOL UpdateICMRegKeyW(DWORD, DWORD, LPWSTR, UINT);
-	int EnumICMProfilesW(HDC, ICMENUMPROC, LPARAM);
-	HPROPSHEETPAGE CreatePropertySheetPageW(LPCPROPSHEETPAGE);
-	int PropertySheetW(LPCPROPSHEETHEADER);
-	HIMAGELIST ImageList_LoadImageW(HINST, LPCWSTR, int, int, COLORREF, UINT, UINT);
-	HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT);
-	void DrawStatusTextW(HDC, LPRECT, LPCWSTR);
-	WINBOOL GetOpenFileNameW(LPOPENFILENAME);
-	WINBOOL GetSaveFileNameW(LPOPENFILENAME);
-	int GetFileTitleW(LPCWSTR, LPWSTR, ushort);
-	WINBOOL ChooseColorW(LPCHOOSECOLOR);
-	HWND ReplaceTextW(LPFINDREPLACE);
-	WINBOOL ChooseFontW(LPCHOOSEFONT);
-	HWND FindTextW(LPFINDREPLACE);
-	WINBOOL PrintDlgW(LPPRINTDLG);
-	WINBOOL PageSetupDlgW(LPPAGESETUPDLG);
-	WINBOOL CreateProcessW(LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
-	void GetStartupInfoW(LPSTARTUPINFO);
-	HANDLE FindFirstFileW(LPCWSTR, LPWIN32_FIND_DATAW);
-	WINBOOL FindNextFileW(HANDLE, LPWIN32_FIND_DATAW);
-	WINBOOL GetVersionExW(LPOSVERSIONINFO);
-	HDC CreateDCW(LPCWSTR, LPCWSTR, LPCWSTR, PDEVMODE);
-	HFONT CreateFontA(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPCSTR);
-	DWORD VerInstallFileW(DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT);
-	DWORD GetFileVersionInfoSizeW(LPWSTR, LPDWORD);
-	WINBOOL GetFileVersionInfoW(LPWSTR, DWORD, DWORD, LPVOID);
-	DWORD VerLanguageNameW(DWORD, LPWSTR, DWORD);
-	WINBOOL VerQueryValueW(LPVOID, LPWSTR, LPVOID, PUINT);
-	DWORD VerFindFileW(DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT, LPWSTR, PUINT);
-	LONG RegSetValueExW(HKEY, LPCWSTR, DWORD, DWORD, LPBYTE, DWORD);
-	LONG RegUnLoadKeyW(HKEY, LPCWSTR);
-	WINBOOL InitiateSystemShutdownW(LPWSTR, LPWSTR, DWORD, WINBOOL, WINBOOL);
-	WINBOOL AbortSystemShutdownW(LPWSTR);
-	LONG RegRestoreKeyW(HKEY, LPCWSTR, DWORD);
-	LONG RegSaveKeyW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES);
-	LONG RegSetValueW(HKEY, LPCWSTR, DWORD, LPCWSTR, DWORD);
-	LONG RegQueryValueW(HKEY, LPCWSTR, LPWSTR, PLONG);
-	LONG RegQueryMultipleValuesW(HKEY, PVALENT, DWORD, LPWSTR, LPDWORD);
-	LONG RegQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
-	LONG RegReplaceKeyW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR);
-	LONG RegConnectRegistryW(LPWSTR, HKEY, PHKEY);
-	LONG RegCreateKeyW(HKEY, LPCWSTR, PHKEY);
-	LONG RegCreateKeyExW(HKEY, LPCWSTR, DWORD, LPWSTR, DWORD, REGSAM, LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD);
-	LONG RegDeleteKeyW(HKEY, LPCWSTR);
-	LONG RegDeleteValueW(HKEY, LPCWSTR);
-	LONG RegEnumKeyW(HKEY, DWORD, LPWSTR, DWORD);
-	LONG RegEnumKeyExW(HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPWSTR, LPDWORD, PFILETIME);
-	LONG RegEnumValueW(HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
-	LONG RegLoadKeyW(HKEY, LPCWSTR, LPCWSTR);
-	LONG RegOpenKeyW(HKEY, LPCWSTR, PHKEY);
-	LONG RegOpenKeyExW(HKEY, LPCWSTR, DWORD, REGSAM, PHKEY);
-	LONG RegQueryInfoKeyW(HKEY, LPWSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, PFILETIME);
-	int CompareStringW(LCID, DWORD, LPCWSTR, int, LPCWSTR, int);
-	int LCMapStringW(LCID, DWORD, LPCWSTR, int, LPWSTR, int);
-	int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int);
-	WINBOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR);
-	int GetTimeFormatW(LCID, DWORD, LPSYSTEMTIME, LPCWSTR, LPWSTR, int);
-	int GetDateFormatW(LCID, DWORD, LPSYSTEMTIME, LPCWSTR, LPWSTR, int);
-	int GetNumberFormatW(LCID, DWORD, LPCWSTR, PNUMBERFMT, LPWSTR, int);
-	int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, PCURRENCYFMT, LPWSTR, int);
-	WINBOOL EnumCalendarInfoW(CALINFO_ENUMPROC, LCID, CALID, CALTYPE);
-	WINBOOL EnumTimeFormatsW(TIMEFMT_ENUMPROC, LCID, DWORD);
-	WINBOOL EnumDateFormatsW(DATEFMT_ENUMPROC, LCID, DWORD);
-	WINBOOL GetStringTypeExW(LCID, DWORD, LPCWSTR, int, LPWORD);
-	WINBOOL GetStringTypeW(DWORD, LPCWSTR, int, LPWORD);
-	int FoldStringW(DWORD, LPCWSTR, int, LPWSTR, int);
-	WINBOOL EnumSystemLocalesW(LOCALE_ENUMPROC, DWORD);
-	WINBOOL EnumSystemCodePagesW(CODEPAGE_ENUMPROC, DWORD);
-	WINBOOL PeekConsoleInputW(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
-	WINBOOL ReadConsoleInputW(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
-	WINBOOL WriteConsoleInputW(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
-	WINBOOL ReadConsoleOutputW(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
-	WINBOOL WriteConsoleOutputW(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
-	WINBOOL ReadConsoleOutputCharacterW(HANDLE, LPWSTR, DWORD, COORD, LPDWORD);
-	WINBOOL WriteConsoleOutputCharacterW(HANDLE, LPCWSTR, DWORD, COORD, LPDWORD);
-	WINBOOL FillConsoleOutputCharacterW(HANDLE, WCHAR, DWORD, COORD, LPDWORD);
-	WINBOOL ScrollConsoleScreenBufferW(HANDLE, PSMALL_RECT, PSMALL_RECT, COORD, PCHAR_INFO);
-	DWORD GetConsoleTitleW(LPWSTR, DWORD);
-	WINBOOL SetConsoleTitleW(LPCWSTR);
-	WINBOOL ReadConsoleW(HANDLE, LPVOID, DWORD, LPDWORD, LPVOID);
-	WINBOOL WriteConsoleW(HANDLE, POINTER, DWORD, LPDWORD, LPVOID);
-	DWORD WNetAddConnectionW(LPCWSTR, LPCWSTR, LPCWSTR);
-	DWORD WNetAddConnection2W(LPNETRESOURCE, LPCWSTR, LPCWSTR, DWORD);
-	DWORD WNetAddConnection3W(HWND, LPNETRESOURCE, LPCWSTR, LPCWSTR, DWORD);
-	DWORD WNetCancelConnectionW(LPCWSTR, WINBOOL);
-	DWORD WNetCancelConnection2W(LPCWSTR, DWORD, WINBOOL);
-	DWORD WNetGetConnectionW(LPCWSTR, LPWSTR, LPDWORD);
-	DWORD WNetUseConnectionW(HWND, LPNETRESOURCE, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPDWORD, LPDWORD);
-	DWORD WNetSetConnectionW(LPCWSTR, DWORD, LPVOID);
-	DWORD WNetConnectionDialog1W(LPCONNECTDLGSTRUCT);
-	DWORD WNetDisconnectDialog1W(LPDISCDLGSTRUCT);
-	DWORD WNetOpenEnumW(DWORD, DWORD, DWORD, LPNETRESOURCE, LPHANDLE);
-	DWORD WNetEnumResourceW(HANDLE, LPDWORD, LPVOID, LPDWORD);
-	DWORD WNetGetUniversalNameW(LPCWSTR, DWORD, LPVOID, LPDWORD);
-	DWORD WNetGetUserW(LPCWSTR, LPWSTR, LPDWORD);
-	DWORD WNetGetProviderNameW(DWORD, LPWSTR, LPDWORD);
-	DWORD WNetGetNetworkInformationW(LPCWSTR, LPNETINFOSTRUCT);
-	DWORD WNetGetLastErrorW(LPDWORD, LPWSTR, DWORD, LPWSTR, DWORD);
-	DWORD MultinetGetConnectionPerformanceW(LPNETRESOURCE, LPNETCONNECTINFOSTRUCT);
-	WINBOOL ChangeServiceConfigW(SC_HANDLE, DWORD, DWORD, DWORD, LPCWSTR, LPCWSTR, LPDWORD, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
-	SC_HANDLE CreateServiceW(SC_HANDLE, LPCWSTR, LPCWSTR, DWORD, DWORD, DWORD, DWORD, LPCWSTR, LPCWSTR, LPDWORD, LPCWSTR, LPCWSTR, LPCWSTR);
-	WINBOOL EnumDependentServicesW(SC_HANDLE, DWORD, LPENUM_SERVICE_STATUS, DWORD, LPDWORD, LPDWORD);
-	WINBOOL EnumServicesStatusW(SC_HANDLE, DWORD, DWORD, LPENUM_SERVICE_STATUS, DWORD, LPDWORD, LPDWORD, LPDWORD);
-	WINBOOL GetServiceKeyNameW(SC_HANDLE, LPCWSTR, LPWSTR, LPDWORD);
-	WINBOOL GetServiceDisplayNameW(SC_HANDLE, LPCWSTR, LPWSTR, LPDWORD);
-	SC_HANDLE OpenSCManagerW(LPCWSTR, LPCWSTR, DWORD);
-	SC_HANDLE OpenServiceW(SC_HANDLE, LPCWSTR, DWORD);
-	WINBOOL QueryServiceConfigW(SC_HANDLE, LPQUERY_SERVICE_CONFIG, DWORD, LPDWORD);
-	WINBOOL QueryServiceLockStatusW(SC_HANDLE, LPQUERY_SERVICE_LOCK_STATUS, DWORD, LPDWORD);
-	SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerW(LPCWSTR, LPHANDLER_FUNCTION);
-	WINBOOL StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRY);
-	WINBOOL StartServiceW(SC_HANDLE, DWORD, LPCWSTR);
-	uint DragQueryFileW(HDROP, uint, LPCWSTR, uint);
-	HICON ExtractAssociatedIconW(HINST, LPCWSTR, LPWORD);
-	HICON ExtractIconW(HINST, LPCWSTR, uint);
-	HINST FindExecutableW(LPCWSTR, LPCWSTR, LPCWSTR);
-	int ShellAboutW(HWND, LPCWSTR, LPCWSTR, HICON);
-	HINST ShellExecuteW(HWND, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, int);
-	HSZ DdeCreateStringHandleW(DWORD, LPCWSTR, int);
-	UINT DdeInitializeW(LPDWORD, PFNCALLBACK, DWORD, DWORD);
-	DWORD DdeQueryStringW(DWORD, HSZ, LPCWSTR, DWORD, int);
-	WINBOOL LogonUserW(LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE);
-	WINBOOL CreateProcessAsUserW(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
-	WINBOOL AccessCheck(PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_MAPPING, PPRIVILEGE_SET, LPDWORD, LPDWORD, LPBOOL);
-	LONG InterlockedIncrement(LPLONG);
-	LONG InterlockedDecrement(LPLONG);
-	LONG InterlockedExchange(LPLONG, LONG);
-	WINBOOL FreeResource(HGLOBAL);
-	LPVOID LockResource(HGLOBAL);
-	WINBOOL FreeLibrary(HINST);
-	void FreeLibraryAndExitThread(HMODULE, DWORD);
-	WINBOOL DisableThreadLibraryCalls(HMODULE);
-	FARPROC GetProcAddress(HINST, LPCSTR);
-	DWORD GetVersion();
-	HGLOBAL GlobalAlloc(UINT, DWORD);
-	HGLOBAL GlobalReAlloc(HGLOBAL, DWORD, UINT);
-	DWORD GlobalSize(HGLOBAL);
-	UINT GlobalFlags(HGLOBAL);
-	LPVOID GlobalLock(HGLOBAL);
-	HGLOBAL GlobalHandle(LPCVOID);
-	WINBOOL GlobalUnlock(HGLOBAL);
-	HGLOBAL GlobalFree(HGLOBAL);
-	UINT GlobalCompact(DWORD);
-	void GlobalFix(HGLOBAL);
-	void GlobalUnfix(HGLOBAL);
-	LPVOID GlobalWire(HGLOBAL);
-	WINBOOL GlobalUnWire(HGLOBAL);
-	void GlobalMemoryStatus(LPMEMORYSTATUS);
-	HLOCAL LocalAlloc(UINT, UINT);
-	HLOCAL LocalReAlloc(HLOCAL, UINT, UINT);
-	LPVOID LocalLock(HLOCAL);
-	HLOCAL LocalHandle(LPCVOID);
-	WINBOOL LocalUnlock(HLOCAL);
-	UINT LocalSize(HLOCAL);
-	UINT LocalFlags(HLOCAL);
-	HLOCAL LocalFree(HLOCAL);
-	UINT LocalShrink(HLOCAL, UINT);
-	UINT LocalCompact(UINT);
-	WINBOOL FlushInstructionCache(HANDLE, LPCVOID, DWORD);
-	LPVOID VirtualAlloc(LPVOID, DWORD, DWORD, DWORD);
-	WINBOOL VirtualFree(LPVOID, DWORD, DWORD);
-	WINBOOL VirtualProtect(LPVOID, DWORD, DWORD, PDWORD);
-	DWORD VirtualQuery(LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
-	WINBOOL VirtualProtectEx(HANDLE, LPVOID, DWORD, DWORD, PDWORD);
-	DWORD VirtualQueryEx(HANDLE, LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
-	HANDLE HeapCreate(DWORD, DWORD, DWORD);
-	WINBOOL HeapDestroy(HANDLE);
-	LPVOID HeapAlloc(HANDLE, DWORD, DWORD);
-	LPVOID HeapReAlloc(HANDLE, DWORD, LPVOID, DWORD);
-	WINBOOL HeapFree(HANDLE, DWORD, LPVOID);
-	DWORD HeapSize(HANDLE, DWORD, LPCVOID);
-	WINBOOL HeapValidate(HANDLE, DWORD, LPCVOID);
-	UINT HeapCompact(HANDLE, DWORD);
-	HANDLE GetProcessHeap();
-	DWORD GetProcessHeaps(DWORD, PHANDLE);
-	WINBOOL HeapLock(HANDLE);
-	WINBOOL HeapUnlock(HANDLE);
-	WINBOOL HeapWalk(HANDLE, LPPROCESS_HEAP_ENTRY);
-	WINBOOL GetProcessAffinityMask(HANDLE, LPDWORD, LPDWORD);
-	WINBOOL GetProcessTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
-	WINBOOL GetProcessWorkingSetSize(HANDLE, LPDWORD, LPDWORD);
-	WINBOOL SetProcessWorkingSetSize(HANDLE, DWORD, DWORD);
-	HANDLE OpenProcess(DWORD, WINBOOL, DWORD);
-	HANDLE GetCurrentProcess();
-	DWORD GetCurrentProcessId();
-	void ExitProcess(UINT);
-	WINBOOL TerminateProcess(HANDLE, UINT);
-	WINBOOL GetExitCodeProcess(HANDLE, LPDWORD);
-	void FatalExit(int);
-	void RaiseException(DWORD, DWORD, DWORD);
-	LONG UnhandledExceptionFilter(EMPTYRECORD*);
-	HANDLE CreateRemoteThread(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD);
-	HANDLE GetCurrentThread();
-	DWORD GetCurrentThreadId();
-	DWORD SetThreadAffinityMask(HANDLE, DWORD);
-	WINBOOL SetThreadPriority(HANDLE, int);
-	int GetThreadPriority(HANDLE);
-	WINBOOL GetThreadTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
-	void ExitThread(DWORD);
-	WINBOOL TerminateThread(HANDLE, DWORD);
-	WINBOOL GetExitCodeThread(HANDLE, LPDWORD);
-	WINBOOL GetThreadSelectorEntry(HANDLE, DWORD, LPLDT_ENTRY);
-	DWORD GetLastError();
-	void SetLastError(DWORD);
-	HANDLE CreateIoCompletionPort(HANDLE, HANDLE, DWORD, DWORD);
-	UINT SetErrorMode(UINT);
-	WINBOOL ReadProcessMemory(HANDLE, LPCVOID, LPVOID, DWORD, LPDWORD);
-	WINBOOL WriteProcessMemory(HANDLE, LPVOID, LPVOID, DWORD, LPDWORD);
-	WINBOOL GetThreadContext(HANDLE, LPCONTEXT);
-	DWORD SuspendThread(HANDLE);
-	DWORD ResumeThread(HANDLE);
-	void DebugBreak();
-	WINBOOL WaitForDebugEvent(LPDEBUG_EVENT, DWORD);
-	WINBOOL ContinueDebugEvent(DWORD, DWORD, DWORD);
-	WINBOOL DebugActiveProcess(DWORD);
-	void InitializeCriticalSection(LPCRITICAL_SECTION);
-	void EnterCriticalSection(LPCRITICAL_SECTION);
-	WINBOOL TryEnterCriticalSection(LPCRITICAL_SECTION);
-	void LeaveCriticalSection(LPCRITICAL_SECTION);
-	void DeleteCriticalSection(LPCRITICAL_SECTION);
-	WINBOOL SetEvent(HANDLE);
-	WINBOOL ResetEvent(HANDLE);
-	WINBOOL PulseEvent(HANDLE);
-	WINBOOL ReleaseSemaphore(HANDLE, LONG, LPLONG);
-	WINBOOL ReleaseMutex(HANDLE);
-	DWORD WaitForSingleObject(HANDLE, DWORD);
-	DWORD WaitForMultipleObjects(DWORD, HANDLE*, WINBOOL, DWORD);
-	void Sleep(DWORD);
-	HGLOBAL LoadResource(HINST, HRSRC);
-	DWORD SizeofResource(HINST, HRSRC);
-	ATOM GlobalDeleteAtom(ATOM);
-	WINBOOL InitAtomTable(DWORD);
-	ATOM DeleteAtom(ATOM);
-	UINT SetHandleCount(UINT);
-	DWORD GetLogicalDrives();
-	WINBOOL LockFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
-	WINBOOL UnlockFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
-	WINBOOL LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
-	WINBOOL UnlockFileEx(HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED);
-	WINBOOL GetFileInformationByHandle(HANDLE, LPBY_HANDLE_FILE_INFORMATION);
-	DWORD GetFileType(HANDLE);
-	DWORD GetFileSize(HANDLE, LPDWORD);
-	HANDLE GetStdHandle(DWORD);
-	WINBOOL SetStdHandle(DWORD, HANDLE);
-	WINBOOL FlushFileBuffers(HANDLE);
-	WINBOOL DeviceIoControl(HANDLE, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
-	WINBOOL SetEndOfFile(HANDLE);
-	DWORD SetFilePointer(HANDLE, LONG, PLONG, DWORD);
-	WINBOOL FindClose(HANDLE);
-	WINBOOL GetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
-	WINBOOL SetFileTime(HANDLE, FILETIME*, FILETIME*, FILETIME*);
-	WINBOOL CloseHandle(HANDLE);
-	WINBOOL DuplicateHandle(HANDLE, HANDLE, HANDLE, LPHANDLE, DWORD, WINBOOL, DWORD);
-	WINBOOL GetHandleInformation(HANDLE, LPDWORD);
-	WINBOOL SetHandleInformation(HANDLE, DWORD, DWORD);
-	DWORD LoadModule(LPCSTR, LPVOID);
-	UINT WinExec(LPCSTR, UINT);
-	WINBOOL ClearCommBreak(HANDLE);
-	WINBOOL ClearCommError(HANDLE, LPDWORD, LPCOMSTAT);
-	WINBOOL SetupComm(HANDLE, DWORD, DWORD);
-	WINBOOL EscapeCommFunction(HANDLE, DWORD);
-	WINBOOL GetCommConfig(HANDLE, LPCOMMCONFIG, LPDWORD);
-	WINBOOL GetCommProperties(HANDLE, LPCOMMPROP);
-	WINBOOL GetCommModemStatus(HANDLE, PDWORD);
-	WINBOOL GetCommState(HANDLE, PDCB);
-	WINBOOL GetCommTimeouts(HANDLE, PCOMMTIMEOUTS);
-	WINBOOL PurgeComm(HANDLE, DWORD);
-	WINBOOL SetCommBreak(HANDLE);
-	WINBOOL SetCommConfig(HANDLE, LPCOMMCONFIG, DWORD);
-	WINBOOL SetCommMask(HANDLE, DWORD);
-	WINBOOL SetCommState(HANDLE, TDCB*);
-	WINBOOL SetCommTimeouts(HANDLE, TCOMMTIMEOUTS*);
-	WINBOOL TransmitCommChar(HANDLE, char);
-	WINBOOL WaitCommEvent(HANDLE, LPDWORD, LPOVERLAPPED);
-	DWORD SetTapePosition(HANDLE, DWORD, DWORD, DWORD, DWORD, WINBOOL);
-	DWORD GetTapePosition(HANDLE, DWORD, LPDWORD, LPDWORD, LPDWORD);
-	DWORD PrepareTape(HANDLE, DWORD, WINBOOL);
-	DWORD EraseTape(HANDLE, DWORD, WINBOOL);
-	DWORD CreateTapePartition(HANDLE, DWORD, DWORD, DWORD);
-	DWORD WriteTapemark(HANDLE, DWORD, DWORD, WINBOOL);
-	DWORD GetTapeStatus(HANDLE);
-	DWORD GetTapeParameters(HANDLE, DWORD, LPDWORD, LPVOID);
-	DWORD SetTapeParameters(HANDLE, DWORD, LPVOID);
-	WINBOOL Beep(DWORD, DWORD);
-	int MulDiv(int, int, int);
-	void GetSystemTime(LPSYSTEMTIME);
-        void GetSystemTimeAsFileTime(FILETIME*);
-	WINBOOL SetSystemTime(SYSTEMTIME*);
-	void GetLocalTime(LPSYSTEMTIME);
-	WINBOOL SetLocalTime(SYSTEMTIME*);
-	void GetSystemInfo(LPSYSTEM_INFO);
-	WINBOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
-	DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
-	WINBOOL SetTimeZoneInformation(TIME_ZONE_INFORMATION*);
-	WINBOOL SystemTimeToFileTime(SYSTEMTIME*, LPFILETIME);
-	WINBOOL FileTimeToLocalFileTime(FILETIME*, LPFILETIME);
-	WINBOOL LocalFileTimeToFileTime(FILETIME*, LPFILETIME);
-	WINBOOL FileTimeToSystemTime(FILETIME*, LPSYSTEMTIME);
-	LONG CompareFileTime(FILETIME*, FILETIME*);
-	WINBOOL FileTimeToDosDateTime(FILETIME*, LPWORD, LPWORD);
-	WINBOOL DosDateTimeToFileTime(ushort, ushort, LPFILETIME);
-	DWORD GetTickCount();
-	WINBOOL SetSystemTimeAdjustment(DWORD, WINBOOL);
-	WINBOOL GetSystemTimeAdjustment(PDWORD, PDWORD, PWINBOOL);
-	WINBOOL CreatePipe(PHANDLE, PHANDLE, LPSECURITY_ATTRIBUTES, DWORD);
-	WINBOOL ConnectNamedPipe(HANDLE, LPOVERLAPPED);
-	WINBOOL DisconnectNamedPipe(HANDLE);
-	WINBOOL SetNamedPipeHandleState(HANDLE, LPDWORD, LPDWORD, LPDWORD);
-	WINBOOL GetNamedPipeInfo(HANDLE, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
-	WINBOOL PeekNamedPipe(HANDLE, LPVOID, DWORD, LPDWORD, LPDWORD, LPDWORD);
-	WINBOOL TransactNamedPipe(HANDLE, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPOVERLAPPED);
-	WINBOOL GetMailslotInfo(HANDLE, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
-	WINBOOL SetMailslotInfo(HANDLE, DWORD);
-	LPVOID MapViewOfFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
-	WINBOOL FlushViewOfFile(LPCVOID, DWORD);
-	WINBOOL UnmapViewOfFile(LPVOID);
-	HFILE OpenFile(LPCSTR, LPOFSTRUCT, UINT);
-	HFILE _lopen(LPCSTR, int);
-	HFILE _lcreat(LPCSTR, int);
-	UINT _lread(HFILE, LPVOID, UINT);
-	UINT _lwrite(HFILE, LPCSTR, UINT);
-	int _hread(HFILE, LPVOID, int);
-	int _hwrite(HFILE, LPCSTR, int);
-	HFILE _lclose(HFILE);
-	LONG _llseek(HFILE, LONG, int);
-	WINBOOL IsTextUnicode(LPVOID, int, LPINT);
-	DWORD TlsAlloc();
-	LPVOID TlsGetValue(DWORD);
-	WINBOOL TlsSetValue(DWORD, LPVOID);
-	WINBOOL TlsFree(DWORD);
-	DWORD SleepEx(DWORD, WINBOOL);
-	DWORD WaitForSingleObjectEx(HANDLE, DWORD, WINBOOL);
-	DWORD WaitForMultipleObjectsEx(DWORD, HANDLE*, WINBOOL, DWORD, WINBOOL);
-	WINBOOL ReadFileEx(HANDLE, LPVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
-	WINBOOL WriteFileEx(HANDLE, LPCVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
-	WINBOOL BackupRead(HANDLE, LPBYTE, DWORD, LPDWORD, WINBOOL, WINBOOL, LPVOID*);
-	WINBOOL BackupSeek(HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID*);
-	WINBOOL BackupWrite(HANDLE, LPBYTE, DWORD, LPDWORD, WINBOOL, WINBOOL, LPVOID*);
-	WINBOOL SetProcessShutdownParameters(DWORD, DWORD);
-	WINBOOL GetProcessShutdownParameters(LPDWORD, LPDWORD);
-	void SetFileApisToOEM();
-	void SetFileApisToANSI();
-	WINBOOL AreFileApisANSI();
-	WINBOOL CloseEventLog(HANDLE);
-	WINBOOL DeregisterEventSource(HANDLE);
-	WINBOOL NotifyChangeEventLog(HANDLE, HANDLE);
-	WINBOOL GetNumberOfEventLogRecords(HANDLE, PDWORD);
-	WINBOOL GetOldestEventLogRecord(HANDLE, PDWORD);
-	WINBOOL DuplicateToken(HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDLE);
-	WINBOOL GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
-	WINBOOL ImpersonateNamedPipeClient(HANDLE);
-	WINBOOL ImpersonateLoggedOnUser(HANDLE);
-	WINBOOL ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
-	WINBOOL RevertToSelf();
-	WINBOOL SetThreadToken(PHANDLE, HANDLE);
-	WINBOOL OpenProcessToken(HANDLE, DWORD, PHANDLE);
-	WINBOOL OpenThreadToken(HANDLE, DWORD, WINBOOL, PHANDLE);
-	WINBOOL GetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, LPVOID, DWORD, PDWORD);
-	WINBOOL SetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, LPVOID, DWORD);
-	WINBOOL AdjustTokenPrivileges(HANDLE, WINBOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
-	WINBOOL AdjustTokenGroups(HANDLE, WINBOOL, PTOKEN_GROUPS, DWORD, PTOKEN_GROUPS, PDWORD);
-	WINBOOL PrivilegeCheck(HANDLE, PPRIVILEGE_SET, LPBOOL);
-	WINBOOL IsValidSid(PSID);
-	WINBOOL EqualSid(PSID, PSID);
-	WINBOOL EqualPrefixSid(PSID, PSID);
-	DWORD GetSidLengthRequired(UCHAR);
-	WINBOOL AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY, ubyte, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
-	PVOID FreeSid(PSID);
-	WINBOOL InitializeSid(PSID, PSID_IDENTIFIER_AUTHORITY, ubyte);
-	PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority(PSID);
-	PDWORD GetSidSubAuthority(PSID, DWORD);
-	PUCHAR GetSidSubAuthorityCount(PSID);
-	DWORD GetLengthSid(PSID);
-	WINBOOL CopySid(DWORD, PSID, PSID);
-	WINBOOL AreAllAccessesGranted(DWORD, DWORD);
-	WINBOOL AreAnyAccessesGranted(DWORD, DWORD);
-	void MapGenericMask(PDWORD);
-	WINBOOL IsValidAcl(PACL);
-	WINBOOL InitializeAcl(PACL, DWORD, DWORD);
-	WINBOOL GetAclInformation(PACL, LPVOID, DWORD, ACL_INFORMATION_CLASS);
-	WINBOOL SetAclInformation(PACL, LPVOID, DWORD, ACL_INFORMATION_CLASS);
-	WINBOOL AddAce(PACL, DWORD, DWORD, LPVOID, DWORD);
-	WINBOOL DeleteAce(PACL, DWORD);
-	WINBOOL GetAce(PACL, DWORD, LPVOID*);
-	WINBOOL AddAccessAllowedAce(PACL, DWORD, DWORD, PSID);
-	WINBOOL AddAccessDeniedAce(PACL, DWORD, DWORD, PSID);
-	WINBOOL AddAuditAccessAce(PACL, DWORD, DWORD, PSID, WINBOOL, WINBOOL);
-	WINBOOL FindFirstFreeAce(PACL, LPVOID*);
-	WINBOOL InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR, DWORD);
-	WINBOOL IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
-	DWORD GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
-	WINBOOL GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL, LPDWORD);
-	WINBOOL SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, WINBOOL, PACL, WINBOOL);
-	WINBOOL GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL);
-	WINBOOL SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, WINBOOL, PACL, WINBOOL);
-	WINBOOL GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL);
-	WINBOOL SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, WINBOOL);
-	WINBOOL GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID*, LPBOOL);
-	WINBOOL SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, WINBOOL);
-	WINBOOL GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID*, LPBOOL);
-	WINBOOL CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR*, WINBOOL, HANDLE, PGENERIC_MAPPING);
-	WINBOOL SetPrivateObjectSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR*, PGENERIC_MAPPING, HANDLE);
-	WINBOOL GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
-	WINBOOL DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR);
-	WINBOOL MakeSelfRelativeSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, LPDWORD);
-	WINBOOL MakeAbsoluteSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, LPDWORD, PACL, LPDWORD, PACL, LPDWORD, PSID, LPDWORD, PSID, LPDWORD);
-	WINBOOL SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
-	WINBOOL FindNextChangeNotification(HANDLE);
-	WINBOOL FindCloseChangeNotification(HANDLE);
-	WINBOOL VirtualLock(LPVOID, DWORD);
-	WINBOOL VirtualUnlock(LPVOID, DWORD);
-	LPVOID MapViewOfFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPVOID);
-	WINBOOL SetPriorityClass(HANDLE, DWORD);
-	DWORD GetPriorityClass(HANDLE);
-	WINBOOL IsBadReadPtr(POINTER, UINT);
-	WINBOOL IsBadWritePtr(LPVOID, UINT);
-	WINBOOL IsBadHugeReadPtr(POINTER, UINT);
-	WINBOOL IsBadHugeWritePtr(LPVOID, UINT);
-	WINBOOL IsBadCodePtr(FARPROC);
-	WINBOOL AllocateLocallyUniqueId(PLUID);
-	WINBOOL QueryPerformanceCounter(PLARGE_INTEGER);
-	WINBOOL QueryPerformanceFrequency(PLARGE_INTEGER);
-	WINBOOL ActivateKeyboardLayout(HKL, UINT);
-	WINBOOL UnloadKeyboardLayout(HKL);
-	int GetKeyboardLayoutList(int, HKL*);
-	HKL GetKeyboardLayout(DWORD);
-	HDESK OpenInputDesktop(DWORD, WINBOOL, DWORD);
-	WINBOOL EnumDesktopWindows(HDESK, ENUMWINDOWSPROC, LPARAM);
-	WINBOOL SwitchDesktop(HDESK);
-	WINBOOL SetThreadDesktop(HDESK);
-	WINBOOL CloseDesktop(HDESK);
-	HDESK GetThreadDesktop(DWORD);
-	WINBOOL CloseWindowStation(HWINSTA);
-	WINBOOL SetProcessWindowStation(HWINSTA);
-	HWINSTA GetProcessWindowStation();
-	WINBOOL SetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
-	WINBOOL GetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
-	WINBOOL TranslateMessage(LPMSG);
-	WINBOOL SetMessageQueue(int);
-	WINBOOL RegisterHotKey(HWND, int, UINT, UINT);
-	WINBOOL UnregisterHotKey(HWND, int);
-	WINBOOL ExitWindowsEx(UINT, DWORD);
-	WINBOOL SwapMouseButton(WINBOOL);
-	DWORD GetMessagePos();
-	LONG GetMessageTime();
-	LONG GetMessageExtraInfo();
-	LPARAM SetMessageExtraInfo(LPARAM);
-	int BroadcastSystemMessage(DWORD, LPDWORD, UINT, WPARAM, LPARAM);
-	WINBOOL AttachThreadInput(DWORD, DWORD, WINBOOL);
-	WINBOOL ReplyMessage(LRESULT);
-	WINBOOL WaitMessage();
-	DWORD WaitForInputIdle(HANDLE, DWORD);
-	void PostQuitMessage(int);
-	WINBOOL InSendMessage();
-	UINT GetDoubleClickTime();
-	WINBOOL SetDoubleClickTime(UINT);
-	WINBOOL IsWindow(HWND);
-	WINBOOL IsMenu(HMENU);
-	WINBOOL IsChild(HWND, HWND);
-	WINBOOL DestroyWindow(HWND);
-	WINBOOL ShowWindow(HWND, int);
-	WINBOOL ShowWindowAsync(HWND, int);
-	WINBOOL FlashWindow(HWND, WINBOOL);
-	WINBOOL ShowOwnedPopups(HWND, WINBOOL);
-	WINBOOL OpenIcon(HWND);
-	WINBOOL CloseWindow(HWND);
-	WINBOOL MoveWindow(HWND, int, int, int, int, WINBOOL);
-	WINBOOL SetWindowPos(HWND, HWND, int, int, int, int, UINT);
-	WINBOOL GetWindowPlacement(HWND, WINDOWPLACEMENT*);
-	WINBOOL SetWindowPlacement(HWND, WINDOWPLACEMENT*);
-	HDWP BeginDeferWindowPos(int);
-	HDWP DeferWindowPos(HDWP, HWND, HWND, int, int, int, int, UINT);
-	WINBOOL EndDeferWindowPos(HDWP);
-	WINBOOL IsWindowVisible(HWND);
-	WINBOOL IsIconic(HWND);
-	WINBOOL AnyPopup();
-	WINBOOL BringWindowToTop(HWND);
-	WINBOOL IsZoomed(HWND);
-	WINBOOL EndDialog(HWND, int);
-	HWND GetDlgItem(HWND, int);
-	WINBOOL SetDlgItemInt(HWND, int, UINT, WINBOOL);
-	UINT GetDlgItemInt(HWND, int, WINBOOL*, WINBOOL);
-	WINBOOL CheckDlgButton(HWND, int, UINT);
-	WINBOOL CheckRadioButton(HWND, int, int, int);
-	UINT IsDlgButtonChecked(HWND, int);
-	HWND GetNextDlgGroupItem(HWND, HWND, WINBOOL);
-	HWND GetNextDlgTabItem(HWND, HWND, WINBOOL);
-	int GetDlgCtrlID(HWND);
-	int GetDialogBaseUnits();
-	WINBOOL OpenClipboard(HWND);
-	WINBOOL CloseClipboard();
-	HWND GetClipboardOwner();
-	HWND SetClipboardViewer(HWND);
-	HWND GetClipboardViewer();
-	WINBOOL ChangeClipboardChain(HWND, HWND);
-	HANDLE SetClipboardData(UINT, HANDLE);
-	HANDLE GetClipboardData(UINT);
-	int CountClipboardFormats();
-	UINT EnumClipboardFormats(UINT);
-	WINBOOL EmptyClipboard();
-	WINBOOL IsClipboardFormatAvailable(UINT);
-	int GetPriorityClipboardFormat(UINT*, int);
-	HWND GetOpenClipboardWindow();
-	LPSTR CharNextExA(ushort, LPCSTR, DWORD);
-	LPSTR CharPrevExA(ushort, LPCSTR, LPCSTR, DWORD);
-	HWND SetFocus(HWND);
-	HWND GetActiveWindow();
-	HWND GetFocus();
-	UINT GetKBCodePage();
-	SHORT GetKeyState(int);
-	SHORT GetAsyncKeyState(int);
-	WINBOOL GetKeyboardState(PBYTE);
-	WINBOOL SetKeyboardState(LPBYTE);
-	int GetKeyboardType(int);
-	int ToAscii(UINT, UINT, PBYTE, LPWORD, UINT);
-	int ToAsciiEx(UINT, UINT, PBYTE, LPWORD, UINT, HKL);
-	int ToUnicode(UINT, UINT, PBYTE, LPWSTR, int, UINT);
-	DWORD OemKeyScan(ushort);
-	void keybd_event(ubyte, ubyte, DWORD);
-	void mouse_event(DWORD, DWORD, DWORD, DWORD);
-	WINBOOL GetInputState();
-	DWORD GetQueueStatus(UINT);
-	HWND GetCapture();
-	HWND SetCapture(HWND);
-	WINBOOL ReleaseCapture();
-	DWORD MsgWaitForMultipleObjects(DWORD, LPHANDLE, WINBOOL, DWORD, DWORD);
-	UINT SetTimer(HWND, UINT, UINT, TIMERPROC);
-	WINBOOL KillTimer(HWND, UINT);
-	WINBOOL IsWindowUnicode(HWND);
-	WINBOOL EnableWindow(HWND, WINBOOL);
-	WINBOOL IsWindowEnabled(HWND);
-	WINBOOL DestroyAcceleratorTable(HACCEL);
-	int GetSystemMetrics(int);
-	HMENU GetMenu(HWND);
-	WINBOOL SetMenu(HWND, HMENU);
-	WINBOOL HiliteMenuItem(HWND, HMENU, UINT, UINT);
-	UINT GetMenuState(HMENU, UINT, UINT);
-	WINBOOL DrawMenuBar(HWND);
-	HMENU GetSystemMenu(HWND, WINBOOL);
-	HMENU CreateMenu();
-	HMENU CreatePopupMenu();
-	WINBOOL DestroyMenu(HMENU);
-	DWORD CheckMenuItem(HMENU, UINT, UINT);
-	WINBOOL EnableMenuItem(HMENU, UINT, UINT);
-	HMENU GetSubMenu(HMENU, int);
-	UINT GetMenuItemID(HMENU, int);
-	int GetMenuItemCount(HMENU);
-	WINBOOL RemoveMenu(HMENU, UINT, UINT);
-	WINBOOL DeleteMenu(HMENU, UINT, UINT);
-	WINBOOL SetMenuItemBitmaps(HMENU, UINT, UINT, HBITMAP, HBITMAP);
-	LONG GetMenuCheckMarkDimensions();
-	WINBOOL TrackPopupMenu(HMENU, UINT, int, int, int, HWND, RECT*);
-	UINT GetMenuDefaultItem(HMENU, UINT, UINT);
-	WINBOOL SetMenuDefaultItem(HMENU, UINT, UINT);
-	WINBOOL GetMenuItemRect(HWND, HMENU, UINT, LPRECT);
-	int MenuItemFromPoint(HWND, HMENU, POINT);
-	DWORD DragObject(HWND, HWND, UINT, DWORD, HCURSOR);
-	WINBOOL DragDetect(HWND, POINT);
-	WINBOOL DrawIcon(HDC, int, int, HICON);
-	WINBOOL UpdateWindow(HWND);
-	HWND SetActiveWindow(HWND);
-	HWND GetForegroundWindow();
-	WINBOOL PaintDesktop(HDC);
-	WINBOOL SetForegroundWindow(HWND);
-	HWND WindowFromDC(HDC);
-	HDC GetDC(HWND);
-	HDC GetDCEx(HWND, HRGN, DWORD);
-	HDC GetWindowDC(HWND);
-	int ReleaseDC(HWND, HDC);
-	HDC BeginPaint(HWND, LPPAINTSTRUCT);
-	WINBOOL EndPaint(HWND, LPPAINTSTRUCT);
-	WINBOOL GetUpdateRect(HWND, LPRECT, WINBOOL);
-	int GetUpdateRgn(HWND, HRGN, WINBOOL);
-	int SetWindowRgn(HWND, HRGN, WINBOOL);
-	int GetWindowRgn(HWND, HRGN);
-	int ExcludeUpdateRgn(HDC, HWND);
-	WINBOOL InvalidateRect(HWND, RECT*, WINBOOL);
-	WINBOOL ValidateRect(HWND, RECT*);
-	WINBOOL InvalidateRgn(HWND, HRGN, WINBOOL);
-	WINBOOL ValidateRgn(HWND, HRGN);
-	WINBOOL RedrawWindow(HWND, RECT*, HRGN, UINT);
-	WINBOOL LockWindowUpdate(HWND);
-	WINBOOL ScrollWindow(HWND, int, int, RECT*, RECT*);
-	WINBOOL ScrollDC(HDC, int, int, RECT*, RECT*, HRGN, LPRECT);
-	int ScrollWindowEx(HWND, int, int, RECT*, RECT*, HRGN, LPRECT, UINT);
-	int SetScrollPos(HWND, int, int, WINBOOL);
-	int GetScrollPos(HWND, int);
-	WINBOOL SetScrollRange(HWND, int, int, int, WINBOOL);
-	WINBOOL GetScrollRange(HWND, int, LPINT, LPINT);
-	WINBOOL ShowScrollBar(HWND, int, WINBOOL);
-	WINBOOL EnableScrollBar(HWND, UINT, UINT);
-	WINBOOL GetClientRect(HWND, LPRECT);
-	WINBOOL GetWindowRect(HWND, LPRECT);
-	WINBOOL AdjustWindowRect(LPRECT, DWORD, WINBOOL);
-	WINBOOL AdjustWindowRectEx(LPRECT, DWORD, WINBOOL, DWORD);
-	WINBOOL SetWindowContextHelpId(HWND, DWORD);
-	DWORD GetWindowContextHelpId(HWND);
-	WINBOOL SetMenuContextHelpId(HMENU, DWORD);
-	DWORD GetMenuContextHelpId(HMENU);
-	WINBOOL MessageBeep(UINT);
-	int ShowCursor(WINBOOL);
-	WINBOOL SetCursorPos(int, int);
-	HCURSOR SetCursor(HCURSOR);
-	WINBOOL GetCursorPos(LPPOINT);
-	WINBOOL ClipCursor(RECT*);
-	WINBOOL GetClipCursor(LPRECT);
-	HCURSOR GetCursor();
-	WINBOOL CreateCaret(HWND, HBITMAP, int, int);
-	UINT GetCaretBlinkTime();
-	WINBOOL SetCaretBlinkTime(UINT);
-	WINBOOL DestroyCaret();
-	WINBOOL HideCaret(HWND);
-	WINBOOL ShowCaret(HWND);
-	WINBOOL SetCaretPos(int, int);
-	WINBOOL GetCaretPos(LPPOINT);
-	WINBOOL ClientToScreen(HWND, LPPOINT);
-	WINBOOL ScreenToClient(HWND, LPPOINT);
-	int MapWindowPoints(HWND, HWND, LPPOINT, UINT);
-	HWND WindowFromPoint(POINT);
-	HWND ChildWindowFromPoint(HWND, POINT);
-	DWORD GetSysColor(int);
-	HBRUSH GetSysColorBrush(int);
-	WINBOOL SetSysColors(int, WINT*, COLORREF*);
-	WINBOOL DrawFocusRect(HDC, RECT*);
-	int FillRect(HDC, RECT*, HBRUSH);
-	int FrameRect(HDC, RECT*, HBRUSH);
-	WINBOOL InvertRect(HDC, RECT*);
-	WINBOOL SetRect(LPRECT, int, int, int, int);
-	WINBOOL SetRectEmpty(LPRECT);
-	WINBOOL CopyRect(LPRECT, RECT*);
-	WINBOOL InflateRect(LPRECT, int, int);
-	WINBOOL IntersectRect(LPRECT, RECT*, RECT*);
-	WINBOOL UnionRect(LPRECT, RECT*, RECT*);
-	WINBOOL SubtractRect(LPRECT, RECT*, RECT*);
-	WINBOOL OffsetRect(LPRECT, int, int);
-	WINBOOL IsRectEmpty(RECT*);
-	WINBOOL EqualRect(RECT*, RECT*);
-	WINBOOL PtInRect(RECT*, POINT);
-	ushort GetWindowWord(HWND, int);
-	ushort SetWindowWord(HWND, int, ushort);
-	ushort GetClassWord(HWND, int);
-	ushort SetClassWord(HWND, int, ushort);
-	HWND GetDesktopWindow();
-	HWND GetParent(HWND);
-	HWND SetParent(HWND, HWND);
-	WINBOOL EnumChildWindows(HWND, ENUMWINDOWSPROC, LPARAM);
-	WINBOOL EnumWindows(ENUMWINDOWSPROC, LPARAM);
-	WINBOOL EnumThreadWindows(DWORD, ENUMWINDOWSPROC, LPARAM);
-	HWND GetTopWindow(HWND);
-	DWORD GetWindowThreadProcessId(HWND, LPDWORD);
-	HWND GetLastActivePopup(HWND);
-	HWND GetWindow(HWND, UINT);
-	WINBOOL UnhookWindowsHook(int, HOOKPROC);
-	WINBOOL UnhookWindowsHookEx(HHOOK);
-	LRESULT CallNextHookEx(HHOOK, int, WPARAM, LPARAM);
-	WINBOOL CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT);
-	HCURSOR CreateCursor(HINST, int, int, int, int, POINTER, POINTER);
-	WINBOOL DestroyCursor(HCURSOR);
-	WINBOOL SetSystemCursor(HCURSOR, DWORD);
-	HICON CreateIcon(HINST, int, int, ubyte, ubyte, ubyte*, ubyte*);
-	WINBOOL DestroyIcon(HICON);
-	int LookupIconIdFromDirectory(PBYTE, WINBOOL);
-	int LookupIconIdFromDirectoryEx(PBYTE, WINBOOL, int, int, UINT);
-	HICON CreateIconFromResource(PBYTE, DWORD, WINBOOL, DWORD);
-	HICON CreateIconFromResourceEx(PBYTE, DWORD, WINBOOL, DWORD, int, int, UINT);
-	HICON CopyImage(HANDLE, UINT, int, int, UINT);
-	HICON CreateIconIndirect(PICONINFO);
-	HICON CopyIcon(HICON);
-	WINBOOL GetIconInfo(HICON, PICONINFO);
-	WINBOOL MapDialogRect(HWND, LPRECT);
-	int SetScrollInfo(HWND, int, LPCSCROLLINFO, WINBOOL);
-	WINBOOL GetScrollInfo(HWND, int, LPSCROLLINFO);
-	WINBOOL TranslateMDISysAccel(HWND, LPMSG);
-	UINT ArrangeIconicWindows(HWND);
-	ushort TileWindows(HWND, UINT, RECT*, UINT, HWND*);
-	ushort CascadeWindows(HWND, UINT, RECT*, UINT, HWND*);
-	void SetLastErrorEx(DWORD);
-	void SetDebugErrorLevel(DWORD);
-	WINBOOL DrawEdge(HDC, LPRECT, UINT, UINT);
-	WINBOOL DrawFrameControl(HDC, LPRECT, UINT, UINT);
-	WINBOOL DrawCaption(HWND, HDC, RECT*, UINT);
-	WINBOOL DrawAnimatedRects(HWND, int, RECT*, RECT*);
-	WINBOOL TrackPopupMenuEx(HMENU, UINT, int, int, HWND, LPTPMPARAMS);
-	HWND ChildWindowFromPointEx(HWND, POINT, UINT);
-	WINBOOL DrawIconEx(HDC, int, int, HICON, int, int, UINT, HBRUSH, UINT);
-	WINBOOL AnimatePalette(HPALETTE, UINT, UINT, PALETTEENTRY*);
-	WINBOOL Arc(HDC, int, int, int, int, int, int, int, int);
-	WINBOOL BitBlt(HDC, int, int, int, int, HDC, int, int, DWORD);
-	WINBOOL CancelDC(HDC);
-	WINBOOL Chord(HDC, int, int, int, int, int, int, int, int);
-	HMETAFILE CloseMetaFile(HDC);
-	int CombineRgn(HRGN, HRGN, HRGN, int);
-	HBITMAP CreateBitmap(int, int, UINT, UINT, POINTER);
-	HBITMAP CreateBitmapIndirect(BITMAP*);
-	HBRUSH CreateBrushIndirect(LOGBRUSH*);
-	HBITMAP CreateCompatibleBitmap(HDC, int, int);
-	HBITMAP CreateDiscardableBitmap(HDC, int, int);
-	HDC CreateCompatibleDC(HDC);
-	HBITMAP CreateDIBitmap(HDC, BITMAPINFOHEADER*, DWORD, POINTER, BITMAPINFO*, UINT);
-	HBRUSH CreateDIBPatternBrush(HGLOBAL, UINT);
-	HBRUSH CreateDIBPatternBrushPt(POINTER, UINT);
-	HRGN CreateEllipticRgn(int, int, int, int);
-	HRGN CreateEllipticRgnIndirect(RECT*);
-	HBRUSH CreateHatchBrush(int, COLORREF);
-	HPALETTE CreatePalette(LOGPALETTE*);
-	HPEN CreatePen(int, int, COLORREF);
-	HPEN CreatePenIndirect(LOGPEN*);
-	HRGN CreatePolyPolygonRgn(POINT*, WINT*, int, int);
-	HBRUSH CreatePatternBrush(HBITMAP);
-	HRGN CreateRectRgn(int, int, int, int);
-	HRGN CreateRectRgnIndirect(RECT*);
-	HRGN CreateRoundRectRgn(int, int, int, int, int, int);
-	HBRUSH CreateSolidBrush(COLORREF);
-	WINBOOL DeleteDC(HDC);
-	WINBOOL DeleteMetaFile(HMETAFILE);
-	WINBOOL DeleteObject(HGDIOBJ);
-	int DrawEscape(HDC, int, int, LPCSTR);
-	WINBOOL Ellipse(HDC, int, int, int, int);
-	int EnumObjects(HDC, int, ENUMOBJECTSPROC, LPARAM);
-	WINBOOL EqualRgn(HRGN, HRGN);
-	int Escape(HDC, int, int, LPCSTR, LPVOID);
-	int ExtEscape(HDC, int, int, LPCSTR, int, LPSTR);
-	int ExcludeClipRect(HDC, int, int, int, int);
-	HRGN ExtCreateRegion(XFORM*, DWORD, RGNDATA*);
-	WINBOOL ExtFloodFill(HDC, int, int, COLORREF, UINT);
-	WINBOOL FillRgn(HDC, HRGN, HBRUSH);
-	WINBOOL FloodFill(HDC, int, int, COLORREF);
-	WINBOOL FrameRgn(HDC, HRGN, HBRUSH, int, int);
-	int GetROP2(HDC);
-	WINBOOL GetAspectRatioFilterEx(HDC, LPSIZE);
-	COLORREF GetBkColor(HDC);
-	int GetBkMode(HDC);
-	LONG GetBitmapBits(HBITMAP, LONG, LPVOID);
-	WINBOOL GetBitmapDimensionEx(HBITMAP, LPSIZE);
-	UINT GetBoundsRect(HDC, LPRECT, UINT);
-	WINBOOL GetBrushOrgEx(HDC, LPPOINT);
-	int GetClipBox(HDC, LPRECT);
-	int GetClipRgn(HDC, HRGN);
-	int GetMetaRgn(HDC, HRGN);
-	HGDIOBJ GetCurrentObject(HDC, UINT);
-	WINBOOL GetCurrentPositionEx(HDC, LPPOINT);
-	int GetDeviceCaps(HDC, int);
-	int GetDIBits(HDC, HBITMAP, UINT, UINT, LPVOID, LPBITMAPINFO, UINT);
-	DWORD GetFontData(HDC, DWORD, DWORD, LPVOID, DWORD);
-	int GetGraphicsMode(HDC);
-	int GetMapMode(HDC);
-	UINT GetMetaFileBitsEx(HMETAFILE, UINT, LPVOID);
-	COLORREF GetNearestColor(HDC, COLORREF);
-	UINT GetNearestPaletteIndex(HPALETTE, COLORREF);
-	DWORD GetObjectType(HGDIOBJ);
-	UINT GetPaletteEntries(HPALETTE, UINT, UINT, LPPALETTEENTRY);
-	COLORREF GetPixel(HDC, int, int);
-	int GetPixelFormat(HDC);
-	int GetPolyFillMode(HDC);
-	WINBOOL GetRasterizerCaps(LPRASTERIZER_STATUS, UINT);
-	DWORD GetRegionData(HRGN, DWORD, LPRGNDATA);
-	int GetRgnBox(HRGN, LPRECT);
-	HGDIOBJ GetStockObject(int);
-	int GetStretchBltMode(HDC);
-	UINT GetSystemPaletteEntries(HDC, UINT, UINT, LPPALETTEENTRY);
-	UINT GetSystemPaletteUse(HDC);
-	int GetTextCharacterExtra(HDC);
-	UINT GetTextAlign(HDC);
-	COLORREF GetTextColor(HDC);
-	int GetTextCharset(HDC);
-	int GetTextCharsetInfo(HDC, LPFONTSIGNATURE, DWORD);
-	WINBOOL TranslateCharsetInfo(DWORD*, LPCHARSETINFO, DWORD);
-	DWORD GetFontLanguageInfo(HDC);
-	WINBOOL GetViewportExtEx(HDC, LPSIZE);
-	WINBOOL GetViewportOrgEx(HDC, LPPOINT);
-	WINBOOL GetWindowExtEx(HDC, LPSIZE);
-	WINBOOL GetWindowOrgEx(HDC, LPPOINT);
-	int IntersectClipRect(HDC, int, int, int, int);
-	WINBOOL InvertRgn(HDC, HRGN);
-	WINBOOL LineDDA(int, int, int, int, LINEDDAPROC, LPARAM);
-	WINBOOL LineTo(HDC, int, int);
-	WINBOOL MaskBlt(HDC, int, int, int, int, HDC, int, int, HBITMAP, int, int, DWORD);
-	WINBOOL PlgBlt(HDC, POINT*, HDC, int, int, int, int, HBITMAP, int, int);
-	int OffsetClipRgn(HDC, int, int);
-	int OffsetRgn(HRGN, int, int);
-	WINBOOL PatBlt(HDC, int, int, int, int, DWORD);
-	WINBOOL Pie(HDC, int, int, int, int, int, int, int, int);
-	WINBOOL PlayMetaFile(HDC, HMETAFILE);
-	WINBOOL PaintRgn(HDC, HRGN);
-	WINBOOL PolyPolygon(HDC, POINT*, WINT*, int);
-	WINBOOL PtInRegion(HRGN, int, int);
-	WINBOOL PtVisible(HDC, int, int);
-	WINBOOL RectInRegion(HRGN, RECT*);
-	WINBOOL RectVisible(HDC, RECT*);
-	WINBOOL Rectangle(HDC, int, int, int, int);
-	WINBOOL RestoreDC(HDC, int);
-	UINT RealizePalette(HDC);
-	WINBOOL RoundRect(HDC, int, int, int, int, int, int);
-	WINBOOL ResizePalette(HPALETTE, UINT);
-	int SaveDC(HDC);
-	int SelectClipRgn(HDC, HRGN);
-	int ExtSelectClipRgn(HDC, HRGN, int);
-	int SetMetaRgn(HDC);
-	HGDIOBJ SelectObject(HDC, HGDIOBJ);
-	HPALETTE SelectPalette(HDC, HPALETTE, WINBOOL);
-	COLORREF SetBkColor(HDC, COLORREF);
-	int SetBkMode(HDC, int);
-	LONG SetBitmapBits(HBITMAP, DWORD, POINTER);
-	UINT SetBoundsRect(HDC, RECT*, UINT);
-	int SetDIBits(HDC, HBITMAP, UINT, UINT, POINTER, PBITMAPINFO, UINT);
-	int SetDIBitsToDevice(HDC, int, int, DWORD, DWORD, int, int, UINT, UINT, POINTER, BITMAPINFO*, UINT);
-	DWORD SetMapperFlags(HDC, DWORD);
-	int SetGraphicsMode(HDC, int);
-	int SetMapMode(HDC, int);
-	HMETAFILE SetMetaFileBitsEx(UINT, ubyte*);
-	UINT SetPaletteEntries(HPALETTE, UINT, UINT, PALETTEENTRY*);
-	COLORREF SetPixel(HDC, int, int, COLORREF);
-	WINBOOL SetPixelV(HDC, int, int, COLORREF);
-	int SetPolyFillMode(HDC, int);
-	WINBOOL StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD);
-	WINBOOL SetRectRgn(HRGN, int, int, int, int);
-	int StretchDIBits(HDC, int, int, int, int, int, int, int, int, POINTER, BITMAPINFO*, UINT, DWORD);
-	int SetROP2(HDC, int);
-	int SetStretchBltMode(HDC, int);
-	UINT SetSystemPaletteUse(HDC, UINT);
-	int SetTextCharacterExtra(HDC, int);
-	COLORREF SetTextColor(HDC, COLORREF);
-	UINT SetTextAlign(HDC, UINT);
-	WINBOOL SetTextJustification(HDC, int, int);
-	WINBOOL UpdateColors(HDC);
-	WINBOOL PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, UINT);
-	WINBOOL EnumMetaFile(HDC, HMETAFILE, ENUMMETAFILEPROC, LPARAM);
-	HENHMETAFILE CloseEnhMetaFile(HDC);
-	WINBOOL DeleteEnhMetaFile(HENHMETAFILE);
-	WINBOOL EnumEnhMetaFile(HDC, HENHMETAFILE, ENHMETAFILEPROC, LPVOID, RECT*);
-	UINT GetEnhMetaFileHeader(HENHMETAFILE, UINT, LPENHMETAHEADER);
-	UINT GetEnhMetaFilePaletteEntries(HENHMETAFILE, UINT, LPPALETTEENTRY);
-	UINT GetWinMetaFileBits(HENHMETAFILE, UINT, LPBYTE, WINT, HDC);
-	WINBOOL PlayEnhMetaFile(HDC, HENHMETAFILE, RECT*);
-	WINBOOL PlayEnhMetaFileRecord(HDC, LPHANDLETABLE, ENHMETARECORD*, UINT);
-	HENHMETAFILE SetEnhMetaFileBits(UINT, ubyte*);
-	HENHMETAFILE SetWinMetaFileBits(UINT, ubyte*, HDC, METAFILEPICT*);
-	WINBOOL GdiComment(HDC, UINT, ubyte*);
-	WINBOOL AngleArc(HDC, int, int, DWORD, FLOAT, FLOAT);
-	WINBOOL PolyPolyline(HDC, POINT*, DWORD*, DWORD);
-	WINBOOL GetWorldTransform(HDC, LPXFORM);
-	WINBOOL SetWorldTransform(HDC, XFORM*);
-	WINBOOL ModifyWorldTransform(HDC, XFORM*, DWORD);
-	WINBOOL CombineTransform(LPXFORM, XFORM*, XFORM*);
-	HBITMAP CreateDIBSection(HDC, BITMAPINFO*, UINT, POINTER*, HANDLE, DWORD);
-	UINT GetDIBColorTable(HDC, UINT, UINT, RGBQUAD*);
-	UINT SetDIBColorTable(HDC, UINT, UINT, RGBQUAD*);
-	WINBOOL SetColorAdjustment(HDC, COLORADJUSTMENT*);
-	WINBOOL GetColorAdjustment(HDC, LPCOLORADJUSTMENT);
-	HPALETTE CreateHalftonePalette(HDC);
-	int EndDoc(HDC);
-	int StartPage(HDC);
-	int EndPage(HDC);
-	int AbortDoc(HDC);
-	int SetAbortProc(HDC, TABORTPROC);
-	WINBOOL ArcTo(HDC, int, int, int, int, int, int, int, int);
-	WINBOOL BeginPath(HDC);
-	WINBOOL CloseFigure(HDC);
-	WINBOOL EndPath(HDC);
-	WINBOOL FillPath(HDC);
-	WINBOOL FlattenPath(HDC);
-	int GetPath(HDC, LPPOINT, LPBYTE, int);
-	HRGN PathToRegion(HDC);
-	WINBOOL PolyDraw(HDC, POINT*, ubyte*, int);
-	WINBOOL SelectClipPath(HDC, int);
-	int SetArcDirection(HDC, int);
-	WINBOOL SetMiterLimit(HDC, FLOAT, PFLOAT);
-	WINBOOL StrokeAndFillPath(HDC);
-	WINBOOL StrokePath(HDC);
-	WINBOOL WidenPath(HDC);
-	HPEN ExtCreatePen(DWORD, DWORD, LOGBRUSH*, DWORD, DWORD*);
-	WINBOOL GetMiterLimit(HDC, PFLOAT);
-	int GetArcDirection(HDC);
-	WINBOOL MoveToEx(HDC, int, int, LPPOINT);
-	HRGN CreatePolygonRgn(POINT*, int, int);
-	WINBOOL DPtoLP(HDC, LPPOINT, int);
-	WINBOOL LPtoDP(HDC, LPPOINT, int);
-	WINBOOL Polygon(HDC, POINT*, int);
-	WINBOOL Polyline(HDC, POINT*, int);
-	WINBOOL PolyBezier(HDC, POINT*, DWORD);
-	WINBOOL PolyBezierTo(HDC, POINT*, DWORD);
-	WINBOOL PolylineTo(HDC, POINT*, DWORD);
-	WINBOOL SetViewportExtEx(HDC, int, int, LPSIZE);
-	WINBOOL SetViewportOrgEx(HDC, int, int, LPPOINT);
-	WINBOOL SetWindowExtEx(HDC, int, int, LPSIZE);
-	WINBOOL SetWindowOrgEx(HDC, int, int, LPPOINT);
-	WINBOOL OffsetViewportOrgEx(HDC, int, int, LPPOINT);
-	WINBOOL OffsetWindowOrgEx(HDC, int, int, LPPOINT);
-	WINBOOL ScaleViewportExtEx(HDC, int, int, int, int, LPSIZE);
-	WINBOOL ScaleWindowExtEx(HDC, int, int, int, int, LPSIZE);
-	WINBOOL SetBitmapDimensionEx(HBITMAP, int, int, LPSIZE);
-	WINBOOL SetBrushOrgEx(HDC, int, int, LPPOINT);
-	WINBOOL GetDCOrgEx(HDC, LPPOINT);
-	WINBOOL FixBrushOrgEx(HDC, int, int, LPPOINT);
-	WINBOOL UnrealizeObject(HGDIOBJ);
-	WINBOOL GdiFlush();
-	DWORD GdiSetBatchLimit(DWORD);
-	DWORD GdiGetBatchLimit();
-	int SetICMMode(HDC, int);
-	WINBOOL CheckColorsInGamut(HDC, LPVOID, LPVOID, DWORD);
-	HANDLE GetColorSpace(HDC);
-	WINBOOL SetColorSpace(HDC, HCOLORSPACE);
-	WINBOOL DeleteColorSpace(HCOLORSPACE);
-	WINBOOL GetDeviceGammaRamp(HDC, LPVOID);
-	WINBOOL SetDeviceGammaRamp(HDC, LPVOID);
-	WINBOOL ColorMatchToTarget(HDC, HDC, DWORD);
-	HPROPSHEETPAGE CreatePropertySheetPageA(LPCPROPSHEETPAGE);
-	WINBOOL DestroyPropertySheetPage(HPROPSHEETPAGE);
-	void InitCommonControls();
-	HIMAGELIST ImageList_Create(int, int, UINT, int, int);
-	WINBOOL ImageList_Destroy(HIMAGELIST);
-	int ImageList_GetImageCount(HIMAGELIST);
-	int ImageList_Add(HIMAGELIST, HBITMAP, HBITMAP);
-	int ImageList_ReplaceIcon(HIMAGELIST, int, HICON);
-	COLORREF ImageList_SetBkColor(HIMAGELIST, COLORREF);
-	COLORREF ImageList_GetBkColor(HIMAGELIST);
-	WINBOOL ImageList_SetOverlayImage(HIMAGELIST, int, int);
-	WINBOOL ImageList_Draw(HIMAGELIST, int, HDC, int, int, UINT);
-	WINBOOL ImageList_Replace(HIMAGELIST, int, HBITMAP, HBITMAP);
-	int ImageList_AddMasked(HIMAGELIST, HBITMAP, COLORREF);
-	WINBOOL ImageList_DrawEx(HIMAGELIST, int, HDC, int, int, int, int, COLORREF, COLORREF, UINT);
-	WINBOOL ImageList_Remove(HIMAGELIST, int);
-	HICON ImageList_GetIcon(HIMAGELIST, int, UINT);
-	WINBOOL ImageList_BeginDrag(HIMAGELIST, int, int, int);
-	void ImageList_EndDrag();
-	WINBOOL ImageList_DragEnter(HWND, int, int);
-	WINBOOL ImageList_DragLeave(HWND);
-	WINBOOL ImageList_DragMove(int, int);
-	WINBOOL ImageList_SetDragCursorImage(HIMAGELIST, int, int, int);
-	WINBOOL ImageList_DragShowNolock(WINBOOL);
-	HIMAGELIST ImageList_GetDragImage(POINT*, POINT*);
-	WINBOOL ImageList_GetIconSize(HIMAGELIST, int*, int*);
-	WINBOOL ImageList_SetIconSize(HIMAGELIST, int, int);
-	WINBOOL ImageList_GetImageInfo(HIMAGELIST, int, IMAGEINFO*);
-	HIMAGELIST ImageList_Merge(HIMAGELIST, int, HIMAGELIST, int, int, int);
-	HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINST, UINT, LPCTBBUTTON, int, int, int, int, int, UINT);
-	HBITMAP CreateMappedBitmap(HINST, int, UINT, LPCOLORMAP, int);
-	void MenuHelp(UINT, WPARAM, LPARAM, HMENU, HINST, HWND);
-	WINBOOL ShowHideMenuCtl(HWND, UINT, LPINT);
-	void GetEffectiveClientRect(HWND, LPRECT);
-	WINBOOL MakeDragList(HWND);
-	void DrawInsert(HWND, HWND);
-	int LBItemFromPt(HWND, POINT, WINBOOL);
-	HWND CreateUpDownControl(DWORD, int, int, int, int, HWND, int, HINST, HWND, int, int, int);
-	LONG RegCloseKey(HKEY);
-	LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
-	LONG RegFlushKey(HKEY);
-	LONG RegGetKeySecurity(HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, LPDWORD);
-	LONG RegNotifyChangeKeyValue(HKEY, WINBOOL, DWORD, HANDLE, WINBOOL);
-	WINBOOL IsValidCodePage(UINT);
-	UINT GetACP();
-	UINT GetOEMCP();
-	WINBOOL GetCPInfo(UINT, LPCPINFO);
-	WINBOOL IsDBCSLeadByte(ubyte);
-	WINBOOL IsDBCSLeadByteEx(UINT, ubyte);
-	int MultiByteToWideChar(UINT, DWORD, LPCSTR, int, LPWSTR, int);
-	int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, LPBOOL);
-	WINBOOL IsValidLocale(LCID, DWORD);
-	LCID ConvertDefaultLocale(LCID);
-	LCID GetThreadLocale();
-	WINBOOL SetThreadLocale(LCID);
-	LANGID GetSystemDefaultLangID();
-	LANGID GetUserDefaultLangID();
-	LCID GetSystemDefaultLCID();
-	LCID GetUserDefaultLCID();
-	WINBOOL ReadConsoleOutputAttribute(HANDLE, LPWORD, DWORD, COORD, LPDWORD);
-	WINBOOL WriteConsoleOutputAttribute(HANDLE, ushort*, DWORD, COORD, LPDWORD);
-	WINBOOL FillConsoleOutputAttribute(HANDLE, ushort, DWORD, COORD, LPDWORD);
-	WINBOOL GetConsoleMode(HANDLE, LPDWORD);
-	WINBOOL GetNumberOfConsoleInputEvents(HANDLE, PDWORD);
-	WINBOOL GetConsoleScreenBufferInfo(HANDLE, PCONSOLE_SCREEN_BUFFER_INFO);
-	COORD GetLargestConsoleWindowSize(HANDLE);
-	WINBOOL GetConsoleCursorInfo(HANDLE, PCONSOLE_CURSOR_INFO);
-	WINBOOL GetNumberOfConsoleMouseButtons(LPDWORD);
-	WINBOOL SetConsoleMode(HANDLE, DWORD);
-	WINBOOL SetConsoleActiveScreenBuffer(HANDLE);
-	WINBOOL FlushConsoleInputBuffer(HANDLE);
-	WINBOOL SetConsoleScreenBufferSize(HANDLE, COORD);
-	WINBOOL SetConsoleCursorPosition(HANDLE, COORD);
-	WINBOOL SetConsoleCursorInfo(HANDLE, PCONSOLE_CURSOR_INFO);
-	WINBOOL SetConsoleWindowInfo(HANDLE, WINBOOL, SMALL_RECT*);
-	WINBOOL SetConsoleTextAttribute(HANDLE, ushort);
-	WINBOOL SetConsoleCtrlHandler(PHANDLER_ROUTINE, WINBOOL);
-	WINBOOL GenerateConsoleCtrlEvent(DWORD, DWORD);
-	WINBOOL AllocConsole();
-	WINBOOL FreeConsole();
-	HANDLE CreateConsoleScreenBuffer(DWORD, DWORD, SECURITY_ATTRIBUTES*, DWORD, LPVOID);
-	UINT GetConsoleCP();
-	WINBOOL SetConsoleCP(UINT);
-	UINT GetConsoleOutputCP();
-	WINBOOL SetConsoleOutputCP(UINT);
-	DWORD WNetConnectionDialog(HWND, DWORD);
-	DWORD WNetDisconnectDialog(HWND, DWORD);
-	DWORD WNetCloseEnum(HANDLE);
-	WINBOOL CloseServiceHandle(SC_HANDLE);
-	WINBOOL ControlService(SC_HANDLE, DWORD, LPSERVICE_STATUS);
-	WINBOOL DeleteService(SC_HANDLE);
-	SC_LOCK LockServiceDatabase(SC_HANDLE);
-	WINBOOL NotifyBootConfigStatus(WINBOOL);
-	WINBOOL QueryServiceObjectSecurity(SC_HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
-	WINBOOL QueryServiceStatus(SC_HANDLE, LPSERVICE_STATUS);
-	WINBOOL SetServiceObjectSecurity(SC_HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
-	WINBOOL SetServiceStatus(SERVICE_STATUS_HANDLE, LPSERVICE_STATUS);
-	WINBOOL UnlockServiceDatabase(SC_LOCK);
-	int ChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR*);
-	int DescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
-	WINBOOL SetPixelFormat(HDC, int, PPIXELFORMATDESCRIPTOR);
-	WINBOOL SwapBuffers(HDC);
-	WINBOOL DragQueryPoint(HDROP, LPPOINT);
-	void DragFinish(HDROP);
-	void DragAcceptFiles(HWND, BOOL);
-	HICON DuplicateIcon(HINST, HICON);
-	BOOL DdeAbandonTransaction(DWORD, HCONV, DWORD);
-	PBYTE DdeAccessData(HDDEDATA, PDWORD);
-	HDDEDATA DdeAddData(HDDEDATA, PBYTE, DWORD, DWORD);
-	HDDEDATA DdeClientTransaction(PBYTE, DWORD, HCONV, HSZ, UINT, UINT, DWORD, PDWORD);
-	int DdeCmpStringHandles(HSZ, HSZ);
-	HCONV DdeConnect(DWORD, HSZ, HSZ, CONVCONTEXT*);
-	HCONVLIST DdeConnectList(DWORD, HSZ, HSZ, HCONVLIST, PCONVCONTEXT);
-	HDDEDATA DdeCreateDataHandle(DWORD, LPBYTE, DWORD, DWORD, HSZ, UINT, UINT);
-	WINBOOL DdeDisconnect(HCONV);
-	BOOL DdeDisconnectList(HCONVLIST);
-	BOOL DdeEnableCallback(DWORD, HCONV, UINT);
-	WINBOOL DdeFreeDataHandle(HDDEDATA);
-	WINBOOL DdeFreeStringHandle(DWORD, HSZ);
-	DWORD DdeGetData(HDDEDATA, ubyte*, DWORD, DWORD);
-	UINT DdeGetLastError(DWORD);
-	BOOL DdeImpersonateClient(HCONV);
-	BOOL DdeKeepStringHandle(DWORD, HSZ);
-	HDDEDATA DdeNameService(DWORD, HSZ, HSZ, UINT);
-	WINBOOL DdePostAdvise(DWORD, HSZ, HSZ);
-	UINT DdeQueryConvInfo(HCONV, DWORD, PCONVINFO);
-	HCONV DdeQueryNextServer(HCONVLIST, HCONV);
-	HCONV DdeReconnect(HCONV);
-	BOOL DdeSetUserHandle(HCONV, DWORD, DWORD);
-	BOOL DdeUnaccessData(HDDEDATA);
-	WINBOOL DdeUninitialize(DWORD);
-	void SHAddToRecentDocs(UINT);
-	LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO);
-	void SHChangeNotify(LONG, UINT, LPCVOID);
-	int SHFileOperation(LPSHFILEOPSTRUCT);
-	void SHFreeNameMappings(HANDLE);
-	DWORD SHGetFileInfo(LPCTSTR, DWORD, SHFILEINFO*, UINT, UINT);
-	WINBOOL SHGetPathFromIDList(LPCITEMIDLIST, LPTSTR);
-	HRESULT SHGetSpecialFolderLocation(HWND, int, LPITEMIDLIST*);
-	THANDLE CreateThread(POINTER, DWORD, TFNTHREADSTARTROUTINE, POINTER, DWORD, DWORD*);
-	BOOL DdeSetQualityOfService(HWND, TSECURITYQUALITYOFSERVICE*, PSECURITYQUALITYOFSERVICE);
-	BOOL GetCommMask(THANDLE, DWORD*);
-	BOOL GetDiskFreeSpaceExA(LPCSTR, void*, void*, PLARGEINTEGER);
-	BOOL GetDiskFreeSpaceExW(LPWSTR, void*, void*, PLARGEINTEGER);
-	DWORD GetKerningPairs(HDC, DWORD, void*);
-	BOOL GetOverlappedResult(THANDLE, TOVERLAPPED*, DWORD*, BOOL);
-	BOOL GetQueuedCompletionStatus(THANDLE, DWORD*, DWORD*, POVERLAPPED*, DWORD);
-	BOOL GetSystemPowerStatus(TSYSTEMPOWERSTATUS*);
-	BOOL ReadFile(THANDLE, void*, DWORD, DWORD*, POVERLAPPED);
-	BOOL SetThreadContext(THANDLE, TCONTEXT*);
-	BOOL wglDescribeLayerPlane(HDC, int, int, uint, TLAYERPLANEDESCRIPTOR*);
-	int wglGetLayerPaletteEntries(HDC, int, int, int, void*);
-	int wglSetLayerPaletteEntries(HDC, int, int, int, void*);
-	DWORD WNetGetResourceParentA(PNETRESOURCEA, POINTER, DWORD*);
-	BOOL WriteFile(THANDLE, void*, DWORD, DWORD*, POVERLAPPED);
-
-        BOOL CancelWaitableTimer(HANDLE hTimer);
-        HANDLE OpenWaitableTimerA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpTimerName);
-        HANDLE OpenWaitableTimerW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpTimerName);
-        HANDLE CreateWaitableTimerA(LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCSTR lpTimerName);
-        HANDLE CreateWaitableTimerW(LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCWSTR lpTimerName);
-        BOOL SetWaitableTimer(HANDLE hTimer, LARGE_INTEGER* pDueTime, LONG lPeriod, PTIMERAPCROUTINE pfnCompletionRoutine, LPVOID lpArgToCompletionRoutine, BOOL fResume);
-}
\ No newline at end of file