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 (
170 HANDLE hVirtualBuffer
197 GetSystemPowerStatus (
198 LPSYSTEM_POWER_STATUS PowerStatus
202 PowerStatus
->ACLineStatus
= 1;
203 PowerStatus
->BatteryFlag
= 128;
204 PowerStatus
->BatteryLifePercent
= 255;
205 PowerStatus
->Reserved1
= 0;
206 PowerStatus
->BatteryLifeTime
= -1;
207 PowerStatus
->BatteryFullLifeTime
= -1;
217 GetVDMCurrentDirectories (
256 RegisterWowBaseHandlers (
283 SetSystemPowerState (
298 SetVDMCurrentDirectories (
327 VDMConsoleOperation (
342 VDMOperationStarted (
355 VirtualBufferExceptionHandler (
370 AllocateUserPhysicalPages(
372 PULONG_PTR NumberOfPages
,
373 PULONG_PTR UserPfnArray
385 BindIoCompletionCallback (
387 LPOVERLAPPED_COMPLETION_ROUTINE Function
,
400 CancelDeviceWakeupRequest(
415 PJOB_SET_ARRAY UserJobSet
,
440 FindVolumeMountPointClose(
441 HANDLE hFindVolumeMountPoint
453 FreeUserPhysicalPages(
455 PULONG_PTR NumberOfPages
,
483 GetNumaHighestNodeNumber(
484 PULONG HighestNodeNumber
496 GetNumaNodeProcessorMask(
498 PULONGLONG ProcessorMask
510 GetNumaProcessorNode(
529 PULONG_PTR lpdwCount
,
530 PULONG lpdwGranularity
542 HeapQueryInformation (
544 HEAP_INFORMATION_CLASS HeapInformationClass
,
545 PVOID HeapInformation OPTIONAL
,
546 SIZE_T HeapInformationLength OPTIONAL
,
547 PSIZE_T ReturnLength OPTIONAL
561 HEAP_INFORMATION_CLASS HeapInformationClass
,
562 PVOID HeapInformation OPTIONAL
,
563 SIZE_T HeapInformationLength OPTIONAL
575 IsSystemResumeAutomatic(
594 *Wow64Process
= FALSE
;
603 MapUserPhysicalPages(
604 PVOID VirtualAddress
,
605 ULONG_PTR NumberOfPages
,
606 PULONG_PTR PageArray OPTIONAL
618 MapUserPhysicalPagesScatter(
619 PVOID
*VirtualAddresses
,
620 ULONG_PTR NumberOfPages
,
621 PULONG_PTR PageArray OPTIONAL
635 FILE_SEGMENT_ELEMENT aSegmentArray
[],
636 DWORD nNumberOfBytesToRead
,
638 LPOVERLAPPED lpOverlapped
650 RemoveVectoredExceptionHandler(
651 PVOID VectoredHandlerHandle
676 RequestWakeupLatency(
690 LPVOID lpBaseAddress
,
715 SetMessageWaitingIndicator(
716 HANDLE hMsgIndicator
,
729 SetThreadExecutionState(
730 EXECUTION_STATE esFlags
733 static EXECUTION_STATE current
=
734 ES_SYSTEM_REQUIRED
| ES_DISPLAY_REQUIRED
| ES_USER_PRESENT
;
735 EXECUTION_STATE old
= current
;
737 DPRINT1("(0x%x): stub, harmless.\n", esFlags
);
739 if (!(current
& ES_CONTINUOUS
) || (esFlags
& ES_CONTINUOUS
))
749 TzSpecificLocalTimeToSystemTime(
750 CONST TIME_ZONE_INFORMATION
*lpTimeZoneInformation
,
751 CONST SYSTEMTIME
*lpLocalTime
,
752 LPSYSTEMTIME lpUniversalTime
766 FILE_SEGMENT_ELEMENT aSegmentArray
[],
767 DWORD nNumberOfBytesToWrite
,
769 LPOVERLAPPED lpOverlapped
781 DeleteVolumeMountPointW(
782 LPCWSTR lpszVolumeMountPoint
794 DnsHostnameToComputerNameW (
802 DPRINT("(%s, %p, %p): stub\n", hostname
, computername
, size
);
804 if (!hostname
|| !size
) return FALSE
;
805 len
= lstrlenW(hostname
);
807 if (len
> MAX_COMPUTERNAME_LENGTH
)
808 len
= MAX_COMPUTERNAME_LENGTH
;
815 if (!computername
) return FALSE
;
817 memcpy( computername
, hostname
, len
* sizeof(WCHAR
) );
818 computername
[len
+ 1] = 0;
833 HANDLE mgr
= CreateFileW( MOUNTMGR_DOS_DEVICE_NAME
, 0, FILE_SHARE_READ
|FILE_SHARE_WRITE
,
834 NULL
, OPEN_EXISTING
, 0, 0 );
835 if (mgr
== INVALID_HANDLE_VALUE
) return INVALID_HANDLE_VALUE
;
839 MOUNTMGR_MOUNT_POINT input
;
840 MOUNTMGR_MOUNT_POINTS
*output
;
842 if (!(output
= HeapAlloc( GetProcessHeap(), 0, size
)))
844 SetLastError( ERROR_NOT_ENOUGH_MEMORY
);
847 memset( &input
, 0, sizeof(input
) );
849 if (!DeviceIoControl( mgr
, IOCTL_MOUNTMGR_QUERY_POINTS
, &input
, sizeof(input
),
850 output
, size
, NULL
, NULL
))
852 if (GetLastError() != ERROR_MORE_DATA
) break;
854 HeapFree( GetProcessHeap(), 0, output
);
858 /* abuse the Size field to store the current index */
860 if (!FindNextVolumeW( output
, volume
, len
))
862 HeapFree( GetProcessHeap(), 0, output
);
863 return INVALID_HANDLE_VALUE
;
865 return (HANDLE
)output
;
868 return INVALID_HANDLE_VALUE
;
876 FindFirstVolumeMountPointW(
877 LPCWSTR lpszRootPathName
,
878 LPWSTR lpszVolumeMountPoint
,
879 DWORD cchBufferLength
897 MOUNTMGR_MOUNT_POINTS
*data
= handle
;
899 while (data
->Size
< data
->NumberOfMountPoints
)
901 static const WCHAR volumeW
[] = {'\\','?','?','\\','V','o','l','u','m','e','{',};
902 WCHAR
*link
= (WCHAR
*)((char *)data
+ data
->MountPoints
[data
->Size
].SymbolicLinkNameOffset
);
903 DWORD size
= data
->MountPoints
[data
->Size
].SymbolicLinkNameLength
;
905 /* skip non-volumes */
906 if (size
< sizeof(volumeW
) || memcmp( link
, volumeW
, sizeof(volumeW
) )) continue;
907 if (size
+ sizeof(WCHAR
) >= len
* sizeof(WCHAR
))
909 SetLastError( ERROR_FILENAME_EXCED_RANGE
);
912 memcpy( volume
, link
, size
);
913 volume
[1] = '\\'; /* map \??\ to \\?\ */
914 volume
[size
/ sizeof(WCHAR
)] = '\\'; /* Windows appends a backslash */
915 volume
[size
/ sizeof(WCHAR
) + 1] = 0;
916 DPRINT( "returning entry %u %s\n", data
->Size
- 1, volume
);
919 SetLastError( ERROR_NO_MORE_FILES
);
928 FindNextVolumeMountPointW(
929 HANDLE hFindVolumeMountPoint
,
930 LPWSTR lpszVolumeMountPoint
,
931 DWORD cchBufferLength
943 GetFirmwareEnvironmentVariableW(
960 LPCWSTR lpszFileName
,
961 LPWSTR lpszVolumePathName
,
962 DWORD cchBufferLength
974 GetVolumePathNamesForVolumeNameW(
975 LPCWSTR lpszVolumeName
,
976 LPWSTR lpszVolumePathNames
,
977 DWORD cchBufferLength
,
978 PDWORD lpcchReturnLength
991 LPCWSTR lpReplacedFileName
,
992 LPCWSTR lpReplacementFileName
,
993 LPCWSTR lpBackupFileName
,
994 DWORD dwReplaceFlags
,
1008 SetFirmwareEnvironmentVariableW(
1024 SetVolumeMountPointW(
1025 LPCWSTR lpszVolumeMountPoint
,
1026 LPCWSTR lpszVolumeName
1038 DeleteVolumeMountPointA(
1039 LPCSTR lpszVolumeMountPoint
1051 DnsHostnameToComputerNameA (
1071 WCHAR
*buffer
= HeapAlloc( GetProcessHeap(), 0, len
* sizeof(WCHAR
) );
1072 HANDLE handle
= FindFirstVolumeW( buffer
, len
);
1074 if (handle
!= INVALID_HANDLE_VALUE
)
1076 if (!WideCharToMultiByte( CP_ACP
, 0, buffer
, -1, volume
, len
, NULL
, NULL
))
1078 FindVolumeClose( handle
);
1079 handle
= INVALID_HANDLE_VALUE
;
1082 HeapFree( GetProcessHeap(), 0, buffer
);
1091 FindFirstVolumeMountPointA(
1092 LPCSTR lpszRootPathName
,
1093 LPSTR lpszVolumeMountPoint
,
1094 DWORD cchBufferLength
1112 WCHAR
*buffer
= HeapAlloc( GetProcessHeap(), 0, len
* sizeof(WCHAR
) );
1115 if ((ret
= FindNextVolumeW( handle
, buffer
, len
)))
1117 if (!WideCharToMultiByte( CP_ACP
, 0, buffer
, -1, volume
, len
, NULL
, NULL
)) ret
= FALSE
;
1119 HeapFree( GetProcessHeap(), 0, buffer
);
1128 FindNextVolumeMountPointA(
1129 HANDLE hFindVolumeMountPoint
,
1130 LPSTR lpszVolumeMountPoint
,
1131 DWORD cchBufferLength
1143 GetFirmwareEnvironmentVariableA(
1159 GetVolumeNameForVolumeMountPointA(
1160 LPCSTR lpszVolumeMountPoint
,
1161 LPSTR lpszVolumeName
,
1162 DWORD cchBufferLength
1175 LPCSTR lpszFileName
,
1176 LPSTR lpszVolumePathName
,
1177 DWORD cchBufferLength
1189 GetVolumePathNamesForVolumeNameA(
1190 LPCSTR lpszVolumeName
,
1191 LPSTR lpszVolumePathNames
,
1192 DWORD cchBufferLength
,
1193 PDWORD lpcchReturnLength
1206 LPCSTR lpReplacedFileName
,
1207 LPCSTR lpReplacementFileName
,
1208 LPCSTR lpBackupFileName
,
1209 DWORD dwReplaceFlags
,
1223 SetFirmwareEnvironmentVariableA(
1239 SetVolumeMountPointA(
1240 LPCSTR lpszVolumeMountPoint
,
1241 LPCSTR lpszVolumeName
1251 BOOL STDCALL
GetConsoleKeyboardLayoutNameA(LPSTR name
)
1260 BOOL STDCALL
GetConsoleKeyboardLayoutNameW(LPWSTR name
)
1269 DWORD STDCALL
GetHandleContext(HANDLE hnd
)
1278 HANDLE STDCALL
CreateSocketHandle(VOID
)
1287 BOOL STDCALL
SetHandleContext(HANDLE hnd
,DWORD context
)
1296 BOOL STDCALL
UTRegister( HMODULE hModule
, LPSTR lpsz16BITDLL
,
1297 LPSTR lpszInitName
, LPSTR lpszProcName
,
1298 FARPROC
*ppfn32Thunk
, FARPROC pfnUT32CallBack
,
1308 VOID STDCALL
UTUnRegister( HMODULE hModule
)
1317 FARPROC STDCALL
DelayLoadFailureHook(unsigned int dliNotify
, PDelayLoadInfo pdli
)
1319 FARPROC STDCALL
DelayLoadFailureHook(unsigned int dliNotify
, PVOID pdli
)
1329 NTSTATUS STDCALL
CreateNlsSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor
,ULONG Size
,ULONG AccessMask
)
1338 BOOL STDCALL
IsValidUILanguage(LANGID langid
)
1347 VOID STDCALL
NlsConvertIntegerToString(ULONG Value
,ULONG Base
,ULONG strsize
, LPWSTR str
, ULONG strsize2
)
1355 UINT STDCALL
SetCPGlobal(UINT CodePage
)
1366 SetClientTimeZoneInformation(
1367 CONST TIME_ZONE_INFORMATION
*lpTimeZoneInformation
)
1375 NlsGetCacheUpdateCount(VOID
)
1383 Wow64EnableWow64FsRedirection (BOOL Wow64EnableWow64FsRedirection
)
1391 Wow64DisableWow64FsRedirection (VOID
** pv
)
1399 Wow64RevertWow64FsRedirection (VOID
* pv
)