Freigeben über


IoCopyCurrentIrpStackLocationToNext-Funktion (wdm.h)

Die IoCopyCurrentIrpStackLocationToNext-Routine kopiert die IRP-Stapelparameter vom aktuellen E/A-Stapelspeicherort in den Stapelspeicherort des nächstniedrigen Treibers.

Syntax

void IoCopyCurrentIrpStackLocationToNext(
  [in, out] PIRP Irp
);

Parameter

[in, out] Irp

Ein Zeiger auf den IRP.

Rückgabewert

Keine

Bemerkungen

Ein Treiber ruft IoCopyCurrentIrpStackLocationToNext auf, um die IRP-Parameter von seinem Stapelspeicherort in den Stapelspeicherort des nächstniedrigen Treibers zu kopieren.

Nach dem Aufrufen dieser Routine legt ein Treiber in der Regel eine E/A-Vervollständigungsroutine mit IoSetCompletionRoutine fest, bevor der IRP mit IoCallDriver an den nächstniedrigen Treiber übergeben wird. Treiber, die ihre IRP-Parameter übergeben, aber keine E/A-Vervollständigungsroutine festlegen, sollten anstelle dieser Routine IoSkipCurrentIrpStackLocation aufrufen.

Wenn Ihr Treiber IoSkipCurrentIrpStackLocation aufruft, sollten Sie darauf achten, die IO_STACK_LOCATION-Struktur nicht auf eine Weise zu ändern, die sich unbeabsichtigt auf den niedrigeren Treiber oder das Systemverhalten in Bezug auf diesen Treiber auswirken könnte. Insbesondere sollte Ihr Treiber die Parameterunion der IO_STACK_LOCATION Struktur nicht ändern und die IoMarkIrpPending-Routine nicht aufrufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Desktop
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
IRQL <=DISPATCH_LEVEL

Weitere Informationen

IO_STACK_LOCATION

IoCallDriver

IoMarkIrpPending

IoSetCompletionRoutine

IoSkipCurrentIrpStackLocation