次の方法で共有


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 の再利用に関するページを参照してください。

ドライバーが割り当てられた IRP に MDL を関連付ける場合、ドライバーは、IRP が完了したときに MDL を解放します。

中間または最上位レベルのドライバーは、IoBuildDeviceIoControlRequestIoBuildAsynchronousFsdRequest、または IoBuildSynchronousFsdRequest 呼び出して、下位レベルのドライバーに送信する要求を設定することもできます。 IoMakeAssociatedIrp 呼び出すことができるのは最上位ドライバーだけです。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する HwStorPortProhibitedDDIs(storport), IoReuseIrp(wdm)

関連項目

IRP

IoAllocateIrp

IoAllocateMdl

IoBuildPartialMdl

IoFreeIrp

IoFreeMdl

IoReuseIrp

IoSetNextIrpStackLocation

IoSizeOfIrp