You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against 54b2a10659871032720df31ae9ca6cba2ff4acf0.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From c1b6bc02ee2534dc2b51d8184fb0ca6717c33cf3 Mon Sep 17 00:00:00 2001
|
||||
From 2de64a6d61d01b9409ab6b61176c0a88a4838937 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Sun, 28 May 2017 05:19:30 +0200
|
||||
Subject: [PATCH] ntdll: Implement NtQueryVirtualMemory(MemorySectionName).
|
||||
@@ -15,10 +15,10 @@ Contains several improvements by Sebastian Lackner <sebastian@fds-team.de>.
|
||||
6 files changed, 136 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
|
||||
index 6b0dbaa7b3d..2ac7fcaae35 100644
|
||||
index b404bceb427..dcc76846c1e 100644
|
||||
--- a/dlls/ntdll/unix/file.c
|
||||
+++ b/dlls/ntdll/unix/file.c
|
||||
@@ -1767,7 +1767,7 @@ static NTSTATUS fill_file_info( const struct stat *st, ULONG attr, void *ptr,
|
||||
@@ -1763,7 +1763,7 @@ static NTSTATUS fill_file_info( const struct stat *st, ULONG attr, void *ptr,
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ index 6b0dbaa7b3d..2ac7fcaae35 100644
|
||||
data_size_t size = 1024;
|
||||
NTSTATUS ret;
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 711a0bed2b7..466c59da75a 100644
|
||||
index 3d56ea5d408..f24ca578ce1 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -170,6 +170,7 @@ extern unsigned int server_queue_process_apc( HANDLE process, const apc_call_t *
|
||||
@@ -40,10 +40,10 @@ index 711a0bed2b7..466c59da75a 100644
|
||||
extern size_t server_init_thread( void *entry_point, BOOL *suspend ) DECLSPEC_HIDDEN;
|
||||
extern int server_pipe( int fd[2] ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
|
||||
index cd1bd162a2a..570a8a3bf49 100644
|
||||
index 91989bd569e..d1c63bdb215 100644
|
||||
--- a/dlls/ntdll/unix/virtual.c
|
||||
+++ b/dlls/ntdll/unix/virtual.c
|
||||
@@ -4013,6 +4013,98 @@ static NTSTATUS get_working_set_ex( HANDLE process, LPCVOID addr,
|
||||
@@ -4009,6 +4009,98 @@ static NTSTATUS get_working_set_ex( HANDLE process, LPCVOID addr,
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ index cd1bd162a2a..570a8a3bf49 100644
|
||||
+ if (!status)
|
||||
+ {
|
||||
+ status = unix_to_nt_file_name( unix_name, &nt_nameW );
|
||||
+ RtlFreeHeap( GetProcessHeap(), 0, unix_name );
|
||||
+ free( unix_name );
|
||||
+ }
|
||||
+ if (!status)
|
||||
+ {
|
||||
@@ -91,7 +91,7 @@ index cd1bd162a2a..570a8a3bf49 100644
|
||||
+
|
||||
+ for (;;)
|
||||
+ {
|
||||
+ if (!(name = RtlAllocateHeap( GetProcessHeap(), 0, (size + 1) * sizeof(WCHAR) )))
|
||||
+ if (!(name = malloc( (size + 1) * sizeof(WCHAR) )))
|
||||
+ return STATUS_NO_MEMORY;
|
||||
+
|
||||
+ SERVER_START_REQ( get_dll_info )
|
||||
@@ -109,14 +109,14 @@ index cd1bd162a2a..570a8a3bf49 100644
|
||||
+ name[size] = 0;
|
||||
+ break;
|
||||
+ }
|
||||
+ RtlFreeHeap( GetProcessHeap(), 0, name );
|
||||
+ free( name );
|
||||
+ if (status == STATUS_DLL_NOT_FOUND) return STATUS_INVALID_ADDRESS;
|
||||
+ if (status != STATUS_BUFFER_TOO_SMALL) return status;
|
||||
+ }
|
||||
+
|
||||
+ if (!RtlDosPathNameToNtPathName_U( name, &nt_name, NULL, NULL ))
|
||||
+ {
|
||||
+ RtlFreeHeap( GetProcessHeap(), 0, name );
|
||||
+ free( name );
|
||||
+ return STATUS_INVALID_PARAMETER;
|
||||
+ }
|
||||
+
|
||||
@@ -133,7 +133,7 @@ index cd1bd162a2a..570a8a3bf49 100644
|
||||
+ else
|
||||
+ status = (len < sizeof(MEMORY_SECTION_NAME)) ? STATUS_INFO_LENGTH_MISMATCH : STATUS_BUFFER_OVERFLOW;
|
||||
+
|
||||
+ RtlFreeHeap( GetProcessHeap(), 0, name );
|
||||
+ free( name );
|
||||
+ RtlFreeUnicodeString( &nt_name );
|
||||
+ return status;
|
||||
+}
|
||||
@@ -142,7 +142,7 @@ index cd1bd162a2a..570a8a3bf49 100644
|
||||
#define UNIMPLEMENTED_INFO_CLASS(c) \
|
||||
case c: \
|
||||
FIXME("(process=%p,addr=%p) Unimplemented information class: " #c "\n", process, addr); \
|
||||
@@ -4037,8 +4129,10 @@ NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
|
||||
@@ -4033,8 +4125,10 @@ NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
|
||||
case MemoryWorkingSetExInformation:
|
||||
return get_working_set_ex( process, addr, buffer, len, res_len );
|
||||
|
||||
@@ -222,10 +222,10 @@ index db0debe0af5..6e74f5b770f 100644
|
||||
DECL_HANDLER(get_mapping_committed_range)
|
||||
{
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index bd6841d8000..345e0966c14 100644
|
||||
index 03e567c3dd4..3f0a68ccdcc 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -1756,6 +1756,15 @@ enum char_info_mode
|
||||
@@ -1686,6 +1686,15 @@ enum char_info_mode
|
||||
@END
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user