FsRtlRegisterFileSystemFilterCallbacks, fonction (ntifs.h)

Les pilotes de filtre de système de fichiers et les systèmes de fichiers appellent la routine FsRtlRegisterFileSystemFilterCallbacks pour inscrire les routines de rappel de notification à appeler lorsque le système de fichiers sous-jacent effectue certaines opérations.

Syntaxe

NTSTATUS FsRtlRegisterFileSystemFilterCallbacks(
  [in] _DRIVER_OBJECT       *FilterDriverObject,
  [in] PFS_FILTER_CALLBACKS Callbacks
);

Paramètres

[in] FilterDriverObject

Pointeur vers l’objet pilote pour le filtre ou le pilote de système de fichiers.

[in] Callbacks

Pointeur vers une structure de FS_FILTER_CALLBACKS qui contient les points d’entrée des routines de rappel de notification fournies par l’appelant. Tous les points d’entrée de rappel sont facultatifs et peuvent être définis sur NULL.

Valeur retournée

La routine FsRtlRegisterFileSystemFilterCallbacks peut retourner l’une des valeurs de status suivantes :

Code de retour Description
STATUS_SUCCESS Les routines de rappel ont été correctement inscrites.
STATUS_INSUFFICIENT_RESOURCES FsRtlRegisterFileSystemFilterCallbacks a rencontré un échec d’allocation de pool lors de l’allocation de mémoire pour stocker les informations de rappel.
STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY FsRtlRegisterFileSystemFilterCallbacks a réussi une opération FsFilter.
STATUS_FILE_LOCKED_WITH_ONLY_READERS Le fichier a été verrouillé et tous les utilisateurs du fichier peuvent uniquement lire.
STATUS_FILE_LOCKED_WITH_WRITERS Le fichier a été verrouillé et au moins un utilisateur du fichier peut écrire
STATUS_INVALID_PARAMETER L’un des paramètres n’est pas valide.

Remarques

Les pilotes de système de fichiers et de filtre de système de fichiers doivent appeler FsRtlRegisterFileSystemFilterCallbacks à partir de la routine DriverEntry du pilote.

FsRtlRegisterFileSystemFilterCallbacks enregistre les routines de rappel de notification qui ont été spécifiées dans le paramètre Callbacks à appeler lorsque des demandes pour certaines opérations de fichier sont envoyées au système de fichiers sous-jacent.

Les systèmes de fichiers appellent FsRtlRegisterFileSystemFilterCallbacks pour définir le membre de rappel PreAcquireForSectionSynchronization de la structure FS_FILTER_CALLBACKS au lieu d’utiliser l’obsolète AcquireFileForNtCreateSection.

Les routines de rappel inscrites par FsRtlRegisterFileSystemFilterCallbacks remplacent les routines de rappel d’E/S rapides suivantes, qui sont obsolètes et ne doivent pas être utilisées par les pilotes de filtre de système de fichiers :

  • AcquireForCcFlush
  • AcquireFileForNtCreateSection
  • AcquireForModWrite
  • ReleaseForCcFlush
  • ReleaseFileForNtCreateSection
  • ReleaseForModWrite

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP
Plateforme cible Universal
En-tête ntifs.h (include Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Voir aussi

FS_FILTER_CALLBACKS