RTL_HEAP_PARAMETERS struttura (ntifs.h)
La struttura RTL_HEAP_PARAMETERS contiene parametri da applicare durante la creazione di un heap.
Sintassi
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;
Members
Length
Dimensioni, in byte, della struttura RTL_HEAP_PARAMETERS .
SegmentReserve
Dimensioni della riserva segmento, in byte. Se questo valore non è specificato, viene usato 1 MB.
SegmentCommit
Dimensioni del commit segmento, in byte. Se questo valore non è specificato, viene usato PAGE_SIZE * 2.
DeCommitFreeBlockThreshold
Soglia del blocco libero decommit, in byte. Se questo valore non è specificato, viene usato PAGE_SIZE.
DeCommitTotalFreeThreshold
Decommit totale soglia gratuita, in byte. Se questo valore non è specificato, viene usato 65536.
MaximumAllocationSize
Dimensioni, in byte, del blocco di memoria più grande che può essere allocato dall'heap. Se questo valore non è specificato, viene usata la differenza tra gli indirizzi più alti e più bassi, meno una pagina.
VirtualMemoryThreshold
Soglia di memoria virtuale, in byte. Se questo valore non è specificato o se è maggiore della dimensione massima del blocco heap, viene usata la dimensione massima del blocco heap di 0x7F000.
InitialCommit
Quantità iniziale di memoria, in byte, per eseguire il commit per l'heap. Deve essere minore o uguale a InitialReserve. Se HeapBase e CommitRoutine non sono NULL, questo parametro, che esegue l'override del valore CommitSize, deve essere un valore diverso da zero; in caso contrario, viene ignorato.
InitialReserve
Quantità iniziale di memoria, in byte, da riservare per l'heap. Se HeapBase e CommitRoutine non sono NULL, questo parametro, che sostituisce il valore di ReserveSize, deve essere un valore diverso da zero; in caso contrario, viene ignorato.
CommitRoutine
Puntatore a una routine RTL_HEAP_COMMIT_ROUTINE per eseguire il commit di pagine dall'heap. Se questo parametro non è NULL, l'heap deve essere non rowable. Se HeapBase è NULL, CommitRoutine deve essere NULL.
Reserved[2]
Riservato per l'utilizzo nel sistema. I driver devono impostare questo parametro su zero.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP |
Intestazione | ntifs.h |