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 |