- Update NDK with proper (when possible) RTL structure names that were previously "under review".

- Update relevant source files to new names.

svn path=/trunk/; revision=19375
This commit is contained in:
Alex Ionescu 2005-11-20 17:16:11 +00:00
parent 9acc2d9d19
commit ada897443b
9 changed files with 140 additions and 131 deletions

View file

@ -12,7 +12,6 @@
/* DEPENDENCIES **************************************************************/ /* DEPENDENCIES **************************************************************/
#include <cfg.h> #include <cfg.h>
/* FIXME: this needs be implemented in the w32api ddk */
#if defined(_MSC_VER) && !defined(NTOS_MODE_USER) #if defined(_MSC_VER) && !defined(NTOS_MODE_USER)
#include <ntimage.h> #include <ntimage.h>
#endif #endif

View file

@ -26,7 +26,7 @@ List:
- Object Directory + implementation doesn't match NT (Alex) [obtypes.h] - Object Directory + implementation doesn't match NT (Alex) [obtypes.h]
Priority 3: Priority 3:
- Some RTL Structures need review (Alex) [rtltypes.h] - FIXED: Some RTL Structures need review (Alex) [rtltypes.h]
- Pushlock support is needed to fix EPROCESS (Alex) [pstypes.h] - Pushlock support is needed to fix EPROCESS (Alex) [pstypes.h]
- MADDRESS_SPACE must be converted into the NT Type (Alex) [pstypes.h, mmtypes.h] - MADDRESS_SPACE must be converted into the NT Type (Alex) [pstypes.h, mmtypes.h]

View file

@ -1703,7 +1703,7 @@ RtlGetCompressionWorkSpaceSize(
* Debug Info Functions * Debug Info Functions
*/ */
NTSYSAPI NTSYSAPI
PDEBUG_BUFFER PRTL_DEBUG_BUFFER
NTAPI NTAPI
RtlCreateQueryDebugBuffer( RtlCreateQueryDebugBuffer(
IN ULONG Size, IN ULONG Size,
@ -1713,7 +1713,7 @@ RtlCreateQueryDebugBuffer(
NTSYSAPI NTSYSAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
RtlDestroyQueryDebugBuffer(IN PDEBUG_BUFFER DebugBuffer); RtlDestroyQueryDebugBuffer(IN PRTL_DEBUG_BUFFER DebugBuffer);
NTSYSAPI NTSYSAPI
NTSTATUS NTSTATUS
@ -1721,7 +1721,7 @@ NTAPI
RtlQueryProcessDebugInformation( RtlQueryProcessDebugInformation(
IN ULONG ProcessId, IN ULONG ProcessId,
IN ULONG DebugInfoClassMask, IN ULONG DebugInfoClassMask,
IN OUT PDEBUG_BUFFER DebugBuffer IN OUT PRTL_DEBUG_BUFFER DebugBuffer
); );
/* /*

View file

@ -34,7 +34,7 @@
#define EXCEPTION_UNWINDING 0x02 #define EXCEPTION_UNWINDING 0x02
#define EXCEPTION_EXIT_UNWIND 0x04 #define EXCEPTION_EXIT_UNWIND 0x04
#define EXCEPTION_STACK_INVALID 0x8 #define EXCEPTION_STACK_INVALID 0x8
#define EXCEPTION_NESTED_CALL 0x10 #define EXCEPTION_NESTED_CALL 0x10F
#define EXCEPTION_TARGET_UNWIND 0x20 #define EXCEPTION_TARGET_UNWIND 0x20
#define EXCEPTION_COLLIDED_UNWIND 0x20 #define EXCEPTION_COLLIDED_UNWIND 0x20
@ -228,13 +228,13 @@ RemoveTailList(
((L1)->LowPart == (L2)->LowPart)) ((L1)->LowPart == (L2)->LowPart))
#endif #endif
/* FIXME: Rename these */ /* RTL Debug Queries */
#define PDI_MODULES 0x01 /* The loaded modules of the process */ #define RTL_DEBUG_QUERY_MODULES 0x01
#define PDI_BACKTRACE 0x02 /* The heap stack back traces */ #define RTL_DEBUG_QUERY_BACKTRACES 0x02
#define PDI_HEAPS 0x04 /* The heaps of the process */ #define RTL_DEBUG_QUERY_HEAPS 0x04
#define PDI_HEAP_TAGS 0x08 /* The heap tags */ #define RTL_DEBUG_QUERY_HEAP_TAGS 0x08
#define PDI_HEAP_BLOCKS 0x10 /* The heap blocks */ #define RTL_DEBUG_QUERY_HEAP_BLOCKS 0x10
#define PDI_LOCKS 0x20 /* The locks created by the process */ #define RTL_DEBUG_QUERY_LOCKS 0x20
/* RTL Handle Flags */ /* RTL Handle Flags */
#define RTL_HANDLE_VALID 0x1 #define RTL_HANDLE_VALID 0x1
@ -267,7 +267,7 @@ typedef enum _RTL_GENERIC_COMPARE_RESULTS
} RTL_GENERIC_COMPARE_RESULTS; } RTL_GENERIC_COMPARE_RESULTS;
#endif #endif
typedef enum typedef enum _RTL_PATH_TYPE
{ {
INVALID_PATH = 0, INVALID_PATH = 0,
UNC_PATH, /* "//foo" */ UNC_PATH, /* "//foo" */
@ -277,7 +277,7 @@ typedef enum
RELATIVE_PATH, /* "foo" */ RELATIVE_PATH, /* "foo" */
DEVICE_PATH, /* "//./foo" */ DEVICE_PATH, /* "//./foo" */
UNC_DOT_PATH /* "//." */ UNC_DOT_PATH /* "//." */
} DOS_PATHNAME_TYPE; } RTL_PATH_TYPE;
/* FUNCTION TYPES ************************************************************/ /* FUNCTION TYPES ************************************************************/
#ifndef NTOS_MODE_USER #ifndef NTOS_MODE_USER
@ -549,28 +549,7 @@ typedef struct _ACE
ACCESS_MASK AccessMask; ACCESS_MASK AccessMask;
} ACE, *PACE; } ACE, *PACE;
/* FIXME: Review definitions and give these guys a better name */ typedef struct _RTL_PROCESS_MODULE_INFORMATION
typedef struct _DEBUG_BUFFER
{
HANDLE SectionHandle;
PVOID SectionBase;
PVOID RemoteSectionBase;
ULONG SectionBaseDelta;
HANDLE EventPairHandle;
ULONG Unknown[2];
HANDLE RemoteThreadHandle;
ULONG InfoClassMask;
ULONG SizeOfInfo;
ULONG AllocatedSize;
ULONG SectionSize;
PVOID ModuleInformation;
PVOID BackTraceInformation;
PVOID HeapInformation;
PVOID LockInformation;
PVOID Reserved[8];
} DEBUG_BUFFER, *PDEBUG_BUFFER;
typedef struct _DEBUG_MODULE_INFORMATION
{ {
ULONG Reserved[2]; ULONG Reserved[2];
PVOID Base; PVOID Base;
@ -581,9 +560,15 @@ typedef struct _DEBUG_MODULE_INFORMATION
USHORT LoadCount; USHORT LoadCount;
USHORT ModuleNameOffset; USHORT ModuleNameOffset;
CHAR ImageName[256]; CHAR ImageName[256];
} DEBUG_MODULE_INFORMATION, *PDEBUG_MODULE_INFORMATION; } RTL_PROCESS_MODULE_INFORMATION, *PRTL_PROCESS_MODULE_INFORMATION;
typedef struct _DEBUG_HEAP_INFORMATION typedef struct _RTL_PROCESS_MODULES
{
ULONG ModuleCount;
RTL_PROCESS_MODULE_INFORMATION ModuleEntry[1];
} RTL_PROCESS_MODULES, *PRTL_PROCESS_MODULES;
typedef struct _RTL_PROCESS_HEAP_INFORMATION
{ {
PVOID Base; PVOID Base;
ULONG Flags; ULONG Flags;
@ -596,9 +581,15 @@ typedef struct _DEBUG_HEAP_INFORMATION
ULONG Reserved[7]; ULONG Reserved[7];
PVOID Tags; PVOID Tags;
PVOID Blocks; PVOID Blocks;
} DEBUG_HEAP_INFORMATION, *PDEBUG_HEAP_INFORMATION; } RTL_PROCESS_HEAP_INFORMATION, *PRTL_PROCESS_HEAP_INFORMATION;
typedef struct _DEBUG_LOCK_INFORMATION typedef struct _RTL_PROCESS_HEAPS
{
ULONG HeapCount;
RTL_PROCESS_HEAP_INFORMATION HeapEntry[1];
} RTL_PROCESS_HEAPS, *PRTL_PROCESS_HEAPS;
typedef struct _RTL_PROCESS_LOCK_INFORMATION
{ {
PVOID Address; PVOID Address;
USHORT Type; USHORT Type;
@ -610,7 +601,45 @@ typedef struct _DEBUG_LOCK_INFORMATION
ULONG RecursionCount; ULONG RecursionCount;
ULONG NumberOfSharedWaiters; ULONG NumberOfSharedWaiters;
ULONG NumberOfExclusiveWaiters; ULONG NumberOfExclusiveWaiters;
} DEBUG_LOCK_INFORMATION, *PDEBUG_LOCK_INFORMATION; } RTL_PROCESS_LOCK_INFORMATION, *PRTL_PROCESS_LOCK_INFORMATION;
typedef struct _RTL_PROCESS_LOCKS
{
ULONG LockCount;
RTL_PROCESS_LOCK_INFORMATION LockEntry[1];
} RTL_PROCESS_LOCKS, *PRTL_PROCESS_LOCKS;
typedef struct _RTL_PROCESS_BACKTRACE_INFORMATION
{
/* FIXME */
ULONG Unknown;
} RTL_PROCESS_BACKTRACE_INFORMATION, *PRTL_PROCESS_BACKTRACE_INFORMATION;
typedef struct _RTL_PROCESS_BACKTRACES
{
ULONG BackTraceCount;
RTL_PROCESS_BACKTRACE_INFORMATION BackTraceEntry[1];
} RTL_PROCESS_BACKTRACES, *PRTL_PROCESS_BACKTRACES;
typedef struct _RTL_DEBUG_BUFFER
{
HANDLE SectionHandle;
PVOID SectionBase;
PVOID RemoteSectionBase;
ULONG SectionBaseDelta;
HANDLE EventPairHandle;
ULONG Unknown[2];
HANDLE RemoteThreadHandle;
ULONG InfoClassMask;
ULONG SizeOfInfo;
ULONG AllocatedSize;
ULONG SectionSize;
PRTL_PROCESS_MODULES ModuleInformation;
PRTL_PROCESS_BACKTRACES BackTraceInformation;
PRTL_PROCESS_HEAPS HeapInformation;
PRTL_PROCESS_LOCKS LockInformation;
PVOID Reserved[8];
} RTL_DEBUG_BUFFER, *PRTL_DEBUG_BUFFER;
typedef struct _RTL_HANDLE_TABLE_ENTRY typedef struct _RTL_HANDLE_TABLE_ENTRY
{ {
@ -629,25 +658,6 @@ typedef struct _RTL_HANDLE_TABLE
PRTL_HANDLE_TABLE_ENTRY MaxReservedHandles; PRTL_HANDLE_TABLE_ENTRY MaxReservedHandles;
} RTL_HANDLE_TABLE, *PRTL_HANDLE_TABLE; } RTL_HANDLE_TABLE, *PRTL_HANDLE_TABLE;
typedef struct _LOCK_INFORMATION
{
ULONG LockCount;
DEBUG_LOCK_INFORMATION LockEntry[1];
} LOCK_INFORMATION, *PLOCK_INFORMATION;
typedef struct _HEAP_INFORMATION
{
ULONG HeapCount;
DEBUG_HEAP_INFORMATION HeapEntry[1];
} HEAP_INFORMATION, *PHEAP_INFORMATION;
typedef struct _MODULE_INFORMATION
{
ULONG ModuleCount;
DEBUG_MODULE_INFORMATION ModuleEntry[1];
} MODULE_INFORMATION, *PMODULE_INFORMATION;
/* END REVIEW AREA */
typedef struct _EXCEPTION_REGISTRATION_RECORD typedef struct _EXCEPTION_REGISTRATION_RECORD
{ {
struct _EXCEPTION_REGISTRATION_RECORD *Next; struct _EXCEPTION_REGISTRATION_RECORD *Next;
@ -729,8 +739,8 @@ typedef struct _RTL_RESOURCE
ULONG ExclusiveWaiters; ULONG ExclusiveWaiters;
LONG NumberActive; LONG NumberActive;
HANDLE OwningThread; HANDLE OwningThread;
ULONG TimeoutBoost; /* ?? */ ULONG TimeoutBoost;
PVOID DebugInfo; /* ?? */ PVOID DebugInfo;
} RTL_RESOURCE, *PRTL_RESOURCE; } RTL_RESOURCE, *PRTL_RESOURCE;
typedef struct _RTL_MESSAGE_RESOURCE_ENTRY typedef struct _RTL_MESSAGE_RESOURCE_ENTRY
@ -757,7 +767,7 @@ typedef struct _NLS_FILE_HEADER
{ {
USHORT HeaderSize; USHORT HeaderSize;
USHORT CodePage; USHORT CodePage;
USHORT MaximumCharacterSize; /* SBCS = 1, DBCS = 2 */ USHORT MaximumCharacterSize;
USHORT DefaultChar; USHORT DefaultChar;
USHORT UniDefaultChar; USHORT UniDefaultChar;
USHORT TransDefaultChar; USHORT TransDefaultChar;

View file

@ -212,7 +212,7 @@ LdrQueryImageFileExecutionOptions(
NTSTATUS NTSTATUS
NTAPI NTAPI
LdrQueryProcessModuleInformation( LdrQueryProcessModuleInformation(
IN PMODULE_INFORMATION ModuleInformation OPTIONAL, IN PRTL_PROCESS_MODULES ModuleInformation OPTIONAL,
IN ULONG Size OPTIONAL, IN ULONG Size OPTIONAL,
OUT PULONG ReturnedSize OUT PULONG ReturnedSize
); );

View file

@ -92,8 +92,8 @@ typedef struct _TH32SNAPSHOT
/* INTERNAL FUNCTIONS *********************************************************/ /* INTERNAL FUNCTIONS *********************************************************/
static VOID static VOID
TH32FreeAllocatedResources(PDEBUG_BUFFER HeapDebug, TH32FreeAllocatedResources(PRTL_DEBUG_BUFFER HeapDebug,
PDEBUG_BUFFER ModuleDebug, PRTL_DEBUG_BUFFER ModuleDebug,
PVOID ProcThrdInfo, PVOID ProcThrdInfo,
ULONG ProcThrdInfoSize) ULONG ProcThrdInfoSize)
{ {
@ -118,8 +118,8 @@ TH32FreeAllocatedResources(PDEBUG_BUFFER HeapDebug,
static NTSTATUS static NTSTATUS
TH32CreateSnapshot(DWORD dwFlags, TH32CreateSnapshot(DWORD dwFlags,
DWORD th32ProcessID, DWORD th32ProcessID,
PDEBUG_BUFFER *HeapDebug, PRTL_DEBUG_BUFFER *HeapDebug,
PDEBUG_BUFFER *ModuleDebug, PRTL_DEBUG_BUFFER *ModuleDebug,
PVOID *ProcThrdInfo, PVOID *ProcThrdInfo,
ULONG *ProcThrdInfoSize) ULONG *ProcThrdInfoSize)
{ {
@ -139,7 +139,7 @@ TH32CreateSnapshot(DWORD dwFlags,
if(*HeapDebug != NULL) if(*HeapDebug != NULL)
{ {
Status = RtlQueryProcessDebugInformation(th32ProcessID, Status = RtlQueryProcessDebugInformation(th32ProcessID,
PDI_HEAPS, RTL_DEBUG_QUERY_HEAPS,
*HeapDebug); *HeapDebug);
} }
else else
@ -156,7 +156,7 @@ TH32CreateSnapshot(DWORD dwFlags,
if(*ModuleDebug != NULL) if(*ModuleDebug != NULL)
{ {
Status = RtlQueryProcessDebugInformation(th32ProcessID, Status = RtlQueryProcessDebugInformation(th32ProcessID,
PDI_MODULES, RTL_DEBUG_QUERY_MODULES,
*ModuleDebug); *ModuleDebug);
} }
else else
@ -221,8 +221,8 @@ TH32CreateSnapshot(DWORD dwFlags,
static NTSTATUS static NTSTATUS
TH32CreateSnapshotSectionInitialize(DWORD dwFlags, TH32CreateSnapshotSectionInitialize(DWORD dwFlags,
DWORD th32ProcessID, DWORD th32ProcessID,
PDEBUG_BUFFER HeapDebug, PRTL_DEBUG_BUFFER HeapDebug,
PDEBUG_BUFFER ModuleDebug, PRTL_DEBUG_BUFFER ModuleDebug,
PVOID ProcThrdInfo, PVOID ProcThrdInfo,
HANDLE *SectionHandle) HANDLE *SectionHandle)
{ {
@ -239,8 +239,8 @@ TH32CreateSnapshotSectionInitialize(DWORD dwFlags,
ULONG ViewSize, i; ULONG ViewSize, i;
ULONG nProcesses = 0, nThreads = 0, nHeaps = 0, nModules = 0; ULONG nProcesses = 0, nThreads = 0, nHeaps = 0, nModules = 0;
ULONG RequiredSnapshotSize = sizeof(TH32SNAPSHOT); ULONG RequiredSnapshotSize = sizeof(TH32SNAPSHOT);
PHEAP_INFORMATION hi = NULL; PRTL_PROCESS_HEAPS hi = NULL;
PMODULE_INFORMATION mi = NULL; PRTL_PROCESS_MODULES mi = NULL;
NTSTATUS Status = STATUS_SUCCESS; NTSTATUS Status = STATUS_SUCCESS;
/* /*
@ -248,7 +248,7 @@ TH32CreateSnapshotSectionInitialize(DWORD dwFlags,
*/ */
if(dwFlags & TH32CS_SNAPHEAPLIST) if(dwFlags & TH32CS_SNAPHEAPLIST)
{ {
hi = (PHEAP_INFORMATION)HeapDebug->HeapInformation; hi = (PRTL_PROCESS_HEAPS)HeapDebug->HeapInformation;
nHeaps = hi->HeapCount; nHeaps = hi->HeapCount;
RequiredSnapshotSize += nHeaps * sizeof(HEAPLIST32); RequiredSnapshotSize += nHeaps * sizeof(HEAPLIST32);
} }
@ -258,7 +258,7 @@ TH32CreateSnapshotSectionInitialize(DWORD dwFlags,
*/ */
if(dwFlags & TH32CS_SNAPMODULE) if(dwFlags & TH32CS_SNAPMODULE)
{ {
mi = (PMODULE_INFORMATION)ModuleDebug->ModuleInformation; mi = (PRTL_PROCESS_MODULES)ModuleDebug->ModuleInformation;
nModules = mi->ModuleCount; nModules = mi->ModuleCount;
RequiredSnapshotSize += nModules * sizeof(MODULEENTRY32W); RequiredSnapshotSize += nModules * sizeof(MODULEENTRY32W);
} }
@ -1113,7 +1113,7 @@ HANDLE
STDCALL STDCALL
CreateToolhelp32Snapshot(DWORD dwFlags, DWORD th32ProcessID) CreateToolhelp32Snapshot(DWORD dwFlags, DWORD th32ProcessID)
{ {
PDEBUG_BUFFER HeapDebug, ModuleDebug; PRTL_DEBUG_BUFFER HeapDebug, ModuleDebug;
PVOID ProcThrdInfo; PVOID ProcThrdInfo;
ULONG ProcThrdInfoSize; ULONG ProcThrdInfoSize;
NTSTATUS Status; NTSTATUS Status;

View file

@ -2643,14 +2643,14 @@ LdrShutdownThread (VOID)
* @implemented * @implemented
*/ */
NTSTATUS NTAPI NTSTATUS NTAPI
LdrQueryProcessModuleInformation(IN PMODULE_INFORMATION ModuleInformation OPTIONAL, LdrQueryProcessModuleInformation(IN PRTL_PROCESS_MODULES ModuleInformation OPTIONAL,
IN ULONG Size OPTIONAL, IN ULONG Size OPTIONAL,
OUT PULONG ReturnedSize) OUT PULONG ReturnedSize)
{ {
PLIST_ENTRY ModuleListHead; PLIST_ENTRY ModuleListHead;
PLIST_ENTRY Entry; PLIST_ENTRY Entry;
PLDR_DATA_TABLE_ENTRY Module; PLDR_DATA_TABLE_ENTRY Module;
PDEBUG_MODULE_INFORMATION ModulePtr = NULL; PRTL_PROCESS_MODULE_INFORMATION ModulePtr = NULL;
NTSTATUS Status = STATUS_SUCCESS; NTSTATUS Status = STATUS_SUCCESS;
ULONG UsedSize = sizeof(ULONG); ULONG UsedSize = sizeof(ULONG);
ANSI_STRING AnsiString; ANSI_STRING AnsiString;
@ -2710,7 +2710,7 @@ LdrQueryProcessModuleInformation(IN PMODULE_INFORMATION ModuleInformation OPTION
ModulePtr++; ModulePtr++;
ModuleInformation->ModuleCount++; ModuleInformation->ModuleCount++;
} }
UsedSize += sizeof(DEBUG_MODULE_INFORMATION); UsedSize += sizeof(RTL_PROCESS_MODULE_INFORMATION);
Entry = Entry->Flink; Entry = Entry->Flink;
} }

View file

@ -16,12 +16,12 @@
/* /*
* @unimplemented * @unimplemented
*/ */
PDEBUG_BUFFER NTAPI PRTL_DEBUG_BUFFER NTAPI
RtlCreateQueryDebugBuffer(IN ULONG Size, RtlCreateQueryDebugBuffer(IN ULONG Size,
IN BOOLEAN EventPair) IN BOOLEAN EventPair)
{ {
NTSTATUS Status; NTSTATUS Status;
PDEBUG_BUFFER Buf = NULL; PRTL_DEBUG_BUFFER Buf = NULL;
ULONG SectionSize = 100 * PAGE_SIZE; ULONG SectionSize = 100 * PAGE_SIZE;
Status = NtAllocateVirtualMemory( NtCurrentProcess(), Status = NtAllocateVirtualMemory( NtCurrentProcess(),
@ -47,7 +47,7 @@ RtlCreateQueryDebugBuffer(IN ULONG Size,
* @unimplemented * @unimplemented
*/ */
NTSTATUS NTAPI NTSTATUS NTAPI
RtlDestroyQueryDebugBuffer(IN PDEBUG_BUFFER Buf) RtlDestroyQueryDebugBuffer(IN PRTL_DEBUG_BUFFER Buf)
{ {
NTSTATUS Status = STATUS_SUCCESS; NTSTATUS Status = STATUS_SUCCESS;
@ -71,7 +71,7 @@ RtlDestroyQueryDebugBuffer(IN PDEBUG_BUFFER Buf)
*/ */
NTSTATUS NTAPI NTSTATUS NTAPI
RtlpQueryRemoteProcessModules(HANDLE ProcessHandle, RtlpQueryRemoteProcessModules(HANDLE ProcessHandle,
IN PMODULE_INFORMATION ModuleInformation OPTIONAL, IN PRTL_PROCESS_MODULES ModuleInformation OPTIONAL,
IN ULONG Size OPTIONAL, IN ULONG Size OPTIONAL,
OUT PULONG ReturnedSize) OUT PULONG ReturnedSize)
{ {
@ -81,7 +81,7 @@ RtlpQueryRemoteProcessModules(HANDLE ProcessHandle,
PLIST_ENTRY pleListHead; PLIST_ENTRY pleListHead;
PLIST_ENTRY pleCurEntry; PLIST_ENTRY pleCurEntry;
PDEBUG_MODULE_INFORMATION ModulePtr = NULL; PRTL_PROCESS_MODULE_INFORMATION ModulePtr = NULL;
NTSTATUS Status = STATUS_SUCCESS; NTSTATUS Status = STATUS_SUCCESS;
ULONG UsedSize = sizeof(ULONG); ULONG UsedSize = sizeof(ULONG);
ANSI_STRING AnsiString; ANSI_STRING AnsiString;
@ -209,7 +209,7 @@ RtlpQueryRemoteProcessModules(HANDLE ProcessHandle,
ModulePtr++; ModulePtr++;
ModuleInformation->ModuleCount++; ModuleInformation->ModuleCount++;
} }
UsedSize += sizeof(DEBUG_MODULE_INFORMATION); UsedSize += sizeof(RTL_PROCESS_MODULE_INFORMATION);
/* address of the next module in the list */ /* address of the next module in the list */
pleCurEntry = lmModule.InLoadOrderModuleList.Flink; pleCurEntry = lmModule.InLoadOrderModuleList.Flink;
@ -230,13 +230,13 @@ RtlpQueryRemoteProcessModules(HANDLE ProcessHandle,
NTSTATUS NTAPI NTSTATUS NTAPI
RtlQueryProcessDebugInformation(IN ULONG ProcessId, RtlQueryProcessDebugInformation(IN ULONG ProcessId,
IN ULONG DebugInfoMask, IN ULONG DebugInfoMask,
IN OUT PDEBUG_BUFFER Buf) IN OUT PRTL_DEBUG_BUFFER Buf)
{ {
NTSTATUS Status = STATUS_SUCCESS; NTSTATUS Status = STATUS_SUCCESS;
ULONG Pid = (ULONG) NtCurrentTeb()->Cid.UniqueProcess; ULONG Pid = (ULONG) NtCurrentTeb()->Cid.UniqueProcess;
Buf->InfoClassMask = DebugInfoMask; Buf->InfoClassMask = DebugInfoMask;
Buf->SizeOfInfo = sizeof(DEBUG_BUFFER); Buf->SizeOfInfo = sizeof(RTL_DEBUG_BUFFER);
DPRINT("QueryProcessDebugInformation Start\n"); DPRINT("QueryProcessDebugInformation Start\n");
@ -252,13 +252,13 @@ if (ProcessId <= 1)
else else
if (Pid == ProcessId) if (Pid == ProcessId)
{ {
if (DebugInfoMask & PDI_MODULES) if (DebugInfoMask & RTL_DEBUG_QUERY_MODULES)
{ {
PMODULE_INFORMATION Mp; PRTL_PROCESS_MODULES Mp;
ULONG ReturnSize = 0; ULONG ReturnSize = 0;
ULONG MSize; ULONG MSize;
Mp = (PMODULE_INFORMATION)(Buf + Buf->SizeOfInfo); Mp = (PRTL_PROCESS_MODULES)(Buf + Buf->SizeOfInfo);
/* I like this better than the do & while loop. */ /* I like this better than the do & while loop. */
Status = LdrQueryProcessModuleInformation( NULL, Status = LdrQueryProcessModuleInformation( NULL,
@ -272,22 +272,22 @@ if (Pid == ProcessId)
return Status; return Status;
} }
MSize = Mp->ModuleCount * (sizeof(MODULE_INFORMATION) + 8); MSize = Mp->ModuleCount * (sizeof(RTL_PROCESS_MODULES) + 8);
Buf->ModuleInformation = Mp; Buf->ModuleInformation = Mp;
Buf->SizeOfInfo = Buf->SizeOfInfo + MSize; Buf->SizeOfInfo = Buf->SizeOfInfo + MSize;
} }
if (DebugInfoMask & PDI_HEAPS) if (DebugInfoMask & RTL_DEBUG_QUERY_HEAPS)
{ {
PHEAP_INFORMATION Hp; PRTL_PROCESS_HEAPS Hp;
ULONG HSize; ULONG HSize;
Hp = (PHEAP_INFORMATION)(Buf + Buf->SizeOfInfo); Hp = (PRTL_PROCESS_HEAPS)(Buf + Buf->SizeOfInfo);
HSize = sizeof(HEAP_INFORMATION); HSize = sizeof(RTL_PROCESS_HEAPS);
if (DebugInfoMask & PDI_HEAP_TAGS) if (DebugInfoMask & RTL_DEBUG_QUERY_HEAP_TAGS)
{ {
} }
if (DebugInfoMask & PDI_HEAP_BLOCKS) if (DebugInfoMask & RTL_DEBUG_QUERY_HEAP_BLOCKS)
{ {
} }
Buf->HeapInformation = Hp; Buf->HeapInformation = Hp;
@ -295,13 +295,13 @@ if (Pid == ProcessId)
} }
if (DebugInfoMask & PDI_LOCKS) if (DebugInfoMask & RTL_DEBUG_QUERY_LOCKS)
{ {
PLOCK_INFORMATION Lp; PRTL_PROCESS_LOCKS Lp;
ULONG LSize; ULONG LSize;
Lp = (PLOCK_INFORMATION)(Buf + Buf->SizeOfInfo); Lp = (PRTL_PROCESS_LOCKS)(Buf + Buf->SizeOfInfo);
LSize = sizeof(LOCK_INFORMATION); LSize = sizeof(RTL_PROCESS_LOCKS);
Buf->LockInformation = Lp; Buf->LockInformation = Lp;
Buf->SizeOfInfo = Buf->SizeOfInfo + LSize; Buf->SizeOfInfo = Buf->SizeOfInfo + LSize;
} }
@ -334,13 +334,13 @@ else
return Status; return Status;
} }
if (DebugInfoMask & PDI_MODULES) if (DebugInfoMask & RTL_DEBUG_QUERY_MODULES)
{ {
PMODULE_INFORMATION Mp; PRTL_PROCESS_MODULES Mp;
ULONG ReturnSize = 0; ULONG ReturnSize = 0;
ULONG MSize; ULONG MSize;
Mp = (PMODULE_INFORMATION)(Buf + Buf->SizeOfInfo); Mp = (PRTL_PROCESS_MODULES)(Buf + Buf->SizeOfInfo);
Status = RtlpQueryRemoteProcessModules( hProcess, Status = RtlpQueryRemoteProcessModules( hProcess,
NULL, NULL,
@ -356,22 +356,22 @@ else
return Status; return Status;
} }
MSize = Mp->ModuleCount * (sizeof(MODULE_INFORMATION) + 8); MSize = Mp->ModuleCount * (sizeof(RTL_PROCESS_MODULES) + 8);
Buf->ModuleInformation = Mp; Buf->ModuleInformation = Mp;
Buf->SizeOfInfo = Buf->SizeOfInfo + MSize; Buf->SizeOfInfo = Buf->SizeOfInfo + MSize;
} }
if (DebugInfoMask & PDI_HEAPS) if (DebugInfoMask & RTL_DEBUG_QUERY_HEAPS)
{ {
PHEAP_INFORMATION Hp; PRTL_PROCESS_HEAPS Hp;
ULONG HSize; ULONG HSize;
Hp = (PHEAP_INFORMATION)(Buf + Buf->SizeOfInfo); Hp = (PRTL_PROCESS_HEAPS)(Buf + Buf->SizeOfInfo);
HSize = sizeof(HEAP_INFORMATION); HSize = sizeof(RTL_PROCESS_HEAPS);
if (DebugInfoMask & PDI_HEAP_TAGS) if (DebugInfoMask & RTL_DEBUG_QUERY_HEAP_TAGS)
{ {
} }
if (DebugInfoMask & PDI_HEAP_BLOCKS) if (DebugInfoMask & RTL_DEBUG_QUERY_HEAP_BLOCKS)
{ {
} }
Buf->HeapInformation = Hp; Buf->HeapInformation = Hp;
@ -379,13 +379,13 @@ else
} }
if (DebugInfoMask & PDI_LOCKS) if (DebugInfoMask & RTL_DEBUG_QUERY_LOCKS)
{ {
PLOCK_INFORMATION Lp; PRTL_PROCESS_LOCKS Lp;
ULONG LSize; ULONG LSize;
Lp = (PLOCK_INFORMATION)(Buf + Buf->SizeOfInfo); Lp = (PRTL_PROCESS_LOCKS)(Buf + Buf->SizeOfInfo);
LSize = sizeof(LOCK_INFORMATION); LSize = sizeof(RTL_PROCESS_LOCKS);
Buf->LockInformation = Lp; Buf->LockInformation = Lp;
Buf->SizeOfInfo = Buf->SizeOfInfo + LSize; Buf->SizeOfInfo = Buf->SizeOfInfo + LSize;
} }

View file

@ -498,7 +498,7 @@ static ULONG get_full_path_helper(
ULONG size) ULONG size)
{ {
ULONG reqsize = 0, mark = 0, dep = 0, deplen; ULONG reqsize = 0, mark = 0, dep = 0, deplen;
DOS_PATHNAME_TYPE type; RTL_PATH_TYPE type;
LPWSTR ins_str = NULL; LPWSTR ins_str = NULL;
LPCWSTR ptr; LPCWSTR ptr;
const UNICODE_STRING* cd; const UNICODE_STRING* cd;