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 GetSystemPowerStatus (
162 LPSYSTEM_POWER_STATUS PowerStatus
166 PowerStatus
->ACLineStatus
= 1;
167 PowerStatus
->BatteryFlag
= 128;
168 PowerStatus
->BatteryLifePercent
= 255;
169 PowerStatus
->Reserved1
= 0;
170 PowerStatus
->BatteryLifeTime
= -1;
171 PowerStatus
->BatteryFullLifeTime
= -1;
181 GetVDMCurrentDirectories (
220 RegisterWowBaseHandlers (
247 SetSystemPowerState (
262 SetVDMCurrentDirectories (
291 VDMConsoleOperation (
306 VDMOperationStarted (
319 VirtualBufferExceptionHandler (
334 AllocateUserPhysicalPages(
336 PULONG_PTR NumberOfPages
,
337 PULONG_PTR UserPfnArray
349 BindIoCompletionCallback(HANDLE FileHandle
,
350 LPOVERLAPPED_COMPLETION_ROUTINE Function
,
355 DPRINT("(%p, %p, %d)\n", FileHandle
, Function
, Flags
);
357 Status
= RtlSetIoCompletionCallback(FileHandle
,
358 (PIO_APC_ROUTINE
)Function
,
361 if (!NT_SUCCESS(Status
))
363 SetLastError(RtlNtStatusToDosError(Status
));
375 CancelDeviceWakeupRequest(
390 PJOB_SET_ARRAY UserJobSet
,
402 FindVolumeMountPointClose(
403 HANDLE hFindVolumeMountPoint
415 FreeUserPhysicalPages(
417 PULONG_PTR NumberOfPages
,
445 GetNumaHighestNodeNumber(
446 PULONG HighestNodeNumber
458 GetNumaNodeProcessorMask(
460 PULONGLONG ProcessorMask
472 GetNumaProcessorNode(
491 PULONG_PTR lpdwCount
,
492 PULONG lpdwGranularity
504 HeapQueryInformation (
506 HEAP_INFORMATION_CLASS HeapInformationClass
,
507 PVOID HeapInformation OPTIONAL
,
508 SIZE_T HeapInformationLength OPTIONAL
,
509 PSIZE_T ReturnLength OPTIONAL
523 HEAP_INFORMATION_CLASS HeapInformationClass
,
524 PVOID HeapInformation OPTIONAL
,
525 SIZE_T HeapInformationLength OPTIONAL
537 IsSystemResumeAutomatic(
550 MapUserPhysicalPages(
551 PVOID VirtualAddress
,
552 ULONG_PTR NumberOfPages
,
553 PULONG_PTR PageArray OPTIONAL
565 MapUserPhysicalPagesScatter(
566 PVOID
*VirtualAddresses
,
567 ULONG_PTR NumberOfPages
,
568 PULONG_PTR PageArray OPTIONAL
580 ReadFileScatter(HANDLE hFile
,
581 FILE_SEGMENT_ELEMENT aSegmentArray
[],
582 DWORD nNumberOfBytesToRead
,
584 LPOVERLAPPED lpOverlapped
)
586 PIO_STATUS_BLOCK pIOStatus
;
587 LARGE_INTEGER Offset
;
590 DPRINT("(%p %p %u %p)\n", hFile
, aSegmentArray
, nNumberOfBytesToRead
, lpOverlapped
);
592 Offset
.LowPart
= lpOverlapped
->Offset
;
593 Offset
.HighPart
= lpOverlapped
->OffsetHigh
;
594 pIOStatus
= (PIO_STATUS_BLOCK
) lpOverlapped
;
595 pIOStatus
->Status
= STATUS_PENDING
;
596 pIOStatus
->Information
= 0;
598 Status
= NtReadFileScatter(hFile
,
604 nNumberOfBytesToRead
,
608 if (!NT_SUCCESS(Status
))
610 SetLastError(RtlNtStatusToDosError(Status
));
622 RemoveVectoredExceptionHandler(
623 PVOID VectoredHandlerHandle
648 RequestWakeupLatency(
662 LPVOID lpBaseAddress
,
687 SetMessageWaitingIndicator(
688 HANDLE hMsgIndicator
,
701 SetThreadExecutionState(
702 EXECUTION_STATE esFlags
705 static EXECUTION_STATE current
=
706 ES_SYSTEM_REQUIRED
| ES_DISPLAY_REQUIRED
| ES_USER_PRESENT
;
707 EXECUTION_STATE old
= current
;
709 DPRINT1("(0x%x): stub, harmless.\n", esFlags
);
711 if (!(current
& ES_CONTINUOUS
) || (esFlags
& ES_CONTINUOUS
))
721 WriteFileGather(HANDLE hFile
,
722 FILE_SEGMENT_ELEMENT aSegmentArray
[],
723 DWORD nNumberOfBytesToWrite
,
725 LPOVERLAPPED lpOverlapped
)
727 PIO_STATUS_BLOCK IOStatus
;
728 LARGE_INTEGER Offset
;
731 DPRINT("%p %p %u %p\n", hFile
, aSegmentArray
, nNumberOfBytesToWrite
, lpOverlapped
);
733 Offset
.LowPart
= lpOverlapped
->Offset
;
734 Offset
.HighPart
= lpOverlapped
->OffsetHigh
;
735 IOStatus
= (PIO_STATUS_BLOCK
) lpOverlapped
;
736 IOStatus
->Status
= STATUS_PENDING
;
737 IOStatus
->Information
= 0;
739 Status
= NtWriteFileGather(hFile
,
745 nNumberOfBytesToWrite
,
749 if (!NT_SUCCESS(Status
))
751 SetLastError(RtlNtStatusToDosError(Status
));
763 DeleteVolumeMountPointW(
764 LPCWSTR lpszVolumeMountPoint
776 FindFirstVolumeMountPointW(
777 LPCWSTR lpszRootPathName
,
778 LPWSTR lpszVolumeMountPoint
,
779 DWORD cchBufferLength
797 MOUNTMGR_MOUNT_POINTS
*data
= handle
;
799 while (data
->Size
< data
->NumberOfMountPoints
)
801 static const WCHAR volumeW
[] = {'\\','?','?','\\','V','o','l','u','m','e','{',};
802 WCHAR
*link
= (WCHAR
*)((char *)data
+ data
->MountPoints
[data
->Size
].SymbolicLinkNameOffset
);
803 DWORD size
= data
->MountPoints
[data
->Size
].SymbolicLinkNameLength
;
805 /* skip non-volumes */
806 if (size
< sizeof(volumeW
) || memcmp( link
, volumeW
, sizeof(volumeW
) )) continue;
807 if (size
+ sizeof(WCHAR
) >= len
* sizeof(WCHAR
))
809 SetLastError( ERROR_FILENAME_EXCED_RANGE
);
812 memcpy( volume
, link
, size
);
813 volume
[1] = '\\'; /* map \??\ to \\?\ */
814 volume
[size
/ sizeof(WCHAR
)] = '\\'; /* Windows appends a backslash */
815 volume
[size
/ sizeof(WCHAR
) + 1] = 0;
816 DPRINT( "returning entry %u %s\n", data
->Size
- 1, volume
);
819 SetLastError( ERROR_NO_MORE_FILES
);
828 FindNextVolumeMountPointW(
829 HANDLE hFindVolumeMountPoint
,
830 LPWSTR lpszVolumeMountPoint
,
831 DWORD cchBufferLength
843 GetFirmwareEnvironmentVariableW(
860 LPCWSTR lpszFileName
,
861 LPWSTR lpszVolumePathName
,
862 DWORD cchBufferLength
866 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
875 GetVolumePathNamesForVolumeNameW(
876 LPCWSTR lpszVolumeName
,
877 LPWSTR lpszVolumePathNames
,
878 DWORD cchBufferLength
,
879 PDWORD lpcchReturnLength
892 LPCWSTR lpReplacedFileName
,
893 LPCWSTR lpReplacementFileName
,
894 LPCWSTR lpBackupFileName
,
895 DWORD dwReplaceFlags
,
909 SetFirmwareEnvironmentVariableW(
925 SetVolumeMountPointW(
926 LPCWSTR lpszVolumeMountPoint
,
927 LPCWSTR lpszVolumeName
939 DeleteVolumeMountPointA(
940 LPCSTR lpszVolumeMountPoint
952 FindFirstVolumeMountPointA(
953 LPCSTR lpszRootPathName
,
954 LPSTR lpszVolumeMountPoint
,
955 DWORD cchBufferLength
967 FindNextVolumeA(HANDLE handle
,
971 WCHAR
*buffer
= HeapAlloc(GetProcessHeap(), 0, len
* sizeof(WCHAR
));
974 if ((ret
= FindNextVolumeW( handle
, buffer
, len
)))
976 if (!WideCharToMultiByte( CP_ACP
, 0, buffer
, -1, volume
, len
, NULL
, NULL
)) ret
= FALSE
;
979 HeapFree( GetProcessHeap(), 0, buffer
);
988 FindNextVolumeMountPointA(
989 HANDLE hFindVolumeMountPoint
,
990 LPSTR lpszVolumeMountPoint
,
991 DWORD cchBufferLength
1003 GetFirmwareEnvironmentVariableA(
1020 LPCSTR lpszFileName
,
1021 LPSTR lpszVolumePathName
,
1022 DWORD cchBufferLength
1034 GetVolumePathNamesForVolumeNameA(
1035 LPCSTR lpszVolumeName
,
1036 LPSTR lpszVolumePathNames
,
1037 DWORD cchBufferLength
,
1038 PDWORD lpcchReturnLength
1051 LPCSTR lpReplacedFileName
,
1052 LPCSTR lpReplacementFileName
,
1053 LPCSTR lpBackupFileName
,
1054 DWORD dwReplaceFlags
,
1068 SetFirmwareEnvironmentVariableA(
1084 SetVolumeMountPointA(
1085 LPCSTR lpszVolumeMountPoint
,
1086 LPCSTR lpszVolumeName
1096 BOOL WINAPI
GetConsoleKeyboardLayoutNameA(LPSTR name
)
1105 BOOL WINAPI
GetConsoleKeyboardLayoutNameW(LPWSTR name
)
1114 DWORD WINAPI
GetHandleContext(HANDLE hnd
)
1123 HANDLE WINAPI
CreateSocketHandle(VOID
)
1132 BOOL WINAPI
SetHandleContext(HANDLE hnd
,DWORD context
)
1141 BOOL WINAPI
UTRegister( HMODULE hModule
, LPSTR lpsz16BITDLL
,
1142 LPSTR lpszInitName
, LPSTR lpszProcName
,
1143 FARPROC
*ppfn32Thunk
, FARPROC pfnUT32CallBack
,
1153 VOID WINAPI
UTUnRegister( HMODULE hModule
)
1162 FARPROC WINAPI
DelayLoadFailureHook(unsigned int dliNotify
, PDelayLoadInfo pdli
)
1164 FARPROC WINAPI
DelayLoadFailureHook(unsigned int dliNotify
, PVOID pdli
)
1174 NTSTATUS WINAPI
CreateNlsSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor
,ULONG Size
,ULONG AccessMask
)
1183 BOOL WINAPI
IsValidUILanguage(LANGID langid
)
1192 VOID WINAPI
NlsConvertIntegerToString(ULONG Value
,ULONG Base
,ULONG strsize
, LPWSTR str
, ULONG strsize2
)
1200 UINT WINAPI
SetCPGlobal(UINT CodePage
)
1211 SetClientTimeZoneInformation(
1212 CONST TIME_ZONE_INFORMATION
*lpTimeZoneInformation
)
1220 NlsGetCacheUpdateCount(VOID
)
1228 Wow64EnableWow64FsRedirection (BOOL Wow64EnableWow64FsRedirection
)
1236 Wow64DisableWow64FsRedirection (VOID
** pv
)
1244 Wow64RevertWow64FsRedirection (VOID
* pv
)
1252 EnumSystemFirmwareTables(IN DWORD FirmwareTableProviderSignature
,
1253 OUT PVOID pFirmwareTableBuffer
,
1254 IN DWORD BufferSize
)
1262 GetSystemFileCacheSize(OUT PSIZE_T lpMinimumFileCacheSize
,
1263 OUT PSIZE_T lpMaximumFileCacheSize
,
1272 GetSystemFirmwareTable(IN DWORD FirmwareTableProviderSignature
,
1273 IN DWORD FirmwareTableID
,
1274 OUT PVOID pFirmwareTableBuffer
,
1275 IN DWORD BufferSize
)
1283 SetSystemFileCacheSize(IN SIZE_T MinimumFileCacheSize
,
1284 IN SIZE_T MaximumFileCacheSize
,
1293 SetThreadStackGuarantee(IN OUT PULONG StackSizeInBytes
)
1301 ReOpenFile(IN HANDLE hOriginalFile
,
1302 IN DWORD dwDesiredAccess
,
1303 IN DWORD dwShareMode
,
1307 return INVALID_HANDLE_VALUE
;
1312 SetProcessWorkingSetSizeEx(IN HANDLE hProcess
,
1313 IN SIZE_T dwMinimumWorkingSetSize
,
1314 IN SIZE_T dwMaximumWorkingSetSize
,
1324 GetProcessWorkingSetSizeEx(IN HANDLE hProcess
,
1325 OUT PSIZE_T lpMinimumWorkingSetSize
,
1326 OUT PSIZE_T lpMaximumWorkingSetSize
,
1335 GetLogicalProcessorInformation(OUT PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer
,
1336 IN OUT PDWORD ReturnLength
)
1344 GetNumaAvailableMemoryNode(IN UCHAR Node
,
1345 OUT PULONGLONG AvailableBytes
)
1351 BOOL WINAPI
TermsrvAppInstallMode(void)
1357 DWORD WINAPI
SetTermsrvAppInstallMode(BOOL bInstallMode
)