structure FSRTL_PER_STREAM_CONTEXT (ntifs.h)
La structure FSRTL_PER_STREAM_CONTEXT contient des informations de contexte qu’un pilote de filtre de système de fichiers conserve sur un flux de fichiers.
Syntaxe
typedef struct _FSRTL_PER_STREAM_CONTEXT {
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
PFREE_FUNCTION FreeCallback;
} FSRTL_PER_STREAM_CONTEXT, *PFSRTL_PER_STREAM_CONTEXT;
Membres
Links
Lien pour cette structure dans la liste de toutes les structures de contexte par flux associées au même flux de fichiers. FsRtlInsertPerStreamContext insère ce membre dans la liste de toutes les structures de contexte par flux pour un flux de fichiers. Pour obtenir un pointeur vers le début de la liste à partir d’un objet de fichier, utilisez la macro FsRtlGetPerStreamContextPointer et castez le résultat en pointeur PFSRTL_ADVANCED_FCB_HEADER . Le pointeur de liste est le membre FilterContexts de la structure d’en-tête du bloc de contrôle de fichier avancé (FCB) pour le flux de fichiers.
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 flux. Le format de cette variable est spécifique au pilote de filtre. Les enregistreurs de filtres doivent choisir une valeur à la fois significative et pratique, telle que l’adresse d’un objet de pilote ou d’un objet d’appareil. Les pilotes de filtre doivent définir ce membre sur une valeur non NULL .
InstanceId
Pointeur vers une variable allouée par un pilote de filtre qui peut être utilisée pour distinguer les structures de contexte par flux créées par le même pilote de filtre. Le format de cette variable est spécifique au pilote de filtre. Les rédacteurs de filtres doivent choisir une valeur à la fois significative et pratique, telle que l’adresse de l’objet de contexte de flux de flux pour le flux de fichiers. (Pour obtenir cette adresse à partir d’un objet de fichier, utilisez la macro FsRtlGetPerStreamContextPointer .)
Ce membre est facultatif et peut avoir la valeur NULL.
FreeCallback
Pointeur vers une routine de rappel qui libère la structure de contexte par flux. Cette routine et ses paramètres sont définis comme suit :
VOID
(*PFREE_FUNCTION) (
IN PVOID Buffer
);
Buffer
Pointeur vers la structure FSRTL_PER_STREAM_CONTEXT vers free.
Remarques
Les pilotes de filtre de système de fichiers peuvent utiliser une structure FSRTL_PER_STREAM_CONTEXT pour gérer les informations de contexte d’un flux de fichiers. Cette structure peut être utilisée telle qu’elle est ou incorporée dans une structure de contexte par flux définie par le pilote.
Lorsqu’un système de fichiers supprime l’objet de contexte de flux pour un flux de fichiers, il doit appeler FsRtlTeardownPerStreamContexts, qui à son tour appelle les routines FreeCallback de toutes les structures de contexte par flux associées au flux de fichiers.
La macro FsRtlSupportsPerStreamContexts détermine si un système de fichiers prend en charge les contextes par flux pour un flux de fichiers donné.
BOOLEAN FsRtlSupportsPerStreamContexts(
[in] PFILE_OBJECT FileObject
);
Paramètres
FileObject [in]
PFILE_OBJECT
Pointeur vers un objet de fichier pour le flux de fichiers.
Valeur retournée
BOOLEAN
La macro FsRtlSupportsPerStreamContexts retourne TRUE si le système de fichiers prend en charge les contextes par flux pour le flux de fichiers, FALSE sinon.
Les pilotes de filtre de système de fichiers appellent FsRtlSupportsPerStreamContexts pour déterminer si le système de fichiers sous-jacent prend en charge les contextes par flux pour le flux de fichiers représenté par un objet de fichier donné. Notez qu’un système de fichiers peut prendre en charge des contextes par flux pour certains types de fichiers, mais pas pour d’autres. Par exemple, NTFS et FAT ne prennent pas actuellement en charge les contextes par flux pour la pagination des fichiers.
Pour plus d’informations, consultez Suivi Per-Stream contexte dans un pilote de filtre de système de fichiers hérité.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Cette structure est Windows XP |
En-tête | ntifs.h (inclure Ntifs.h) |
Voir aussi
FsRtlGetPerStreamContextPointer
FsRtlTeardownPerStreamContexts
Suivi Per-Stream contexte dans un pilote de filtre de système de fichiers hérité
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour