Freigeben über


IoForwardIrpSynchronously-Funktion (wdm.h)

Die IoForwardIrpSynchronously-Routine sendet ein IRP an einen angegebenen Treiber und wartet darauf, dass dieser Treiber das IRP abgeschlossen hat.

Syntax

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

Parameter

[in] DeviceObject

Gibt das Geräteobjekt des Treibers an, an den die IRP gesendet wird.

[in] Irp

Gibt das zu sendende IRP an.

Rückgabewert

IoForwardIrpSynchronously gibt TRUE zurück, wenn der IRP erfolgreich gesendet wurde. Andernfalls wird FALSE zurückgegeben.

Hinweise

Verwenden Sie die IoForwardIrpSynchronously-Routine , um den aktuellen IRP synchron an den nächsten Treiber im Stapel weiterzuleiten. (Verwenden Sie zum asynchronen Weiterleiten des IRP die Routinen IoCopyCurrentIrpStackLocationToNext, IoCallDriver und IoSetCompletionRoutine .)

Die IoForwardIrpSynchronously-Routine kopiert den aktuellen Stapelspeicherort in den nächsten Stapelspeicherort. Dieser Stapelspeicherort wird dann von dem in DeviceObject angegebenen Treiber als aktueller Stapelspeicherort verwendet. Wenn kein nächster Stapelspeicherort verfügbar ist, gibt die Routine FALSE zurück. Wenn die Routine TRUE zurückgibt, wurde der IRP an den angegebenen Treiber gesendet, und dieser Treiber hat die Verarbeitung dieses IRP abgeschlossen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows XP und höheren Versionen von Windows.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI-Complianceregeln PnpIrpCompletion(wdm)

Weitere Informationen

IoCallDriver

IoCopyCurrentIrpStackLocationToNext

IoSetCompletionRoutine