RTL_HEAP_PARAMETERS 構造体 (ntifs.h)
RTL_HEAP_PARAMETERS構造体には、ヒープの作成時に適用されるパラメーターが含まれています。
構文
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;
メンバー
Length
RTL_HEAP_PARAMETERS構造体のサイズ (バイト単位)。
SegmentReserve
セグメント予約サイズ (バイト単位)。 この値を指定しない場合は、1 MB が使用されます。
SegmentCommit
セグメントのコミット サイズ (バイト単位)。 この値を指定しない場合は、PAGE_SIZE * 2 が使用されます。
DeCommitFreeBlockThreshold
空きブロックのしきい値のコミット解除 (バイト単位)。 この値を指定しない場合は、PAGE_SIZEが使用されます。
DeCommitTotalFreeThreshold
合計空きしきい値のコミット解除 (バイト単位)。 この値を指定しない場合は、65536 が使用されます。
MaximumAllocationSize
ヒープから割り当てることができる最大メモリ ブロックのサイズ (バイト単位)。 この値を指定しない場合は、最も高いアドレスと最も低いアドレス (1 ページ未満) の差が使用されます。
VirtualMemoryThreshold
仮想メモリのしきい値 (バイト単位)。 この値が指定されていない場合、または最大ヒープ ブロック サイズより大きい場合は、0x7F000の最大ヒープ ブロック サイズが使用されます。
InitialCommit
ヒープに対してコミットするメモリの初期量 (バイト単位)。 InitialReserve 以下である必要があります。 HeapBase と CommitRoutine が NULL 以外の場合、CommitSize の値をオーバーライドするこのパラメーターは 0 以外の値である必要があります。それ以外の場合は無視されます。
InitialReserve
ヒープ用に予約するメモリの初期量 (バイト単位)。 HeapBase と CommitRoutine が NULL 以外の場合、ReserveSize の値をオーバーライドするこのパラメーターは 0 以外の値である必要があります。それ以外の場合は無視されます。
CommitRoutine
ヒープからページをコミットする RTL_HEAP_COMMIT_ROUTINE ルーチンへのポインター。 このパラメーターが NULL 以外の場合、ヒープは拡張不可能である必要があります。 HeapBase が NULL の場合、CommitRoutine も NULL である必要があります。
Reserved[2]
システムで使用するために予約されています。 ドライバーは、このパラメーターを 0 に設定する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP |
Header | ntifs.h |