Rizin
unix-like reverse engineering framework and cli tools
windows_heap.h File Reference
#include <windows.h>
#include <winternl.h>

Go to the source code of this file.

Classes

struct  _RTL_BALANCED_NODE
 
struct  _RTL_RB_TREE
 
struct  _HEAP_COUNTERS
 
struct  _HEAP_BUCKET_COUNTERS
 
struct  _INTERLOCK_SEQ
 
struct  _HEAP_UNPACKED_ENTRY
 
struct  _HEAP_EXTENDED_ENTRY
 
struct  _HEAP_ENTRY
 
struct  _HEAP_LOCK
 
struct  _HEAP_TAG_ENTRY
 
struct  _HEAP_PSEUDO_TAG_ENTRY
 
struct  _HEAP_TUNING_PARAMETERS
 
struct  _RTL_HEAP_MEMORY_LIMIT_DATA
 
struct  _RTL_HP_ENV_HANDLE
 
struct  _RTL_HP_SEG_ALLOC_POLICY
 
struct  _HEAP_SUBALLOCATOR_CALLBACKS
 
struct  _RTL_HP_VS_CONFIG
 
struct  _HEAP_VS_SUBSEGMENT
 
struct  _HEAP_VS_CONTEXT
 
struct  _HEAP_VS_CHUNK_HEADER_SIZE
 
struct  _HEAP_VS_CHUNK_HEADER
 
struct  _HEAP_PAGE_RANGE_DESCRIPTOR
 
struct  _HEAP_PAGE_SEGMENT
 
struct  _RTL_HP_LFH_CONFIG
 
struct  _HEAP_LFH_SUBSEGMENT_STAT
 
struct  _HEAP_LFH_SUBSEGMENT_STATS
 
struct  _HEAP_LFH_SUBSEGMENT_OWNER
 
struct  _HEAP_LFH_FAST_REF
 
struct  _HEAP_LFH_AFFINITY_SLOT
 
struct  _HEAP_LFH_BUCKET
 
struct  _HEAP_LFH_CONTEXT
 
struct  _HEAP_LFH_SUBSEGMENT_ENCODED_OFFSETS
 
struct  _HEAP_LFH_SUBSEGMENT
 
struct  _HEAP_LARGE_ALLOC_DATA
 
struct  _HEAP_OPPORTUNISTIC_LARGE_PAGE_STATS
 
struct  _HEAP_RUNTIME_MEMORY_STATS
 
struct  _HEAP_SEG_CONTEXT
 
struct  _SEGMENT_HEAP
 
struct  _HEAP_SEGMENT
 
struct  _HEAP
 
struct  _HEAP_ENTRY_EXTRA
 
struct  _HEAP_VIRTUAL_ALLOC_ENTRY
 
struct  _LFH_BLOCK_ZONE
 
struct  _HEAP_USERDATA_OFFSETS
 
struct  _RTL_BITMAP_EX
 
struct  _HEAP_USERDATA_HEADER
 
struct  _HEAP_LOCAL_SEGMENT_INFO
 
struct  _HEAP_SUBSEGMENT
 
struct  _HEAP_LFH_MEM_POLICIES
 
struct  _HEAP_LOCAL_DATA
 
struct  _HEAP_BUCKET
 
struct  _HEAP_BUCKET_RUN_INFO
 
struct  _USER_MEMORY_CACHE_ENTRY
 
struct  _LFH_HEAP
 
struct  _HeapBlockBasicInfo
 
struct  _HeapBlockExtraInfo
 
struct  _HeapBlock
 
struct  _DEBUG_BUFFER
 
struct  _DEBUG_HEAP_INFORMATION
 
struct  _HeapInformation
 

Macros

#define EXTRA_FLAG   (1ULL << (sizeof (size_t) * 8 - 1))
 
#define SHIFT   16
 
#define LFH_BLOCK   (1 << (SHIFT))
 
#define LARGE_BLOCK   (1 << (SHIFT + 1))
 
#define NT_BLOCK   (1 << (SHIFT + 2))
 
#define SEGMENT_HEAP_BLOCK   (1 << (SHIFT + 3))
 
#define VS_BLOCK   (1 << (SHIFT + 4))
 
#define BACKEND_BLOCK   (1 << (SHIFT + 5))
 

Typedefs

typedef struct _HEAP_LOCAL_DATAPHEAP_LOCAL_DATA
 
typedef struct _HEAP_SUBSEGMENTPHEAP_SUBSEGMENT
 
typedef struct _LFH_HEAPPLFH_HEAP
 
typedef struct _HEAPPHEAP
 
typedef struct _RTL_BALANCED_NODEPRTL_BALANCED_NODE
 
typedef struct _RTL_BALANCED_NODE RTL_BALANCED_NODE
 
typedef struct _RTL_RB_TREE RTL_RB_TREE
 
typedef struct _RTL_RB_TREEPRTL_RB_TREE
 
typedef struct _HEAP_COUNTERS HEAP_COUNTERS
 
typedef struct _HEAP_COUNTERSPHEAP_COUNTERS
 
typedef struct _HEAP_BUCKET_COUNTERS HEAP_BUCKET_COUNTERS
 
typedef struct _HEAP_BUCKET_COUNTERSPHEAP_BUCKET_COUNTERS
 
typedef struct _INTERLOCK_SEQ INTERLOCK_SEQ
 
typedef struct _INTERLOCK_SEQPINTERLOCK_SEQ
 
typedef struct _HEAP_UNPACKED_ENTRY HEAP_UNPACKED_ENTRY
 
typedef struct _HEAP_UNPACKED_ENTRYPHEAP_UNPACKED_ENTRY
 
typedef struct _HEAP_EXTENDED_ENTRY HEAP_EXTENDED_ENTRY
 
typedef struct _HEAP_EXTENDED_ENTRYPHEAP_EXTENDED_ENTRY
 
typedef struct _HEAP_ENTRY HEAP_ENTRY
 
typedef struct _HEAP_ENTRYPHEAP_ENTRY
 
typedef struct _HEAP_LOCK HEAP_LOCK
 
typedef struct _HEAP_LOCKPHEAP_LOCK
 
typedef struct _HEAP_TAG_ENTRY HEAP_TAG_ENTRY
 
typedef struct _HEAP_TAG_ENTRYPHEAP_TAG_ENTRY
 
typedef struct _HEAP_PSEUDO_TAG_ENTRY HEAP_PSEUDO_TAG_ENTRY
 
typedef struct _HEAP_PSEUDO_TAG_ENTRYPHEAP_PSEUDO_TAG_ENTRY
 
typedef struct _HEAP_TUNING_PARAMETERS HEAP_TUNING_PARAMETERS
 
typedef struct _HEAP_TUNING_PARAMETERSPHEAP_TUNING_PARAMETERS
 
typedef struct _RTL_HEAP_MEMORY_LIMIT_DATA RTL_HEAP_MEMORY_LIMIT_DATA
 
typedef struct _RTL_HEAP_MEMORY_LIMIT_DATAPRTL_HEAP_MEMORY_LIMIT_DATA
 
typedef struct _RTL_HP_ENV_HANDLE RTL_HP_ENV_HANDLE
 
typedef struct _RTL_HP_ENV_HANDLEPRTL_HP_ENV_HANDLE
 
typedef struct _RTL_HP_SEG_ALLOC_POLICY RTL_HP_SEG_ALLOC_POLICY
 
typedef struct _RTL_HP_SEG_ALLOC_POLICYPRTL_HP_SEG_ALLOC_POLICY
 
typedef enum _RTLP_HP_LOCK_TYPE RTLP_HP_LOCK_TYPE
 
typedef struct _HEAP_SUBALLOCATOR_CALLBACKS HEAP_SUBALLOCATOR_CALLBACKS
 
typedef struct _HEAP_SUBALLOCATOR_CALLBACKSPHEAP_SUBALLOCATOR_CALLBACKS
 
typedef struct _RTL_HP_VS_CONFIG RTL_HP_VS_CONFIG
 
typedef struct _RTL_HP_VS_CONFIGPRTL_HP_VS_CONFIG
 
typedef struct _HEAP_VS_SUBSEGMENT HEAP_VS_SUBSEGMENT
 
typedef struct _HEAP_VS_SUBSEGMENTPHEAP_VS_SUBSEGMENT
 
typedef struct _HEAP_VS_CONTEXT HEAP_VS_CONTEXT
 
typedef struct _HEAP_VS_CONTEXTPHEAP_VS_CONTEXT
 
typedef struct _HEAP_VS_CHUNK_HEADER_SIZE HEAP_VS_CHUNK_HEADER_SIZE
 
typedef struct _HEAP_VS_CHUNK_HEADER_SIZEPHEAP_VS_CHUNK_HEADER_SIZE
 
typedef struct _HEAP_VS_CHUNK_HEADER HEAP_VS_CHUNK_HEADER
 
typedef struct _HEAP_VS_CHUNK_HEADERPHEAP_VS_CHUNK_HEADER
 
typedef struct _HEAP_PAGE_RANGE_DESCRIPTOR HEAP_PAGE_RANGE_DESCRIPTOR
 
typedef struct _HEAP_PAGE_RANGE_DESCRIPTORPHEAP_PAGE_RANGE_DESCRIPTOR
 
typedef struct _HEAP_PAGE_SEGMENT HEAP_PAGE_SEGMENT
 
typedef struct _HEAP_PAGE_SEGMENTPHEAP_PAGE_SEGMENT
 
typedef struct _RTL_HP_LFH_CONFIG RTL_HP_LFH_CONFIG
 
typedef struct _RTL_HP_LFH_CONFIGPRTL_HP_LFH_CONFIG
 
typedef struct _HEAP_LFH_SUBSEGMENT_STAT HEAP_LFH_SUBSEGMENT_STAT
 
typedef struct _HEAP_LFH_SUBSEGMENT_STATPHEAP_LFH_SUBSEGMENT_STAT
 
typedef struct _HEAP_LFH_SUBSEGMENT_STATS HEAP_LFH_SUBSEGMENT_STATS
 
typedef struct _HEAP_LFH_SUBSEGMENT_STATSPHEAP_LFH_SUBSEGMENT_STATS
 
typedef struct _HEAP_LFH_SUBSEGMENT_OWNER HEAP_LFH_SUBSEGMENT_OWNER
 
typedef struct _HEAP_LFH_SUBSEGMENT_OWNERPHEAP_LFH_SUBSEGMENT_OWNER
 
typedef struct _HEAP_LFH_FAST_REF HEAP_LFH_FAST_REF
 
typedef struct _HEAP_LFH_FAST_REFPHEAP_LFH_FAST_REF
 
typedef struct _HEAP_LFH_AFFINITY_SLOT HEAP_LFH_AFFINITY_SLOT
 
typedef struct _HEAP_LFH_AFFINITY_SLOTPHEAP_LFH_AFFINITY_SLOT
 
typedef struct _HEAP_LFH_BUCKET HEAP_LFH_BUCKET
 
typedef struct _HEAP_LFH_BUCKETPHEAP_LFH_BUCKET
 
typedef struct _HEAP_LFH_CONTEXT HEAP_LFH_CONTEXT
 
typedef struct _HEAP_LFH_CONTEXTPHEAP_LFH_CONTEXT
 
typedef struct _HEAP_LFH_SUBSEGMENT_ENCODED_OFFSETS HEAP_LFH_SUBSEGMENT_ENCODED_OFFSETS
 
typedef struct _HEAP_LFH_SUBSEGMENT_ENCODED_OFFSETSPHEAP_LFH_SUBSEGMENT_ENCODED_OFFSETS
 
typedef struct _HEAP_LFH_SUBSEGMENT HEAP_LFH_SUBSEGMENT
 
typedef struct _HEAP_LFH_SUBSEGMENTPHEAP_LFH_SUBSEGMENT
 
typedef struct _HEAP_LARGE_ALLOC_DATA HEAP_LARGE_ALLOC_DATA
 
typedef struct _HEAP_LARGE_ALLOC_DATAPHEAP_LARGE_ALLOC_DATA
 
typedef struct _HEAP_OPPORTUNISTIC_LARGE_PAGE_STATS HEAP_OPPORTUNISTIC_LARGE_PAGE_STATS
 
typedef struct _HEAP_OPPORTUNISTIC_LARGE_PAGE_STATSPHEAP_OPPORTUNISTIC_LARGE_PAGE_STATS
 
typedef struct _HEAP_RUNTIME_MEMORY_STATS HEAP_RUNTIME_MEMORY_STATS
 
typedef struct _HEAP_RUNTIME_MEMORY_STATSPHEAP_RUNTIME_MEMORY_STATS
 
typedef struct _HEAP_SEG_CONTEXT HEAP_SEG_CONTEXT
 
typedef struct _HEAP_SEG_CONTEXTPHEAP_SEG_CONTEXT
 
typedef struct _SEGMENT_HEAP SEGMENT_HEAP
 
typedef struct _SEGMENT_HEAPPSEGMENT_HEAP
 
typedef struct _HEAP_SEGMENT HEAP_SEGMENT
 
typedef struct _HEAP_SEGMENTPHEAP_SEGMENT
 
typedef struct _HEAP HEAP
 
typedef struct _HEAP_ENTRY_EXTRA HEAP_ENTRY_EXTRA
 
typedef struct _HEAP_ENTRY_EXTRAPHEAP_ENTRY_EXTRA
 
typedef struct _HEAP_VIRTUAL_ALLOC_ENTRY HEAP_VIRTUAL_ALLOC_ENTRY
 
typedef struct _HEAP_VIRTUAL_ALLOC_ENTRYPHEAP_VIRTUAL_ALLOC_ENTRY
 
typedef struct _LFH_BLOCK_ZONE LFH_BLOCK_ZONE
 
typedef struct _LFH_BLOCK_ZONEPLFH_BLOCK_ZONE
 
typedef struct _HEAP_USERDATA_OFFSETS HEAP_USERDATA_OFFSETS
 
typedef struct _HEAP_USERDATA_OFFSETSPHEAP_USERDATA_OFFSETS
 
typedef struct _RTL_BITMAP_EX RTL_BITMAP_EX
 
typedef struct _RTL_BITMAP_EXPRTL_BITMAP_EX
 
typedef struct _HEAP_USERDATA_HEADER HEAP_USERDATA_HEADER
 
typedef struct _HEAP_USERDATA_HEADERPHEAP_USERDATA_HEADER
 
typedef struct _HEAP_LOCAL_SEGMENT_INFO HEAP_LOCAL_SEGMENT_INFO
 
typedef struct _HEAP_LOCAL_SEGMENT_INFOPHEAP_LOCAL_SEGMENT_INFO
 
typedef struct _HEAP_SUBSEGMENT HEAP_SUBSEGMENT
 
typedef struct _HEAP_LFH_MEM_POLICIES HEAP_LFH_MEM_POLICIES
 
typedef struct _HEAP_LFH_MEM_POLICIESPHEAP_LFH_MEM_POLICIES
 
typedef struct _HEAP_LOCAL_DATA HEAP_LOCAL_DATA
 
typedef struct _HEAP_BUCKET HEAP_BUCKET
 
typedef struct _HEAP_BUCKETPHEAP_BUCKET
 
typedef struct _HEAP_BUCKET_RUN_INFO HEAP_BUCKET_RUN_INFO
 
typedef struct _HEAP_BUCKET_RUN_INFOPHEAP_BUCKET_RUN_INFO
 
typedef struct _USER_MEMORY_CACHE_ENTRY USER_MEMORY_CACHE_ENTRY
 
typedef struct _USER_MEMORY_CACHE_ENTRYPUSER_MEMORY_CACHE_ENTRY
 
typedef struct _LFH_HEAP LFH_HEAP
 
typedef struct _HeapBlockBasicInfo HeapBlockBasicInfo
 
typedef struct _HeapBlockBasicInfoPHeapBlockBasicInfo
 
typedef struct _HeapBlockExtraInfo HeapBlockExtraInfo
 
typedef struct _HeapBlockExtraInfoPHeapBlockExtraInfo
 
typedef struct _HeapBlock HeapBlock
 
typedef struct _HeapBlockPHeapBlock
 
typedef struct _DEBUG_BUFFER DEBUG_BUFFER
 
typedef struct _DEBUG_BUFFERPDEBUG_BUFFER
 
typedef struct _DEBUG_HEAP_INFORMATION DEBUG_HEAP_INFORMATION
 
typedef struct _DEBUG_HEAP_INFORMATIONPDEBUG_HEAP_INFORMATION
 
typedef struct _HeapInformation HeapInformation
 
typedef struct _HeapInformationPHeapInformation
 

Enumerations

enum  _RTLP_HP_LOCK_TYPE { HeapLockPaged , HeapLockNonPaged , HeapLockTypeMax }
 
enum  {
  PAGE_RANGE_FLAGS_LFH_SUBSEGMENT = 0x01 , PAGE_RANGE_FLAGS_COMMITED = 0x02 , PAGE_RANGE_FLAGS_ALLOCATED = 0x04 , PAGE_RANGE_FLAGS_FIRST = 0x08 ,
  PAGE_RANGE_FLAGS_VS_SUBSEGMENT = 0x20
}
 

Functions

 PDEBUG_BUFFER (NTAPI *RtlCreateQueryDebugBuffer)(IN DWORD Size
 
 NTSTATUS (NTAPI *RtlQueryProcessDebugInformation)(IN DWORD ProcessId
 

Variables

IN BOOLEAN EventPair
 
IN DWORD DebugInfoClassMask
 
IN DWORD IN OUT PDEBUG_BUFFER DebugBuffer
 
__kernel_entry IN PROCESSINFOCLASS ProcessInformationClass
 
__kernel_entry IN PROCESSINFOCLASS OUT PVOID ProcessInformation
 
__kernel_entry IN PROCESSINFOCLASS OUT PVOID IN ULONG ProcessInformationLength
 
__kernel_entry IN PROCESSINFOCLASS OUT PVOID IN ULONG OUT PULONG ReturnLength
 

Macro Definition Documentation

◆ BACKEND_BLOCK

#define BACKEND_BLOCK   (1 << (SHIFT + 5))

Definition at line 36 of file windows_heap.h.

◆ EXTRA_FLAG

#define EXTRA_FLAG   (1ULL << (sizeof (size_t) * 8 - 1))

Definition at line 28 of file windows_heap.h.

◆ LARGE_BLOCK

#define LARGE_BLOCK   (1 << (SHIFT + 1))

Definition at line 32 of file windows_heap.h.

◆ LFH_BLOCK

#define LFH_BLOCK   (1 << (SHIFT))

Definition at line 31 of file windows_heap.h.

◆ NT_BLOCK

#define NT_BLOCK   (1 << (SHIFT + 2))

Definition at line 33 of file windows_heap.h.

◆ SEGMENT_HEAP_BLOCK

#define SEGMENT_HEAP_BLOCK   (1 << (SHIFT + 3))

Definition at line 34 of file windows_heap.h.

◆ SHIFT

#define SHIFT   16

Definition at line 30 of file windows_heap.h.

◆ VS_BLOCK

#define VS_BLOCK   (1 << (SHIFT + 4))

Definition at line 35 of file windows_heap.h.

Typedef Documentation

◆ DEBUG_BUFFER

typedef struct _DEBUG_BUFFER DEBUG_BUFFER

◆ DEBUG_HEAP_INFORMATION

◆ HEAP

typedef struct _HEAP HEAP

◆ HEAP_BUCKET

typedef struct _HEAP_BUCKET HEAP_BUCKET

◆ HEAP_BUCKET_COUNTERS

◆ HEAP_BUCKET_RUN_INFO

◆ HEAP_COUNTERS

typedef struct _HEAP_COUNTERS HEAP_COUNTERS

◆ HEAP_ENTRY

typedef struct _HEAP_ENTRY HEAP_ENTRY

◆ HEAP_ENTRY_EXTRA

◆ HEAP_EXTENDED_ENTRY

◆ HEAP_LARGE_ALLOC_DATA

◆ HEAP_LFH_AFFINITY_SLOT

◆ HEAP_LFH_BUCKET

◆ HEAP_LFH_CONTEXT

◆ HEAP_LFH_FAST_REF

◆ HEAP_LFH_MEM_POLICIES

◆ HEAP_LFH_SUBSEGMENT

◆ HEAP_LFH_SUBSEGMENT_ENCODED_OFFSETS

◆ HEAP_LFH_SUBSEGMENT_OWNER

◆ HEAP_LFH_SUBSEGMENT_STAT

◆ HEAP_LFH_SUBSEGMENT_STATS

◆ HEAP_LOCAL_DATA

◆ HEAP_LOCAL_SEGMENT_INFO

◆ HEAP_LOCK

typedef struct _HEAP_LOCK HEAP_LOCK

◆ HEAP_OPPORTUNISTIC_LARGE_PAGE_STATS

◆ HEAP_PAGE_RANGE_DESCRIPTOR

◆ HEAP_PAGE_SEGMENT

◆ HEAP_PSEUDO_TAG_ENTRY

◆ HEAP_RUNTIME_MEMORY_STATS

◆ HEAP_SEG_CONTEXT

◆ HEAP_SEGMENT

typedef struct _HEAP_SEGMENT HEAP_SEGMENT

◆ HEAP_SUBALLOCATOR_CALLBACKS

◆ HEAP_SUBSEGMENT

◆ HEAP_TAG_ENTRY

◆ HEAP_TUNING_PARAMETERS

◆ HEAP_UNPACKED_ENTRY

◆ HEAP_USERDATA_HEADER

◆ HEAP_USERDATA_OFFSETS

◆ HEAP_VIRTUAL_ALLOC_ENTRY

◆ HEAP_VS_CHUNK_HEADER

◆ HEAP_VS_CHUNK_HEADER_SIZE

◆ HEAP_VS_CONTEXT

◆ HEAP_VS_SUBSEGMENT

◆ HeapBlock

typedef struct _HeapBlock HeapBlock

◆ HeapBlockBasicInfo

◆ HeapBlockExtraInfo

◆ HeapInformation

◆ INTERLOCK_SEQ

typedef struct _INTERLOCK_SEQ INTERLOCK_SEQ

◆ LFH_BLOCK_ZONE

◆ LFH_HEAP

typedef struct _LFH_HEAP LFH_HEAP

◆ PDEBUG_BUFFER

typedef struct _DEBUG_BUFFER * PDEBUG_BUFFER

◆ PDEBUG_HEAP_INFORMATION

◆ PHEAP

typedef struct _HEAP * PHEAP

Definition at line 41 of file windows_heap.h.

◆ PHEAP_BUCKET

typedef struct _HEAP_BUCKET * PHEAP_BUCKET

◆ PHEAP_BUCKET_COUNTERS

◆ PHEAP_BUCKET_RUN_INFO

◆ PHEAP_COUNTERS

typedef struct _HEAP_COUNTERS * PHEAP_COUNTERS

◆ PHEAP_ENTRY

typedef struct _HEAP_ENTRY * PHEAP_ENTRY

◆ PHEAP_ENTRY_EXTRA

◆ PHEAP_EXTENDED_ENTRY

◆ PHEAP_LARGE_ALLOC_DATA

◆ PHEAP_LFH_AFFINITY_SLOT

◆ PHEAP_LFH_BUCKET

◆ PHEAP_LFH_CONTEXT

◆ PHEAP_LFH_FAST_REF

◆ PHEAP_LFH_MEM_POLICIES

◆ PHEAP_LFH_SUBSEGMENT

◆ PHEAP_LFH_SUBSEGMENT_ENCODED_OFFSETS

◆ PHEAP_LFH_SUBSEGMENT_OWNER

◆ PHEAP_LFH_SUBSEGMENT_STAT

◆ PHEAP_LFH_SUBSEGMENT_STATS

◆ PHEAP_LOCAL_DATA

Definition at line 38 of file windows_heap.h.

◆ PHEAP_LOCAL_SEGMENT_INFO

◆ PHEAP_LOCK

typedef struct _HEAP_LOCK * PHEAP_LOCK

◆ PHEAP_OPPORTUNISTIC_LARGE_PAGE_STATS

◆ PHEAP_PAGE_RANGE_DESCRIPTOR

◆ PHEAP_PAGE_SEGMENT

◆ PHEAP_PSEUDO_TAG_ENTRY

◆ PHEAP_RUNTIME_MEMORY_STATS

◆ PHEAP_SEG_CONTEXT

◆ PHEAP_SEGMENT

typedef struct _HEAP_SEGMENT * PHEAP_SEGMENT

◆ PHEAP_SUBALLOCATOR_CALLBACKS

◆ PHEAP_SUBSEGMENT

Definition at line 39 of file windows_heap.h.

◆ PHEAP_TAG_ENTRY

typedef struct _HEAP_TAG_ENTRY * PHEAP_TAG_ENTRY

◆ PHEAP_TUNING_PARAMETERS

◆ PHEAP_UNPACKED_ENTRY

◆ PHEAP_USERDATA_HEADER

◆ PHEAP_USERDATA_OFFSETS

◆ PHEAP_VIRTUAL_ALLOC_ENTRY

◆ PHEAP_VS_CHUNK_HEADER

◆ PHEAP_VS_CHUNK_HEADER_SIZE

◆ PHEAP_VS_CONTEXT

◆ PHEAP_VS_SUBSEGMENT

◆ PHeapBlock

typedef struct _HeapBlock * PHeapBlock

◆ PHeapBlockBasicInfo

◆ PHeapBlockExtraInfo

◆ PHeapInformation

◆ PINTERLOCK_SEQ

typedef struct _INTERLOCK_SEQ * PINTERLOCK_SEQ

◆ PLFH_BLOCK_ZONE

typedef struct _LFH_BLOCK_ZONE * PLFH_BLOCK_ZONE

◆ PLFH_HEAP

typedef struct _LFH_HEAP * PLFH_HEAP

Definition at line 40 of file windows_heap.h.

◆ PRTL_BALANCED_NODE

Definition at line 43 of file windows_heap.h.

◆ PRTL_BITMAP_EX

typedef struct _RTL_BITMAP_EX * PRTL_BITMAP_EX

◆ PRTL_HEAP_MEMORY_LIMIT_DATA

◆ PRTL_HP_ENV_HANDLE

◆ PRTL_HP_LFH_CONFIG

◆ PRTL_HP_SEG_ALLOC_POLICY

◆ PRTL_HP_VS_CONFIG

◆ PRTL_RB_TREE

typedef struct _RTL_RB_TREE * PRTL_RB_TREE

◆ PSEGMENT_HEAP

typedef struct _SEGMENT_HEAP * PSEGMENT_HEAP

◆ PUSER_MEMORY_CACHE_ENTRY

◆ RTL_BALANCED_NODE

◆ RTL_BITMAP_EX

typedef struct _RTL_BITMAP_EX RTL_BITMAP_EX

◆ RTL_HEAP_MEMORY_LIMIT_DATA

◆ RTL_HP_ENV_HANDLE

◆ RTL_HP_LFH_CONFIG

◆ RTL_HP_SEG_ALLOC_POLICY

◆ RTL_HP_VS_CONFIG

◆ RTL_RB_TREE

typedef struct _RTL_RB_TREE RTL_RB_TREE

◆ RTLP_HP_LOCK_TYPE

◆ SEGMENT_HEAP

typedef struct _SEGMENT_HEAP SEGMENT_HEAP

◆ USER_MEMORY_CACHE_ENTRY

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
PAGE_RANGE_FLAGS_LFH_SUBSEGMENT 
PAGE_RANGE_FLAGS_COMMITED 
PAGE_RANGE_FLAGS_ALLOCATED 
PAGE_RANGE_FLAGS_FIRST 
PAGE_RANGE_FLAGS_VS_SUBSEGMENT 

Definition at line 389 of file windows_heap.h.

389  {
393  PAGE_RANGE_FLAGS_FIRST = 0x08,
394  PAGE_RANGE_FLAGS_VS_SUBSEGMENT = 0x20 // LIES
395 };
@ PAGE_RANGE_FLAGS_LFH_SUBSEGMENT
Definition: windows_heap.h:390
@ PAGE_RANGE_FLAGS_VS_SUBSEGMENT
Definition: windows_heap.h:394
@ PAGE_RANGE_FLAGS_ALLOCATED
Definition: windows_heap.h:392
@ PAGE_RANGE_FLAGS_FIRST
Definition: windows_heap.h:393
@ PAGE_RANGE_FLAGS_COMMITED
Definition: windows_heap.h:391

◆ _RTLP_HP_LOCK_TYPE

Enumerator
HeapLockPaged 
HeapLockNonPaged 
HeapLockTypeMax 

Definition at line 318 of file windows_heap.h.

318  {
enum _RTLP_HP_LOCK_TYPE RTLP_HP_LOCK_TYPE
@ HeapLockPaged
Definition: windows_heap.h:319
@ HeapLockNonPaged
Definition: windows_heap.h:320
@ HeapLockTypeMax
Definition: windows_heap.h:321

Function Documentation

◆ NTSTATUS()

NTSTATUS ( NTAPI *  RtlQueryProcessDebugInformation)

◆ PDEBUG_BUFFER()

PDEBUG_BUFFER ( NTAPI *  RtlCreateQueryDebugBuffer)

Variable Documentation

◆ DebugBuffer

IN DWORD IN OUT PDEBUG_BUFFER DebugBuffer

Definition at line 1002 of file windows_heap.h.

◆ DebugInfoClassMask

IN DWORD DebugInfoClassMask

Definition at line 1001 of file windows_heap.h.

◆ EventPair

IN BOOLEAN EventPair

Definition at line 996 of file windows_heap.h.

◆ ProcessInformation

__kernel_entry IN PROCESSINFOCLASS OUT PVOID ProcessInformation

Definition at line 1012 of file windows_heap.h.

◆ ProcessInformationClass

__kernel_entry IN PROCESSINFOCLASS ProcessInformationClass

Definition at line 1011 of file windows_heap.h.

◆ ProcessInformationLength

__kernel_entry IN PROCESSINFOCLASS OUT PVOID IN ULONG ProcessInformationLength

Definition at line 1013 of file windows_heap.h.

◆ ReturnLength

__kernel_entry IN PROCESSINFOCLASS OUT PVOID IN ULONG OUT PULONG ReturnLength

Definition at line 1014 of file windows_heap.h.