IoCsqInitializeEx-Funktion (wdm.h)
Die IoCsqInitializeEx-Routine initialisiert die Dispatchtabelle für eine abbruchsichere IRP-Warteschlange.
Syntax
NTSTATUS IoCsqInitializeEx(
[out] PIO_CSQ Csq,
[in] PIO_CSQ_INSERT_IRP_EX CsqInsertIrp,
[in] PIO_CSQ_REMOVE_IRP CsqRemoveIrp,
[in] PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp,
[in] PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock,
[in] PIO_CSQ_RELEASE_LOCK CsqReleaseLock,
[in] PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp
);
Parameter
[out] Csq
Zeiger auf die IO_CSQ Struktur, die von IoCsqInitializeEx initialisiert werden soll.
[in] CsqInsertIrp
Zeiger auf die vom Treiber definierte CsqInsertIrpEx-Funktion für die abbruchsichere IRP-Warteschlange des Treibers.
[in] CsqRemoveIrp
Zeiger auf die vom Treiber definierte CsqRemoveIrp-Funktion für die abbruchsichere IRP-Warteschlange des Treibers.
[in] CsqPeekNextIrp
Zeiger auf die vom Treiber definierte CsqPeekNextIrp-Funktion für die abbruchsichere IRP-Warteschlange des Treibers.
[in] CsqAcquireLock
Zeiger auf die vom Treiber definierte CsqAcquireLock-Funktion für die abbruchsichere IRP-Warteschlange des Treibers.
[in] CsqReleaseLock
Zeiger auf die vom Treiber definierte CsqReleaseLock-Funktion für die abbruchsichere IRP-Warteschlange des Treibers.
[in] CsqCompleteCanceledIrp
Zeiger auf die vom Treiber definierte CsqCompleteCanceledIrp-Funktion für die abbruchsichere IRP-Warteschlange des Treibers.
Rückgabewert
IoCsqInitializeEx gibt STATUS_SUCCESS bei Erfolg oder den entsprechenden Fehlercode bei Einem Fehler zurück.
Hinweise
Die IoCsqInitialize - und IoCsqInitializeEx-Routinen initialisieren eine IO_CSQ-Struktur , die die abbruchsichere IRP-Warteschlange eines Treibers beschreibt. Sie können IoCsqInitializeEx verwenden, um eine IRP-Warteschlange mit erweiterten Funktionen anstelle einer von IoCsqInitialize angegebenen anzugeben:
- Der Treiber implementiert eine CsqInsertIrpEx-Routine anstelle einer CsqInsertIrp-Routine . CsqInsertIrpEx verwendet den zusätzlichen Parameter InsertContext. Wenn der Treiber IoCsqInsertIrpEx aufruft, um das IRP einzufügen, gibt er den Wert an, der als InsertContext übergeben wird.
- IoCsqInsertIrpEx gibt den Rückgabewert von CsqInsertIrpEx zurück. Treiber können den Rückgabewert verwenden, um anzugeben, ob ein Einfügevorgang erfolgreich war oder fehlgeschlagen ist.
Beachten Sie, dass 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.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Server 2003 und höheren Versionen des Windows-Betriebssystems. Die Routine ist auch in der Csq.lib-Bibliothek verfügbar, die im Lieferumfang des Windows Driver Kit (WDK) und des Driver Development Kit (DDK) für Windows Server 2003 enthalten ist. Treiber, die auch unter Windows XP, Windows 2000 und Windows 98/Me funktionieren müssen, können stattdessen mit Csq.lib verknüpft werden, um die Routine zu verwenden. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Beliebige Ebene |