Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/ntdll/tests/info.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
diff --git a/dlls/ntdll/tests/info.c b/dlls/ntdll/tests/info.c index 5ea1957..f6a0d70 100644 --- a/dlls/ntdll/tests/info.c +++ b/dlls/ntdll/tests/info.c @@ -1443,6 +1443,28 @@ todo_wine "Expected image name to begin with \Device\, got %s\n", wine_dbgstr_wn(buffer->Buffer, buffer->Length / sizeof(WCHAR))); heap_free(buffer); + + status = pNtQueryInformationProcess(NULL, ProcessImageFileNameWin32, buffer, sizeof(*buffer), NULL); + if (status == STATUS_INVALID_INFO_CLASS) + { + win_skip("ProcessImageFileName is not supported\n"); + return; + } + ok( status == STATUS_INVALID_HANDLE, "Expected STATUS_INVALID_HANDLE, got %08x\n", status); + + status = pNtQueryInformationProcess( GetCurrentProcess(), ProcessImageFileNameWin32, buffer, 2, &ReturnLength); + ok( status == STATUS_INFO_LENGTH_MISMATCH, "Expected STATUS_INFO_LENGTH_MISMATCH, got %08x\n", status); + + status = pNtQueryInformationProcess( GetCurrentProcess(), ProcessImageFileNameWin32, buffer, sizeof(*buffer), &ReturnLength); + ok( status == STATUS_INFO_LENGTH_MISMATCH, "Expected STATUS_INFO_LENGTH_MISMATCH, got %08x\n", status); + + buffer = heap_alloc(ReturnLength); + status = pNtQueryInformationProcess( GetCurrentProcess(), ProcessImageFileNameWin32, buffer, ReturnLength, &ReturnLength); + ok( status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got %08x\n", status); + ok(memcmp(buffer->Buffer, deviceW, sizeof(deviceW)), + "Expected image name not to begin with \Device\, got %s\n", + wine_dbgstr_wn(buffer->Buffer, buffer->Length / sizeof(WCHAR))); + heap_free(buffer); }
static void test_query_process_debug_object_handle(int argc, char **argv)