root/dwt/internal/win32/WINAPI.d

Revision 276:240db000bbcd, 152.6 kB (checked in by Frank Benoit <benoit@tionex.de>, 5 months ago)

Load some more WinAPI functions dynamically.

  • Property exe set to *
Line 
1 /**
2  * This module declared window APIs required by DWT but not in std.c.windows.windows,
3  * The one in the std.c.windows.windows module are aliased
4  */
5
6
7 module dwt.internal.win32.WINAPI;
8
9 public import dwt.internal.win32.WINTYPES;
10 //import tango_sys_win32.Types;
11 //import STDWIN = tango_sys_win32.UserGdi;
12
13 version(TANGOSVN){
14     import tango.sys.win32.Types;
15 }
16 else{ // !TANGOSVN
17
18 extern(Windows)
19 {
20
21 //     BOOL GetWindowInfo(HWND, PWINDOWINFO);
22 //     BOOL EnumDisplayMonitors(HDC, RECT*, MONITORENUMPROC, LPARAM);
23 //     BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFO);
24 //     WINBOOL GetBinaryTypeA(LPCSTR, LPDWORD);
25 //     DWORD GetShortPathNameA(LPCSTR, LPSTR, DWORD);
26 //     LPSTR GetEnvironmentStringsA();
27 //     WINBOOL FreeEnvironmentStringsA(LPSTR);
28 //     DWORD FormatMessageA(DWORD, LPCVOID, DWORD, DWORD, LPSTR, DWORD, VA_LIST*);
29 //     HANDLE CreateMailslotA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
30 //     int lstrcmpA(LPCSTR, LPCSTR);
31 //     int lstrcmpiA(LPCSTR, LPCSTR);
32 //     LPSTR lstrcpynA(LPSTR, LPCSTR, int);
33 //     LPSTR lstrcpyA(LPSTR, LPCSTR);
34 //     LPSTR lstrcatA(LPSTR, LPCSTR);
35 //     int lstrlenA(LPCSTR);
36 //     HANDLE CreateMutexA(LPSECURITY_ATTRIBUTES, WINBOOL, LPCSTR);
37 //     HANDLE OpenMutexA(DWORD, WINBOOL, LPCSTR);
38 //     HANDLE CreateEventA(LPSECURITY_ATTRIBUTES, WINBOOL, WINBOOL, LPCSTR);
39 //     HANDLE OpenEventA(DWORD, WINBOOL, LPCSTR);
40 //     HANDLE CreateSemaphoreA(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCSTR);
41 //     HANDLE OpenSemaphoreA(DWORD, WINBOOL, LPCSTR);
42 //     HANDLE CreateFileMappingA(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCSTR);
43 //     HANDLE OpenFileMappingA(DWORD, WINBOOL, LPCSTR);
44 //     DWORD GetLogicalDriveStringsA(DWORD, LPSTR);
45     HINST LoadLibraryA(LPCSTR);
46 //     HINST LoadLibraryExA(LPCSTR, HANDLE, DWORD);
47 //     DWORD GetModuleFileNameA(HINST, LPSTR, DWORD);
48     HMODULE GetModuleHandleA(LPCSTR);
49 //     void FatalAppExitA(UINT);
50 //     LPSTR GetCommandLineA();
51 //     DWORD GetEnvironmentVariableA(LPCSTR, LPSTR, DWORD);
52 //     WINBOOL SetEnvironmentVariableA(LPCSTR, LPCSTR);
53 //     DWORD ExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD);
54 //     void OutputDebugStringA(LPCSTR);
55 //     HRSRC FindResourceA(HINST, LPCSTR, LPCSTR);
56 //     HRSRC FindResourceExA(HINST, LPCSTR, LPCSTR, ushort);
57 //     WINBOOL EnumResourceTypesA(HINST, ENUMRESTYPEPROC, LONG);
58 //     WINBOOL EnumResourceNamesA(HINST, LPCSTR, ENUMRESNAMEPROC, LONG);
59 //     WINBOOL EnumResourceLanguagesA(HINST, LPCSTR, LPCSTR, ENUMRESLANGPROC, LONG);
60 //     HANDLE BeginUpdateResourceA(LPCSTR, WINBOOL);
61 //     WINBOOL UpdateResourceA(HANDLE, LPCSTR, LPCSTR, ushort, LPVOID, DWORD);
62 //     WINBOOL EndUpdateResourceA(HANDLE, WINBOOL);
63 //     ATOM GlobalAddAtomA(LPCSTR);
64 //     ATOM GlobalFindAtomA(LPCSTR);
65 //     UINT GlobalGetAtomNameA(ATOM, LPSTR, int);
66 //     ATOM AddAtomA(LPCSTR);
67 //     ATOM FindAtomA(LPCSTR);
68 //     UINT GetAtomNameA(ATOM, LPSTR, int);
69 //     UINT GetProfileIntA(LPCSTR, LPCSTR, INT);
70 //     DWORD GetProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD);
71 //     WINBOOL WriteProfileStringA(LPCSTR, LPCSTR, LPCSTR);
72 //     DWORD GetProfileSectionA(LPCSTR, LPSTR, DWORD);
73 //     WINBOOL WriteProfileSectionA(LPCSTR, LPCSTR);
74 //     UINT GetPrivateProfileIntA(LPCSTR, LPCSTR, INT, LPCSTR);
75 //     DWORD GetPrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD, LPCSTR);
76 //     WINBOOL WritePrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPCSTR);
77 //     DWORD GetPrivateProfileSectionA(LPCSTR, LPSTR, DWORD, LPCSTR);
78 //     WINBOOL WritePrivateProfileSectionA(LPCSTR, LPCSTR, LPCSTR);
79 //     UINT GetDriveTypeA(LPCSTR);
80 //     UINT GetSystemDirectoryA(LPSTR, UINT);
81 //     DWORD GetTempPathA(DWORD, LPSTR);
82 //     UINT GetTempFileNameA(LPCSTR, LPCSTR, UINT, LPSTR);
83 //     UINT GetWindowsDirectoryA(LPSTR, UINT);
84 //     WINBOOL SetCurrentDirectoryA(LPCSTR);
85 //     DWORD GetCurrentDirectoryA(DWORD, LPSTR);
86 //     WINBOOL GetDiskFreeSpaceA(LPCSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
87 //     WINBOOL CreateDirectoryA(LPCSTR, LPSECURITY_ATTRIBUTES);
88 //     WINBOOL CreateDirectoryExA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
89 //     WINBOOL RemoveDirectoryA(LPCSTR);
90 //     DWORD GetFullPathNameA(LPCSTR, DWORD, LPSTR, LPSTR*);
91 //     WINBOOL DefineDosDeviceA(DWORD, LPCSTR, LPCSTR);
92 //     DWORD QueryDosDeviceA(LPCSTR, LPSTR, DWORD);
93     HANDLE CreateFileA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
94 //     WINBOOL SetFileAttributesA(LPCSTR, DWORD);
95 //     DWORD GetFileAttributesA(LPCSTR);
96 //     BOOL GetFileAttributesExA(LPCSTR, DWORD, WIN32_FILE_ATTRIBUTE_DATA*);
97 //     DWORD GetCompressedFileSizeA(LPCSTR, LPDWORD);
98 //     WINBOOL DeleteFileA(LPCSTR);
99 //     DWORD SearchPathA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPSTR);
100 //     WINBOOL CopyFileA(LPCSTR, LPCSTR, WINBOOL);
101 //     WINBOOL MoveFileA(LPCSTR, LPCSTR);
102 //     WINBOOL MoveFileExA(LPCSTR, LPCSTR, DWORD);
103 //     HANDLE CreateNamedPipeA(LPCSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
104 //     WINBOOL GetNamedPipeHandleStateA(HANDLE, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPSTR, DWORD);
105 //     WINBOOL CallNamedPipeA(LPCSTR, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, DWORD);
106 //     WINBOOL WaitNamedPipeA(LPCSTR, DWORD);
107 //     WINBOOL SetVolumeLabelA(LPCSTR, LPCSTR);
108 //     WINBOOL GetVolumeInformationA(LPCSTR, LPSTR, DWORD, LPDWORD, LPDWORD, LPDWORD, LPSTR, DWORD);
109 //     WINBOOL ClearEventLogA(HANDLE, LPCSTR);
110 //     WINBOOL BackupEventLogA(HANDLE, LPCSTR);
111 //     HANDLE OpenEventLogA(LPCSTR, LPCSTR);
112 //     HANDLE RegisterEventSourceA(LPCSTR, LPCSTR);
113 //     HANDLE OpenBackupEventLogA(LPCSTR, LPCSTR);
114 //     WINBOOL ReadEventLogA(HANDLE, DWORD, DWORD, LPVOID, DWORD, LPDWORD, LPDWORD);
115 //     WINBOOL ReportEventA(HANDLE, ushort, ushort, DWORD, PSID, ushort, DWORD, LPCSTR*, LPVOID);
116 //     WINBOOL AccessCheckAndAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, WINBOOL, LPDWORD, LPBOOL, LPBOOL);
117 //     WINBOOL ObjectOpenAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, WINBOOL, WINBOOL, LPBOOL);
118 //     WINBOOL ObjectPrivilegeAuditAlarmA(LPCSTR, LPVOID, HANDLE, DWORD, PPRIVILEGE_SET, WINBOOL);
119 //     WINBOOL ObjectCloseAuditAlarmA(LPCSTR, LPVOID, WINBOOL);
120 //     WINBOOL PrivilegedServiceAuditAlarmA(LPCSTR, LPCSTR, HANDLE, PPRIVILEGE_SET, WINBOOL);
121 //     WINBOOL SetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
122 //     WINBOOL GetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
123 //     HANDLE FindFirstChangeNotificationA(LPCSTR, WINBOOL, DWORD);
124 //     WINBOOL IsBadStringPtrA(LPCSTR, UINT);
125 //     WINBOOL LookupAccountSidA(LPCSTR, PSID, LPSTR, LPDWORD, LPSTR, LPDWORD, PSID_NAME_USE);
126 //     WINBOOL LookupAccountNameA(LPCSTR, LPCSTR, PSID, LPDWORD, LPSTR, LPDWORD, PSID_NAME_USE);
127 //     WINBOOL LookupPrivilegeValueA(LPCSTR, LPCSTR, PLUID);
128 //     WINBOOL LookupPrivilegeNameA(LPCSTR, PLUID, LPSTR, LPDWORD);
129 //     WINBOOL LookupPrivilegeDisplayNameA(LPCSTR, LPCSTR, LPSTR, LPDWORD, LPDWORD);
130 //     WINBOOL BuildCommDCBA(LPCSTR, LPDCB);
131 //     WINBOOL BuildCommDCBAndTimeoutsA(LPCSTR, LPDCB, LPCOMMTIMEOUTS);
132 //     WINBOOL CommConfigDialogA(LPCSTR, HWND, LPCOMMCONFIG);
133 //     WINBOOL GetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, LPDWORD);
134 //     WINBOOL SetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, DWORD);
135 //     WINBOOL GetComputerNameA(LPSTR, LPDWORD);
136 //     WINBOOL SetComputerNameA(LPCSTR);
137 //     WINBOOL GetUserNameA(LPSTR, LPDWORD);
138 //     int wvsprintfA(LPSTR, LPCSTR, VA_LIST*);
139 //     HKL LoadKeyboardLayoutA(LPCSTR, UINT);
140 //     WINBOOL GetKeyboardLayoutNameA(LPSTR);
141 //     HDESK CreateDesktopA(LPSTR, LPSTR, LPDEVMODE, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
142 //     HDESK OpenDesktopA(LPSTR, DWORD, WINBOOL, DWORD);
143 //     WINBOOL EnumDesktopsA(HWINSTA, DESKTOPENUMPROC, LPARAM);
144 //     HWINSTA CreateWindowStationA(LPSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
145 //     HWINSTA OpenWindowStationA(LPSTR, WINBOOL, DWORD);
146 //     WINBOOL EnumWindowStationsA(ENUMWINDOWSTATIONPROC, LPARAM);
147 //     WINBOOL GetUserObjectInformationA(HANDLE, int, PVOID, DWORD, LPDWORD);
148 //     WINBOOL SetUserObjectInformationA(HANDLE, int, PVOID, DWORD);
149 //     UINT RegisterWindowMessageA(LPCSTR);
150     WINBOOL GetMessageA(LPMSG, HWND, UINT, UINT);
151 //     LONG DispatchMessageA(LPMSG);
152     WINBOOL PeekMessageA(LPMSG, HWND, UINT, UINT, UINT);
153 //     LRESULT SendMessageA(HWND, UINT, WPARAM, LPARAM);
154 //     LRESULT SendMessageTimeoutA(HWND, UINT, WPARAM, LPARAM, UINT, UINT, LPDWORD);
155 //     WINBOOL SendNotifyMessageA(HWND, UINT, WPARAM, LPARAM);
156 //     WINBOOL SendMessageCallbackA(HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD);
157 //     WINBOOL PostMessageA(HWND, UINT, WPARAM, LPARAM);
158 //     WINBOOL PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM);
159     LRESULT DefWindowProcA(HWND, UINT, WPARAM, LPARAM);
160 //     LRESULT CallWindowProcA(WNDPROC, HWND, UINT, WPARAM, LPARAM);
161 //     ATOM RegisterClassA(LPWNDCLASSA);
162 //     WINBOOL UnregisterClassA(LPCSTR, HINST);
163 //     WINBOOL GetClassInfoA(HINST, LPCSTR, LPWNDCLASS);
164 //     ATOM RegisterClassExA(LPWNDCLASSEX);
165 //     WINBOOL GetClassInfoExA(HINST, LPCSTR, LPWNDCLASSEX);
166     HWND CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINST, LPVOID);
167 //     HWND CreateDialogParamA(HINST, LPCSTR, HWND, DLGPROC, LPARAM);
168 //     HWND CreateDialogIndirectParamA(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
169 //     int DialogBoxParamA(HINST, LPCSTR, HWND, DLGPROC, LPARAM);
170 //     int DialogBoxIndirectParamA(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
171 //     WINBOOL SetDlgItemTextA(HWND, int, LPCSTR);
172 //     UINT GetDlgItemTextA(HWND, int, LPSTR, int);
173 //     LONG SendDlgItemMessageA(HWND, int, UINT, WPARAM, LPARAM);
174 //     LRESULT DefDlgProcA(HWND, UINT, WPARAM, LPARAM);
175 //     WINBOOL CallMsgFilterA(LPMSG, int);
176 //     UINT RegisterClipboardFormatA(LPCSTR);
177 //     int GetClipboardFormatNameA(UINT, LPSTR, int);
178 //     WINBOOL CharToOemA(LPCSTR, LPSTR);
179 //     WINBOOL OemToCharA(LPCSTR, LPSTR);
180 //     WINBOOL CharToOemBuffA(LPCSTR, LPSTR, DWORD);
181 //     WINBOOL OemToCharBuffA(LPCSTR, LPSTR, DWORD);
182 //     LPSTR CharUpperA(LPSTR);
183 //     DWORD CharUpperBuffA(LPSTR, DWORD);
184 //     LPSTR CharLowerA(LPSTR);
185 //     DWORD CharLowerBuffA(LPSTR, DWORD);
186 //     LPSTR CharNextA(LPCSTR);
187 //     LPSTR CharPrevA(LPCSTR, LPCSTR);
188 //     WINBOOL IsCharAlphaA(char);
189 //     WINBOOL IsCharAlphaNumericA(char);
190 //     WINBOOL IsCharUpperA(char);
191 //     WINBOOL IsCharLowerA(char);
192 //     int GetKeyNameTextA(LONG, LPSTR, int);
193 //     SHORT VkKeyScanA(char);
194 //     SHORT VkKeyScanExA(char, HKL);
195 //     UINT MapVirtualKeyA(UINT, UINT);
196 //     UINT MapVirtualKeyExA(UINT, UINT, HKL);
197 //     HACCEL LoadAcceleratorsA(HINST, LPCSTR);
198 //     HACCEL CreateAcceleratorTableA(LPACCEL, int);
199 //     int CopyAcceleratorTableA(HACCEL, LPACCEL, int);
200 //     int TranslateAcceleratorA(HWND, HACCEL, LPMSG);
201 //     HMENU LoadMenuA(HINST, LPCSTR);
202 //     HMENU LoadMenuIndirectA(LPMENUTEMPLATE);
203 //     WINBOOL ChangeMenuA(HMENU, UINT, LPCSTR, UINT, UINT);
204 //     int GetMenuStringA(HMENU, UINT, LPSTR, int, UINT);
205 //     WINBOOL InsertMenuA(HMENU, UINT, UINT, UINT, LPCSTR);
206 //     WINBOOL AppendMenuA(HMENU, UINT, UINT, LPCSTR);
207 //     WINBOOL ModifyMenuA(HMENU, UINT, UINT, UINT, LPCSTR);
208 //     WINBOOL InsertMenuItemA(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
209 //     WINBOOL GetMenuItemInfoA(HMENU, UINT, WINBOOL, LPMENUITEMINFO);
210 //     WINBOOL SetMenuItemInfoA(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
211 //     int DrawTextA(HDC, LPCSTR, int, LPRECT, UINT);
212 //     int DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
213 //     WINBOOL GrayStringA(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int);
214 //     WINBOOL DrawStateA(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
215 //     LONG TabbedTextOutA(HDC, int, int, LPCSTR, int, int, LPINT, int);
216 //     DWORD GetTabbedTextExtentA(HDC, LPCSTR, int, int, LPINT);
217 //     WINBOOL SetPropA(HWND, LPCSTR, HANDLE);
218 //     HANDLE GetPropA(HWND, LPCSTR);
219 //     HANDLE RemovePropA(HWND, LPCSTR);
220 //     int EnumPropsExA(HWND, PROPENUMPROCEX, LPARAM);
221 //     int EnumPropsA(HWND, PROPENUMPROC);
222 //     WINBOOL SetWindowTextA(HWND, LPCSTR);
223 //     int GetWindowTextA(HWND, LPSTR, int);
224 //     int GetWindowTextLengthA(HWND);
225     int MessageBoxA(HWND, LPCSTR, LPCSTR, UINT);
226 //     int MessageBoxExA(HWND, LPCSTR, LPCSTR, UINT, ushort);
227 //     int MessageBoxIndirectA(LPMSGBOXPARAMS);
228 //     LONG GetWindowLongA(HWND, int);
229 //     LONG SetWindowLongA(HWND, int, LONG);
230 //     DWORD GetClassLongA(HWND, int);
231 //     DWORD SetClassLongA(HWND, int, LONG);
232 //     HWND FindWindowA(LPCSTR, LPCSTR);
233 //     HWND FindWindowExA(HWND, HWND, LPCSTR, LPCSTR);
234 //     int GetClassNameA(HWND, LPSTR, int);
235 //     HHOOK SetWindowsHookExA(int, HOOKPROC, HINST, DWORD);
236 //     HBITMAP LoadBitmapA(HINST, LPCSTR);
237     HCURSOR LoadCursorA(HINST, LPCSTR);
238 //     HCURSOR LoadCursorFromFileA(LPCSTR);
239     HICON LoadIconA(HINST, LPCSTR);
240 //     HANDLE LoadImageA(HINST, LPCSTR, UINT, int, int, UINT);
241 //     int LoadStringA(HINST, UINT, LPSTR, int);
242 //     WINBOOL IsDialogMessageA(HWND, LPMSG);
243 //     int DlgDirListA(HWND, LPSTR, int, int, UINT);
244 //     WINBOOL DlgDirSelectExA(HWND, LPSTR, int, int);
245 //     int DlgDirListComboBoxA(HWND, LPSTR, int, int, UINT);
246 //     WINBOOL DlgDirSelectComboBoxExA(HWND, LPSTR, int, int);
247 //     LRESULT DefFrameProcA(HWND, HWND, UINT, WPARAM, LPARAM);
248 //     LRESULT DefMDIChildProcA(HWND, UINT, WPARAM, LPARAM);
249 //     HWND CreateMDIWindowA(LPSTR, LPSTR, DWORD, int, int, int, int, HWND, HINST, LPARAM);
250 //     WINBOOL WinHelpA(HWND, LPCSTR, UINT, DWORD);
251 //     LONG ChangeDisplaySettingsA(LPDEVMODE, DWORD);
252 //     WINBOOL EnumDisplaySettingsA(LPCSTR, DWORD, LPDEVMODE);
253 //     WINBOOL SystemParametersInfoA(UINT, UINT, PVOID, UINT);
254 //     int AddFontResourceA(LPCSTR);
255 //     HMETAFILE CopyMetaFileA(HMETAFILE, LPCSTR);
256 //     HFONT CreateFontIndirectA(LPLOGFONT);
257 //     HDC CreateICA(LPCSTR, LPCSTR, LPCSTR, LPDEVMODE);
258 //     HDC CreateMetaFileA(LPCSTR);
259 //     WINBOOL CreateScalableFontResourceA(DWORD, LPCSTR, LPCSTR, LPCSTR);
260 //     int EnumFontFamiliesExA(HDC, LPLOGFONT, FONTENUMEXPROC, LPARAM, DWORD);
261 //     int EnumFontFamiliesA(HDC, LPCSTR, FONTENUMPROC, LPARAM);
262 //     int EnumFontsA(HDC, LPCSTR, ENUMFONTSPROC, LPARAM);
263 //     WINBOOL GetCharWidthA(HDC, UINT, UINT, LPINT);
264 //     WINBOOL GetCharWidth32A(HDC, UINT, UINT, LPINT);
265 //     WINBOOL GetCharWidthFloatA(HDC, UINT, UINT, PFLOAT);
266 //     WINBOOL GetCharABCWidthsA(HDC, UINT, UINT, LPABC);
267 //     WINBOOL GetCharABCWidthsFloatA(HDC, UINT, UINT, LPABCFLOAT);
268 //     DWORD GetGlyphOutlineA(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, PMAT2);
269 //     HMETAFILE GetMetaFileA(LPCSTR);
270      UINT GetOutlineTextMetricsA(HDC, UINT, LPOUTLINETEXTMETRIC);
271 //     WINBOOL GetTextExtentPointA(HDC, LPCSTR, int, LPSIZE);
272 //     WINBOOL GetTextExtentPoint32A(HDC, LPCSTR, int, LPSIZE);
273 //     WINBOOL GetTextExtentExPointA(HDC, LPCSTR, int, int, LPINT, LPINT, LPSIZE);
274 //     DWORD GetCharacterPlacementA(HDC, LPCSTR, int, int, LPGCP_RESULTS, DWORD);
275 //     HDC ResetDCA(HDC, LPDEVMODE);
276 //     WINBOOL RemoveFontResourceA(LPCSTR);
277 //     HENHMETAFILE CopyEnhMetaFileA(HENHMETAFILE, LPCSTR);
278     HDC CreateEnhMetaFileA(HDC, LPCSTR, LPRECT, LPCSTR);
279 //     HENHMETAFILE GetEnhMetaFileA(LPCSTR);
280 //     UINT GetEnhMetaFileDescriptionA(HENHMETAFILE, UINT, LPSTR);
281     WINBOOL GetTextMetricsA(HDC, LPTEXTMETRIC);
282 //     int StartDocA(HDC, PDOCINFO);
283     int GetObjectA(HGDIOBJ, int, LPVOID);
284 //     WINBOOL TextOutA(HDC, int, int, LPCSTR, int);
285 //     WINBOOL ExtTextOutA(HDC, int, int, UINT, LPRECT, LPCSTR, UINT, LPINT);
286 //     WINBOOL PolyTextOutA(HDC, PPOLYTEXT, int);
287 //     int GetTextFaceA(HDC, int, LPSTR);
288 //     DWORD GetKerningPairsA(HDC, DWORD, LPKERNINGPAIR);
289 //     HCOLORSPACE CreateColorSpaceA(LPLOGCOLORSPACE);
290 //     WINBOOL GetLogColorSpaceA(HCOLORSPACE, LPLOGCOLORSPACE, DWORD);
291 //     WINBOOL GetICMProfileA(HDC, DWORD, LPSTR);
292 //     WINBOOL SetICMProfileA(HDC, LPSTR);
293 //     WINBOOL UpdateICMRegKeyA(DWORD, DWORD, LPSTR, UINT);
294 //     int EnumICMProfilesA(HDC, ICMENUMPROC, LPARAM);
295 //     int PropertySheetA(LPCPROPSHEETHEADER);
296 //     HIMAGELIST ImageList_LoadImageA(HINST, LPCSTR, int, int, COLORREF, UINT, UINT);
297 //     HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT);
298 //     void DrawStatusTextA(HDC, LPRECT, LPCSTR);
299 //     WINBOOL GetOpenFileNameA(LPOPENFILENAME);
300 //     WINBOOL GetSaveFileNameA(LPOPENFILENAME);
301 //     int GetFileTitleA(LPCSTR, LPSTR, ushort);
302 //     WINBOOL ChooseColorA(LPCHOOSECOLOR);
303 //     HWND FindTextA(LPFINDREPLACE);
304 //     HWND ReplaceTextA(LPFINDREPLACE);
305 //     WINBOOL ChooseFontA(LPCHOOSEFONT);
306     WINBOOL PrintDlgA(LPPRINTDLG);
307 //     WINBOOL PageSetupDlgA(LPPAGESETUPDLG);
308 //     WINBOOL CreateProcessA(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
309 //     void GetStartupInfoA(LPSTARTUPINFO);
310 //     HANDLE FindFirstFileA(LPCSTR, LPWIN32_FIND_DATA);
311 //     WINBOOL FindNextFileA(HANDLE, LPWIN32_FIND_DATA);
312 //     WINBOOL GetVersionExA(LPOSVERSIONINFO);
313 //     HDC CreateDCA(LPCSTR, LPCSTR, LPCSTR, PDEVMODE);
314 //     DWORD VerInstallFileA(DWORD, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, PUINT);
315 //     DWORD GetFileVersionInfoSizeA(LPSTR, LPDWORD);
316 //     WINBOOL GetFileVersionInfoA(LPSTR, DWORD, DWORD, LPVOID);
317 //     DWORD VerLanguageNameA(DWORD, LPSTR, DWORD);
318 //     WINBOOL VerQueryValueA(LPVOID, LPSTR, LPVOID, PUINT);
319 //     DWORD VerFindFileA(DWORD, LPSTR, LPSTR, LPSTR, LPSTR, PUINT, LPSTR, PUINT);
320 //     LONG RegConnectRegistryA(LPSTR, HKEY, PHKEY);
321 //     LONG RegCreateKeyA(HKEY, LPCSTR, PHKEY);
322 //     LONG RegCreateKeyExA(HKEY, LPCSTR, DWORD, LPSTR, DWORD, REGSAM, LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD);
323 //     LONG RegDeleteKeyA(HKEY, LPCSTR);
324 //     LONG RegDeleteValueA(HKEY, LPCSTR);
325 //     LONG RegEnumKeyA(HKEY, DWORD, LPSTR, DWORD);
326 //     LONG RegEnumKeyExA(HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPSTR, LPDWORD, PFILETIME);
327 //     LONG RegEnumValueA(HKEY, DWORD, LPSTR, LPDWORD, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
328 //     LONG RegLoadKeyA(HKEY, LPCSTR, LPCSTR);
329 //     LONG RegOpenKeyA(HKEY, LPCSTR, PHKEY);
330 //     LONG RegOpenKeyExA(HKEY, LPCSTR, DWORD, REGSAM, PHKEY);
331 //     LONG RegQueryInfoKeyA(HKEY, LPSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, PFILETIME);
332 //     LONG RegQueryValueA(HKEY, LPCSTR, LPSTR, PLONG);
333 //     LONG RegQueryMultipleValuesA(HKEY, PVALENT, DWORD, LPSTR, LPDWORD);
334 //     LONG RegQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
335 //     LONG RegReplaceKeyA(HKEY, LPCSTR, LPCSTR, LPCSTR);
336 //     LONG RegRestoreKeyA(HKEY, LPCSTR, DWORD);
337 //     LONG RegSaveKeyA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES);
338 //     LONG RegSetValueA(HKEY, LPCSTR, DWORD, LPCSTR, DWORD);
339 //     LONG RegSetValueExA(HKEY, LPCSTR, DWORD, DWORD, LPBYTE, DWORD);
340 //     LONG RegUnLoadKeyA(HKEY, LPCSTR);
341 //     WINBOOL InitiateSystemShutdownA(LPSTR, LPSTR, DWORD, WINBOOL, WINBOOL);
342 //     WINBOOL AbortSystemShutdownA(LPSTR);
343 //     int CompareStringA(LCID, DWORD, LPCSTR, int, LPCSTR, int);
344 //     int LCMapStringA(LCID, DWORD, LPCSTR, int, LPSTR, int);
345 //     int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int);
346 //     WINBOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR);
347      int GetTimeFormatA(LCID, DWORD, LPSYSTEMTIME, LPCSTR, LPSTR, int);
348      int GetDateFormatA(LCID, DWORD, LPSYSTEMTIME, LPCSTR, LPSTR, int);
349 //     int GetNumberFormatA(LCID, DWORD, LPCSTR, PNUMBERFMT, LPSTR, int);
350 //     int GetCurrencyFormatA(LCID, DWORD, LPCSTR, PCURRENCYFMT, LPSTR, int);
351 //     WINBOOL EnumCalendarInfoA(CALINFO_ENUMPROC, LCID, CALID, CALTYPE);
352 //     WINBOOL EnumTimeFormatsA(TIMEFMT_ENUMPROC, LCID, DWORD);
353 //     WINBOOL EnumDateFormatsA(DATEFMT_ENUMPROC, LCID, DWORD);
354 //     WINBOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD);
355 //     WINBOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD);
356 //     int FoldStringA(DWORD, LPCSTR, int, LPSTR, int);
357 //     WINBOOL EnumSystemLocalesA(LOCALE_ENUMPROC, DWORD);
358 //     WINBOOL EnumSystemCodePagesA(CODEPAGE_ENUMPROC, DWORD);
359 //     WINBOOL PeekConsoleInputA(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
360 //     WINBOOL ReadConsoleInputA(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
361 //     WINBOOL WriteConsoleInputA(HANDLE, PINPUTRECORD, DWORD, LPDWORD);
362 //     WINBOOL ReadConsoleOutputA(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
363 //     WINBOOL WriteConsoleOutputA(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT);
364 //     WINBOOL ReadConsoleOutputCharacterA(HANDLE, LPSTR, DWORD, COORD, LPDWORD);
365 //     WINBOOL WriteConsoleOutputCharacterA(HANDLE, LPCSTR, DWORD, COORD, LPDWORD);
366 //     WINBOOL FillConsoleOutputCharacterA(HANDLE, char, DWORD, COORD, LPDWORD);
367 //     WINBOOL ScrollConsoleScreenBufferA(HANDLE, PSMALL_RECT, PSMALL_RECT, COORD, PCHAR_INFO);
368 //     DWORD GetConsoleTitleA(LPSTR, DWORD);
369 //     WINBOOL SetConsoleTitleA(LPCSTR);
370 //     WINBOOL ReadConsoleA(HANDLE, LPVOID, DWORD, LPDWORD, LPVOID);
371 //     WINBOOL WriteConsoleA(HANDLE, POINTER, DWORD, LPDWORD, LPVOID);
372 //     DWORD WNetAddConnectionA(LPCSTR, LPCSTR, LPCSTR);
373 //     DWORD WNetAddConnection2A(LPNETRESOURCE, LPCSTR, LPCSTR, DWORD);
374 //     DWORD WNetAddConnection3A(HWND, LPNETRESOURCE, LPCSTR, LPCSTR, DWORD);
375 //     DWORD WNetCancelConnectionA(LPCSTR, WINBOOL);
376 //     DWORD WNetCancelConnection2A(LPCSTR, DWORD, WINBOOL);
377 //     DWORD WNetGetConnectionA(LPCSTR, LPSTR, LPDWORD);
378 //     DWORD WNetUseConnectionA(HWND, LPNETRESOURCE, LPCSTR, LPCSTR, DWORD, LPSTR, LPDWORD, LPDWORD);
379 //     DWORD WNetSetConnectionA(LPCSTR, DWORD, LPVOID);
380 //     DWORD WNetConnectionDialog1A(LPCONNECTDLGSTRUCT);
381 //     DWORD WNetDisconnectDialog1A(LPDISCDLGSTRUCT);
382 //     DWORD WNetOpenEnumA(DWORD, DWORD, DWORD, LPNETRESOURCE, LPHANDLE);
383 //     DWORD WNetEnumResourceA(HANDLE, LPDWORD, LPVOID, LPDWORD);
384 //     DWORD WNetGetUniversalNameA(LPCSTR, DWORD, LPVOID, LPDWORD);
385 //     DWORD WNetGetUserA(LPCSTR, LPSTR, LPDWORD);
386 //     DWORD WNetGetProviderNameA(DWORD, LPSTR, LPDWORD);
387 //     DWORD WNetGetNetworkInformationA(LPCSTR, LPNETINFOSTRUCT);
388 //     DWORD WNetGetLastErrorA(LPDWORD, LPSTR, DWORD, LPSTR, DWORD);
389 //     DWORD MultinetGetConnectionPerformanceA(LPNETRESOURCE, LPNETCONNECTINFOSTRUCT);
390 //     WINBOOL ChangeServiceConfigA(SC_HANDLE, DWORD, DWORD, DWORD, LPCSTR, LPCSTR, LPDWORD, LPCSTR, LPCSTR, LPCSTR, LPCSTR);
391 //     SC_HANDLE CreateServiceA(SC_HANDLE, LPCSTR, LPCSTR, DWORD, DWORD, DWORD, DWORD, LPCSTR, LPCSTR, LPDWORD, LPCSTR, LPCSTR, LPCSTR);
392 //     WINBOOL EnumDependentServicesA(SC_HANDLE, DWORD, LPENUM_SERVICE_STATUS, DWORD, LPDWORD, LPDWORD);
393 //     WINBOOL EnumServicesStatusA(SC_HANDLE, DWORD, DWORD, LPENUM_SERVICE_STATUS, DWORD, LPDWORD, LPDWORD, LPDWORD);
394 //     WINBOOL GetServiceKeyNameA(SC_HANDLE, LPCSTR, LPSTR, LPDWORD);
395 //     WINBOOL GetServiceDisplayNameA(SC_HANDLE, LPCSTR, LPSTR, LPDWORD);
396 //     SC_HANDLE OpenSCManagerA(LPCSTR, LPCSTR, DWORD);
397 //     SC_HANDLE OpenServiceA(SC_HANDLE, LPCSTR, DWORD);
398 //     WINBOOL QueryServiceConfigA(SC_HANDLE, LPQUERY_SERVICE_CONFIG, DWORD, LPDWORD);
399 //     WINBOOL QueryServiceLockStatusA(SC_HANDLE, LPQUERY_SERVICE_LOCK_STATUS, DWORD, LPDWORD);
400 //     SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerA(LPCSTR, LPHANDLER_FUNCTION);
401 //     WINBOOL StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRY);
402 //     WINBOOL StartServiceA(SC_HANDLE, DWORD, LPCSTR);
403 //     uint DragQueryFileA(HDROP, uint, PCHAR, uint);
404 //     HICON ExtractAssociatedIconA(HINST, PCHAR, LPWORD);
405 //     HICON ExtractIconA(HINST, PCHAR, uint);
406 //     HINST FindExecutableA(PCHAR, PCHAR, PCHAR);
407 //     int ShellAboutA(HWND, PCHAR, PCHAR, HICON);
408 //     HINST ShellExecuteA(HWND, PCHAR, PCHAR, PCHAR, PCHAR, int);
409 //     HSZ DdeCreateStringHandleA(DWORD, PCHAR, int);
410 //     UINT DdeInitializeA(LPDWORD, PFNCALLBACK, DWORD, DWORD);
411 //     DWORD DdeQueryStringA(DWORD, HSZ, PCHAR, DWORD, int);
412 //     WINBOOL LogonUserA(LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE);
413 //     WINBOOL CreateProcessAsUserA(HANDLE, LPCTSTR, LPTSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCTSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
414 //     WINBOOL GetBinaryTypeW(LPCWSTR, LPDWORD);
415 //     DWORD GetShortPathNameW(LPCWSTR, LPWSTR, DWORD);
416 //     LPWSTR GetEnvironmentStringsW();
417 //     WINBOOL FreeEnvironmentStringsW(LPWSTR);
418 //     DWORD FormatMessageW(DWORD, LPCVOID, DWORD, DWORD, LPWSTR, DWORD, VA_LIST*);
419 //     HANDLE CreateMailslotW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
420 //     int lstrcmpW(LPCWSTR, LPCWSTR);
421 //     int lstrcmpiW(LPCWSTR, LPCWSTR);
422 //     LPWSTR lstrcpynW(LPWSTR, LPCWSTR, int);
423 //     LPWSTR lstrcpyW(LPWSTR, LPCWSTR);
424 //     LPWSTR lstrcatW(LPWSTR, LPCWSTR);
425 //     int lstrlenW(LPCWSTR);
426 //     HANDLE CreateMutexW(LPSECURITY_ATTRIBUTES, WINBOOL, LPCWSTR);
427 //     HANDLE OpenMutexW(DWORD, WINBOOL, LPCWSTR);
428 //     HANDLE CreateEventW(LPSECURITY_ATTRIBUTES, WINBOOL, WINBOOL, LPCWSTR);
429 //     HANDLE OpenEventW(DWORD, WINBOOL, LPCWSTR);
430 //     HANDLE CreateSemaphoreW(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCWSTR);
431 //     HANDLE OpenSemaphoreW(DWORD, WINBOOL, LPCWSTR);
432 //     HANDLE CreateFileMappingW(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR);
433 //     HANDLE OpenFileMappingW(DWORD, WINBOOL, LPCWSTR);
434 //     DWORD GetLogicalDriveStringsW(DWORD, LPWSTR);
435 //     HINST LoadLibraryW(LPCWSTR);
436 //     HINST LoadLibraryExW(LPCWSTR, HANDLE, DWORD);
437 //     DWORD GetModuleFileNameW(HINST, LPWSTR, DWORD);
438 //     HMODULE GetModuleHandleW(LPCWSTR);
439 //     void FatalAppExitW(UINT);
440 //     LPWSTR GetCommandLineW();
441 //     DWORD GetEnvironmentVariableW(LPCWSTR, LPWSTR, DWORD);
442 //     WINBOOL SetEnvironmentVariableW(LPCWSTR, LPCWSTR);
443 //     DWORD ExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD);
444 //     void OutputDebugStringW(LPCWSTR);
445 //     HRSRC FindResourceW(HINST, LPCWSTR, LPCWSTR);
446 //     HRSRC FindResourceExW(HINST, LPCWSTR, LPCWSTR, ushort);
447 //     WINBOOL EnumResourceTypesW(HINST, ENUMRESTYPEPROC, LONG);
448 //     WINBOOL EnumResourceNamesW(HINST, LPCWSTR, ENUMRESNAMEPROC, LONG);
449 //     WINBOOL EnumResourceLanguagesW(HINST, LPCWSTR, LPCWSTR, ENUMRESLANGPROC, LONG);
450 //     HANDLE BeginUpdateResourceW(LPCWSTR, WINBOOL);
451 //     WINBOOL UpdateResourceW(HANDLE, LPCWSTR, LPCWSTR, ushort, LPVOID, DWORD);
452 //     WINBOOL EndUpdateResourceW(HANDLE, WINBOOL);
453     ATOM GlobalAddAtomW(LPCWSTR);
454 //     ATOM GlobalFindAtomW(LPCWSTR);
455 //     UINT GlobalGetAtomNameW(ATOM, LPWSTR, int);
456 //     ATOM AddAtomW(LPCWSTR);
457 //     ATOM FindAtomW(LPCWSTR);
458 //     UINT GetAtomNameW(ATOM, LPWSTR, int);
459 //     UINT GetProfileIntW(LPCWSTR, LPCWSTR, INT);
460 //     DWORD GetProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD);
461 //     WINBOOL WriteProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR);
462 //     DWORD GetProfileSectionW(LPCWSTR, LPWSTR, DWORD);
463 //     WINBOOL WriteProfileSectionW(LPCWSTR, LPCWSTR);
464 //     UINT GetPrivateProfileIntW(LPCWSTR, LPCWSTR, INT, LPCWSTR);
465 //     DWORD GetPrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD, LPCWSTR);
466 //     WINBOOL WritePrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
467 //     DWORD GetPrivateProfileSectionW(LPCWSTR, LPWSTR, DWORD, LPCWSTR);
468 //     WINBOOL WritePrivateProfileSectionW(LPCWSTR, LPCWSTR, LPCWSTR);
469 //     UINT GetDriveTypeW(LPCWSTR);
470 //     UINT GetSystemDirectoryW(LPWSTR, UINT);
471 //     DWORD GetTempPathW(DWORD, LPWSTR);
472 //     UINT GetTempFileNameW(LPCWSTR, LPCWSTR, UINT, LPWSTR);
473 //     UINT GetWindowsDirectoryW(LPWSTR, UINT);
474 //     WINBOOL SetCurrentDirectoryW(LPCWSTR);
475 //     DWORD GetCurrentDirectoryW(DWORD, LPWSTR);
476 //     WINBOOL GetDiskFreeSpaceW(LPCWSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD);
477 //     WINBOOL CreateDirectoryW(LPCWSTR, LPSECURITY_ATTRIBUTES);
478 //     WINBOOL CreateDirectoryExW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
479 //     WINBOOL RemoveDirectoryW(LPCWSTR);
480 //     DWORD GetFullPathNameW(LPCWSTR, DWORD, LPWSTR, LPWSTR*);
481 //     WINBOOL DefineDosDeviceW(DWORD, LPCWSTR, LPCWSTR);
482 //     DWORD QueryDosDeviceW(LPCWSTR, LPWSTR, DWORD);
483     HANDLE CreateFileW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
484 //     WINBOOL SetFileAttributesW(LPCWSTR, DWORD);
485 //     DWORD GetFileAttributesW(LPCWSTR);
486 //     BOOL GetFileAttributesExW(LPCWSTR, DWORD, WIN32_FILE_ATTRIBUTE_DATA*);
487 //     DWORD GetCompressedFileSizeW(LPCWSTR, LPDWORD);
488     WINBOOL DeleteFileW(LPCWSTR);
489 //     DWORD SearchPathW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPWSTR);
490 //     WINBOOL CopyFileW(LPCWSTR, LPCWSTR, WINBOOL);
491 //     WINBOOL MoveFileW(LPCWSTR, LPCWSTR);
492 //     WINBOOL MoveFileExW(LPCWSTR, LPCWSTR, DWORD);
493 //     HANDLE CreateNamedPipeW(LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
494 //     WINBOOL GetNamedPipeHandleStateW(HANDLE, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPWSTR, DWORD);
495 //     WINBOOL CallNamedPipeW(LPCWSTR, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, DWORD);
496 //     WINBOOL WaitNamedPipeW(LPCWSTR, DWORD);
497 //     WINBOOL SetVolumeLabelW(LPCWSTR, LPCWSTR);
498 //     WINBOOL GetVolumeInformationW(LPCWSTR, LPWSTR, DWORD, LPDWORD, LPDWORD, LPDWORD, LPWSTR, DWORD);
499 //     WINBOOL ClearEventLogW(HANDLE, LPCWSTR);
500 //     WINBOOL BackupEventLogW(HANDLE, LPCWSTR);
501 //     HANDLE OpenEventLogW(LPCWSTR, LPCWSTR);
502 //     HANDLE RegisterEventSourceW(LPCWSTR, LPCWSTR);
503 //     HANDLE OpenBackupEventLogW(LPCWSTR, LPCWSTR);
504 //     WINBOOL ReadEventLogW(HANDLE, DWORD, DWORD, LPVOID, DWORD, LPDWORD, LPDWORD);
505 //     WINBOOL ReportEventW(HANDLE, ushort, ushort, DWORD, PSID, ushort, DWORD, LPCWSTR*, LPVOID);
506 //     WINBOOL AccessCheckAndAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, WINBOOL, LPDWORD, LPBOOL, LPBOOL);
507 //     WINBOOL ObjectOpenAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, WINBOOL, WINBOOL, LPBOOL);
508 //     WINBOOL ObjectPrivilegeAuditAlarmW(LPCWSTR, LPVOID, HANDLE, DWORD, PPRIVILEGE_SET, WINBOOL);
509 //     WINBOOL ObjectCloseAuditAlarmW(LPCWSTR, LPVOID, WINBOOL);
510 //     WINBOOL PrivilegedServiceAuditAlarmW(LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_SET, WINBOOL);
511 //     WINBOOL SetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
512 //     WINBOOL GetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
513 //     HANDLE FindFirstChangeNotificationW(LPCWSTR, WINBOOL, DWORD);
514 //     WINBOOL IsBadStringPtrW(LPCWSTR, UINT);
515 //     WINBOOL LookupAccountSidW(LPCWSTR, PSID, LPWSTR, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE);
516 //     WINBOOL LookupAccountNameW(LPCWSTR, LPCWSTR, PSID, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE);
517 //     WINBOOL LookupPrivilegeValueW(LPCWSTR, LPCWSTR, PLUID);
518 //     WINBOOL LookupPrivilegeNameW(LPCWSTR, PLUID, LPWSTR, LPDWORD);
519 //     WINBOOL LookupPrivilegeDisplayNameW(LPCWSTR, LPCWSTR, LPWSTR, LPDWORD, LPDWORD);
520 //     WINBOOL BuildCommDCBW(LPCWSTR, LPDCB);
521 //     WINBOOL BuildCommDCBAndTimeoutsW(LPCWSTR, LPDCB, LPCOMMTIMEOUTS);
522 //     WINBOOL CommConfigDialogW(LPCWSTR, HWND, LPCOMMCONFIG);
523 //     WINBOOL GetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, LPDWORD);
524 //     WINBOOL SetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, DWORD);
525 //     WINBOOL GetComputerNameW(LPWSTR, LPDWORD);
526 //     WINBOOL SetComputerNameW(LPCWSTR);
527 //     WINBOOL GetUserNameW(LPWSTR, LPDWORD);
528 //     int wvsprintfW(LPWSTR, LPCWSTR, VA_LIST*);
529 //     HKL LoadKeyboardLayoutW(LPCWSTR, UINT);
530 //     WINBOOL GetKeyboardLayoutNameW(LPWSTR);
531 //     HDESK CreateDesktopW(LPWSTR, LPWSTR, LPDEVMODE, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
532 //     HDESK OpenDesktopW(LPWSTR, DWORD, WINBOOL, DWORD);
533 //     WINBOOL EnumDesktopsW(HWINSTA, DESKTOPENUMPROC, LPARAM);
534 //     HWINSTA CreateWindowStationW(LPWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
535 //     HWINSTA OpenWindowStationW(LPWSTR, WINBOOL, DWORD);
536 //     WINBOOL EnumWindowStationsW(ENUMWINDOWSTATIONPROC, LPARAM);
537 //     WINBOOL GetUserObjectInformationW(HANDLE, int, PVOID, DWORD, LPDWORD);
538 //     WINBOOL SetUserObjectInformationW(HANDLE, int, PVOID, DWORD);
539 //     UINT RegisterWindowMessageW(LPCWSTR);
540 //     WINBOOL GetMessageW(LPMSG, HWND, UINT, UINT);
541 //     LONG DispatchMessageW(LPMSG);
542 //     WINBOOL PeekMessageW(LPMSG, HWND, UINT, UINT, UINT);
543 //     LRESULT SendMessageW(HWND, UINT, WPARAM, LPARAM);
544 //     LRESULT SendMessageTimeoutW(HWND, UINT, WPARAM, LPARAM, UINT, UINT, LPDWORD);
545 //     WINBOOL SendNotifyMessageW(HWND, UINT, WPARAM, LPARAM);
546 //     WINBOOL SendMessageCallbackW(HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD);
547 //     WINBOOL PostMessageW(HWND, UINT, WPARAM, LPARAM);
548 //     WINBOOL PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM);
549 //     LRESULT DefWindowProcW(HWND, UINT, WPARAM, LPARAM);
550 //     LRESULT CallWindowProcW(WNDPROC, HWND, UINT, WPARAM, LPARAM);
551 //     ATOM RegisterClassW(LPWNDCLASSW);
552 //     WINBOOL UnregisterClassW(LPCWSTR, HINST);
553 //     WINBOOL GetClassInfoW(HINST, LPCWSTR, LPWNDCLASS);
554 //     ATOM RegisterClassExW(LPWNDCLASSEX);
555 //     WINBOOL GetClassInfoExW(HINST, LPCWSTR, LPWNDCLASSEX);
556 //     HWND CreateWindowExW(DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HMENU, HINST, LPVOID);
557 //     HWND CreateDialogParamW(HINST, LPCWSTR, HWND, DLGPROC, LPARAM);
558 //     HWND CreateDialogIndirectParamW(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
559 //     int DialogBoxParamW(HINST, LPCWSTR, HWND, DLGPROC, LPARAM);
560 //     int DialogBoxIndirectParamW(HINST, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM);
561 //     WINBOOL SetDlgItemTextW(HWND, int, LPCWSTR);
562 //     UINT GetDlgItemTextW(HWND, int, LPWSTR, int);
563 //     LONG SendDlgItemMessageW(HWND, int, UINT, WPARAM, LPARAM);
564 //     LRESULT DefDlgProcW(HWND, UINT, WPARAM, LPARAM);
565 //     WINBOOL CallMsgFilterW(LPMSG, int);
566 //     UINT RegisterClipboardFormatW(LPCWSTR);
567 //     int GetClipboardFormatNameW(UINT, LPWSTR, int);
568 //     WINBOOL CharToOemW(LPCWSTR, LPSTR);
569 //     WINBOOL OemToCharW(LPCSTR, LPWSTR);
570 //     WINBOOL CharToOemBuffW(LPCWSTR, LPSTR, DWORD);
571 //     WINBOOL OemToCharBuffW(LPCSTR, LPWSTR, DWORD);
572 //     LPWSTR CharUpperW(LPWSTR);
573 //     DWORD CharUpperBuffW(LPWSTR, DWORD);
574 //     LPWSTR CharLowerW(LPWSTR);
575 //     DWORD CharLowerBuffW(LPWSTR, DWORD);
576 //     LPWSTR CharNextW(LPCWSTR);
577 //     LPWSTR CharPrevW(LPCWSTR, LPCWSTR);
578 //     WINBOOL IsCharAlphaW(WCHAR);
579 //     WINBOOL IsCharAlphaNumericW(WCHAR);
580 //     WINBOOL IsCharUpperW(WCHAR);
581 //     WINBOOL IsCharLowerW(WCHAR);
582 //     int GetKeyNameTextW(LONG, LPWSTR, int);
583 //     SHORT VkKeyScanW(WCHAR);
584 //     SHORT VkKeyScanExW(WCHAR, HKL);
585 //     UINT MapVirtualKeyW(UINT, UINT);
586 //     UINT MapVirtualKeyExW(UINT, UINT, HKL);
587 //     HACCEL LoadAcceleratorsW(HINST, LPCWSTR);
588 //     HACCEL CreateAcceleratorTableW(LPACCEL, int);
589 //     int CopyAcceleratorTableW(HACCEL, LPACCEL, int);
590 //     int TranslateAcceleratorW(HWND, HACCEL, LPMSG);
591 //     HMENU LoadMenuW(HINST, LPCWSTR);
592 //     HMENU LoadMenuIndirectW(LPMENUTEMPLATE);
593 //     WINBOOL ChangeMenuW(HMENU, UINT, LPCWSTR, UINT, UINT);
594 //     int GetMenuStringW(HMENU, UINT, LPWSTR, int, UINT);
595 //     WINBOOL InsertMenuW(HMENU, UINT, UINT, UINT, LPCWSTR);
596 //     WINBOOL AppendMenuW(HMENU, UINT, UINT, LPCWSTR);
597 //     WINBOOL ModifyMenuW(HMENU, UINT, UINT, UINT, LPCWSTR);
598 //     WINBOOL InsertMenuItemW(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
599 //     WINBOOL GetMenuItemInfoW(HMENU, UINT, WINBOOL, LPMENUITEMINFO);
600 //     WINBOOL SetMenuItemInfoW(HMENU, UINT, WINBOOL, LPCMENUITEMINFO);
601 //     int DrawTextW(HDC, LPCWSTR, int, LPRECT, UINT);
602 //     int DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
603 //     WINBOOL GrayStringW(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int);
604 //     WINBOOL DrawStateW(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
605 //     LONG TabbedTextOutW(HDC, int, int, LPCWSTR, int, int, LPINT, int);
606 //     DWORD GetTabbedTextExtentW(HDC, LPCWSTR, int, int, LPINT);
607     WINBOOL SetPropW(HWND, LPCWSTR, HANDLE);
608     HANDLE GetPropW(HWND, LPCWSTR);
609     HANDLE RemovePropW(HWND, LPCWSTR);
610 //     int EnumPropsExW(HWND, PROPENUMPROCEX, LPARAM);
611 //     int EnumPropsW(HWND, PROPENUMPROC);
612 //     WINBOOL SetWindowTextW(HWND, LPCWSTR);
613 //     int GetWindowTextW(HWND, LPWSTR, int);
614 //     int GetWindowTextLengthW(HWND);
615 //     int MessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT);
616 //     int MessageBoxExW(HWND, LPCWSTR, LPCWSTR, UINT, ushort);
617 //     int MessageBoxIndirectW(LPMSGBOXPARAMS);
618 //     LONG GetWindowLongW(HWND, int);
619 //     LONG SetWindowLongW(HWND, int, LONG);
620 //     DWORD GetClassLongW(HWND, int);
621 //     DWORD SetClassLongW(HWND, int, LONG);
622 //     HWND FindWindowW(LPCWSTR, LPCWSTR);
623 //     HWND FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR);
624     int GetClassNameW(HWND, LPWSTR, int);
625 //     HHOOK SetWindowsHookExW(int, HOOKPROC, HINST, DWORD);
626 //     HBITMAP LoadBitmapW(HINST, LPCWSTR);
627     HCURSOR LoadCursorW(HINST, LPCWSTR);
628 //     HCURSOR LoadCursorFromFileW(LPCWSTR);
629     HICON LoadIconW(HINST, LPCWSTR);
630 //     HANDLE LoadImageW(HINST, LPCWSTR, UINT, int, int, UINT);
631 //     int LoadStringW(HINST, UINT, LPWSTR, int);
632 //     WINBOOL IsDialogMessageW(HWND, LPMSG);
633 //     int DlgDirListW(HWND, LPWSTR, int, int, UINT);
634 //     WINBOOL DlgDirSelectExW(HWND, LPWSTR, int, int);
635 //     int DlgDirListComboBoxW(HWND, LPWSTR, int, int, UINT);
636 //     WINBOOL DlgDirSelectComboBoxExW(HWND, LPWSTR, int, int);
637 //     LRESULT DefFrameProcW(HWND, HWND, UINT, WPARAM, LPARAM);
638 //     LRESULT DefMDIChildProcW(HWND, UINT, WPARAM, LPARAM);
639 //     HWND CreateMDIWindowW(LPWSTR, LPWSTR, DWORD, int, int, int, int, HWND, HINST, LPARAM);
640 //     WINBOOL WinHelpW(HWND, LPCWSTR, UINT, DWORD);
641 //     LONG ChangeDisplaySettingsW(LPDEVMODE, DWORD);
642 //     WINBOOL EnumDisplaySettingsW(LPCWSTR, DWORD, LPDEVMODE);
643 //     WINBOOL SystemParametersInfoW(UINT, UINT, PVOID, UINT);
644 //     int AddFontResourceW(LPCWSTR);
645 //     HMETAFILE CopyMetaFileW(HMETAFILE, LPCWSTR);
646 //     HFONT CreateFontIndirectW(PLOGFONT);
647 //     HFONT CreateFontW(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPCWSTR);
648 //     HDC CreateICW(LPCWSTR, LPCWSTR, LPCWSTR, LPDEVMODE);
649 //     HDC CreateMetaFileW(LPCWSTR);
650 //     WINBOOL CreateScalableFontResourceW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR);
651 //     int EnumFontFamiliesExW(HDC, LPLOGFONT, FONTENUMEXPROC, LPARAM, DWORD);
652 //     int EnumFontFamiliesW(HDC, LPCWSTR, FONTENUMPROC, LPARAM);
653 //     int EnumFontsW(HDC, LPCWSTR, ENUMFONTSPROC, LPARAM);
654 //     WINBOOL GetCharWidthW(HDC, UINT, UINT, LPINT);
655 //     WINBOOL GetCharWidth32W(HDC, UINT, UINT, LPINT);
656 //     WINBOOL GetCharWidthFloatW(HDC, UINT, UINT, PFLOAT);
657 //     WINBOOL GetCharABCWidthsW(HDC, UINT, UINT, LPABC);
658 //     WINBOOL GetCharABCWidthsFloatW(HDC, UINT, UINT, LPABCFLOAT);
659 //     DWORD GetGlyphOutlineW(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, PMAT2);
660 //     HMETAFILE GetMetaFileW(LPCWSTR);
661      UINT GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRIC);
662 //     WINBOOL GetTextExtentPointW(HDC, LPCWSTR, int, LPSIZE);
663 //     WINBOOL GetTextExtentPoint32W(HDC, LPCWSTR, int, LPSIZE);
664 //     WINBOOL GetTextExtentExPointW(HDC, LPCWSTR, int, int, LPINT, LPINT, LPSIZE);
665 //     DWORD GetCharacterPlacementW(HDC, LPCWSTR, int, int, LPGCP_RESULTS, DWORD);
666 //     HDC ResetDCW(HDC, LPDEVMODE);
667 //     WINBOOL RemoveFontResourceW(LPCWSTR);
668 //     HENHMETAFILE CopyEnhMetaFileW(HENHMETAFILE, LPCWSTR);
669     HDC CreateEnhMetaFileW(HDC, LPCWSTR, LPRECT, LPCWSTR);
670 //     HENHMETAFILE GetEnhMetaFileW(LPCWSTR);
671 //     UINT GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR);
672 //     WINBOOL GetTextMetricsW(HDC, LPTEXTMETRIC);
673 //     int StartDocW(HDC, PDOCINFO);
674     int GetObjectW(HGDIOBJ, int, LPVOID);
675 //     WINBOOL TextOutW(HDC, int, int, LPCWSTR, int);
676 //     WINBOOL ExtTextOutW(HDC, int, int, UINT, LPRECT, LPCWSTR, UINT, LPINT);
677 //     WINBOOL PolyTextOutW(HDC, PPOLYTEXT, int);
678 //     int GetTextFaceW(HDC, int, LPWSTR);
679 //     DWORD GetKerningPairsW(HDC, DWORD, LPKERNINGPAIR);
680 //     WINBOOL GetLogColorSpaceW(HCOLORSPACE, LPLOGCOLORSPACE, DWORD);
681 //     HCOLORSPACE CreateColorSpaceW(LPLOGCOLORSPACE);
682 //     WINBOOL GetICMProfileW(HDC, DWORD, LPWSTR);
683 //     WINBOOL SetICMProfileW(HDC, LPWSTR);
684 //     WINBOOL UpdateICMRegKeyW(DWORD, DWORD, LPWSTR, UINT);
685 //     int EnumICMProfilesW(HDC, ICMENUMPROC, LPARAM);
686 //     HPROPSHEETPAGE CreatePropertySheetPageW(LPCPROPSHEETPAGE);
687 //     int PropertySheetW(LPCPROPSHEETHEADER);
688 //     HIMAGELIST ImageList_LoadImageW(HINST, LPCWSTR, int, int, COLORREF, UINT, UINT);
689 //     HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT);
690 //     void DrawStatusTextW(HDC, LPRECT, LPCWSTR);
691 //     WINBOOL GetOpenFileNameW(LPOPENFILENAME);
692 //     WINBOOL GetSaveFileNameW(LPOPENFILENAME);
693 //     int GetFileTitleW(LPCWSTR, LPWSTR, ushort);
694 //     WINBOOL ChooseColorW(LPCHOOSECOLOR);
695 //     HWND ReplaceTextW(LPFINDREPLACE);
696 //     WINBOOL ChooseFontW(LPCHOOSEFONT);
697 //     HWND FindTextW(LPFINDREPLACE);
698     WINBOOL PrintDlgW(LPPRINTDLG);
699 //     WINBOOL PageSetupDlgW(LPPAGESETUPDLG);
700     WINBOOL CreateProcessW(LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, WINBOOL, DWORD, LPVOID, LPCWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
701     void GetStartupInfoW(LPSTARTUPINFO);
702 //     HANDLE FindFirstFileW(LPCWSTR, LPWIN32_FIND_DATAW);
703 //     WINBOOL FindNextFileW(HANDLE, LPWIN32_FIND_DATAW);
704 //     WINBOOL GetVersionExW(LPOSVERSIONINFO);
705 //     HDC CreateDCW(LPCWSTR, LPCWSTR, LPCWSTR, PDEVMODE);
706 //     HFONT CreateFontA(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPCSTR);
707 //     DWORD VerInstallFileW(DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT);
708 //     DWORD GetFileVersionInfoSizeW(LPWSTR, LPDWORD);
709 //     WINBOOL GetFileVersionInfoW(LPWSTR, DWORD, DWORD, LPVOID);
710 //     DWORD VerLanguageNameW(DWORD, LPWSTR, DWORD);
711 //     WINBOOL VerQueryValueW(LPVOID, LPWSTR, LPVOID, PUINT);
712 //     DWORD VerFindFileW(DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT, LPWSTR, PUINT);
713 //     LONG RegSetValueExW(HKEY, LPCWSTR, DWORD, DWORD, LPBYTE, DWORD);
714 //     LONG RegUnLoadKeyW(HKEY, LPCWSTR);
715 //     WINBOOL InitiateSystemShutdownW(LPWSTR, LPWSTR, DWORD, WINBOOL, WINBOOL);
716 //     WINBOOL AbortSystemShutdownW(LPWSTR);
717 //     LONG RegRestoreKeyW(HKEY, LPCWSTR, DWORD);
718 //     LONG RegSaveKeyW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES);
719 //     LONG RegSetValueW(HKEY, LPCWSTR, DWORD, LPCWSTR, DWORD);
720 //     LONG RegQueryValueW(HKEY, LPCWSTR, LPWSTR, PLONG);
721 //     LONG RegQueryMultipleValuesW(HKEY, PVALENT, DWORD, LPWSTR, LPDWORD);
722 //     LONG RegQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
723 //     LONG RegReplaceKeyW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR);
724 //     LONG RegConnectRegistryW(LPWSTR, HKEY, PHKEY);
725 //     LONG RegCreateKeyW(HKEY, LPCWSTR, PHKEY);
726 //     LONG RegCreateKeyExW(HKEY, LPCWSTR, DWORD, LPWSTR, DWORD, REGSAM, LPSECURITY_ATTRIBUTES, PHKEY, LPDWORD);
727 //     LONG RegDeleteKeyW(HKEY, LPCWSTR);
728 //     LONG RegDeleteValueW(HKEY, LPCWSTR);
729 //     LONG RegEnumKeyW(HKEY, DWORD, LPWSTR, DWORD);
730 //     LONG RegEnumKeyExW(HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPWSTR, LPDWORD, PFILETIME);
731 //     LONG RegEnumValueW(HKEY, DWORD, LPWSTR, LPDWORD, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
732 //     LONG RegLoadKeyW(HKEY, LPCWSTR, LPCWSTR);
733 //     LONG RegOpenKeyW(HKEY, LPCWSTR, PHKEY);
734 //     LONG RegOpenKeyExW(HKEY, LPCWSTR, DWORD, REGSAM, PHKEY);
735 //     LONG RegQueryInfoKeyW(HKEY, LPWSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, LPDWORD, PFILETIME);
736 //     int CompareStringW(LCID, DWORD, LPCWSTR, int, LPCWSTR, int);
737 //     int LCMapStringW(LCID, DWORD, LPCWSTR, int, LPWSTR, int);
738 //     int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int);
739 //     WINBOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR);
740      int GetTimeFormatW(LCID, DWORD, LPSYSTEMTIME, LPCWSTR, LPWSTR, int);
741      int GetDateFormatW(LCID, DWORD, LPSYSTEMTIME, LPCWSTR, LPWSTR, int);
742 //     int GetNumberFormatW(LCID, DWORD, LPCWSTR, PNUMBERFMT, LPWSTR, int);
743 //     int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, PCURRENCYFMT, LPWSTR, int);
744 //     WINBOOL EnumCalendarInfoW(CALINFO_ENUMPROC, LCID, CALID, CALTYPE);