ntdll: Forward RtlGetNativeSystemInformation() to NtWow64GetNativeSystemInformation() on 32-bit.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2021-07-05 12:13:30 +02:00
parent 0426430563
commit 9a224788b7
3 changed files with 3 additions and 30 deletions

View File

@ -35,15 +35,6 @@
#include "ntdll_misc.h" #include "ntdll_misc.h"
#include "ddk/wdm.h" #include "ddk/wdm.h"
WINE_DEFAULT_DEBUG_CHANNEL(ntdll);
/*
* Token
*/
/*
* Misc
*/
/*********************************************************************** /***********************************************************************
* RtlIsProcessorFeaturePresent [NTDLL.@] * RtlIsProcessorFeaturePresent [NTDLL.@]
@ -53,25 +44,6 @@ BOOLEAN WINAPI RtlIsProcessorFeaturePresent( UINT feature )
return feature < PROCESSOR_FEATURE_MAX && user_shared_data->ProcessorFeatures[feature]; return feature < PROCESSOR_FEATURE_MAX && user_shared_data->ProcessorFeatures[feature];
} }
/******************************************************************************
* RtlGetNativeSystemInformation [NTDLL.@]
*/
NTSTATUS WINAPI /* DECLSPEC_HOTPATCH */ RtlGetNativeSystemInformation(
IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
OUT PVOID SystemInformation,
IN ULONG Length,
OUT PULONG ResultLength)
{
FIXME( "semi-stub, SystemInformationClass %#x, SystemInformation %p, Length %#x, ResultLength %p.\n",
SystemInformationClass, SystemInformation, Length, ResultLength );
/* RtlGetNativeSystemInformation function is the same as NtQuerySystemInformation on some Win7
* versions but there are differences for earlier and newer versions, at least:
* - HighestUserAddress field for SystemBasicInformation;
* - Some information classes are not supported by RtlGetNativeSystemInformation. */
return NtQuerySystemInformation( SystemInformationClass, SystemInformation, Length, ResultLength );
}
/****************************************************************************** /******************************************************************************
* VerSetConditionMask (NTDLL.@) * VerSetConditionMask (NTDLL.@)
*/ */

View File

@ -721,7 +721,8 @@
# Yes, Microsoft really misspelled this one! # Yes, Microsoft really misspelled this one!
# @ stub RtlGetLengthWithoutTrailingPathSeperators # @ stub RtlGetLengthWithoutTrailingPathSeperators
@ stdcall RtlGetLongestNtPathLength() @ stdcall RtlGetLongestNtPathLength()
@ stdcall RtlGetNativeSystemInformation(long ptr long ptr) @ stdcall -syscall -arch=win32 RtlGetNativeSystemInformation(long ptr long ptr) NtWow64GetNativeSystemInformation
@ stdcall -syscall -arch=win64 RtlGetNativeSystemInformation(long ptr long ptr) NtQuerySystemInformation
# @ stub RtlGetNextRange # @ stub RtlGetNextRange
@ stdcall RtlGetNtGlobalFlags() @ stdcall RtlGetNtGlobalFlags()
@ stdcall RtlGetNtProductType(ptr) @ stdcall RtlGetNtProductType(ptr)

View File

@ -200,11 +200,11 @@ static void test_query_basic(void)
ok( status == STATUS_INVALID_INFO_CLASS || broken(STATUS_NOT_IMPLEMENTED), /* vista */ ok( status == STATUS_INVALID_INFO_CLASS || broken(STATUS_NOT_IMPLEMENTED), /* vista */
"got %08x\n", status); "got %08x\n", status);
status = pRtlGetNativeSystemInformation( SystemNativeBasicInformation, &sbi3, sizeof(sbi3), &ReturnLength ); status = pRtlGetNativeSystemInformation( SystemNativeBasicInformation, &sbi3, sizeof(sbi3), &ReturnLength );
todo_wine
ok( !status || status == STATUS_INFO_LENGTH_MISMATCH || ok( !status || status == STATUS_INFO_LENGTH_MISMATCH ||
broken(status == STATUS_INVALID_INFO_CLASS) || broken(status == STATUS_NOT_IMPLEMENTED), broken(status == STATUS_INVALID_INFO_CLASS) || broken(status == STATUS_NOT_IMPLEMENTED),
"failed %x\n", status ); "failed %x\n", status );
if (!status || status == STATUS_INFO_LENGTH_MISMATCH) if (!status || status == STATUS_INFO_LENGTH_MISMATCH)
todo_wine_if( is_wow64 )
ok( !status == !is_wow64, "got wrong status %x wow64 %u\n", status, is_wow64 ); ok( !status == !is_wow64, "got wrong status %x wow64 %u\n", status, is_wow64 );
if (!status) if (!status)
{ {