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 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (「解説」セクションを参照) |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs、SpNoWait、StorPortStartIo |