Fonction FsRtlRemovePerFileContext (ntifs.h)
La routine FsRtlRemovePerFileContext retourne un pointeur vers un objet FSRTL_PER_FILE_CONTEXT associé à un fichier. FsRtlRemovePerFileContext supprime l’objet FSRTL_PER_FILE_CONTEXT de la liste qu’il occupe, ainsi que les informations de contexte spécifiques au pilote associées.
Syntaxe
PFSRTL_PER_FILE_CONTEXT FsRtlRemovePerFileContext(
[in] PVOID *PerFileContextPointer,
[in, optional] PVOID OwnerId,
[in, optional] PVOID InstanceId
);
Paramètres
[in] PerFileContextPointer
Pointeur vers un pointeur opaque utilisé par le package FSRTL (File System Runtime Library) pour suivre les contextes de fichiers. Pour obtenir ce pointeur à partir d’un objet de fichier, utilisez la macro FsRtlGetPerFileContextPointer .
[in, optional] OwnerId
Pointeur vers une variable allouée par un pilote de filtre qui identifie de manière unique le propriétaire de la structure de contexte par fichier. Ce paramètre est facultatif, mais doit être non NULL si InstanceId n’est pas NULL.
[in, optional] InstanceId
Pointeur vers une variable allouée par un pilote de filtre qui peut être utilisé pour distinguer les structures de contexte par fichier créées par le même pilote de filtre. Ce paramètre est facultatif.
Valeur renvoyée
Pointeur vers le premier FSRTL_PER_FILE_CONTEXT qui correspond à OwnerId et InstanceId, si spécifié. Si aucune correspondance n’est trouvée ou si le système ne prend pas en charge les informations de contexte par fichier, cette routine retourne NULL.
Remarques
FsRtlRemovePerFileContext supprime uniquement la première structure de contexte par fichier correspondante qu’il trouve. S’il existe d’autres contextes correspondants par fichier, le pilote de filtre doit appeler FsRtlRemovePerFileContext autant de fois que nécessaire pour les supprimer tous.
Le pilote de filtre du système de fichiers doit libérer la mémoire utilisée pour ces informations de contexte une fois le FSRTL_PER_FILE_CONTEXT supprimé.
Utilisez cette routine pour que vos pilotes suppriment les contextes uniquement lorsque le pilote doit ignorer les informations de contexte par fichier pendant que le fichier est toujours ouvert. Les contextes sont supprimés lorsqu’un fichier est fermé à l’aide de FsRtlTeardownPerFileContexts.
N’utilisez pas cette routine dans votre routine FreeCallback . Le système de fichiers supprime les contextes de la liste avant l’appel de cette routine.
N’utilisez pas cette routine à l’intérieur de votre gestionnaire de IRP_CLOSE. Vous ne serez pas averti lorsque le flux sera détruit.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Plateforme cible | Universal |
En-tête | ntifs.h (include FltKernel.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
Voir aussi
Suivi Per-File contexte dans un pilote de filtre de système de fichiers hérité