ExFreePool マクロ (ntddk.h)

ExFreePool ルーチンは、プール メモリのブロックの割り当てを解除します。

構文

void ExFreePool(
   a
);

パラメーター

a

割り当てを解除するプール メモリのブロックのアドレスを指定します。

戻り値

なし

解説

このルーチンは、ExAllocatePool、ExAllocatePoolWithTagExAllocatePoolWithQuota、または ExAllocatePoolWithQuotaTag によって割り当てられたメモリを解放します 解放後にメモリ ブロックにアクセスすることはできません。

ドライバーは、 ExFreePoolWithTag ルーチンを使用して、 ExAllocatePoolWithTag およびExAllocatePoolWithQuotaTag によって割り当てられたバッファーを解放することもできます。

ExFreePool の呼び出し元は、IRQL <= DISPATCH_LEVELで実行されている必要があります。 DISPATCH_LEVELの呼び出し元は、メモリが割り当てられたときに NonPagedXxxPoolType を指定している必要があります。 それ以外の場合、呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header ntddk.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (「解説」セクションを参照)
DDI コンプライアンス規則 DoubleExFreePool(storport)

こちらもご覧ください

ExAllocatePool

ExAllocatePoolWithQuota

ExAllocatePoolWithQuotaTag

ExAllocatePoolWithTag

ExFreePoolWithTag