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