IoCsqInsertIrp-Funktion (wdm.h)
Die IoCsqInsertIrp Routine fügt ein IRP in die cancel-safe 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 durch IoCsqInitialize oder IoCsqInitializeEx-initialisiert worden sein.
[in, out] Irp
Zeiger auf das IRP, das 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 das IRP aus der Warteschlange zu löschen. Kontext- kann NULL- sein, wenn der Treiber nicht IoCsqRemoveIrp- verwendet, um dieses IRP aus der Warteschlange zu entfernen.
Rückgabewert
Nichts
Bemerkungen
IoCsqInsertIrp verwendet die Dispatch-Routinen der Warteschlange, um das 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 das IRP einzufügen.
- Markiert das 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 durch IoCsqInitializeExangegeben wird, bietet IoCsqInsertIrpEx- zusätzliche Funktionen. Weitere Informationen finden Sie unter Cancel-Safe IRP Queues.
Beachten Sie, dass die IoCsq-Xxx- Routinen die DriverContext-[3] des IRP-Elements verwenden, um IRP-Kontextinformationen zu enthalten. Treiber, die diese Routinen verwenden, um IRPs in die Warteschlange zu stellen, müssen dieses Mitglied nicht verwenden.
Aufrufer von IoCsqInsertIrp- müssen bei einem IRQL-<= DISPATCH_LEVEL ausgeführt werden. Die Rückrufroutinen des Treibers müssen bei diesem IRQL ordnungsgemäß funktionieren.