Partager via


FsRtlRemovePerFileContext, fonction (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 du 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 fichier. Pour obtenir ce pointeur à partir d’un objet de fichier, utilisez la macro FsRtlGetPerFileContextPointer.

[in, optional] OwnerId

Pointeur vers une variable allouée par le 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 le pilote de filtre qui peut être utilisée pour distinguer les structures de contexte par fichier créées par le même pilote de filtre. Ce paramètre est facultatif.

Valeur de retour

Pointeur vers la première FSRTL_PER_FILE_CONTEXT qui correspond au 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 de fichier, cette routine retourne NULL.

Remarques

FsRtlRemovePerFileContext supprime uniquement la première structure de contexte par fichier correspondante qu’elle trouve. S’il existe des contextes correspondants par fichier supplémentaires, 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 après la suppression du FSRTL_PER_FILE_CONTEXT.

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 à l’intérieur de votre routine FreeCallback . Le système de fichiers supprime les contextes de la liste avant que cette routine soit appelée.

N’utilisez pas cette routine à l’intérieur de votre gestionnaire IRP_CLOSE. Vous ne serez pas averti lorsque le flux est détruit.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
plateforme cible Universel
d’en-tête ntifs.h (include FltKernel.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=APC_LEVEL

Voir aussi

FSRTL_PER_FILE_CONTEXT

FsRtlGetPerFileContextPointer

FsRtlInsertPerFileContext

FsRtlLookupPerFileContext

Per-File contexte de suivi dans un pilote de filtre de système de fichiers hérité