Partager via


structure FLT_REGISTRATION (fltkernel.h)

La structure FLT_REGISTRATION est passée en tant que paramètre à FltRegisterFilter.

Syntaxe

typedef struct _FLT_REGISTRATION {
  USHORT                                      Size;
  USHORT                                      Version;
  FLT_REGISTRATION_FLAGS                      Flags;
  const FLT_CONTEXT_REGISTRATION              *ContextRegistration;
  const FLT_OPERATION_REGISTRATION            *OperationRegistration;
  PFLT_FILTER_UNLOAD_CALLBACK                 FilterUnloadCallback;
  PFLT_INSTANCE_SETUP_CALLBACK                InstanceSetupCallback;
  PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK       InstanceQueryTeardownCallback;
  PFLT_INSTANCE_TEARDOWN_CALLBACK             InstanceTeardownStartCallback;
  PFLT_INSTANCE_TEARDOWN_CALLBACK             InstanceTeardownCompleteCallback;
  PFLT_GENERATE_FILE_NAME                     GenerateFileNameCallback;
  PFLT_NORMALIZE_NAME_COMPONENT               NormalizeNameComponentCallback;
  PFLT_NORMALIZE_CONTEXT_CLEANUP              NormalizeContextCleanupCallback;
  PFLT_TRANSACTION_NOTIFICATION_CALLBACK      TransactionNotificationCallback;
  PFLT_NORMALIZE_NAME_COMPONENT_EX            NormalizeNameComponentExCallback;
  PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK SectionNotificationCallback;
} FLT_REGISTRATION, *PFLT_REGISTRATION;

Membres

Size

Taille, en octets, de la structure FLT_REGISTRATION. Les pilotes Minifilter doivent définir ce membre sur taille de(FLT_REGISTRATION).

Version

Niveau de révision de la structure FLT_REGISTRATION. Les pilotes minifilter doivent définir ce membre sur FLT_REGISTRATION_VERSION.

Flags

Masque de bits des indicateurs d’inscription minifilter. Ce membre peut être NULL ou une combinaison des éléments suivants.

Valeur Signification
FLTFL_REGISTRATION_DO_NOT_SUPPORT_SERVICE_STOP
Si cet indicateur est défini, le minifilter n’est pas déchargé en réponse aux demandes d’arrêt de service, même si le membre FilterUnloadCallback n’est pas NULL.
FLTFL_REGISTRATION_SUPPORT_NPFS_MSFS
Si cet indicateur est défini, le minifilter prend en charge le filtrage des requêtes de canal nommé et de maillot. Cet indicateur a été introduit dans Windows 8.
FLTFL_REGISTRATION_SUPPORT_DAX_VOLUME
Si cet indicateur est défini, le minifilter prend en charge l’attachement à un volume d’accès direct (DAX). Cela indique au Gestionnaire de filtre que le minifilter filtre le volume DAX. Cet indicateur a été introduit dans Windows 10, version 1607.

ContextRegistration

Tableau de longueur variable de structures FLT_CONTEXT_REGISTRATION, un pour chaque type de contexte utilisé par le minifilter. Le dernier élément du tableau doit être {FLT_CONTEXT_END}. Ce membre est facultatif et peut être NULL.

OperationRegistration

Tableau de longueur variable de structures FLT_OPERATION_REGISTRATION, un pour chaque type d’E/S pour lequel le minifilter inscrit les routines de préopération (PFLT_PRE_OPERATION_CALLBACK) et de postopération (PFLT_POST_OPERATION_CALLBACK). Le dernier élément du tableau doit être {IRP_MJ_OPERATION_END}. Ce membre est facultatif et peut être NULL.

FilterUnloadCallback

Pointeur vers une routine de type PFLT_FILTER_UNLOAD_CALLBACK à inscrire en tant que routine de FilterUnloadCallback de minifilter. Ce membre est facultatif et peut être NULL. Notez que si NULL est spécifié pour cette routine, le filtre ne peut jamais être déchargé.

InstanceSetupCallback

Pointeur vers une routine de type PFLT_INSTANCE_SETUP_CALLBACK à inscrire en tant que routine InstanceSetupCallback du minifilter. Ce membre est facultatif et peut être NULL. Notez que si NULL est spécifié pour cette routine, la pièce jointe est toujours effectuée.

InstanceQueryTeardownCallback

Pointeur vers une routine de type PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK à inscrire en tant que routine InstanceQueryTeardownCallback du minifilter. Ce membre est facultatif et peut être NULL. Notez que si NULL est spécifié pour cette routine, les instances ne seront jamais détachées manuellement.

InstanceTeardownStartCallback

Pointeur vers une routine de type PFLT_INSTANCE_TEARDOWN_CALLBACK à inscrire en tant que routine InstanceTeardownStartCallback de minifilter. Ce membre est facultatif et peut être NULL.

InstanceTeardownCompleteCallback

Pointeur vers une routine de type PFLT_INSTANCE_TEARDOWN_CALLBACK à inscrire en tant que routine InstanceTeardownCompleteCallback du minifilter. Ce membre est facultatif et peut être NULL.

GenerateFileNameCallback

Pointeur vers une routine de type PFLT_GENERATE_FILE_NAME à inscrire en tant que routine GenerateFileNameCallback du minifilter. Ce membre est facultatif et peut être NULL.

NormalizeNameComponentCallback

Pointeur vers une routine de type PFLT_NORMALIZE_NAME_COMPONENT à inscrire en tant que routine NormalizeNameComponentCallback du minifilter. Ce membre est facultatif et peut être NULL.

NormalizeContextCleanupCallback

Pointeur vers une routine de type PFLT_NORMALIZE_CONTEXT_CLEANUP à inscrire comme routine NormalizeContextCleanupCallback du minifilter. Ce membre est facultatif et peut être NULL.

TransactionNotificationCallback

(Windows Vista et versions ultérieures uniquement.) Pointeur vers une routine de type PFLT_TRANSACTION_NOTIFICATION_CALLBACK à inscrire en tant que routine de TransactionNotificationCallback du minifilter. Ce membre est facultatif et peut être NULL.

NormalizeNameComponentExCallback

(Windows Vista et versions ultérieures uniquement.) Pointeur vers une routine de type PFLT_NORMALIZE_NAME_COMPONENT_EX à inscrire en tant que routine NormalizeNameComponentExCallback du pilote minifilter. Ce membre est facultatif et peut être NULL.

Par rapport à la routine de rappel NormalizeNameComponentCallback, la routine de rappel NormalizeNameComponentExCallback prend en charge un paramètre d’objet de fichier supplémentaire, FileObject (de type PFILE_OBJECT). Un pilote minifilter peut utiliser ce paramètre pour acquérir des informations supplémentaires, telles que celles fournies par la structure TXN_PARAMETER_BLOCK.

Un pilote minifilter peut définir simultanément les membres NormalizeNameComponentCallback et NormalizeNameComponentExCall back sur NULL ; Toutefois, un pilote minifilter du fournisseur de noms doit inscrire un NormalizeNameComponentCallback ou NormalizeNameComponentExCallback routine de rappel, ou les deux. Par exemple, un pilote minifilter du fournisseur de noms qui n’a pas d’utilisation pour le paramètre FileObject supplémentaire peut définir le membre NormalizeNameComponentExCall back sur NULL et fournir uniquement un NormalizeNameComponentCallback routine de rappel.

Un pilote minifilter peut fournir à la fois un rappel NormalizeNameComponentCallback et un rappel NormalizeNameComponentExCallback. Dans ce cas, à partir de Windows Vista, le gestionnaire de filtres utilise uniquement le NormalizeNameComponentExCallback rappel ; pour les systèmes d’exploitation Windows antérieurs à Windows Vista, le gestionnaire de filtres utilise uniquement les NormalizeNameComponentCallback rappel. Cela permet au même fichier binaire du pilote minifilter de s’exécuter sous toutes les versions du système d’exploitation.

SectionNotificationCallback

Pointeur vers une routine de type PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK à inscrire en tant que routine SectionNotificationCallback de minifilter. Ce membre est facultatif et peut être NULL. Ce rappel est appelé pour les notifications d’échecs d’E/S pour les sections créées avec FltCreateSectionForDatascan.

Remarques

La structure FLT_REGISTRATION est utilisée pour fournir des informations sur un minifiltre de système de fichiers, par exemple un FilterUnloadCallback (PFLT_FILTER_UNLOAD_CALLBACK) et une préopération (PFLT_PRE_OPERATION_CALLBACK) et des routines de rappel (PFLT_POST_OPERATION_CALLBACK) à l’administrateur de filtres. Le minifilter transmet un pointeur à cette structure en tant que paramètre Registration à FltRegisterFilter.

Exigences

Exigence Valeur
d’en-tête fltkernel.h (include Fltkernel.h)

Voir aussi

FLT_CONTEXT_REGISTRATION

FLT_OPERATION_REGISTRATION

FltRegisterFilter

PFLT_FILTER_UNLOAD_CALLBACK

PFLT_GENERATE_FILE_NAME

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_NORMALIZE_CONTEXT_CLEANUP

PFLT_NORMALIZE_NAME_COMPONENT

PFLT_NORMALIZE_NAME_COMPONENT_EX

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK

PFLT_TRANSACTION_NOTIFICATION_CALLBACK