branch update for HEAD-2003021201
[reactos.git] / include / funcs.h
1 /* 
2    Functions.h
3
4    Declarations for all the Windows32 API Functions
5
6    Copyright (C) 1996, 1997 Free Software Foundation, Inc.
7
8    Author: Scott Christley <scottc@net-community.com>
9
10    This file is part of the Windows32 API Library.
11
12    This library is free software; you can redistribute it and/or
13    modify it under the terms of the GNU Library General Public
14    License as published by the Free Software Foundation; either
15    version 2 of the License, or (at your option) any later version.
16    
17    This library is distributed in the hope that it will be useful,
18    but WITHOUT ANY WARRANTY; without even the implied warranty of
19    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20    Library General Public License for more details.
21
22    If you are interested in a warranty or support for this source code,
23    contact Scott Christley <scottc@net-community.com> for more information.
24    
25    You should have received a copy of the GNU Library General Public
26    License along with this library; see the file COPYING.LIB.
27    If not, write to the Free Software Foundation, 
28    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
29 */ 
30
31 #ifndef _GNU_H_WINDOWS32_FUNCTIONS
32 #define _GNU_H_WINDOWS32_FUNCTIONS
33
34 #ifndef WIN32_LEAN_AND_MEAN
35
36 #ifdef __cplusplus
37 extern "C" {
38 #endif /* __cplusplus */
39
40 typedef
41 DWORD (CALLBACK *PPROGRESS_ROUTINE)(
42         LARGE_INTEGER TotalFileSize,
43         LARGE_INTEGER TotalBytesTransferred,
44         LARGE_INTEGER StreamSize,
45         LARGE_INTEGER StreamBytesTransferred,
46         DWORD StreamNumber,
47         DWORD CallbackReason,
48         HANDLE SourceFile,
49         HANDLE DestinationFile,
50         LPVOID UserData);
51 typedef PPROGRESS_ROUTINE LPPROGRESS_ROUTINE;
52
53 /* These functions were a real pain, having to figure out which
54    had Unicode/Ascii versions and which did not */
55
56 #ifndef UNICODE_ONLY
57 #include <unicode.h>
58 #endif /* !UNICODE_ONLY */
59
60 #ifndef ANSI_ONLY
61 #include <ascii.h>
62 #endif /* !ANSI_ONLY */
63
64 /* Define the approprate declaration based upon UNICODE or ASCII */
65
66 /* UNICODE */
67 #ifdef UNICODE
68
69 #define RegConnectRegistry  RegConnectRegistryW
70 #define RegCreateKey  RegCreateKeyW
71 #define RegCreateKeyEx  RegCreateKeyExW
72 #define RegDeleteKey  RegDeleteKeyW
73 #define RegDeleteValue  RegDeleteValueW
74 #define RegEnumKey  RegEnumKeyW
75 #define RegEnumKeyEx  RegEnumKeyExW
76 #define RegEnumValue  RegEnumValueW
77 #define RegLoadKey  RegLoadKeyW
78 #define RegOpenKey  RegOpenKeyW
79 #define RegOpenKeyEx  RegOpenKeyExW
80 #define RegQueryInfoKey  RegQueryInfoKeyW
81 #define RegQueryValue  RegQueryValueW
82 #define RegQueryMultipleValues  RegQueryMultipleValuesW
83 #define RegQueryValueEx  RegQueryValueExW
84 #define RegReplaceKey  RegReplaceKeyW
85 #define RegRestoreKey  RegRestoreKeyW
86 #define RegSaveKey  RegSaveKeyW
87 #define RegSetValue  RegSetValueW
88 #define RegSetValueEx  RegSetValueExW
89 #define AbortSystemShutdown  AbortSystemShutdownW
90 #define InitiateSystemShutdown  InitiateSystemShutdownW
91 #define RegUnLoadKey  RegUnLoadKeyW
92 #define SetProp  SetPropW
93 #define GetProp  GetPropW
94 #define RemoveProp  RemovePropW
95 #define EnumPropsEx  EnumPropsExW
96 #define EnumProps  EnumPropsW
97 #define SetWindowText  SetWindowTextW
98 #define GetWindowText  GetWindowTextW
99 #define GetWindowTextLength  GetWindowTextLengthW
100 #define MessageBox  MessageBoxW
101 #define MessageBoxEx  MessageBoxExW
102 #define MessageBoxIndirect  MessageBoxIndirectW
103 #define GetWindowLong  GetWindowLongW
104 #define SetWindowLong  SetWindowLongW
105 #define GetClassLong  GetClassLongW
106 #define SetClassLong  SetClassLongW
107 #define FindWindow  FindWindowW
108 #define FindWindowEx  FindWindowExW
109 #define GetClassName  GetClassNameW
110 #define SetWindowsHookEx  SetWindowsHookExW
111 #define LoadBitmap  LoadBitmapW
112 #define LoadCursor  LoadCursorW
113 #define LoadCursorFromFile  LoadCursorFromFileW
114 #define LoadIcon  LoadIconW
115 #define LoadImage  LoadImageW
116 #define LoadString  LoadStringW
117 #define IsDialogMessage  IsDialogMessageW
118 #define DlgDirList  DlgDirListW
119 #define DlgDirSelectEx  DlgDirSelectExW
120 #define DlgDirListComboBox  DlgDirListComboBoxW
121 #define DlgDirSelectComboBoxEx  DlgDirSelectComboBoxExW
122 #define DefFrameProc  DefFrameProcW
123 #define DefMDIChildProc  DefMDIChildProcW
124 #define CreateMDIWindow  CreateMDIWindowW
125 #define WinHelp  WinHelpW
126 #define ChangeDisplaySettings  ChangeDisplaySettingsW
127 #define EnumDisplaySettings  EnumDisplaySettingsW
128 #define SystemParametersInfo  SystemParametersInfoW
129 #define AddFontResource  AddFontResourceW
130 #define CopyMetaFile  CopyMetaFileW
131 #define CreateDC  CreateDCW
132 #define CreateFontIndirect  CreateFontIndirectW
133 #define CreateFont  CreateFontW
134 #define CreateIC  CreateICW
135 #define CreateMetaFile  CreateMetaFileW
136 #define CreateScalableFontResource  CreateScalableFontResourceW
137 #define DeviceCapabilities  DeviceCapabilitiesW
138 #define EnumFontFamiliesEx  EnumFontFamiliesExW
139 #define EnumFontFamilies  EnumFontFamiliesW
140 #define EnumFonts  EnumFontsW
141 #define GetCharWidth  GetCharWidthW
142 #define GetCharWidth32  GetCharWidth32W
143 #define GetCharWidthFloat  GetCharWidthFloatW
144 #define GetCharABCWidths  GetCharABCWidthsW
145 #define GetCharABCWidthsFloat  GetCharABCWidthsFloatW
146 #define GetGlyphOutline  GetGlyphOutlineW
147 #define GetMetaFile  GetMetaFileW
148 #define GetOutlineTextMetrics  GetOutlineTextMetricsW
149 #define GetTextExtentPoint  GetTextExtentPointW
150 #define GetTextExtentPoint32  GetTextExtentPoint32W
151 #define GetTextExtentExPoint  GetTextExtentExPointW
152 #define GetCharacterPlacement  GetCharacterPlacementW
153 #define ResetDC  ResetDCW
154 #define RemoveFontResource  RemoveFontResourceW
155 #define CopyEnhMetaFile  CopyEnhMetaFileW
156 #define CreateEnhMetaFile  CreateEnhMetaFileW
157 #define GetEnhMetaFile  GetEnhMetaFileW
158 #define GetEnhMetaFileDescription  GetEnhMetaFileDescriptionW
159 #define GetTextMetrics  GetTextMetricsW
160 #define StartDoc  StartDocW
161 #define GetObject  GetObjectW
162 #define TextOut  TextOutW
163 #define ExtTextOut  ExtTextOutW
164 #define PolyTextOut  PolyTextOutW
165 #define GetTextFace  GetTextFaceW
166 #define GetKerningPairs  GetKerningPairsW
167 #define GetLogColorSpace  GetLogColorSpaceW
168 #define CreateColorSpace  CreateColorSpaceW
169 #define GetICMProfile  GetICMProfileW
170 #define SetICMProfile  SetICMProfileW
171 #define UpdateICMRegKey  UpdateICMRegKeyW
172 #define EnumICMProfiles  EnumICMProfilesW
173 #define CreatePropertySheetPage  CreatePropertySheetPageW
174 #define PropertySheet            PropertySheetW
175 #define ImageList_LoadImage     ImageList_LoadImageW
176 #define CreateStatusWindow      CreateStatusWindowW
177 #define DrawStatusText          DrawStatusTextW
178 #define GetOpenFileName  GetOpenFileNameW
179 #define GetSaveFileName  GetSaveFileNameW
180 #define GetFileTitle  GetFileTitleW
181 #define ChooseColor  ChooseColorW
182 #define FindText  FindTextW
183 #define ReplaceText  ReplaceTextW
184 #define ChooseFont  ChooseFontW
185 #define PrintDlg  PrintDlgW
186 #define PageSetupDlg  PageSetupDlgW
187 #define DefWindowProc  DefWindowProcW
188 #define CallWindowProc  CallWindowProcW
189 #define RegisterClass  RegisterClassW
190 #define UnregisterClass  UnregisterClassW
191 #define GetClassInfo  GetClassInfoW
192 #define RegisterClassEx  RegisterClassExW
193 #define GetClassInfoEx  GetClassInfoExW
194 #define CreateWindowEx  CreateWindowExW
195 #define CreateWindow  CreateWindowW
196 #define CreateDialogParam  CreateDialogParamW
197 #define CreateDialogIndirectParam  CreateDialogIndirectParamW
198 #define CreateDialog  CreateDialogW
199 #define CreateDialogIndirect  CreateDialogIndirectW
200 #define DialogBoxParam  DialogBoxParamW
201 #define DialogBoxIndirectParam  DialogBoxIndirectParamW
202 #define DialogBox  DialogBoxW
203 #define DialogBoxIndirect  DialogBoxIndirectW
204 #define RegisterClipboardFormat  RegisterClipboardFormatW
205 #define SetDlgItemText  SetDlgItemTextW
206 #define GetDlgItemText  GetDlgItemTextW
207 #define SendDlgItemMessage  SendDlgItemMessageW
208 #define DefDlgProc  DefDlgProcW
209 #define CallMsgFilter  CallMsgFilterW
210 #define GetClipboardFormatName  GetClipboardFormatNameW
211 #define CharToOem  CharToOemW
212 #define OemToChar  OemToCharW
213 #define CharToOemBuff  CharToOemBuffW
214 #define OemToCharBuff  OemToCharBuffW
215 #define CharUpper  CharUpperW
216 #define CharUpperBuff  CharUpperBuffW
217 #define CharLower  CharLowerW
218 #define CharLowerBuff  CharLowerBuffW
219 #define CharNext  CharNextW
220 #define CharPrev  CharPrevW
221 #define IsCharAlpha  IsCharAlphaW
222 #define IsCharAlphaNumeric  IsCharAlphaNumericW
223 #define IsCharUpper  IsCharUpperW
224 #define IsCharLower  IsCharLowerW
225 #define GetKeyNameText  GetKeyNameTextW
226 #define VkKeyScan  VkKeyScanW
227 #define VkKeyScanEx  VkKeyScanExW
228 #define MapVirtualKey  MapVirtualKeyW
229 #define MapVirtualKeyEx  MapVirtualKeyExW
230 #define LoadAccelerators  LoadAcceleratorsW
231 #define CreateAcceleratorTable  CreateAcceleratorTableW
232 #define CopyAcceleratorTable  CopyAcceleratorTableW
233 #define TranslateAccelerator  TranslateAcceleratorW
234 #define LoadMenu  LoadMenuW
235 #define LoadMenuIndirect  LoadMenuIndirectW
236 #define ChangeMenu  ChangeMenuW
237 #define GetMenuString  GetMenuStringW
238 #define InsertMenu  InsertMenuW
239 #define AppendMenu  AppendMenuW
240 #define ModifyMenu  ModifyMenuW
241 #define InsertMenuItem  InsertMenuItemW
242 #define GetMenuItemInfo  GetMenuItemInfoW
243 #define SetMenuItemInfo  SetMenuItemInfoW
244 #define DrawText  DrawTextW
245 #define DrawTextEx  DrawTextExW
246 #define GrayString  GrayStringW
247 #define DrawState  DrawStateW
248 #define TabbedTextOut  TabbedTextOutW
249 #define GetTabbedTextExtent  GetTabbedTextExtentW
250 #define GetVersionEx  GetVersionExW
251 #define wvsprintf  wvsprintfW
252 #define wsprintf  wsprintfW
253 #define LoadKeyboardLayout  LoadKeyboardLayoutW
254 #define GetKeyboardLayoutName  GetKeyboardLayoutNameW
255 #define CreateDesktop  CreateDesktopW
256 #define OpenDesktop  OpenDesktopW
257 #define EnumDesktops  EnumDesktopsW
258 #define CreateWindowStation  CreateWindowStationW
259 #define OpenWindowStation  OpenWindowStationW
260 #define EnumWindowStations  EnumWindowStationsW
261 #define IsBadStringPtr  IsBadStringPtrW
262 #define LookupAccountSid  LookupAccountSidW
263 #define LookupAccountName  LookupAccountNameW
264 #define LookupPrivilegeValue  LookupPrivilegeValueW
265 #define LookupPrivilegeName  LookupPrivilegeNameW
266 #define LookupPrivilegeDisplayName  LookupPrivilegeDisplayNameW
267 #define BuildCommDCB  BuildCommDCBW
268 #define BuildCommDCBAndTimeouts  BuildCommDCBAndTimeoutsW
269 #define CommConfigDialog  CommConfigDialogW
270 #define GetDefaultCommConfig  GetDefaultCommConfigW
271 #define SetDefaultCommConfig  SetDefaultCommConfigW
272 #define GetComputerName  GetComputerNameW
273 #define SetComputerName  SetComputerNameW
274 #define GetUserName  GetUserNameW
275 #define CreateMailslot  CreateMailslotW
276 #define FormatMessage  FormatMessageW
277 #define GetEnvironmentStrings  GetEnvironmentStringsW
278 #define FreeEnvironmentStrings  FreeEnvironmentStringsW
279 #define lstrcmp  lstrcmpW
280 #define lstrcmpi  lstrcmpiW
281 #define lstrcpyn  lstrcpynW
282 #define lstrcpy  lstrcpyW
283 #define lstrcat  lstrcatW
284 #define lstrlen  lstrlenW
285 #define GetBinaryType  GetBinaryTypeW
286 #define GetShortPathName  GetShortPathNameW
287 #define SetFileSecurity  SetFileSecurityW
288 #define GetFileSecurity  GetFileSecurityW
289 #define FindFirstChangeNotification  FindFirstChangeNotificationW
290 #define AccessCheckAndAuditAlarm  AccessCheckAndAuditAlarmW
291 #define ObjectOpenAuditAlarm  ObjectOpenAuditAlarmW
292 #define ObjectPrivilegeAuditAlarm  ObjectPrivilegeAuditAlarmW
293 #define ObjectCloseAuditAlarm  ObjectCloseAuditAlarmW
294 #define PrivilegedServiceAuditAlarm  PrivilegedServiceAuditAlarmW
295 #define OpenEventLog  OpenEventLogW
296 #define RegisterEventSource  RegisterEventSourceW
297 #define OpenBackupEventLog  OpenBackupEventLogW
298 #define ReadEventLog  ReadEventLogW
299 #define ReportEvent  ReportEventW
300 #define CreateProcess  CreateProcessW
301 #define FatalAppExit  FatalAppExitW
302 #define GetStartupInfo  GetStartupInfoW
303 #define GetEnvironmentVariable  GetEnvironmentVariableW
304 #define GetCommandLine  GetCommandLineW
305 #define SetEnvironmentVariable  SetEnvironmentVariableW
306 #define ExpandEnvironmentStrings  ExpandEnvironmentStringsW
307 #define OutputDebugString  OutputDebugStringW
308 #define FindResource  FindResourceW
309 #define FindResourceEx  FindResourceExW
310 #define EnumResourceTypes  EnumResourceTypesW
311 #define EnumResourceNames  EnumResourceNamesW
312 #define EnumResourceLanguages  EnumResourceLanguagesW
313 #define BeginUpdateResource  BeginUpdateResourceW
314 #define UpdateResource  UpdateResourceW
315 #define EndUpdateResource  EndUpdateResourceW
316 #define GlobalAddAtom  GlobalAddAtomW
317 #define GlobalFindAtom  GlobalFindAtomW
318 #define GlobalGetAtomName  GlobalGetAtomNameW
319 #define AddAtom  AddAtomW
320 #define FindAtom  FindAtomW
321 #define GetAtomName  GetAtomNameW
322 #define GetProfileInt  GetProfileIntW
323 #define GetProfileString  GetProfileStringW
324 #define WriteProfileString  WriteProfileStringW
325 #define GetProfileSection  GetProfileSectionW
326 #define WriteProfileSection  WriteProfileSectionW
327 #define GetPrivateProfileInt  GetPrivateProfileIntW
328 #define GetPrivateProfileString  GetPrivateProfileStringW
329 #define WritePrivateProfileString  WritePrivateProfileStringW
330 #define GetPrivateProfileSection  GetPrivateProfileSectionW
331 #define WritePrivateProfileSection  WritePrivateProfileSectionW
332 #define GetDriveType  GetDriveTypeW
333 #define GetSystemDirectory  GetSystemDirectoryW
334 #define GetTempPath  GetTempPathW
335 #define GetTempFileName  GetTempFileNameW
336 #define GetWindowsDirectory  GetWindowsDirectoryW
337 #define SetCurrentDirectory  SetCurrentDirectoryW
338 #define GetCurrentDirectory  GetCurrentDirectoryW
339 #define GetDiskFreeSpace  GetDiskFreeSpaceW
340 #define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
341 #define CreateDirectory  CreateDirectoryW
342 #define CreateDirectoryEx  CreateDirectoryExW
343 #define RemoveDirectory  RemoveDirectoryW
344 #define GetFullPathName  GetFullPathNameW
345 #define DefineDosDevice  DefineDosDeviceW
346 #define QueryDosDevice  QueryDosDeviceW
347 #define CreateFile  CreateFileW
348 #define SetFileAttributes  SetFileAttributesW
349 #define GetFileAttributes  GetFileAttributesW
350 #define GetCompressedFileSize  GetCompressedFileSizeW
351 #define DeleteFile  DeleteFileW
352 #define FindFirstFileEx  FindFirstFileExW
353 #define FindFirstFile  FindFirstFileW
354 #define FindNextFile  FindNextFileW
355 #define SearchPath  SearchPathW
356 #define CopyFile  CopyFileW
357 #define CopyFileEx  CopyFileExW
358 #define MoveFile  MoveFileW
359 #define MoveFileEx  MoveFileExW
360 #define MoveFileWithProgress  MoveFileWithProgressW
361 #define CreateNamedPipe  CreateNamedPipeW
362 #define GetNamedPipeHandleState  GetNamedPipeHandleStateW
363 #define CallNamedPipe  CallNamedPipeW
364 #define WaitNamedPipe  WaitNamedPipeW
365 #define SetVolumeLabel  SetVolumeLabelW
366 #define GetVolumeInformation  GetVolumeInformationW
367 #define ClearEventLog  ClearEventLogW
368 #define BackupEventLog  BackupEventLogW
369 #define CreateMutex  CreateMutexW
370 #define OpenMutex  OpenMutexW
371 #define CreateEvent  CreateEventW
372 #define OpenEvent  OpenEventW
373 #define CreateSemaphore  CreateSemaphoreW
374 #define OpenSemaphore  OpenSemaphoreW
375 #define CreateFileMapping  CreateFileMappingW
376 #define OpenFileMapping  OpenFileMappingW
377 #define GetLogicalDriveStrings  GetLogicalDriveStringsW
378 #define LoadLibrary  LoadLibraryW
379 #define LoadLibraryEx  LoadLibraryExW
380 #define GetModuleFileName  GetModuleFileNameW
381 #define GetModuleHandle  GetModuleHandleW
382 #define GetUserObjectInformation  GetUserObjectInformationW
383 #define SetUserObjectInformation  SetUserObjectInformationW
384 #define RegisterWindowMessage  RegisterWindowMessageW
385 #define GetMessage  GetMessageW
386 #define DispatchMessage  DispatchMessageW
387 #define PeekMessage  PeekMessageW
388 #define SendMessage  SendMessageW
389 #define SendMessageTimeout  SendMessageTimeoutW
390 #define SendNotifyMessage  SendNotifyMessageW
391 #define SendMessageCallback  SendMessageCallbackW
392 #define PostMessage  PostMessageW
393 #define PostThreadMessage  PostThreadMessageW
394 #define VerFindFile  VerFindFileW
395 #define VerInstallFile  VerInstallFileW
396 #define GetFileVersionInfoSize  GetFileVersionInfoSizeW
397 #define GetFileVersionInfo  GetFileVersionInfoW
398 #define VerLanguageName  VerLanguageNameW
399 #define VerQueryValue  VerQueryValueW
400 #define CompareString  CompareStringW
401 #define LCMapString  LCMapStringW
402 #define GetLocaleInfo  GetLocaleInfoW
403 #define SetLocaleInfo  SetLocaleInfoW
404 #define GetTimeFormat  GetTimeFormatW
405 #define GetDateFormat  GetDateFormatW
406 #define GetNumberFormat  GetNumberFormatW
407 #define GetCurrencyFormat  GetCurrencyFormatW
408 #define EnumCalendarInfo  EnumCalendarInfoW
409 #define EnumTimeFormats  EnumTimeFormatsW
410 #define FoldString  FoldStringW
411 #define EnumSystemCodePages  EnumSystemCodePagesW
412 #define EnumSystemLocales  EnumSystemLocalesW
413 #define GetStringTypeEx  GetStringTypeExW
414 #define EnumDateFormats  EnumDateFormatsW
415 #define GetConsoleTitle  GetConsoleTitleW
416 #define ScrollConsoleScreenBuffer  ScrollConsoleScreenBufferW
417 #define SetConsoleTitle  SetConsoleTitleW
418 #define ReadConsole  ReadConsoleW
419 #define WriteConsole  WriteConsoleW
420 #define PeekConsoleInput  PeekConsoleInputW
421 #define ReadConsoleInput  ReadConsoleInputW
422 #define WriteConsoleInput  WriteConsoleInputW
423 #define ReadConsoleOutput  ReadConsoleOutputW
424 #define WriteConsoleOutput  WriteConsoleOutputW
425 #define ReadConsoleOutputCharacter  ReadConsoleOutputCharacterW
426 #define WriteConsoleOutputCharacter  WriteConsoleOutputCharacterW
427 #define FillConsoleOutputCharacter  FillConsoleOutputCharacterW
428 #define WNetGetProviderName  WNetGetProviderNameW
429 #define WNetGetNetworkInformation  WNetGetNetworkInformationW
430 #define WNetGetLastError  WNetGetLastErrorW
431 #define MultinetGetConnectionPerformance  MultinetGetConnectionPerformanceW
432 #define WNetConnectionDialog1  WNetConnectionDialog1W
433 #define WNetDisconnectDialog1  WNetDisconnectDialog1W
434 #define WNetOpenEnum  WNetOpenEnumW
435 #define WNetEnumResource  WNetEnumResourceW
436 #define WNetGetUniversalName  WNetGetUniversalNameW
437 #define WNetGetUser  WNetGetUserW
438 #define WNetAddConnection  WNetAddConnectionW
439 #define WNetAddConnection2  WNetAddConnection2W
440 #define WNetAddConnection3  WNetAddConnection3W
441 #define WNetCancelConnection  WNetCancelConnectionW
442 #define WNetCancelConnection2  WNetCancelConnection2W
443 #define WNetGetConnection  WNetGetConnectionW
444 #define WNetUseConnection  WNetUseConnectionW
445 #define WNetSetConnection  WNetSetConnectionW
446 #define CreateService  CreateServiceW
447 #define ChangeServiceConfig  ChangeServiceConfigW
448 #define EnumDependentServices  EnumDependentServicesW
449 #define EnumServicesStatus  EnumServicesStatusW
450 #define GetServiceKeyName  GetServiceKeyNameW
451 #define GetServiceDisplayName  GetServiceDisplayNameW
452 #define OpenSCManager  OpenSCManagerW
453 #define OpenService  OpenServiceW
454 #define QueryServiceConfig  QueryServiceConfigW
455 #define QueryServiceLockStatus  QueryServiceLockStatusW
456 #define RegisterServiceCtrlHandler  RegisterServiceCtrlHandlerW
457 #define StartServiceCtrlDispatcher  StartServiceCtrlDispatcherW
458 #define StartService  StartServiceW
459 #define DragQueryFile DragQueryFileW
460 #define ExtractAssociatedIcon ExtractAssociatedIconW
461 #define ExtractIcon ExtractIconW
462 #define FindExecutable FindExecutableW
463 #define ShellAbout ShellAboutW
464 #define ShellExecute ShellExecuteW
465 #define DdeCreateStringHandle DdeCreateStringHandleW
466 #define DdeInitialize DdeInitializeW
467 #define DdeQueryString DdeQueryStringW
468 #define LogonUser LogonUserW
469 #define CreateProcessAsUser CreateProcessAsUserW
470
471 /* ASCII */
472 #else
473
474 #define RegConnectRegistry  RegConnectRegistryA
475 #define RegCreateKey  RegCreateKeyA
476 #define RegCreateKeyEx  RegCreateKeyExA
477 #define RegDeleteKey  RegDeleteKeyA
478 #define RegDeleteValue  RegDeleteValueA
479 #define RegEnumKey  RegEnumKeyA
480 #define RegEnumKeyEx  RegEnumKeyExA
481 #define RegEnumValue  RegEnumValueA
482 #define RegLoadKey  RegLoadKeyA
483 #define RegOpenKey  RegOpenKeyA
484 #define RegOpenKeyEx  RegOpenKeyExA
485 #define RegQueryInfoKey  RegQueryInfoKeyA
486 #define RegQueryValue  RegQueryValueA
487 #define RegQueryMultipleValues  RegQueryMultipleValuesA
488 #define RegQueryValueEx  RegQueryValueExA
489 #define RegReplaceKey  RegReplaceKeyA
490 #define RegRestoreKey  RegRestoreKeyA
491 #define RegSaveKey  RegSaveKeyA
492 #define RegSetValue  RegSetValueA
493 #define RegSetValueEx  RegSetValueExA
494 #define AbortSystemShutdown  AbortSystemShutdownA
495 #define InitiateSystemShutdown  InitiateSystemShutdownA
496 #define RegUnLoadKey  RegUnLoadKeyA
497 #define LoadIcon  LoadIconA
498 #define LoadImage  LoadImageA
499 #define LoadString  LoadStringA
500 #define IsDialogMessage  IsDialogMessageA
501 #define DlgDirList  DlgDirListA
502 #define DlgDirSelectEx  DlgDirSelectExA
503 #define DlgDirListComboBox  DlgDirListComboBoxA
504 #define DlgDirSelectComboBoxEx  DlgDirSelectComboBoxExA
505 #define DefFrameProc  DefFrameProcA
506 #define DefMDIChildProc  DefMDIChildProcA
507 #define CreateMDIWindow  CreateMDIWindowA
508 #define WinHelp  WinHelpA
509 #define ChangeDisplaySettings  ChangeDisplaySettingsA
510 #define EnumDisplaySettings  EnumDisplaySettingsA
511 #define SystemParametersInfo  SystemParametersInfoA
512 #define GetWindowLong  GetWindowLongA
513 #define SetWindowLong  SetWindowLongA
514 #define GetClassLong  GetClassLongA
515 #define SetClassLong  SetClassLongA
516 #define FindWindow  FindWindowA
517 #define FindWindowEx  FindWindowExA
518 #define GetClassName  GetClassNameA
519 #define SetWindowsHookEx  SetWindowsHookExA
520 #define LoadBitmap  LoadBitmapA
521 #define LoadCursor  LoadCursorA
522 #define LoadCursorFromFile  LoadCursorFromFileA
523 #define SetProp  SetPropA
524 #define GetProp  GetPropA
525 #define RemoveProp  RemovePropA
526 #define EnumPropsEx  EnumPropsExA
527 #define EnumProps  EnumPropsA
528 #define SetWindowText  SetWindowTextA
529 #define GetWindowText  GetWindowTextA
530 #define GetWindowTextLength  GetWindowTextLengthA
531 #define MessageBox  MessageBoxA
532 #define MessageBoxEx  MessageBoxExA
533 #define MessageBoxIndirect  MessageBoxIndirectA
534 #define AddFontResource  AddFontResourceA
535 #define CopyMetaFile  CopyMetaFileA
536 #define CreateDC  CreateDCA
537 #define CreateFontIndirect  CreateFontIndirectA
538 #define CreateFont  CreateFontA
539 #define CreateIC  CreateICA
540 #define CreateMetaFile  CreateMetaFileA
541 #define CreateScalableFontResource  CreateScalableFontResourceA
542 #define DeviceCapabilities  DeviceCapabilitiesA
543 #define EnumFontFamiliesEx  EnumFontFamiliesExA
544 #define EnumFontFamilies  EnumFontFamiliesA
545 #define EnumFonts  EnumFontsA
546 #define GetCharWidth  GetCharWidthA
547 #define GetCharWidth32  GetCharWidth32A
548 #define GetCharWidthFloat  GetCharWidthFloatA
549 #define GetCharABCWidths  GetCharABCWidthsA
550 #define GetCharABCWidthsFloat  GetCharABCWidthsFloatA
551 #define GetGlyphOutline  GetGlyphOutlineA
552 #define GetMetaFile  GetMetaFileA
553 #define GetOutlineTextMetrics  GetOutlineTextMetricsA
554 #define GetTextExtentPoint  GetTextExtentPointA
555 #define GetTextExtentPoint32  GetTextExtentPoint32A
556 #define GetTextExtentExPoint  GetTextExtentExPointA
557 #define GetCharacterPlacement  GetCharacterPlacementA
558 #define ResetDC  ResetDCA
559 #define RemoveFontResource  RemoveFontResourceA
560 #define CopyEnhMetaFile  CopyEnhMetaFileA
561 #define CreateEnhMetaFile  CreateEnhMetaFileA
562 #define GetEnhMetaFile  GetEnhMetaFileA
563 #define GetEnhMetaFileDescription  GetEnhMetaFileDescriptionA
564 #define GetTextMetrics  GetTextMetricsA
565 #define StartDoc  StartDocA
566 #define GetObject  GetObjectA
567 #define TextOut  TextOutA
568 #define ExtTextOut  ExtTextOutA
569 #define PolyTextOut  PolyTextOutA
570 #define GetTextFace  GetTextFaceA
571 #define GetKerningPairs  GetKerningPairsA
572 #define GetLogColorSpace  GetLogColorSpaceA
573 #define CreateColorSpace  CreateColorSpaceA
574 #define GetICMProfile  GetICMProfileA
575 #define SetICMProfile  SetICMProfileA
576 #define UpdateICMRegKey  UpdateICMRegKeyA
577 #define EnumICMProfiles  EnumICMProfilesA
578 #define CreatePropertySheetPage  CreatePropertySheetPageA
579 #define PropertySheet            PropertySheetA
580 #define ImageList_LoadImage     ImageList_LoadImageA
581 #define CreateStatusWindow      CreateStatusWindowA
582 #define DrawStatusText          DrawStatusTextA
583 #define GetOpenFileName  GetOpenFileNameA
584 #define GetSaveFileName  GetSaveFileNameA
585 #define GetFileTitle  GetFileTitleA
586 #define ChooseColor  ChooseColorA
587 #define FindText  FindTextA
588 #define ReplaceText  ReplaceTextA
589 #define ChooseFont  ChooseFontA
590 #define PrintDlg  PrintDlgA
591 #define PageSetupDlg  PageSetupDlgA
592 #define DefWindowProc  DefWindowProcA
593 #define CallWindowProc  CallWindowProcA
594 #define RegisterClass  RegisterClassA
595 #define UnregisterClass  UnregisterClassA
596 #define GetClassInfo  GetClassInfoA
597 #define RegisterClassEx  RegisterClassExA
598 #define GetClassInfoEx  GetClassInfoExA
599 #define CreateWindowEx  CreateWindowExA
600 #define CreateWindow  CreateWindowA
601 #define CreateDialogParam  CreateDialogParamA
602 #define CreateDialogIndirectParam  CreateDialogIndirectParamA
603 #define CreateDialog  CreateDialogA
604 #define CreateDialogIndirect  CreateDialogIndirectA
605 #define CreateWaitableTimer CreateWaitableTimerA
606 #define DialogBoxParam  DialogBoxParamA
607 #define DialogBoxIndirectParam  DialogBoxIndirectParamA
608 #define DialogBox  DialogBoxA
609 #define DialogBoxIndirect  DialogBoxIndirectA
610 #define RegisterClipboardFormat  RegisterClipboardFormatA
611 #define SetDlgItemText  SetDlgItemTextA
612 #define GetDlgItemText  GetDlgItemTextA
613 #define SendDlgItemMessage  SendDlgItemMessageA
614 #define DefDlgProc  DefDlgProcA
615 #define CallMsgFilter  CallMsgFilterA
616 #define GetClipboardFormatName  GetClipboardFormatNameA
617 #define CharToOem  CharToOemA
618 #define OemToChar  OemToCharA
619 #define CharToOemBuff  CharToOemBuffA
620 #define OemToCharBuff  OemToCharBuffA
621 #define CharUpper  CharUpperA
622 #define CharUpperBuff  CharUpperBuffA
623 #define CharLower  CharLowerA
624 #define CharLowerBuff  CharLowerBuffA
625 #define CharNext  CharNextA
626 #define CharPrev  CharPrevA
627 #define IsCharAlpha  IsCharAlphaA
628 #define IsCharAlphaNumeric  IsCharAlphaNumericA
629 #define IsCharUpper  IsCharUpperA
630 #define IsCharLower  IsCharLowerA
631 #define GetKeyNameText  GetKeyNameTextA
632 #define VkKeyScan  VkKeyScanA
633 #define VkKeyScanEx  VkKeyScanExA
634 #define MapVirtualKey  MapVirtualKeyA
635 #define MapVirtualKeyEx  MapVirtualKeyExA
636 #define LoadAccelerators  LoadAcceleratorsA
637 #define CreateAcceleratorTable  CreateAcceleratorTableA
638 #define CopyAcceleratorTable  CopyAcceleratorTableA
639 #define TranslateAccelerator  TranslateAcceleratorA
640 #define LoadMenu  LoadMenuA
641 #define LoadMenuIndirect  LoadMenuIndirectA
642 #define ChangeMenu  ChangeMenuA
643 #define GetMenuString  GetMenuStringA
644 #define InsertMenu  InsertMenuA
645 #define AppendMenu  AppendMenuA
646 #define ModifyMenu  ModifyMenuA
647 #define InsertMenuItem  InsertMenuItemA
648 #define GetMenuItemInfo  GetMenuItemInfoA
649 #define SetMenuItemInfo  SetMenuItemInfoA
650 #define DrawText  DrawTextA
651 #define DrawTextEx  DrawTextExA
652 #define GrayString  GrayStringA
653 #define DrawState  DrawStateA
654 #define TabbedTextOut  TabbedTextOutA
655 #define GetTabbedTextExtent  GetTabbedTextExtentA
656 #define GetVersionEx  GetVersionExA
657 #define wvsprintf  wvsprintfA
658 #define wsprintf  wsprintfA
659 #define LoadKeyboardLayout  LoadKeyboardLayoutA
660 #define GetKeyboardLayoutName  GetKeyboardLayoutNameA
661 #define CreateDesktop  CreateDesktopA
662 #define OpenDesktop  OpenDesktopA
663 #define EnumDesktops  EnumDesktopsA
664 #define CreateWindowStation  CreateWindowStationA
665 #define OpenWindowStation  OpenWindowStationA
666 #define EnumWindowStations  EnumWindowStationsA
667 #define IsBadStringPtr  IsBadStringPtrA
668 #define LookupAccountSid  LookupAccountSidA
669 #define LookupAccountName  LookupAccountNameA
670 #define LookupPrivilegeValue  LookupPrivilegeValueA
671 #define LookupPrivilegeName  LookupPrivilegeNameA
672 #define LookupPrivilegeDisplayName  LookupPrivilegeDisplayNameA
673 #define BuildCommDCB  BuildCommDCBA
674 #define BuildCommDCBAndTimeouts  BuildCommDCBAndTimeoutsA
675 #define CommConfigDialog  CommConfigDialogA
676 #define GetDefaultCommConfig  GetDefaultCommConfigA
677 #define SetDefaultCommConfig  SetDefaultCommConfigA
678 #define GetComputerName  GetComputerNameA
679 #define SetComputerName  SetComputerNameA
680 #define GetUserName  GetUserNameA
681 #define CreateMailslot  CreateMailslotA
682 #define FormatMessage  FormatMessageA
683 #define GetEnvironmentStrings  GetEnvironmentStringsA
684 #define FreeEnvironmentStrings  FreeEnvironmentStringsA
685 #define lstrcmp  lstrcmpA
686 #define lstrcmpi  lstrcmpiA
687 #define lstrcpyn  lstrcpynA
688 #define lstrcpy  lstrcpyA
689 #define lstrcat  lstrcatA
690 #define lstrlen  lstrlenA
691 #define GetBinaryType  GetBinaryTypeA
692 #define GetShortPathName  GetShortPathNameA
693 #define SetFileSecurity  SetFileSecurityA
694 #define GetFileSecurity  GetFileSecurityA
695 #define FindFirstChangeNotification  FindFirstChangeNotificationA
696 #define AccessCheckAndAuditAlarm  AccessCheckAndAuditAlarmA
697 #define ObjectOpenAuditAlarm  ObjectOpenAuditAlarmA
698 #define ObjectPrivilegeAuditAlarm  ObjectPrivilegeAuditAlarmA
699 #define ObjectCloseAuditAlarm  ObjectCloseAuditAlarmA
700 #define PrivilegedServiceAuditAlarm  PrivilegedServiceAuditAlarmA
701 #define OpenEventLog  OpenEventLogA
702 #define RegisterEventSource  RegisterEventSourceA
703 #define OpenBackupEventLog  OpenBackupEventLogA
704 #define ReadEventLog  ReadEventLogA
705 #define ReportEvent  ReportEventA
706 #define CreateProcess  CreateProcessA
707 #define FatalAppExit  FatalAppExitA
708 #define GetStartupInfo  GetStartupInfoA
709 #define GetCommandLine  GetCommandLineA
710 #define GetEnvironmentVariable  GetEnvironmentVariableA
711 #define SetEnvironmentVariable  SetEnvironmentVariableA
712 #define ExpandEnvironmentStrings  ExpandEnvironmentStringsA
713 #define OutputDebugString  OutputDebugStringA
714 #define FindResource  FindResourceA
715 #define FindResourceEx  FindResourceExA
716 #define EnumResourceTypes  EnumResourceTypesA
717 #define EnumResourceNames  EnumResourceNamesA
718 #define EnumResourceLanguages  EnumResourceLanguagesA
719 #define BeginUpdateResource  BeginUpdateResourceA
720 #define UpdateResource  UpdateResourceA
721 #define EndUpdateResource  EndUpdateResourceA
722 #define GlobalAddAtom  GlobalAddAtomA
723 #define GlobalFindAtom  GlobalFindAtomA
724 #define GlobalGetAtomName  GlobalGetAtomNameA
725 #define AddAtom  AddAtomA
726 #define FindAtom  FindAtomA
727 #define GetProfileInt  GetProfileIntA
728 #define GetAtomName  GetAtomNameA
729 #define GetProfileString  GetProfileStringA
730 #define WriteProfileString  WriteProfileStringA
731 #define GetProfileSection  GetProfileSectionA
732 #define WriteProfileSection  WriteProfileSectionA
733 #define GetPrivateProfileInt  GetPrivateProfileIntA
734 #define GetPrivateProfileString  GetPrivateProfileStringA
735 #define WritePrivateProfileString  WritePrivateProfileStringA
736 #define GetPrivateProfileSection  GetPrivateProfileSectionA
737 #define WritePrivateProfileSection  WritePrivateProfileSectionA
738 #define GetDriveType  GetDriveTypeA
739 #define GetSystemDirectory  GetSystemDirectoryA
740 #define GetTempPath  GetTempPathA
741 #define GetTempFileName  GetTempFileNameA
742 #define GetWindowsDirectory  GetWindowsDirectoryA
743 #define SetCurrentDirectory  SetCurrentDirectoryA
744 #define GetCurrentDirectory  GetCurrentDirectoryA
745 #define GetDiskFreeSpace  GetDiskFreeSpaceA
746 #define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
747 #define CreateDirectory  CreateDirectoryA
748 #define CreateDirectoryEx  CreateDirectoryExA
749 #define RemoveDirectory  RemoveDirectoryA
750 #define GetFullPathName  GetFullPathNameA
751 #define DefineDosDevice  DefineDosDeviceA
752 #define QueryDosDevice  QueryDosDeviceA
753 #define CreateFile  CreateFileA
754 #define SetFileAttributes  SetFileAttributesA
755 #define GetFileAttributes  GetFileAttributesA
756 #define GetCompressedFileSize  GetCompressedFileSizeA
757 #define DeleteFile  DeleteFileA
758 #define FindFirstFileEx  FindFirstFileExA
759 #define FindFirstFile  FindFirstFileA
760 #define FindNextFile  FindNextFileA
761 #define SearchPath  SearchPathA
762 #define CopyFile  CopyFileA
763 #define CopyFileEx  CopyFileExA
764 #define MoveFile  MoveFileA
765 #define MoveFileEx  MoveFileExA
766 #define MoveFileWithProgress  MoveFileWithProgressA
767 #define CreateNamedPipe  CreateNamedPipeA
768 #define GetNamedPipeHandleState  GetNamedPipeHandleStateA
769 #define CallNamedPipe  CallNamedPipeA
770 #define WaitNamedPipe  WaitNamedPipeA
771 #define SetVolumeLabel  SetVolumeLabelA
772 #define GetVolumeInformation  GetVolumeInformationA
773 #define ClearEventLog  ClearEventLogA
774 #define BackupEventLog  BackupEventLogA
775 #define CreateMutex  CreateMutexA
776 #define OpenMutex  OpenMutexA
777 #define CreateEvent  CreateEventA
778 #define OpenEvent  OpenEventA
779 #define CreateSemaphore  CreateSemaphoreA
780 #define OpenSemaphore  OpenSemaphoreA
781 #define CreateFileMapping  CreateFileMappingA
782 #define OpenFileMapping  OpenFileMappingA
783 #define GetLogicalDriveStrings  GetLogicalDriveStringsA
784 #define LoadLibrary  LoadLibraryA
785 #define LoadLibraryEx  LoadLibraryExA
786 #define GetModuleFileName  GetModuleFileNameA
787 #define GetModuleHandle  GetModuleHandleA
788 #define GetUserObjectInformation  GetUserObjectInformationA
789 #define SetUserObjectInformation  SetUserObjectInformationA
790 #define RegisterWindowMessage  RegisterWindowMessageA
791 #define GetMessage  GetMessageA
792 #define DispatchMessage  DispatchMessageA
793 #define PeekMessage  PeekMessageA
794 #define SendMessage  SendMessageA
795 #define SendMessageTimeout  SendMessageTimeoutA
796 #define SendNotifyMessage  SendNotifyMessageA
797 #define SendMessageCallback  SendMessageCallbackA
798 #define PostMessage  PostMessageA
799 #define PostThreadMessage  PostThreadMessageA
800 #define VerFindFile  VerFindFileA
801 #define VerInstallFile  VerInstallFileA
802 #define GetFileVersionInfoSize  GetFileVersionInfoSizeA
803 #define GetFileVersionInfo  GetFileVersionInfoA
804 #define VerLanguageName  VerLanguageNameA
805 #define VerQueryValue  VerQueryValueA
806 #define CompareString  CompareStringA
807 #define LCMapString  LCMapStringA
808 #define GetLocaleInfo  GetLocaleInfoA
809 #define SetLocaleInfo  SetLocaleInfoA
810 #define GetTimeFormat  GetTimeFormatA
811 #define GetDateFormat  GetDateFormatA
812 #define GetNumberFormat  GetNumberFormatA
813 #define GetCurrencyFormat  GetCurrencyFormatA
814 #define EnumCalendarInfo  EnumCalendarInfoA
815 #define EnumTimeFormats  EnumTimeFormatsA
816 #define FoldString  FoldStringA
817 #define EnumSystemCodePages  EnumSystemCodePagesA
818 #define EnumSystemLocales  EnumSystemLocalesA
819 #define GetStringTypeEx  GetStringTypeExA
820 #define EnumDateFormats  EnumDateFormatsA
821 #define GetConsoleTitle  GetConsoleTitleA
822 #define ScrollConsoleScreenBuffer  ScrollConsoleScreenBufferA
823 #define SetConsoleTitle  SetConsoleTitleA
824 #define ReadConsole  ReadConsoleA
825 #define WriteConsole  WriteConsoleA
826 #define PeekConsoleInput  PeekConsoleInputA
827 #define ReadConsoleInput  ReadConsoleInputA
828 #define WriteConsoleInput  WriteConsoleInputA
829 #define ReadConsoleOutput  ReadConsoleOutputA
830 #define WriteConsoleOutput  WriteConsoleOutputA
831 #define ReadConsoleOutputCharacter  ReadConsoleOutputCharacterA
832 #define WriteConsoleOutputCharacter  WriteConsoleOutputCharacterA
833 #define FillConsoleOutputCharacter  FillConsoleOutputCharacterA
834 #define MultinetGetConnectionPerformance  MultinetGetConnectionPerformanceA
835 #define WNetGetLastError  WNetGetLastErrorA
836 #define WNetGetProviderName  WNetGetProviderNameA
837 #define WNetGetNetworkInformation  WNetGetNetworkInformationA
838 #define WNetConnectionDialog1  WNetConnectionDialog1A
839 #define WNetDisconnectDialog1  WNetDisconnectDialog1A
840 #define WNetOpenEnum  WNetOpenEnumA
841 #define WNetEnumResource  WNetEnumResourceA
842 #define WNetGetUniversalName  WNetGetUniversalNameA
843 #define WNetGetUser  WNetGetUserA
844 #define WNetAddConnection  WNetAddConnectionA
845 #define WNetAddConnection2  WNetAddConnection2A
846 #define WNetAddConnection3  WNetAddConnection3A
847 #define WNetCancelConnection  WNetCancelConnectionA
848 #define WNetCancelConnection2  WNetCancelConnection2A
849 #define WNetGetConnection  WNetGetConnectionA
850 #define WNetUseConnection  WNetUseConnectionA
851 #define WNetSetConnection  WNetSetConnectionA
852 #define OpenService  OpenServiceA
853 #define QueryServiceConfig  QueryServiceConfigA
854 #define QueryServiceLockStatus  QueryServiceLockStatusA
855 #define RegisterServiceCtrlHandler  RegisterServiceCtrlHandlerA
856 #define StartServiceCtrlDispatcher  StartServiceCtrlDispatcherA
857 #define StartService  StartServiceA
858 #define ChangeServiceConfig  ChangeServiceConfigA
859 #define CreateService  CreateServiceA
860 #define EnumDependentServices  EnumDependentServicesA
861 #define EnumServicesStatus  EnumServicesStatusA
862 #define GetServiceKeyName  GetServiceKeyNameA
863 #define GetServiceDisplayName  GetServiceDisplayNameA
864 #define OpenSCManager  OpenSCManagerA
865 #define DragQueryFile DragQueryFileA
866 #define ExtractAssociatedIcon ExtractAssociatedIconA
867 #define ExtractIcon ExtractIconA
868 #define FindExecutable FindExecutableA
869 #define ShellAbout ShellAboutA
870 #define ShellExecute ShellExecuteA
871 #define DdeCreateStringHandle DdeCreateStringHandleA
872 #define DdeInitialize DdeInitializeA
873 #define DdeQueryString DdeQueryStringA
874 #define LogonUser LogonUserA
875 #define CreateProcessAsUser CreateProcessAsUserA
876
877 #endif /* UNICODE and ASCII defines */
878
879   HWND STDCALL GetAncestor(HWND hWnd, UINT GaFlags);
880 WINBOOL STDCALL AbnormalTermination(VOID);
881 int STDCALL AbortDoc(HDC);
882 WINBOOL STDCALL AbortPath(HDC);
883 WINBOOL STDCALL AbortPrinter(HANDLE);
884 WINBOOL CALLBACK AbortProc(HDC, int);
885 WINBOOL STDCALL AccessCheck(
886                     PSECURITY_DESCRIPTOR  pSecurityDescriptor,
887                     HANDLE  ClientToken,
888                     DWORD  DesiredAccess,
889                     PGENERIC_MAPPING  GenericMapping,
890                     PPRIVILEGE_SET  PrivilegeSet,
891                     LPDWORD  PrivilegeSetLength,
892                     LPDWORD  GrantedAccess,
893                     LPBOOL  AccessStatus
894                     );
895
896 WINBOOL STDCALL AccessCheckAndAuditAlarm(
897                                  LPCTSTR  SubsystemName,
898                                  LPVOID  HandleId,
899                                  LPTSTR  ObjectTypeName,
900                                  LPTSTR  ObjectName,
901                                  PSECURITY_DESCRIPTOR  SecurityDescriptor,
902                                  DWORD  DesiredAccess,
903                                  PGENERIC_MAPPING  GenericMapping,
904                                  WINBOOL  ObjectCreation,
905                                  LPDWORD  GrantedAccess,
906                                  LPBOOL  AccessStatus,
907                                  LPBOOL  pfGenerateOnClose
908                                  );
909
910 #ifndef __NTDRIVER__
911 LONG
912 STDCALL
913 InterlockedIncrement(
914                      LPLONG lpAddend
915                      );
916
917 LONG
918 STDCALL
919 InterlockedDecrement(
920                      LPLONG lpAddend
921                      );
922
923 LONG
924 STDCALL
925 InterlockedExchange(
926                     LPLONG Target,
927                     LONG Value
928                     );
929
930 PVOID
931 STDCALL
932 InterlockedCompareExchange(
933             PVOID *Destination,
934             PVOID Exchange,
935             PVOID Comperand
936             );
937 #endif
938
939 WINBOOL
940 STDCALL
941 FreeResource(
942              HGLOBAL hResData
943              );
944
945 LPVOID
946 STDCALL
947 LockResource(
948              HGLOBAL hResData
949              );
950
951 int
952 #ifdef __GNUC__
953 STDCALL
954 #else
955 __stdcall
956 #endif
957 WinMain(
958         HINSTANCE hInstance,
959         HINSTANCE hPrevInstance,
960         LPSTR lpCmdLine,
961         int nShowCmd
962         );
963
964 WINBOOL
965 STDCALL
966 FreeLibrary(
967             HINSTANCE hLibModule
968             );
969
970
971 VOID
972 STDCALL
973 FreeLibraryAndExitThread(
974                          HMODULE hLibModule,
975                          DWORD dwExitCode
976                          );
977
978 WINBOOL
979 STDCALL
980 DisableThreadLibraryCalls(
981                           HMODULE hLibModule
982                           );
983
984 FARPROC
985 STDCALL
986 GetProcAddress(
987                HINSTANCE hModule,
988                LPCSTR lpProcName
989                );
990
991 DWORD
992 STDCALL
993 GetVersion( VOID );
994
995 HGLOBAL
996 STDCALL
997 GlobalAlloc(
998             UINT uFlags,
999             DWORD dwBytes
1000             );
1001
1002 HGLOBAL
1003 GlobalDiscard(
1004               HGLOBAL hglbMem
1005               );
1006
1007 HGLOBAL
1008 STDCALL
1009 GlobalReAlloc(
1010               HGLOBAL hMem,
1011               DWORD dwBytes,
1012               UINT uFlags
1013               );
1014
1015 DWORD
1016 STDCALL
1017 GlobalSize(
1018            HGLOBAL hMem
1019            );
1020
1021 UINT
1022 STDCALL
1023 GlobalFlags(
1024             HGLOBAL hMem
1025             );
1026
1027
1028 LPVOID
1029 STDCALL
1030 GlobalLock(
1031            HGLOBAL hMem
1032            );
1033
1034 HGLOBAL
1035 STDCALL
1036 GlobalHandle(
1037              LPCVOID pMem
1038              );
1039
1040
1041 WINBOOL
1042 STDCALL
1043 GlobalUnlock(
1044              HGLOBAL hMem
1045              );
1046
1047
1048 HGLOBAL
1049 STDCALL
1050 GlobalFree(
1051            HGLOBAL hMem
1052            );
1053
1054 UINT
1055 STDCALL
1056 GlobalCompact(
1057               DWORD dwMinFree
1058               );
1059
1060
1061 VOID
1062 STDCALL
1063 GlobalFix(
1064           HGLOBAL hMem
1065           );
1066
1067
1068 VOID
1069 STDCALL
1070 GlobalUnfix(
1071             HGLOBAL hMem
1072             );
1073
1074
1075 LPVOID
1076 STDCALL
1077 GlobalWire(
1078            HGLOBAL hMem
1079            );
1080
1081
1082 WINBOOL
1083 STDCALL
1084 GlobalUnWire(
1085              HGLOBAL hMem
1086              );
1087
1088
1089 VOID
1090 STDCALL
1091 GlobalMemoryStatus(
1092                    LPMEMORYSTATUS lpBuffer
1093                    );
1094
1095
1096 HLOCAL
1097 STDCALL
1098 LocalAlloc(
1099            UINT uFlags,
1100            UINT uBytes
1101            );
1102
1103 HLOCAL
1104 LocalDiscard(
1105              HLOCAL hlocMem
1106              );
1107
1108 HLOCAL
1109 STDCALL
1110 LocalReAlloc(
1111              HLOCAL hMem,
1112              UINT uBytes,
1113              UINT uFlags
1114              );
1115
1116
1117 LPVOID
1118 STDCALL
1119 LocalLock(
1120           HLOCAL hMem
1121           );
1122
1123
1124 HLOCAL
1125 STDCALL
1126 LocalHandle(
1127             LPCVOID pMem
1128             );
1129
1130
1131 WINBOOL
1132 STDCALL
1133 LocalUnlock(
1134             HLOCAL hMem
1135             );
1136
1137
1138 UINT
1139 STDCALL
1140 LocalSize(
1141           HLOCAL hMem
1142           );
1143
1144
1145 UINT
1146 STDCALL
1147 LocalFlags(
1148            HLOCAL hMem
1149            );
1150
1151
1152 HLOCAL
1153 STDCALL
1154 LocalFree(
1155           HLOCAL hMem
1156           );
1157
1158
1159 UINT
1160 STDCALL
1161 LocalShrink(
1162             HLOCAL hMem,
1163             UINT cbNewSize
1164             );
1165
1166
1167 UINT
1168 STDCALL
1169 LocalCompact(
1170              UINT uMinFree
1171              );
1172
1173
1174 WINBOOL
1175 STDCALL
1176 FlushInstructionCache(
1177                       HANDLE hProcess,
1178                       LPCVOID lpBaseAddress,
1179                       DWORD dwSize
1180                       );
1181
1182
1183 LPVOID
1184 STDCALL
1185 VirtualAlloc(
1186              LPVOID lpAddress,
1187              DWORD dwSize,
1188              DWORD flAllocationType,
1189              DWORD flProtect
1190              );
1191
1192
1193 WINBOOL
1194 STDCALL
1195 VirtualFree(
1196             LPVOID lpAddress,
1197             DWORD dwSize,
1198             DWORD dwFreeType
1199             );
1200
1201
1202 WINBOOL
1203 STDCALL
1204 VirtualProtect(
1205                LPVOID lpAddress,
1206                DWORD dwSize,
1207                DWORD flNewProtect,
1208                PDWORD lpflOldProtect
1209                );
1210
1211
1212 DWORD
1213 STDCALL
1214 VirtualQuery(
1215              LPCVOID lpAddress,
1216              PMEMORY_BASIC_INFORMATION lpBuffer,
1217              DWORD dwLength
1218              );
1219
1220
1221 WINBOOL
1222 STDCALL
1223 VirtualProtectEx(
1224                  HANDLE hProcess,
1225                  LPVOID lpAddress,
1226                  DWORD dwSize,
1227                  DWORD flNewProtect,
1228                  PDWORD lpflOldProtect
1229                  );
1230
1231
1232 DWORD
1233 STDCALL
1234 VirtualQueryEx(
1235                HANDLE hProcess,
1236                LPCVOID lpAddress,
1237                PMEMORY_BASIC_INFORMATION lpBuffer,
1238                DWORD dwLength
1239                );
1240
1241
1242 HANDLE
1243 STDCALL
1244 HeapCreate(
1245            DWORD flOptions,
1246            DWORD dwInitialSize,
1247            DWORD dwMaximumSize
1248            );
1249
1250 WINBOOL
1251 STDCALL
1252 HeapDestroy(
1253             HANDLE hHeap
1254             );
1255
1256 LPVOID
1257 STDCALL
1258 HeapAlloc(
1259           HANDLE hHeap,
1260           DWORD dwFlags,
1261           DWORD dwBytes
1262           );
1263
1264 LPVOID
1265 STDCALL
1266 HeapReAlloc(
1267             HANDLE hHeap,
1268             DWORD dwFlags,
1269             LPVOID lpMem,
1270             DWORD dwBytes
1271             );
1272
1273 WINBOOL
1274 STDCALL
1275 HeapFree(
1276          HANDLE hHeap,
1277          DWORD dwFlags,
1278          LPVOID lpMem
1279          );
1280
1281 DWORD
1282 STDCALL
1283 HeapSize(
1284          HANDLE hHeap,
1285          DWORD dwFlags,
1286          LPCVOID lpMem
1287          );
1288
1289 WINBOOL
1290 STDCALL
1291 HeapValidate(
1292              HANDLE hHeap,
1293              DWORD dwFlags,
1294              LPCVOID lpMem
1295              );
1296
1297 UINT
1298 STDCALL
1299 HeapCompact(
1300             HANDLE hHeap,
1301             DWORD dwFlags
1302             );
1303
1304 HANDLE
1305 STDCALL
1306 GetProcessHeap( VOID );
1307
1308 DWORD
1309 STDCALL
1310 GetProcessHeaps(
1311                 DWORD NumberOfHeaps,
1312                 PHANDLE ProcessHeaps
1313                 );
1314
1315 DWORD
1316 STDCALL
1317 GetProcessVersion (
1318                 DWORD   ProcessId
1319                 );
1320
1321 WINBOOL
1322 STDCALL
1323 HeapLock(
1324          HANDLE hHeap
1325          );
1326
1327 WINBOOL
1328 STDCALL
1329 HeapUnlock(
1330            HANDLE hHeap
1331            );
1332
1333 WINBOOL
1334 STDCALL
1335 HeapWalk(
1336          HANDLE hHeap,
1337          LPPROCESS_HEAP_ENTRY lpEntry
1338          );
1339
1340 WINBOOL
1341 STDCALL
1342 GetProcessAffinityMask(
1343                        HANDLE hProcess,
1344                        LPDWORD lpProcessAffinityMask,
1345                        LPDWORD lpSystemAffinityMask
1346                        );
1347
1348 WINBOOL
1349 STDCALL
1350 GetProcessTimes(
1351                 HANDLE hProcess,
1352                 LPFILETIME lpCreationTime,
1353                 LPFILETIME lpExitTime,
1354                 LPFILETIME lpKernelTime,
1355                 LPFILETIME lpUserTime
1356                 );
1357
1358 WINBOOL
1359 STDCALL
1360 GetProcessWorkingSetSize(
1361                          HANDLE hProcess,
1362                          LPDWORD lpMinimumWorkingSetSize,
1363                          LPDWORD lpMaximumWorkingSetSize
1364                          );
1365
1366 WINBOOL
1367 STDCALL
1368 SetProcessWorkingSetSize(
1369                          HANDLE hProcess,
1370                          DWORD dwMinimumWorkingSetSize,
1371                          DWORD dwMaximumWorkingSetSize
1372                          );
1373
1374 HANDLE
1375 STDCALL
1376 OpenProcess(
1377             DWORD dwDesiredAccess,
1378             WINBOOL bInheritHandle,
1379             DWORD dwProcessId
1380             );
1381
1382 HANDLE
1383 STDCALL
1384 GetCurrentProcess(
1385                   VOID
1386                   );
1387
1388 DWORD
1389 STDCALL
1390 GetCurrentProcessId(
1391                     VOID
1392                     );
1393
1394 VOID
1395 STDCALL
1396 ExitProcess(
1397             UINT uExitCode
1398             ) __attribute__ ((noreturn));
1399
1400 WINBOOL
1401 STDCALL
1402 TerminateProcess(
1403                  HANDLE hProcess,
1404                  UINT uExitCode
1405                  );
1406
1407 WINBOOL
1408 STDCALL
1409 GetExitCodeProcess(
1410                    HANDLE hProcess,
1411                    LPDWORD lpExitCode
1412                    );
1413
1414 VOID
1415 STDCALL
1416 FatalExit(
1417           int ExitCode
1418           );
1419
1420 VOID
1421 STDCALL
1422 RaiseException(
1423                DWORD dwExceptionCode,
1424                DWORD dwExceptionFlags,
1425                DWORD nNumberOfArguments,
1426                CONST DWORD *lpArguments
1427                );
1428
1429 LONG
1430 STDCALL
1431 UnhandledExceptionFilter(
1432                          struct _EXCEPTION_POINTERS *ExceptionInfo
1433                          );
1434
1435 /*
1436  TODO: what is TOP_LEVEL_EXCEPTION_FILTER?
1437 LPTOP_LEVEL_EXCEPTION_FILTER
1438 STDCALL
1439 SetUnhandledExceptionFilter(
1440     LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
1441     );
1442 */
1443
1444
1445 HANDLE
1446 STDCALL
1447 CreateThread(
1448              LPSECURITY_ATTRIBUTES lpThreadAttributes,
1449              DWORD dwStackSize,
1450              LPTHREAD_START_ROUTINE lpStartAddress,
1451              LPVOID lpParameter,
1452              DWORD dwCreationFlags,
1453              LPDWORD lpThreadId
1454              );
1455
1456
1457 HANDLE
1458 STDCALL
1459 CreateRemoteThread(
1460                    HANDLE hProcess,
1461                    LPSECURITY_ATTRIBUTES lpThreadAttributes,
1462                    DWORD dwStackSize,
1463                    LPTHREAD_START_ROUTINE lpStartAddress,
1464                    LPVOID lpParameter,
1465                    DWORD dwCreationFlags,
1466                    LPDWORD lpThreadId
1467                    );
1468
1469
1470 HANDLE
1471 STDCALL
1472 GetCurrentThread(
1473                  VOID
1474                  );
1475
1476
1477 DWORD
1478 STDCALL
1479 GetCurrentThreadId(
1480                    VOID
1481                    );
1482
1483
1484 DWORD
1485 STDCALL
1486 SetThreadAffinityMask(
1487                       HANDLE hThread,
1488                       DWORD dwThreadAffinityMask
1489                       );
1490
1491
1492 WINBOOL
1493 STDCALL
1494 SetThreadPriority(
1495                   HANDLE hThread,
1496                   int nPriority
1497                   );
1498
1499
1500 int
1501 STDCALL
1502 GetThreadPriority(
1503                   HANDLE hThread
1504                   );
1505
1506
1507 WINBOOL
1508 STDCALL
1509 GetThreadTimes(
1510                HANDLE hThread,
1511                LPFILETIME lpCreationTime,
1512                LPFILETIME lpExitTime,
1513                LPFILETIME lpKernelTime,
1514                LPFILETIME lpUserTime
1515                );
1516
1517
1518 VOID
1519 STDCALL
1520 ExitThread(
1521            DWORD dwExitCode
1522            );
1523
1524
1525 WINBOOL
1526 STDCALL
1527 TerminateThread(
1528                 HANDLE hThread,
1529                 DWORD dwExitCode
1530                 );
1531
1532
1533 WINBOOL
1534 STDCALL
1535 GetExitCodeThread(
1536                   HANDLE hThread,
1537                   LPDWORD lpExitCode
1538                   );
1539
1540 WINBOOL
1541 STDCALL
1542 GetThreadSelectorEntry(
1543                        HANDLE hThread,
1544                        DWORD dwSelector,
1545                        LPLDT_ENTRY lpSelectorEntry
1546                        );
1547
1548
1549 DWORD
1550 STDCALL
1551 GetLastError(
1552              VOID
1553              );
1554
1555
1556 VOID
1557 STDCALL
1558 SetLastError(
1559              DWORD dwErrCode
1560              );
1561
1562
1563 WINBOOL
1564 STDCALL
1565 GetOverlappedResult(
1566                     HANDLE hFile,
1567                     LPOVERLAPPED lpOverlapped,
1568                     LPDWORD lpNumberOfBytesTransferred,
1569                     WINBOOL bWait
1570                     );
1571
1572
1573 HANDLE
1574 STDCALL
1575 CreateIoCompletionPort(
1576                        HANDLE FileHandle,
1577                        HANDLE ExistingCompletionPort,
1578                        DWORD CompletionKey,
1579                        DWORD NumberOfConcurrentThreads
1580                        );
1581
1582
1583 WINBOOL
1584 STDCALL
1585 GetQueuedCompletionStatus(
1586                           HANDLE CompletionPort,
1587                           LPDWORD lpNumberOfBytesTransferred,
1588                           LPDWORD lpCompletionKey,
1589                           LPOVERLAPPED *lpOverlapped,
1590                           DWORD dwMilliseconds
1591                           );
1592
1593 UINT
1594 STDCALL
1595 SetErrorMode(
1596              UINT uMode
1597              );
1598
1599
1600 WINBOOL
1601 STDCALL
1602 ReadProcessMemory(
1603                   HANDLE hProcess,
1604                   LPCVOID lpBaseAddress,
1605                   LPVOID lpBuffer,
1606                   DWORD nSize,
1607                   LPDWORD lpNumberOfBytesRead
1608                   );
1609
1610
1611 WINBOOL
1612 STDCALL
1613 WriteProcessMemory(
1614                    HANDLE hProcess,
1615                    LPVOID lpBaseAddress,
1616                    LPVOID lpBuffer,
1617                    DWORD nSize,
1618                    LPDWORD lpNumberOfBytesWritten
1619                    );
1620
1621
1622 WINBOOL
1623 STDCALL
1624 GetThreadContext(
1625                  HANDLE hThread,
1626                  LPCONTEXT lpContext
1627                  );
1628
1629
1630 WINBOOL
1631 STDCALL
1632 SetThreadContext(
1633                  HANDLE hThread,
1634                  CONST CONTEXT *lpContext
1635                  );
1636
1637
1638 DWORD
1639 STDCALL
1640 SuspendThread(
1641               HANDLE hThread
1642               );
1643
1644
1645 DWORD
1646 STDCALL
1647 ResumeThread(
1648              HANDLE hThread
1649              );
1650
1651
1652 VOID
1653 STDCALL
1654 DebugBreak(
1655            VOID
1656            );
1657
1658
1659 WINBOOL
1660 STDCALL
1661 WaitForDebugEvent(
1662                   LPDEBUG_EVENT lpDebugEvent,
1663                   DWORD dwMilliseconds
1664                   );
1665
1666
1667 WINBOOL
1668 STDCALL
1669 ContinueDebugEvent(
1670                    DWORD dwProcessId,
1671                    DWORD dwThreadId,
1672                    DWORD dwContinueStatus
1673                    );
1674
1675
1676 WINBOOL
1677 STDCALL
1678 DebugActiveProcess(
1679                    DWORD dwProcessId
1680                    );
1681
1682
1683 VOID
1684 STDCALL
1685 InitializeCriticalSection(
1686                           LPCRITICAL_SECTION lpCriticalSection
1687                           );
1688
1689
1690 VOID
1691 STDCALL
1692 EnterCriticalSection(
1693                      LPCRITICAL_SECTION lpCriticalSection
1694                      );
1695
1696
1697 VOID
1698 STDCALL
1699 LeaveCriticalSection(
1700                      LPCRITICAL_SECTION lpCriticalSection
1701                      );
1702
1703
1704 VOID
1705 STDCALL
1706 DeleteCriticalSection(
1707                       LPCRITICAL_SECTION lpCriticalSection
1708                       );
1709
1710
1711 WINBOOL
1712 STDCALL
1713 SetEvent(
1714          HANDLE hEvent
1715          );
1716
1717
1718 WINBOOL
1719 STDCALL
1720 ResetEvent(
1721            HANDLE hEvent
1722            );
1723
1724
1725 WINBOOL
1726 STDCALL
1727 PulseEvent(
1728            HANDLE hEvent
1729            );
1730
1731
1732 WINBOOL
1733 STDCALL
1734 ReleaseSemaphore(
1735                  HANDLE hSemaphore,
1736                  LONG lReleaseCount,
1737                  LPLONG lpPreviousCount
1738                  );
1739
1740
1741 WINBOOL
1742 STDCALL
1743 ReleaseMutex(
1744              HANDLE hMutex
1745              );
1746
1747
1748 DWORD
1749 STDCALL
1750 WaitForSingleObject(
1751                     HANDLE hHandle,
1752                     DWORD dwMilliseconds
1753                     );
1754
1755
1756 DWORD
1757 STDCALL
1758 WaitForMultipleObjects(
1759                        DWORD nCount,
1760                        CONST HANDLE *lpHandles,
1761                        WINBOOL bWaitAll,
1762                        DWORD dwMilliseconds
1763                        );
1764
1765
1766 VOID
1767 STDCALL
1768 Sleep(
1769       DWORD dwMilliseconds
1770       );
1771
1772
1773 HGLOBAL
1774 STDCALL
1775 LoadResource(
1776              HINSTANCE hModule,
1777              HRSRC hResInfo
1778              );
1779
1780
1781 DWORD
1782 STDCALL
1783 SizeofResource(
1784                HINSTANCE hModule,
1785                HRSRC hResInfo
1786                );
1787
1788
1789
1790 ATOM
1791 STDCALL
1792 GlobalDeleteAtom(
1793                  ATOM nAtom
1794                  );
1795
1796
1797 WINBOOL
1798 STDCALL
1799 InitAtomTable(
1800               DWORD nSize
1801               );
1802
1803
1804 ATOM
1805 STDCALL
1806 DeleteAtom(
1807            ATOM nAtom
1808            );
1809
1810
1811 UINT
1812 STDCALL
1813 SetHandleCount(
1814                UINT uNumber
1815                );
1816
1817
1818 DWORD
1819 STDCALL
1820 GetLogicalDrives(
1821                  VOID
1822                  );
1823
1824
1825 WINBOOL
1826 STDCALL
1827 LockFile(
1828          HANDLE hFile,
1829          DWORD dwFileOffsetLow,
1830          DWORD dwFileOffsetHigh,
1831          DWORD nNumberOfBytesToLockLow,
1832          DWORD nNumberOfBytesToLockHigh
1833          );
1834
1835
1836 WINBOOL
1837 STDCALL
1838 UnlockFile(
1839            HANDLE hFile,
1840            DWORD dwFileOffsetLow,
1841            DWORD dwFileOffsetHigh,
1842            DWORD nNumberOfBytesToUnlockLow,
1843            DWORD nNumberOfBytesToUnlockHigh
1844            );
1845
1846
1847 WINBOOL
1848 STDCALL
1849 LockFileEx(
1850            HANDLE hFile,
1851            DWORD dwFlags,
1852            DWORD dwReserved,
1853            DWORD nNumberOfBytesToLockLow,
1854            DWORD nNumberOfBytesToLockHigh,
1855            LPOVERLAPPED lpOverlapped
1856            );
1857
1858 WINBOOL
1859 STDCALL
1860 UnlockFileEx(
1861              HANDLE hFile,
1862              DWORD dwReserved,
1863              DWORD nNumberOfBytesToUnlockLow,
1864              DWORD nNumberOfBytesToUnlockHigh,
1865              LPOVERLAPPED lpOverlapped
1866              );
1867
1868 WINBOOL
1869 STDCALL
1870 GetFileInformationByHandle(
1871                            HANDLE hFile,
1872                            LPBY_HANDLE_FILE_INFORMATION lpFileInformation
1873                            );
1874
1875
1876 DWORD
1877 STDCALL
1878 GetFileType(
1879             HANDLE hFile
1880             );
1881
1882
1883 DWORD
1884 STDCALL
1885 GetFileSize(
1886             HANDLE hFile,
1887             LPDWORD lpFileSizeHigh
1888             );
1889
1890
1891 HANDLE
1892 STDCALL
1893 GetStdHandle(
1894              DWORD nStdHandle
1895              );
1896
1897
1898 WINBOOL
1899 STDCALL
1900 SetStdHandle(
1901              DWORD nStdHandle,
1902              HANDLE hHandle
1903              );
1904
1905
1906 WINBOOL
1907 STDCALL
1908 WriteFile(
1909           HANDLE hFile,
1910           LPCVOID lpBuffer,
1911           DWORD nNumberOfBytesToWrite,
1912           LPDWORD lpNumberOfBytesWritten,
1913           LPOVERLAPPED lpOverlapped
1914           );
1915
1916
1917 WINBOOL
1918 STDCALL
1919 ReadFile(
1920          HANDLE hFile,
1921          LPVOID lpBuffer,
1922          DWORD nNumberOfBytesToRead,
1923          LPDWORD lpNumberOfBytesRead,
1924          LPOVERLAPPED lpOverlapped
1925          );
1926
1927
1928 WINBOOL
1929 STDCALL
1930 FlushFileBuffers(
1931                  HANDLE hFile
1932                  );
1933
1934
1935 WINBOOL
1936 STDCALL
1937 DeviceIoControl(
1938                 HANDLE hDevice,
1939                 DWORD dwIoControlCode,
1940                 LPVOID lpInBuffer,
1941                 DWORD nInBufferSize,
1942                 LPVOID lpOutBuffer,
1943                 DWORD nOutBufferSize,
1944                 LPDWORD lpBytesReturned,
1945                 LPOVERLAPPED lpOverlapped
1946                 );
1947
1948
1949 WINBOOL
1950 STDCALL
1951 SetEndOfFile(
1952              HANDLE hFile
1953              );
1954
1955
1956 DWORD
1957 STDCALL
1958 SetFilePointer(
1959                HANDLE hFile,
1960                LONG lDistanceToMove,
1961                PLONG lpDistanceToMoveHigh,
1962                DWORD dwMoveMethod
1963                );
1964
1965
1966 WINBOOL
1967 STDCALL
1968 FindClose(
1969           HANDLE hFindFile
1970           );
1971
1972
1973 WINBOOL
1974 STDCALL
1975 GetFileTime(
1976             HANDLE hFile,
1977             LPFILETIME lpCreationTime,
1978             LPFILETIME lpLastAccessTime,
1979             LPFILETIME lpLastWriteTime
1980             );
1981
1982
1983 WINBOOL
1984 STDCALL
1985 SetFileTime(
1986             HANDLE hFile,
1987             CONST FILETIME *lpCreationTime,
1988             CONST FILETIME *lpLastAccessTime,
1989             CONST FILETIME *lpLastWriteTime
1990             );
1991
1992
1993 WINBOOL
1994 STDCALL
1995 CloseHandle(
1996             HANDLE hObject
1997             );
1998
1999
2000 WINBOOL
2001 STDCALL
2002 DuplicateHandle(
2003                 HANDLE hSourceProcessHandle,
2004                 HANDLE hSourceHandle,
2005                 HANDLE hTargetProcessHandle,
2006                 LPHANDLE lpTargetHandle,
2007                 DWORD dwDesiredAccess,
2008                 WINBOOL bInheritHandle,
2009                 DWORD dwOptions
2010                 );
2011
2012
2013 WINBOOL
2014 STDCALL
2015 GetHandleInformation(
2016                      HANDLE hObject,
2017                      LPDWORD lpdwFlags
2018                      );
2019
2020
2021 WINBOOL
2022 STDCALL
2023 SetHandleInformation(
2024                      HANDLE hObject,
2025                      DWORD dwMask,
2026                      DWORD dwFlags
2027                      );
2028
2029 DWORD
2030 STDCALL
2031 LoadModule(
2032            LPCSTR lpModuleName,
2033            LPVOID lpParameterBlock
2034            );
2035
2036
2037 UINT
2038 STDCALL
2039 WinExec(
2040         LPCSTR lpCmdLine,
2041         UINT uCmdShow
2042         );
2043
2044
2045 WINBOOL
2046 STDCALL
2047 ClearCommBreak(
2048                HANDLE hFile
2049                );
2050
2051
2052 WINBOOL
2053 STDCALL
2054 ClearCommError(
2055                HANDLE hFile,
2056                LPDWORD lpErrors,
2057                LPCOMSTAT lpStat
2058                );
2059
2060
2061 WINBOOL
2062 STDCALL
2063 SetupComm(
2064           HANDLE hFile,
2065           DWORD dwInQueue,
2066           DWORD dwOutQueue
2067           );
2068
2069
2070 WINBOOL
2071 STDCALL
2072 EscapeCommFunction(
2073                    HANDLE hFile,
2074                    DWORD dwFunc
2075                    );
2076
2077
2078 WINBOOL
2079 STDCALL
2080 GetCommConfig(
2081               HANDLE hCommDev,
2082               LPCOMMCONFIG lpCC,
2083               LPDWORD lpdwSize
2084               );
2085
2086
2087 WINBOOL
2088 STDCALL
2089 GetCommMask(
2090             HANDLE hFile,
2091             LPDWORD lpEvtMask
2092             );
2093
2094
2095 WINBOOL
2096 STDCALL
2097 GetCommProperties(
2098                   HANDLE hFile,
2099                   LPCOMMPROP lpCommProp
2100                   );
2101
2102
2103 WINBOOL
2104 STDCALL
2105 GetCommModemStatus(
2106                    HANDLE hFile,
2107                    LPDWORD lpModemStat
2108                    );
2109
2110
2111 WINBOOL
2112 STDCALL
2113 GetCommState(
2114              HANDLE hFile,
2115              LPDCB lpDCB
2116              );
2117
2118
2119 WINBOOL
2120 STDCALL
2121 GetCommTimeouts(
2122                 HANDLE hFile,
2123                 LPCOMMTIMEOUTS lpCommTimeouts
2124                 );
2125
2126
2127 WINBOOL
2128 STDCALL
2129 PurgeComm(
2130           HANDLE hFile,
2131           DWORD dwFlags
2132           );
2133
2134
2135 WINBOOL
2136 STDCALL
2137 SetCommBreak(
2138              HANDLE hFile
2139              );
2140
2141
2142 WINBOOL
2143 STDCALL
2144 SetCommConfig(
2145               HANDLE hCommDev,
2146               LPCOMMCONFIG lpCC,
2147               DWORD dwSize
2148               );
2149
2150
2151 WINBOOL
2152 STDCALL
2153 SetCommMask(
2154             HANDLE hFile,
2155             DWORD dwEvtMask
2156             );
2157
2158
2159 WINBOOL
2160 STDCALL
2161 SetCommState(
2162              HANDLE hFile,
2163              LPDCB lpDCB
2164              );
2165
2166
2167 WINBOOL
2168 STDCALL
2169 SetCommTimeouts(
2170                 HANDLE hFile,
2171                 LPCOMMTIMEOUTS lpCommTimeouts
2172                 );
2173
2174
2175 WINBOOL
2176 STDCALL
2177 TransmitCommChar(
2178                  HANDLE hFile,
2179                  char cChar
2180                  );
2181
2182
2183 WINBOOL
2184 STDCALL
2185 WaitCommEvent(
2186               HANDLE hFile,
2187               LPDWORD lpEvtMask,
2188               LPOVERLAPPED lpOverlapped
2189               );
2190
2191
2192
2193 DWORD
2194 STDCALL
2195 SetTapePosition(
2196                 HANDLE hDevice,
2197                 DWORD dwPositionMethod,
2198                 DWORD dwPartition,
2199                 DWORD dwOffsetLow,
2200                 DWORD dwOffsetHigh,
2201                 WINBOOL bImmediate
2202                 );
2203
2204
2205 DWORD
2206 STDCALL
2207 GetTapePosition(
2208                 HANDLE hDevice,
2209                 DWORD dwPositionType,
2210                 LPDWORD lpdwPartition,
2211                 LPDWORD lpdwOffsetLow,
2212                 LPDWORD lpdwOffsetHigh
2213                 );
2214
2215
2216 DWORD
2217 STDCALL
2218 PrepareTape(
2219             HANDLE hDevice,
2220             DWORD dwOperation,
2221             WINBOOL bImmediate
2222             );
2223
2224 BOOL
2225 STDCALL
2226 ProcessIdToSessionId(
2227         DWORD dwProcessId,
2228         DWORD* pSessionId
2229         );
2230
2231 DWORD
2232 STDCALL
2233 EraseTape(
2234           HANDLE hDevice,
2235           DWORD dwEraseType,
2236           WINBOOL bImmediate
2237           );
2238
2239
2240 DWORD
2241 STDCALL
2242 CreateTapePartition(
2243                     HANDLE hDevice,
2244                     DWORD dwPartitionMethod,
2245                     DWORD dwCount,
2246                     DWORD dwSize
2247                     );
2248
2249
2250 DWORD
2251 STDCALL
2252 WriteTapemark(
2253               HANDLE hDevice,
2254               DWORD dwTapemarkType,
2255               DWORD dwTapemarkCount,
2256               WINBOOL bImmediate
2257               );
2258
2259
2260 DWORD
2261 STDCALL
2262 GetTapeStatus(
2263               HANDLE hDevice
2264               );
2265
2266
2267 DWORD
2268 STDCALL
2269 GetTapeParameters(
2270                   HANDLE hDevice,
2271                   DWORD dwOperation,
2272                   LPDWORD lpdwSize,
2273                   LPVOID lpTapeInformation
2274                   );
2275
2276 DWORD
2277 STDCALL
2278 SetTapeParameters(
2279                   HANDLE hDevice,
2280                   DWORD dwOperation,
2281                   LPVOID lpTapeInformation
2282                   );
2283
2284 WINBOOL
2285 STDCALL
2286 Beep(
2287      DWORD dwFreq,
2288      DWORD dwDuration
2289      );
2290
2291
2292 VOID
2293 STDCALL
2294 OpenSound(
2295           VOID
2296           );
2297
2298
2299 VOID
2300 STDCALL
2301 CloseSound(
2302            VOID
2303            );
2304
2305
2306 VOID
2307 STDCALL
2308 StartSound(
2309            VOID
2310            );
2311
2312
2313 VOID
2314 STDCALL
2315 StopSound(
2316           VOID
2317           );
2318
2319
2320 DWORD
2321 STDCALL
2322 WaitSoundState(
2323                DWORD nState
2324                );
2325
2326
2327 DWORD
2328 STDCALL
2329 SyncAllVoices(
2330               VOID
2331               );
2332
2333
2334 DWORD
2335 STDCALL
2336 CountVoiceNotes(
2337                 DWORD nVoice
2338                 );
2339
2340
2341 LPDWORD
2342 STDCALL
2343 GetThresholdEvent(
2344                   VOID
2345                   );
2346
2347
2348 DWORD
2349 STDCALL
2350 GetThresholdStatus(
2351                    VOID
2352                    );
2353
2354
2355 DWORD
2356 STDCALL
2357 SetSoundNoise(
2358               DWORD nSource,
2359               DWORD nDuration
2360               );
2361
2362
2363 DWORD
2364 STDCALL
2365 SetVoiceAccent(
2366                DWORD nVoice,
2367                DWORD nTempo,
2368                DWORD nVolume,
2369                DWORD nMode,
2370                DWORD nPitch
2371                );
2372
2373
2374 DWORD
2375 STDCALL
2376 SetVoiceEnvelope(
2377                  DWORD nVoice,
2378                  DWORD nShape,
2379                  DWORD nRepeat
2380                  );
2381
2382
2383 DWORD
2384 STDCALL
2385 SetVoiceNote(
2386              DWORD nVoice,
2387              DWORD nValue,
2388              DWORD nLength,
2389              DWORD nCdots
2390              );
2391
2392
2393 DWORD
2394 STDCALL
2395 SetVoiceQueueSize(
2396                   DWORD nVoice,
2397                   DWORD nBytes
2398                   );
2399
2400
2401 DWORD
2402 STDCALL
2403 SetVoiceSound(
2404               DWORD nVoice,
2405               DWORD Frequency,
2406               DWORD nDuration
2407               );
2408
2409
2410 DWORD
2411 STDCALL
2412 SetVoiceThreshold(
2413                   DWORD nVoice,
2414                   DWORD nNotes
2415                   );
2416
2417
2418 int
2419 STDCALL
2420 MulDiv(
2421        int nNumber,
2422        int nNumerator,
2423        int nDenominator
2424        );
2425
2426
2427 VOID
2428 STDCALL
2429 GetSystemTime(
2430               LPSYSTEMTIME lpSystemTime
2431               );
2432
2433 VOID
2434 STDCALL
2435 GetSystemTimeAsFileTime (
2436         LPFILETIME      lpSystemTimeAsFileTime 
2437         );
2438
2439 WINBOOL
2440 STDCALL
2441 SetSystemTime(
2442               CONST SYSTEMTIME *lpSystemTime
2443               );
2444
2445
2446 VOID
2447 STDCALL
2448 GetLocalTime(
2449              LPSYSTEMTIME lpSystemTime
2450              );
2451
2452
2453 WINBOOL
2454 STDCALL
2455 SetLocalTime(
2456              CONST SYSTEMTIME *lpSystemTime
2457              );
2458
2459
2460 VOID
2461 STDCALL
2462 GetSystemInfo(
2463               LPSYSTEM_INFO lpSystemInfo
2464               );
2465
2466 WINBOOL
2467 STDCALL
2468 SystemTimeToTzSpecificLocalTime(
2469                                 LPTIME_ZONE_INFORMATION lpTimeZoneInformation,
2470                                 LPSYSTEMTIME lpUniversalTime,
2471                                 LPSYSTEMTIME lpLocalTime
2472                                 );
2473
2474
2475 DWORD
2476 STDCALL
2477 GetTimeZoneInformation(
2478                        LPTIME_ZONE_INFORMATION lpTimeZoneInformation
2479                        );
2480
2481
2482 WINBOOL
2483 STDCALL
2484 SetTimeZoneInformation(
2485                        CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation
2486                        );
2487
2488 WINBOOL
2489 STDCALL
2490 SystemTimeToFileTime(
2491                      CONST SYSTEMTIME *lpSystemTime,
2492                      LPFILETIME lpFileTime
2493                      );
2494
2495
2496 WINBOOL
2497 STDCALL
2498 FileTimeToLocalFileTime(
2499                         CONST FILETIME *lpFileTime,
2500                         LPFILETIME lpLocalFileTime
2501                         );
2502
2503
2504 WINBOOL
2505 STDCALL
2506 LocalFileTimeToFileTime(
2507                         CONST FILETIME *lpLocalFileTime,
2508                         LPFILETIME lpFileTime
2509                         );
2510
2511
2512 WINBOOL
2513 STDCALL
2514 FileTimeToSystemTime(
2515                      CONST FILETIME *lpFileTime,
2516                      LPSYSTEMTIME lpSystemTime
2517                      );
2518
2519
2520 LONG
2521 STDCALL
2522 CompareFileTime(
2523                 CONST FILETIME *lpFileTime1,
2524                 CONST FILETIME *lpFileTime2
2525                 );
2526
2527
2528 WINBOOL
2529 STDCALL
2530 FileTimeToDosDateTime(
2531                       CONST FILETIME *lpFileTime,
2532                       LPWORD lpFatDate,
2533                       LPWORD lpFatTime
2534                       );
2535
2536
2537 WINBOOL
2538 STDCALL
2539 DosDateTimeToFileTime(
2540                       WORD wFatDate,
2541                       WORD wFatTime,
2542                       LPFILETIME lpFileTime
2543                       );
2544
2545
2546 DWORD
2547 STDCALL
2548 GetTickCount(
2549              VOID
2550              );
2551
2552
2553 WINBOOL
2554 STDCALL
2555 SetSystemTimeAdjustment(
2556                         DWORD dwTimeAdjustment,
2557                         WINBOOL  bTimeAdjustmentDisabled
2558                         );
2559
2560
2561 WINBOOL
2562 STDCALL
2563 GetSystemTimeAdjustment(
2564                         PDWORD lpTimeAdjustment,
2565                         PDWORD lpTimeIncrement,
2566                         PWINBOOL  lpTimeAdjustmentDisabled
2567                         );
2568
2569
2570 WINBOOL
2571 STDCALL
2572 CreatePipe(
2573            PHANDLE hReadPipe,
2574            PHANDLE hWritePipe,
2575            LPSECURITY_ATTRIBUTES lpPipeAttributes,
2576            DWORD nSize
2577            );
2578
2579
2580 WINBOOL
2581 STDCALL
2582 ConnectNamedPipe(
2583                  HANDLE hNamedPipe,
2584                  LPOVERLAPPED lpOverlapped
2585                  );
2586
2587
2588 WINBOOL
2589 STDCALL
2590 DisconnectNamedPipe(
2591                     HANDLE hNamedPipe
2592                     );
2593
2594
2595 WINBOOL
2596 STDCALL
2597 SetNamedPipeHandleState(
2598                         HANDLE hNamedPipe,
2599                         LPDWORD lpMode,
2600                         LPDWORD lpMaxCollectionCount,
2601                         LPDWORD lpCollectDataTimeout
2602                         );
2603
2604
2605 WINBOOL
2606 STDCALL
2607 GetNamedPipeInfo(
2608                  HANDLE hNamedPipe,
2609                  LPDWORD lpFlags,
2610                  LPDWORD lpOutBufferSize,
2611                  LPDWORD lpInBufferSize,
2612                  LPDWORD lpMaxInstances
2613                  );
2614
2615
2616 WINBOOL
2617 STDCALL
2618 PeekNamedPipe(
2619               HANDLE hNamedPipe,
2620               LPVOID lpBuffer,
2621               DWORD nBufferSize,
2622               LPDWORD lpBytesRead,
2623               LPDWORD lpTotalBytesAvail,
2624               LPDWORD lpBytesLeftThisMessage
2625               );
2626
2627
2628 WINBOOL
2629 STDCALL
2630 TransactNamedPipe(
2631                   HANDLE hNamedPipe,
2632                   LPVOID lpInBuffer,
2633                   DWORD nInBufferSize,
2634                   LPVOID lpOutBuffer,
2635                   DWORD nOutBufferSize,
2636                   LPDWORD lpBytesRead,
2637                   LPOVERLAPPED lpOverlapped
2638                   );
2639
2640
2641
2642 WINBOOL
2643 STDCALL
2644 GetMailslotInfo(
2645                 HANDLE hMailslot,
2646                 LPDWORD lpMaxMessageSize,
2647                 LPDWORD lpNextSize,
2648                 LPDWORD lpMessageCount,
2649                 LPDWORD lpReadTimeout
2650                 );
2651
2652
2653 WINBOOL
2654 STDCALL
2655 SetMailslotInfo(
2656                 HANDLE hMailslot,
2657                 DWORD lReadTimeout
2658                 );
2659
2660
2661 LPVOID
2662 STDCALL
2663 MapViewOfFile(
2664               HANDLE hFileMappingObject,
2665               DWORD dwDesiredAccess,
2666               DWORD dwFileOffsetHigh,
2667               DWORD dwFileOffsetLow,
2668               DWORD dwNumberOfBytesToMap
2669               );
2670
2671
2672 WINBOOL
2673 STDCALL
2674 FlushViewOfFile(
2675                 LPCVOID lpBaseAddress,
2676                 DWORD dwNumberOfBytesToFlush
2677                 );
2678
2679
2680 WINBOOL
2681 STDCALL
2682 UnmapViewOfFile(
2683                 LPVOID lpBaseAddress
2684                 );
2685
2686 HFILE
2687 STDCALL
2688 OpenFile(
2689          LPCSTR lpFileName,
2690          LPOFSTRUCT lpReOpenBuff,
2691          UINT uStyle
2692          );
2693
2694
2695 HFILE
2696 STDCALL
2697 _lopen(
2698        LPCSTR lpPathName,
2699        int iReadWrite
2700        );
2701
2702
2703 HFILE
2704 STDCALL
2705 _lcreat(
2706         LPCSTR lpPathName,
2707         int  iAttribute
2708         );
2709
2710
2711 UINT
2712 STDCALL
2713 _lread(
2714        HFILE hFile,
2715        LPVOID lpBuffer,
2716        UINT uBytes
2717        );
2718
2719
2720 UINT
2721 STDCALL
2722 _lwrite(
2723         HFILE hFile,
2724         LPCSTR lpBuffer,
2725         UINT uBytes
2726         );
2727
2728
2729 long
2730 STDCALL
2731 _hread(
2732        HFILE hFile,
2733        LPVOID lpBuffer,
2734        long lBytes
2735        );
2736
2737
2738 long
2739 STDCALL
2740 _hwrite(
2741         HFILE hFile,
2742         LPCSTR lpBuffer,
2743         long lBytes
2744         );
2745
2746
2747 HFILE
2748 STDCALL
2749 _lclose(
2750         HFILE hFile
2751         );
2752
2753
2754 LONG
2755 STDCALL
2756 _llseek(
2757         HFILE hFile,
2758         LONG lOffset,
2759         int iOrigin
2760         );
2761
2762
2763 WINBOOL
2764 STDCALL
2765 IsTextUnicode(
2766               CONST LPVOID lpBuffer,
2767               int cb,
2768               LPINT lpi
2769               );
2770
2771
2772 DWORD
2773 STDCALL
2774 TlsAlloc(
2775          VOID
2776          );
2777
2778 LPVOID
2779 STDCALL
2780 TlsGetValue(
2781             DWORD dwTlsIndex
2782             );
2783
2784
2785 WINBOOL
2786 STDCALL
2787 TlsSetValue(
2788             DWORD dwTlsIndex,
2789             LPVOID lpTlsValue
2790             );
2791
2792
2793 WINBOOL
2794 STDCALL
2795 TlsFree(
2796         DWORD dwTlsIndex
2797         );
2798
2799 DWORD
2800 STDCALL
2801 SleepEx(
2802         DWORD dwMilliseconds,
2803         WINBOOL bAlertable
2804         );
2805
2806
2807 DWORD
2808 STDCALL
2809 WaitForSingleObjectEx(
2810                       HANDLE hHandle,
2811                       DWORD dwMilliseconds,
2812                       WINBOOL bAlertable
2813                       );
2814
2815
2816 DWORD
2817 STDCALL
2818 WaitForMultipleObjectsEx(
2819                          DWORD nCount,
2820                          CONST HANDLE *lpHandles,
2821                          WINBOOL bWaitAll,
2822                          DWORD dwMilliseconds,
2823                          WINBOOL bAlertable
2824                          );
2825
2826
2827 WINBOOL
2828 STDCALL
2829 ReadFileEx(
2830            HANDLE hFile,
2831            LPVOID lpBuffer,
2832            DWORD nNumberOfBytesToRead,
2833            LPOVERLAPPED lpOverlapped,
2834            LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
2835            );
2836
2837
2838 WINBOOL
2839 STDCALL
2840 WriteFileEx(
2841             HANDLE hFile,
2842             LPCVOID lpBuffer,
2843             DWORD nNumberOfBytesToWrite,
2844             LPOVERLAPPED lpOverlapped,
2845             LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
2846             );
2847
2848
2849 WINBOOL
2850 STDCALL
2851 BackupRead(
2852            HANDLE hFile,
2853            LPBYTE lpBuffer,
2854            DWORD nNumberOfBytesToRead,
2855            LPDWORD lpNumberOfBytesRead,
2856            WINBOOL bAbort,
2857            WINBOOL bProcessSecurity,
2858            LPVOID *lpContext
2859            );
2860
2861
2862 WINBOOL
2863 STDCALL
2864 BackupSeek(
2865            HANDLE hFile,
2866            DWORD  dwLowBytesToSeek,
2867            DWORD  dwHighBytesToSeek,
2868            LPDWORD lpdwLowByteSeeked,
2869            LPDWORD lpdwHighByteSeeked,
2870            LPVOID *lpContext
2871            );
2872
2873
2874 WINBOOL
2875 STDCALL
2876 BackupWrite(
2877             HANDLE hFile,
2878             LPBYTE lpBuffer,
2879             DWORD nNumberOfBytesToWrite,
2880             LPDWORD lpNumberOfBytesWritten,
2881             WINBOOL bAbort,
2882             WINBOOL bProcessSecurity,
2883             LPVOID *lpContext
2884             );
2885
2886 WINBOOL
2887 STDCALL
2888 SetProcessShutdownParameters(
2889                              DWORD dwLevel,
2890                              DWORD dwFlags
2891                              );
2892
2893
2894 WINBOOL
2895 STDCALL
2896 GetProcessShutdownParameters(
2897                              LPDWORD lpdwLevel,
2898                              LPDWORD lpdwFlags
2899                              );
2900
2901
2902 VOID
2903 STDCALL
2904 SetFileApisToOEM( VOID );
2905
2906
2907 VOID
2908 STDCALL
2909 SetFileApisToANSI( VOID );
2910
2911
2912 WINBOOL
2913 STDCALL
2914 AreFileApisANSI( VOID );
2915
2916 WINBOOL
2917 STDCALL
2918 CloseEventLog (
2919                HANDLE hEventLog
2920                 );
2921
2922
2923 WINBOOL
2924 STDCALL
2925 DeregisterEventSource (
2926                        HANDLE hEventLog
2927                         );
2928
2929
2930 WINBOOL
2931 STDCALL
2932 NotifyChangeEventLog (
2933                       HANDLE hEventLog,
2934                       HANDLE hEvent
2935                        );
2936
2937
2938 WINBOOL
2939 STDCALL
2940 GetNumberOfEventLogRecords (
2941                             HANDLE hEventLog,
2942                             PDWORD NumberOfRecords
2943                              );
2944
2945
2946 WINBOOL
2947 STDCALL
2948 GetOldestEventLogRecord (
2949                          HANDLE hEventLog,
2950                          PDWORD OldestRecord
2951                           );
2952
2953 WINBOOL
2954 STDCALL
2955 DuplicateToken(
2956                HANDLE ExistingTokenHandle,
2957                SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
2958                PHANDLE DuplicateTokenHandle
2959                );
2960
2961
2962 WINBOOL
2963 STDCALL
2964 GetKernelObjectSecurity (
2965                          HANDLE Handle,
2966                          SECURITY_INFORMATION RequestedInformation,
2967                          PSECURITY_DESCRIPTOR pSecurityDescriptor,
2968                          DWORD nLength,
2969                          LPDWORD lpnLengthNeeded
2970                           );
2971
2972
2973 WINBOOL
2974 STDCALL
2975 ImpersonateNamedPipeClient(
2976                            HANDLE hNamedPipe
2977                            );
2978
2979
2980 WINBOOL
2981 STDCALL
2982 ImpersonateLoggedOnUser(
2983                            HANDLE hToken
2984                            );
2985
2986
2987 WINBOOL
2988 STDCALL
2989 ImpersonateSelf(
2990                 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
2991                 );
2992
2993
2994
2995 WINBOOL
2996 STDCALL
2997 RevertToSelf (
2998               VOID
2999                );
3000
3001
3002 WINBOOL
3003 STDCALL
3004 SetThreadToken (
3005                 PHANDLE Thread,
3006                 HANDLE Token
3007                  );
3008
3009
3010 WINBOOL
3011 STDCALL
3012 AccessCheck (
3013              PSECURITY_DESCRIPTOR pSecurityDescriptor,
3014              HANDLE ClientToken,
3015              DWORD DesiredAccess,
3016              PGENERIC_MAPPING GenericMapping,
3017              PPRIVILEGE_SET PrivilegeSet,
3018              LPDWORD PrivilegeSetLength,
3019              LPDWORD GrantedAccess,
3020              LPBOOL AccessStatus
3021               );
3022
3023
3024
3025 WINBOOL
3026 STDCALL
3027 OpenProcessToken (
3028                   HANDLE ProcessHandle,
3029                   DWORD DesiredAccess,
3030                   PHANDLE TokenHandle
3031                    );
3032
3033
3034
3035 WINBOOL
3036 STDCALL
3037 OpenThreadToken (
3038                  HANDLE ThreadHandle,
3039                  DWORD DesiredAccess,
3040                  WINBOOL OpenAsSelf,
3041                  PHANDLE TokenHandle
3042                   );
3043
3044
3045
3046 WINBOOL
3047 STDCALL
3048 GetTokenInformation (
3049                      HANDLE TokenHandle,
3050                      TOKEN_INFORMATION_CLASS TokenInformationClass,
3051                      LPVOID TokenInformation,
3052                      DWORD TokenInformationLength,
3053                      PDWORD ReturnLength
3054                       );
3055
3056
3057
3058 WINBOOL
3059 STDCALL
3060 SetTokenInformation (
3061                      HANDLE TokenHandle,
3062                      TOKEN_INFORMATION_CLASS TokenInformationClass,
3063                      LPVOID TokenInformation,
3064                      DWORD TokenInformationLength
3065                       );
3066
3067
3068
3069 WINBOOL
3070 STDCALL
3071 AdjustTokenPrivileges (
3072                        HANDLE TokenHandle,
3073                        WINBOOL DisableAllPrivileges,
3074                        PTOKEN_PRIVILEGES NewState,
3075                        DWORD BufferLength,
3076                        PTOKEN_PRIVILEGES PreviousState,
3077                        PDWORD ReturnLength
3078                         );
3079
3080
3081
3082 WINBOOL
3083 STDCALL
3084 AdjustTokenGroups (
3085                    HANDLE TokenHandle,
3086                    WINBOOL ResetToDefault,
3087                    PTOKEN_GROUPS NewState,
3088                    DWORD BufferLength,
3089                    PTOKEN_GROUPS PreviousState,
3090                    PDWORD ReturnLength
3091                     );
3092
3093
3094
3095 WINBOOL
3096 STDCALL
3097 PrivilegeCheck (
3098                 HANDLE ClientToken,
3099                 PPRIVILEGE_SET RequiredPrivileges,
3100                 LPBOOL pfResult
3101                  );
3102
3103
3104
3105 WINBOOL
3106 STDCALL
3107 IsValidSid (
3108             PSID pSid
3109              );
3110
3111
3112
3113 WINBOOL
3114 STDCALL
3115 EqualSid (
3116           PSID pSid1,
3117           PSID pSid2
3118            );
3119
3120
3121
3122 WINBOOL
3123 STDCALL
3124 EqualPrefixSid (
3125                 PSID pSid1,
3126                 PSID pSid2
3127                  );
3128
3129
3130
3131 DWORD
3132 STDCALL
3133 GetSidLengthRequired (
3134                       UCHAR nSubAuthorityCount
3135                        );
3136
3137
3138
3139 WINBOOL
3140 STDCALL
3141 AllocateAndInitializeSid (
3142                           PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
3143                           BYTE nSubAuthorityCount,
3144                           DWORD nSubAuthority0,
3145                           DWORD nSubAuthority1,
3146                           DWORD nSubAuthority2,
3147                           DWORD nSubAuthority3,
3148                           DWORD nSubAuthority4,
3149                           DWORD nSubAuthority5,
3150                           DWORD nSubAuthority6,
3151                           DWORD nSubAuthority7,
3152                           PSID *pSid
3153                            );
3154
3155
3156 PVOID
3157 STDCALL
3158 FreeSid(
3159         PSID pSid
3160         );
3161
3162
3163 WINBOOL
3164 STDCALL
3165 InitializeSid (
3166                PSID Sid,
3167                PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
3168                BYTE nSubAuthorityCount
3169                 );
3170
3171
3172
3173 PSID_IDENTIFIER_AUTHORITY
3174 STDCALL
3175 GetSidIdentifierAuthority (
3176                            PSID pSid
3177                             );
3178
3179
3180
3181 PDWORD
3182 STDCALL
3183 GetSidSubAuthority (
3184                     PSID pSid,
3185                     DWORD nSubAuthority
3186                      );
3187
3188
3189
3190 PUCHAR
3191 STDCALL
3192 GetSidSubAuthorityCount (
3193                          PSID pSid
3194                           );
3195
3196
3197
3198 DWORD
3199 STDCALL
3200 GetLengthSid (
3201               PSID pSid
3202                );
3203
3204
3205
3206 WINBOOL
3207 STDCALL
3208 CopySid (
3209          DWORD nDestinationSidLength,
3210          PSID pDestinationSid,
3211          PSID pSourceSid
3212           );
3213
3214
3215
3216 WINBOOL
3217 STDCALL
3218 AreAllAccessesGranted (
3219                        DWORD GrantedAccess,
3220                        DWORD DesiredAccess
3221                         );
3222
3223
3224
3225 WINBOOL
3226 STDCALL
3227 AreAnyAccessesGranted (
3228                        DWORD GrantedAccess,
3229                        DWORD DesiredAccess
3230                         );
3231
3232
3233
3234 VOID
3235 STDCALL
3236 MapGenericMask (
3237                 PDWORD AccessMask,
3238                 PGENERIC_MAPPING GenericMapping
3239                  );
3240
3241
3242
3243 WINBOOL
3244 STDCALL
3245 IsValidAcl (
3246             PACL pAcl
3247              );
3248
3249
3250
3251 WINBOOL
3252 STDCALL
3253 InitializeAcl (
3254                PACL pAcl,
3255                DWORD nAclLength,
3256                DWORD dwAclRevision
3257                 );
3258
3259
3260
3261 WINBOOL
3262 STDCALL
3263 GetAclInformation (
3264                    PACL pAcl,
3265                    LPVOID pAclInformation,
3266                    DWORD nAclInformationLength,
3267                    ACL_INFORMATION_CLASS dwAclInformationClass
3268                     );
3269
3270
3271
3272 WINBOOL
3273 STDCALL
3274 SetAclInformation (
3275                    PACL pAcl,
3276                    LPVOID pAclInformation,
3277                    DWORD nAclInformationLength,
3278                    ACL_INFORMATION_CLASS dwAclInformationClass
3279                     );
3280
3281
3282
3283 WINBOOL
3284 STDCALL
3285 AddAce (
3286         PACL pAcl,
3287         DWORD dwAceRevision,
3288         DWORD dwStartingAceIndex,
3289         LPVOID pAceList,
3290         DWORD nAceListLength
3291          );
3292
3293
3294
3295 WINBOOL
3296 STDCALL
3297 DeleteAce (
3298            PACL pAcl,
3299            DWORD dwAceIndex
3300             );
3301
3302
3303
3304 WINBOOL
3305 STDCALL
3306 GetAce (
3307         PACL pAcl,
3308         DWORD dwAceIndex,
3309         LPVOID *pAce
3310          );
3311
3312
3313
3314 WINBOOL
3315 STDCALL
3316 AddAccessAllowedAce (
3317                      PACL pAcl,
3318                      DWORD dwAceRevision,
3319                      DWORD AccessMask,
3320                      PSID pSid
3321                       );
3322
3323
3324
3325 WINBOOL
3326 STDCALL
3327 AddAccessDeniedAce (
3328                     PACL pAcl,
3329                     DWORD dwAceRevision,
3330                     DWORD AccessMask,
3331                     PSID pSid
3332                      );
3333
3334
3335
3336 WINBOOL
3337 STDCALL
3338 AddAuditAccessAce(
3339                   PACL pAcl,
3340                   DWORD dwAceRevision,
3341                   DWORD dwAccessMask,
3342                   PSID pSid,
3343                   WINBOOL bAuditSuccess,
3344                   WINBOOL bAuditFailure
3345                   );
3346
3347
3348
3349 WINBOOL
3350 STDCALL
3351 FindFirstFreeAce (
3352                   PACL pAcl,
3353                   LPVOID *pAce
3354                    );
3355
3356
3357
3358 WINBOOL
3359 STDCALL
3360 InitializeSecurityDescriptor (
3361                               PSECURITY_DESCRIPTOR pSecurityDescriptor,
3362                               DWORD dwRevision
3363                                );
3364
3365
3366
3367 WINBOOL
3368 STDCALL
3369 IsValidSecurityDescriptor (
3370                            PSECURITY_DESCRIPTOR pSecurityDescriptor
3371                             );
3372
3373
3374
3375 DWORD
3376 STDCALL
3377 GetSecurityDescriptorLength (
3378                              PSECURITY_DESCRIPTOR pSecurityDescriptor
3379                               );
3380
3381
3382
3383 WINBOOL
3384 STDCALL
3385 GetSecurityDescriptorControl (
3386                               PSECURITY_DESCRIPTOR pSecurityDescriptor,
3387                               PSECURITY_DESCRIPTOR_CONTROL pControl,
3388                               LPDWORD lpdwRevision
3389                                );
3390
3391
3392
3393 WINBOOL
3394 STDCALL
3395 SetSecurityDescriptorDacl (
3396                            PSECURITY_DESCRIPTOR pSecurityDescriptor,
3397                            WINBOOL bDaclPresent,
3398                            PACL pDacl,
3399                            WINBOOL bDaclDefaulted
3400                             );
3401
3402
3403
3404 WINBOOL
3405 STDCALL
3406 GetSecurityDescriptorDacl (
3407                            PSECURITY_DESCRIPTOR pSecurityDescriptor,
3408                            LPBOOL lpbDaclPresent,
3409                            PACL *pDacl,
3410                            LPBOOL lpbDaclDefaulted
3411                             );
3412
3413
3414
3415 WINBOOL
3416 STDCALL
3417 SetSecurityDescriptorSacl (
3418                            PSECURITY_DESCRIPTOR pSecurityDescriptor,
3419                            WINBOOL bSaclPresent,
3420                            PACL pSacl,
3421                            WINBOOL bSaclDefaulted
3422                             );
3423
3424
3425
3426 WINBOOL
3427 STDCALL
3428 GetSecurityDescriptorSacl (
3429                            PSECURITY_DESCRIPTOR pSecurityDescriptor,
3430                            LPBOOL lpbSaclPresent,
3431                            PACL *pSacl,
3432                            LPBOOL lpbSaclDefaulted
3433                             );
3434
3435
3436
3437 WINBOOL
3438 STDCALL
3439 SetSecurityDescriptorOwner (
3440                             PSECURITY_DESCRIPTOR pSecurityDescriptor,
3441                             PSID pOwner,
3442                             WINBOOL bOwnerDefaulted
3443                              );
3444
3445
3446
3447 WINBOOL
3448 STDCALL
3449 GetSecurityDescriptorOwner (
3450                             PSECURITY_DESCRIPTOR pSecurityDescriptor,
3451                             PSID *pOwner,
3452                             LPBOOL lpbOwnerDefaulted
3453                              );
3454
3455
3456
3457 WINBOOL
3458 STDCALL
3459 SetSecurityDescriptorGroup (
3460                             PSECURITY_DESCRIPTOR pSecurityDescriptor,
3461                             PSID pGroup,
3462                             WINBOOL bGroupDefaulted
3463                              );
3464
3465
3466
3467 WINBOOL
3468 STDCALL
3469 GetSecurityDescriptorGroup (
3470                             PSECURITY_DESCRIPTOR pSecurityDescriptor,
3471                             PSID *pGroup,
3472                             LPBOOL lpbGroupDefaulted
3473                              );
3474
3475
3476
3477 WINBOOL
3478 STDCALL
3479 CreatePrivateObjectSecurity (
3480                              PSECURITY_DESCRIPTOR ParentDescriptor,
3481                              PSECURITY_DESCRIPTOR CreatorDescriptor,
3482                              PSECURITY_DESCRIPTOR * NewDescriptor,
3483                              WINBOOL IsDirectoryObject,
3484                              HANDLE Token,
3485                              PGENERIC_MAPPING GenericMapping
3486                               );
3487
3488
3489
3490 WINBOOL
3491 STDCALL
3492 SetPrivateObjectSecurity (
3493                           SECURITY_INFORMATION SecurityInformation,
3494                           PSECURITY_DESCRIPTOR ModificationDescriptor,
3495                           PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
3496                           PGENERIC_MAPPING GenericMapping,
3497                           HANDLE Token
3498                            );
3499
3500
3501
3502 WINBOOL
3503 STDCALL
3504 GetPrivateObjectSecurity (
3505                           PSECURITY_DESCRIPTOR ObjectDescriptor,
3506                           SECURITY_INFORMATION SecurityInformation,
3507                           PSECURITY_DESCRIPTOR ResultantDescriptor,
3508                           DWORD DescriptorLength,
3509                           PDWORD ReturnLength
3510                            );
3511
3512
3513
3514 WINBOOL
3515 STDCALL
3516 DestroyPrivateObjectSecurity (
3517                               PSECURITY_DESCRIPTOR * ObjectDescriptor
3518                                );
3519
3520
3521
3522 WINBOOL
3523 STDCALL
3524 MakeSelfRelativeSD (
3525                     PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
3526                     PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
3527                     LPDWORD lpdwBufferLength
3528                      );
3529
3530
3531
3532 WINBOOL
3533 STDCALL
3534 MakeAbsoluteSD (
3535                 PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
3536                 PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
3537                 LPDWORD lpdwAbsoluteSecurityDescriptorSize,
3538                 PACL pDacl,
3539                 LPDWORD lpdwDaclSize,
3540                 PACL pSacl,
3541                 LPDWORD lpdwSaclSize,
3542                 PSID pOwner,
3543                 LPDWORD lpdwOwnerSize,
3544                 PSID pPrimaryGroup,
3545                 LPDWORD lpdwPrimaryGroupSize
3546                  );
3547
3548
3549
3550 WINBOOL
3551 STDCALL
3552 SetKernelObjectSecurity (
3553                          HANDLE Handle,
3554                          SECURITY_INFORMATION SecurityInformation,
3555                          PSECURITY_DESCRIPTOR SecurityDescriptor
3556                           );
3557
3558
3559 WINBOOL
3560 STDCALL
3561 FindNextChangeNotification(
3562                            HANDLE hChangeHandle
3563                            );
3564
3565
3566 WINBOOL
3567 STDCALL
3568 FindCloseChangeNotification(
3569                             HANDLE hChangeHandle
3570                             );
3571
3572
3573 WINBOOL
3574 STDCALL
3575 VirtualLock(
3576             LPVOID lpAddress,
3577             DWORD dwSize
3578             );
3579
3580
3581 WINBOOL
3582 STDCALL
3583 VirtualUnlock(
3584               LPVOID lpAddress,
3585               DWORD dwSize
3586               );
3587
3588
3589 LPVOID
3590 STDCALL
3591 MapViewOfFileEx(
3592                 HANDLE hFileMappingObject,
3593                 DWORD dwDesiredAccess,
3594                 DWORD dwFileOffsetHigh,
3595                 DWORD dwFileOffsetLow,
3596                 DWORD dwNumberOfBytesToMap,
3597                 LPVOID lpBaseAddress
3598                 );
3599
3600
3601 WINBOOL
3602 STDCALL
3603 SetPriorityClass(
3604                  HANDLE hProcess,
3605                  DWORD dwPriorityClass
3606                  );
3607
3608
3609 DWORD
3610 STDCALL
3611 GetPriorityClass(
3612                  HANDLE hProcess
3613                  );
3614
3615
3616 WINBOOL
3617 STDCALL
3618 IsBadReadPtr(
3619              CONST VOID *lp,
3620              UINT ucb
3621              );
3622
3623
3624 WINBOOL
3625 STDCALL
3626 IsBadWritePtr(
3627               LPVOID lp,
3628               UINT ucb
3629               );
3630
3631
3632 WINBOOL
3633 STDCALL
3634 IsBadHugeReadPtr(
3635                  CONST VOID *lp,
3636                  UINT ucb
3637                  );
3638
3639
3640 WINBOOL
3641 STDCALL
3642 IsBadHugeWritePtr(
3643                   LPVOID lp,
3644                   UINT ucb
3645                   );
3646
3647
3648 WINBOOL
3649 STDCALL
3650 IsBadCodePtr(
3651              FARPROC lpfn
3652              );
3653
3654 WINBOOL
3655 STDCALL
3656 AllocateLocallyUniqueId(
3657                         PLUID Luid
3658                         );
3659
3660
3661 WINBOOL
3662 STDCALL
3663 QueryPerformanceCounter(
3664                         LARGE_INTEGER *lpPerformanceCount
3665                         );
3666
3667
3668 WINBOOL
3669 STDCALL
3670 QueryPerformanceFrequency(
3671                           LARGE_INTEGER *lpFrequency
3672                           );
3673
3674 VOID
3675 STDCALL
3676 MoveMemory (
3677             PVOID Destination,
3678             CONST VOID *Source,
3679             DWORD Length
3680              );
3681
3682 VOID
3683 STDCALL
3684 FillMemory (
3685             PVOID Destination,
3686             DWORD Length,
3687             BYTE  Fill
3688              );
3689
3690 VOID
3691 STDCALL
3692 ZeroMemory (
3693             PVOID Destination,
3694             DWORD Length
3695              );
3696
3697 /* The memory functions don't seem to be defined in the libraries, so
3698    define macro versions as well.  */
3699 #define MoveMemory(t, s, c) memmove ((t), (s), (c))
3700 #define FillMemory(p, c, v) memset ((p), (v), (c))
3701 #define ZeroMemory(p, c) memset ((p), 0, (c))
3702
3703 #ifdef WINNT351
3704 WINBOOL
3705 STDCALL
3706 ActivateKeyboardLayout(
3707                        HKL hkl,
3708                        UINT Flags);
3709 #else
3710 HKL
3711 STDCALL
3712 ActivateKeyboardLayout(
3713                        HKL hkl,
3714                        UINT Flags);
3715 #endif /* WIN95 */
3716
3717  
3718 int
3719 STDCALL
3720 ToUnicodeEx(
3721             UINT wVirtKey,
3722             UINT wScanCode,
3723             PBYTE lpKeyState,
3724             LPWSTR pwszBuff,
3725             int cchBuff,
3726             UINT wFlags,
3727             HKL dwhkl);
3728
3729  
3730 WINBOOL
3731 STDCALL
3732 UnloadKeyboardLayout(
3733                      HKL hkl);
3734
3735  
3736 UINT
3737 STDCALL
3738 GetKeyboardLayoutList(
3739                       int nBuff,
3740                       HKL *lpList);
3741
3742  
3743 HKL
3744 STDCALL
3745 GetKeyboardLayout(
3746                   DWORD dwLayout
3747                   );
3748
3749  
3750 HDESK
3751 STDCALL
3752 OpenInputDesktop(
3753                  DWORD dwFlags,
3754                  WINBOOL fInherit,
3755                  DWORD dwDesiredAccess);
3756
3757 WINBOOL
3758 STDCALL
3759 EnumDesktopWindows(
3760                    HDESK hDesktop,
3761                    ENUMWINDOWSPROC lpfn,
3762                    LPARAM lParam);
3763
3764  
3765 WINBOOL
3766 STDCALL
3767 SwitchDesktop(
3768               HDESK hDesktop);
3769
3770  
3771 WINBOOL
3772 STDCALL
3773 SetThreadDesktop(
3774                  HDESK hDesktop);
3775
3776  
3777 WINBOOL
3778 STDCALL
3779 CloseDesktop(
3780              HDESK hDesktop);
3781
3782  
3783 HDESK
3784 STDCALL
3785 GetThreadDesktop(
3786                  DWORD dwThreadId);
3787
3788  
3789 WINBOOL
3790 STDCALL
3791 CloseWindowStation(
3792                    HWINSTA hWinSta);
3793
3794  
3795 WINBOOL
3796 STDCALL
3797 SetProcessWindowStation(
3798                         HWINSTA hWinSta);
3799
3800  
3801 HWINSTA
3802 STDCALL
3803 GetProcessWindowStation(
3804                         VOID);
3805
3806  
3807 WINBOOL
3808 STDCALL
3809 SetUserObjectSecurity(
3810                       HANDLE hObj,
3811                       PSECURITY_INFORMATION pSIRequested,
3812                       PSECURITY_DESCRIPTOR pSID);
3813
3814  
3815 WINBOOL
3816 STDCALL
3817 GetUserObjectSecurity(
3818                       HANDLE hObj,
3819                       PSECURITY_INFORMATION pSIRequested,
3820                       PSECURITY_DESCRIPTOR pSID,
3821                       DWORD nLength,
3822                       LPDWORD lpnLengthNeeded);
3823
3824  
3825 WINBOOL
3826 STDCALL
3827 TranslateMessage(
3828                  CONST MSG *lpMsg);
3829
3830 WINBOOL
3831 STDCALL
3832 SetMessageQueue(
3833                 int cMessagesMax);
3834
3835 WINBOOL
3836 STDCALL
3837 RegisterHotKey(
3838                HWND hWnd ,
3839                int anID,
3840                UINT fsModifiers,
3841                UINT vk);
3842
3843  
3844 WINBOOL
3845 STDCALL
3846 UnregisterHotKey(
3847                  HWND hWnd,
3848                  int anID);
3849
3850  
3851 WINBOOL
3852 STDCALL
3853 ExitWindowsEx(
3854               UINT uFlags,
3855               DWORD dwReserved);
3856
3857  
3858 WINBOOL
3859 STDCALL
3860 SwapMouseButton(
3861                 WINBOOL fSwap);
3862
3863  
3864 DWORD
3865 STDCALL
3866 GetMessagePos(
3867               VOID);
3868
3869  
3870 LONG
3871 STDCALL
3872 GetMessageTime(
3873                VOID);
3874
3875  
3876 LPARAM
3877 STDCALL
3878 GetMessageExtraInfo(
3879                     VOID);
3880
3881  
3882 LPARAM
3883 STDCALL
3884 SetMessageExtraInfo(
3885                     LPARAM lParam);
3886
3887  
3888 long  
3889 STDCALL  
3890 BroadcastSystemMessage(
3891                        DWORD, 
3892                        LPDWORD, 
3893                        UINT, 
3894                        WPARAM, 
3895                        LPARAM);
3896
3897 WINBOOL
3898 STDCALL
3899 AttachThreadInput(
3900                   DWORD idAttach,
3901                   DWORD idAttachTo,
3902                   WINBOOL fAttach);
3903
3904  
3905 WINBOOL
3906 STDCALL
3907 ReplyMessage(
3908              LRESULT lResult);
3909
3910  
3911 WINBOOL
3912 STDCALL
3913 WaitMessage(
3914             VOID);
3915
3916  
3917 DWORD
3918 STDCALL
3919 WaitForInputIdle(
3920                  HANDLE hProcess,
3921                  DWORD dwMilliseconds);
3922
3923  
3924 VOID
3925 STDCALL
3926 PostQuitMessage(
3927                 int nExitCode);
3928
3929 WINBOOL
3930 STDCALL
3931 InSendMessage(
3932               VOID);
3933
3934  
3935 UINT
3936 STDCALL
3937 GetDoubleClickTime(
3938                    VOID);
3939
3940  
3941 WINBOOL
3942 STDCALL
3943 SetDoubleClickTime(
3944                    UINT);
3945
3946  
3947 WINBOOL
3948 STDCALL
3949 IsWindow(
3950          HWND hWnd);
3951
3952  
3953 WINBOOL
3954 STDCALL
3955 IsMenu(
3956        HMENU hMenu);
3957
3958  
3959 WINBOOL
3960 STDCALL
3961 IsChild(
3962         HWND hWndParent,
3963         HWND hWnd);
3964
3965  
3966 WINBOOL
3967 STDCALL
3968 DestroyWindow(
3969               HWND hWnd);
3970
3971  
3972 WINBOOL
3973 STDCALL
3974 ShowWindow(
3975            HWND hWnd,
3976            int nCmdShow);
3977
3978  
3979 WINBOOL
3980 STDCALL
3981 ShowWindowAsync(
3982                 HWND hWnd,
3983                 int nCmdShow);
3984
3985  
3986 WINBOOL
3987 STDCALL
3988 FlashWindow(
3989             HWND hWnd,
3990             WINBOOL bInvert);
3991
3992  
3993 WINBOOL
3994 STDCALL
3995 ShowOwnedPopups(
3996                 HWND hWnd,
3997                 WINBOOL fShow);
3998
3999  
4000 WINBOOL
4001 STDCALL
4002 OpenIcon(
4003          HWND hWnd);
4004
4005  
4006 WINBOOL
4007 STDCALL
4008 CloseWindow(
4009             HWND hWnd);
4010
4011  
4012 WINBOOL
4013 STDCALL
4014 MoveWindow(
4015            HWND hWnd,
4016            int X,
4017            int Y,
4018            int nWidth,
4019            int nHeight,
4020            WINBOOL bRepaint);
4021
4022  
4023 WINBOOL
4024 STDCALL
4025 SetWindowPos(
4026              HWND hWnd,
4027              HWND hWndInsertAfter ,
4028              int X,
4029              int Y,
4030              int cx,
4031              int cy,
4032              UINT uFlags);
4033
4034  
4035 WINBOOL
4036 STDCALL
4037 GetWindowPlacement(
4038                    HWND hWnd,
4039                    WINDOWPLACEMENT *lpwndpl);
4040
4041  
4042 WINBOOL
4043 STDCALL
4044 SetWindowPlacement(
4045                    HWND hWnd,
4046                    CONST WINDOWPLACEMENT *lpwndpl);
4047
4048  
4049 HDWP
4050 STDCALL
4051 BeginDeferWindowPos(
4052                     int nNumWindows);
4053
4054  
4055 HDWP
4056 STDCALL
4057 DeferWindowPos(
4058                HDWP hWinPosInfo,
4059                HWND hWnd,
4060                HWND hWndInsertAfter,
4061                int x,
4062                int y,
4063                int cx,
4064                int cy,
4065                UINT uFlags);
4066
4067  
4068 WINBOOL
4069 STDCALL
4070 EndDeferWindowPos(
4071                   HDWP hWinPosInfo);
4072
4073  
4074 WINBOOL
4075 STDCALL
4076 IsWindowVisible(
4077                 HWND hWnd);
4078
4079  
4080 WINBOOL
4081 STDCALL
4082 IsIconic(
4083          HWND hWnd);
4084
4085  
4086 WINBOOL
4087 STDCALL
4088 AnyPopup(
4089          VOID);
4090
4091  
4092 WINBOOL
4093 STDCALL
4094 BringWindowToTop(
4095                  HWND hWnd);
4096
4097  
4098 WINBOOL
4099 STDCALL
4100 IsZoomed(
4101          HWND hWnd);
4102
4103  
4104 WINBOOL
4105 STDCALL
4106 EndDialog(
4107           HWND hDlg,
4108           int nResult);
4109
4110  
4111 HWND
4112 STDCALL
4113 GetDlgItem(
4114            HWND hDlg,
4115            int nIDDlgItem);
4116
4117  
4118 WINBOOL
4119 STDCALL
4120 SetDlgItemInt(
4121               HWND hDlg,
4122               int nIDDlgItem,
4123               UINT uValue,
4124               WINBOOL bSigned);
4125
4126  
4127 UINT
4128 STDCALL
4129 GetDlgItemInt(
4130               HWND hDlg,
4131               int nIDDlgItem,
4132               WINBOOL *lpTranslated,
4133               WINBOOL bSigned);
4134
4135  
4136 WINBOOL
4137 STDCALL
4138 CheckDlgButton(
4139                HWND hDlg,
4140                int nIDButton,
4141                UINT uCheck);
4142
4143  
4144 WINBOOL
4145 STDCALL
4146 CheckRadioButton(
4147                  HWND hDlg,
4148                  int nIDFirstButton,
4149                  int nIDLastButton,
4150                  int nIDCheckButton);
4151
4152  
4153 UINT
4154 STDCALL
4155 IsDlgButtonChecked(
4156                    HWND hDlg,
4157                    int nIDButton);
4158
4159  
4160 HWND
4161 STDCALL
4162 GetNextDlgGroupItem(
4163                     HWND hDlg,
4164                     HWND hCtl,
4165                     WINBOOL bPrevious);
4166
4167  
4168 HWND
4169 STDCALL
4170 GetNextDlgTabItem(
4171                   HWND hDlg,
4172                   HWND hCtl,
4173                   WINBOOL bPrevious);
4174
4175  
4176 int
4177 STDCALL
4178 GetDlgCtrlID(
4179              HWND hWnd);
4180
4181  
4182 LONG
4183 STDCALL
4184 GetDialogBaseUnits(VOID);
4185
4186 WINBOOL
4187 STDCALL
4188 OpenClipboard(
4189               HWND hWndNewOwner);
4190
4191  
4192 WINBOOL
4193 STDCALL
4194 CloseClipboard(
4195                VOID);
4196
4197  
4198 HWND
4199 STDCALL
4200 GetClipboardOwner(
4201                   VOID);
4202
4203  
4204 HWND
4205 STDCALL
4206 SetClipboardViewer(
4207                    HWND hWndNewViewer);
4208
4209  
4210 HWND
4211 STDCALL
4212 GetClipboardViewer(
4213                    VOID);
4214
4215  
4216 WINBOOL
4217 STDCALL
4218 ChangeClipboardChain(
4219                      HWND hWndRemove,
4220                      HWND hWndNewNext);
4221
4222  
4223 HANDLE
4224 STDCALL
4225 SetClipboardData(
4226                  UINT uFormat,
4227                  HANDLE hMem);
4228
4229  
4230 HANDLE
4231 STDCALL
4232 GetClipboardData(
4233                  UINT uFormat);
4234
4235  
4236  
4237 int
4238 STDCALL
4239 CountClipboardFormats(
4240                       VOID);
4241
4242  
4243 UINT
4244 STDCALL
4245 EnumClipboardFormats(
4246                      UINT format);
4247
4248  
4249 WINBOOL
4250 STDCALL
4251 EmptyClipboard(
4252                VOID);
4253
4254  
4255 WINBOOL
4256 STDCALL
4257 IsClipboardFormatAvailable(
4258                            UINT format);
4259
4260  
4261 int
4262 STDCALL
4263 GetPriorityClipboardFormat(
4264                            UINT *paFormatPriorityList,
4265                            int cFormats);
4266
4267  
4268 HWND
4269 STDCALL
4270 GetOpenClipboardWindow(
4271                        VOID);
4272
4273  
4274 /* Despite the A these are ASCII functions! */
4275 LPSTR
4276 STDCALL
4277 CharNextExA(
4278             WORD CodePage,
4279             LPCSTR lpCurrentChar,
4280             DWORD dwFlags);
4281
4282  
4283 LPSTR
4284 STDCALL
4285 CharPrevExA(
4286             WORD CodePage,
4287             LPCSTR lpStart,
4288             LPCSTR lpCurrentChar,
4289             DWORD dwFlags);
4290
4291  
4292 HWND
4293 STDCALL
4294 SetFocus(
4295          HWND hWnd);
4296
4297  
4298 HWND
4299 STDCALL
4300 GetActiveWindow(
4301                 VOID);
4302
4303  
4304 HWND
4305 STDCALL
4306 GetFocus(
4307          VOID);
4308
4309  
4310 UINT
4311 STDCALL
4312 GetKBCodePage(
4313               VOID);
4314
4315  
4316 SHORT
4317 STDCALL
4318 GetKeyState(
4319             int nVirtKey);
4320
4321  
4322 SHORT
4323 STDCALL
4324 GetAsyncKeyState(
4325                  int vKey);
4326
4327  
4328 WINBOOL
4329 STDCALL
4330 GetKeyboardState(
4331                  PBYTE lpKeyState);
4332
4333  
4334 WINBOOL
4335 STDCALL
4336 SetKeyboardState(
4337                  LPBYTE lpKeyState);
4338
4339  
4340 int
4341 STDCALL
4342 GetKeyboardType(
4343                 int nTypeFlag);
4344
4345  
4346 int
4347 STDCALL
4348 ToAscii(
4349         UINT uVirtKey,
4350         UINT uScanCode,
4351         PBYTE lpKeyState,
4352         LPWORD lpChar,
4353         UINT uFlags);
4354
4355  
4356 int
4357 STDCALL
4358 ToAsciiEx(
4359           UINT uVirtKey,
4360           UINT uScanCode,
4361           PBYTE lpKeyState,
4362           LPWORD lpChar,
4363           UINT uFlags,
4364           HKL dwhkl);
4365
4366  
4367 int
4368 STDCALL
4369 ToUnicode(
4370           UINT wVirtKey,
4371           UINT wScanCode,
4372           PBYTE lpKeyState,
4373           LPWSTR pwszBuff,
4374           int cchBuff,
4375           UINT wFlags);
4376
4377  
4378 DWORD
4379 STDCALL
4380 OemKeyScan(
4381            WORD wOemChar);
4382
4383  
4384 VOID
4385 STDCALL
4386 keybd_event(
4387             BYTE bVk,
4388             BYTE bScan,
4389             DWORD dwFlags,
4390             DWORD dwExtraInfo);
4391
4392  
4393 VOID
4394 STDCALL
4395 mouse_event(
4396             DWORD dwFlags,
4397             DWORD dx,
4398             DWORD dy,
4399             DWORD cButtons,
4400             DWORD dwExtraInfo);
4401
4402 WINBOOL
4403 STDCALL
4404 GetInputState(
4405               VOID);
4406
4407  
4408 DWORD
4409 STDCALL
4410 GetQueueStatus(
4411                UINT flags);
4412
4413  
4414 HWND
4415 STDCALL
4416 GetCapture(
4417            VOID);
4418
4419  
4420 HWND
4421 STDCALL
4422 SetCapture(
4423            HWND hWnd);
4424
4425  
4426 WINBOOL
4427 STDCALL
4428 ReleaseCapture(
4429                VOID);
4430
4431  
4432 DWORD
4433 STDCALL
4434 MsgWaitForMultipleObjects(
4435                           DWORD nCount,
4436                           LPHANDLE pHandles,
4437                           WINBOOL fWaitAll,
4438                           DWORD dwMilliseconds,
4439                           DWORD dwWakeMask);
4440
4441  
4442 UINT
4443 STDCALL
4444 SetTimer(
4445          HWND hWnd ,
4446          UINT nIDEvent,
4447          UINT uElapse,
4448          TIMERPROC lpTimerFunc);
4449
4450
4451 WINBOOL
4452 STDCALL
4453 SetWaitableTimer(HANDLE hTimer,
4454                  const LARGE_INTEGER *pDueTime,
4455                  LONG lPeriod,
4456                  PTIMERAPCROUTINE pfnCompletionRoutine,
4457                  LPVOID lpArgToCompletionRoutine,
4458                  WINBOOL fResume);
4459
4460
4461 WINBOOL
4462 STDCALL
4463 KillTimer(
4464           HWND hWnd,
4465           UINT uIDEvent);
4466
4467  
4468 WINBOOL
4469 STDCALL
4470 IsWindowUnicode(
4471                 HWND hWnd);
4472
4473  
4474 WINBOOL
4475 STDCALL
4476 EnableWindow(
4477              HWND hWnd,
4478              WINBOOL bEnable);
4479
4480  
4481 WINBOOL
4482 STDCALL
4483 IsWindowEnabled(
4484                 HWND hWnd);
4485
4486  
4487 WINBOOL
4488 STDCALL
4489 DestroyAcceleratorTable(
4490                         HACCEL hAccel);
4491
4492 int
4493 STDCALL
4494 GetSystemMetrics(
4495                  int nIndex);
4496
4497 HMENU
4498 STDCALL
4499 GetMenu(
4500         HWND hWnd);
4501
4502  
4503 WINBOOL
4504 STDCALL
4505 SetMenu(
4506         HWND hWnd,
4507         HMENU hMenu);
4508
4509  
4510 WINBOOL
4511 STDCALL
4512 HiliteMenuItem(
4513                HWND hWnd,
4514                HMENU hMenu,
4515                UINT uIDHiliteItem,
4516                UINT uHilite);
4517
4518  
4519 UINT
4520 STDCALL
4521 GetMenuState(
4522              HMENU hMenu,
4523              UINT uId,
4524              UINT uFlags);
4525
4526  
4527 WINBOOL
4528 STDCALL
4529 DrawMenuBar(
4530             HWND hWnd);
4531
4532  
4533 HMENU
4534 STDCALL
4535 GetSystemMenu(
4536               HWND hWnd,
4537               WINBOOL bRevert);
4538
4539  
4540 HMENU
4541 STDCALL
4542 CreateMenu(
4543            VOID);
4544
4545  
4546 HMENU
4547 STDCALL
4548 CreatePopupMenu(
4549                 VOID);
4550
4551  
4552 WINBOOL
4553 STDCALL
4554 DestroyMenu(
4555             HMENU hMenu);
4556
4557  
4558 DWORD
4559 STDCALL
4560 CheckMenuItem(
4561               HMENU hMenu,
4562               UINT uIDCheckItem,
4563               UINT uCheck);
4564
4565  
4566 WINBOOL
4567 STDCALL
4568 EnableMenuItem(
4569                HMENU hMenu,
4570                UINT uIDEnableItem,
4571                UINT uEnable);
4572
4573  
4574 HMENU
4575 STDCALL
4576 GetSubMenu(
4577            HMENU hMenu,
4578            int nPos);
4579
4580  
4581 UINT
4582 STDCALL
4583 GetMenuItemID(
4584               HMENU hMenu,
4585               int nPos);
4586
4587  
4588 int
4589 STDCALL
4590 GetMenuItemCount(
4591                  HMENU hMenu);
4592
4593 WINBOOL
4594 STDCALL RemoveMenu(
4595                    HMENU hMenu,
4596                    UINT uPosition,
4597                    UINT uFlags);
4598
4599  
4600 WINBOOL
4601 STDCALL
4602 DeleteMenu(
4603            HMENU hMenu,
4604            UINT uPosition,
4605            UINT uFlags);
4606
4607  
4608 WINBOOL
4609 STDCALL
4610 SetMenuItemBitmaps(
4611                    HMENU hMenu,
4612                    UINT uPosition,
4613                    UINT uFlags,
4614                    HBITMAP hBitmapUnchecked,
4615                    HBITMAP hBitmapChecked);
4616
4617  
4618 LONG
4619 STDCALL
4620 GetMenuCheckMarkDimensions(
4621                            VOID);
4622
4623  
4624 WINBOOL
4625 STDCALL
4626 TrackPopupMenu(
4627                HMENU hMenu,
4628                UINT uFlags,
4629                int x,
4630                int y,
4631                int nReserved,
4632                HWND hWnd,
4633                CONST RECT *prcRect);
4634
4635 UINT
4636 STDCALL
4637 GetMenuDefaultItem(
4638                    HMENU hMenu, 
4639                    UINT fByPos, 
4640                    UINT gmdiFlags);
4641
4642 WINBOOL
4643 STDCALL
4644 SetMenuDefaultItem(
4645                    HMENU hMenu, 
4646                    UINT uItem, 
4647                    UINT fByPos);
4648
4649 WINBOOL
4650 STDCALL
4651 GetMenuItemRect(HWND hWnd, 
4652                 HMENU hMenu, 
4653                 UINT uItem, 
4654                 LPRECT lprcItem);
4655
4656 int
4657 STDCALL
4658 MenuItemFromPoint(HWND hWnd, 
4659                   HMENU hMenu, 
4660                   POINT ptScreen);
4661
4662  
4663 DWORD
4664 STDCALL
4665 DragObject(HWND, HWND, UINT, DWORD, HCURSOR);
4666
4667  
4668 WINBOOL
4669 STDCALL
4670 DragDetect(HWND hwnd, 
4671            POINT pt);
4672
4673  
4674 WINBOOL
4675 STDCALL
4676 DrawIcon(
4677          HDC hDC,
4678          int X,
4679          int Y,
4680          HICON hIcon);
4681
4682 WINBOOL
4683 STDCALL
4684 UpdateWindow(
4685              HWND hWnd);
4686
4687  
4688 HWND
4689 STDCALL
4690 SetActiveWindow(
4691                 HWND hWnd);
4692
4693  
4694 HWND
4695 STDCALL
4696 GetForegroundWindow(
4697                     VOID);
4698
4699 WINBOOL
4700 STDCALL
4701 PaintDesktop(HDC hdc);
4702
4703  
4704 WINBOOL
4705 STDCALL
4706 SetForegroundWindow(
4707                     HWND hWnd);
4708
4709  
4710 HWND
4711 STDCALL
4712 WindowFromDC(
4713              HDC hDC);
4714
4715  
4716 HDC
4717 STDCALL
4718 GetDC(
4719       HWND hWnd);
4720
4721  
4722 HDC
4723 STDCALL
4724 GetDCEx(
4725         HWND hWnd ,
4726         HRGN hrgnClip,
4727         DWORD flags);
4728
4729  
4730 HDC
4731 STDCALL
4732 GetWindowDC(
4733             HWND hWnd);
4734
4735  
4736 int
4737 STDCALL
4738 ReleaseDC(
4739           HWND hWnd,
4740           HDC hDC);
4741
4742  
4743 HDC
4744 STDCALL
4745 BeginPaint(
4746            HWND hWnd,
4747            LPPAINTSTRUCT lpPaint);
4748
4749  
4750 WINBOOL
4751 STDCALL
4752 EndPaint(
4753          HWND hWnd,
4754          CONST PAINTSTRUCT *lpPaint);
4755
4756  
4757 WINBOOL
4758 STDCALL
4759 GetUpdateRect(
4760               HWND hWnd,
4761               LPRECT lpRect,
4762               WINBOOL bErase);
4763
4764  
4765 int
4766 STDCALL
4767 GetUpdateRgn(
4768              HWND hWnd,
4769              HRGN hRgn,
4770              WINBOOL bErase);
4771
4772  
4773 int
4774 STDCALL
4775 SetWindowRgn(
4776              HWND hWnd,
4777              HRGN hRgn,
4778              WINBOOL bRedraw);
4779
4780  
4781 int
4782 STDCALL
4783 GetWindowRgn(
4784              HWND hWnd,
4785              HRGN hRgn);
4786
4787  
4788 int
4789 STDCALL
4790 ExcludeUpdateRgn(
4791                  HDC hDC,
4792                  HWND hWnd);
4793
4794  
4795 WINBOOL
4796 STDCALL
4797 InvalidateRect(
4798                HWND hWnd ,
4799                CONST RECT *lpRect,
4800                WINBOOL bErase);
4801
4802  
4803 WINBOOL
4804 STDCALL
4805 ValidateRect(
4806              HWND hWnd ,
4807              CONST RECT *lpRect);
4808
4809  
4810 WINBOOL
4811 STDCALL
4812 InvalidateRgn(
4813               HWND hWnd,
4814               HRGN hRgn,
4815               WINBOOL bErase);
4816
4817  
4818 WINBOOL
4819 STDCALL
4820 ValidateRgn(
4821             HWND hWnd,
4822             HRGN hRgn);
4823
4824  
4825 WINBOOL
4826 STDCALL
4827 RedrawWindow(
4828              HWND hWnd,
4829              CONST RECT *lprcUpdate,
4830              HRGN hrgnUpdate,
4831              UINT flags);
4832
4833  
4834 WINBOOL
4835 STDCALL
4836 LockWindowUpdate(
4837                  HWND hWndLock);
4838
4839  
4840 WINBOOL
4841 STDCALL
4842 ScrollWindow(
4843              HWND hWnd,
4844              int XAmount,
4845              int YAmount,
4846              CONST RECT *lpRect,
4847              CONST RECT *lpClipRect);
4848
4849  
4850 WINBOOL
4851 STDCALL
4852 ScrollDC(
4853          HDC hDC,
4854          int dx,
4855          int dy,
4856          CONST RECT *lprcScroll,
4857          CONST RECT *lprcClip ,
4858          HRGN hrgnUpdate,
4859          LPRECT lprcUpdate);
4860
4861  
4862 int
4863 STDCALL
4864 ScrollWindowEx(
4865                HWND hWnd,
4866                int dx,
4867                int dy,
4868                CONST RECT *prcScroll,
4869                CONST RECT *prcClip ,
4870                HRGN hrgnUpdate,
4871                LPRECT prcUpdate,
4872                UINT flags);
4873
4874  
4875 int
4876 STDCALL
4877 SetScrollPos(
4878              HWND hWnd,
4879              int nBar,
4880              int nPos,
4881              WINBOOL bRedraw);
4882
4883  
4884 int
4885 STDCALL
4886 GetScrollPos(
4887              HWND hWnd,
4888              int nBar);
4889
4890  
4891 WINBOOL
4892 STDCALL
4893 SetScrollRange(
4894                HWND hWnd,
4895                int nBar,
4896                int nMinPos,
4897                int nMaxPos,
4898                WINBOOL bRedraw);
4899
4900  
4901 WINBOOL
4902 STDCALL
4903 GetScrollRange(
4904                HWND hWnd,
4905                int nBar,
4906                LPINT lpMinPos,
4907                LPINT lpMaxPos);
4908
4909  
4910 WINBOOL
4911 STDCALL
4912 ShowScrollBar(
4913               HWND hWnd,
4914               int wBar,
4915               WINBOOL bShow);
4916
4917  
4918 WINBOOL
4919 STDCALL
4920 EnableScrollBar(
4921                 HWND hWnd,
4922                 UINT wSBflags,
4923                 UINT wArrows);
4924
4925  
4926 WINBOOL
4927 STDCALL
4928 GetClientRect(
4929               HWND hWnd,
4930               LPRECT lpRect);
4931
4932  
4933 WINBOOL
4934 STDCALL
4935 GetWindowRect(
4936               HWND hWnd,
4937               LPRECT lpRect);
4938
4939  
4940 WINBOOL
4941 STDCALL
4942 AdjustWindowRect(
4943                  LPRECT lpRect,
4944                  DWORD dwStyle,
4945                  WINBOOL bMenu);
4946
4947  
4948 WINBOOL
4949 STDCALL
4950 AdjustWindowRectEx(
4951                    LPRECT lpRect,
4952                    DWORD dwStyle,
4953                    WINBOOL bMenu,
4954                    DWORD dwExStyle);
4955
4956 WINBOOL
4957 STDCALL
4958 SetWindowContextHelpId(HWND, DWORD);
4959
4960 DWORD
4961 STDCALL
4962 GetWindowContextHelpId(HWND);
4963
4964 WINBOOL
4965 STDCALL
4966 SetMenuContextHelpId(HMENU, DWORD);
4967
4968 DWORD
4969 STDCALL
4970 GetMenuContextHelpId(HMENU);
4971
4972  
4973 WINBOOL
4974 STDCALL
4975 MessageBeep(
4976             UINT uType);
4977
4978  
4979 int
4980 STDCALL
4981 ShowCursor(
4982            WINBOOL bShow);
4983
4984  
4985 WINBOOL
4986 STDCALL
4987 SetCursorPos(
4988              int X,
4989              int Y);
4990
4991  
4992 HCURSOR
4993 STDCALL
4994 SetCursor(
4995           HCURSOR hCursor);
4996
4997  
4998 WINBOOL
4999 STDCALL
5000 GetCursorPos(
5001              LPPOINT lpPoint);
5002
5003  
5004 WINBOOL
5005 STDCALL
5006 ClipCursor(
5007            CONST RECT *lpRect);
5008
5009  
5010 WINBOOL
5011 STDCALL
5012 GetClipCursor(
5013               LPRECT lpRect);
5014
5015  
5016 HCURSOR
5017 STDCALL
5018 GetCursor(
5019           VOID);
5020
5021  
5022 WINBOOL
5023 STDCALL
5024 CreateCaret(
5025             HWND hWnd,
5026             HBITMAP hBitmap ,
5027             int nWidth,
5028             int nHeight);
5029
5030  
5031 UINT
5032 STDCALL
5033 GetCaretBlinkTime(
5034                   VOID);
5035
5036  
5037 WINBOOL
5038 STDCALL
5039 SetCaretBlinkTime(
5040                   UINT uMSeconds);
5041
5042  
5043 WINBOOL
5044 STDCALL
5045 DestroyCaret(
5046              VOID);
5047
5048  
5049 WINBOOL
5050 STDCALL
5051 HideCaret(
5052           HWND hWnd);
5053
5054  
5055 WINBOOL
5056 STDCALL
5057 ShowCaret(
5058           HWND hWnd);
5059
5060  
5061 WINBOOL
5062 STDCALL
5063 SetCaretPos(
5064             int X,
5065             int Y);
5066
5067  
5068 WINBOOL
5069 STDCALL
5070 GetCaretPos(
5071             LPPOINT lpPoint);
5072
5073  
5074 WINBOOL
5075 STDCALL
5076 ClientToScreen(
5077                HWND hWnd,
5078                LPPOINT lpPoint);
5079
5080  
5081 WINBOOL
5082 STDCALL
5083 ScreenToClient(
5084                HWND hWnd,
5085                LPPOINT lpPoint);
5086
5087  
5088 int
5089 STDCALL
5090 MapWindowPoints(
5091                 HWND hWndFrom,
5092                 HWND hWndTo,
5093                 LPPOINT lpPoints,
5094                 UINT cPoints);
5095
5096  
5097 HWND
5098 STDCALL
5099 WindowFromPoint(
5100                 POINT Point);
5101
5102  
5103 HWND
5104 STDCALL
5105 ChildWindowFromPoint(
5106                      HWND hWndParent,
5107                      POINT Point);
5108
5109  
5110 DWORD
5111 STDCALL
5112 GetSysColor(
5113             int nIndex);
5114
5115  
5116 HBRUSH
5117 STDCALL
5118 GetSysColorBrush(
5119                  int nIndex);
5120
5121  
5122 WINBOOL
5123 STDCALL
5124 SetSysColors(
5125              int cElements,
5126              CONST INT * lpaElements,
5127              CONST COLORREF * lpaRgbValues);
5128
5129  
5130 WINBOOL
5131 STDCALL
5132 DrawFocusRect(
5133               HDC hDC,
5134               CONST RECT * lprc);
5135
5136  
5137 int
5138 STDCALL
5139 FillRect(
5140          HDC hDC,
5141          CONST RECT *lprc,
5142          HBRUSH hbr);
5143
5144  
5145 int
5146 STDCALL
5147 FrameRect(
5148           HDC hDC,
5149           CONST RECT *lprc,
5150           HBRUSH hbr);
5151
5152  
5153 WINBOOL
5154 STDCALL
5155 InvertRect(
5156            HDC hDC,
5157            CONST RECT *lprc);
5158
5159  
5160 WINBOOL
5161 STDCALL
5162 SetRect(
5163         LPRECT lprc,
5164         int xLeft,
5165         int yTop,
5166         int xRight,
5167         int yBottom);
5168
5169  
5170 WINBOOL
5171 STDCALL
5172 SetRectEmpty(
5173              LPRECT lprc);
5174
5175  
5176 WINBOOL
5177 STDCALL
5178 CopyRect(
5179          LPRECT lprcDst,
5180          CONST RECT *lprcSrc);
5181
5182  
5183 WINBOOL
5184 STDCALL
5185 InflateRect(
5186             LPRECT lprc,
5187             int dx,
5188             int dy);
5189
5190  
5191 WINBOOL
5192 STDCALL
5193 IntersectRect(
5194               LPRECT lprcDst,
5195               CONST RECT *lprcSrc1,
5196               CONST RECT *lprcSrc2);
5197
5198  
5199 WINBOOL
5200 STDCALL
5201 UnionRect(
5202           LPRECT lprcDst,
5203           CONST RECT *lprcSrc1,
5204           CONST RECT *lprcSrc2);
5205
5206  
5207 WINBOOL
5208 STDCALL
5209 SubtractRect(
5210              LPRECT lprcDst,
5211              CONST RECT *lprcSrc1,
5212              CONST RECT *lprcSrc2);
5213
5214  
5215 WINBOOL
5216 STDCALL
5217 OffsetRect(
5218            LPRECT lprc,
5219            int dx,
5220            int dy);
5221
5222  
5223 WINBOOL
5224 STDCALL
5225 IsRectEmpty(
5226             CONST RECT *lprc);
5227
5228  
5229 WINBOOL
5230 STDCALL
5231 EqualRect(
5232           CONST RECT *lprc1,
5233           CONST RECT *lprc2);
5234
5235  
5236 WINBOOL
5237 STDCALL
5238 PtInRect(
5239          CONST RECT *lprc,
5240          POINT pt);
5241
5242  
5243 WORD
5244 STDCALL
5245 GetWindowWord(
5246               HWND hWnd,
5247               int nIndex);
5248
5249  
5250 WORD
5251 STDCALL
5252 SetWindowWord(
5253               HWND hWnd,
5254               int nIndex,
5255               WORD wNewWord);
5256
5257  
5258 WORD
5259 STDCALL
5260 GetClassWord(
5261              HWND hWnd,
5262              int nIndex);
5263
5264  
5265 WORD
5266 STDCALL
5267 SetClassWord(
5268              HWND hWnd,
5269              int nIndex,
5270              WORD wNewWord);
5271
5272 HWND
5273 STDCALL
5274 GetDesktopWindow(
5275                  VOID);
5276
5277  
5278 HWND
5279 STDCALL
5280 GetParent(
5281           HWND hWnd);
5282
5283  
5284 HWND
5285 STDCALL
5286 SetParent(
5287           HWND hWndChild,
5288           HWND hWndNewParent);
5289
5290  
5291 WINBOOL
5292 STDCALL
5293 EnumChildWindows(
5294                  HWND hWndParent,
5295                  ENUMWINDOWSPROC lpEnumFunc,
5296                  LPARAM lParam);
5297
5298  
5299 WINBOOL
5300 STDCALL
5301 EnumWindows(
5302             ENUMWINDOWSPROC lpEnumFunc,
5303             LPARAM lParam);
5304
5305  
5306 WINBOOL
5307 STDCALL
5308 EnumThreadWindows(
5309                   DWORD dwThreadId,
5310                   ENUMWINDOWSPROC lpfn,
5311                   LPARAM lParam);
5312
5313 HWND
5314 STDCALL
5315 GetTopWindow(
5316              HWND hWnd);
5317
5318  
5319 DWORD
5320 STDCALL
5321 GetWindowThreadProcessId(
5322                          HWND hWnd,
5323                          LPDWORD lpdwProcessId);
5324
5325  
5326 HWND
5327 STDCALL
5328 GetLastActivePopup(
5329                    HWND hWnd);
5330
5331  
5332 HWND
5333 STDCALL
5334 GetWindow(
5335           HWND hWnd,
5336           UINT uCmd);
5337
5338 WINBOOL
5339 STDCALL
5340 UnhookWindowsHook(
5341                   int nCode,
5342                   HOOKPROC pfnFilterProc);
5343
5344 WINBOOL
5345 STDCALL
5346 UnhookWindowsHookEx(
5347                     HHOOK hhk);
5348
5349  
5350 LRESULT
5351 STDCALL
5352 CallNextHookEx(
5353                HHOOK hhk,
5354                int nCode,
5355                WPARAM wParam,
5356                LPARAM lParam);
5357
5358  
5359 WINBOOL
5360 STDCALL
5361 CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT);
5362
5363 HCURSOR
5364 STDCALL
5365 CreateCursor(
5366              HINSTANCE hInst,
5367              int xHotSpot,
5368              int yHotSpot,
5369              int nWidth,
5370              int nHeight,
5371              CONST VOID *pvANDPlane,
5372              CONST VOID *pvXORPlane);
5373
5374  
5375 WINBOOL
5376 STDCALL
5377 DestroyCursor(
5378               HCURSOR hCursor);
5379
5380  
5381 WINBOOL
5382 STDCALL
5383 SetSystemCursor(
5384                 HCURSOR hcur,
5385                 DWORD   anID);
5386
5387  
5388 HICON
5389 STDCALL
5390 CreateIcon(
5391            HINSTANCE hInstance,
5392            int nWidth,
5393            int nHeight,
5394            BYTE cPlanes,
5395            BYTE cBitsPixel,
5396            CONST BYTE *lpbANDbits,
5397            CONST BYTE *lpbXORbits);
5398
5399  
5400 WINBOOL
5401 STDCALL
5402 DestroyIcon(
5403             HICON hIcon);
5404
5405  
5406 int
5407 STDCALL
5408 LookupIconIdFromDirectory(
5409                           PBYTE presbits,
5410                           WINBOOL fIcon);
5411
5412  
5413 int
5414 STDCALL
5415 LookupIconIdFromDirectoryEx(
5416                             PBYTE presbits,
5417                             WINBOOL  fIcon,
5418                             int   cxDesired,
5419                             int   cyDesired,
5420                             UINT  Flags);
5421
5422  
5423 HICON
5424 STDCALL
5425 CreateIconFromResource(
5426                        PBYTE presbits,
5427                        DWORD dwResSize,
5428                        WINBOOL fIcon,
5429                        DWORD dwVer);
5430
5431  
5432 HICON
5433 STDCALL
5434 CreateIconFromResourceEx(
5435                          PBYTE presbits,
5436                          DWORD dwResSize,
5437                          WINBOOL  fIcon,
5438                          DWORD dwVer,
5439                          int   cxDesired,
5440                          int   cyDesired,
5441                          UINT  Flags);
5442
5443  
5444 HICON
5445 STDCALL
5446 CopyImage(
5447           HANDLE,
5448           UINT,
5449           int,
5450           int,
5451           UINT);
5452
5453  
5454 HICON
5455 STDCALL
5456 CreateIconIndirect(
5457                    PICONINFO piconinfo);
5458
5459  
5460 HICON
5461 STDCALL
5462 CopyIcon(
5463          HICON hIcon);
5464
5465  
5466 WINBOOL
5467 STDCALL
5468 GetIconInfo(
5469             HICON hIcon,
5470             PICONINFO piconinfo);
5471
5472  
5473 WINBOOL
5474 STDCALL
5475 MapDialogRect(
5476               HWND hDlg,
5477               LPRECT lpRect);
5478
5479 int
5480 STDCALL
5481 SetScrollInfo(HWND, int, LPCSCROLLINFO, WINBOOL);
5482
5483 WINBOOL
5484 STDCALL
5485 GetScrollInfo(HWND, int, LPSCROLLINFO);
5486
5487 WINBOOL
5488 STDCALL
5489 TranslateMDISysAccel(
5490                      HWND hWndClient,
5491                      LPMSG lpMsg);
5492
5493  
5494 UINT
5495 STDCALL
5496 ArrangeIconicWindows(
5497                      HWND hWnd);
5498
5499 WORD
5500 STDCALL
5501 TileWindows(HWND hwndParent, UINT wHow, CONST RECT * lpRect, UINT cKids, const HWND *lpKids);
5502
5503 WORD
5504 STDCALL
5505 CascadeWindows(HWND hwndParent, UINT wHow, CONST RECT * lpRect, UINT cKids,  const HWND *lpKids);
5506
5507  
5508 VOID
5509 STDCALL
5510 SetLastErrorEx(
5511                DWORD dwErrCode,
5512                DWORD dwType
5513                );
5514
5515  
5516 VOID
5517 STDCALL
5518 SetDebugErrorLevel(
5519                    DWORD dwLevel
5520                    );
5521
5522 WINBOOL
5523 STDCALL
5524 DrawEdge(HDC hdc, LPRECT qrc, UINT edge, UINT grfFlags);
5525
5526 WINBOOL
5527 STDCALL
5528 DrawFrameControl(HDC, LPRECT, UINT, UINT);
5529
5530 WINBOOL
5531 STDCALL
5532 DrawCaption(
5533   HWND hwnd,
5534   HDC hdc,
5535   LPRECT lprc,
5536   UINT uFlags);
5537
5538 WINBOOL
5539 STDCALL
5540 DrawAnimatedRects(HWND hwnd, int idAni, CONST RECT * lprcFrom, CONST RECT * lprcTo);
5541
5542 WINBOOL
5543 STDCALL
5544 TrackPopupMenuEx(HMENU, UINT, int, int, HWND, LPTPMPARAMS);
5545
5546 HWND
5547 STDCALL
5548 ChildWindowFromPointEx(HWND, POINT, UINT);
5549
5550 WINBOOL
5551 STDCALL
5552 DrawIconEx(HDC hdc, int xLeft, int yTop,
5553            HICON hIcon, int cxWidth, int cyWidth,
5554            UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags);
5555
5556 WINBOOL
5557 STDCALL
5558 AnimatePalette(HPALETTE, UINT, UINT, CONST PALETTEENTRY *);
5559
5560 WINBOOL
5561 STDCALL
5562 Arc(HDC, int, int, int, int, int, int, int, int);
5563
5564 WINBOOL
5565 STDCALL
5566 BitBlt(HDC, int, int, int, int, HDC, int, int, DWORD);
5567
5568 WINBOOL
5569 STDCALL
5570 CancelDC(HDC);
5571
5572 WINBOOL
5573 STDCALL
5574 Chord(HDC, int, int, int, int, int, int, int, int);
5575
5576 HMETAFILE
5577 STDCALL
5578 CloseMetaFile(HDC);
5579
5580 int
5581 STDCALL
5582 CombineRgn(HRGN, HRGN, HRGN, int);
5583
5584 HBITMAP
5585 STDCALL
5586 CreateBitmap(int, int, UINT, UINT, CONST VOID *);
5587
5588 HBITMAP
5589 STDCALL
5590 CreateBitmapIndirect(CONST BITMAP *);
5591
5592 HBRUSH
5593 STDCALL
5594 CreateBrushIndirect(CONST LOGBRUSH *);
5595
5596 HBITMAP
5597 STDCALL
5598 CreateCompatibleBitmap(HDC, int, int);
5599
5600 HBITMAP
5601 STDCALL
5602 CreateDiscardableBitmap(HDC, int, int);
5603
5604 HDC
5605 STDCALL
5606 CreateCompatibleDC(HDC);
5607
5608 HBITMAP
5609 STDCALL
5610 CreateDIBitmap(HDC, CONST BITMAPINFOHEADER *, DWORD, CONST VOID *, CONST BITMAPINFO *, UINT);
5611
5612 HBRUSH
5613 STDCALL
5614 CreateDIBPatternBrush(HGLOBAL, UINT);
5615
5616 HBRUSH
5617 STDCALL
5618 CreateDIBPatternBrushPt(CONST VOID *, UINT);
5619
5620 HRGN
5621 STDCALL
5622 CreateEllipticRgn(int, int, int, int);
5623
5624 HRGN
5625 STDCALL
5626 CreateEllipticRgnIndirect(CONST RECT *);
5627
5628 HBRUSH
5629 STDCALL
5630 CreateHatchBrush(int, COLORREF);
5631
5632 HPALETTE
5633 STDCALL
5634 CreatePalette(CONST LOGPALETTE *);
5635
5636 HPEN
5637 STDCALL
5638 CreatePen(int, int, COLORREF);
5639
5640 HPEN
5641 STDCALL
5642 CreatePenIndirect(CONST LOGPEN *);
5643
5644 HRGN
5645 STDCALL
5646 CreatePolyPolygonRgn(CONST POINT *, CONST INT *, int, int);
5647
5648 HBRUSH
5649 STDCALL
5650 CreatePatternBrush(HBITMAP);
5651
5652 HRGN
5653 STDCALL
5654 CreateRectRgn(int, int, int, int);
5655
5656 HRGN
5657 STDCALL
5658 CreateRectRgnIndirect(CONST RECT *);
5659
5660 HRGN
5661 STDCALL
5662 CreateRoundRectRgn(int, int, int, int, int, int);
5663
5664 HBRUSH
5665 STDCALL
5666 CreateSolidBrush(COLORREF);
5667
5668 WINBOOL
5669 STDCALL
5670 DeleteDC(HDC);
5671
5672 WINBOOL
5673 STDCALL
5674 DeleteMetaFile(HMETAFILE);
5675
5676 WINBOOL
5677 STDCALL
5678 DeleteObject(HGDIOBJ);
5679
5680 int
5681 STDCALL
5682 DrawEscape(HDC, int, int, LPCSTR);
5683
5684 WINBOOL
5685 STDCALL
5686 Ellipse(HDC, int, int, int, int);
5687
5688 int
5689 STDCALL
5690 EnumObjects(HDC, int, ENUMOBJECTSPROC, LPARAM);
5691
5692 WINBOOL
5693 STDCALL
5694 EqualRgn(HRGN, HRGN);
5695
5696 int
5697 STDCALL
5698 Escape(HDC, int, int, LPCSTR, LPVOID);
5699
5700 int
5701 STDCALL
5702 ExtEscape(HDC, int, int, LPCSTR, int, LPSTR);
5703
5704 int
5705 STDCALL
5706 ExcludeClipRect(HDC, int, int, int, int);
5707
5708 HRGN
5709 STDCALL
5710 ExtCreateRegion(CONST XFORM *, DWORD, CONST RGNDATA *);
5711
5712 WINBOOL
5713 STDCALL
5714 ExtFloodFill(HDC, int, int, COLORREF, UINT);
5715
5716 WINBOOL
5717 STDCALL
5718 FillRgn(HDC, HRGN, HBRUSH);
5719
5720 WINBOOL
5721 STDCALL
5722 FloodFill(HDC, int, int, COLORREF);
5723
5724 WINBOOL
5725 STDCALL
5726 FrameRgn(HDC, HRGN, HBRUSH, int, int);
5727
5728 WINBOOL
5729 STDCALL
5730 GdiDllInitialize (HANDLE, DWORD, LPVOID);
5731
5732 VOID
5733 STDCALL
5734 GdiProcessSetup (VOID);
5735
5736 int
5737 STDCALL
5738 GetROP2(HDC);
5739
5740 WINBOOL
5741 STDCALL
5742 GetAspectRatioFilterEx(HDC, LPSIZE);
5743
5744 COLORREF
5745 STDCALL
5746 GetBkColor(HDC);
5747
5748 int
5749 STDCALL
5750 GetBkMode(HDC);
5751
5752 LONG
5753 STDCALL
5754 GetBitmapBits(HBITMAP, LONG, LPVOID);
5755
5756 WINBOOL
5757 STDCALL
5758 GetBitmapDimensionEx(HBITMAP, LPSIZE);
5759
5760 UINT
5761 STDCALL
5762 GetBoundsRect(HDC, LPRECT, UINT);
5763
5764 WINBOOL
5765 STDCALL
5766 GetBrushOrgEx(HDC, LPPOINT);
5767
5768 int
5769 STDCALL
5770 GetClipBox(HDC, LPRECT);
5771
5772 int
5773 STDCALL
5774 GetClipRgn(HDC, HRGN);
5775
5776 int
5777 STDCALL
5778 GetMetaRgn(HDC, HRGN);
5779
5780 HGDIOBJ
5781 STDCALL
5782 GetCurrentObject(HDC, UINT);
5783
5784 WINBOOL
5785 STDCALL
5786 GetCurrentPositionEx(HDC, LPPOINT);
5787
5788 int
5789 STDCALL
5790 GetDeviceCaps(HDC, int);
5791
5792 int
5793 STDCALL
5794 GetDIBits(HDC, HBITMAP, UINT, UINT, LPVOID, LPBITMAPINFO, UINT);
5795
5796 DWORD
5797 STDCALL
5798 GetFontData(HDC, DWORD, DWORD, LPVOID, DWORD);
5799
5800 int
5801 STDCALL
5802 GetGraphicsMode(HDC);
5803
5804 int
5805 STDCALL
5806 GetMapMode(HDC);
5807
5808 UINT
5809 STDCALL
5810 GetMetaFileBitsEx(HMETAFILE, UINT, LPVOID);
5811
5812 COLORREF
5813 STDCALL
5814 GetNearestColor(HDC, COLORREF);
5815
5816 UINT
5817 STDCALL
5818 GetNearestPaletteIndex(HPALETTE, COLORREF);
5819
5820 DWORD
5821 STDCALL
5822 GetObjectType(HGDIOBJ h);
5823
5824 UINT
5825 STDCALL
5826 GetPaletteEntries(HPALETTE, UINT, UINT, LPPALETTEENTRY);
5827
5828 COLORREF
5829 STDCALL
5830 GetPixel(HDC, int, int);
5831
5832 int
5833 STDCALL
5834 GetPixelFormat(HDC);
5835
5836 int
5837 STDCALL
5838 GetPolyFillMode(HDC);
5839
5840 WINBOOL
5841 STDCALL
5842 GetRasterizerCaps(LPRASTERIZER_STATUS, UINT);
5843
5844 DWORD
5845 STDCALL
5846 GetRegionData(HRGN, DWORD, LPRGNDATA);
5847
5848 int
5849 STDCALL
5850 GetRgnBox(HRGN, LPRECT);
5851
5852 HGDIOBJ
5853 STDCALL
5854 GetStockObject(int);
5855
5856 int
5857 STDCALL
5858 GetStretchBltMode(HDC);
5859
5860 UINT
5861 STDCALL
5862 GetSystemPaletteEntries(HDC, UINT, UINT, LPPALETTEENTRY);
5863
5864 UINT
5865 STDCALL
5866 GetSystemPaletteUse(HDC);
5867
5868 int
5869 STDCALL
5870 GetTextCharacterExtra(HDC);
5871
5872 UINT
5873 STDCALL
5874 GetTextAlign(HDC);
5875
5876 COLORREF
5877 STDCALL
5878 GetTextColor(HDC);
5879
5880 int
5881 STDCALL
5882 GetTextCharset(HDC hdc);
5883
5884 int
5885 STDCALL
5886 GetTextCharsetInfo(HDC hdc, LPFONTSIGNATURE lpSig, DWORD dwFlags);
5887
5888 WINBOOL
5889 STDCALL
5890 TranslateCharsetInfo( DWORD *lpSrc, LPCHARSETINFO lpCs, DWORD dwFlags);
5891
5892 DWORD
5893 STDCALL
5894 GetFontLanguageInfo( HDC );
5895
5896 WINBOOL
5897 STDCALL
5898 GetViewportExtEx(HDC, LPSIZE);
5899
5900 WINBOOL
5901 STDCALL
5902 GetViewportOrgEx(HDC, LPPOINT);
5903
5904 WINBOOL
5905 STDCALL
5906 GetWindowExtEx(HDC, LPSIZE);
5907
5908 WINBOOL
5909 STDCALL
5910 GetWindowOrgEx(HDC, LPPOINT);
5911
5912 int
5913 STDCALL
5914 IntersectClipRect(HDC, int, int, int, int);
5915
5916 WINBOOL
5917 STDCALL
5918 InvertRgn(HDC, HRGN);
5919
5920 WINBOOL
5921 STDCALL
5922 LineDDA(int, int, int, int, LINEDDAPROC, LPARAM);
5923
5924 WINBOOL
5925 STDCALL
5926 LineTo(HDC, int, int);
5927
5928 WINBOOL
5929 STDCALL
5930 MaskBlt(HDC, int, int, int, int,
5931         HDC, int, int, HBITMAP, int, int, DWORD);
5932
5933 WINBOOL
5934 STDCALL
5935 PlgBlt(HDC, CONST POINT *, HDC, int, int, int,
5936        int, HBITMAP, int, int);
5937
5938 int
5939 STDCALL
5940 OffsetClipRgn(HDC, int, int);
5941
5942 int
5943 STDCALL
5944 OffsetRgn(HRGN, int, int);
5945
5946 WINBOOL
5947 STDCALL 
5948 PatBlt(HDC, int, int, int, int, DWORD);
5949
5950 WINBOOL
5951 STDCALL
5952 Pie(HDC, int, int, int, int, int, int, int, int);
5953
5954 WINBOOL
5955 STDCALL
5956 PlayMetaFile(HDC, HMETAFILE);
5957
5958 WINBOOL
5959 STDCALL
5960 PaintRgn(HDC, HRGN);
5961
5962 WINBOOL
5963 STDCALL
5964 PolyPolygon(HDC, CONST POINT *, CONST INT *, int);
5965
5966 WINBOOL
5967 STDCALL
5968 PtInRegion(HRGN, int, int);
5969
5970 WINBOOL
5971 STDCALL
5972 PtVisible(HDC, int, int);
5973
5974 WINBOOL
5975 STDCALL
5976 RectInRegion(HRGN, CONST RECT *);
5977
5978 WINBOOL
5979 STDCALL
5980 RectVisible(HDC, CONST RECT *);
5981
5982 WINBOOL
5983 STDCALL
5984 Rectangle(HDC, int, int, int, int);
5985
5986 WINBOOL
5987 STDCALL
5988 RestoreDC(HDC, int);
5989
5990 UINT
5991 STDCALL
5992 RealizePalette(HDC);
5993
5994 WINBOOL
5995 STDCALL
5996 RoundRect(HDC, int, int, int, int, int, int);
5997
5998 WINBOOL
5999 STDCALL
6000 ResizePalette(HPALETTE, UINT);
6001
6002 int
6003 STDCALL
6004 SaveDC(HDC);
6005
6006 int
6007 STDCALL
6008 SelectClipRgn(HDC, HRGN);
6009
6010 int
6011 STDCALL
6012 ExtSelectClipRgn(HDC, HRGN, int);
6013
6014 int
6015 STDCALL
6016 SetMetaRgn(HDC);
6017
6018 HGDIOBJ
6019 STDCALL
6020 SelectObject(HDC, HGDIOBJ);
6021
6022 HPALETTE
6023 STDCALL
6024 SelectPalette(HDC, HPALETTE, WINBOOL);
6025
6026 COLORREF
6027 STDCALL
6028 SetBkColor(HDC, COLORREF);
6029
6030 int
6031 STDCALL
6032 SetBkMode(HDC, int);
6033
6034 LONG
6035 STDCALL
6036 SetBitmapBits(HBITMAP, DWORD, CONST VOID *);
6037
6038 UINT
6039 STDCALL
6040 SetBoundsRect(HDC, CONST RECT *, UINT);
6041
6042 int
6043 STDCALL
6044 SetDIBits(HDC, HBITMAP, UINT, UINT, CONST VOID *, CONST BITMAPINFO *, UINT);
6045
6046 int
6047 STDCALL
6048 SetDIBitsToDevice(HDC, int, int, DWORD, DWORD, int,
6049                   int, UINT, UINT, CONST VOID *, CONST BITMAPINFO *, UINT);
6050
6051 DWORD
6052 STDCALL
6053 SetMapperFlags(HDC, DWORD);
6054
6055 int
6056 STDCALL
6057 SetGraphicsMode(HDC hdc, int iMode);
6058
6059 int
6060 STDCALL
6061 SetMapMode(HDC, int);
6062
6063 HMETAFILE
6064 STDCALL
6065 SetMetaFileBitsEx(UINT, CONST BYTE *);
6066
6067 UINT
6068 STDCALL
6069 SetPaletteEntries(HPALETTE, UINT, UINT, CONST PALETTEENTRY *);
6070
6071 COLORREF
6072 STDCALL
6073 SetPixel(HDC, int, int, COLORREF);
6074
6075 WINBOOL
6076 STDCALL
6077 SetPixelV(HDC, int, int, COLORREF);
6078
6079 int
6080 STDCALL
6081 SetPolyFillMode(HDC, int);
6082
6083 WINBOOL
6084 STDCALL
6085 StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD);
6086
6087 WINBOOL
6088 STDCALL
6089 SetRectRgn(HRGN, int, int, int, int);
6090 int
6091 STDCALL
6092 StretchDIBits(HDC, int, int, int, int, int, int, int, int, CONST
6093               VOID *, CONST BITMAPINFO *, UINT, DWORD);
6094
6095 int
6096 STDCALL
6097 SetROP2(HDC, int);
6098
6099 int
6100 STDCALL
6101 SetStretchBltMode(HDC, int);
6102
6103 UINT
6104 STDCALL
6105 SetSystemPaletteUse(HDC, UINT);
6106
6107 int
6108 STDCALL
6109 SetTextCharacterExtra(HDC, int);
6110
6111 COLORREF
6112 STDCALL
6113 SetTextColor(HDC, COLORREF);
6114
6115 UINT
6116 STDCALL
6117 SetTextAlign(HDC, UINT);
6118
6119 WINBOOL
6120 STDCALL
6121 SetTextJustification(HDC, int, int);
6122
6123 WINBOOL
6124 STDCALL
6125 UpdateColors(HDC);
6126
6127 WINBOOL
6128 STDCALL
6129 PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, UINT);
6130
6131 WINBOOL
6132 STDCALL
6133 EnumMetaFile(HDC, HMETAFILE, ENUMMETAFILEPROC, LPARAM);
6134
6135 HENHMETAFILE
6136 STDCALL
6137 CloseEnhMetaFile(HDC);
6138
6139 WINBOOL
6140 STDCALL
6141 DeleteEnhMetaFile(HENHMETAFILE);
6142
6143 WINBOOL
6144 STDCALL
6145 EnumEnhMetaFile(HDC, HENHMETAFILE, ENHMETAFILEPROC,
6146                 LPVOID, CONST RECT *);
6147
6148 UINT
6149 STDCALL
6150 GetEnhMetaFileHeader(HENHMETAFILE, UINT, LPENHMETAHEADER );
6151
6152 UINT
6153 STDCALL
6154 GetEnhMetaFilePaletteEntries(HENHMETAFILE, UINT, LPPALETTEENTRY );
6155
6156 UINT
6157 STDCALL
6158 GetWinMetaFileBits(HENHMETAFILE, UINT, LPBYTE, INT, HDC);
6159
6160 WINBOOL
6161 STDCALL
6162 PlayEnhMetaFile(HDC, HENHMETAFILE, CONST RECT *);
6163
6164 WINBOOL
6165 STDCALL
6166 PlayEnhMetaFileRecord(HDC, LPHANDLETABLE, CONST ENHMETARECORD *, UINT);
6167
6168 HENHMETAFILE
6169 STDCALL
6170 SetEnhMetaFileBits(UINT, CONST BYTE *);
6171
6172 #if 0
6173 HENHMETAFILE
6174 STDCALL
6175 SetWinMetaFileBits(UINT, CONST BYTE *, HDC, CONST METAFILEPICT *);
6176 #endif
6177
6178 WINBOOL
6179 STDCALL
6180 GdiComment(HDC, UINT, CONST BYTE *);
6181
6182 WINBOOL
6183 STDCALL
6184 AngleArc(HDC, int, int, DWORD, FLOAT, FLOAT);
6185
6186 WINBOOL
6187 STDCALL
6188 PolyPolyline(HDC, CONST POINT *, CONST DWORD *, DWORD);
6189
6190 WINBOOL
6191 STDCALL
6192 GetWorldTransform(HDC, LPXFORM);
6193
6194 WINBOOL
6195 STDCALL
6196 SetWorldTransform(HDC, CONST XFORM *);
6197
6198 WINBOOL
6199 STDCALL
6200 ModifyWorldTransform(HDC, CONST XFORM *, DWORD);
6201
6202 WINBOOL
6203 STDCALL
6204 CombineTransform(LPXFORM, CONST XFORM *, CONST XFORM *);
6205
6206 HBITMAP
6207 STDCALL
6208 CreateDIBSection(HDC, CONST BITMAPINFO *, UINT, VOID *, HANDLE, DWORD);
6209
6210 UINT
6211 STDCALL
6212 GetDIBColorTable(HDC, UINT, UINT, RGBQUAD *);
6213
6214 UINT
6215 STDCALL
6216 SetDIBColorTable(HDC, UINT, UINT, CONST RGBQUAD *);
6217
6218 WINBOOL
6219 STDCALL
6220 SetColorAdjustment(HDC, CONST COLORADJUSTMENT *);
6221
6222 WINBOOL
6223 STDCALL
6224 GetColorAdjustment(HDC, LPCOLORADJUSTMENT);
6225
6226 HPALETTE
6227 STDCALL 
6228 CreateHalftonePalette(HDC);
6229
6230 int
6231 STDCALL
6232 EndDoc(HDC);
6233
6234 int
6235 STDCALL
6236 StartPage(HDC);
6237
6238 int
6239 STDCALL
6240 EndPage(HDC);
6241
6242 int
6243 STDCALL
6244 AbortDoc(HDC);
6245
6246 int
6247 STDCALL
6248 SetAbortProc(HDC, ABORTPROC);
6249
6250 WINBOOL
6251 STDCALL
6252 AbortPath(HDC);
6253
6254 WINBOOL
6255 STDCALL
6256 ArcTo(HDC, int, int, int, int, int, int,int, int);
6257
6258 WINBOOL
6259 STDCALL
6260 BeginPath(HDC);
6261
6262 WINBOOL
6263 STDCALL
6264 CloseFigure(HDC);
6265
6266 WINBOOL
6267 STDCALL
6268 EndPath(HDC);
6269
6270 WINBOOL
6271 STDCALL
6272 FillPath(HDC);
6273
6274 WINBOOL
6275 STDCALL
6276 FlattenPath(HDC);
6277
6278 int
6279 STDCALL
6280 GetPath(HDC, LPPOINT, LPBYTE, int);
6281
6282 HRGN
6283 STDCALL
6284 PathToRegion(HDC);
6285
6286 WINBOOL
6287 STDCALL
6288 PolyDraw(HDC, CONST POINT *, CONST BYTE *, int);
6289
6290 WINBOOL
6291 STDCALL
6292 SelectClipPath(HDC, int);
6293
6294 int
6295 STDCALL
6296 SetArcDirection(HDC, int);
6297
6298 WINBOOL
6299 STDCALL
6300 SetMiterLimit(HDC, FLOAT, PFLOAT);
6301
6302 WINBOOL
6303 STDCALL
6304 StrokeAndFillPath(HDC);
6305
6306 WINBOOL
6307 STDCALL
6308 StrokePath(HDC);
6309
6310 WINBOOL
6311 STDCALL
6312 WidenPath(HDC);
6313
6314 HPEN
6315 STDCALL
6316 ExtCreatePen(DWORD, DWORD, CONST LOGBRUSH *, DWORD, CONST DWORD *);
6317
6318 WINBOOL
6319 STDCALL
6320 GetMiterLimit(HDC, PFLOAT);
6321
6322 int
6323 STDCALL
6324 GetArcDirection(HDC);
6325
6326 WINBOOL
6327 STDCALL
6328 MoveToEx(HDC, int, int, LPPOINT);
6329
6330 HRGN
6331 STDCALL
6332 CreatePolygonRgn(CONST POINT *, int, int);
6333
6334 WINBOOL
6335 STDCALL
6336 DPtoLP(HDC, LPPOINT, int);
6337
6338 WINBOOL
6339 STDCALL
6340 LPtoDP(HDC, LPPOINT, int);
6341  
6342 WINBOOL
6343 STDCALL
6344 Polygon(HDC, CONST POINT *, int);
6345
6346 WINBOOL
6347 STDCALL
6348 Polyline(HDC, CONST POINT *, int);
6349
6350 WINBOOL
6351 STDCALL
6352 PolyBezier(HDC, CONST POINT *, DWORD);
6353
6354 WINBOOL
6355 STDCALL
6356 PolyBezierTo(HDC, CONST POINT *, DWORD);
6357
6358 WINBOOL
6359 STDCALL
6360 PolylineTo(HDC, CONST POINT *, DWORD);
6361
6362 WINBOOL
6363 STDCALL
6364 SetViewportExtEx(HDC, int, int, LPSIZE);
6365
6366 WINBOOL
6367 STDCALL
6368 SetViewportOrgEx(HDC, int, int, LPPOINT);
6369
6370 WINBOOL
6371 STDCALL
6372 SetWindowExtEx(HDC, int, int, LPSIZE);
6373
6374 WINBOOL
6375 STDCALL
6376 SetWindowOrgEx(HDC, int, int, LPPOINT);
6377
6378 WINBOOL
6379 STDCALL
6380 OffsetViewportOrgEx(HDC, int, int, LPPOINT);
6381
6382 WINBOOL
6383 STDCALL
6384 OffsetWindowOrgEx(HDC, int, int, LPPOINT);
6385
6386 WINBOOL
6387 STDCALL
6388 ScaleViewportExtEx(HDC, int, int, int, int, LPSIZE);
6389
6390 WINBOOL
6391 STDCALL
6392 ScaleWindowExtEx(HDC, int, int, int, int, LPSIZE);
6393
6394 WINBOOL
6395 STDCALL
6396 SetBitmapDimensionEx(HBITMAP, int, int, LPSIZE);
6397
6398 WINBOOL
6399 STDCALL
6400 SetBrushOrgEx(HDC, int, int, LPPOINT);
6401
6402 WINBOOL
6403 STDCALL
6404 GetDCOrgEx(HDC,LPPOINT);
6405
6406 WINBOOL
6407 STDCALL
6408 FixBrushOrgEx(HDC,int,int,LPPOINT);
6409
6410 WINBOOL
6411 STDCALL
6412 UnrealizeObject(HGDIOBJ);
6413
6414 WINBOOL
6415 STDCALL
6416 GdiFlush(void);
6417
6418 DWORD
6419 STDCALL
6420 GdiSetBatchLimit(DWORD);
6421
6422 DWORD
6423 STDCALL
6424 GdiGetBatchLimit(void);
6425
6426 int
6427 STDCALL
6428 SetICMMode(HDC, int);
6429
6430 WINBOOL
6431 STDCALL
6432 CheckColorsInGamut(HDC,LPVOID,LPVOID,DWORD);
6433
6434 HANDLE
6435 STDCALL
6436 GetColorSpace(HDC);
6437
6438 WINBOOL
6439 STDCALL
6440 SetColorSpace(HDC,HCOLORSPACE);
6441
6442 WINBOOL
6443 STDCALL
6444 DeleteColorSpace(HCOLORSPACE);
6445
6446 WINBOOL
6447 STDCALL
6448 GetDeviceGammaRamp(HDC,LPVOID);
6449
6450 WINBOOL
6451 STDCALL
6452 SetDeviceGammaRamp(HDC,LPVOID);
6453
6454 WINBOOL
6455 STDCALL
6456 ColorMatchToTarget(HDC,HDC,DWORD);
6457
6458 HPROPSHEETPAGE
6459 STDCALL
6460 CreatePropertySheetPageA(LPCPROPSHEETPAGE lppsp);
6461
6462 WINBOOL
6463 STDCALL
6464 DestroyPropertySheetPage(HPROPSHEETPAGE hPSPage);
6465
6466 void
6467 STDCALL
6468 InitCommonControls(void);
6469
6470 #define  ImageList_AddIcon(himl, hicon) ImageList_ReplaceIcon(himl, -1, hicon)
6471
6472 HIMAGELIST
6473 STDCALL
6474 ImageList_Create(int cx, int cy, UINT flags, 
6475                  int cInitial, int cGrow);
6476
6477 WINBOOL
6478 STDCALL
6479 ImageList_Destroy(HIMAGELIST himl);
6480
6481 int
6482 STDCALL
6483 ImageList_GetImageCount(HIMAGELIST himl);
6484
6485 int
6486 STDCALL
6487 ImageList_Add(HIMAGELIST himl, HBITMAP hbmImage, 
6488               HBITMAP hbmMask);
6489
6490 int
6491 STDCALL
6492 ImageList_ReplaceIcon(HIMAGELIST himl, int i, HICON hicon);
6493
6494 COLORREF
6495 STDCALL
6496 ImageList_SetBkColor(HIMAGELIST himl, COLORREF clrBk);
6497
6498 COLORREF
6499 STDCALL
6500 ImageList_GetBkColor(HIMAGELIST himl);
6501
6502 WINBOOL
6503 STDCALL
6504 ImageList_SetOverlayImage(HIMAGELIST himl, int iImage, 
6505                           int iOverlay);
6506
6507 WINBOOL
6508 STDCALL
6509 ImageList_Draw(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, UINT fStyle);
6510
6511 WINBOOL
6512 STDCALL
6513 ImageList_Replace(HIMAGELIST himl, int i, HBITMAP hbmImage, HBITMAP hbmMask);
6514
6515 int
6516 STDCALL
6517 ImageList_AddMasked(HIMAGELIST himl, HBITMAP hbmImage, COLORREF crMask);
6518
6519 WINBOOL
6520 STDCALL
6521 ImageList_DrawEx(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, int dx, int dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle);
6522
6523 WINBOOL
6524 STDCALL
6525 ImageList_Remove(HIMAGELIST himl, int i);
6526
6527 HICON
6528 STDCALL
6529 ImageList_GetIcon(HIMAGELIST himl, int i, UINT flags);
6530
6531 WINBOOL
6532 STDCALL
6533 ImageList_BeginDrag(HIMAGELIST himlTrack, int iTrack, int dxHotspot, int dyHotspot);
6534
6535 void
6536 STDCALL
6537 ImageList_EndDrag(void);
6538
6539 WINBOOL
6540 STDCALL
6541 ImageList_DragEnter(HWND hwndLock, int x, int y);
6542
6543 WINBOOL
6544 STDCALL
6545 ImageList_DragLeave(HWND hwndLock);
6546
6547 WINBOOL
6548 STDCALL
6549 ImageList_DragMove(int x, int y);
6550
6551 WINBOOL
6552 STDCALL
6553 ImageList_SetDragCursorImage(HIMAGELIST himlDrag, int iDrag, int dxHotspot, int dyHotspot);
6554
6555 WINBOOL
6556 STDCALL
6557 ImageList_DragShowNolock(WINBOOL fShow);
6558
6559 HIMAGELIST
6560 STDCALL
6561 ImageList_GetDragImage(POINT * ppt,POINT * pptHotspot);
6562
6563 WINBOOL
6564 STDCALL
6565 ImageList_GetIconSize(HIMAGELIST himl, int *cx, int *cy);
6566
6567 WINBOOL
6568 STDCALL
6569 ImageList_SetIconSize(HIMAGELIST himl, int cx, int cy);
6570
6571 WINBOOL
6572 STDCALL
6573 ImageList_GetImageInfo(HIMAGELIST himl, int i, IMAGEINFO * pImageInfo);
6574
6575 HIMAGELIST
6576 STDCALL
6577 ImageList_Merge(HIMAGELIST himl1, int i1, HIMAGELIST himl2, int i2, int dx, int dy);
6578
6579 HWND
6580 STDCALL
6581 CreateToolbarEx(HWND hwnd, DWORD ws, UINT wID, int nBitmaps,
6582                 HINSTANCE hBMInst, UINT wBMID, LPCTBBUTTON lpButtons,
6583                 int iNumButtons, int dxButton, int dyButton,
6584                 int dxBitmap, int dyBitmap, UINT uStructSize);
6585
6586 HBITMAP
6587 STDCALL
6588 CreateMappedBitmap(HINSTANCE hInstance, int idBitmap,
6589                    UINT wFlags, LPCOLORMAP lpColorMap,
6590                    int iNumMaps);
6591
6592
6593 void
6594 STDCALL
6595 MenuHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, HMENU hMainMenu, HINSTANCE hInst, HWND hwndStatus, UINT *lpwIDs);
6596
6597 WINBOOL
6598 STDCALL
6599 ShowHideMenuCtl(HWND hWnd, UINT uFlags, LPINT lpInfo);
6600
6601 void
6602 STDCALL
6603 GetEffectiveClientRect(HWND hWnd, LPRECT lprc, LPINT lpInfo);
6604
6605 WINBOOL
6606 STDCALL
6607 MakeDragList(HWND hLB);
6608
6609 void
6610 STDCALL
6611 DrawInsert(HWND handParent, HWND hLB, int nItem);
6612
6613 int
6614 STDCALL
6615 LBItemFromPt(HWND hLB, POINT pt, WINBOOL bAutoScroll);
6616
6617 HWND
6618 STDCALL
6619 CreateUpDownControl(DWORD dwStyle, int x, int y, int cx, int cy,
6620                     HWND hParent, int nID, HINSTANCE hInst,
6621                     HWND hBuddy,
6622                     int nUpper, int nLower, int nPos);
6623
6624 DWORD
6625 STDCALL
6626 CommDlgExtendedError(VOID);
6627
6628 /* Animation controls */
6629
6630 #define Animate_Create(hwndP, id, dwStyle, hInstance)   CreateWindow(ANIMATE_CLASS, NULL, dwStyle, 0, 0, 0, 0, hwndP, (HMENU)(id), hInstance, NULL)
6631
6632 #define Animate_Open(hwnd, szName) SendMessage(hwnd, ACM_OPEN, 0, (LPARAM)(LPTSTR)(szName))
6633
6634 #define Animate_Play(hwnd, from, to, rep) SendMessage(hwnd, ACM_PLAY, (WPARAM)(UINT)(rep), (LPARAM)MAKELONG(from, to))
6635
6636 #define Animate_Stop(hwnd) SendMessage(hwnd, ACM_STOP, 0, 0)
6637
6638 #define Animate_Close(hwnd) Animate_Open(hwnd, NULL)
6639
6640 #define Animate_Seek(hwnd, frame) Animate_Play(hwnd, frame, frame, 1)
6641
6642 /* Property sheet macros */
6643
6644 #define PropSheet_AddPage(hPropSheetDlg, hpage) SendMessage(hPropSheetDlg, PSM_ADDPAGE, 0, (LPARAM)(HPROPSHEETPAGE)hpage)
6645
6646 #define PropSheet_Apply(hPropSheetDlg) SendMessage(hPropSheetDlg, PSM_APPLY, 0, 0)
6647
6648 #define PropSheet_CancelToClose(hPropSheetDlg) SendMessage(hPropSheetDlg, PSM_CANCELTOCLOSE, 0, 0)
6649
6650 #define PropSheet_Changed(hPropSheetDlg, hwndPage) SendMessage(hPropSheetDlg, PSM_CHANGED, (WPARAM)(HWND)hwndPage, 0)
6651
6652 #define PropSheet_GetCurrentPageHwnd(hDlg) SendMessage(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0)
6653
6654 #define PropSheet_GetTabControl(hPropSheetDlg) SendMessage(hPropSheetDlg, PSM_GETTABCONTROL, 0, 0)
6655
6656 #define PropSheet_IsDialogMessage(hDlg, pMsg) SendMessage(hDlg, PSM_ISDIALOGMESSAGE, 0, (LPARAM)pMsg)
6657
6658 #define PropSheet_PressButton(hPropSheetDlg, iButton) SendMessage(hPropSheetDlg, PSM_PRESSBUTTON, (WPARAM)(int)iButton, 0)
6659
6660 #define PropSheet_QuerySiblings(hPropSheetDlg, param1, param2) SendMessage(hPropSheetDlg, PSM_QUERYSIBLINGS, (WPARAM)param1, (LPARAM)param2)
6661
6662 #define PropSheet_RebootSystem(hPropSheetDlg) SendMessage(hPropSheetDlg, PSM_REBOOTSYSTEM, 0, 0)
6663
6664 #define PropSheet_RemovePage(hPropSheetDlg, index, hpage) SendMessage(hPropSheetDlg, PSM_REMOVEPAGE, (WPARAM)(int)index, (LPARAM)(HPROPSHEETPAGE)hpage)
6665
6666 #define PropSheet_RestartWindows(hPropSheetDlg) SendMessage(hPropSheetDlg, PSM_RESTARTWINDOWS, 0, 0)
6667
6668 #define PropSheet_SetCurSel(hPropSheetDlg, hpage, index) SendMessage(hPropSheetDlg, PSM_SETCURSEL, (WPARAM)(int)index, (LPARAM)(HPROPSHEETPAGE)hpage)
6669
6670 #define PropSheet_SetCurSelByID(hPropSheetDlg, id) SendMessage(hPropSheetDlg, PSM_SETCURSELID, 0, (LPARAM)(int)id)
6671
6672 #define PropSheet_SetFinishText(hPropSheetDlg, lpszText) SendMessage(hPropSheetDlg, PSM_SETFINISHTEXT, 0, (LPARAM)(LPTSTR)lpszText)
6673
6674 #define PropSheet_SetTitle(hPropSheetDlg, dwStyle, lpszText) SendMessage(hPropSheetDlg, PSM_SETTITLE, (WPARAM)(DWORD)dwStyle, (LPARAM)(LPCTSTR)lpszText)
6675
6676 #define PropSheet_SetWizButtons(hPropSheetDlg, dwFlags) SendMessage(hPropSheetDlg, PSM_SETWIZBUTTONS, 0, (LPARAM)(DWORD)dwFlags)
6677
6678 #define PropSheet_UnChanged(hPropSheetDlg, hwndPage) SendMessage(hPropSheetDlg, PSM_UNCHANGED, (WPARAM)(HWND)hwndPage, 0)
6679
6680 /* Header control */
6681 #define Header_DeleteItem(hwndHD, index)     (BOOL)SendMessage((hwndHD), HDM_DELETEITEM, (WPARAM)(int)(index), 0L)  
6682
6683 #define Header_GetItem(hwndHD, index, phdi)      (BOOL)SendMessage((hwndHD), HDM_GETITEM,   (WPARAM)(int)(index), (LPARAM)(HD_ITEM FAR*)(phdi))
6684  
6685 #define Header_GetItemCount(hwndHD)   (int)SendMessage((hwndHD), HDM_GETITEMCOUNT, 0, 0L)
6686
6687 #define Header_InsertItem(hwndHD, index, phdi) (int)SendMessage((hwndHD), HDM_INSERTITEM, (WPARAM)(int)(index), (LPARAM)(const HD_ITEM FAR*)(phdi))
6688   
6689 #define Header_Layout(hwndHD, playout) (BOOL)SendMessage((hwndHD), HDM_LAYOUT, 0, (LPARAM)(HD_LAYOUT FAR*)(playout))
6690   
6691 #define Header_SetItem(hwndHD, index, phdi) (BOOL)SendMessage((hwndHD), HDM_SETITEM,  (WPARAM)(int)(index), (LPARAM)(const HD_ITEM FAR*)(phdi))
6692
6693 /* List View */
6694 #define ListView_Arrange(hwndLV, code) SendMessage((hwndLV), LVM_ARRANGE, (WPARAM)(UINT)(code), 0)
6695
6696 #define ListView_CreateDragImage(hwnd, i, lpptUpLeft) SendMessage((hwnd), LVM_CREATEDRAGIMAGE, (WPARAM)(int)(i), (LPARAM)(LPPOINT)(lpptUpLeft))
6697
6698 #define ListView_DeleteAllItems(hwnd) SendMessage(hwnd, LVM_DELETEALLITEMS, 0, 0)
6699
6700 #define ListView_DeleteColumn(hwnd, iCol) SendMessage((hwnd), LVM_DELETECOLUMN, (WPARAM)(int)(iCol), 0)
6701
6702 #define ListView_DeleteItem(hwnd, iItem) SendMessage(hwnd, LVM_DELETEITEM, (WPARAM)(int)iItem, 0)
6703
6704 #define ListView_EditLabel(hwndLV, i) SendMessage((hwndLV), LVM_EDITLABEL, (WPARAM)(int)i, 0)
6705
6706 #define ListView_EnsureVisible(hwndLV, i, fPartialOK) SendMessage(hwndLV, LVM_ENSUREVISIBLE, (WPARAM)(int)i, MAKELPARAM((fPartialOK), 0))
6707
6708 #define ListView_FindItem(hwnd, iStart, plvfi) SendMessage(hwnd, LVM_FINDITEM, (WPARAM)(int)iStart, (LPARAM)(const LV_FINDINFO *)plvfi)
6709
6710 #define ListView_GetBkColor(hwnd) SendMessage((HWND)hwnd, LVM_GETBKCOLOR, 0, 0)
6711
6712 #define ListView_GetCallbackMask(hwnd) SendMessage(hwnd, LVM_GETCALLBACKMASK, 0, 0)
6713
6714 #define ListView_GetColumn(hwnd, iCol, pcol) SendMessage((hwnd), LVM_GETCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(LV_COLUMN *)(pcol))
6715
6716 #define ListView_GetColumnWidth(hwnd, iCol) SendMessage((hwnd), LVM_GETCOLUMNWIDTH, (WPARAM)(int)(iCol), 0)
6717
6718 #define ListView_GetCountPerPage(hwndLV) SendMessage((hwndLV), LVM_GETCOUNTPERPAGE, 0, 0)
6719
6720 #define ListView_GetEditControl(hwndLV) SendMessage((hwndLV), LVM_GETEDITCONTROL, 0, 0)
6721
6722 #define ListView_GetImageList(hwnd, iImageList) SendMessage(hwnd, LVM_GETIMAGELIST, (WPARAM)(INT)iImageList, 0)
6723
6724 #define ListView_GetISearchString(hwndLV, lpsz) SendMessage((hwndLV), LVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)lpsz)
6725
6726 #define ListView_GetItem(hwnd, pitem) SendMessage(hwnd, LVM_GETITEM, 0, (LPARAM)(LV_ITEM *)(pitem))
6727
6728 #define ListView_GetItemCount(hwnd) SendMessage(hwnd, LVM_GETITEMCOUNT, 0, 0)
6729
6730 #define ListView_GetItemPosition(hwndLV, i, ppt) SendMessage(hwndLV, LVM_GETITEMPOSITION, (WPARAM)(int)i, (LPARAM)(POINT *)ppt)
6731
6732 #define ListView_GetItemRect(hwnd, i, prc, code) SendMessage(hwnd, LVM_GETITEMRECT, (WPARAM)(int)i, ((prc) ? (((RECT *)(prc))->left = (code), (LPARAM)(RECT *)(prc)) : (LPARAM)(RECT *)NULL))
6733
6734 #define ListView_GetItemSpacing(hwndLV, fSmall) SendMessage((hwndLV), LVM_GETITEMSPACING, fSmall, 0)
6735
6736 #define ListView_GetItemState(hwndLV, i, mask) SendMessage((hwndLV), LVM_GETITEMSTATE, (WPARAM)i, (LPARAM)mask)
6737
6738 #define ListView_GetItemText(hwndLV, i, iSubItem_, pszText_, cchTextMax_) { LV_ITEM _gnu_lvi;_gnu_lvi.iSubItem = iSubItem_;_gnu_lvi.cchTextMax = cchTextMax_;_gnu_lvi.pszText = pszText_;SendMessage((hwndLV), LVM_GETITEMTEXT, (WPARAM)i, (LPARAM)(LV_ITEM *)&_gnu_lvi);}
6739
6740 #define ListView_GetNextItem(hwnd, iStart, flags) SendMessage(hwnd, LVM_GETNEXTITEM, (WPARAM)(int)iStart, (LPARAM)flags)
6741
6742 #define ListView_GetOrigin(hwndLV, ppt) SendMessage((hwndLV), LVM_GETORIGIN, (WPARAM)0, (LPARAM)(POINT *)(ppt))
6743
6744 #define ListView_GetSelectedCount(hwndLV) SendMessage((hwndLV), LVM_GETSELECTEDCOUNT, 0, 0)
6745
6746 #define ListView_GetStringWidth(hwndLV, psz) SendMessage(hwndLV, LVM_GETSTRINGWIDTH, 0, (LPARAM)(LPCTSTR)psz)
6747
6748 #define ListView_GetTextBkColor(hwnd)  SendMessage((hwnd), LVM_GETTEXTBKCOLOR, 0, 0)
6749
6750 #define ListView_GetTextColor(hwnd)  SendMessage((hwnd), LVM_GETTEXTCOLOR, 0, 0)
6751
6752 #define ListView_GetTopIndex(hwndLV) SendMessage((hwndLV), LVM_GETTOPINDEX, 0, 0)
6753
6754 #define ListView_GetViewRect(hwnd, prc) SendMessage((hwnd), LVM_GETVIEWRECT, 0, (LPARAM)(RECT *)(prc))
6755
6756 #define ListView_HitTest(hwndLV, pinfo) SendMessage(hwndLV, LVM_HITTEST, 0, (LPARAM)(LV_HITTESTINFO *)pinfo)
6757
6758 #define ListView_InsertColumn(hwnd, iCol, pcol) SendMessage((hwnd), LVM_INSERTCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol))
6759
6760 #define ListView_InsertItem(hwnd, pitem) SendMessage(hwnd, LVM_INSERTITEM, 0, (LPARAM)(const LV_ITEM *)pitem)
6761
6762 #define ListView_RedrawItems(hwndLV, iFirst, iLast) SendMessage((hwndLV), LVM_REDRAWITEMS, (WPARAM)(int)iFirst, (LPARAM)(int)iLast)
6763
6764 #define ListView_Scroll(hwndLV, dx, dy) SendMessage((hwndLV), LVM_SCROLL, (WPARAM)(int)dx, (LPARAM)(int)dy)
6765
6766 #define ListView_SetBkColor(hwnd, clrBk) SendMessage(hwnd, LVM_SETBKCOLOR, 0, (LPARAM)(COLORREF)clrBk)
6767
6768 #define ListView_SetCallbackMask(hwnd, mask) SendMessage(hwnd, LVM_SETCALLBACKMASK, (WPARAM)(UINT)(mask), 0)
6769
6770 #define ListView_SetColumn(hwnd, iCol, pcol) SendMessage((hwnd), LVM_SETCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol))
6771
6772 #define ListView_SetColumnWidth(hwnd, iCol, cx) SendMessage((hwnd), LVM_SETCOLUMNWIDTH, (WPARAM)(int)(iCol),  MAKELPARAM((cx), 0))
6773
6774
6775 #define ListView_SetImageList(hwnd, himl, iImageList) SendMessage(hwnd, LVM_SETIMAGELIST, (WPARAM)(iImageList),             (LPARAM)(UINT)(HIMAGELIST)(himl))
6776
6777 #define ListView_SetItem(hwnd, pitem) SendMessage(hwnd, LVM_SETITEM, 0, (LPARAM)(const LV_ITEM *)pitem)
6778
6779 #define ListView_SetItemCount(hwndLV, cItems) SendMessage((hwndLV), LVM_SETITEMCOUNT, (WPARAM)cItems, 0)
6780
6781 #define ListView_SetItemPosition(hwndLV, i, x, y) SendMessage(hwndLV, LVM_SETITEMPOSITION, (WPARAM)(int)(i),        MAKELPARAM((x), (y)))
6782
6783 #define ListView_SetItemPosition32(hwndLV, i, x, y) { POINT ptNewPos = {x,y};     SendMessage((hwndLV), LVM_SETITEMPOSITION32, (WPARAM)(int)(i),                (LPARAM)&ptNewPos); }
6784
6785 #define ListView_SetItemState(hwndLV, i, data, mask) { LV_ITEM _gnu_lvi;  _gnu_lvi.stateMask = mask;  _gnu_lvi.state = data;  SendMessage((hwndLV), LVM_SETITEMSTATE, (WPARAM)i,              (LPARAM)(LV_ITEM *)&_gnu_lvi);}
6786
6787 #define ListView_SetItemText(hwndLV, i, iSubItem_, pszText_) { LV_ITEM _gnu_lvi;  _gnu_lvi.iSubItem = iSubItem_;  _gnu_lvi.pszText = pszText_;  SendMessage((hwndLV), LVM_SETITEMTEXT, (WPARAM)i,             (LPARAM)(LV_ITEM *)&_gnu_lvi);}
6788
6789 #define ListView_SetTextBkColor(hwnd, clrTextBk) SendMessage((hwnd), LVM_SETTEXTBKCOLOR, 0, (LPARAM)(COLORREF)(clrTextBk))
6790
6791 #define ListView_SetTextColor(hwnd, clrText) SendMessage((hwnd), LVM_SETTEXTCOLOR, 0, (LPARAM)(COLORREF)(clrText))
6792
6793 #define ListView_SortItems(hwndLV, _pfnCompare, _lPrm) SendMessage((hwndLV), LVM_SORTITEMS, (WPARAM)(LPARAM)_lPrm,          (LPARAM)(PFNLVCOMPARE)_pfnCompare)
6794
6795 #define ListView_Update(hwndLV, i) SendMessage((hwndLV), LVM_UPDATE, (WPARAM)i, 0)
6796
6797 /* Tree View */
6798 #define TreeView_InsertItem(hwnd, lpis) SendMessage((hwnd), TVM_INSERTITEM, 0, (LPARAM)(LPTV_INSERTSTRUCT)(lpis))
6799
6800 #define TreeView_DeleteItem(hwnd, hitem) SendMessage((hwnd), TVM_DELETEITEM, 0, (LPARAM)(HTREEITEM)(hitem))
6801
6802 #define TreeView_DeleteAllItems(hwnd) SendMessage((hwnd), TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT)
6803
6804 #define TreeView_Expand(hwnd, hitem, code) SendMessage((hwnd), TVM_EXPAND, (WPARAM)code, (LPARAM)(HTREEITEM)(hitem))
6805
6806 #define TreeView_GetItemRect(hwnd, hitem, prc, code) SendMessage((hwnd), TVM_GETITEMRECT, (WPARAM)(code), (LPARAM)(RECT *)(prc)))
6807
6808 #define TreeView_GetCount(hwnd) SendMessage((hwnd), TVM_GETCOUNT, 0, 0)
6809
6810 #define TreeView_GetIndent(hwnd) SendMessage((hwnd), TVM_GETINDENT, 0, 0)
6811
6812 #define TreeView_SetIndent(hwnd, indent) SendMessage((hwnd), TVM_SETINDENT, (WPARAM)indent, 0)
6813
6814 #define TreeView_GetImageList(hwnd, iImage) SendMessage((hwnd), TVM_GETIMAGELIST, iImage, 0)
6815
6816 #define TreeView_SetImageList(hwnd, himl, iImage) SendMessage((hwnd), TVM_SETIMAGELIST, iImage, (LPARAM)(UINT)(HIMAGELIST)(himl))
6817
6818 #define TreeView_GetNextItem(hwnd, hitem, code) SendMessage((hwnd), TVM_GETNEXTITEM, (WPARAM)code, (LPARAM)(HTREEITEM)(hitem))
6819
6820 #define TreeView_GetChild(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_CHILD)
6821
6822 #define TreeView_GetNextSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_NEXT)
6823
6824 #define TreeView_GetPrevSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUS)
6825
6826 #define TreeView_GetParent(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PARENT)
6827
6828 #define TreeView_GetFirstVisible(hwnd) TreeView_GetNextItem(hwnd, NULL,  TVGN_FIRSTVISIBLE)
6829
6830 #define TreeView_GetNextVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_NEXTVISIBLE)
6831
6832 #define TreeView_GetPrevVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUSVISIBLE)
6833
6834 #define TreeView_GetSelection(hwnd) TreeView_GetNextItem(hwnd, NULL,  TVGN_CARET)
6835
6836 #define TreeView_GetDropHilight(hwnd) TreeView_GetNextItem(hwnd, NULL,  TVGN_DROPHILITE)
6837
6838 #define TreeView_GetRoot(hwnd) TreeView_GetNextItem(hwnd, NULL,  TVGN_ROOT)
6839
6840 #define TreeView_Select(hwnd, hitem, code) SendMessage((hwnd), TVM_SELECTITEM, (WPARAM)code, (LPARAM)(HTREEITEM)(hitem))
6841
6842
6843 #define TreeView_SelectItem(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_CARET)
6844
6845 #define TreeView_SelectDropTarget(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_DROPHILITE)
6846
6847 #define TreeView_SelectSetFirstVisible(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_FIRSTVISIBLE)
6848
6849 #define TreeView_GetItem(hwnd, pitem) SendMessage((hwnd), TVM_GETITEM, 0, (LPARAM)(TV_ITEM *)(pitem))
6850
6851 #define TreeView_SetItem(hwnd, pitem) SendMessage((hwnd), TVM_SETITEM, 0, (LPARAM)(const TV_ITEM *)(pitem))
6852
6853 #define TreeView_EditLabel(hwnd, hitem) SendMessage((hwnd), TVM_EDITLABEL, 0, (LPARAM)(HTREEITEM)(hitem))
6854
6855 #define TreeView_GetEditControl(hwnd) SendMessage((hwnd), TVM_GETEDITCONTROL, 0, 0)
6856
6857 #define TreeView_GetVisibleCount(hwnd) SendMessage((hwnd), TVM_GETVISIBLECOUNT, 0, 0)
6858
6859 #define TreeView_HitTest(hwnd, lpht) SendMessage((hwnd), TVM_HITTEST, 0, (LPARAM)(LPTV_HITTESTINFO)(lpht))
6860
6861 #define TreeView_CreateDragImage(hwnd, hitem) SendMessage((hwnd), TVM_CREATEDRAGIMAGE, 0, (LPARAM)(HTREEITEM)(hitem))
6862
6863 #define TreeView_SortChildren(hwnd, hitem, recurse) SendMessage((hwnd), TVM_SORTCHILDREN, (WPARAM)recurse,             (LPARAM)(HTREEITEM)(hitem))
6864
6865 #define TreeView_EnsureVisible(hwnd, hitem) SendMessage((hwnd), TVM_ENSUREVISIBLE, 0, (LPARAM)(HTREEITEM)(hitem))
6866
6867 #define TreeView_SortChildrenCB(hwnd, psort, recurse) SendMessage((hwnd), TVM_SORTCHILDRENCB, (WPARAM)recurse,             (LPARAM)(LPTV_SORTCB)(psort))
6868
6869 #define TreeView_EndEditLabelNow(hwnd, fCancel) SendMessage((hwnd), TVM_ENDEDITLABELNOW, (WPARAM)fCancel, 0)
6870
6871 #define TreeView_GetISearchString(hwndTV, lpsz) SendMessage((hwndTV), TVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)lpsz)
6872
6873
6874 /* Tab control */
6875 #define TabCtrl_GetImageList(hwnd) SendMessage((hwnd), TCM_GETIMAGELIST, 0, 0)
6876
6877 #define TabCtrl_SetImageList(hwnd, himl) SendMessage((hwnd), TCM_SETIMAGELIST, 0, (LPARAM)(UINT)(HIMAGELIST)(himl))
6878
6879 #define TabCtrl_GetItemCount(hwnd) SendMessage((hwnd), TCM_GETITEMCOUNT, 0, 0)
6880
6881 #define TabCtrl_GetItem(hwnd, iItem, pitem) SendMessage((hwnd), TCM_GETITEM, (WPARAM)(int)iItem,             (LPARAM)(TC_ITEM *)(pitem))
6882
6883 #define TabCtrl_SetItem(hwnd, iItem, pitem) SendMessage((hwnd), TCM_SETITEM, (WPARAM)(int)iItem,             (LPARAM)(TC_ITEM *)(pitem))
6884
6885 #define TabCtrl_InsertItem(hwnd, iItem, pitem)   SendMessage((hwnd), TCM_INSERTITEM, (WPARAM)(int)iItem,             (LPARAM)(const TC_ITEM *)(pitem))
6886
6887 #define TabCtrl_DeleteItem(hwnd, i) SendMessage((hwnd), TCM_DELETEITEM, (WPARAM)(int)(i), 0)
6888
6889 #define TabCtrl_DeleteAllItems(hwnd) SendMessage((hwnd), TCM_DELETEALLITEMS, 0, 0)
6890
6891 #define TabCtrl_GetItemRect(hwnd, i, prc) SendMessage((hwnd), TCM_GETITEMRECT, (WPARAM)(int)(i), (LPARAM)(RECT *)(prc))
6892
6893 #define TabCtrl_GetCurSel(hwnd) SendMessage((hwnd), TCM_GETCURSEL, 0, 0)
6894
6895 #define TabCtrl_SetCurSel(hwnd, i) SendMessage((hwnd), TCM_SETCURSEL, (WPARAM)i, 0)
6896
6897 #define TabCtrl_HitTest(hwndTC, pinfo) SendMessage((hwndTC), TCM_HITTEST, 0, (LPARAM)(TC_HITTESTINFO *)(pinfo))
6898
6899 #define TabCtrl_SetItemExtra(hwndTC, cb) SendMessage((hwndTC), TCM_SETITEMEXTRA, (WPARAM)(cb), 0)
6900
6901 #define TabCtrl_AdjustRect(hwnd, bLarger, prc) SendMessage(hwnd, TCM_ADJUSTRECT, (WPARAM)(WINBOOL)bLarger,             (LPARAM)(RECT *)prc)
6902
6903 #define TabCtrl_SetItemSize(hwnd, x, y) SendMessage((hwnd), TCM_SETITEMSIZE, 0, MAKELPARAM(x,y))
6904
6905 #define TabCtrl_RemoveImage(hwnd, i) SendMessage((hwnd), TCM_REMOVEIMAGE, i, 0)
6906
6907 #define TabCtrl_SetPadding(hwnd,  cx, cy) SendMessage((hwnd), TCM_SETPADDING, 0, MAKELPARAM(cx, cy))
6908
6909 #define TabCtrl_GetRowCount(hwnd) SendMessage((hwnd), TCM_GETROWCOUNT, 0, 0)
6910
6911 #define TabCtrl_GetToolTips(hwnd) SendMessage((hwnd), TCM_GETTOOLTIPS, 0, 0)
6912
6913 #define TabCtrl_SetToolTips(hwnd, hwndTT) SendMessage((hwnd), TCM_SETTOOLTIPS, (WPARAM)hwndTT, 0)
6914
6915 #define TabCtrl_GetCurFocus(hwnd) SendMessage((hwnd), TCM_GETCURFOCUS, 0, 0)
6916
6917 #define TabCtrl_SetCurFocus(hwnd, i) SendMessage((hwnd),TCM_SETCURFOCUS, i, 0)
6918
6919 #define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
6920
6921 #define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
6922
6923 #ifdef UNICODE
6924 #define CommDlg_OpenSave_GetSpec  CommDlg_OpenSave_GetSpecW
6925 #else
6926 #define CommDlg_OpenSave_GetSpec  CommDlg_OpenSave_GetSpecA
6927 #endif /* !UNICODE */
6928
6929 #define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
6930
6931 #define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
6932
6933 #ifdef UNICODE
6934 #define CommDlg_OpenSave_GetFilePath  CommDlg_OpenSave_GetFilePathW
6935 #else
6936 #define CommDlg_OpenSave_GetFilePath  CommDlg_OpenSave_GetFilePathA
6937 #endif /* !UNICODE */
6938
6939 #define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz)
6940
6941 #define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz)
6942
6943 #ifdef UNICODE
6944 #define CommDlg_OpenSave_GetFolderPath  CommDlg_OpenSave_GetFolderPathW
6945 #else
6946 #define CommDlg_OpenSave_GetFolderPath  CommDlg_OpenSave_GetFolderPathA
6947 #endif /* !UNICODE */
6948
6949 #define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl)
6950
6951 #define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text)
6952
6953 #define CommDlg_OpenSave_HideControl(_hdlg, _id) SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0)
6954
6955 #define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
6956
6957 LONG
6958 STDCALL
6959 RegCloseKey (
6960     HKEY hKey
6961     );
6962
6963 LONG
6964 STDCALL
6965 RegSetKeySecurity (
6966     HKEY hKey,
6967     SECURITY_INFORMATION SecurityInformation,
6968     PSECURITY_DESCRIPTOR pSecurityDescriptor
6969     );
6970
6971 LONG
6972 STDCALL
6973 RegFlushKey (
6974     HKEY hKey
6975     );
6976
6977 LONG
6978 STDCALL
6979 RegGetKeySecurity (
6980     HKEY hKey,
6981     SECURITY_INFORMATION SecurityInformation,
6982     PSECURITY_DESCRIPTOR pSecurityDescriptor,
6983     LPDWORD lpcbSecurityDescriptor
6984     );
6985
6986 LONG
6987 STDCALL
6988 RegNotifyChangeKeyValue (
6989     HKEY hKey,
6990     WINBOOL bWatchSubtree,
6991     DWORD dwNotifyFilter,
6992     HANDLE hEvent,
6993     WINBOOL fAsynchronus
6994     );
6995
6996 WINBOOL
6997 STDCALL
6998 IsValidCodePage(
6999     UINT  CodePage);
7000
7001
7002 UINT
7003 STDCALL
7004 GetACP(void);
7005
7006
7007 UINT
7008 STDCALL
7009 GetOEMCP(void);
7010
7011
7012 WINBOOL
7013 STDCALL
7014 GetCPInfo(UINT, LPCPINFO);
7015
7016
7017 WINBOOL
7018 STDCALL
7019 IsDBCSLeadByte(
7020     BYTE  TestChar);
7021
7022
7023 WINBOOL
7024 STDCALL
7025 IsDBCSLeadByteEx(
7026     UINT  CodePage,
7027     BYTE  TestChar);
7028
7029
7030 int
7031 STDCALL
7032 MultiByteToWideChar(
7033     UINT     CodePage,
7034     DWORD    dwFlags,
7035     LPCSTR   lpMultiByteStr,
7036     int      cchMultiByte,
7037     LPWSTR   lpWideCharStr,
7038     int      cchWideChar);
7039
7040
7041 int
7042 STDCALL
7043 WideCharToMultiByte(
7044     UINT     CodePage,
7045     DWORD    dwFlags,
7046     LPCWSTR  lpWideCharStr,
7047     int      cchWideChar,
7048     LPSTR    lpMultiByteStr,
7049     int      cchMultiByte,
7050     LPCSTR   lpDefaultChar,
7051     LPBOOL   lpUsedDefaultChar);
7052
7053 WINBOOL
7054 STDCALL
7055 IsValidLocale(
7056     LCID   Locale,
7057     DWORD  dwFlags);
7058
7059
7060 LCID
7061 STDCALL
7062 ConvertDefaultLocale(
7063     LCID   Locale);
7064
7065
7066 LCID
7067 STDCALL
7068 GetThreadLocale(void);
7069
7070
7071 WINBOOL
7072 STDCALL
7073 SetThreadLocale(
7074     LCID  Locale
7075     );
7076
7077
7078 LANGID
7079 STDCALL
7080 GetSystemDefaultLangID(void);
7081
7082
7083 LANGID
7084 STDCALL
7085 GetUserDefaultLangID(void);
7086
7087
7088 LCID
7089 STDCALL
7090 GetSystemDefaultLCID(void);
7091
7092
7093 LCID
7094 STDCALL
7095 GetUserDefaultLCID(void);
7096
7097
7098 WINBOOL
7099 STDCALL
7100 ReadConsoleOutputAttribute(
7101     HANDLE hConsoleOutput,
7102     LPWORD lpAttribute,
7103     DWORD nLength,
7104     COORD dwReadCoord,
7105     LPDWORD lpNumberOfAttrsRead
7106     );
7107
7108
7109 WINBOOL
7110 STDCALL
7111 WriteConsoleOutputAttribute(
7112     HANDLE hConsoleOutput,
7113     CONST WORD *lpAttribute,
7114     DWORD nLength,
7115     COORD dwWriteCoord,
7116     LPDWORD lpNumberOfAttrsWritten
7117     );
7118
7119
7120 WINBOOL
7121 STDCALL
7122 FillConsoleOutputAttribute(
7123     HANDLE hConsoleOutput,
7124     WORD   wAttribute,
7125     DWORD  nLength,
7126     COORD  dwWriteCoord,
7127     LPDWORD lpNumberOfAttrsWritten
7128     );
7129
7130
7131 WINBOOL
7132 STDCALL
7133 GetConsoleMode(
7134     HANDLE hConsoleHandle,
7135     LPDWORD lpMode
7136     );
7137
7138
7139 WINBOOL
7140 STDCALL
7141 GetNumberOfConsoleInputEvents(
7142     HANDLE hConsoleInput,
7143     LPDWORD lpNumberOfEvents
7144     );
7145
7146
7147 WINBOOL
7148 STDCALL
7149 GetConsoleScreenBufferInfo(
7150     HANDLE hConsoleOutput,
7151     PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo
7152     );
7153
7154
7155 COORD
7156 STDCALL
7157 GetLargestConsoleWindowSize(
7158     HANDLE hConsoleOutput
7159     );
7160
7161
7162 WINBOOL
7163 STDCALL
7164 GetConsoleCursorInfo(
7165     HANDLE hConsoleOutput,
7166     PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
7167     );
7168
7169
7170 WINBOOL
7171 STDCALL
7172 GetNumberOfConsoleMouseButtons(
7173     LPDWORD lpNumberOfMouseButtons
7174     );
7175
7176
7177 WINBOOL
7178 STDCALL
7179 SetConsoleMode(
7180     HANDLE hConsoleHandle,
7181     DWORD dwMode
7182     );
7183
7184
7185 WINBOOL
7186 STDCALL
7187 SetConsoleActiveScreenBuffer(
7188     HANDLE hConsoleOutput
7189     );
7190
7191
7192 WINBOOL
7193 STDCALL
7194 FlushConsoleInputBuffer(
7195     HANDLE hConsoleInput
7196     );
7197
7198
7199 WINBOOL
7200 STDCALL
7201 SetConsoleScreenBufferSize(
7202     HANDLE hConsoleOutput,
7203     COORD dwSize
7204     );
7205
7206
7207 WINBOOL
7208 STDCALL
7209 SetConsoleCursorPosition(
7210     HANDLE hConsoleOutput,
7211     COORD dwCursorPosition
7212     );
7213
7214
7215 WINBOOL
7216 STDCALL
7217 SetConsoleCursorInfo(
7218     HANDLE hConsoleOutput,
7219     CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo
7220     );
7221
7222 WINBOOL
7223 STDCALL
7224 SetConsoleWindowInfo(
7225     HANDLE hConsoleOutput,
7226     WINBOOL bAbsolute,
7227     CONST SMALL_RECT *lpConsoleWindow
7228     );
7229
7230
7231 WINBOOL
7232 STDCALL
7233 SetConsoleTextAttribute(
7234     HANDLE hConsoleOutput,
7235     WORD wAttributes
7236     );
7237
7238
7239 WINBOOL
7240 STDCALL
7241 SetConsoleCtrlHandler(
7242     PHANDLER_ROUTINE HandlerRoutine,
7243     WINBOOL Add
7244     );
7245
7246
7247 WINBOOL
7248 STDCALL
7249 GenerateConsoleCtrlEvent(
7250     DWORD dwCtrlEvent,
7251     DWORD dwProcessGroupId
7252     );
7253
7254
7255 WINBOOL
7256 STDCALL
7257 AllocConsole( VOID );
7258
7259
7260 WINBOOL
7261 STDCALL
7262 FreeConsole( VOID );
7263
7264
7265
7266 HANDLE
7267 STDCALL
7268 CreateConsoleScreenBuffer(
7269     DWORD dwDesiredAccess,
7270     DWORD dwShareMode,
7271     CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,
7272     DWORD dwFlags,
7273     LPVOID lpScreenBufferData
7274     );
7275
7276
7277 UINT
7278 STDCALL
7279 GetConsoleCP( VOID );
7280
7281
7282 WINBOOL
7283 STDCALL
7284 SetConsoleCP(
7285     UINT wCodePageID
7286     );
7287
7288
7289 UINT
7290 STDCALL
7291 GetConsoleOutputCP( VOID );
7292
7293
7294 WINBOOL
7295 STDCALL
7296 SetConsoleOutputCP(
7297     UINT wCodePageID
7298     );
7299
7300 DWORD STDCALL
7301 WNetConnectionDialog(
7302     HWND  hwnd,
7303     DWORD dwType
7304     );
7305
7306 DWORD STDCALL
7307 WNetDisconnectDialog(
7308     HWND  hwnd,
7309     DWORD dwType
7310     );
7311
7312 DWORD STDCALL
7313 WNetCloseEnum(
7314     HANDLE   hEnum
7315     );
7316
7317 WINBOOL
7318 STDCALL
7319 CloseServiceHandle(
7320     SC_HANDLE   hSCObject
7321     );
7322
7323
7324 WINBOOL
7325 STDCALL
7326 ControlService(
7327     SC_HANDLE           hService,
7328     DWORD               dwControl,
7329     LPSERVICE_STATUS    lpServiceStatus
7330     );
7331
7332 WINBOOL
7333 STDCALL
7334 DeleteService(
7335     SC_HANDLE   hService
7336     );
7337
7338 SC_LOCK
7339 STDCALL
7340 LockServiceDatabase(
7341     SC_HANDLE   hSCManager
7342     );
7343
7344
7345 WINBOOL
7346 STDCALL
7347 NotifyBootConfigStatus(
7348     WINBOOL     BootAcceptable
7349     );
7350
7351 WINBOOL
7352 STDCALL
7353 QueryServiceObjectSecurity(
7354     SC_HANDLE               hService,
7355     SECURITY_INFORMATION    dwSecurityInformation,
7356     PSECURITY_DESCRIPTOR    lpSecurityDescriptor,
7357     DWORD                   cbBufSize,
7358     LPDWORD                 pcbBytesNeeded
7359     );
7360
7361
7362 WINBOOL
7363 STDCALL
7364 QueryServiceStatus(
7365     SC_HANDLE           hService,
7366     LPSERVICE_STATUS    lpServiceStatus
7367     );
7368
7369 WINBOOL
7370 STDCALL
7371 SetServiceObjectSecurity(
7372     SC_HANDLE               hService,
7373     SECURITY_INFORMATION    dwSecurityInformation,
7374     PSECURITY_DESCRIPTOR    lpSecurityDescriptor
7375     );
7376
7377
7378 WINBOOL
7379 STDCALL
7380 SetServiceStatus(
7381     SERVICE_STATUS_HANDLE   hServiceStatus,
7382     LPSERVICE_STATUS        lpServiceStatus
7383     );
7384
7385 WINBOOL
7386 STDCALL
7387 UnlockServiceDatabase(
7388     SC_LOCK     ScLock
7389     );
7390
7391 /* Extensions to OpenGL */
7392
7393 int STDCALL
7394 ChoosePixelFormat(HDC, CONST PIXELFORMATDESCRIPTOR *);  
7395
7396 int STDCALL
7397 DescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
7398
7399 UINT STDCALL
7400 GetEnhMetaFilePixelFormat(HENHMETAFILE, DWORD,
7401                           CONST PIXELFORMATDESCRIPTOR *);
7402
7403 int STDCALL
7404 GetPixelFormat(HDC);
7405
7406 WINBOOL STDCALL
7407 SetPixelFormat(HDC, int, CONST PIXELFORMATDESCRIPTOR *);
7408
7409 WINBOOL STDCALL
7410 SwapBuffers(HDC);
7411
7412 HGLRC STDCALL
7413 wglCreateContext(HDC);
7414
7415 HGLRC STDCALL
7416 wglCreateLayerContext(HDC, int);
7417
7418 WINBOOL STDCALL
7419 wglCopyContext(HGLRC, HGLRC, UINT);
7420
7421 WINBOOL STDCALL
7422 wglDeleteContext(HGLRC);
7423
7424 WINBOOL STDCALL
7425 wglDescribeLayerPlane(HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR);
7426
7427 HGLRC STDCALL
7428 wglGetCurrentContext(VOID);
7429
7430 HDC STDCALL
7431 wglGetCurrentDC(VOID);
7432
7433 int STDCALL
7434 wglGetLayerPaletteEntries(HDC, int, int, int, CONST COLORREF *);
7435
7436 PROC STDCALL
7437 wglGetProcAddress(LPCSTR);
7438
7439 WINBOOL STDCALL
7440 wglMakeCurrent(HDC, HGLRC);
7441
7442 WINBOOL STDCALL
7443 wglRealizeLayerPalette(HDC, int, WINBOOL);
7444
7445 int STDCALL
7446 wglSetLayerPaletteEntries(HDC, int, int, int, CONST COLORREF *);
7447
7448 WINBOOL STDCALL
7449 wglShareLists(HGLRC, HGLRC);
7450
7451 WINBOOL STDCALL
7452 wglSwapLayerBuffers(HDC, UINT);
7453
7454 /*
7455   Why are these different between ANSI and UNICODE?
7456   There doesn't seem to be any difference.
7457   */
7458
7459 #ifdef UNICODE
7460 #define wglUseFontBitmaps  wglUseFontBitmapsW
7461 #define wglUseFontOutlines  wglUseFontOutlinesW
7462 #else
7463 #define wglUseFontBitmaps  wglUseFontBitmapsA
7464 #define wglUseFontOutlines  wglUseFontOutlinesA
7465 #endif /* !UNICODE */
7466
7467 /* ------------------------------------- */
7468 /* From shellapi.h in old Cygnus headers */
7469
7470 WINBOOL WINAPI
7471 DragQueryPoint (HDROP, LPPOINT);
7472
7473 void WINAPI
7474 DragFinish (HDROP);
7475
7476 void WINAPI
7477 DragAcceptFiles (HWND, WINBOOL);
7478
7479 HICON WINAPI
7480 DuplicateIcon (HINSTANCE, HICON);
7481
7482 /* end of stuff from shellapi.h in old Cygnus headers */
7483 /* -------------------------------------------------- */
7484 /* From ddeml.h in old Cygnus headers */
7485
7486 HCONV WINAPI    DdeConnect (DWORD, HSZ, HSZ, CONVCONTEXT *);
7487 WINBOOL WINAPI  DdeDisconnect (HCONV);
7488 WINBOOL WINAPI  DdeFreeDataHandle (HDDEDATA);
7489 DWORD WINAPI    DdeGetData (HDDEDATA, BYTE *, DWORD, DWORD);
7490 UINT WINAPI     DdeGetLastError (DWORD);
7491 HDDEDATA WINAPI DdeNameService (DWORD, HSZ, HSZ, UINT);
7492 WINBOOL WINAPI  DdePostAdvise (DWORD, HSZ, HSZ);
7493 HCONV WINAPI    DdeReconnect (HCONV);
7494 WINBOOL WINAPI  DdeUninitialize (DWORD);
7495 int WINAPI      DdeCmpStringHandles (HSZ, HSZ);
7496 HDDEDATA WINAPI DdeCreateDataHandle (DWORD, LPBYTE, DWORD, DWORD, HSZ,
7497                                 UINT, UINT);
7498
7499 /* end of stuff from ddeml.h in old Cygnus headers */
7500 /* ----------------------------------------------- */
7501
7502 DWORD STDCALL NetUserEnum (LPWSTR, DWORD, DWORD, LPBYTE*, DWORD, LPDWORD,
7503                                 LPDWORD, LPDWORD);
7504 DWORD STDCALL NetApiBufferFree (LPVOID);
7505 DWORD STDCALL NetUserGetInfo (LPWSTR, LPWSTR, DWORD, LPBYTE);
7506 DWORD STDCALL NetGetDCName (LPWSTR, LPWSTR, LPBYTE*);
7507 DWORD STDCALL NetGroupEnum (LPWSTR, DWORD, LPBYTE*, DWORD, LPDWORD,
7508                                 LPDWORD, LPDWORD);
7509 DWORD STDCALL NetLocalGroupEnum (LPWSTR, DWORD, LPBYTE*, DWORD, LPDWORD,
7510                                 LPDWORD, LPDWORD);
7511
7512
7513 VOID CopyMemory(PVOID Destination, CONST VOID* Source, DWORD Length);
7514
7515 DWORD STDCALL GetCurrentTime(VOID);
7516
7517 void WINAPI
7518 SHAddToRecentDocs (UINT, LPCVOID);
7519
7520 LPITEMIDLIST WINAPI
7521 SHBrowseForFolder (LPBROWSEINFO);
7522
7523 void WINAPI
7524 SHChangeNotify (LONG, UINT, LPCVOID, LPCVOID);
7525
7526 int WINAPI
7527 SHFileOperation (LPSHFILEOPSTRUCT);
7528
7529 void WINAPI
7530 SHFreeNameMappings (HANDLE);
7531
7532 /* Define when SHELLFOLDER is defined.
7533 HRESULT WINAPI
7534 SHGetDataFromIDList (LPSHELLFOLDER, LPCITEMIDLIST, int, PVOID, int);
7535
7536 HRESULT WINAPI
7537 SHGetDesktopFolder (LPSHELLFOLDER);
7538 */
7539
7540 DWORD WINAPI
7541 SHGetFileInfo (LPCTSTR, DWORD, SHFILEINFO FAR *, UINT, UINT);
7542
7543 /* Define when IUnknown is defined.
7544 HRESULT WINAPI
7545 SHGetInstanceExplorer (IUnknown **);
7546 */
7547
7548 /* Define when MALLOC is defined.
7549 HRESULT WINAPI
7550 SHGetMalloc (LPMALLOC *);
7551 */
7552
7553 WINBOOL WINAPI
7554 SHGetPathFromIDList (LPCITEMIDLIST, LPTSTR);
7555
7556 HRESULT WINAPI
7557 SHGetSpecialFolderLocation (HWND, int, LPITEMIDLIST *);
7558
7559 /* Define when REFCLSID is defined.
7560 HRESULT WINAPI
7561 SHLoadInProc (REFCLSID);
7562 */
7563
7564 /* Win32 Fibers */
7565
7566 typedef
7567 VOID (WINAPI *PFIBER_START_ROUTINE) (
7568         IN LPVOID lpFiberArgument
7569         );
7570 typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
7571
7572 LPVOID
7573 STDCALL
7574 ConvertThreadToFiber (
7575         LPVOID lpArgument
7576         );
7577 LPVOID
7578 STDCALL
7579 CreateFiber (
7580         DWORD                   dwStackSize,
7581         LPFIBER_START_ROUTINE   lpStartAddress,
7582         LPVOID                  lpArgument
7583         );
7584 VOID
7585 STDCALL
7586 DeleteFiber(
7587         LPVOID  lpFiber
7588         );
7589 PVOID
7590 STDCALL
7591 GetCurrentFiber (
7592         VOID
7593         );
7594 PVOID
7595 STDCALL
7596 GetFiberData (
7597         VOID
7598         );
7599 VOID
7600 STDCALL
7601 SwitchToFiber (
7602         LPVOID  lpFiber
7603         );
7604
7605
7606 WINBOOL STDCALL
7607 RegisterServicesProcess(DWORD ServicesProcessId);
7608
7609 #ifdef __cplusplus
7610 }
7611 #endif /* __cplusplus */
7612
7613 #endif /* WIN32_LEAN_AND_MEAN */
7614
7615 #endif /* _GNU_H_WINDOWS32_FUNCTIONS */