branch update for HEAD-2003021201
[reactos.git] / include / unicode.h
1 /* 
2    UnicodeFunctions.h
3
4    Declarations for all the Windows32 API Unicode Functions
5
6    Copyright (C) 1996 Free Software Foundation, Inc.
7
8    Author:  Scott Christley <scottc@net-community.com>
9    Date: 1996
10    
11    This file is part of the Windows32 API Library.
12
13    This library is free software; you can redistribute it and/or
14    modify it under the terms of the GNU Library General Public
15    License as published by the Free Software Foundation; either
16    version 2 of the License, or (at your option) any later version.
17    
18    This library is distributed in the hope that it will be useful,
19    but WITHOUT ANY WARRANTY; without even the implied warranty of
20    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21    Library General Public License for more details.
22
23    If you are interested in a warranty or support for this source code,
24    contact Scott Christley <scottc@net-community.com> for more information.
25    
26    You should have received a copy of the GNU Library General Public
27    License along with this library; see the file COPYING.LIB.
28    If not, write to the Free Software Foundation, 
29    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
30 */ 
31
32 #ifndef _GNU_H_WINDOWS32_UNICODEFUNCTIONS
33 #define _GNU_H_WINDOWS32_UNICODEFUNCTIONS
34
35 #include <funcs.h>      /* for LPPROGRESS_ROUTINE */
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif /* __cplusplus */
40
41 #define ANSI_DOS_STAR   ('<')
42 #define ANSI_DOS_QM     ('>')
43 #define ANSI_DOS_DOT    ('"')
44
45 #define DOS_STAR        (L'<')
46 #define DOS_QM          (L'>')
47 #define DOS_DOT         (L'"')
48
49 WINBOOL
50 STDCALL
51 GetBinaryTypeW(
52     LPCWSTR lpApplicationName,
53     LPDWORD lpBinaryType
54     );
55
56 DWORD
57 STDCALL
58 GetShortPathNameW(
59     LPCWSTR lpszLongPath,
60     LPWSTR  lpszShortPath,
61     DWORD    cchBuffer
62     );
63
64 LPWSTR
65 STDCALL
66 GetEnvironmentStringsW(
67     VOID
68     );
69
70 WINBOOL
71 STDCALL
72 FreeEnvironmentStringsW(
73     LPWSTR
74     );
75
76 DWORD
77 STDCALL
78 FormatMessageW(
79     DWORD dwFlags,
80     LPCVOID lpSource,
81     DWORD dwMessageId,
82     DWORD dwLanguageId,
83     LPWSTR lpBuffer,
84     DWORD nSize,
85     va_list *Arguments
86     );
87
88 HANDLE
89 STDCALL
90 CreateMailslotW(
91     LPCWSTR lpName,
92     DWORD nMaxMessageSize,
93     DWORD lReadTimeout,
94     LPSECURITY_ATTRIBUTES lpSecurityAttributes
95     );
96
97 int
98 STDCALL
99 lstrcmpW(
100     LPCWSTR lpString1,
101     LPCWSTR lpString2
102     );
103
104 int
105 STDCALL
106 lstrcmpiW(
107     LPCWSTR lpString1,
108     LPCWSTR lpString2
109     );
110
111 LPWSTR
112 STDCALL
113 lstrcpynW(
114     LPWSTR lpString1,
115     LPCWSTR lpString2,
116     int iMaxLength
117     );
118
119 LPWSTR
120 STDCALL
121 lstrcpyW(
122     LPWSTR lpString1,
123     LPCWSTR lpString2
124     );
125
126 LPWSTR
127 STDCALL
128 lstrcatW(
129     LPWSTR lpString1,
130     LPCWSTR lpString2
131     );
132
133 int
134 STDCALL
135 lstrlenW(
136     LPCWSTR lpString
137     );
138
139 HANDLE
140 STDCALL
141 CreateMutexW(
142     LPSECURITY_ATTRIBUTES lpMutexAttributes,
143     WINBOOL bInitialOwner,
144     LPCWSTR lpName
145     );
146
147 HANDLE
148 STDCALL
149 OpenMutexW(
150     DWORD dwDesiredAccess,
151     WINBOOL bInheritHandle,
152     LPCWSTR lpName
153     );
154
155 HANDLE
156 STDCALL
157 CreateEventW(
158     LPSECURITY_ATTRIBUTES lpEventAttributes,
159     WINBOOL bManualReset,
160     WINBOOL bInitialState,
161     LPCWSTR lpName
162     );
163
164 HANDLE
165 STDCALL
166 OpenEventW(
167     DWORD dwDesiredAccess,
168     WINBOOL bInheritHandle,
169     LPCWSTR lpName
170     );
171
172 HANDLE
173 STDCALL
174 CreateSemaphoreW(
175                  LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
176                  LONG lInitialCount,
177                  LONG lMaximumCount,
178                  LPCWSTR lpName
179                  );
180
181 HANDLE
182 STDCALL
183 OpenSemaphoreW(
184     DWORD dwDesiredAccess,
185     WINBOOL bInheritHandle,
186     LPCWSTR lpName
187     );
188
189 HANDLE
190 STDCALL
191 CreateFileMappingW(
192     HANDLE hFile,
193     LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
194     DWORD flProtect,
195     DWORD dwMaximumSizeHigh,
196     DWORD dwMaximumSizeLow,
197     LPCWSTR lpName
198     );
199
200 HANDLE
201 STDCALL
202 OpenFileMappingW(
203     DWORD dwDesiredAccess,
204     WINBOOL bInheritHandle,
205     LPCWSTR lpName
206     );
207
208 DWORD
209 STDCALL
210 GetLogicalDriveStringsW(
211     DWORD nBufferLength,
212     LPWSTR lpBuffer
213     );
214
215 HINSTANCE
216 STDCALL
217 LoadLibraryW(
218     LPCWSTR lpLibFileName
219     );
220
221 HINSTANCE
222 STDCALL
223 LoadLibraryExW(
224     LPCWSTR lpLibFileName,
225     HANDLE hFile,
226     DWORD dwFlags
227     );
228
229 DWORD
230 STDCALL
231 GetModuleFileNameW(
232     HINSTANCE hModule,
233     LPWSTR lpFilename,
234     DWORD nSize
235     );
236
237 HMODULE
238 STDCALL
239 GetModuleHandleW(
240     LPCWSTR lpModuleName
241     );
242
243 VOID
244 STDCALL
245 FatalAppExitW(
246     UINT uAction,
247     LPCWSTR lpMessageText
248     );
249
250 LPWSTR
251 STDCALL
252 GetCommandLineW(
253     VOID
254     );
255
256 DWORD
257 STDCALL
258 GetEnvironmentVariableW(
259     LPCWSTR lpName,
260     LPWSTR lpBuffer,
261     DWORD nSize
262     );
263
264 WINBOOL
265 STDCALL
266 SetEnvironmentVariableW(
267     LPCWSTR lpName,
268     LPCWSTR lpValue
269     );
270
271 DWORD
272 STDCALL
273 ExpandEnvironmentStringsW(
274     LPCWSTR lpSrc,
275     LPWSTR lpDst,
276     DWORD nSize
277     );
278
279 VOID
280 STDCALL
281 OutputDebugStringW(
282     LPCWSTR lpOutputString
283     );
284
285 HRSRC
286 STDCALL
287 FindResourceW(
288     HINSTANCE hModule,
289     LPCWSTR lpName,
290     LPCWSTR lpType
291     );
292
293 HRSRC
294 STDCALL
295 FindResourceExW(
296     HINSTANCE hModule,
297     LPCWSTR lpType,
298     LPCWSTR lpName,
299     WORD    wLanguage
300     );
301
302 WINBOOL
303 STDCALL
304 EnumResourceTypesW(
305     HINSTANCE hModule,
306     ENUMRESTYPEPROC lpEnumFunc,
307     LONG lParam
308     );
309
310 WINBOOL
311 STDCALL
312 EnumResourceNamesW(
313     HINSTANCE hModule,
314     LPCWSTR lpType,
315     ENUMRESNAMEPROC lpEnumFunc,
316     LONG lParam
317     );
318
319 WINBOOL
320 STDCALL
321 EnumResourceLanguagesW(
322     HINSTANCE hModule,
323     LPCWSTR lpType,
324     LPCWSTR lpName,
325     ENUMRESLANGPROC lpEnumFunc,
326     LONG lParam
327     );
328
329 HANDLE
330 STDCALL
331 BeginUpdateResourceW(
332     LPCWSTR pFileName,
333     WINBOOL bDeleteExistingResources
334     );
335
336 WINBOOL
337 STDCALL
338 UpdateResourceW(
339     HANDLE      hUpdate,
340     LPCWSTR     lpType,
341     LPCWSTR     lpName,
342     WORD        wLanguage,
343     LPVOID      lpData,
344     DWORD       cbData
345     );
346
347 WINBOOL
348 STDCALL
349 EndUpdateResourceW(
350     HANDLE      hUpdate,
351     WINBOOL        fDiscard
352     );
353
354 ATOM
355 STDCALL
356 GlobalAddAtomW(
357     LPCWSTR lpString
358     );
359
360 ATOM
361 STDCALL
362 GlobalFindAtomW(
363     LPCWSTR lpString
364     );
365
366 UINT
367 STDCALL
368 GlobalGetAtomNameW(
369     ATOM nAtom,
370     LPWSTR lpBuffer,
371     int nSize
372     );
373
374 ATOM
375 STDCALL
376 AddAtomW(
377     LPCWSTR lpString
378     );
379
380 ATOM
381 STDCALL
382 FindAtomW(
383     LPCWSTR lpString
384     );
385
386 UINT
387 STDCALL
388 GetAtomNameW(
389     ATOM nAtom,
390     LPWSTR lpBuffer,
391     int nSize
392     );
393
394 UINT
395 STDCALL
396 GetProfileIntW(
397     LPCWSTR lpAppName,
398     LPCWSTR lpKeyName,
399     INT nDefault
400     );
401
402 DWORD
403 STDCALL
404 GetProfileStringW(
405     LPCWSTR lpAppName,
406     LPCWSTR lpKeyName,
407     LPCWSTR lpDefault,
408     LPWSTR lpReturnedString,
409     DWORD nSize
410     );
411
412 WINBOOL
413 STDCALL
414 WriteProfileStringW(
415     LPCWSTR lpAppName,
416     LPCWSTR lpKeyName,
417     LPCWSTR lpString
418     );
419
420 DWORD
421 STDCALL
422 GetProfileSectionW(
423     LPCWSTR lpAppName,
424     LPWSTR lpReturnedString,
425     DWORD nSize
426     );
427
428 WINBOOL
429 STDCALL
430 WriteProfileSectionW(
431     LPCWSTR lpAppName,
432     LPCWSTR lpString
433     );
434
435 UINT
436 STDCALL
437 GetPrivateProfileIntW(
438     LPCWSTR lpAppName,
439     LPCWSTR lpKeyName,
440     INT nDefault,
441     LPCWSTR lpFileName
442     );
443
444 DWORD
445 STDCALL
446 GetPrivateProfileStringW(
447     LPCWSTR lpAppName,
448     LPCWSTR lpKeyName,
449     LPCWSTR lpDefault,
450     LPWSTR lpReturnedString,
451     DWORD nSize,
452     LPCWSTR lpFileName
453     );
454
455 WINBOOL
456 STDCALL
457 WritePrivateProfileStringW(
458     LPCWSTR lpAppName,
459     LPCWSTR lpKeyName,
460     LPCWSTR lpString,
461     LPCWSTR lpFileName
462     );
463
464 DWORD
465 STDCALL
466 GetPrivateProfileSectionW(
467     LPCWSTR lpAppName,
468     LPWSTR lpReturnedString,
469     DWORD nSize,
470     LPCWSTR lpFileName
471     );
472
473 WINBOOL
474 STDCALL
475 WritePrivateProfileSectionW(
476     LPCWSTR lpAppName,
477     LPCWSTR lpString,
478     LPCWSTR lpFileName
479     );
480
481 UINT
482 STDCALL
483 GetDriveTypeW(
484     LPCWSTR lpRootPathName
485     );
486
487 UINT
488 STDCALL
489 GetSystemDirectoryW(
490     LPWSTR lpBuffer,
491     UINT uSize
492     );
493
494 DWORD
495 STDCALL
496 GetTempPathW(
497     DWORD nBufferLength,
498     LPWSTR lpBuffer
499     );
500
501 UINT
502 STDCALL
503 GetTempFileNameW(
504     LPCWSTR lpPathName,
505     LPCWSTR lpPrefixString,
506     UINT uUnique,
507     LPWSTR lpTempFileName
508     );
509
510 UINT
511 STDCALL
512 GetWindowsDirectoryW(
513     LPWSTR lpBuffer,
514     UINT uSize
515     );
516
517 WINBOOL
518 STDCALL
519 SetCurrentDirectoryW(
520     LPCWSTR lpPathName
521     );
522
523 DWORD
524 STDCALL
525 GetCurrentDirectoryW(
526     DWORD nBufferLength,
527     LPWSTR lpBuffer
528     );
529
530 WINBOOL
531 STDCALL
532 GetDiskFreeSpaceW(
533     LPCWSTR lpRootPathName,
534     LPDWORD lpSectorsPerCluster,
535     LPDWORD lpBytesPerSector,
536     LPDWORD lpNumberOfFreeClusters,
537     LPDWORD lpTotalNumberOfClusters
538     );
539
540 WINBOOL
541 STDCALL
542 GetDiskFreeSpaceExW(
543     LPCWSTR lpDirectoryName,
544     PULARGE_INTEGER lpFreeBytesAvailableToCaller,
545     PULARGE_INTEGER lpTotalNumberOfBytes,
546     PULARGE_INTEGER lpTotalNumberOfFreeBytes
547     );
548
549 WINBOOL
550 STDCALL
551 CreateDirectoryW(
552     LPCWSTR lpPathName,
553     LPSECURITY_ATTRIBUTES lpSecurityAttributes
554     );
555
556 WINBOOL
557 STDCALL
558 CreateDirectoryExW(
559     LPCWSTR lpTemplateDirectory,
560     LPCWSTR lpNewDirectory,
561     LPSECURITY_ATTRIBUTES lpSecurityAttributes
562     );
563
564 WINBOOL
565 STDCALL
566 RemoveDirectoryW(
567     LPCWSTR lpPathName
568     );
569
570 DWORD
571 STDCALL
572 GetFullPathNameW(
573     LPCWSTR lpFileName,
574     DWORD nBufferLength,
575     LPWSTR lpBuffer,
576     LPWSTR *lpFilePart
577     );
578
579 WINBOOL
580 STDCALL
581 DefineDosDeviceW(
582     DWORD dwFlags,
583     LPCWSTR lpDeviceName,
584     LPCWSTR lpTargetPath
585     );
586
587 DWORD
588 STDCALL
589 QueryDosDeviceW(
590     LPCWSTR lpDeviceName,
591     LPWSTR lpTargetPath,
592     DWORD ucchMax
593     );
594
595 HANDLE
596 STDCALL
597 CreateFileW(
598     LPCWSTR lpFileName,
599     DWORD dwDesiredAccess,
600     DWORD dwShareMode,
601     LPSECURITY_ATTRIBUTES lpSecurityAttributes,
602     DWORD dwCreationDisposition,
603     DWORD dwFlagsAndAttributes,
604     HANDLE hTemplateFile
605     );
606
607 WINBOOL
608 STDCALL
609 SetFileAttributesW(
610     LPCWSTR lpFileName,
611     DWORD dwFileAttributes
612     );
613
614 DWORD
615 STDCALL
616 GetFileAttributesW(
617     LPCWSTR lpFileName
618     );
619
620 DWORD
621 STDCALL
622 GetCompressedFileSizeW(
623     LPCWSTR lpFileName,
624     LPDWORD lpFileSizeHigh
625     );
626
627 WINBOOL
628 STDCALL
629 DeleteFileW(
630     LPCWSTR lpFileName
631     );
632
633 DWORD
634 STDCALL
635 SearchPathW(
636     LPCWSTR lpPath,
637     LPCWSTR lpFileName,
638     LPCWSTR lpExtension,
639     DWORD nBufferLength,
640     LPWSTR lpBuffer,
641     LPWSTR *lpFilePart
642     );
643
644 WINBOOL
645 STDCALL
646 CopyFileW(
647     LPCWSTR lpExistingFileName,
648     LPCWSTR lpNewFileName,
649     WINBOOL bFailIfExists
650     );
651
652 WINBOOL
653 STDCALL
654 CopyFileExW(
655     LPCWSTR lpExistingFileName,
656     LPCWSTR lpNewFileName,
657     LPPROGRESS_ROUTINE lpProgressRoutine,
658     LPVOID lpData,
659     LPBOOL pbCancel,
660     DWORD dwCopyFlags
661     );
662
663 WINBOOL
664 STDCALL
665 MoveFileW(
666     LPCWSTR lpExistingFileName,
667     LPCWSTR lpNewFileName
668     );
669
670 WINBOOL
671 STDCALL
672 MoveFileExW(
673     LPCWSTR lpExistingFileName,
674     LPCWSTR lpNewFileName,
675     DWORD dwFlags
676     );
677
678 WINBOOL
679 STDCALL
680 MoveFileWithProgressW(
681     LPCWSTR lpExistingFileName,
682     LPCWSTR lpNewFileName,
683     LPPROGRESS_ROUTINE lpProgressRoutine,
684     LPVOID lpData,
685     DWORD dwFlags
686     );
687
688 HANDLE
689 STDCALL
690 CreateNamedPipeW(
691     LPCWSTR lpName,
692     DWORD dwOpenMode,
693     DWORD dwPipeMode,
694     DWORD nMaxInstances,
695     DWORD nOutBufferSize,
696     DWORD nInBufferSize,
697     DWORD nDefaultTimeOut,
698     LPSECURITY_ATTRIBUTES lpSecurityAttributes
699     );
700
701 WINBOOL
702 STDCALL
703 GetNamedPipeHandleStateW(
704     HANDLE hNamedPipe,
705     LPDWORD lpState,
706     LPDWORD lpCurInstances,
707     LPDWORD lpMaxCollectionCount,
708     LPDWORD lpCollectDataTimeout,
709     LPWSTR lpUserName,
710     DWORD nMaxUserNameSize
711     );
712
713 WINBOOL
714 STDCALL
715 CallNamedPipeW(
716     LPCWSTR lpNamedPipeName,
717     LPVOID lpInBuffer,
718     DWORD nInBufferSize,
719     LPVOID lpOutBuffer,
720     DWORD nOutBufferSize,
721     LPDWORD lpBytesRead,
722     DWORD nTimeOut
723     );
724
725 WINBOOL
726 STDCALL
727 WaitNamedPipeW(
728     LPCWSTR lpNamedPipeName,
729     DWORD nTimeOut
730     );
731
732 WINBOOL
733 STDCALL
734 SetVolumeLabelW(
735     LPCWSTR lpRootPathName,
736     LPCWSTR lpVolumeName
737     );
738
739 WINBOOL
740 STDCALL
741 GetVolumeInformationW(
742     LPCWSTR lpRootPathName,
743     LPWSTR lpVolumeNameBuffer,
744     DWORD nVolumeNameSize,
745     LPDWORD lpVolumeSerialNumber,
746     LPDWORD lpMaximumComponentLength,
747     LPDWORD lpFileSystemFlags,
748     LPWSTR lpFileSystemNameBuffer,
749     DWORD nFileSystemNameSize
750     );
751
752 WINBOOL
753 STDCALL
754 ClearEventLogW (
755     HANDLE hEventLog,
756     LPCWSTR lpBackupFileName
757     );
758
759 WINBOOL
760 STDCALL
761 BackupEventLogW (
762     HANDLE hEventLog,
763     LPCWSTR lpBackupFileName
764     );
765
766 HANDLE
767 STDCALL
768 OpenEventLogW (
769     LPCWSTR lpUNCServerName,
770     LPCWSTR lpSourceName
771     );
772
773 HANDLE
774 STDCALL
775 RegisterEventSourceW (
776     LPCWSTR lpUNCServerName,
777     LPCWSTR lpSourceName
778     );
779
780 HANDLE
781 STDCALL
782 OpenBackupEventLogW (
783     LPCWSTR lpUNCServerName,
784     LPCWSTR lpFileName
785     );
786
787 WINBOOL
788 STDCALL
789 ReadEventLogW (
790      HANDLE     hEventLog,
791      DWORD      dwReadFlags,
792      DWORD      dwRecordOffset,
793      LPVOID     lpBuffer,
794      DWORD      nNumberOfBytesToRead,
795      DWORD      *pnBytesRead,
796      DWORD      *pnMinNumberOfBytesNeeded
797     );
798
799 WINBOOL
800 STDCALL
801 ReportEventW (
802      HANDLE     hEventLog,
803      WORD       wType,
804      WORD       wCategory,
805      DWORD      dwEventID,
806      PSID       lpUserSid,
807      WORD       wNumStrings,
808      DWORD      dwDataSize,
809      LPCWSTR   *lpStrings,
810      LPVOID     lpRawData
811     );
812
813 WINBOOL
814 STDCALL
815 AccessCheckAndAuditAlarmW (
816     LPCWSTR SubsystemName,
817     LPVOID HandleId,
818     LPWSTR ObjectTypeName,
819     LPWSTR ObjectName,
820     PSECURITY_DESCRIPTOR SecurityDescriptor,
821     DWORD DesiredAccess,
822     PGENERIC_MAPPING GenericMapping,
823     WINBOOL ObjectCreation,
824     LPDWORD GrantedAccess,
825     LPBOOL AccessStatus,
826     LPBOOL pfGenerateOnClose
827     );
828
829 WINBOOL
830 STDCALL
831 ObjectOpenAuditAlarmW (
832     LPCWSTR SubsystemName,
833     LPVOID HandleId,
834     LPWSTR ObjectTypeName,
835     LPWSTR ObjectName,
836     PSECURITY_DESCRIPTOR pSecurityDescriptor,
837     HANDLE ClientToken,
838     DWORD DesiredAccess,
839     DWORD GrantedAccess,
840     PPRIVILEGE_SET Privileges,
841     WINBOOL ObjectCreation,
842     WINBOOL AccessGranted,
843     LPBOOL GenerateOnClose
844     );
845
846 WINBOOL
847 STDCALL
848 ObjectPrivilegeAuditAlarmW (
849     LPCWSTR SubsystemName,
850     LPVOID HandleId,
851     HANDLE ClientToken,
852     DWORD DesiredAccess,
853     PPRIVILEGE_SET Privileges,
854     WINBOOL AccessGranted
855     );
856
857 WINBOOL
858 STDCALL
859 ObjectCloseAuditAlarmW (
860     LPCWSTR SubsystemName,
861     LPVOID HandleId,
862     WINBOOL GenerateOnClose
863     );
864
865 WINBOOL
866 STDCALL
867 PrivilegedServiceAuditAlarmW (
868     LPCWSTR SubsystemName,
869     LPCWSTR ServiceName,
870     HANDLE ClientToken,
871     PPRIVILEGE_SET Privileges,
872     WINBOOL AccessGranted
873     );
874
875 WINBOOL
876 STDCALL
877 SetFileSecurityW (
878     LPCWSTR lpFileName,
879     SECURITY_INFORMATION SecurityInformation,
880     PSECURITY_DESCRIPTOR pSecurityDescriptor
881     );
882
883 WINBOOL
884 STDCALL
885 GetFileSecurityW (
886     LPCWSTR lpFileName,
887     SECURITY_INFORMATION RequestedInformation,
888     PSECURITY_DESCRIPTOR pSecurityDescriptor,
889     DWORD nLength,
890     LPDWORD lpnLengthNeeded
891     );
892
893 HANDLE
894 STDCALL
895 FindFirstChangeNotificationW(
896     LPCWSTR lpPathName,
897     WINBOOL bWatchSubtree,
898     DWORD dwNotifyFilter
899     );
900
901 WINBOOL
902 STDCALL
903 IsBadStringPtrW(
904     LPCWSTR lpsz,
905     UINT ucchMax
906     );
907
908 WINBOOL
909 STDCALL
910 LookupAccountSidW(
911     LPCWSTR lpSystemName,
912     PSID Sid,
913     LPWSTR Name,
914     LPDWORD cbName,
915     LPWSTR ReferencedDomainName,
916     LPDWORD cbReferencedDomainName,
917     PSID_NAME_USE peUse
918     );
919
920 WINBOOL
921 STDCALL
922 LookupAccountNameW(
923     LPCWSTR lpSystemName,
924     LPCWSTR lpAccountName,
925     PSID Sid,
926     LPDWORD cbSid,
927     LPWSTR ReferencedDomainName,
928     LPDWORD cbReferencedDomainName,
929     PSID_NAME_USE peUse
930     );
931
932 WINBOOL
933 STDCALL
934 LookupPrivilegeValueW(
935     LPCWSTR lpSystemName,
936     LPCWSTR lpName,
937     PLUID   lpLuid
938     );
939
940 WINBOOL
941 STDCALL
942 LookupPrivilegeNameW(
943     LPCWSTR lpSystemName,
944     PLUID   lpLuid,
945     LPWSTR lpName,
946     LPDWORD cbName
947     );
948
949 WINBOOL
950 STDCALL
951 LookupPrivilegeDisplayNameW(
952     LPCWSTR lpSystemName,
953     LPCWSTR lpName,
954     LPWSTR lpDisplayName,
955     LPDWORD cbDisplayName,
956     LPDWORD lpLanguageId
957     );
958
959 WINBOOL
960 STDCALL
961 BuildCommDCBW(
962     LPCWSTR lpDef,
963     LPDCB lpDCB
964     );
965
966 WINBOOL
967 STDCALL
968 BuildCommDCBAndTimeoutsW(
969     LPCWSTR lpDef,
970     LPDCB lpDCB,
971     LPCOMMTIMEOUTS lpCommTimeouts
972     );
973
974 WINBOOL
975 STDCALL
976 CommConfigDialogW(
977     LPCWSTR lpszName,
978     HWND hWnd,
979     LPCOMMCONFIG lpCC
980     );
981
982 WINBOOL
983 STDCALL
984 GetDefaultCommConfigW(
985     LPCWSTR lpszName,
986     LPCOMMCONFIG lpCC,
987     LPDWORD lpdwSize
988     );
989
990 WINBOOL
991 STDCALL
992 SetDefaultCommConfigW(
993     LPCWSTR lpszName,
994     LPCOMMCONFIG lpCC,
995     DWORD dwSize
996     );
997
998 WINBOOL
999 STDCALL
1000 GetComputerNameW (
1001     LPWSTR lpBuffer,
1002     LPDWORD nSize
1003     );
1004
1005 WINBOOL
1006 STDCALL
1007 SetComputerNameW (
1008     LPCWSTR lpComputerName
1009     );
1010
1011 WINBOOL
1012 STDCALL
1013 GetUserNameW (
1014     LPWSTR lpBuffer,
1015     LPDWORD nSize
1016     );
1017
1018 int
1019 STDCALL
1020 wvsprintfW(
1021     LPWSTR,
1022     LPCWSTR,
1023     va_list arglist);
1024
1025 int
1026 CDECL
1027 wsprintfW(LPWSTR, LPCWSTR, ...);
1028
1029 HKL
1030 STDCALL
1031 LoadKeyboardLayoutW(
1032     LPCWSTR pwszKLID,
1033     UINT Flags);
1034
1035 WINBOOL
1036 STDCALL
1037 GetKeyboardLayoutNameW(
1038     LPWSTR pwszKLID);
1039
1040 HDESK
1041 STDCALL
1042 CreateDesktopW(
1043     LPCWSTR lpszDesktop,
1044     LPCWSTR lpszDevice,
1045     LPDEVMODEW pDevmode,
1046     DWORD dwFlags,
1047     ACCESS_MASK dwDesiredAccess,
1048     LPSECURITY_ATTRIBUTES lpsa);
1049
1050 HDESK
1051 STDCALL
1052 OpenDesktopW(
1053     LPWSTR lpszDesktop,
1054     DWORD dwFlags,
1055     WINBOOL fInherit,
1056     DWORD dwDesiredAccess);
1057
1058 WINBOOL
1059 STDCALL
1060 EnumDesktopsW(
1061     HWINSTA hwinsta,
1062     DESKTOPENUMPROC lpEnumFunc,
1063     LPARAM lParam);
1064
1065 HWINSTA
1066 STDCALL
1067 CreateWindowStationW(
1068     LPWSTR lpwinsta,
1069     DWORD dwReserved,
1070     DWORD dwDesiredAccess,
1071     LPSECURITY_ATTRIBUTES lpsa);
1072
1073 HWINSTA
1074 STDCALL
1075 OpenWindowStationW(
1076     LPWSTR lpszWinSta,
1077     WINBOOL fInherit,
1078     DWORD dwDesiredAccess);
1079
1080 WINBOOL
1081 STDCALL
1082 EnumWindowStationsW(
1083     ENUMWINDOWSTATIONPROC lpEnumFunc,
1084     LPARAM lParam);
1085
1086 WINBOOL
1087 STDCALL
1088 GetUserObjectInformationW(
1089     HANDLE hObj,
1090     int nIndex,
1091     PVOID pvInfo,
1092     DWORD nLength,
1093     LPDWORD lpnLengthNeeded);
1094
1095 WINBOOL
1096 STDCALL
1097 SetUserObjectInformationW(
1098     HANDLE hObj,
1099     int nIndex,
1100     PVOID pvInfo,
1101     DWORD nLength);
1102
1103 UINT
1104 STDCALL
1105 RegisterWindowMessageW(
1106     LPCWSTR lpString);
1107
1108 WINBOOL
1109 STDCALL
1110 GetMessageW(
1111     LPMSG lpMsg,
1112     HWND hWnd ,
1113     UINT wMsgFilterMin,
1114     UINT wMsgFilterMax);
1115
1116 LRESULT
1117 STDCALL
1118 DispatchMessageW(
1119     CONST MSG *lpMsg);
1120
1121 WINBOOL
1122 STDCALL
1123 PeekMessageW(
1124     LPMSG lpMsg,
1125     HWND hWnd ,
1126     UINT wMsgFilterMin,
1127     UINT wMsgFilterMax,
1128     UINT wRemoveMsg);
1129
1130 LRESULT
1131 STDCALL
1132 SendMessageW(
1133     HWND hWnd,
1134     UINT Msg,
1135     WPARAM wParam,
1136     LPARAM lParam);
1137
1138 LRESULT
1139 STDCALL
1140 SendMessageTimeoutW(
1141     HWND hWnd,
1142     UINT Msg,
1143     WPARAM wParam,
1144     LPARAM lParam,
1145     UINT fuFlags,
1146     UINT uTimeout,
1147     PDWORD_PTR lpdwResult);
1148
1149 WINBOOL
1150 STDCALL
1151 SendNotifyMessageW(
1152     HWND hWnd,
1153     UINT Msg,
1154     WPARAM wParam,
1155     LPARAM lParam);
1156
1157 WINBOOL
1158 STDCALL
1159 SendMessageCallbackW(
1160     HWND hWnd,
1161     UINT Msg,
1162     WPARAM wParam,
1163     LPARAM lParam,
1164     SENDASYNCPROC lpResultCallBack,
1165     ULONG_PTR dwData);
1166
1167 WINBOOL
1168 STDCALL
1169 PostMessageW(
1170     HWND hWnd,
1171     UINT Msg,
1172     WPARAM wParam,
1173     LPARAM lParam);
1174
1175 WINBOOL
1176 STDCALL
1177 PostThreadMessageW(
1178     DWORD idThread,
1179     UINT Msg,
1180     WPARAM wParam,
1181     LPARAM lParam);
1182
1183 LRESULT
1184 STDCALL
1185 DefWindowProcW(
1186     HWND hWnd,
1187     UINT Msg,
1188     WPARAM wParam,
1189     LPARAM lParam);
1190
1191 LRESULT
1192 STDCALL
1193 CallWindowProcW(
1194     WNDPROC lpPrevWndFunc,
1195     HWND hWnd,
1196     UINT Msg,
1197     WPARAM wParam,
1198     LPARAM lParam);
1199
1200 ATOM
1201 STDCALL
1202 RegisterClassW(
1203     CONST WNDCLASS *lpWndClass);
1204
1205 WINBOOL
1206 STDCALL
1207 UnregisterClassW(
1208     LPCWSTR lpClassName,
1209     HINSTANCE hInstance);
1210
1211 WINBOOL
1212 STDCALL
1213 GetClassInfoW(
1214     HINSTANCE hInstance ,
1215     LPCWSTR lpClassName,
1216     LPWNDCLASS lpWndClass);
1217
1218 ATOM
1219 STDCALL
1220 RegisterClassExW(CONST WNDCLASSEX *);
1221
1222 WINBOOL
1223 STDCALL
1224 GetClassInfoExW(HINSTANCE, LPCWSTR, LPWNDCLASSEX);
1225
1226 HWND
1227 STDCALL
1228 CreateWindowExW(
1229     DWORD dwExStyle,
1230     LPCWSTR lpClassName,
1231     LPCWSTR lpWindowName,
1232     DWORD dwStyle,
1233     int X,
1234     int Y,
1235     int nWidth,
1236     int nHeight,
1237     HWND hWndParent ,
1238     HMENU hMenu,
1239     HINSTANCE hInstance,
1240     LPVOID lpParam);
1241
1242 HWND
1243 STDCALL
1244 CreateDialogParamW(
1245     HINSTANCE hInstance,
1246     LPCWSTR lpTemplateName,
1247     HWND hWndParent ,
1248     DLGPROC lpDialogFunc,
1249     LPARAM dwInitParam);
1250
1251 HWND
1252 STDCALL
1253 CreateDialogIndirectParamW(
1254     HINSTANCE hInstance,
1255     LPCDLGTEMPLATE lpTemplate,
1256     HWND hWndParent,
1257     DLGPROC lpDialogFunc,
1258     LPARAM dwInitParam);
1259
1260 int
1261 STDCALL
1262 DialogBoxParamW(
1263     HINSTANCE hInstance,
1264     LPCWSTR lpTemplateName,
1265     HWND hWndParent ,
1266     DLGPROC lpDialogFunc,
1267     LPARAM dwInitParam);
1268
1269 int
1270 STDCALL
1271 DialogBoxIndirectParamW(
1272     HINSTANCE hInstance,
1273     LPCDLGTEMPLATE hDialogTemplate,
1274     HWND hWndParent ,
1275     DLGPROC lpDialogFunc,
1276     LPARAM dwInitParam);
1277
1278 WINBOOL
1279 STDCALL
1280 SetDlgItemTextW(
1281     HWND hDlg,
1282     int nIDDlgItem,
1283     LPCWSTR lpString);
1284
1285 UINT
1286 STDCALL
1287 GetDlgItemTextW(
1288     HWND hDlg,
1289     int nIDDlgItem,
1290     LPWSTR lpString,
1291     int nMaxCount);
1292
1293 LRESULT
1294 STDCALL
1295 SendDlgItemMessageW(
1296     HWND hDlg,
1297     int nIDDlgItem,
1298     UINT Msg,
1299     WPARAM wParam,
1300     LPARAM lParam);
1301
1302 LRESULT
1303 STDCALL
1304 DefDlgProcW(
1305     HWND hDlg,
1306     UINT Msg,
1307     WPARAM wParam,
1308     LPARAM lParam);
1309
1310 WINBOOL
1311 STDCALL
1312 CallMsgFilterW(
1313     LPMSG lpMsg,
1314     int nCode);
1315
1316 UINT
1317 STDCALL
1318 RegisterClipboardFormatW(
1319     LPCWSTR lpszFormat);
1320
1321 int
1322 STDCALL
1323 GetClipboardFormatNameW(
1324     UINT format,
1325     LPWSTR lpszFormatName,
1326     int cchMaxCount);
1327
1328 WINBOOL
1329 STDCALL
1330 CharToOemW(
1331     LPCWSTR lpszSrc,
1332     LPSTR lpszDst);
1333
1334 WINBOOL
1335 STDCALL
1336 OemToCharW(
1337     LPCSTR lpszSrc,
1338     LPWSTR lpszDst);
1339
1340 WINBOOL
1341 STDCALL
1342 CharToOemBuffW(
1343     LPCWSTR lpszSrc,
1344     LPSTR lpszDst,
1345     DWORD cchDstLength);
1346
1347 WINBOOL
1348 STDCALL
1349 OemToCharBuffW(
1350     LPCSTR lpszSrc,
1351     LPWSTR lpszDst,
1352     DWORD cchDstLength);
1353
1354 LPWSTR
1355 STDCALL
1356 CharUpperW(
1357     LPWSTR lpsz);
1358
1359 DWORD
1360 STDCALL
1361 CharUpperBuffW(
1362     LPWSTR lpsz,
1363     DWORD cchLength);
1364
1365 LPWSTR
1366 STDCALL
1367 CharLowerW(
1368     LPWSTR lpsz);
1369
1370 DWORD
1371 STDCALL
1372 CharLowerBuffW(
1373     LPWSTR lpsz,
1374     DWORD cchLength);
1375
1376 LPWSTR
1377 STDCALL
1378 CharNextW(
1379     LPCWSTR lpsz);
1380
1381 LPWSTR
1382 STDCALL
1383 CharPrevW(
1384     LPCWSTR lpszStart,
1385     LPCWSTR lpszCurrent);
1386
1387 WINBOOL
1388 STDCALL
1389 IsCharAlphaW(
1390     WCHAR ch);
1391
1392 WINBOOL
1393 STDCALL
1394 IsCharAlphaNumericW(
1395     WCHAR ch);
1396
1397 WINBOOL
1398 STDCALL
1399 IsCharUpperW(
1400     WCHAR ch);
1401
1402 WINBOOL
1403 STDCALL
1404 IsCharLowerW(
1405     WCHAR ch);
1406
1407 int
1408 STDCALL
1409 GetKeyNameTextW(
1410     LONG lParam,
1411     LPWSTR lpString,
1412     int nSize
1413     );
1414
1415 SHORT
1416 STDCALL
1417 VkKeyScanW(
1418     WCHAR ch);
1419
1420 SHORT
1421 STDCALL VkKeyScanExW(
1422     WCHAR  ch,
1423     HKL   dwhkl);
1424
1425 UINT
1426 STDCALL
1427 MapVirtualKeyW(
1428     UINT uCode,
1429     UINT uMapType);
1430
1431 UINT
1432 STDCALL
1433 MapVirtualKeyExW(
1434     UINT uCode,
1435     UINT uMapType,
1436     HKL dwhkl);
1437
1438 HACCEL
1439 STDCALL
1440 LoadAcceleratorsW(
1441     HINSTANCE hInstance,
1442     LPCWSTR lpTableName);
1443
1444 HACCEL
1445 STDCALL
1446 CreateAcceleratorTableW(
1447     LPACCEL, int);
1448
1449 int
1450 STDCALL
1451 CopyAcceleratorTableW(
1452     HACCEL hAccelSrc,
1453     LPACCEL lpAccelDst,
1454     int cAccelEntries);
1455
1456 int
1457 STDCALL
1458 TranslateAcceleratorW(
1459     HWND hWnd,
1460     HACCEL hAccTable,
1461     LPMSG lpMsg);
1462
1463 HMENU
1464 STDCALL
1465 LoadMenuW(
1466     HINSTANCE hInstance,
1467     LPCWSTR lpMenuName);
1468
1469 HMENU
1470 STDCALL
1471 LoadMenuIndirectW(
1472     CONST MENUTEMPLATE *lpMenuTemplate);
1473
1474 WINBOOL
1475 STDCALL
1476 ChangeMenuW(
1477     HMENU hMenu,
1478     UINT cmd,
1479     LPCWSTR lpszNewItem,
1480     UINT cmdInsert,
1481     UINT flags);
1482
1483 int
1484 STDCALL
1485 GetMenuStringW(
1486     HMENU hMenu,
1487     UINT uIDItem,
1488     LPWSTR lpString,
1489     int nMaxCount,
1490     UINT uFlag);
1491
1492 WINBOOL
1493 STDCALL
1494 InsertMenuW(
1495     HMENU hMenu,
1496     UINT uPosition,
1497     UINT uFlags,
1498     UINT uIDNewItem,
1499     LPCWSTR lpNewItem
1500     );
1501
1502 WINBOOL
1503 STDCALL
1504 AppendMenuW(
1505     HMENU hMenu,
1506     UINT uFlags,
1507     UINT uIDNewItem,
1508     LPCWSTR lpNewItem
1509     );
1510
1511 WINBOOL
1512 STDCALL
1513 ModifyMenuW(
1514     HMENU hMnu,
1515     UINT uPosition,
1516     UINT uFlags,
1517     UINT uIDNewItem,
1518     LPCWSTR lpNewItem
1519     );
1520
1521 WINBOOL
1522 STDCALL
1523 InsertMenuItemW(
1524     HMENU,
1525     UINT,
1526     WINBOOL,
1527     LPCMENUITEMINFO
1528     );
1529
1530 WINBOOL
1531 STDCALL
1532 GetMenuItemInfoW(
1533     HMENU,
1534     UINT,
1535     WINBOOL,
1536     LPMENUITEMINFO
1537     );
1538
1539 WINBOOL
1540 STDCALL
1541 SetMenuItemInfoW(
1542   HMENU hMenu,
1543   UINT uItem,
1544   WINBOOL fByPosition,
1545   LPMENUITEMINFO lpmii);
1546
1547 int
1548 STDCALL
1549 DrawTextW(
1550     HDC hDC,
1551     LPCWSTR lpString,
1552     int nCount,
1553     LPRECT lpRect,
1554     UINT uFormat);
1555
1556 int
1557 STDCALL
1558 DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS);
1559
1560 WINBOOL
1561 STDCALL
1562 GrayStringW(
1563     HDC hDC,
1564     HBRUSH hBrush,
1565     GRAYSTRINGPROC lpOutputFunc,
1566     LPARAM lpData,
1567     int nCount,
1568     int X,
1569     int Y,
1570     int nWidth,
1571     int nHeight);
1572
1573 WINBOOL STDCALL DrawStateW(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT);
1574
1575 LONG
1576 STDCALL
1577 TabbedTextOutW(
1578     HDC hDC,
1579     int X,
1580     int Y,
1581     LPCWSTR lpString,
1582     int nCount,
1583     int nTabPositions,
1584     LPINT lpnTabStopPositions,
1585     int nTabOrigin);
1586
1587 DWORD
1588 STDCALL
1589 GetTabbedTextExtentW(
1590     HDC hDC,
1591     LPCWSTR lpString,
1592     int nCount,
1593     int nTabPositions,
1594     LPINT lpnTabStopPositions);
1595
1596 WINBOOL
1597 STDCALL
1598 SetPropW(
1599     HWND hWnd,
1600     LPCWSTR lpString,
1601     HANDLE hData);
1602
1603 HANDLE
1604 STDCALL
1605 GetPropW(
1606     HWND hWnd,
1607     LPCWSTR lpString);
1608
1609 HANDLE
1610 STDCALL
1611 RemovePropW(
1612     HWND hWnd,
1613     LPCWSTR lpString);
1614
1615 int
1616 STDCALL
1617 EnumPropsExW(
1618     HWND hWnd,
1619     PROPENUMPROCEX lpEnumFunc,
1620     LPARAM lParam);
1621
1622 int
1623 STDCALL
1624 EnumPropsW(
1625     HWND hWnd,
1626     PROPENUMPROC lpEnumFunc);
1627
1628 WINBOOL
1629 STDCALL
1630 SetWindowTextW(
1631     HWND hWnd,
1632     LPCWSTR lpString);
1633
1634 int
1635 STDCALL
1636 GetWindowTextW(
1637     HWND hWnd,
1638     LPWSTR lpString,
1639     int nMaxCount);
1640
1641 int
1642 STDCALL
1643 GetWindowTextLengthW(
1644     HWND hWnd);
1645
1646 int
1647 STDCALL
1648 MessageBoxW(
1649     HWND hWnd ,
1650     LPCWSTR lpText,
1651     LPCWSTR lpCaption,
1652     UINT uType);
1653
1654 int
1655 STDCALL
1656 MessageBoxExW(
1657     HWND hWnd ,
1658     LPCWSTR lpText,
1659     LPCWSTR lpCaption,
1660     UINT uType,
1661     WORD wLanguageId);
1662
1663 int
1664 STDCALL
1665 MessageBoxIndirectW(LPMSGBOXPARAMS);
1666
1667 LONG
1668 STDCALL
1669 GetWindowLongW(
1670     HWND hWnd,
1671     int nIndex);
1672
1673 LONG
1674 STDCALL
1675 SetWindowLongW(
1676     HWND hWnd,
1677     int nIndex,
1678     LONG dwNewLong);
1679
1680 DWORD
1681 STDCALL
1682 GetClassLongW(
1683     HWND hWnd,
1684     int nIndex);
1685
1686 DWORD
1687 STDCALL
1688 SetClassLongW(
1689     HWND hWnd,
1690     int nIndex,
1691     LONG dwNewLong);
1692
1693 HWND
1694 STDCALL
1695 FindWindowW(
1696     LPCWSTR lpClassName ,
1697     LPCWSTR lpWindowName);
1698
1699 HWND
1700 STDCALL
1701 FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR);
1702
1703 int
1704 STDCALL
1705 GetClassNameW(
1706     HWND hWnd,
1707     LPWSTR lpClassName,
1708     int nMaxCount);
1709
1710 HHOOK
1711 STDCALL
1712 SetWindowsHookExW(
1713     int idHook,
1714     HOOKPROC lpfn,
1715     HINSTANCE hmod,
1716     DWORD dwThreadId);
1717
1718 HBITMAP
1719 STDCALL
1720 LoadBitmapW(
1721     HINSTANCE hInstance,
1722     LPCWSTR lpBitmapName);
1723
1724 HCURSOR
1725 STDCALL
1726 LoadCursorW(
1727     HINSTANCE hInstance,
1728     LPCWSTR lpCursorName);
1729
1730 HCURSOR
1731 STDCALL
1732 LoadCursorFromFileW(
1733     LPCWSTR    lpFileName);
1734
1735 HICON
1736 STDCALL
1737 LoadIconW(
1738     HINSTANCE hInstance,
1739     LPCWSTR lpIconName);
1740
1741 HANDLE
1742 STDCALL
1743 LoadImageW(
1744     HINSTANCE,
1745     LPCWSTR,
1746     UINT,
1747     int,
1748     int,
1749     UINT);
1750
1751 int
1752 STDCALL
1753 LoadStringW(
1754     HINSTANCE hInstance,
1755     UINT uID,
1756     LPWSTR lpBuffer,
1757     int nBufferMax);
1758
1759 WINBOOL
1760 STDCALL
1761 IsDialogMessageW(
1762     HWND hDlg,
1763     LPMSG lpMsg);
1764
1765 int
1766 STDCALL
1767 DlgDirListW(
1768     HWND hDlg,
1769     LPWSTR lpPathSpec,
1770     int nIDListBox,
1771     int nIDStaticPath,
1772     UINT uFileType);
1773
1774 WINBOOL
1775 STDCALL
1776 DlgDirSelectExW(
1777     HWND hDlg,
1778     LPWSTR lpString,
1779     int nCount,
1780     int nIDListBox);
1781
1782 int
1783 STDCALL
1784 DlgDirListComboBoxW(
1785     HWND hDlg,
1786     LPWSTR lpPathSpec,
1787     int nIDComboBox,
1788     int nIDStaticPath,
1789     UINT uFiletype);
1790
1791 WINBOOL
1792 STDCALL
1793 DlgDirSelectComboBoxExW(
1794     HWND hDlg,
1795     LPWSTR lpString,
1796     int nCount,
1797     int nIDComboBox);
1798
1799 LRESULT
1800 STDCALL
1801 DefFrameProcW(
1802     HWND hWnd,
1803     HWND hWndMDIClient ,
1804     UINT uMsg,
1805     WPARAM wParam,
1806     LPARAM lParam);
1807
1808 LRESULT
1809 STDCALL
1810 DefMDIChildProcW(
1811     HWND hWnd,
1812     UINT uMsg,
1813     WPARAM wParam,
1814     LPARAM lParam);
1815
1816 HWND
1817 STDCALL
1818 CreateMDIWindowW(
1819     LPCWSTR lpClassName,
1820     LPCWSTR lpWindowName,
1821     DWORD dwStyle,
1822     int X,
1823     int Y,
1824     int nWidth,
1825     int nHeight,
1826     HWND hWndParent,
1827     HINSTANCE hInstance,
1828     LPARAM lParam
1829     );
1830
1831 WINBOOL
1832 STDCALL
1833 WinHelpW(
1834     HWND hWndMain,
1835     LPCWSTR lpszHelp,
1836     UINT uCommand,
1837     DWORD dwData
1838     );
1839
1840 LONG
1841 STDCALL
1842 ChangeDisplaySettingsW(
1843     LPDEVMODEW lpDevMode,
1844     DWORD dwFlags);
1845
1846 WINBOOL
1847 STDCALL
1848 EnumDisplaySettingsW(
1849     LPCWSTR lpszDeviceName,
1850     DWORD iModeNum,
1851     LPDEVMODEW lpDevMode);
1852
1853 WINBOOL
1854 STDCALL
1855 SystemParametersInfoW(
1856     UINT uiAction,
1857     UINT uiParam,
1858     PVOID pvParam,
1859     UINT fWinIni);
1860
1861 int
1862 STDCALL
1863 AddFontResourceW(LPCWSTR);
1864
1865 HMETAFILE
1866 STDCALL
1867 CopyMetaFileW(HMETAFILE, LPCWSTR);
1868
1869 HFONT
1870 STDCALL
1871 CreateFontIndirectW(CONST LOGFONT *);
1872
1873 HFONT
1874 STDCALL
1875 CreateFontW(int, int, int, int, int, DWORD,
1876                              DWORD, DWORD, DWORD, DWORD, DWORD,
1877                              DWORD, DWORD, LPCWSTR);
1878
1879 HDC
1880 STDCALL
1881 CreateICW(LPCWSTR, LPCWSTR , LPCWSTR , CONST DEVMODEW *);
1882
1883 HDC
1884 STDCALL
1885 CreateMetaFileW(LPCWSTR);
1886
1887 WINBOOL
1888 STDCALL
1889 CreateScalableFontResourceW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR);
1890
1891 int
1892 STDCALL
1893 DeviceCapabilitiesW(LPCWSTR, LPCWSTR, WORD,
1894                                 LPWSTR, CONST DEVMODEW *);
1895
1896 int
1897 STDCALL
1898 EnumFontFamiliesExW(HDC, LPLOGFONT, FONTENUMEXPROC, LPARAM, DWORD);
1899
1900 int
1901 STDCALL
1902 EnumFontFamiliesW(HDC, LPCWSTR, FONTENUMPROC, LPARAM);
1903
1904 int
1905 STDCALL
1906 EnumFontsW(HDC, LPCWSTR,  ENUMFONTSPROC, LPARAM);
1907
1908 WINBOOL
1909 STDCALL
1910 GetCharWidthW(HDC, UINT, UINT, LPINT);
1911
1912 WINBOOL
1913 STDCALL 
1914 GetCharWidth32W(HDC, UINT, UINT, LPINT);
1915
1916 WINBOOL
1917 STDCALL
1918 GetCharWidthFloatW(HDC, UINT, UINT, PFLOAT);
1919
1920 WINBOOL
1921 STDCALL
1922 GetCharABCWidthsW(HDC, UINT, UINT, LPABC);
1923
1924 WINBOOL
1925 STDCALL
1926 GetCharABCWidthsFloatW(HDC, UINT, UINT, LPABCFLOAT);
1927
1928 DWORD
1929 STDCALL
1930 GetGlyphOutlineW(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, CONST MAT2 *);
1931
1932 HMETAFILE
1933 STDCALL
1934 GetMetaFileW(LPCWSTR);
1935
1936 UINT
1937 STDCALL
1938 GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRIC);
1939
1940 WINBOOL
1941 STDCALL GetTextExtentPointW(
1942                     HDC,
1943                     LPCWSTR,
1944                     int,
1945                     LPSIZE
1946                     );
1947
1948 WINBOOL
1949 STDCALL
1950 GetTextExtentPoint32W(
1951                     HDC,
1952                     LPCWSTR,
1953                     int,
1954                     LPSIZE
1955                     );
1956
1957 WINBOOL
1958 STDCALL
1959 GetTextExtentExPointW(
1960                     HDC,
1961                     LPCWSTR,
1962                     int,
1963                     int,
1964                     LPINT,
1965                     LPINT,
1966                     LPSIZE
1967                     );
1968
1969 DWORD
1970 STDCALL
1971 GetCharacterPlacementW(HDC, LPCWSTR, int, int, LPGCP_RESULTS, DWORD);
1972
1973 HDC
1974 STDCALL
1975 ResetDCW(HDC, CONST DEVMODEW *);
1976
1977 WINBOOL
1978 STDCALL
1979 RemoveFontResourceW(LPCWSTR);
1980
1981 HENHMETAFILE
1982 STDCALL
1983 CopyEnhMetaFileW(HENHMETAFILE, LPCWSTR);
1984
1985 HDC
1986 STDCALL
1987 CreateEnhMetaFileW(HDC, LPCWSTR, CONST RECT *, LPCWSTR);
1988
1989 HENHMETAFILE
1990 STDCALL
1991 GetEnhMetaFileW(LPCWSTR);
1992
1993 UINT
1994 STDCALL
1995 GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR );
1996
1997 WINBOOL
1998 STDCALL
1999 GetTextMetricsW(HDC, LPTEXTMETRIC);
2000
2001 int
2002 STDCALL
2003 StartDocW(HDC, CONST DOCINFO *);
2004
2005 int
2006 STDCALL
2007 GetObjectW(HGDIOBJ, int, LPVOID);
2008
2009 WINBOOL
2010 STDCALL
2011 TextOutW(HDC, int, int, LPCWSTR, int);
2012
2013 WINBOOL
2014 STDCALL
2015 ExtTextOutW(HDC, int, int, UINT, CONST RECT *,LPCWSTR, UINT, CONST INT *);
2016
2017 WINBOOL
2018 STDCALL
2019 PolyTextOutW(HDC, CONST POLYTEXT *, int);
2020
2021 int
2022 STDCALL
2023 GetTextFaceW(HDC, int, LPWSTR);
2024
2025 DWORD
2026 STDCALL
2027 GetKerningPairsW(HDC, DWORD, LPKERNINGPAIR);
2028
2029 WINBOOL
2030 STDCALL
2031 GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACE,DWORD);
2032
2033 HCOLORSPACE
2034 STDCALL
2035 CreateColorSpaceW(LPLOGCOLORSPACE);
2036
2037 WINBOOL
2038 STDCALL
2039 GetICMProfileW(HDC,DWORD,LPWSTR);
2040
2041 WINBOOL
2042 STDCALL
2043 SetICMProfileW(HDC,LPWSTR);
2044
2045 WINBOOL
2046 STDCALL
2047 UpdateICMRegKeyW(DWORD, DWORD, LPWSTR, UINT);
2048
2049 int
2050 STDCALL
2051 EnumICMProfilesW(HDC,ICMENUMPROC,LPARAM);
2052
2053 HPROPSHEETPAGE
2054 STDCALL
2055 CreatePropertySheetPageW(LPCPROPSHEETPAGE lppsp);
2056
2057 int
2058 STDCALL
2059 PropertySheetW(LPCPROPSHEETHEADER lppsph);
2060
2061 HIMAGELIST
2062 STDCALL
2063 ImageList_LoadImageW(HINSTANCE hi, 
2064 LPCWSTR lpbmp, 
2065 int cx, 
2066 int cGrow, 
2067 COLORREF crMask, 
2068 UINT uType, 
2069 UINT uFlags);
2070
2071 HWND
2072 STDCALL
2073 CreateStatusWindowW(LONG style, LPCWSTR lpszText, HWND hwndParent, UINT wID);
2074
2075 void
2076 STDCALL
2077 DrawStatusTextW(HDC hDC, LPRECT lprc, LPCWSTR pszText, UINT uFlags);
2078
2079 WINBOOL
2080 STDCALL
2081 GetOpenFileNameW(LPOPENFILENAME);
2082
2083 WINBOOL
2084 STDCALL
2085 GetSaveFileNameW(LPOPENFILENAME);
2086
2087 short
2088 STDCALL
2089 GetFileTitleW(LPCWSTR, LPWSTR, WORD);
2090
2091 WINBOOL
2092 STDCALL
2093 ChooseColorW(LPCHOOSECOLOR);
2094
2095 HWND
2096 STDCALL
2097 ReplaceTextW(LPFINDREPLACE);
2098
2099 WINBOOL
2100 STDCALL
2101 ChooseFontW(LPCHOOSEFONT);
2102
2103 HWND
2104 STDCALL
2105 FindTextW(LPFINDREPLACE);
2106
2107 WINBOOL
2108 STDCALL
2109 PrintDlgW(LPPRINTDLG);
2110
2111 WINBOOL
2112 STDCALL
2113 PageSetupDlgW(LPPAGESETUPDLG);
2114
2115 WINBOOL
2116 STDCALL
2117 CreateProcessW(
2118     LPCWSTR lpApplicationName,
2119     LPWSTR lpCommandLine,
2120     LPSECURITY_ATTRIBUTES lpProcessAttributes,
2121     LPSECURITY_ATTRIBUTES lpThreadAttributes,
2122     WINBOOL bInheritHandles,
2123     DWORD dwCreationFlags,
2124     LPVOID lpEnvironment,
2125     LPCWSTR lpCurrentDirectory,
2126     LPSTARTUPINFOW lpStartupInfo,
2127     LPPROCESS_INFORMATION lpProcessInformation
2128     );
2129
2130 VOID
2131 STDCALL
2132 GetStartupInfoW(
2133     LPSTARTUPINFOW lpStartupInfo
2134     );
2135
2136 WINBASEAPI
2137 HANDLE
2138 WINAPI
2139 FindFirstFileExW (
2140         LPCWSTR                 lpFileName,
2141         FINDEX_INFO_LEVELS      fInfoLevelId,
2142         LPVOID                  lpFindFileData,
2143         FINDEX_SEARCH_OPS       fSearchOp,
2144         LPVOID                  lpSearchFilter,
2145         DWORD                   dwAdditionalFlags
2146         );
2147
2148 HANDLE
2149 STDCALL
2150 FindFirstFileW(
2151     LPCWSTR lpFileName,
2152     LPWIN32_FIND_DATAW lpFindFileData
2153     );
2154
2155 WINBOOL
2156 STDCALL
2157 FindNextFileW(
2158     HANDLE hFindFile,
2159     LPWIN32_FIND_DATAW lpFindFileData
2160     );
2161
2162 WINBOOL
2163 STDCALL
2164 GetVersionExW(
2165     LPOSVERSIONINFOW lpVersionInformation
2166     );
2167
2168 #define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\
2169 nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\
2170 CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,\
2171 nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
2172
2173 #define CreateDialogW(hInstance, lpName, hWndParent, lpDialogFunc) \
2174 CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0L)
2175
2176 #define CreateDialogIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
2177 CreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
2178
2179 #define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
2180 DialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
2181
2182 #define DialogBoxIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \
2183 DialogBoxIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)
2184
2185 HDC
2186 STDCALL
2187 CreateDCW(LPCWSTR, LPCWSTR , LPCWSTR , CONST DEVMODEW *);
2188
2189 HFONT
2190 STDCALL
2191 CreateFontA(int, int, int, int, int, DWORD,
2192                              DWORD, DWORD, DWORD, DWORD, DWORD,
2193                              DWORD, DWORD, LPCSTR);
2194
2195 DWORD
2196 STDCALL
2197 VerInstallFileW(
2198         DWORD uFlags,
2199         LPWSTR szSrcFileName,
2200         LPWSTR szDestFileName,
2201         LPWSTR szSrcDir,
2202         LPWSTR szDestDir,
2203         LPWSTR szCurDir,
2204         LPWSTR szTmpFile,
2205         PUINT lpuTmpFileLen
2206         );
2207
2208 DWORD
2209 STDCALL
2210 GetFileVersionInfoSizeW(
2211         LPWSTR lptstrFilename,
2212         LPDWORD lpdwHandle
2213         );
2214
2215 WINBOOL
2216 STDCALL
2217 GetFileVersionInfoW(
2218         LPWSTR lptstrFilename,
2219         DWORD dwHandle,
2220         DWORD dwLen,
2221         LPVOID lpData
2222         );
2223
2224 DWORD
2225 STDCALL
2226 VerLanguageNameW(
2227         DWORD wLang,
2228         LPWSTR szLang,
2229         DWORD nSize
2230         );
2231
2232 WINBOOL
2233 STDCALL
2234 VerQueryValueW(
2235         const LPVOID pBlock,
2236         LPWSTR lpSubBlock,
2237         LPVOID * lplpBuffer,
2238         PUINT puLen
2239         );
2240
2241 DWORD
2242 STDCALL
2243 VerFindFileW(
2244         DWORD uFlags,
2245         LPWSTR szFileName,
2246         LPWSTR szWinDir,
2247         LPWSTR szAppDir,
2248         LPWSTR szCurDir,
2249         PUINT lpuCurDirLen,
2250         LPWSTR szDestDir,
2251         PUINT lpuDestDirLen
2252         );
2253
2254 LONG
2255 STDCALL
2256 RegSetValueExW (
2257     HKEY hKey,
2258     LPCWSTR lpValueName,
2259     DWORD Reserved,
2260     DWORD dwType,
2261     CONST BYTE* lpData,
2262     DWORD cbData
2263     );
2264
2265 LONG
2266 STDCALL
2267 RegUnLoadKeyW (
2268     HKEY    hKey,
2269     LPCWSTR lpSubKey
2270     );
2271
2272 WINBOOL
2273 STDCALL
2274 InitiateSystemShutdownW(
2275     LPWSTR lpMachineName,
2276     LPWSTR lpMessage,
2277     DWORD dwTimeout,
2278     WINBOOL bForceAppsClosed,
2279     WINBOOL bRebootAfterShutdown
2280     );
2281
2282 WINBOOL
2283 STDCALL
2284 AbortSystemShutdownW(
2285     LPCWSTR lpMachineName
2286     );
2287
2288 LONG
2289 STDCALL
2290 RegRestoreKeyW (
2291     HKEY hKey,
2292     LPCWSTR lpFile,
2293     DWORD   dwFlags
2294     );
2295
2296 LONG
2297 STDCALL
2298 RegSaveKeyW (
2299     HKEY hKey,
2300     LPCWSTR lpFile,
2301     LPSECURITY_ATTRIBUTES lpSecurityAttributes
2302     );
2303
2304 LONG
2305 STDCALL
2306 RegSetValueW (
2307     HKEY hKey,
2308     LPCWSTR lpSubKey,
2309     DWORD dwType,
2310     LPCWSTR lpData,
2311     DWORD cbData
2312     );
2313
2314 LONG
2315 STDCALL
2316 RegQueryValueW (
2317     HKEY hKey,
2318     LPCWSTR lpSubKey,
2319     LPWSTR lpValue,
2320     PLONG   lpcbValue
2321     );
2322
2323 LONG
2324 STDCALL
2325 RegQueryMultipleValuesW (
2326     HKEY hKey,
2327     PVALENTW val_list,
2328     DWORD num_vals,
2329     LPWSTR lpValueBuf,
2330     LPDWORD ldwTotsize
2331     );
2332
2333 LONG
2334 STDCALL
2335 RegQueryValueExW (
2336     HKEY hKey,
2337     LPCWSTR lpValueName,
2338     LPDWORD lpReserved,
2339     LPDWORD lpType,
2340     LPBYTE lpData,
2341     LPDWORD lpcbData
2342     );
2343
2344 LONG
2345 STDCALL
2346 RegReplaceKeyW (
2347     HKEY     hKey,
2348     LPCWSTR  lpSubKey,
2349     LPCWSTR  lpNewFile,
2350     LPCWSTR  lpOldFile
2351     );
2352
2353 LONG
2354 STDCALL
2355 RegConnectRegistryW (
2356     LPCWSTR lpMachineName,
2357     HKEY hKey,
2358     PHKEY phkResult
2359     );
2360
2361 LONG
2362 STDCALL
2363 RegCreateKeyW (
2364     HKEY hKey,
2365     LPCWSTR lpSubKey,
2366     PHKEY phkResult
2367     );
2368
2369 LONG
2370 STDCALL
2371 RegCreateKeyExW (
2372     HKEY hKey,
2373     LPCWSTR lpSubKey,
2374     DWORD Reserved,
2375     LPWSTR lpClass,
2376     DWORD dwOptions,
2377     REGSAM samDesired,
2378     LPSECURITY_ATTRIBUTES lpSecurityAttributes,
2379     PHKEY phkResult,
2380     LPDWORD lpdwDisposition
2381     );
2382
2383 LONG
2384 STDCALL
2385 RegDeleteKeyW (
2386     HKEY hKey,
2387     LPCWSTR lpSubKey
2388     );
2389
2390 LONG
2391 STDCALL
2392 RegDeleteValueW (
2393     HKEY hKey,
2394     LPCWSTR lpValueName
2395     );
2396
2397 LONG
2398 STDCALL
2399 RegEnumKeyW (
2400     HKEY hKey,
2401     DWORD dwIndex,
2402     LPWSTR lpName,
2403     DWORD cbName
2404     );
2405
2406 LONG
2407 STDCALL
2408 RegEnumKeyExW (
2409     HKEY hKey,
2410     DWORD dwIndex,
2411     LPWSTR lpName,
2412     LPDWORD lpcbName,
2413     LPDWORD lpReserved,
2414     LPWSTR lpClass,
2415     LPDWORD lpcbClass,
2416     PFILETIME lpftLastWriteTime
2417     );
2418
2419 LONG
2420 STDCALL
2421 RegEnumValueW (
2422     HKEY hKey,
2423     DWORD dwIndex,
2424     LPWSTR lpValueName,
2425     LPDWORD lpcbValueName,
2426     LPDWORD lpReserved,
2427     LPDWORD lpType,
2428     LPBYTE lpData,
2429     LPDWORD lpcbData
2430     );
2431
2432 LONG
2433 STDCALL
2434 RegLoadKeyW (
2435     HKEY    hKey,
2436     LPCWSTR  lpSubKey,
2437     LPCWSTR  lpFile
2438     );
2439
2440 LONG
2441 STDCALL
2442 RegOpenKeyW (
2443     HKEY hKey,
2444     LPCWSTR lpSubKey,
2445     PHKEY phkResult
2446     );
2447
2448 LONG
2449 STDCALL
2450 RegOpenKeyExW (
2451     HKEY hKey,
2452     LPCWSTR lpSubKey,
2453     DWORD ulOptions,
2454     REGSAM samDesired,
2455     PHKEY phkResult
2456     );
2457
2458 LONG
2459 STDCALL
2460 RegQueryInfoKeyW (
2461     HKEY hKey,
2462     LPWSTR lpClass,
2463     LPDWORD lpcbClass,
2464     LPDWORD lpReserved,
2465     LPDWORD lpcSubKeys,
2466     LPDWORD lpcbMaxSubKeyLen,
2467     LPDWORD lpcbMaxClassLen,
2468     LPDWORD lpcValues,
2469     LPDWORD lpcbMaxValueNameLen,
2470     LPDWORD lpcbMaxValueLen,
2471     LPDWORD lpcbSecurityDescriptor,
2472     PFILETIME lpftLastWriteTime
2473     );
2474
2475 int
2476 STDCALL
2477 CompareStringW(
2478     LCID     Locale,
2479     DWORD    dwCmpFlags,
2480     LPCWSTR lpString1,
2481     int      cchCount1,
2482     LPCWSTR lpString2,
2483     int      cchCount2);
2484
2485 int
2486 STDCALL
2487 LCMapStringW(
2488     LCID     Locale,
2489     DWORD    dwMapFlags,
2490     LPCWSTR lpSrcStr,
2491     int      cchSrc,
2492     LPWSTR  lpDestStr,
2493     int      cchDest);
2494
2495
2496 int
2497 STDCALL
2498 GetLocaleInfoW(
2499     LCID     Locale,
2500     LCTYPE   LCType,
2501     LPWSTR  lpLCData,
2502     int      cchData);
2503
2504 WINBOOL
2505 STDCALL
2506 SetLocaleInfoW(
2507     LCID     Locale,
2508     LCTYPE   LCType,
2509     LPCWSTR lpLCData);
2510
2511 int
2512 STDCALL
2513 GetTimeFormatW(
2514     LCID     Locale,
2515     DWORD    dwFlags,
2516     CONST SYSTEMTIME *lpTime,
2517     LPCWSTR lpFormat,
2518     LPWSTR  lpTimeStr,
2519     int      cchTime);
2520
2521 int
2522 STDCALL
2523 GetDateFormatW(
2524     LCID     Locale,
2525     DWORD    dwFlags,
2526     CONST SYSTEMTIME *lpDate,
2527     LPCWSTR lpFormat,
2528     LPWSTR  lpDateStr,
2529     int      cchDate);
2530
2531 int
2532 STDCALL
2533 GetNumberFormatW(
2534     LCID     Locale,
2535     DWORD    dwFlags,
2536     LPCWSTR lpValue,
2537     CONST NUMBERFMT *lpFormat,
2538     LPWSTR  lpNumberStr,
2539     int      cchNumber);
2540
2541 int
2542 STDCALL
2543 GetCurrencyFormatW(
2544     LCID     Locale,
2545     DWORD    dwFlags,
2546     LPCWSTR lpValue,
2547     CONST CURRENCYFMT *lpFormat,
2548     LPWSTR  lpCurrencyStr,
2549     int      cchCurrency);
2550
2551 WINBOOL
2552 STDCALL
2553 EnumCalendarInfoW(
2554     CALINFO_ENUMPROC lpCalInfoEnumProc,
2555     LCID              Locale,
2556     CALID             Calendar,
2557     CALTYPE           CalType);
2558
2559 WINBOOL
2560 STDCALL
2561 EnumTimeFormatsW(
2562     TIMEFMT_ENUMPROC lpTimeFmtEnumProc,
2563     LCID              Locale,
2564     DWORD             dwFlags);
2565
2566 WINBOOL
2567 STDCALL
2568 EnumDateFormatsW(
2569     DATEFMT_ENUMPROC lpDateFmtEnumProc,
2570     LCID              Locale,
2571     DWORD             dwFlags);
2572
2573 WINBOOL
2574 STDCALL
2575 GetStringTypeExW(
2576     LCID     Locale,
2577     DWORD    dwInfoType,
2578     LPCWSTR lpSrcStr,
2579     int      cchSrc,
2580     LPWORD   lpCharType);
2581
2582 WINBOOL
2583 STDCALL
2584 GetStringTypeW(
2585     DWORD    dwInfoType,
2586     LPCWSTR  lpSrcStr,
2587     int      cchSrc,
2588     LPWORD   lpCharType);
2589
2590 int
2591 STDCALL
2592 FoldStringW(
2593     DWORD    dwMapFlags,
2594     LPCWSTR lpSrcStr,
2595     int      cchSrc,
2596     LPWSTR  lpDestStr,
2597     int      cchDest);
2598
2599 WINBOOL
2600 STDCALL
2601 EnumSystemLocalesW(
2602     LOCALE_ENUMPROC lpLocaleEnumProc,
2603     DWORD            dwFlags);
2604
2605 WINBOOL
2606 STDCALL
2607 EnumSystemCodePagesW(
2608     CODEPAGE_ENUMPROC lpCodePageEnumProc,
2609     DWORD              dwFlags);
2610
2611 WINBOOL
2612 STDCALL
2613 PeekConsoleInputW(
2614     HANDLE hConsoleInput,
2615     PINPUT_RECORD lpBuffer,
2616     DWORD nLength,
2617     LPDWORD lpNumberOfEventsRead
2618     );
2619
2620 WINBOOL
2621 STDCALL
2622 ReadConsoleInputW(
2623     HANDLE hConsoleInput,
2624     PINPUT_RECORD lpBuffer,
2625     DWORD nLength,
2626     LPDWORD lpNumberOfEventsRead
2627     );
2628
2629 WINBOOL
2630 STDCALL
2631 WriteConsoleInputW(
2632     HANDLE hConsoleInput,
2633     CONST INPUT_RECORD *lpBuffer,
2634     DWORD nLength,
2635     LPDWORD lpNumberOfEventsWritten
2636     );
2637
2638 WINBOOL
2639 STDCALL
2640 ReadConsoleOutputW(
2641     HANDLE hConsoleOutput,
2642     PCHAR_INFO lpBuffer,
2643     COORD dwBufferSize,
2644     COORD dwBufferCoord,
2645     PSMALL_RECT lpReadRegion
2646     );
2647
2648 WINBOOL
2649 STDCALL
2650 WriteConsoleOutputW(
2651     HANDLE hConsoleOutput,
2652     CONST CHAR_INFO *lpBuffer,
2653     COORD dwBufferSize,
2654     COORD dwBufferCoord,
2655     PSMALL_RECT lpWriteRegion
2656     );
2657
2658 WINBOOL
2659 STDCALL
2660 ReadConsoleOutputCharacterW(
2661     HANDLE hConsoleOutput,
2662     LPWSTR lpCharacter,
2663     DWORD nLength,
2664     COORD dwReadCoord,
2665     LPDWORD lpNumberOfCharsRead
2666     );
2667
2668 WINBOOL
2669 STDCALL
2670 WriteConsoleOutputCharacterW(
2671     HANDLE hConsoleOutput,
2672     LPCWSTR lpCharacter,
2673     DWORD nLength,
2674     COORD dwWriteCoord,
2675     LPDWORD lpNumberOfCharsWritten
2676     );
2677
2678 WINBOOL
2679 STDCALL
2680 FillConsoleOutputCharacterW(
2681     HANDLE hConsoleOutput,
2682     WCHAR  cCharacter,
2683     DWORD  nLength,
2684     COORD  dwWriteCoord,
2685     LPDWORD lpNumberOfCharsWritten
2686     );
2687
2688 WINBOOL
2689 STDCALL
2690 ScrollConsoleScreenBufferW(
2691     HANDLE hConsoleOutput,
2692     CONST SMALL_RECT *lpScrollRectangle,
2693     CONST SMALL_RECT *lpClipRectangle,
2694     COORD dwDestinationOrigin,
2695     CONST CHAR_INFO *lpFill
2696     );
2697
2698 DWORD
2699 STDCALL
2700 GetConsoleTitleW(
2701     LPWSTR lpConsoleTitle,
2702     DWORD nSize
2703     );
2704
2705 WINBOOL
2706 STDCALL
2707 SetConsoleTitleW(
2708     LPCWSTR lpConsoleTitle
2709     );
2710
2711 WINBOOL
2712 STDCALL
2713 ReadConsoleW(
2714     HANDLE hConsoleInput,
2715     LPVOID lpBuffer,
2716     DWORD nNumberOfCharsToRead,
2717     LPDWORD lpNumberOfCharsRead,
2718     LPVOID lpReserved
2719     );
2720
2721 WINBOOL
2722 STDCALL
2723 WriteConsoleW(
2724     HANDLE hConsoleOutput,
2725     CONST VOID *lpBuffer,
2726     DWORD nNumberOfCharsToWrite,
2727     LPDWORD lpNumberOfCharsWritten,
2728     LPVOID lpReserved
2729     );
2730
2731 DWORD STDCALL
2732 WNetAddConnectionW(
2733      LPCWSTR   lpRemoteName,
2734      LPCWSTR   lpPassword,
2735      LPCWSTR   lpLocalName
2736     );
2737
2738 DWORD STDCALL
2739 WNetAddConnection2W(
2740      LPNETRESOURCE lpNetResource,
2741      LPCWSTR       lpPassword,
2742      LPCWSTR       lpUserName,
2743      DWORD          dwFlags
2744     );
2745
2746 DWORD STDCALL
2747 WNetAddConnection3W(
2748      HWND           hwndOwner,
2749      LPNETRESOURCE lpNetResource,
2750      LPCWSTR       lpPassword,
2751      LPCWSTR       lpUserName,
2752      DWORD          dwFlags
2753     );
2754
2755 DWORD STDCALL
2756 WNetCancelConnectionW(
2757      LPCWSTR lpName,
2758      WINBOOL     fForce
2759     );
2760
2761 DWORD STDCALL
2762 WNetCancelConnection2W(
2763      LPCWSTR lpName,
2764      DWORD    dwFlags,
2765      WINBOOL     fForce
2766     );
2767
2768 DWORD STDCALL
2769 WNetGetConnectionW(
2770      LPCWSTR lpLocalName,
2771      LPWSTR  lpRemoteName,
2772      LPDWORD  lpnLength
2773     );
2774
2775 DWORD STDCALL
2776 WNetUseConnectionW(
2777     HWND            hwndOwner,
2778     LPNETRESOURCE  lpNetResource,
2779     LPCWSTR        lpUserID,
2780     LPCWSTR        lpPassword,
2781     DWORD           dwFlags,
2782     LPWSTR         lpAccessName,
2783     LPDWORD         lpBufferSize,
2784     LPDWORD         lpResult
2785     );
2786
2787 DWORD STDCALL
2788 WNetSetConnectionW(
2789     LPCWSTR    lpName,
2790     DWORD       dwProperties,
2791     LPVOID      pvValues
2792     );
2793
2794 DWORD STDCALL
2795 WNetConnectionDialog1W(
2796     LPCONNECTDLGSTRUCT lpConnDlgStruct
2797     );
2798
2799 DWORD STDCALL
2800 WNetDisconnectDialog1W(
2801     LPDISCDLGSTRUCT lpConnDlgStruct
2802     );
2803
2804 DWORD STDCALL
2805 WNetOpenEnumW(
2806      DWORD          dwScope,
2807      DWORD          dwType,
2808      DWORD          dwUsage,
2809      LPNETRESOURCE lpNetResource,
2810      LPHANDLE       lphEnum
2811     );
2812
2813 DWORD STDCALL
2814 WNetEnumResourceW(
2815      HANDLE  hEnum,
2816      LPDWORD lpcCount,
2817      LPVOID  lpBuffer,
2818      LPDWORD lpBufferSize
2819     );
2820
2821 DWORD STDCALL
2822 WNetGetUniversalNameW(
2823      LPCWSTR lpLocalPath,
2824      DWORD    dwInfoLevel,
2825      LPVOID   lpBuffer,
2826      LPDWORD  lpBufferSize
2827      );
2828
2829 DWORD STDCALL
2830 WNetGetUserW(
2831      LPCWSTR  lpName,
2832      LPWSTR   lpUserName,
2833      LPDWORD   lpnLength
2834     );
2835
2836 DWORD STDCALL
2837 WNetGetProviderNameW(
2838     DWORD   dwNetType,
2839     LPWSTR lpProviderName,
2840     LPDWORD lpBufferSize
2841     );
2842
2843 DWORD STDCALL
2844 WNetGetNetworkInformationW(
2845     LPCWSTR          lpProvider,
2846     LPNETINFOSTRUCT   lpNetInfoStruct
2847     );
2848
2849 DWORD STDCALL
2850 WNetGetLastErrorW(
2851      LPDWORD    lpError,
2852      LPWSTR    lpErrorBuf,
2853      DWORD      nErrorBufSize,
2854      LPWSTR    lpNameBuf,
2855      DWORD      nNameBufSize
2856     );
2857
2858 DWORD STDCALL
2859 MultinetGetConnectionPerformanceW(
2860         LPNETRESOURCE lpNetResource,
2861         LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct
2862         );
2863
2864 WINBOOL
2865 STDCALL
2866 ChangeServiceConfigW(
2867     SC_HANDLE    hService,
2868     DWORD        dwServiceType,
2869     DWORD        dwStartType,
2870     DWORD        dwErrorControl,
2871     LPCWSTR     lpBinaryPathName,
2872     LPCWSTR     lpLoadOrderGroup,
2873     LPDWORD      lpdwTagId,
2874     LPCWSTR     lpDependencies,
2875     LPCWSTR     lpServiceStartName,
2876     LPCWSTR     lpPassword,
2877     LPCWSTR     lpDisplayName
2878     );
2879
2880 SC_HANDLE
2881 STDCALL
2882 CreateServiceW(
2883     SC_HANDLE    hSCManager,
2884     LPCWSTR     lpServiceName,
2885     LPCWSTR     lpDisplayName,
2886     DWORD        dwDesiredAccess,
2887     DWORD        dwServiceType,
2888     DWORD        dwStartType,
2889     DWORD        dwErrorControl,
2890     LPCWSTR     lpBinaryPathName,
2891     LPCWSTR     lpLoadOrderGroup,
2892     LPDWORD      lpdwTagId,
2893     LPCWSTR     lpDependencies,
2894     LPCWSTR     lpServiceStartName,
2895     LPCWSTR     lpPassword
2896     );
2897
2898 WINBOOL
2899 STDCALL
2900 EnumDependentServicesW(
2901     SC_HANDLE               hService,
2902     DWORD                   dwServiceState,
2903     LPENUM_SERVICE_STATUSW  lpServices,
2904     DWORD                   cbBufSize,
2905     LPDWORD                 pcbBytesNeeded,
2906     LPDWORD                 lpServicesReturned
2907     );
2908
2909 WINBOOL
2910 STDCALL
2911 EnumServicesStatusW(
2912     SC_HANDLE               hSCManager,
2913     DWORD                   dwServiceType,
2914     DWORD                   dwServiceState,
2915     LPENUM_SERVICE_STATUSW  lpServices,
2916     DWORD                   cbBufSize,
2917     LPDWORD                 pcbBytesNeeded,
2918     LPDWORD                 lpServicesReturned,
2919     LPDWORD                 lpResumeHandle
2920     );
2921
2922 WINBOOL
2923 STDCALL
2924 GetServiceKeyNameW(
2925     SC_HANDLE               hSCManager,
2926     LPCWSTR                 lpDisplayName,
2927     LPWSTR                  lpServiceName,
2928     LPDWORD                 lpcchBuffer
2929     );
2930
2931 WINBOOL
2932 STDCALL
2933 GetServiceDisplayNameW(
2934     SC_HANDLE               hSCManager,
2935     LPCWSTR                 lpServiceName,
2936     LPWSTR                  lpDisplayName,
2937     LPDWORD                 lpcchBuffer
2938     );
2939
2940 SC_HANDLE
2941 STDCALL
2942 OpenSCManagerW(
2943     LPCWSTR lpMachineName,
2944     LPCWSTR lpDatabaseName,
2945     DWORD   dwDesiredAccess
2946     );
2947
2948 SC_HANDLE
2949 STDCALL
2950 OpenServiceW(
2951     SC_HANDLE   hSCManager,
2952     LPCWSTR     lpServiceName,
2953     DWORD       dwDesiredAccess
2954     );
2955
2956 WINBOOL
2957 STDCALL
2958 QueryServiceConfigW(
2959     SC_HANDLE               hService,
2960     LPQUERY_SERVICE_CONFIGW lpServiceConfig,
2961     DWORD                   cbBufSize,
2962     LPDWORD                 pcbBytesNeeded
2963     );
2964
2965 WINBOOL
2966 STDCALL
2967 QueryServiceLockStatusW(
2968     SC_HANDLE                       hSCManager,
2969     LPQUERY_SERVICE_LOCK_STATUSW    lpLockStatus,
2970     DWORD                           cbBufSize,
2971     LPDWORD                         pcbBytesNeeded
2972     );
2973
2974 SERVICE_STATUS_HANDLE
2975 STDCALL
2976 RegisterServiceCtrlHandlerW(
2977     LPCWSTR              lpServiceName,
2978     LPHANDLER_FUNCTION   lpHandlerProc
2979     );
2980
2981 WINBOOL
2982 STDCALL
2983 StartServiceCtrlDispatcherW(
2984     LPSERVICE_TABLE_ENTRYW   lpServiceStartTable
2985     );
2986
2987 WINBOOL
2988 STDCALL
2989 StartServiceW(
2990     SC_HANDLE            hService,
2991     DWORD                dwNumServiceArgs,
2992     LPCWSTR             *lpServiceArgVectors
2993     );
2994
2995 /* Extensions to OpenGL */
2996
2997 WINBOOL STDCALL
2998 wglUseFontBitmapsW(HDC, DWORD, DWORD, DWORD);
2999
3000 WINBOOL STDCALL
3001 wglUseFontOutlinesW(HDC, DWORD, DWORD, DWORD, FLOAT,
3002                     FLOAT, int, LPGLYPHMETRICSFLOAT);
3003
3004 /* ------------------------------------- */
3005 /* From shellapi.h in old Cygnus headers */
3006
3007 unsigned int WINAPI
3008 DragQueryFileW(HDROP, unsigned int, LPCWSTR, unsigned int);
3009
3010 HICON WINAPI
3011 ExtractAssociatedIconW (HINSTANCE, LPCWSTR, WORD *);
3012
3013 HICON WINAPI
3014 ExtractIconW (HINSTANCE, const LPCWSTR, unsigned int);
3015
3016 HINSTANCE WINAPI
3017 FindExecutableW (const LPCWSTR, const LPCWSTR, LPCWSTR);
3018
3019 int WINAPI
3020 ShellAboutW (HWND, const LPCWSTR, const LPCWSTR, HICON);
3021
3022 HINSTANCE WINAPI
3023 ShellExecuteW (HWND, const LPCWSTR, const LPCWSTR, LPCWSTR, const LPCWSTR, int);
3024
3025 /* end of stuff from shellapi.h in old Cygnus headers */
3026 /* -------------------------------------------------- */
3027 /* From ddeml.h in old Cygnus headers */
3028
3029 HSZ
3030 WINAPI
3031 DdeCreateStringHandleW(
3032   DWORD idInst,
3033   LPWSTR psz,
3034   int iCodePage);
3035
3036 UINT WINAPI
3037 DdeInitializeW (DWORD *, CALLB, DWORD, DWORD);
3038
3039 DWORD
3040 WINAPI
3041 DdeQueryStringW(
3042   DWORD idInst,
3043   HSZ hsz,
3044   LPWSTR psz,
3045   DWORD cchMax,
3046   int iCodePage);
3047
3048 /* end of stuff from ddeml.h in old Cygnus headers */
3049 /* ----------------------------------------------- */
3050
3051 WINBOOL STDCALL LogonUserW (LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, HANDLE *);
3052 WINBOOL STDCALL CreateProcessAsUserW (HANDLE, LPCWSTR, LPWSTR,
3053                         SECURITY_ATTRIBUTES*, SECURITY_ATTRIBUTES*, WINBOOL,
3054                         DWORD, LPVOID, LPCWSTR, STARTUPINFOW*,
3055                         PROCESS_INFORMATION*);
3056
3057 #ifdef __cplusplus
3058 }
3059 #endif /* __cplusplus */
3060
3061 #endif /* _GNU_H_WINDOWS32_UNICODEFUNCTIONS */