Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
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
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
PFLT_INSTANCE_TEARDOWN_CALLBACK
PFLT_NORMALIZE_CONTEXT_CLEANUP