ExFreePool マクロ (ntddk.h)
ExFreePool ルーチンは、プール メモリのブロックの割り当てを解除します。
構文
void ExFreePool(
a
);
パラメーター
a
割り当てを解除するプール メモリのブロックのアドレスを指定します。
戻り値
なし
解説
このルーチンは、ExAllocatePool、ExAllocatePoolWithTag、ExAllocatePoolWithQuota、または 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) |