FltCompletePendedPreOperation, fonction (fltkernel.h)
FltCompletePendedPreOperation reprend le traitement d’une opération d’E/S qui a été pendée dans la routine de rappel de préopération du pilote minifilter (PFLT_PRE_OPERATION_CALLBACK).
Syntaxe
VOID FLTAPI FltCompletePendedPreOperation(
PFLT_CALLBACK_DATA CallbackData,
[in] FLT_PREOP_CALLBACK_STATUS CallbackStatus,
[in, optional] PVOID Context
);
Paramètres
CallbackData
Pointeur vers la structure des données de rappel (FLT_CALLBACK_DATA) pour l’opération d’E/S. Ce paramètre est obligatoire et ne peut pas être NULL.
[in] CallbackStatus
Valeur d’état retournée par le pilote minifilter pour cette opération d’E/S. Ne peut pas être FLT_PREOP_PENDING, FLT_PREOP_SYNCHRONIZE ou FLT_PREOP_DISALLOW_FASTIO. Doit être l’une des valeurs de FLT_PREOP_CALLBACK_STATUS suivantes. Pour plus d’informations sur l’effet de ces valeurs, consultez la section Remarques de l’entrée de référence pour PFLT_PRE_OPERATION_CALLBACK.
Valeur | Signification |
---|---|
FLT_PREOP_COMPLETE | Le pilote minifilter termine l’opération d’E/S. Le Gestionnaire de filtres n’envoie pas l’opération d’E/S aux pilotes minifilter sous l’appelant ou au système de fichiers. Le Gestionnaire de filtres appelle uniquement les routines de rappel de postopération (PFLT_POST_OPERATION_CALLBACK) des pilotes minifilter au-dessus de l’appelant. |
FLT_PREOP_SUCCESS_NO_CALLBACK | Le pilote minifilter retourne le contrôle de l’opération d’E/S au Gestionnaire de filtres. Le Gestionnaire de filtres n’appelle pas le rappel de postopération correspondant, s’il en existe un, pendant l’achèvement des E/S. |
FLT_PREOP_SUCCESS_WITH_CALLBACK | Le pilote minifilter retourne le contrôle de l’opération d’E/S au Gestionnaire de filtres. Le Gestionnaire de filtre appelle le rappel de postopération correspondant pendant l’achèvement des E/S. |
[in, optional] Context
Si FLT_PREOP_SUCCESS_WITH_CALLBACK est spécifié pour callbackStatus, ce paramètre est un pointeur de contexte facultatif à passer à la routine de rappel de post-opération correspondante. Si FLT_PREOP_COMPLETE ou FLT_PREOP_SUCCESS_NO_CALLBACK est spécifié pour callbackStatus, ce paramètre doit être NULL.
Valeur de retour
Aucun
Remarques
Lorsqu’un rappel de préopération d’un pilote minifilter (PFLT_PRE_OPERATION_CALLBACK) publie une opération d’E/S dans une file d’attente de travail et retourne FLT_PREOP_PENDING, le Gestionnaire de filtre arrête le traitement de l’opération. Lorsque l’opération est finalement mise en file d’attente et traitée, le pilote minifilter doit appeler FltCompletePendedPreOperation pour renvoyer l’opération au Gestionnaire de filtres, qui reprend ensuite le traitement comme indiqué par le CallbackStatus spécifié par le pilote minifilter.
Si le paramètre CallbackStatus est FLT_PREOP_COMPLETE, fltCompletePendedPreOperation peut être appelé au <IRQL = DISPATCH_LEVEL. Dans le cas contraire, les appelants de FltCompletePendedPreOperation doivent s’exécuter sur IRQL <= APC_LEVEL.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | fltkernel.h (include Fltkernel.h) |
bibliothèque | FltMgr.lib |
IRQL | Voir la section Remarques. |