mirror of
https://github.com/pbatard/rufus.git
synced 2025-05-23 19:27:03 -04:00
[process] fix retrieval of full process commandline for MinGW32
* NtWow64QueryInformationProcess64() fails because sizeof(PVOID64) happens to be 4 instead of 8 in MinGW32 (WTF?!?) and therefore sizeof(pbi) is set to 44 instead of 48, resulting in NTSTATUS code 0xC0000004: STATUS_INFO_LENGTH_MISMATCH... => Use an ULONGLONG instead and don't rely on MinGW32's improper definitions. * Also fix an issue whereas, when we find multiple conflicting processes, the first one's path is duplicated to all others...
This commit is contained in:
parent
2a1c57c750
commit
dd9f9ce1e9
3 changed files with 17 additions and 15 deletions
|
@ -121,7 +121,8 @@ typedef struct _OBJECT_TYPES_INFORMATION
|
|||
typedef struct _PROCESS_BASIC_INFORMATION_WOW64
|
||||
{
|
||||
PVOID Reserved1[2];
|
||||
PVOID64 PebBaseAddress;
|
||||
// MinGW32 screws us with a sizeof(PVOID64) of 4 instead of 8 => Use an ULONGLONG instead
|
||||
ULONGLONG PebBaseAddress;
|
||||
PVOID Reserved2[4];
|
||||
ULONG_PTR UniqueProcessId[2];
|
||||
PVOID Reserved3[2];
|
||||
|
@ -131,7 +132,7 @@ typedef struct _UNICODE_STRING_WOW64
|
|||
{
|
||||
USHORT Length;
|
||||
USHORT MaximumLength;
|
||||
PVOID64 Buffer;
|
||||
ULONGLONG Buffer;
|
||||
} UNICODE_STRING_WOW64;
|
||||
|
||||
typedef struct _FILE_PROCESS_IDS_USING_FILE_INFORMATION
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue