Partager via


Fonction FltCbdqEnable (fltkernel.h)

FltCbdqEnable active une file d’attente de données de rappel qui a été désactivée par un appel précédent à FltCbdqDisable.

Syntaxe

VOID FLTAPI FltCbdqEnable(
  [in, out] PFLT_CALLBACK_DATA_QUEUE Cbdq
);

Paramètres

[in, out] Cbdq

Pointeur vers la file d’attente de données de rappel.

Valeur de retour

None

Remarques

FltCbdqEnable réactive une file d’attente de données de rappel qui a été désactivée par un appel précédent à FltCbdqDisable. Une fois la file d’attente de données de rappel réactivée, elle peut à nouveau accepter de nouveaux éléments.

Les pilotes Minifilter peuvent utiliser les routines FltCbdqXxx pour implémenter une file d’attente de données de rappel pour les opérations d’E/S basées sur IRP. En utilisant ces routines, les pilotes minifilter peuvent rendre leur file d’attente cancel-safe ; le système gère en toute transparence l’annulation des E/S pour le pilote minifilter.

Les routines FltCbdqXxx ne peuvent être utilisées que pour les opérations d’E/S basées sur IRP. Pour déterminer si une structure de données de rappel donnée représente une opération d’E/S basée sur IRP, utilisez la macro FLT_IS_IRP_OPERATION .

Si la file d’attente est protégée par un verrou de rotation plutôt qu’un objet mutex ou une variable de ressource, l’appelant de FltCbdqEnable peut s’exécuter sur IRQL <= DISPATCH_LEVEL. Si un mutex ou une ressource est utilisé, l’appelant doit s’exécuter sur IRQL <= APC_LEVEL.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
IRQL Voir la section Notes

Voir aussi

FLT_CALLBACK_DATA_QUEUE

FLT_IS_IRP_OPERATION

FltCbdqDisable

FltCbdqInitialize

FltCbdqInsertIo

FltCbdqRemoveIo

FltCbdqRemoveNextIo