IoCsqInsertIrp-Funktion (wdm.h)
Die IoCsqInsertIrp-Routine fügt eine IRP in die abbruchsichere IRP-Warteschlange des Treibers ein.
Syntax
void IoCsqInsertIrp(
[in, out] PIO_CSQ Csq,
[in, out] PIRP Irp,
[out, optional] PIO_CSQ_IRP_CONTEXT Context
);
Parameter
[in, out] Csq
Zeiger auf die IO_CSQ-Struktur für die abbruchsichere IRP-Warteschlange des Treibers. Diese Struktur muss von IoCsqInitialize oder IoCsqInitializeEx initialisiert worden sein.
[in, out] Irp
Zeiger auf die IRP, die in die Warteschlange eingereiht werden soll.
[out, optional] Context
Zeiger auf eine IO_CSQ_IRP_CONTEXT-Struktur . IoCsqInsertIrp initialisiert diese Struktur mit Kontextinformationen für das eingefügte IRP. Der Treiber übergibt diesen Wert an IoCsqRemoveIrp , um den IRP aus der Warteschlange zu löschen. Der Kontext kann NULL sein, wenn der Treiber ioCsqRemoveIrp nicht verwendet, um diese IRP aus der Warteschlange zu entfernen.
Rückgabewert
Keine
Bemerkungen
IoCsqInsertIrp verwendet die Dispatchroutinen der Warteschlange, um die IRP einzufügen. Die IoCsqInsertIrp-Routine :
- Ruft die CsqAcquireLock-Routine der Warteschlange auf, um die Warteschlange zu sperren.
- Ruft die CsqInsertIrp-Routine der Warteschlange auf, um die IRP einzufügen.
- Markiert die IRP als ausstehend.
- Ruft die CsqReleaseLock-Routine der Warteschlange auf, um die Warteschlange zu entsperren.
Treiber können auch IoCsqInsertIrpEx verwenden, um ein IRP in die Warteschlange einzufügen. Für eine Warteschlange, die von IoCsqInitializeEx angegeben wird, bietet IoCsqInsertIrpEx zusätzliche Funktionen. Weitere Informationen finden Sie unter Cancel-Safe IRP-Warteschlangen.
Beachten Sie, dass die IoCsqXxx-Routinen das Member DriverContext[3] des IRP verwenden, um IRP-Kontextinformationen zu enthalten. Treiber, die diese Routinen verwenden, um IRPs in die Warteschlange zu stellen, müssen diesen Member nicht verwendet lassen.
Aufrufer von IoCsqInsertIrp müssen unter einem IRQL <= DISPATCH_LEVEL ausgeführt werden. Die Rückrufroutinen des Treibers müssen in diesem IRQL ordnungsgemäß funktionieren.