Partager via


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

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FilterAttach

FilterAttachAtAltitude

FltAttachVolume

FltAttachVolumeAtAltitude

FltRegisterFilter

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

Dev Drive