FsRtlAllocatePoolWithTag マクロ (ntifs.h)
FsRtlAllocatePoolWithTag ルーチンはプール メモリを割り当てます。
構文
void FsRtlAllocatePoolWithTag(
[in] PoolType,
[in] NumberOfBytes,
[in] Tag
);
パラメーター
[in] PoolType
割り当てるプールの種類。 次のいずれかの手順を実行します。
- NonPagedPool の
- PagedPool
- NonPagedPoolCacheAligned の
- PagedPoolCacheAligned
nonPagedPoolMustSucceed と nonPagedPoolCacheAlignedMustS プールの種類
[in] NumberOfBytes
割り当てるバイト数。 このパラメーターは必須であり、0 にすることはできません。
[in] Tag
割り当てられたメモリのプール タグを指定します。 通常、ドライバーはプール タグを 1 ~ 4 個の 7 ビット ASCII 文字の文字列として指定します。単一引用符 ("abcd" など) で区切られます。 このパラメーターは必須であり、0 にすることはできません。
戻り値
何一つ
備考
プールの割り当てエラーが発生した場合、FsRtlAllocatePoolWithTag
システムは、Tag パラメーターで指定されたプール タグを割り当てられたバッファーに関連付けます。 Windows デバッガー (WinDbg) などのプログラミング ツールでは、割り当てられた各バッファーに関連付けられているプール タグを表示できます。 通常、プール タグの値は逆の順序で表示されます。 たとえば、呼び出し元が Tag パラメーターの値として 'Fred' を渡した場合、プールがダンプされた場合、またはデバッガーでプールの使用状況を追跡するときに、この値は 'derF' として表示されます。
メモリ管理の詳細については、「メモリ管理」を参照してください。
FsRtlAllocatePoolWithTag が割り当てる
FsRtlAllocatePoolWithTag の呼び出し元は、IRQL <= DISPATCH_LEVELで実行されている必要があります。 DISPATCH_LEVELの呼び出し元は、NonPagedXxxPoolTypeを指定する必要があります。 それ以外の場合、呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の |
万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (「解説」セクションを参照) |
関連項目
ExAllocatePoolWithTag の
ExFreePool を