ExAllocatePool3 関数 (wdm.h)
ExAllocatePool3 ルーチンは、指定した型のプール メモリを割り当て、割り当てられたブロックへのポインターを返します。 このルーチンは ExAllocatePool2 似ていますが、拡張パラメーターが追加されます。
構文
DECLSPEC_RESTRICT PVOID ExAllocatePool3(
POOL_FLAGS Flags,
SIZE_T NumberOfBytes,
ULONG Tag,
PCPOOL_EXTENDED_PARAMETER ExtendedParameters,
ULONG ExtendedParametersCount
);
パラメーター
Flags
必要な属性と省略可能な属性と共にプール メモリの種類を指定するULONG64型指定された値。 ビットごとの OR を使用して、複数のフラグ値を組み合わせることができます。 使用可能な値については、POOL_FLAGS を参照してください。
NumberOfBytes
割り当てる 0 以外のバイト数を指定します。
Tag
割り当てられたメモリに使用するプール タグ。 単一引用符で区切られた 1 ~ 4 文字の 0 以外の文字リテラルとしてプール タグを指定します (例: Tag1
)。 通常、文字列は逆の順序で指定されます (たとえば、1gaT
)。 タグ内の各 ASCII 文字は、0x7E (チルダ) 0x20 (スペース) の範囲内の値である必要があります。 各割り当てコード パスでは、デバッガーと検証ツールがコード パスを識別するのに役立つ一意のプール タグを使用する必要があります。
ExtendedParameters
割り当ての追加属性を指定する POOL_EXTENDED_PARAMETER 構造体の配列へのポインター。
ExtendedParametersCount
ExtendedParameters 内のパラメーターの数指定する ULONG 値です。
戻り値
ExAllocatePool3 は、割り当てられたメモリへのポインターを返します。
次の条件により、関数は既定で NULL を返します。 POOL_FLAG_RAISE_ON_FAILURE が指定されている場合、関数は例外を発生させます。
- メモリ不足
- タグ が 0 に設定されているか、無効なPOOL_FLAGSが指定されている
- 無効な POOL_EXTENDED_PARAMETER 構造体
備考
Windows 10 バージョン 2004 より前のバージョンの Windows を対象とするドライバーをビルドする場合は、ExAllocatePoolPriorityZeroまたは ExAllocatePoolPriorityUninitialized使用します。
詳細については、ExAllocatePool2 の解説を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 2004 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (「解説」セクションを参照) |
DDI コンプライアンス規則 を する | HwStorPortProhibitedDIs、SpNoWait、StorPortStartIo |
関連項目
ExAllocatePool2の