次の方法で共有


FsRtlAllocateAePushLock 関数 (ntifs.h)

FsRtlAllocateAePushLock は 、自動展開プッシュ ロックを割り当てて初期化します。

構文

PVOID FsRtlAllocateAePushLock(
  [in] POOL_TYPE PoolType,
  [in] ULONG     Tag
);

パラメーター

[in] PoolType

自動拡張プッシュ ロックに割り当てるプール メモリの種類。 使用可能 プール メモリの種類の詳細については、「POOL_TYPE」を参照してください。 PoolType 値は、POOL_RAISE_IF_ALLOCATION_FAILURE フラグを使用してビットごとの ORing を使用して変更できます。 割り当て要求を満たすことができない場合、このフラグによって例外が発生します。

[in] Tag

割り当てられたメモリに使用するプール タグ。 プール タグを、単一引用符で区切られた 1 から 4 文字の 0 以外の文字リテラルとして指定します (例: 'Tag1')。 文字列は通常、逆の順序で指定されます (例: '1gaT')。 タグ内の各 ASCII 文字は、0x7E (チルダ) 0x20 (スペース) の範囲内の値である必要があります。 各割り当てコード パスでは、デバッガーと検証者がコード パスを識別するのに役立つ一意のプール タグを使用する必要があります。

戻り値

FsRtlAllocateAePushLock は、空きプールに要求を満たすメモリが不足している場合に NULL を返します。 それ以外の場合、ルーチンは、割り当てられた初期化された自動展開プッシュ ロックへのポインターを返します。

注釈

FsRtlAllocateAePushLock は、自動拡張プッシュ ロックにプール メモリを割り当てるために使用されます。 自動拡張プッシュ ロックの詳細については、「 FSRTL_ADVANCED_FCB_HEADER 」を参照してください。

システムは、プール タグを割り当てられたメモリに関連付けます。 WinDbg などのプログラミング ツールでは、割り当てられた各バッファーに関連付けられているプール タグを表示できます。 Gflags は、 Windows 用デバッグ ツールに含まれるツールで、特定のプール タグに対する 特別なプール からの割り当てを要求するシステム機能を有効にします。 WDK に含まれる Poolmon は、プール タグによってメモリを追跡します。

FsRtlAllocateAePushLock の呼び出し元は、割り当てられた自動展開プッシュ ロックを解放するために、その後 FsRtlFreeAePushLock を呼び出す必要があります。

プールの量 (ページまたは非ページ) が高いか低い場合、システムは特定の標準イベント オブジェクトを自動的に設定します。 ドライバーは、これらのイベントがプールの使用状況を調整するのを待つことができます。 詳細については、「 標準イベント オブジェクト」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 10、バージョン 20H2
Header ntifs.h
IRQL <= APC_LEVEL

こちらもご覧ください

FSRTL_ADVANCED_FCB_HEADER

FsRtlFreeAePushLock

FsRtlSetupAdvancedHeaderEx2