Added patch to implement ProcessImageFileNameWin32 info class.

This commit is contained in:
Sebastian Lackner 2017-03-10 23:09:57 +01:00
parent 9a9fb0c9f8
commit ab34c856c3
3 changed files with 70 additions and 0 deletions

View File

@ -0,0 +1,53 @@
From 02c1bbeb9c610518d282c65aaa6f9563c3d80b73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 7 Mar 2017 01:57:42 +0100
Subject: ntdll: Implement ProcessImageFileNameWin32 in
NtQueryInformationProcess.
---
dlls/ntdll/process.c | 1 +
include/winternl.h | 16 ++++++++++++++++
2 files changed, 17 insertions(+)
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index a14b6707167..39cd8be6019 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -498,6 +498,7 @@ NTSTATUS WINAPI NtQueryInformationProcess(
case ProcessImageFileName:
/* FIXME: this will return a DOS path. Windows returns an NT path. Changing this would require also changing kernel32.QueryFullProcessImageName.
* The latter may be harder because of the lack of RtlNtPathNameToDosPathName. */
+ case ProcessImageFileNameWin32:
SERVER_START_REQ(get_dll_info)
{
UNICODE_STRING *image_file_name_str = ProcessInformation;
diff --git a/include/winternl.h b/include/winternl.h
index 8acb7fd3e11..4a137f42b49 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -829,6 +829,22 @@ typedef enum _PROCESSINFOCLASS {
ProcessDebugFlags = 31,
ProcessHandleTracing = 32,
ProcessExecuteFlags = 34,
+ ProcessTlsInformation = 35,
+ ProcessCookie = 36,
+ ProcessImageInformation = 37,
+ ProcessCycleTime = 38,
+ ProcessPagePriority = 39,
+ ProcessInstrumentationCallback = 40,
+ ProcessThreadStackAllocation = 41,
+ ProcessWorkingSetWatchEx = 42,
+ ProcessImageFileNameWin32 = 43,
+ ProcessImageFileMapping = 44,
+ ProcessAffinityUpdateMode = 45,
+ ProcessMemoryAllocationMode = 46,
+ ProcessGroupInformation = 47,
+ ProcessTokenVirtualizationEnabled = 48,
+ ProcessConsoleHostProcess = 49,
+ ProcessWindowInformation = 50,
MaxProcessInfoClass
} PROCESSINFOCLASS, PROCESS_INFORMATION_CLASS;
--
2.11.0

View File

@ -0,0 +1 @@
Fixes: Implement ProcessImageFileNameWin32 info class

View File

@ -244,6 +244,7 @@ patch_enable_all ()
enable_ntdll_NtSetInformationToken="$1"
enable_ntdll_NtSetLdtEntries="$1"
enable_ntdll_Pipe_SpecialCharacters="$1"
enable_ntdll_ProcessImageFileNameWin32="$1"
enable_ntdll_ProcessPriorityClass="$1"
enable_ntdll_ProcessQuotaLimits="$1"
enable_ntdll_Purist_Mode="$1"
@ -949,6 +950,9 @@ patch_enable ()
ntdll-Pipe_SpecialCharacters)
enable_ntdll_Pipe_SpecialCharacters="$2"
;;
ntdll-ProcessImageFileNameWin32)
enable_ntdll_ProcessImageFileNameWin32="$2"
;;
ntdll-ProcessPriorityClass)
enable_ntdll_ProcessPriorityClass="$2"
;;
@ -5565,6 +5569,18 @@ if test "$enable_ntdll_Pipe_SpecialCharacters" -eq 1; then
) >> "$patchlist"
fi
# Patchset ntdll-ProcessImageFileNameWin32
# |
# | Modified files:
# | * dlls/ntdll/process.c, include/winternl.h
# |
if test "$enable_ntdll_ProcessImageFileNameWin32" -eq 1; then
patch_apply ntdll-ProcessImageFileNameWin32/0001-ntdll-Implement-ProcessImageFileNameWin32-in-NtQuery.patch
(
printf '%s\n' '+ { "Michael Müller", "ntdll: Implement ProcessImageFileNameWin32 in NtQueryInformationProcess.", 1 },';
) >> "$patchlist"
fi
# Patchset ntdll-ProcessPriorityClass
# |
# | Modified files: