Fonction IoCsqInitialize (wdm.h)

La routine IoCsqInitialize initialise la table de répartition de la file d’attente IRP cancel-safe du pilote.

Syntaxe

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
);

Paramètres

[out] Csq

Pointeur vers la structure IO_CSQ à initialiser par IoCsqInitialize.

[in] CsqInsertIrp

Pointeur vers la fonction CsqInsertIrp définie par le pilote pour la file d’attente IRP cancel-safe du pilote.

[in] CsqRemoveIrp

Pointeur vers la fonction CsqRemoveIrp définie par le pilote pour la file d’attente IRP cancel-safe du pilote.

[in] CsqPeekNextIrp

Pointeur vers la fonction CsqPeekNextIrp définie par le pilote pour la file d’attente IRP cancel-safe du pilote.

[in] CsqAcquireLock

Pointeur vers la fonction CsqAcquireLock définie par le pilote pour la file d’attente IRP cancel-safe du pilote.

[in] CsqReleaseLock

Pointeur vers la fonction CsqReleaseLock définie par le pilote pour la file d’attente IRP cancel-safe du pilote.

[in] CsqCompleteCanceledIrp

Pointeur vers la fonction CsqCompleteCanceledIrp définie par le pilote pour la file d’attente IRP cancel-safe du pilote.

Valeur retournée

Cette routine retourne STATUS_SUCCESS en cas de réussite ou le code d’erreur NTSTATUS approprié en cas d’échec.

Remarques

La routine IoCsqInitialize initialise une structure IO_CSQ qui décrit la file d’attente IRP cancel-safe d’un pilote. Les pilotes peuvent également utiliser IoCsqInitializeEx pour créer une file d’attente IRP avec des fonctionnalités étendues. Pour plus d’informations, consultez Annuler les files d’attente IRP sécurisées.

Notez que les routines IoCsqXxx utilisent le membre DriverContext[3] de l’IRP pour contenir les informations de contexte IRP. Les pilotes qui utilisent ces routines pour mettre en file d’attente les IRP doivent laisser ce membre inutilisé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows XP et les versions ultérieures du système d’exploitation Windows. Les pilotes qui doivent également fonctionner pour Windows 2000 et Windows 98/Me peuvent à la place créer un lien vers Csq.lib pour utiliser la routine.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau

Voir aussi

CsqAcquireLock

CsqCompleteCanceledIrp

CsqInsertIrp

CsqInsertIrpEx

CsqPeekNextIrp

CsqReleaseLock

CsqRemoveIrp

IO_CSQ

IoCsqInitializeEx

IoCsqInsertIrp

IoCsqInsertIrpEx

IoCsqRemoveIrp

IoCsqRemoveNextIrp