2 * KERNEL32.DLL stubs (STUB functions)
3 * Remove from this file, if you implement them.
12 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); \
13 DPRINT1("%s() is UNIMPLEMENTED!\n", __FUNCTION__)
20 BaseAttachCompleteThunk (VOID
)
30 BaseDumpAppcompatCache(VOID
)
39 BaseFlushAppcompatCache(VOID
)
49 BaseCheckAppcompatCache(ULONG Unknown1
,
55 if (Unknown4
) *Unknown4
= 0;
63 BaseUpdateAppcompatCache(ULONG Unknown1
, ULONG Unknown2
, ULONG Unknown3
)
118 ExtendVirtualBuffer (
134 HANDLE hVirtualBuffer
161 GetVDMCurrentDirectories (
200 RegisterWowBaseHandlers (
228 SetVDMCurrentDirectories (
257 VDMConsoleOperation (
272 VDMOperationStarted (
285 VirtualBufferExceptionHandler (
300 BindIoCompletionCallback(HANDLE FileHandle
,
301 LPOVERLAPPED_COMPLETION_ROUTINE Function
,
306 DPRINT("(%p, %p, %d)\n", FileHandle
, Function
, Flags
);
308 Status
= RtlSetIoCompletionCallback(FileHandle
,
309 (PIO_APC_ROUTINE
)Function
,
312 if (!NT_SUCCESS(Status
))
314 SetLastError(RtlNtStatusToDosError(Status
));
328 PJOB_SET_ARRAY UserJobSet
,
340 FindVolumeMountPointClose(
341 HANDLE hFindVolumeMountPoint
353 GetNumaHighestNodeNumber(
354 PULONG HighestNodeNumber
366 GetNumaNodeProcessorMask(
368 PULONGLONG ProcessorMask
380 GetNumaProcessorNode(
394 ReadFileScatter(HANDLE hFile
,
395 FILE_SEGMENT_ELEMENT aSegmentArray
[],
396 DWORD nNumberOfBytesToRead
,
398 LPOVERLAPPED lpOverlapped
)
400 PIO_STATUS_BLOCK pIOStatus
;
401 LARGE_INTEGER Offset
;
404 DPRINT("(%p %p %u %p)\n", hFile
, aSegmentArray
, nNumberOfBytesToRead
, lpOverlapped
);
406 Offset
.LowPart
= lpOverlapped
->Offset
;
407 Offset
.HighPart
= lpOverlapped
->OffsetHigh
;
408 pIOStatus
= (PIO_STATUS_BLOCK
) lpOverlapped
;
409 pIOStatus
->Status
= STATUS_PENDING
;
410 pIOStatus
->Information
= 0;
412 Status
= NtReadFileScatter(hFile
,
418 nNumberOfBytesToRead
,
422 if (!NT_SUCCESS(Status
))
424 SetLastError(RtlNtStatusToDosError(Status
));
448 WriteFileGather(HANDLE hFile
,
449 FILE_SEGMENT_ELEMENT aSegmentArray
[],
450 DWORD nNumberOfBytesToWrite
,
452 LPOVERLAPPED lpOverlapped
)
454 PIO_STATUS_BLOCK IOStatus
;
455 LARGE_INTEGER Offset
;
458 DPRINT("%p %p %u %p\n", hFile
, aSegmentArray
, nNumberOfBytesToWrite
, lpOverlapped
);
460 Offset
.LowPart
= lpOverlapped
->Offset
;
461 Offset
.HighPart
= lpOverlapped
->OffsetHigh
;
462 IOStatus
= (PIO_STATUS_BLOCK
) lpOverlapped
;
463 IOStatus
->Status
= STATUS_PENDING
;
464 IOStatus
->Information
= 0;
466 Status
= NtWriteFileGather(hFile
,
472 nNumberOfBytesToWrite
,
476 if (!NT_SUCCESS(Status
))
478 SetLastError(RtlNtStatusToDosError(Status
));
490 DeleteVolumeMountPointW(
491 LPCWSTR lpszVolumeMountPoint
503 FindFirstVolumeMountPointW(
504 LPCWSTR lpszRootPathName
,
505 LPWSTR lpszVolumeMountPoint
,
506 DWORD cchBufferLength
524 MOUNTMGR_MOUNT_POINTS
*data
= handle
;
526 while (data
->Size
< data
->NumberOfMountPoints
)
528 static const WCHAR volumeW
[] = {'\\','?','?','\\','V','o','l','u','m','e','{',};
529 WCHAR
*link
= (WCHAR
*)((char *)data
+ data
->MountPoints
[data
->Size
].SymbolicLinkNameOffset
);
530 DWORD size
= data
->MountPoints
[data
->Size
].SymbolicLinkNameLength
;
532 /* skip non-volumes */
533 if (size
< sizeof(volumeW
) || memcmp( link
, volumeW
, sizeof(volumeW
) )) continue;
534 if (size
+ sizeof(WCHAR
) >= len
* sizeof(WCHAR
))
536 SetLastError( ERROR_FILENAME_EXCED_RANGE
);
539 memcpy( volume
, link
, size
);
540 volume
[1] = '\\'; /* map \??\ to \\?\ */
541 volume
[size
/ sizeof(WCHAR
)] = '\\'; /* Windows appends a backslash */
542 volume
[size
/ sizeof(WCHAR
) + 1] = 0;
543 DPRINT( "returning entry %u %s\n", data
->Size
- 1, volume
);
546 SetLastError( ERROR_NO_MORE_FILES
);
555 FindNextVolumeMountPointW(
556 HANDLE hFindVolumeMountPoint
,
557 LPWSTR lpszVolumeMountPoint
,
558 DWORD cchBufferLength
570 GetFirmwareEnvironmentVariableW(
586 GetVolumePathNamesForVolumeNameW(
587 LPCWSTR lpszVolumeName
,
588 LPWSTR lpszVolumePathNames
,
589 DWORD cchBufferLength
,
590 PDWORD lpcchReturnLength
602 SetFirmwareEnvironmentVariableW(
618 SetVolumeMountPointW(
619 LPCWSTR lpszVolumeMountPoint
,
620 LPCWSTR lpszVolumeName
632 DeleteVolumeMountPointA(
633 LPCSTR lpszVolumeMountPoint
645 FindFirstVolumeMountPointA(
646 LPCSTR lpszRootPathName
,
647 LPSTR lpszVolumeMountPoint
,
648 DWORD cchBufferLength
660 FindNextVolumeA(HANDLE handle
,
664 WCHAR
*buffer
= RtlAllocateHeap(RtlGetProcessHeap(), 0, len
* sizeof(WCHAR
));
669 SetLastError(ERROR_NOT_ENOUGH_MEMORY
);
673 if ((ret
= FindNextVolumeW( handle
, buffer
, len
)))
675 if (!WideCharToMultiByte( CP_ACP
, 0, buffer
, -1, volume
, len
, NULL
, NULL
)) ret
= FALSE
;
678 HeapFree( GetProcessHeap(), 0, buffer
);
687 FindNextVolumeMountPointA(
688 HANDLE hFindVolumeMountPoint
,
689 LPSTR lpszVolumeMountPoint
,
690 DWORD cchBufferLength
702 GetFirmwareEnvironmentVariableA(
718 GetVolumePathNamesForVolumeNameA(
719 LPCSTR lpszVolumeName
,
720 LPSTR lpszVolumePathNames
,
721 DWORD cchBufferLength
,
722 PDWORD lpcchReturnLength
734 SetFirmwareEnvironmentVariableA(
750 SetVolumeMountPointA(
751 LPCSTR lpszVolumeMountPoint
,
752 LPCSTR lpszVolumeName
762 BOOL WINAPI
GetConsoleKeyboardLayoutNameA(LPSTR name
)
771 BOOL WINAPI
GetConsoleKeyboardLayoutNameW(LPWSTR name
)
780 DWORD WINAPI
GetHandleContext(HANDLE hnd
)
789 HANDLE WINAPI
CreateSocketHandle(VOID
)
792 return INVALID_HANDLE_VALUE
;
798 BOOL WINAPI
SetHandleContext(HANDLE hnd
,DWORD context
)
807 BOOL WINAPI
UTRegister( HMODULE hModule
, LPSTR lpsz16BITDLL
,
808 LPSTR lpszInitName
, LPSTR lpszProcName
,
809 FARPROC
*ppfn32Thunk
, FARPROC pfnUT32CallBack
,
819 VOID WINAPI
UTUnRegister( HMODULE hModule
)
827 FARPROC WINAPI
DelayLoadFailureHook(LPCSTR pszDllName
, LPCSTR pszProcName
)
836 NTSTATUS WINAPI
CreateNlsSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor
,ULONG Size
,ULONG AccessMask
)
845 BOOL WINAPI
IsValidUILanguage(LANGID langid
)
854 VOID WINAPI
NlsConvertIntegerToString(ULONG Value
,ULONG Base
,ULONG strsize
, LPWSTR str
, ULONG strsize2
)
862 UINT WINAPI
SetCPGlobal(UINT CodePage
)
873 SetClientTimeZoneInformation(
874 CONST TIME_ZONE_INFORMATION
*lpTimeZoneInformation
)
882 NlsGetCacheUpdateCount(VOID
)
890 Wow64EnableWow64FsRedirection (BOOL Wow64EnableWow64FsRedirection
)
898 Wow64DisableWow64FsRedirection (VOID
** pv
)
906 Wow64RevertWow64FsRedirection (VOID
* pv
)
914 EnumSystemFirmwareTables(IN DWORD FirmwareTableProviderSignature
,
915 OUT PVOID pFirmwareTableBuffer
,
924 GetSystemFileCacheSize(OUT PSIZE_T lpMinimumFileCacheSize
,
925 OUT PSIZE_T lpMaximumFileCacheSize
,
934 GetSystemFirmwareTable(IN DWORD FirmwareTableProviderSignature
,
935 IN DWORD FirmwareTableID
,
936 OUT PVOID pFirmwareTableBuffer
,
945 SetSystemFileCacheSize(IN SIZE_T MinimumFileCacheSize
,
946 IN SIZE_T MaximumFileCacheSize
,
955 SetThreadStackGuarantee(IN OUT PULONG StackSizeInBytes
)
963 ReOpenFile(IN HANDLE hOriginalFile
,
964 IN DWORD dwDesiredAccess
,
965 IN DWORD dwShareMode
,
969 return INVALID_HANDLE_VALUE
;
974 SetProcessWorkingSetSizeEx(IN HANDLE hProcess
,
975 IN SIZE_T dwMinimumWorkingSetSize
,
976 IN SIZE_T dwMaximumWorkingSetSize
,
986 GetProcessWorkingSetSizeEx(IN HANDLE hProcess
,
987 OUT PSIZE_T lpMinimumWorkingSetSize
,
988 OUT PSIZE_T lpMaximumWorkingSetSize
,
997 GetNumaAvailableMemoryNode(IN UCHAR Node
,
998 OUT PULONGLONG AvailableBytes
)
1006 GetNumaAvailableMemory(PVOID lpInfo
,
1008 PULONG ReturnLength
)
1016 GetNumaProcessorMap(PVOID lpInfo
,
1018 PULONG ReturnLength
)
1026 NlsResetProcessLocale(VOID
)
1034 AddLocalAlternateComputerNameA(LPSTR lpName
, PNTSTATUS Status
)
1042 AddLocalAlternateComputerNameW(LPWSTR lpName
, PNTSTATUS Status
)
1050 BaseCleanupAppcompatCache(VOID
)
1053 return STATUS_NOT_IMPLEMENTED
;
1058 BaseCleanupAppcompatCacheSupport(PVOID pUnknown
)
1061 return STATUS_NOT_IMPLEMENTED
;
1066 BaseInitAppcompatCache(VOID
)
1074 BaseInitAppcompatCacheSupport(VOID
)
1082 CreateProcessInternalWSecure(VOID
)
1089 EnumerateLocalComputerNamesA(PVOID pUnknown
, DWORD Size
, LPSTR lpBuffer
, LPDWORD lpnSize
)
1092 return ERROR_CALL_NOT_IMPLEMENTED
;
1097 EnumerateLocalComputerNamesW(PVOID pUnknown
, DWORD Size
, LPWSTR lpBuffer
, LPDWORD lpnSize
)
1100 return ERROR_CALL_NOT_IMPLEMENTED
;
1105 GetComPlusPackageInstallStatus(VOID
)
1113 GetConsoleCharType(HANDLE hConsole
, COORD Coord
, PDWORD Type
)
1121 GetConsoleCursorMode(HANDLE hConsole
, PBOOL pUnknown1
, PBOOL pUnknown2
)
1129 GetConsoleNlsMode(HANDLE hConsole
, LPDWORD lpMode
)
1137 GetDefaultSortkeySize(LPVOID lpUnknown
)
1145 GetLinguistLangSize(LPVOID lpUnknown
)
1153 OpenDataFile(HANDLE hFile
, DWORD dwUnused
)
1161 OpenProfileUserMapping(VOID
)
1169 PrivMoveFileIdentityW(DWORD Unknown1
, DWORD Unknown2
, DWORD Unknown3
)
1177 ReadConsoleInputExA(HANDLE hConsole
, LPVOID lpBuffer
, DWORD dwLen
, LPDWORD Unknown1
, DWORD Unknown2
)
1185 ReadConsoleInputExW(HANDLE hConsole
, LPVOID lpBuffer
, DWORD dwLen
, LPDWORD Unknown1
, DWORD Unknown2
)
1193 RegisterConsoleIME(HWND hWnd
, LPDWORD ThreadId
)
1201 RegisterConsoleOS2(BOOL bUnknown
)
1209 RemoveLocalAlternateComputerNameA(LPSTR lpName
, DWORD Unknown
)
1212 return ERROR_CALL_NOT_IMPLEMENTED
;
1217 RemoveLocalAlternateComputerNameW(LPWSTR lpName
, DWORD Unknown
)
1220 return ERROR_CALL_NOT_IMPLEMENTED
;
1225 SetComPlusPackageInstallStatus(LPVOID lpInfo
)
1233 SetConsoleCursorMode(HANDLE hConsole
, BOOL Unknown1
, BOOL Unknown2
)
1241 SetConsoleLocalEUDC(DWORD Unknown1
, DWORD Unknown2
, DWORD Unknown3
, DWORD Unknown4
)
1249 SetConsoleNlsMode(HANDLE hConsole
, DWORD dwMode
)
1257 SetConsoleOS2OemFormat(BOOL bUnknown
)
1265 UnregisterConsoleIME(VOID
)
1271 BOOL WINAPI
TermsrvAppInstallMode(void)
1277 DWORD WINAPI
SetTermsrvAppInstallMode(BOOL bInstallMode
)