Freigeben über


IoCsqInitialize-Funktion (wdm.h)

Die IoCsqInitialize-Routine initialisiert die abbruchsichere IRP-Warteschlangenverteilungstabelle des Treibers.

Syntax

NTSTATUS IoCsqInitialize(
  [out] PIO_CSQ                       Csq,
  [in]  PIO_CSQ_INSERT_IRP            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 IoCsqInitialize initialisiert werden soll.

[in] CsqInsertIrp

Zeiger auf die vom Treiber definierte CsqInsertIrp-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

Diese Routine gibt STATUS_SUCCESS bei Erfolg oder den entsprechenden NTSTATUS-Fehlercode bei Einem Fehler zurück.

Hinweise

Die IoCsqInitialize-Routine initialisiert eine IO_CSQ-Struktur , die die abbruchsichere IRP-Warteschlange eines Treibers beschreibt. Treiber können auch IoCsqInitializeEx verwenden, um eine IRP-Warteschlange mit erweiterten Funktionen zu erstellen. Weitere Informationen finden Sie unter Cancel-Safe IRP-Warteschlangen.

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 XP und höheren Versionen des Windows-Betriebssystems. Treiber, die auch für 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

Weitere Informationen

CsqAcquireLock

CsqCompleteCanceledIrp

CsqInsertIrp

CsqInsertIrpEx

CsqPeekNextIrp

CsqReleaseLock

CsqRemoveIrp

IO_CSQ

IoCsqInitializeEx

IoCsqInsertIrp

IoCsqInsertIrpEx

IoCsqRemoveIrp

IoCsqRemoveNextIrp