IoForwardIrpSynchronously 関数 (wdm.h)

IoForwardIrpSynchronously ルーチンは、指定されたドライバーに IRP を送信し、そのドライバーが IRP を完了するまで待機します。

構文

BOOLEAN IoForwardIrpSynchronously(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

パラメーター

[in] DeviceObject

IRP が送信されるドライバーのデバイス オブジェクトを指定します。

[in] Irp

送信する IRP を指定します。

戻り値

IRP が正常に送信された場合、IoForwardIrpSynchronouslyTRUE を返します。 それ以外の場合は、 FALSE を返します。

注釈

IoForwardIrpSynchronously ルーチンを使用して、現在の IRP をスタック内の次のドライバーに同期的に転送します。 (IRP を非同期的に転送するには、 IoCopyCurrentIrpStackLocationToNextIoCallDriverIoSetCompletionRoutine ルーチンを使用します)。

IoForwardIrpSynchronously ルーチンは、現在のスタックの場所を次のスタックの場所にコピーします。 そのスタックの場所は、 DeviceObject で指定されたドライバーによって現在のスタックの場所として使用されます。 次のスタックの場所が使用できない場合、ルーチンは FALSE を返します。 ルーチンが TRUE を返す場合、IRP は指定されたドライバーに送信され、そのドライバーはこの IRP の処理を完了しました。

要件

要件
サポートされている最小のクライアント Windows XP 以降のバージョンの Windows で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL
DDI コンプライアンス規則 PnpIrpCompletion(wdm)

こちらもご覧ください

IoCallDriver

IoCopyCurrentIrpStackLocationToNext

IoSetCompletionRoutine