ExFreePool マクロ (ntddk.h)
ExFreePool ルーチンは、プール メモリのブロックの割り当てを解除します。
構文
void ExFreePool(
a
);
パラメーター
a
割り当てを解除するプール メモリのブロックのアドレスを指定します。
戻り値
何一つ
備考
このルーチンは、ExAllocatePool 、exAllocatePoolWithTag 、ExAllocatePoolWithQuota、または exAllocatePoolWithQuotaTag によって割り当てられたメモリを解放します。 解放後にメモリ ブロックにアクセスすることはできません。
ドライバーは、exAllocatePoolWithTag ルーチン を使用して、ExAllocatePoolWithTag および exAllocatePoolWithQuotaTag によって割り当てられたバッファーを解放することもできます。
ExFreePool の呼び出し元は、IRQL <= DISPATCH_LEVEL で実行されている必要があります。 DISPATCH_LEVELの呼び出し元は、メモリが割り当てられたときに NonPagedXxxPoolType を指定している必要があります。 それ以外の場合、呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ntddk.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (「解説」セクションを参照) |
DDI コンプライアンス規則 を する | DoubleExFreePool(storport) を する |
関連項目
ExAllocatePool の
ExAllocatePoolWithQuota の
ExAllocatePoolWithQuotaTag の
ExAllocatePoolWithTag の
ExFreePoolWithTag を する