From 48a2a467cd7b59c9bfbdd28740e5b621e926b6a0 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Tue, 7 Feb 2012 11:17:56 +0800 Subject: [PATCH] psapi: Make sure that NtQueryVirtualMemory(MemorySectionName) succeeds under Windows 2000 too. --- dlls/psapi/tests/psapi_main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dlls/psapi/tests/psapi_main.c b/dlls/psapi/tests/psapi_main.c index 09a56f747c5..208788187ba 100644 --- a/dlls/psapi/tests/psapi_main.c +++ b/dlls/psapi/tests/psapi_main.c @@ -198,7 +198,7 @@ static BOOL nt_get_mapped_file_name(HANDLE process, LPVOID addr, LPWSTR name, DW { MEMORY_SECTION_NAME *section_name; WCHAR *buf; - SIZE_T buf_len; + SIZE_T buf_len, ret_len; NTSTATUS status; if (!pNtQueryVirtualMemory) return FALSE; @@ -206,12 +206,16 @@ static BOOL nt_get_mapped_file_name(HANDLE process, LPVOID addr, LPWSTR name, DW buf_len = len * sizeof(WCHAR) + sizeof(MEMORY_SECTION_NAME); buf = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, buf_len); - status = pNtQueryVirtualMemory(process, addr, MemorySectionName, buf, buf_len, NULL); + ret_len = 0xdeadbeef; + status = pNtQueryVirtualMemory(process, addr, MemorySectionName, buf, buf_len, &ret_len); todo_wine - ok(!status || broken(status == STATUS_ACCESS_VIOLATION) /* win2k */, "NtQueryVirtualMemory error %x\n", status); + ok(!status, "NtQueryVirtualMemory error %x\n", status); + /* FIXME: remove once Wine is fixed */ if (status) return FALSE; section_name = (MEMORY_SECTION_NAME *)buf; + ok(ret_len == section_name->SectionFileName.MaximumLength + sizeof(*section_name), "got %lu, %u\n", + ret_len, section_name->SectionFileName.MaximumLength); ok((char *)section_name->SectionFileName.Buffer == (char *)section_name + sizeof(*section_name), "got %p, %p\n", section_name, section_name->SectionFileName.Buffer); ok(section_name->SectionFileName.MaximumLength == section_name->SectionFileName.Length + sizeof(WCHAR), "got %u, %u\n", -- 2.11.4.GIT