Implement GetStringTypeA/W() and GetStringTypeExA/W()
[reactos.git] / reactos / lib / kernel32 / misc / stubs.c
1 /* $Id: stubs.c,v 1.93 2004/10/04 19:17:58 gvg Exp $
2 *
3 * KERNEL32.DLL stubs (STUB functions)
4 * Remove from this file, if you implement them.
5 */
6
7 #include <k32.h>
8
9 #define NDEBUG
10 #include "../include/debug.h"
11
12
13 #define STUB \
14 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); \
15 DPRINT1("%s() is UNIMPLEMENTED!\n", __FUNCTION__)
16
17 /*
18 * @unimplemented
19 */
20 BOOL
21 STDCALL
22 BaseAttachCompleteThunk (VOID)
23 {
24 STUB;
25 return FALSE;
26 }
27
28 /*
29 * @unimplemented
30 */
31 VOID STDCALL
32 BaseDumpAppcompatCache(VOID)
33 {
34 STUB;
35 }
36
37 /*
38 * @unimplemented
39 */
40 VOID STDCALL
41 BaseFlushAppcompatCache(VOID)
42 {
43 STUB;
44 }
45
46 /*
47 * @unimplemented
48 */
49 VOID STDCALL
50 BaseCheckAppcompatCache(ULONG Unknown1, ULONG Unknown2, ULONG Unknown3, ULONG Unknown4)
51 {
52 STUB;
53 }
54
55 /*
56 * @unimplemented
57 */
58 VOID STDCALL
59 BaseUpdateAppcompatCache(ULONG Unknown1, ULONG Unknown2, ULONG Unknown3)
60 {
61 STUB;
62 }
63
64 /*
65 * @unimplemented
66 */
67 BOOL
68 STDCALL
69 CmdBatNotification (
70 DWORD Unknown
71 )
72 {
73 STUB;
74 return FALSE;
75 }
76
77
78 /*
79 * @unimplemented
80 */
81 int
82 STDCALL
83 CompareStringA (
84 LCID Locale,
85 DWORD dwCmpFlags,
86 LPCSTR lpString1,
87 int cchCount1,
88 LPCSTR lpString2,
89 int cchCount2
90 )
91 {
92 STUB;
93 return 0;
94 }
95
96
97 /*
98 * @unimplemented
99 */
100 int
101 STDCALL
102 CompareStringW (
103 LCID Locale,
104 DWORD dwCmpFlags,
105 LPCWSTR lpString1,
106 int cchCount1,
107 LPCWSTR lpString2,
108 int cchCount2
109 )
110 {
111 INT Result;
112 UNICODE_STRING String1, String2;
113
114 if (!lpString1 || !lpString2)
115 {
116 SetLastError(ERROR_INVALID_PARAMETER);
117 return 0;
118 }
119
120 if (dwCmpFlags & ~(NORM_IGNORECASE | NORM_IGNORENONSPACE |
121 NORM_IGNORESYMBOLS | SORT_STRINGSORT | NORM_IGNOREKANATYPE |
122 NORM_IGNOREWIDTH | 0x10000000))
123 {
124 SetLastError(ERROR_INVALID_FLAGS);
125 return 0;
126 }
127
128 if (dwCmpFlags & ~NORM_IGNORECASE)
129 {
130 DPRINT1("CompareString: STUB flags - 0x%x\n",
131 dwCmpFlags & ~NORM_IGNORECASE);
132 }
133
134 if (cchCount1 < 0) cchCount1 = lstrlenW(lpString1);
135 if (cchCount2 < 0) cchCount2 = lstrlenW(lpString2);
136
137 String1.Length = String1.MaximumLength = cchCount1 * sizeof(WCHAR);
138 String1.Buffer = (LPWSTR)lpString1;
139 String2.Length = String2.MaximumLength = cchCount2 * sizeof(WCHAR);
140 String2.Buffer = (LPWSTR)lpString2;
141
142 Result = RtlCompareUnicodeString(
143 &String1, &String2, dwCmpFlags & NORM_IGNORECASE);
144
145 if (Result) /* need to translate result */
146 return (Result < 0) ? CSTR_LESS_THAN : CSTR_GREATER_THAN;
147
148 return CSTR_EQUAL;
149 }
150
151
152 /*
153 * @unimplemented
154 */
155 DWORD
156 STDCALL
157 CreateVirtualBuffer (
158 DWORD Unknown0,
159 DWORD Unknown1,
160 DWORD Unknown2
161 )
162 {
163 STUB;
164 return 0;
165 }
166
167
168 /*
169 * @unimplemented
170 */
171 DWORD
172 STDCALL
173 ExitVDM (
174 DWORD Unknown0,
175 DWORD Unknown1
176 )
177 {
178 STUB;
179 return 0;
180 }
181
182
183 /*
184 * @unimplemented
185 */
186 BOOL
187 STDCALL
188 ExtendVirtualBuffer (
189 DWORD Unknown0,
190 DWORD Unknown1
191 )
192 {
193 STUB;
194 return FALSE;
195 }
196
197
198 /*
199 * @unimplemented
200 */
201 int
202 STDCALL
203 FoldStringW (
204 DWORD dwMapFlags,
205 LPCWSTR lpSrcStr,
206 int cchSrc,
207 LPWSTR lpDestStr,
208 int cchDest
209 )
210 {
211 STUB;
212 return 0;
213 }
214
215
216 /*
217 * @unimplemented
218 */
219 int
220 STDCALL
221 FoldStringA (
222 DWORD dwMapFlags,
223 LPCSTR lpSrcStr,
224 int cchSrc,
225 LPSTR lpDestStr,
226 int cchDest
227 )
228 {
229 STUB;
230 return 0;
231 }
232
233
234 /*
235 * @unimplemented
236 */
237 BOOL
238 STDCALL
239 FreeVirtualBuffer (
240 HANDLE hVirtualBuffer
241 )
242 {
243 STUB;
244 return FALSE;
245 }
246
247
248 /*
249 * @unimplemented
250 */
251 DWORD
252 STDCALL
253 GetNextVDMCommand (
254 DWORD Unknown0
255 )
256 {
257 STUB;
258 return 0;
259 }
260
261
262 /*
263 * @unimplemented
264 */
265 BOOL
266 STDCALL
267 GetSystemPowerStatus (
268 LPSYSTEM_POWER_STATUS PowerStatus
269 )
270 {
271 STUB;
272 return 0;
273 }
274
275
276 /*
277 * @unimplemented
278 */
279 DWORD
280 STDCALL
281 GetVDMCurrentDirectories (
282 DWORD Unknown0,
283 DWORD Unknown1
284 )
285 {
286 STUB;
287 return 0;
288 }
289
290
291 /*
292 * @unimplemented
293 */
294 BOOL
295 STDCALL
296 RegisterConsoleVDM (
297 DWORD Unknown0,
298 DWORD Unknown1,
299 DWORD Unknown2,
300 DWORD Unknown3,
301 DWORD Unknown4,
302 DWORD Unknown5,
303 DWORD Unknown6,
304 DWORD Unknown7,
305 DWORD Unknown8,
306 DWORD Unknown9,
307 DWORD Unknown10
308 )
309 {
310 STUB;
311 return FALSE;
312 }
313
314
315 /*
316 * @unimplemented
317 */
318 BOOL
319 STDCALL
320 RegisterWowBaseHandlers (
321 DWORD Unknown0
322 )
323 {
324 STUB;
325 return FALSE;
326 }
327
328
329 /*
330 * @unimplemented
331 */
332 BOOL
333 STDCALL
334 RegisterWowExec (
335 DWORD Unknown0
336 )
337 {
338 STUB;
339 return FALSE;
340 }
341
342
343 /*
344 * @unimplemented
345 */
346 BOOL STDCALL
347 SetSystemPowerState (
348 BOOL fSuspend,
349 BOOL fForce
350 )
351 {
352 STUB;
353 return FALSE;
354 }
355
356
357 /*
358 * @unimplemented
359 */
360 BOOL
361 STDCALL
362 SetVDMCurrentDirectories (
363 DWORD Unknown0,
364 DWORD Unknown1
365 )
366 {
367 STUB;
368 return FALSE;
369 }
370
371
372 /*
373 * @unimplemented
374 */
375 DWORD
376 STDCALL
377 TrimVirtualBuffer (
378 DWORD Unknown0
379 )
380 {
381 STUB;
382 return 0;
383 }
384
385
386 /*
387 * @unimplemented
388 */
389 DWORD
390 STDCALL
391 VDMConsoleOperation (
392 DWORD Unknown0,
393 DWORD Unknown1
394 )
395 {
396 STUB;
397 return 0;
398 }
399
400
401 /*
402 * @unimplemented
403 */
404 DWORD
405 STDCALL
406 VDMOperationStarted (
407 DWORD Unknown0
408 )
409 {
410 STUB;
411 return 0;
412 }
413
414
415 /*
416 * @unimplemented
417 */
418 DWORD
419 STDCALL
420 VerLanguageNameA (
421 DWORD wLang,
422 LPSTR szLang,
423 DWORD nSize
424 )
425 {
426 STUB;
427 return 0;
428 }
429
430
431 /*
432 * @unimplemented
433 */
434 DWORD
435 STDCALL
436 VerLanguageNameW (
437 DWORD wLang,
438 LPWSTR szLang,
439 DWORD nSize
440 )
441 {
442 STUB;
443 return 0;
444 }
445
446
447 /*
448 * @unimplemented
449 */
450 DWORD
451 STDCALL
452 VirtualBufferExceptionHandler (
453 DWORD Unknown0,
454 DWORD Unknown1,
455 DWORD Unknown2
456 )
457 {
458 STUB;
459 return 0;
460 }
461
462 /*
463 * @unimplemented
464 */
465 BOOL
466 STDCALL
467 ActivateActCtx(
468 HANDLE hActCtx,
469 ULONG_PTR *lpCookie
470 )
471 {
472 STUB;
473 return 0;
474 }
475
476 /*
477 * @unimplemented
478 */
479 VOID
480 STDCALL
481 AddRefActCtx(
482 HANDLE hActCtx
483 )
484 {
485 STUB;
486 }
487
488 /*
489 * @unimplemented
490 */
491 BOOL
492 STDCALL
493 AllocateUserPhysicalPages(
494 HANDLE hProcess,
495 PULONG_PTR NumberOfPages,
496 PULONG_PTR PageArray
497 )
498 {
499 STUB;
500 return 0;
501 }
502
503 /*
504 * @unimplemented
505 */
506 BOOL
507 STDCALL
508 BindIoCompletionCallback (
509 HANDLE FileHandle,
510 LPOVERLAPPED_COMPLETION_ROUTINE Function,
511 ULONG Flags
512 )
513 {
514 STUB;
515 return 0;
516 }
517
518 /*
519 * @unimplemented
520 */
521 BOOL
522 STDCALL
523 CancelDeviceWakeupRequest(
524 HANDLE hDevice
525 )
526 {
527 STUB;
528 return 0;
529 }
530
531
532 /*
533 * @unimplemented
534 */
535 HANDLE
536 STDCALL
537 CreateActCtxA(
538 PCACTCTXA pActCtx
539 )
540 {
541 STUB;
542 return 0;
543 }
544
545 /*
546 * @unimplemented
547 */
548 HANDLE
549 STDCALL
550 CreateActCtxW(
551 PCACTCTXW pActCtx
552 )
553 {
554 STUB;
555 return 0;
556 }
557
558 /*
559 * @unimplemented
560 */
561 BOOL
562 STDCALL
563 CreateJobSet (
564 ULONG NumJob,
565 PJOB_SET_ARRAY UserJobSet,
566 ULONG Flags)
567 {
568 STUB;
569 return 0;
570 }
571
572 /*
573 * @unimplemented
574 */
575 BOOL
576 STDCALL
577 DeactivateActCtx(
578 DWORD dwFlags,
579 ULONG_PTR ulCookie
580 )
581 {
582 STUB;
583 return 0;
584 }
585
586 /*
587 * @unimplemented
588 */
589 BOOL
590 STDCALL
591 FindActCtxSectionGuid(
592 DWORD dwFlags,
593 const GUID *lpExtensionGuid,
594 ULONG ulSectionId,
595 const GUID *lpGuidToFind,
596 PACTCTX_SECTION_KEYED_DATA ReturnedData
597 )
598 {
599 STUB;
600 return 0;
601 }
602
603 /*
604 * @unimplemented
605 */
606 BOOL
607 STDCALL
608 FindVolumeClose(
609 HANDLE hFindVolume
610 )
611 {
612 STUB;
613 return 0;
614 }
615
616 /*
617 * @unimplemented
618 */
619 BOOL
620 STDCALL
621 FindVolumeMountPointClose(
622 HANDLE hFindVolumeMountPoint
623 )
624 {
625 STUB;
626 return 0;
627 }
628
629 /*
630 * @unimplemented
631 */
632 BOOL
633 STDCALL
634 FreeUserPhysicalPages(
635 HANDLE hProcess,
636 PULONG_PTR NumberOfPages,
637 PULONG_PTR PageArray
638 )
639 {
640 STUB;
641 return 0;
642 }
643
644 /*
645 * @unimplemented
646 */
647 BOOL
648 STDCALL
649 GetCurrentActCtx(
650 HANDLE *lphActCtx)
651 {
652 STUB;
653 return 0;
654 }
655
656 /*
657 * @unimplemented
658 */
659 BOOL
660 STDCALL
661 GetDevicePowerState(
662 HANDLE hDevice,
663 BOOL *pfOn
664 )
665 {
666 STUB;
667 return 0;
668 }
669
670 /*
671 * @unimplemented
672 */
673 VOID
674 STDCALL
675 GetNativeSystemInfo(
676 LPSYSTEM_INFO lpSystemInfo
677 )
678 {
679 STUB;
680 }
681
682 /*
683 * @unimplemented
684 */
685 BOOL
686 STDCALL
687 GetNumaHighestNodeNumber(
688 PULONG HighestNodeNumber
689 )
690 {
691 STUB;
692 return 0;
693 }
694
695 /*
696 * @unimplemented
697 */
698 BOOL
699 STDCALL
700 GetNumaNodeProcessorMask(
701 UCHAR Node,
702 PULONGLONG ProcessorMask
703 )
704 {
705 STUB;
706 return 0;
707 }
708
709 /*
710 * @unimplemented
711 */
712 BOOL
713 STDCALL
714 GetNumaProcessorNode(
715 UCHAR Processor,
716 PUCHAR NodeNumber
717 )
718 {
719 STUB;
720 return 0;
721 }
722
723 /*
724 * @unimplemented
725 */
726 BOOL
727 STDCALL
728 GetThreadIOPendingFlag(
729 HANDLE hThread,
730 PBOOL lpIOIsPending
731 )
732 {
733 STUB;
734 return 0;
735 }
736
737 /*
738 * @unimplemented
739 */
740 UINT
741 STDCALL
742 GetWriteWatch(
743 DWORD dwFlags,
744 PVOID lpBaseAddress,
745 SIZE_T dwRegionSize,
746 PVOID *lpAddresses,
747 PULONG_PTR lpdwCount,
748 PULONG lpdwGranularity
749 )
750 {
751 STUB;
752 return 0;
753 }
754
755 /*
756 * @unimplemented
757 */
758 BOOL
759 STDCALL
760 HeapQueryInformation (
761 HANDLE HeapHandle,
762 HEAP_INFORMATION_CLASS HeapInformationClass,
763 PVOID HeapInformation OPTIONAL,
764 SIZE_T HeapInformationLength OPTIONAL,
765 PSIZE_T ReturnLength OPTIONAL
766 )
767 {
768 STUB;
769 return 0;
770 }
771
772 /*
773 * @unimplemented
774 */
775 BOOL
776 STDCALL
777 HeapSetInformation (
778 HANDLE HeapHandle,
779 HEAP_INFORMATION_CLASS HeapInformationClass,
780 PVOID HeapInformation OPTIONAL,
781 SIZE_T HeapInformationLength OPTIONAL
782 )
783 {
784 STUB;
785 return 0;
786 }
787
788 /*
789 * @unimplemented
790 */
791 BOOL
792 STDCALL
793 IsSystemResumeAutomatic(
794 VOID
795 )
796 {
797 STUB;
798 return 0;
799 }
800
801 /*
802 * @unimplemented
803 */
804 BOOL
805 STDCALL
806 IsWow64Process(
807 HANDLE hProcess,
808 PBOOL Wow64Process
809 )
810 {
811 STUB;
812 return 0;
813 }
814
815 /*
816 * @unimplemented
817 */
818 BOOL
819 STDCALL
820 MapUserPhysicalPages(
821 PVOID VirtualAddress,
822 ULONG_PTR NumberOfPages,
823 PULONG_PTR PageArray OPTIONAL
824 )
825 {
826 STUB;
827 return 0;
828 }
829
830 /*
831 * @unimplemented
832 */
833 BOOL
834 STDCALL
835 MapUserPhysicalPagesScatter(
836 PVOID *VirtualAddresses,
837 ULONG_PTR NumberOfPages,
838 PULONG_PTR PageArray OPTIONAL
839 )
840 {
841 STUB;
842 return 0;
843 }
844
845 /*
846 * @unimplemented
847 */
848 BOOL
849 STDCALL
850 QueryActCtxW(
851 DWORD dwFlags,
852 HANDLE hActCtx,
853 PVOID pvSubInstance,
854 ULONG ulInfoClass,
855 PVOID pvBuffer,
856 SIZE_T cbBuffer OPTIONAL,
857 SIZE_T *pcbWrittenOrRequired OPTIONAL
858 )
859 {
860 STUB;
861 return 0;
862 }
863
864 /*
865 * @unimplemented
866 */
867 DWORD
868 STDCALL
869 QueueUserAPC(
870 PAPCFUNC pfnAPC,
871 HANDLE hThread,
872 ULONG_PTR dwData
873 )
874 {
875 STUB;
876 return 0;
877 }
878
879 /*
880 * @unimplemented
881 */
882 BOOL
883 STDCALL
884 QueueUserWorkItem(
885 LPTHREAD_START_ROUTINE Function,
886 PVOID Context,
887 ULONG Flags
888 )
889 {
890 STUB;
891 return 0;
892 }
893
894 /*
895 * @unimplemented
896 */
897 BOOL
898 STDCALL
899 ReadDirectoryChangesW(
900 HANDLE hDirectory,
901 LPVOID lpBuffer,
902 DWORD nBufferLength,
903 BOOL bWatchSubtree,
904 DWORD dwNotifyFilter,
905 LPDWORD lpBytesReturned,
906 LPOVERLAPPED lpOverlapped,
907 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
908 )
909 {
910 STUB;
911 return 0;
912 }
913
914 /*
915 * @unimplemented
916 */
917 BOOL
918 STDCALL
919 ReadFileScatter(
920 HANDLE hFile,
921 FILE_SEGMENT_ELEMENT aSegmentArray[],
922 DWORD nNumberOfBytesToRead,
923 LPDWORD lpReserved,
924 LPOVERLAPPED lpOverlapped
925 )
926 {
927 STUB;
928 return 0;
929 }
930
931 /*
932 * @unimplemented
933 */
934 BOOL
935 STDCALL
936 RegisterWaitForSingleObject(
937 PHANDLE phNewWaitObject,
938 HANDLE hObject,
939 WAITORTIMERCALLBACK Callback,
940 PVOID Context,
941 ULONG dwMilliseconds,
942 ULONG dwFlags
943 )
944 {
945 STUB;
946 return 0;
947 }
948
949 /*
950 * @unimplemented
951 */
952 HANDLE
953 STDCALL
954 RegisterWaitForSingleObjectEx(
955 HANDLE hObject,
956 WAITORTIMERCALLBACK Callback,
957 PVOID Context,
958 ULONG dwMilliseconds,
959 ULONG dwFlags
960 )
961 {
962 STUB;
963 return 0;
964 }
965
966 /*
967 * @unimplemented
968 */
969 VOID
970 STDCALL
971 ReleaseActCtx(
972 HANDLE hActCtx
973 )
974 {
975 STUB;
976 }
977
978 /*
979 * @unimplemented
980 */
981 ULONG
982 STDCALL
983 RemoveVectoredExceptionHandler(
984 PVOID VectoredHandlerHandle
985 )
986 {
987 STUB;
988 return 0;
989 }
990
991 /*
992 * @unimplemented
993 */
994 BOOL
995 STDCALL
996 RequestDeviceWakeup(
997 HANDLE hDevice
998 )
999 {
1000 STUB;
1001 return 0;
1002 }
1003
1004 /*
1005 * @unimplemented
1006 */
1007 BOOL
1008 STDCALL
1009 RequestWakeupLatency(
1010 LATENCY_TIME latency
1011 )
1012 {
1013 STUB;
1014 return 0;
1015 }
1016
1017 /*
1018 * @unimplemented
1019 */
1020 UINT
1021 STDCALL
1022 ResetWriteWatch(
1023 LPVOID lpBaseAddress,
1024 SIZE_T dwRegionSize
1025 )
1026 {
1027 STUB;
1028 return 0;
1029 }
1030
1031 /*
1032 * @unimplemented
1033 */
1034 VOID
1035 STDCALL
1036 RestoreLastError(
1037 DWORD dwErrCode
1038 )
1039 {
1040 STUB;
1041 }
1042
1043 /*
1044 * @unimplemented
1045 */
1046 BOOL
1047 STDCALL
1048 SetMessageWaitingIndicator(
1049 HANDLE hMsgIndicator,
1050 ULONG ulMsgCount
1051 )
1052 {
1053 STUB;
1054 return 0;
1055 }
1056
1057 /*
1058 * @unimplemented
1059 */
1060 EXECUTION_STATE
1061 STDCALL
1062 SetThreadExecutionState(
1063 EXECUTION_STATE esFlags
1064 )
1065 {
1066 STUB;
1067 return 0;
1068 }
1069
1070 /*
1071 * @unimplemented
1072 */
1073 BOOL
1074 STDCALL
1075 TzSpecificLocalTimeToSystemTime(
1076 LPTIME_ZONE_INFORMATION lpTimeZoneInformation,
1077 LPSYSTEMTIME lpLocalTime,
1078 LPSYSTEMTIME lpUniversalTime
1079 )
1080 {
1081 STUB;
1082 return 0;
1083 }
1084
1085 /*
1086 * @unimplemented
1087 */
1088 BOOL
1089 STDCALL
1090 UnregisterWait(
1091 HANDLE WaitHandle
1092 )
1093 {
1094 STUB;
1095 return 0;
1096 }
1097
1098 /*
1099 * @unimplemented
1100 */
1101 BOOL
1102 STDCALL
1103 UnregisterWaitEx(
1104 HANDLE WaitHandle,
1105 HANDLE CompletionEvent
1106 )
1107 {
1108 STUB;
1109 return 0;
1110 }
1111
1112 /*
1113 * @unimplemented
1114 */
1115 BOOL
1116 STDCALL
1117 WriteFileGather(
1118 HANDLE hFile,
1119 FILE_SEGMENT_ELEMENT aSegmentArray[],
1120 DWORD nNumberOfBytesToWrite,
1121 LPDWORD lpReserved,
1122 LPOVERLAPPED lpOverlapped
1123 )
1124 {
1125 STUB;
1126 return 0;
1127 }
1128
1129 /*
1130 * @unimplemented
1131 */
1132 BOOL
1133 STDCALL
1134 ZombifyActCtx(
1135 HANDLE hActCtx
1136 )
1137 {
1138 STUB;
1139 return 0;
1140 }
1141
1142 /*
1143 * @unimplemented
1144 */
1145 BOOL
1146 STDCALL
1147 DeleteVolumeMountPointW(
1148 LPCWSTR lpszVolumeMountPoint
1149 )
1150 {
1151 STUB;
1152 return 0;
1153 }
1154
1155 /*
1156 * @unimplemented
1157 */
1158 BOOL
1159 STDCALL
1160 DnsHostnameToComputerNameW (
1161 LPCWSTR Hostname,
1162 LPWSTR ComputerName,
1163 LPDWORD nSize
1164 )
1165 {
1166 STUB;
1167 return 0;
1168 }
1169
1170 /*
1171 * @unimplemented
1172 */
1173 BOOL
1174 STDCALL
1175 FindActCtxSectionStringW(
1176 DWORD dwFlags,
1177 const GUID *lpExtensionGuid,
1178 ULONG ulSectionId,
1179 LPCWSTR lpStringToFind,
1180 PACTCTX_SECTION_KEYED_DATA ReturnedData
1181 )
1182 {
1183 STUB;
1184 return 0;
1185 }
1186
1187 /*
1188 * @unimplemented
1189 */
1190 HANDLE
1191 STDCALL
1192 FindFirstVolumeW(
1193 LPCWSTR lpszVolumeName,
1194 DWORD cchBufferLength
1195 )
1196 {
1197 STUB;
1198 return 0;
1199 }
1200
1201 /*
1202 * @unimplemented
1203 */
1204 HANDLE
1205 STDCALL
1206 FindFirstVolumeMountPointW(
1207 LPWSTR lpszRootPathName,
1208 LPWSTR lpszVolumeMountPoint,
1209 DWORD cchBufferLength
1210 )
1211 {
1212 STUB;
1213 return 0;
1214 }
1215
1216 /*
1217 * @unimplemented
1218 */
1219 BOOL
1220 STDCALL
1221 FindNextVolumeW(
1222 HANDLE hFindVolume,
1223 LPWSTR lpszVolumeName,
1224 DWORD cchBufferLength
1225 )
1226 {
1227 STUB;
1228 return 0;
1229 }
1230
1231 /*
1232 * @unimplemented
1233 */
1234 BOOL
1235 STDCALL
1236 FindNextVolumeMountPointW(
1237 HANDLE hFindVolumeMountPoint,
1238 LPWSTR lpszVolumeMountPoint,
1239 DWORD cchBufferLength
1240 )
1241 {
1242 STUB;
1243 return 0;
1244 }
1245
1246 /*
1247 * @unimplemented
1248 */
1249 DWORD
1250 STDCALL
1251 GetDllDirectoryW(
1252 DWORD nBufferLength,
1253 LPWSTR lpBuffer
1254 )
1255 {
1256 STUB;
1257 return 0;
1258 }
1259
1260 /*
1261 * @unimplemented
1262 */
1263 DWORD
1264 STDCALL
1265 GetFirmwareEnvironmentVariableW(
1266 LPCWSTR lpName,
1267 LPCWSTR lpGuid,
1268 PVOID pBuffer,
1269 DWORD nSize
1270 )
1271 {
1272 STUB;
1273 return 0;
1274 }
1275
1276 /*
1277 * @unimplemented
1278 */
1279 DWORD
1280 STDCALL
1281 GetLongPathNameW(
1282 LPCWSTR lpszShortPath,
1283 LPWSTR lpszLongPath,
1284 DWORD cchBuffer
1285 )
1286 {
1287 STUB;
1288 return 0;
1289 }
1290
1291 /*
1292 * @unimplemented
1293 */
1294 BOOL
1295 STDCALL
1296 GetModuleHandleExW(
1297 DWORD dwFlags,
1298 LPCWSTR lpModuleName,
1299 HMODULE* phModule
1300 )
1301 {
1302 STUB;
1303 return 0;
1304 }
1305
1306 /*
1307 * @unimplemented
1308 */
1309 UINT
1310 STDCALL
1311 GetSystemWow64DirectoryW(
1312 LPWSTR lpBuffer,
1313 UINT uSize
1314 )
1315 {
1316 STUB;
1317 return 0;
1318 }
1319
1320 /*
1321 * @unimplemented
1322 */
1323 BOOL
1324 STDCALL
1325 GetVolumeNameForVolumeMountPointW(
1326 LPCWSTR lpszVolumeMountPoint,
1327 LPWSTR lpszVolumeName,
1328 DWORD cchBufferLength
1329 )
1330 {
1331 STUB;
1332 return 0;
1333 }
1334
1335 /*
1336 * @unimplemented
1337 */
1338 BOOL
1339 STDCALL
1340 GetVolumePathNameW(
1341 LPCWSTR lpszFileName,
1342 LPWSTR lpszVolumePathName,
1343 DWORD cchBufferLength
1344 )
1345 {
1346 STUB;
1347 return 0;
1348 }
1349
1350 /*
1351 * @unimplemented
1352 */
1353 BOOL
1354 STDCALL
1355 GetVolumePathNamesForVolumeNameW(
1356 LPCWSTR lpszVolumeName,
1357 LPWSTR lpszVolumePathNames,
1358 DWORD cchBufferLength,
1359 PDWORD lpcchReturnLength
1360 )
1361 {
1362 STUB;
1363 return 0;
1364 }
1365
1366 /*
1367 * @unimplemented
1368 */
1369 BOOL
1370 STDCALL
1371 ReplaceFileW(
1372 LPCWSTR lpReplacedFileName,
1373 LPCWSTR lpReplacementFileName,
1374 LPCWSTR lpBackupFileName,
1375 DWORD dwReplaceFlags,
1376 LPVOID lpExclude,
1377 LPVOID lpReserved
1378 )
1379 {
1380 STUB;
1381 return 0;
1382 }
1383
1384 /*
1385 * @unimplemented
1386 */
1387 BOOL
1388 STDCALL
1389 SetComputerNameExW (
1390 COMPUTER_NAME_FORMAT NameType,
1391 LPCWSTR lpBuffer
1392 )
1393 {
1394 STUB;
1395 return 0;
1396 }
1397
1398 /*
1399 * @unimplemented
1400 */
1401 BOOL
1402 STDCALL
1403 SetDllDirectoryW(
1404 LPCWSTR lpPathName
1405 )
1406 {
1407 STUB;
1408 return 0;
1409 }
1410
1411 /*
1412 * @unimplemented
1413 */
1414 BOOL
1415 STDCALL
1416 SetFirmwareEnvironmentVariableW(
1417 LPCWSTR lpName,
1418 LPCWSTR lpGuid,
1419 PVOID pValue,
1420 DWORD nSize
1421 )
1422 {
1423 STUB;
1424 return 0;
1425 }
1426
1427 /*
1428 * @unimplemented
1429 */
1430 BOOL
1431 STDCALL
1432 SetVolumeMountPointW(
1433 LPCWSTR lpszVolumeMountPoint,
1434 LPCWSTR lpszVolumeName
1435 )
1436 {
1437 STUB;
1438 return 0;
1439 }
1440
1441 /*
1442 * @unimplemented
1443 */
1444 BOOL
1445 STDCALL
1446 VerifyVersionInfoW(
1447 LPOSVERSIONINFOEXW lpVersionInformation,
1448 DWORD dwTypeMask,
1449 DWORDLONG dwlConditionMask
1450 )
1451 {
1452 STUB;
1453 return 0;
1454 }
1455
1456 /*
1457 * @unimplemented
1458 */
1459 BOOL
1460 STDCALL
1461 DeleteVolumeMountPointA(
1462 LPCSTR lpszVolumeMountPoint
1463 )
1464 {
1465 STUB;
1466 return 0;
1467 }
1468
1469 /*
1470 * @unimplemented
1471 */
1472 BOOL
1473 STDCALL
1474 DnsHostnameToComputerNameA (
1475 LPCSTR Hostname,
1476 LPSTR ComputerName,
1477 LPDWORD nSize
1478 )
1479 {
1480 STUB;
1481 return 0;
1482 }
1483
1484 /*
1485 * @unimplemented
1486 */
1487 BOOL
1488 STDCALL
1489 FindActCtxSectionStringA(
1490 DWORD dwFlags,
1491 const GUID *lpExtensionGuid,
1492 ULONG ulSectionId,
1493 LPCSTR lpStringToFind,
1494 PACTCTX_SECTION_KEYED_DATA ReturnedData
1495 )
1496 {
1497 STUB;
1498 return 0;
1499 }
1500
1501 /*
1502 * @unimplemented
1503 */
1504 HANDLE
1505 STDCALL
1506 FindFirstVolumeA(
1507 LPCSTR lpszVolumeName,
1508 DWORD cchBufferLength
1509 )
1510 {
1511 STUB;
1512 return 0;
1513 }
1514
1515 /*
1516 * @unimplemented
1517 */
1518 HANDLE
1519 STDCALL
1520 FindFirstVolumeMountPointA(
1521 LPSTR lpszRootPathName,
1522 LPSTR lpszVolumeMountPoint,
1523 DWORD cchBufferLength
1524 )
1525 {
1526 STUB;
1527 return 0;
1528 }
1529
1530 /*
1531 * @unimplemented
1532 */
1533 BOOL
1534 STDCALL
1535 FindNextVolumeA(
1536 HANDLE hFindVolume,
1537 LPCSTR lpszVolumeName,
1538 DWORD cchBufferLength
1539 )
1540 {
1541 STUB;
1542 return 0;
1543 }
1544
1545 /*
1546 * @unimplemented
1547 */
1548 BOOL
1549 STDCALL
1550 FindNextVolumeMountPointA(
1551 HANDLE hFindVolumeMountPoint,
1552 LPSTR lpszVolumeMountPoint,
1553 DWORD cchBufferLength
1554 )
1555 {
1556 STUB;
1557 return 0;
1558 }
1559
1560 /*
1561 * @unimplemented
1562 */
1563 DWORD
1564 STDCALL
1565 GetDllDirectoryA(
1566 DWORD nBufferLength,
1567 LPSTR lpBuffer
1568 )
1569 {
1570 STUB;
1571 return 0;
1572 }
1573
1574 /*
1575 * @unimplemented
1576 */
1577 DWORD
1578 STDCALL
1579 GetFirmwareEnvironmentVariableA(
1580 LPCSTR lpName,
1581 LPCSTR lpGuid,
1582 PVOID pBuffer,
1583 DWORD nSize
1584 )
1585 {
1586 STUB;
1587 return 0;
1588 }
1589
1590 /*
1591 * @unimplemented
1592 */
1593 DWORD
1594 STDCALL
1595 GetLongPathNameA(
1596 LPCSTR lpszShortPath,
1597 LPSTR lpszLongPath,
1598 DWORD cchBuffer
1599 )
1600 {
1601 STUB;
1602 return 0;
1603 }
1604
1605 /*
1606 * @unimplemented
1607 */
1608 BOOL
1609 STDCALL
1610 GetModuleHandleExA(
1611 DWORD dwFlags,
1612 LPCSTR lpModuleName,
1613 HMODULE* phModule
1614 )
1615 {
1616 STUB;
1617 return 0;
1618 }
1619
1620 /*
1621 * @unimplemented
1622 */
1623 UINT
1624 STDCALL
1625 GetSystemWow64DirectoryA(
1626 LPSTR lpBuffer,
1627 UINT uSize
1628 )
1629 {
1630 STUB;
1631 return 0;
1632 }
1633
1634 /*
1635 * @unimplemented
1636 */
1637 BOOL
1638 STDCALL
1639 GetVolumeNameForVolumeMountPointA(
1640 LPCSTR lpszVolumeMountPoint,
1641 LPSTR lpszVolumeName,
1642 DWORD cchBufferLength
1643 )
1644 {
1645 STUB;
1646 return 0;
1647 }
1648
1649 /*
1650 * @unimplemented
1651 */
1652 BOOL
1653 STDCALL
1654 GetVolumePathNameA(
1655 LPCSTR lpszFileName,
1656 LPSTR lpszVolumePathName,
1657 DWORD cchBufferLength
1658 )
1659 {
1660 STUB;
1661 return 0;
1662 }
1663
1664 /*
1665 * @unimplemented
1666 */
1667 BOOL
1668 STDCALL
1669 GetVolumePathNamesForVolumeNameA(
1670 LPCSTR lpszVolumeName,
1671 LPSTR lpszVolumePathNames,
1672 DWORD cchBufferLength,
1673 PDWORD lpcchReturnLength
1674 )
1675 {
1676 STUB;
1677 return 0;
1678 }
1679
1680 /*
1681 * @unimplemented
1682 */
1683 BOOL
1684 STDCALL
1685 ReplaceFileA(
1686 LPCSTR lpReplacedFileName,
1687 LPCSTR lpReplacementFileName,
1688 LPCSTR lpBackupFileName,
1689 DWORD dwReplaceFlags,
1690 LPVOID lpExclude,
1691 LPVOID lpReserved
1692 )
1693 {
1694 STUB;
1695 return 0;
1696 }
1697
1698 /*
1699 * @unimplemented
1700 */
1701 BOOL
1702 STDCALL
1703 SetComputerNameExA (
1704 COMPUTER_NAME_FORMAT NameType,
1705 LPCSTR lpBuffer
1706 )
1707 {
1708 STUB;
1709 return 0;
1710 }
1711
1712 /*
1713 * @unimplemented
1714 */
1715 BOOL
1716 STDCALL
1717 SetDllDirectoryA(
1718 LPCSTR lpPathName
1719 )
1720 {
1721 STUB;
1722 return 0;
1723 }
1724
1725 /*
1726 * @unimplemented
1727 */
1728 BOOL
1729 STDCALL
1730 SetFirmwareEnvironmentVariableA(
1731 LPCSTR lpName,
1732 LPCSTR lpGuid,
1733 PVOID pValue,
1734 DWORD nSize
1735 )
1736 {
1737 STUB;
1738 return 0;
1739 }
1740
1741 /*
1742 * @unimplemented
1743 */
1744 BOOL
1745 STDCALL
1746 SetVolumeMountPointA(
1747 LPCSTR lpszVolumeMountPoint,
1748 LPCSTR lpszVolumeName
1749 )
1750 {
1751 STUB;
1752 return 0;
1753 }
1754
1755 /*
1756 * @unimplemented
1757 */
1758 BOOL
1759 STDCALL
1760 VerifyVersionInfoA(
1761 LPOSVERSIONINFOEXA lpVersionInformation,
1762 DWORD dwTypeMask,
1763 DWORDLONG dwlConditionMask
1764 )
1765 {
1766 STUB;
1767 return 0;
1768 }
1769
1770 /*
1771 * @unimplemented
1772 */
1773 BOOL
1774 STDCALL
1775 EnumSystemLanguageGroupsW(
1776 LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc,
1777 DWORD dwFlags,
1778 LONG_PTR lParam)
1779 {
1780 STUB;
1781 return 0;
1782 }
1783
1784 /*
1785 * @unimplemented
1786 */
1787 ULONGLONG
1788 STDCALL
1789 VerSetConditionMask(
1790 ULONGLONG ConditionMask,
1791 DWORD TypeMask,
1792 BYTE Condition
1793 )
1794 {
1795 STUB;
1796 return 0;
1797 }
1798
1799 /*
1800 * @unimplemented
1801 */
1802 BOOL STDCALL GetConsoleKeyboardLayoutNameA(LPSTR name)
1803 {
1804 STUB;
1805 return 0;
1806 }
1807
1808 /*
1809 * @unimplemented
1810 */
1811 BOOL STDCALL GetConsoleKeyboardLayoutNameW(LPWSTR name)
1812 {
1813 STUB;
1814 return 0;
1815 }
1816
1817 /*
1818 * @unimplemented
1819 */
1820 DWORD STDCALL GetHandleContext(HANDLE hnd)
1821 {
1822 STUB;
1823 return 0;
1824 }
1825
1826 /*
1827 * @unimplemented
1828 */
1829 HANDLE STDCALL CreateSocketHandle(VOID)
1830 {
1831 STUB;
1832 return 0;
1833 }
1834
1835 /*
1836 * @unimplemented
1837 */
1838 BOOL STDCALL SetHandleContext(HANDLE hnd,DWORD context)
1839 {
1840 STUB;
1841 return 0;
1842 }
1843
1844 /*
1845 * @unimplemented
1846 */
1847 BOOL STDCALL SetConsoleInputExeNameA(LPCSTR name)
1848 {
1849 STUB;
1850 return 0;
1851 }
1852
1853 /*
1854 * @unimplemented
1855 */
1856 BOOL STDCALL SetConsoleInputExeNameW(LPCWSTR name)
1857 {
1858 STUB;
1859 return 0;
1860 }
1861
1862 /*
1863 * @unimplemented
1864 */
1865 BOOL STDCALL UTRegister( HMODULE hModule, LPSTR lpsz16BITDLL,
1866 LPSTR lpszInitName, LPSTR lpszProcName,
1867 FARPROC *ppfn32Thunk, FARPROC pfnUT32CallBack,
1868 LPVOID lpBuff )
1869 {
1870 STUB;
1871 return 0;
1872 }
1873
1874 /*
1875 * @unimplemented
1876 */
1877 VOID STDCALL UTUnRegister( HMODULE hModule )
1878 {
1879 STUB;
1880 }
1881
1882 /*
1883 * @unimplemented
1884 */
1885 #if 0
1886 FARPROC STDCALL DelayLoadFailureHook(unsigned int dliNotify, PDelayLoadInfo pdli)
1887 #else
1888 FARPROC STDCALL DelayLoadFailureHook(unsigned int dliNotify, PVOID pdli)
1889 #endif
1890 {
1891 STUB;
1892 return 0;
1893 }
1894
1895 /*
1896 * @unimplemented
1897 */
1898 NTSTATUS STDCALL CreateNlsSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,ULONG Size,ULONG AccessMask)
1899 {
1900 STUB;
1901 return 0;
1902 }
1903
1904 /*
1905 * @unimplemented
1906 */
1907 BOOL STDCALL GetConsoleInputExeNameA(ULONG length,LPCSTR name)
1908 {
1909 STUB;
1910 return 0;
1911 }
1912
1913 /*
1914 * @unimplemented
1915 */
1916 BOOL STDCALL GetConsoleInputExeNameW(ULONG length,LPCWSTR name)
1917 {
1918 STUB;
1919 return 0;
1920 }
1921
1922 /*
1923 * @unimplemented
1924 */
1925 BOOL STDCALL IsValidUILanguage(LANGID langid)
1926 {
1927 STUB;
1928 return 0;
1929 }
1930
1931 /*
1932 * @unimplemented
1933 */
1934 VOID STDCALL NlsConvertIntegerToString(ULONG Value,ULONG Base,ULONG strsize, LPWSTR str, ULONG strsize2)
1935 {
1936 STUB;
1937 }
1938
1939 /*
1940 * @unimplemented
1941 */
1942 UINT STDCALL SetCPGlobal(UINT CodePage)
1943 {
1944 STUB;
1945 return 0;
1946 }
1947
1948 /*
1949 * @unimplemented
1950 */
1951 BOOL
1952 STDCALL
1953 SetClientTimeZoneInformation(
1954 CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation
1955 )
1956 {
1957 STUB;
1958 return 0;
1959 }