次の方法で共有


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

こちらもご覧ください

ExAllocatePool2