BlockMatch

class ntoseye.BlockMatch

Subclass of BaseRecord.

Where a searched address lands inside a heap, told apart by kind.

property kind: Literal['nt_entry', 'nt_lfh_block', 'nt_virtual', 'nt_segment', 'page', 'vs_chunk', 'lfh_block', 'range', 'large']

The variant: nt_entry, nt_lfh_block, nt_virtual, nt_segment, page, vs_chunk, lfh_block, range, large.

final class Direct

Subclass of BlockMatch.

A segment-heap range that the heap allocated directly from its segment.

property kind: Literal['page']

page.

property range: PageRange
final class Large

Subclass of BlockMatch.

Inside a segment-heap large allocation.

property allocation: LargeAllocation
property kind: Literal['large']

large.

final class LfhBlock

Subclass of BlockMatch.

Inside block index of a segment-heap LFH subsegment.

property index: int
property kind: Literal['lfh_block']

lfh_block.

property range: PageRange
property subsegment: LfhSubsegment
final class NtEntry

Subclass of BlockMatch.

Inside an NT-heap entry.

property entry: NtEntry
property kind: Literal['nt_entry']

nt_entry.

property segment: int

The _HEAP_SEGMENT that contains the entry.

final class NtLfhBlock

Subclass of BlockMatch.

Inside a legacy-LFH block of an NT heap: block index of the user block region in the busy entry.

property entry: NtEntry
property index: int
property kind: Literal['nt_lfh_block']

nt_lfh_block.

property region: NtUserBlocks
property segment: int
final class NtSegmentOnly

Subclass of BlockMatch.

Inside a segment but not on the chain: the heap header, an uncommitted range, or past where the walk had to stop.

property kind: Literal['nt_segment']

nt_segment.

property segment: int
property stopped: HeapWalkStop | None

Where the entry walk stopped, and why. None if the walk did not stop early.

final class NtVirtual

Subclass of BlockMatch.

Inside an NT-heap virtually allocated block.

property block: NtVirtualBlock
property kind: Literal['nt_virtual']

nt_virtual.

final class RangeOnly

Subclass of BlockMatch.

Inside a page range but outside its subsegment’s blocks (header, bitmap, or trailing slack).

property kind: Literal['range']

range.

property range: PageRange
final class VsChunk

Subclass of BlockMatch.

Inside a segment-heap VS chunk.

property chunk: VsChunk
property kind: Literal['vs_chunk']

vs_chunk.

property range: PageRange
property vs_subsegment: int

The _HEAP_VS_SUBSEGMENT that contains the chunk.