RTL_HEAP_PARAMETERS-Struktur (ntifs.h)

Die RTL_HEAP_PARAMETERS-Struktur enthält Parameter, die beim Erstellen eines Heaps angewendet werden sollen.

Syntax

typedef struct _RTL_HEAP_PARAMETERS {
  ULONG                    Length;
  SIZE_T                   SegmentReserve;
  SIZE_T                   SegmentCommit;
  SIZE_T                   DeCommitFreeBlockThreshold;
  SIZE_T                   DeCommitTotalFreeThreshold;
  SIZE_T                   MaximumAllocationSize;
  SIZE_T                   VirtualMemoryThreshold;
  SIZE_T                   InitialCommit;
  SIZE_T                   InitialReserve;
  PRTL_HEAP_COMMIT_ROUTINE CommitRoutine;
  SIZE_T                   Reserved[2];
} RTL_HEAP_PARAMETERS, *PRTL_HEAP_PARAMETERS;

Member

Length

Größe der RTL_HEAP_PARAMETERS-Struktur in Byte.

SegmentReserve

Segmentreservegröße in Byte. Wenn dieser Wert nicht angegeben wird, wird 1 MB verwendet.

SegmentCommit

Größe des Segmentcommits in Bytes. Wenn dieser Wert nicht angegeben wird, wird PAGE_SIZE * 2 verwendet.

DeCommitFreeBlockThreshold

Heben Sie den Schwellenwert für freie Blockierung in Bytes auf. Wenn dieser Wert nicht angegeben wird, wird PAGE_SIZE verwendet.

DeCommitTotalFreeThreshold

Heben Sie den Freiwert insgesamt in Byte auf. Wenn dieser Wert nicht angegeben wird, wird 65536 verwendet.

MaximumAllocationSize

Größe des größten Speicherblocks, der aus dem Heap zugeordnet werden kann, in Bytes. Wenn dieser Wert nicht angegeben wird, wird der Unterschied zwischen der höchsten und der niedrigsten Adresse (abzüglich einer Seite) verwendet.

VirtualMemoryThreshold

Schwellenwert für virtuellen Arbeitsspeicher in Byte. Wenn dieser Wert nicht angegeben wird oder größer als die maximale Heapblockgröße ist, wird die maximale Heapblockgröße von 0x7F000 verwendet.

InitialCommit

Anfänglicher Arbeitsspeicher in Bytes, der für den Heap committet werden soll. Muss kleiner oder gleich InitialReserve sein. Wenn HeapBase und CommitRoutine ungleich NULL sind, muss dieser Parameter, der den Wert von CommitSize außer Kraft setzt, ein Wert ungleich null sein. andernfalls wird er ignoriert.

InitialReserve

Anfängliche Arbeitsspeichermenge in Bytes, die für den Heap reserviert werden soll. Wenn HeapBase und CommitRoutine ungleich NULL sind, muss dieser Parameter, der den Wert von ReserveSize außer Kraft setzt, ein Wert ungleich null sein. andernfalls wird er ignoriert.

CommitRoutine

Zeiger auf eine RTL_HEAP_COMMIT_ROUTINE Routine zum Committen von Seiten aus dem Heap. Wenn dieser Parameter nicht NULL ist, muss der Heap nicht vergrößerungsfähig sein. Wenn HeapBase NULL ist, muss CommitRoutine ebenfalls NULL sein.

Reserved[2]

Ist für das System reserviert. Treiber müssen diesen Parameter auf 0 (null) festlegen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP
Kopfzeile ntifs.h

Weitere Informationen

RTL_HEAP_COMMIT_ROUTINERtlCreateHeap