structure FSRTL_PER_FILE_CONTEXT (ntifs.h)
Un pilote de filtre de système de fichiers hérité peut utiliser une structure de FSRTL_PER_FILE_CONTEXT pour associer des informations de contexte spécifiques au pilote à un fichier ouvert.
Syntaxe
typedef struct _FSRTL_PER_FILE_CONTEXT {
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
PFREE_FUNCTION FreeCallback;
} FSRTL_PER_FILE_CONTEXT, *PFSRTL_PER_FILE_CONTEXT;
Membres
Links
Lien pour cette structure dans la liste de toutes les structures de contexte par fichier associées au même fichier. FsRtlInsertPerFileContext insère ce membre dans la liste de toutes les structures de contexte par fichier pour un fichier.
OwnerId
Pointeur vers une mémoire tampon allouée par un pilote de filtre qui identifie de manière unique le propriétaire de la structure de contexte par fichier. Le format de cette variable est spécifique au pilote de filtre. Les pilotes de filtre doivent définir ce membre sur une valeur NULL non
InstanceId
Pointeur vers une mémoire tampon 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. Le format de cette variable est spécifique au pilote de filtre. Les pilotes de filtre peuvent définir ce membre sur NULL.
FreeCallback
Pointeur vers une routine de rappel qui libère la structure de contexte par fichier. Les pilotes de filtre doivent définir ce membre sur une valeur NULL non
Remarques
Pour associer des informations de contexte à un fichier, un pilote de filtre hérité alloue d’abord une structure de FSRTL_PER_FILE_CONTEXT et l’initialise à l’aide de FsRtlInsertPerFileContext. Le pilote utilise ensuite FsRtlInsertPerFileContext pour associer cet objet FSRTL_PER_FILE_CONTEXT au fichier. Lorsque le système supprime l’objet de contexte de fichier d’un fichier, il appelle FsRtlTeardownPerFileContexts qui appelle la routine FreeCallback spécifiée dans l’objet FSRTL_PER_FILE_CONTEXT. Ce rappel doit libérer l’objet de contexte spécifique au pilote.
Les enregistreurs de filtres doivent choisir un OwnerID valeur qui est à la fois significative et pratique, telle que l’adresse d’un objet de pilote ou d’un objet de périphérique.
Les enregistreurs de filtres doivent choisir une valeur InstanceID qui est à la fois significative et pratique, telle que l’adresse de l’objet de contexte de fichier pour le fichier. Utilisez la macro FsRtlGetPerFileContextPointer pour récupérer cette adresse à partir d’un objet de fichier.
La structure FSRTL_PER_FILE_CONTEXT peut être utilisée as-isou incorporée dans une structure de contexte par fichier définie par pilote.
La structure FSRTL_PER_FILE_CONTEXT peut être allouée à partir d’un pool paginé ou non paginé.
La macro FsRtlInitPerFileContext initialise une structure FSRTL_PER_FILE_CONTEXT.
Paramètres
FileContext
FSRTL_PER_FILE_CONTEXT
Objet FSRTL_PER_FILE_CONTEXT à initialiser.
OwnerId
PVOID
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. Le format est spécifique au pilote de filtre. Ce paramètre doit avoir une valeur NULL non
InstanceId
PVOID
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. Le format est spécifique au pilote de filtre. Ce paramètre doit avoir une valeur NULL non
freeCallback
PFREE_FUNCTION
Pointeur vers une routine de rappel qui libère la structure de contexte par fichier.
Valeur de retour
VOID
Aucun.
Cette macro doit être utilisée avant d’appeler FsRtlInsertPerFileContext.
Les enregistreurs de filtres doivent choisir un OwnerID valeur qui est à la fois significative et pratique, telle que l’adresse d’un objet de pilote ou d’un objet de périphérique.
Les enregistreurs de filtres doivent utiliser une valeur InstanceID qui est à la fois significative et pratique, telle que l’adresse de l’objet de contexte de fichier pour le fichier. Utilisez la macro FsRtlGetPerFileContextPointer pour récupérer cette adresse à partir d’un objet de fichier.
Pour plus d’informations sur l’utilisation et la création d’objets de contexte, consultez Tracking Per-File Context in a Legacy File System Filter Driver.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir deWindows Vista. |
d’en-tête | ntifs.h (include Fltkernel.h, Ntifs.h) |
Voir aussi
Per-File contexte de suivi dans un pilote de filtre de système de fichiers hérité