ExAllocatePoolPriorityUninitialized 関数 (wdm.h)
このルーチンは、ExAllocatePoolWithTagPriorityのラッパーおよび置換オプションです。
ExAllocatePoolPriorityUninitialized 、指定した型のプール メモリを割り当てます。
構文
PVOID ExAllocatePoolPriorityUninitialized(
__drv_strictTypeMatch(__drv_typeExpr)POOL_TYPE PoolType,
SIZE_T NumberOfBytes,
ULONG Tag,
EX_POOL_PRIORITY Priority
);
パラメーター
PoolType
割り当てるプール メモリの種類。 使用可能なプール メモリの種類の詳細については、POOL_TYPEを参照してください。
列挙値を変更するには、wdm.h
で定義された POOL_RAISE_IF_ALLOCATION_FAILURE フラグを使用してビットごとの OR を実行します。 このフラグを指定すると、要求を満たすことができない場合に例外が発生します。 このフラグはコストがかかるため、使用しないことをお勧めします。
同様に、PoolType 値を変更するには、この値を POOL_COLD_ALLOCATION フラグ (wdm.h
で定義) を使用してビットごとの ORing をカーネルにヒントとして付けて、ページアウトされる可能性が高いページからメモリを割り当てることができます。 常駐プール メモリの量をできるだけ減らすには、これらの割り当てを頻繁に参照しないでください。
POOL_COLD_ALLOCATION フラグは単にアドバイザリです。
NumberOfBytes
割り当てるバイト数。
Tag
割り当てられたメモリに使用するプール タグ。 詳細については、ExAllocatePoolWithTagの Tag パラメーター参照してください。
Priority
この要求の優先順位を指定する EX_POOL_PRIORITY 列挙値。
戻り値
ExAllocatePoolPriorityUninitialized 、POOL_RAISE_IF_ALLOCATION_FAILUREが指定されていない限り、空きプールに要求を満たすメモリが不足している場合は NULL を返します。 それ以外の場合、ルーチンは割り当てられたメモリへのポインターを返します。
備考
ExAllocatePoolPriorityUninitialized が割り当てる メモリは初期化されていません。 カーネル モード ドライバーは、ユーザー モード のソフトウェアに表示する場合は、このメモリを最初にゼロにする必要があります (潜在的に特権のあるコンテンツのリークを回避するため)
その他のガイダンスについては、ExAllocatePoolWithTagPriorityの「解説」セクション参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 2004 用 WDK が必要です。 Windows 7 以降のバージョンの Windows オペレーティング システムを対象としています。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (「解説」セクションを参照) |
DDI コンプライアンス規則 を する | HwStorPortProhibitedDDIs、IrqlExAllocatePool、IrqlExFree2、SpNoWait、StorPortStartIo |
関連項目
ExAllocatePoolWithTagPriorityの
ExAllocatePoolPriorityZeroの