IoFreeIrp 関数 (wdm.h)
IoFreeIrp ルーチンは、呼び出し元の IoCompletion ルーチンから呼び出し元によって割り当てられた IRP を解放します。
構文
void IoFreeIrp(
[in] PIRP Irp
);
パラメーター
[in] Irp
解放される IRP へのポインター。
戻り値
何一つ
備考
このルーチンは、IoAllocateIrp を するか、IoBuildAsynchronousFsdRequest をする逆数です。 解放された IRP は、呼び出し元によって割り当てられている必要があります。
また、このルーチンは、呼び出し元が関連付けられた IRP のSTATUS_MORE_PROCESSING_REQUIREDを返す IoCompletion ルーチンを設定する、IoMakeAssociatedIrp で割り当てられた IRP を解放します。
IoFreeIrp は、IRP にアタッチされている可能性のある MDL を解放しません。 IRP を解放するドライバーは、これらの MDLs を明示的に解放する必要があります。 さらに、MDL によって記述されている物理ページがロックされている場合、ドライバーは、MDL を解放する前に、ページのロックを解除する必要があります。 ただし、ドライバーはこれらのページのマップを明示的に解除する必要はありません。 代わりに、IoFreeMdl 、MDL を解放するとページのマップが自動的に解除されます。 MDL チェーンを解放する方法を示すコード例については、「MDLの使用」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | HwStorPortProhibitedDDIs(storport), IoAllocateFree(wdm), IoBuildDeviceControlNoFree(wdm)IoBuildFsdFree(wdm)、 IoBuildSynchronousFsdRequestNoFree(wdm)、 ioFreeIrp(storport) |
関連項目
IoAllocateIrp の
IoMakeAssociatedIrp の