PFLT_INSTANCE_SETUP_CALLBACK fonction de rappel (fltkernel.h)
Un pilote de minifiltre peut inscrire une routine de type PFLT_INSTANCE_SETUP_CALLBACK comme routine InstanceSetupCallback du pilote minifiltre.
Syntaxe
PFLT_INSTANCE_SETUP_CALLBACK PfltInstanceSetupCallback;
NTSTATUS PfltInstanceSetupCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_INSTANCE_SETUP_FLAGS Flags,
[in] DEVICE_TYPE VolumeDeviceType,
[in] FLT_FILESYSTEM_TYPE VolumeFilesystemType
)
{...}
Paramètres
[in] FltObjects
Pointeur vers une structure FLT_RELATED_OBJECTS qui contient des pointeurs opaques pour les objets liés à l’opération en cours.
[in] Flags
Masque de bits d’indicateurs qui indiquent la raison pour laquelle le instance est attaché. Il peut s’agir de l’un ou plusieurs des éléments suivants :
Indicateur | Signification |
---|---|
FLTFL_INSTANCE_SETUP_AUTOMATIC_ATTACHMENT (0x00000001) | Le instance est automatiquement attaché. Soit le pilote de minifiltre vient d’être chargé et est attaché à tous les volumes existants, soit il est attaché à un volume nouvellement monté. |
FLTFL_INSTANCE_SETUP_MANUAL_ATTACHMENT (0x00000002) | Le instance est attaché manuellement parce qu’une application en mode utilisateur a appelé FilterAttach ou FilterAttachAtAltitude, ou parce qu’un composant en mode noyau a appelé FltAttachVolume ou FltAttachVolumeAtAltitude |
FLTFL_INSTANCE_SETUP_NEWLY_MOUNTED_VOLUME (0x00000004) | Le instance est automatiquement attaché à un volume nouvellement monté. |
FLTFL_INSTANCE_SETUP_DETACHED_VOLUME (0x00000008) | Le instance est attaché à un volume détaché. Il est possible, sur certains systèmes de fichiers (tels que FAT et CDFS, qui sont utilisés par certains lecteurs multimédias amovibles), de rattacher un volume après son détachement. Un volume est détaché s’il n’a pas de pile de stockage associée. Un volume dans cet état est généralement un volume démonté qui contient toujours des fichiers ouverts. |
FLTFL_INSTANCE_SETUP_DEV_VOLUME (0x00000010) | Le instance est attaché à un volume mis en forme en tant que volume développeur. Les filtres de système de fichiers peuvent permettre des optimisations qui ne nécessitent pas qu’un administrateur approuve le volume sur une machine donnée. Disponible à partir de Windows 11, version 22H2 Mise à jour de septembre. |
FLTFL_INSTANCE_SETUP_TRUSTED_VOLUME (0x00000020) | Indique qu’un administrateur sur une machine donnée a approuvé ce volume et qu’il est prêt à activer des optimisations telles que l’attachement de filtres antivirus au volume. Ces informations sont conservées dans le Registre sur une machine donnée. Cela peut être utilisé par les filtres du système de fichiers pour permettre des optimisations qui nécessitent qu’un administrateur approuve le volume sur une machine donnée. Disponible à partir de Windows 11, version 22H2 Mise à jour de septembre. |
[in] VolumeDeviceType
Type d’appareil du volume du système de fichiers. Doit prendre l'une des valeurs suivantes :
- FILE_DEVICE_CD_ROM_FILE_SYSTEM (0x00000002)
- FILE_DEVICE_DISK_FILE_SYSTEM (0x00000008)
- FILE_DEVICE_NETWORK_FILE_SYSTEM (0x00000014)
[in] VolumeFilesystemType
Type de système de fichiers du volume. Les valeurs possibles sont répertoriées dans FLT_FILESYSTEM_TYPE.
Valeur retournée
Cette routine de rappel retourne STATUS_SUCCESS ou une valeur NTSTATUS telle que :
Code de retour | Description |
---|---|
STATUS_FLT_DO_NOT_ATTACH | Le renvoi de cette valeur empêche le pilote minifiltre instance d’être attaché au volume donné. Il s’agit d’un code d’erreur. |
Remarques
Notes
N’effectuez aucune synchronisation de thread ou communication inter-processus dans votre implémentation PFLT_INSTANCE_SETUP_CALLBACK . L’exécution de telles opérations peut entraîner des conditions d’interblocage.
Lorsqu’un pilote de minifiltre s’inscrit lui-même en appelant FltRegisterFilter à partir de sa routine DriverEntry , il peut inscrire une routine de type PFLT_INSTANCE_SETUP_CALLBACK en tant que routine InstanceSetupCallback du pilote de minifiltre.
Pour inscrire la routine InstanceSetupCallback , le pilote de minifiltre stocke l’adresse d’une routine de type PFLT_INSTANCE_SETUP_CALLBACK dans le membre InstanceSetupCallback de la structure FLT_REGISTRATION que le pilote de minifiltre transmet comme paramètre Registration de FltRegisterFilter.
Le gestionnaire de filtres appelle cette routine lors de la première opération après le montage d’un nouveau volume.
Le gestionnaire de filtres appelle cette routine pour permettre au pilote de minifiltre de répondre à une demande de pièce jointe automatique ou manuelle. Si cette routine retourne un code NTSTATUS d’erreur ou d’avertissement, le pilote minifiltre instance n’est pas attaché au volume donné. Sinon, le pilote minifiltre instance est attaché au volume donné.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | fltkernel.h (inclure Fltkernel.h) |
IRQL | PASSIVE_LEVEL |
Voir aussi
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK