Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/ntdll/tests/info.c | 8 +------- dlls/ntdll/unix/process.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/dlls/ntdll/tests/info.c b/dlls/ntdll/tests/info.c index dc141c6bf9c..67040d2263d 100644 --- a/dlls/ntdll/tests/info.c +++ b/dlls/ntdll/tests/info.c @@ -2222,13 +2222,7 @@ static void test_query_process_handlecount(void) ok( status == STATUS_INFO_LENGTH_MISMATCH || status == STATUS_SUCCESS, "Expected STATUS_INFO_LENGTH_MISMATCH or STATUS_SUCCESS, got %08lx\n", status); ok( sizeof(handlecount) == ReturnLength, "Inconsistent length %ld\n", ReturnLength); - - /* Check if we have some return values */ - if (winetest_debug > 1) trace("HandleCount : %ld\n", handlecount); - todo_wine - { - ok( handlecount > 0, "Expected some handles, got 0\n"); - } + ok( handlecount > 0, "Expected some handles, got 0\n"); }
static void test_query_process_image_file_name(void) diff --git a/dlls/ntdll/unix/process.c b/dlls/ntdll/unix/process.c index 649a26be8e4..886aa2cfead 100644 --- a/dlls/ntdll/unix/process.c +++ b/dlls/ntdll/unix/process.c @@ -1349,11 +1349,16 @@ NTSTATUS WINAPI NtQueryInformationProcess( HANDLE handle, PROCESSINFOCLASS class if (size >= 4) { if (!info) ret = STATUS_ACCESS_VIOLATION; - else if (!handle) ret = STATUS_INVALID_HANDLE; else { - memset(info, 0, 4); - len = 4; + SERVER_START_REQ(get_process_handle_info) + { + req->handle = wine_server_obj_handle( handle ); + ret = wine_server_call( req ); + *(ULONG *)info = reply->handle_count; + } + SERVER_END_REQ; + if (ret == STATUS_SUCCESS) len = 4; } if (size > 4) ret = STATUS_INFO_LENGTH_MISMATCH; }