Alexandre Julliard : ntdll: Return the session id in NtQuerySystemInformation(SystemProcessInformation).
Alexandre Julliard
julliard at winehq.org
Thu Jul 1 15:53:50 CDT 2021
Module: wine
Branch: master
Commit: b20cbd0d571302e33ab602fa6670a131ae4353ce
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b20cbd0d571302e33ab602fa6670a131ae4353ce
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Jul 1 16:15:26 2021 +0200
ntdll: Return the session id in NtQuerySystemInformation(SystemProcessInformation).
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntdll/unix/system.c | 1 +
include/wine/server_protocol.h | 4 ++--
server/process.c | 1 +
server/protocol.def | 2 +-
server/trace.c | 4 ++--
5 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c
index 0e601beec15..6bd642c30d1 100644
--- a/dlls/ntdll/unix/system.c
+++ b/dlls/ntdll/unix/system.c
@@ -2294,6 +2294,7 @@ NTSTATUS WINAPI NtQuerySystemInformation( SYSTEM_INFORMATION_CLASS class,
nt_process->dwBasePriority = server_process->priority;
nt_process->UniqueProcessId = UlongToHandle(server_process->pid);
nt_process->ParentProcessId = UlongToHandle(server_process->parent_pid);
+ nt_process->SessionId = server_process->session_id;
nt_process->HandleCount = server_process->handle_count;
get_thread_times( server_process->unix_pid, -1, &nt_process->KernelTime, &nt_process->UserTime );
fill_vm_counters( &nt_process->vmCounters, server_process->unix_pid );
diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h
index 92ceaf9f8a4..d6815b7e349 100644
--- a/include/wine/server_protocol.h
+++ b/include/wine/server_protocol.h
@@ -2010,9 +2010,9 @@ struct process_info
int priority;
process_id_t pid;
process_id_t parent_pid;
+ unsigned int session_id;
int handle_count;
int unix_pid;
- int __pad;
};
@@ -6252,7 +6252,7 @@ union generic_reply
/* ### protocol_version begin ### */
-#define SERVER_PROTOCOL_VERSION 722
+#define SERVER_PROTOCOL_VERSION 723
/* ### protocol_version end ### */
diff --git a/server/process.c b/server/process.c
index 8ca19122e74..c2131a2d7e2 100644
--- a/server/process.c
+++ b/server/process.c
@@ -1874,6 +1874,7 @@ DECL_HANDLER(list_processes)
process_info->priority = process->priority;
process_info->pid = process->id;
process_info->parent_pid = process->parent_id;
+ process_info->session_id = process->session_id;
process_info->handle_count = get_handle_table_count(process);
process_info->unix_pid = process->unix_pid;
pos += sizeof(*process_info);
diff --git a/server/protocol.def b/server/protocol.def
index 952f5b193b2..8eb7e3e99ca 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -1609,9 +1609,9 @@ struct process_info
int priority;
process_id_t pid;
process_id_t parent_pid;
+ unsigned int session_id;
int handle_count;
int unix_pid;
- int __pad;
/* VARARG(name,unicode_str,name_len); */
/* VARARG(threads,struct thread_info,thread_count); */
};
diff --git a/server/trace.c b/server/trace.c
index dee0a893e77..f27cc47170b 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -1220,9 +1220,9 @@ static void dump_varargs_process_info( const char *prefix, data_size_t size )
if (size - pos < sizeof(*process)) break;
if (pos) fputc( ',', stderr );
dump_timeout( "{start_time=", &process->start_time );
- fprintf( stderr, ",thread_count=%u,priority=%d,pid=%04x,parent_pid=%04x,handle_count=%u,unix_pid=%d,",
+ fprintf( stderr, ",thread_count=%u,priority=%d,pid=%04x,parent_pid=%04x,session_id=%08x,handle_count=%u,unix_pid=%d,",
process->thread_count, process->priority, process->pid,
- process->parent_pid, process->handle_count, process->unix_pid );
+ process->parent_pid, process->session_id, process->handle_count, process->unix_pid );
pos += sizeof(*process);
pos = dump_inline_unicode_string( "name=L\"", pos, process->name_len, size );
More information about the wine-cvs
mailing list