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