#include <ntos.h>
#include "ldrp.h"
#include <stktrace.h>
#include <heap.h>
#include <stdio.h>
Go to the source code of this file.
Defines | |
#define | AdjustPointer(t, p, d) (p); if ((p) != NULL) (p) = (t)((ULONG_PTR)(p) + (d)) |
Functions | |
NTSYSAPI NTSTATUS NTAPI | RtlpQueryProcessDebugInformationRemote (IN OUT PRTL_DEBUG_INFORMATION Buffer) |
NTSTATUS | RtlpChangeQueryDebugBufferTarget (IN PRTL_DEBUG_INFORMATION Buffer, IN HANDLE TargetProcessId, OUT PHANDLE ReturnedTargetProcessHandle) |
PVOID | RtlpCommitQueryDebugInfo (IN PRTL_DEBUG_INFORMATION Buffer, IN ULONG Size) |
VOID | RtlpDeCommitQueryDebugInfo (IN PRTL_DEBUG_INFORMATION Buffer, IN PVOID p, IN ULONG Size) |
NTSYSAPI PRTL_DEBUG_INFORMATION NTAPI | RtlCreateQueryDebugBuffer (IN ULONG MaximumCommit OPTIONAL, IN BOOLEAN UseEventPair) |
NTSYSAPI NTSTATUS NTAPI | RtlDestroyQueryDebugBuffer (IN PRTL_DEBUG_INFORMATION Buffer) |
NTSYSAPI NTSTATUS NTAPI | RtlQueryProcessDebugInformation (IN HANDLE UniqueProcessId, IN ULONG Flags, IN OUT PRTL_DEBUG_INFORMATION Buffer) |
NTSTATUS NTAPI | RtlQueryProcessModuleInformation (IN OUT PRTL_DEBUG_INFORMATION Buffer) |
NTSTATUS | RtlQueryProcessBackTraceInformation (IN OUT PRTL_DEBUG_INFORMATION Buffer) |
NTSTATUS | RtlpQueryProcessEnumHeapsRoutine (PVOID HeapHandle, PVOID Parameter) |
NTSYSAPI NTSTATUS NTAPI | RtlQueryProcessHeapInformation (IN OUT PRTL_DEBUG_INFORMATION Buffer) |
NTSYSAPI NTSTATUS NTAPI | RtlQueryProcessLockInformation (IN OUT PRTL_DEBUG_INFORMATION Buffer) |
|
Definition at line 27 of file dll/query.c. Referenced by RtlpQueryProcessDebugInformationRemote(). |
|
Definition at line 316 of file dll/query.c. References Buffer, NT_SUCCESS, NtAllocateVirtualMemory(), NtClose(), NtCreateEventPair(), NtCreateSection(), NtMapViewOfSection(), NTSTATUS(), NtUnmapViewOfSection(), NULL, and Status.
|
|
Definition at line 399 of file dll/query.c. References Buffer, NT_SUCCESS, NtClose(), NtFreeVirtualMemory(), NtQueryInformationThread(), NtReadVirtualMemory(), NtSetLowEventPair(), NTSTATUS(), NtUnmapViewOfSection(), NtWaitForSingleObject(), NULL, RtlpChangeQueryDebugBufferTarget(), Size, Status, ThreadHandle, and TRUE.
|
|
Definition at line 99 of file dll/query.c. References Buffer, NT_SUCCESS, NtClose(), NtDuplicateObject(), NtMapViewOfSection(), NtOpenProcess(), NTSTATUS(), NtUnmapViewOfSection(), NULL, ObjectAttributes, and Status. Referenced by RtlDestroyQueryDebugBuffer(), and RtlQueryProcessDebugInformation().
|
|
Definition at line 260 of file dll/query.c. References Buffer, NT_SUCCESS, NtAllocateVirtualMemory(), NTSTATUS(), NULL, Size, and Status. Referenced by RtlpQueryProcessEnumHeapsRoutine(), RtlQueryProcessBackTraceInformation(), RtlQueryProcessHeapInformation(), RtlQueryProcessLockInformation(), and RtlQueryProcessModuleInformation().
|
|
Definition at line 301 of file dll/query.c. Referenced by RtlQueryProcessLockInformation().
|
|
Definition at line 32 of file dll/query.c. References AdjustPointer, Buffer, NT_SUCCESS, NtSetHighWaitLowEventPair(), NTSTATUS(), NtTerminateThread(), NtUnmapViewOfSection(), NtWaitLowEventPair(), NULL, RtlQueryProcessDebugInformation(), and Status. Referenced by RtlQueryProcessDebugInformation().
|
|
Definition at line 729 of file dll/query.c. References _HEAP::AllocatorBackTraceIndex, Buffer, _HEAP::Flags, HEAP_ENTRY, HEAP_GRANULARITY_SHIFT, HEAP_MAXIMUM_SEGMENTS, HeapHandle, NULL, _HEAP_SEGMENT::NumberOfPages, _HEAP_SEGMENT::NumberOfUnCommittedPages, PAGE_SIZE, PHEAP, PHEAP_SEGMENT, RtlpCommitQueryDebugInfo(), _HEAP::Segments, and _HEAP::TotalFreeSize. Referenced by RtlQueryProcessHeapInformation().
|
|
Definition at line 660 of file dll/query.c. References _RTL_STACK_TRACE_ENTRY::BackTrace, Buffer, _STACK_TRACE_DATABASE::CommitBase, _STACK_TRACE_DATABASE::CurrentUpperCommitLimit, _RTL_STACK_TRACE_ENTRY::Depth, _STACK_TRACE_DATABASE::DumpInProgress, _STACK_TRACE_DATABASE::EntryIndexArray, FALSE, _RTL_STACK_TRACE_ENTRY::Index, n, NT_SUCCESS, NTSTATUS(), NULL, _STACK_TRACE_DATABASE::NumberOfEntriesAdded, _STACK_TRACE_DATABASE::NumberOfEntriesLookedUp, PRTL_STACK_TRACE_ENTRY, PSTACK_TRACE_DATABASE, RtlpAcquireStackTraceDataBase, RtlpCommitQueryDebugInfo(), RtlpReleaseStackTraceDataBase(), Status, _RTL_STACK_TRACE_ENTRY::TraceCount, and TRUE. Referenced by RtlQueryProcessDebugInformation().
|
|
Definition at line 469 of file dll/query.c. References Buffer, NT_SUCCESS, NtClose(), NtFreeVirtualMemory(), NtQueryInformationThread(), NtReadVirtualMemory(), NtResumeThread(), NtSetInformationThread(), NtSetLowWaitHighEventPair(), NTSTATUS(), NtTerminateThread(), NtWaitForSingleObject(), NULL, RtlCreateUserThread(), RtlpChangeQueryDebugBufferTarget(), RtlpQueryProcessDebugInformationRemote(), RtlQueryProcessBackTraceInformation(), RtlQueryProcessHeapInformation(), RtlQueryProcessLockInformation(), RtlQueryProcessModuleInformation(), Size, Status, ThreadHandle, and TRUE. Referenced by RtlpQueryProcessDebugInformationRemote().
|
|
Definition at line 769 of file dll/query.c. References _HEAP_UNCOMMMTTED_RANGE::Address, _HEAP_ENTRY_EXTRA::AllocatorBackTraceIndex, _HEAP_SEGMENT::AllocatorBackTraceIndex, _HEAP_PSEUDO_TAG_ENTRY::Allocs, Buffer, _HEAP_VIRTUAL_ALLOC_ENTRY::BusyBlock, _HEAP_VIRTUAL_ALLOC_ENTRY::CommitSize, _HEAP_VIRTUAL_ALLOC_ENTRY::ExtraStuff, FALSE, _HEAP_SEGMENT::FirstEntry, _HEAP_ENTRY::Flags, _HEAP::Flags, _HEAP_FREE_ENTRY_EXTRA::FreeBackTraceIndex, _HEAP_PSEUDO_TAG_ENTRY::Frees, HEAP_ENTRY_BUSY, HEAP_ENTRY_EXTRA_PRESENT, HEAP_ENTRY_LAST_ENTRY, HEAP_ENTRY_SETTABLE_FLAGS, HEAP_GRANULARITY, HEAP_GRANULARITY_SHIFT, HEAP_MAXIMUM_FREELISTS, HEAP_MAXIMUM_SEGMENTS, HEAP_NUMBER_OF_PSEUDO_TAG, HEAP_VIRTUAL_ALLOC_ENTRY, L, _HEAP_SEGMENT::LastValidEntry, _HEAP::LockVariable, n, _HEAP_UNCOMMMTTED_RANGE::Next, _HEAP::NextAvailableTagIndex, NT_SUCCESS, NTSTATUS(), NULL, _HEAP_SEGMENT::NumberOfPages, _HEAP_SEGMENT::NumberOfUnCommittedPages, PAGE_SIZE, PHEAP_ENTRY, PHEAP_ENTRY_EXTRA, PHEAP_FREE_ENTRY_EXTRA, PHEAP_PSEUDO_TAG_ENTRY, PHEAP_UNCOMMMTTED_RANGE, PHEAP_VIRTUAL_ALLOC_ENTRY, _HEAP::PseudoTagEntries, _HEAP_VIRTUAL_ALLOC_ENTRY::ReserveSize, RtlEnumProcessHeaps(), RtlpCommitQueryDebugInfo(), RtlpGlobalTagHeap, RtlpQueryProcessEnumHeapsRoutine(), _HEAP::Segments, _HEAP_ENTRY_EXTRA::Settable, _HEAP_UNCOMMMTTED_RANGE::Size, _HEAP_ENTRY::Size, _HEAP_PSEUDO_TAG_ENTRY::Size, Size, _HEAP_ENTRY::SmallTagIndex, Status, _HEAP::TagEntries, _HEAP_FREE_ENTRY_EXTRA::TagIndex, _HEAP_ENTRY_EXTRA::TagIndex, TRUE, _HEAP_SEGMENT::UnCommittedRanges, USHORT, and _HEAP::VirtualAllocdBlocks. Referenced by RtlQueryProcessDebugInformation().
|
|
Definition at line 1049 of file dll/query.c. References Buffer, _ERESOURCE::ContentionCount, DbgPrint, EXCEPTION_EXECUTE_HANDLER, NT_SUCCESS, NTSTATUS(), NULL, Resource, RtlCriticalSectionList, RtlCriticalSectionLock, RtlpCommitQueryDebugInfo(), RtlpDeCommitQueryDebugInfo(), and Status. Referenced by RtlQueryProcessDebugInformation().
|
|
Definition at line 630 of file dll/query.c. References Buffer, LdrQueryProcessModuleInformation(), NT_SUCCESS, NTSTATUS(), NULL, RtlpCommitQueryDebugInfo(), and Status. Referenced by RtlQueryProcessDebugInformation().
|