Freigeben über


IoCopyCurrentIrpStackLocationToNext-Funktion (wdm.h)

Die IoCopyCurrentIrpStackLocationToNext Routine kopiert die IRP-Stapelparameter aus der aktuellen I/O-Stapelposition in die Stapelposition des nächsten niedrigeren Treibers.

Syntax

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

Parameter

[in, out] Irp

Ein Zeiger auf das IRP.

Rückgabewert

Nichts

Bemerkungen

Ein Treiber ruft IoCopyCurrentIrpStackLocationToNext- auf, um die IRP-Parameter von der Stapelposition in den Stapelspeicherort des nächsten niedrigeren Treibers zu kopieren.

Nach dem Aufrufen dieser Routine legt ein Treiber in der Regel eine E/A-Abschlussroutine mit IoSetCompletionRoutine fest, bevor der IRP mit IoCallDriver-an den nächsten niedrigeren 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, achten Sie darauf, die IO_STACK_LOCATION Struktur nicht auf eine Weise zu ändern, die unbeabsichtigt den unteren Treiber oder das Verhalten des Systems in Bezug auf diesen Treiber beeinflussen könnte. Insbesondere sollte Ihr Treiber die Parameter Union der IO_STACK_LOCATION Struktur nicht ändern und nicht die IoMarkIrpPending Routine aufrufen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Desktop
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL- <=DISPATCH_LEVEL

Siehe auch

IO_STACK_LOCATION

IoCallDriver-

IoMarkIrpPending

IoSetCompletionRoutine

IoSkipCurrentIrpStackLocation