次の方法で共有


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
ヘッダー ntifs.h

関連項目

RtlCreateHeapRTL_HEAP_COMMIT_ROUTINEする