kernel32: Forward GetLogicalProcessorInformationEx() to ntdll.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
114123370b
commit
ae1fe69e39
@ -3836,11 +3836,26 @@ BOOL WINAPI GetLogicalProcessorInformation(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION
|
|||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* GetLogicalProcessorInformationEx (KERNEL32.@)
|
* GetLogicalProcessorInformationEx (KERNEL32.@)
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI GetLogicalProcessorInformationEx(LOGICAL_PROCESSOR_RELATIONSHIP relationship, PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX buffer, PDWORD pBufLen)
|
BOOL WINAPI GetLogicalProcessorInformationEx(LOGICAL_PROCESSOR_RELATIONSHIP relationship, SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX *buffer, DWORD *len)
|
||||||
{
|
{
|
||||||
FIXME("(%u,%p,%p): stub\n", relationship, buffer, pBufLen);
|
NTSTATUS status;
|
||||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
||||||
return FALSE;
|
TRACE("(%u,%p,%p)\n", relationship, buffer, len);
|
||||||
|
|
||||||
|
if (!len)
|
||||||
|
{
|
||||||
|
SetLastError( ERROR_INVALID_PARAMETER );
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
status = NtQuerySystemInformationEx( SystemLogicalProcessorInformationEx, &relationship, sizeof(relationship),
|
||||||
|
buffer, *len, len );
|
||||||
|
if (status != STATUS_SUCCESS)
|
||||||
|
{
|
||||||
|
SetLastError( RtlNtStatusToDosError( status ) );
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
@ -3121,8 +3121,14 @@ static void test_GetLogicalProcessorInformationEx(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret = pGetLogicalProcessorInformationEx(RelationAll, NULL, NULL);
|
ret = pGetLogicalProcessorInformationEx(RelationAll, NULL, NULL);
|
||||||
ok(!ret, "got %d, error %d\n", ret, GetLastError());
|
ok(!ret && GetLastError() == ERROR_INVALID_PARAMETER, "got %d, error %d\n", ret, GetLastError());
|
||||||
|
|
||||||
|
len = 0;
|
||||||
|
ret = pGetLogicalProcessorInformationEx(RelationProcessorCore, NULL, &len);
|
||||||
|
todo_wine {
|
||||||
|
ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %d, error %d\n", ret, GetLastError());
|
||||||
|
ok(len > 0, "got %u\n", len);
|
||||||
|
}
|
||||||
len = 0;
|
len = 0;
|
||||||
ret = pGetLogicalProcessorInformationEx(RelationAll, NULL, &len);
|
ret = pGetLogicalProcessorInformationEx(RelationAll, NULL, &len);
|
||||||
todo_wine {
|
todo_wine {
|
||||||
|
@ -718,6 +718,13 @@ static void test_query_logicalprocex(void)
|
|||||||
if (!pNtQuerySystemInformationEx)
|
if (!pNtQuerySystemInformationEx)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
len = 0;
|
||||||
|
relationship = RelationProcessorCore;
|
||||||
|
status = pNtQuerySystemInformationEx(SystemLogicalProcessorInformationEx, &relationship, sizeof(relationship), NULL, 0, &len);
|
||||||
|
todo_wine {
|
||||||
|
ok(status == STATUS_INFO_LENGTH_MISMATCH, "got 0x%08x\n", status);
|
||||||
|
ok(len > 0, "got %u\n", len);
|
||||||
|
}
|
||||||
len = 0;
|
len = 0;
|
||||||
relationship = RelationAll;
|
relationship = RelationAll;
|
||||||
status = pNtQuerySystemInformationEx(SystemLogicalProcessorInformationEx, &relationship, sizeof(relationship), NULL, 0, &len);
|
status = pNtQuerySystemInformationEx(SystemLogicalProcessorInformationEx, &relationship, sizeof(relationship), NULL, 0, &len);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user