Freigeben über


IoCsqInitialize-Funktion (wdm.h)

Die IoCsqInitialize Routine initialisiert die Abbruchsichere IRP-Warteschlangenverteilertabelle 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 durch IoCsqInitializeinitialisiert werden soll.

[in] CsqInsertIrp

Zeiger auf die treiberdefinierte CsqInsertIrp--Funktion für die abbruchsichere IRP-Warteschlange des Treibers.

[in] CsqRemoveIrp

Zeiger auf die treiberdefinierte CsqRemoveIrp--Funktion für die abbruchsichere IRP-Warteschlange des Treibers.

[in] CsqPeekNextIrp

Zeiger auf die treiberdefinierte CsqPeekNextIrp-Funktion für die abbruchsichere IRP-Warteschlange des Treibers.

[in] CsqAcquireLock

Zeiger auf die treiberdefinierte CsqAcquireLock--Funktion für die abbruchsichere IRP-Warteschlange des Treibers.

[in] CsqReleaseLock

Zeiger auf die treiberdefinierte 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 beim Fehler zurück.

Bemerkungen

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 Queues.

Beachten Sie, dass 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.

Anforderungen

Anforderung Wert
mindestens unterstützte 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- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- Beliebige Ebene

Siehe auch

CsqAcquireLock-

CsqCompleteCanceledIrp-

CsqInsertIrp-

CsqInsertIrpEx

CsqPeekNextIrp

CsqReleaseLock-

CsqRemoveIrp

IO_CSQ

IoCsqInitializeEx

IoCsqInsertIrp-

IoCsqInsertIrpEx-

IoCsqRemoveIrp

IoCsqRemoveNextIrp