ioInitializeIrp 函式 (wdm.h)
IoInitializeIrp 例程會初始化呼叫端所配置的指定 IRP。
語法
void IoInitializeIrp(
[in, out] PIRP Irp,
[in] USHORT PacketSize,
[in] CCHAR StackSize
);
參數
[in, out] Irp
要初始化之 IRP 的指標。
[in] PacketSize
以位元組為單位指定 IRP 的大小。
[in] StackSize
指定 IRP 中的堆疊位置數目。
傳回值
無
備註
驅動程式會使用 IoInitializeIrp 來初始化配置為原始記憶體的驅動程式 IRP。 請勿使用 IoInitializeIrp 初始化 IoAllocateIrp 所配置的 IRP。 IoAllocateIrp 會自動初始化 IRP 的成員。
驅動程式可以使用 IoInitializeIrp 重新初始化 IRP,以便在特定情況下重複使用。 如需詳細資訊 ,請參閱重複使用 IRP 。
如果驅動程式將 MDL 與其配置的 IRP 產生關聯,則驅動程式會負責在 IRP 完成時釋放 MDL。
中繼或最高層級驅動程式也可以呼叫 IoBuildDeviceIoControlRequest、 IoBuildAsynchronousFsdRequest 或 IoBuildSynchronousFsdRequest 來設定傳送至較低層級驅動程式的要求。 只有最高層級的驅動程式可以呼叫 IoMakeAssociatedIrp。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIS (storport) 、 IoReuseIrp (wdm) |