Partager via


Fonction FltGetStreamContext (fltkernel.h)

La routine FltGetStreamContext récupère un contexte qui a été défini pour un flux de fichiers par un pilote minifilter donné instance.

Syntaxe

NTSTATUS FLTAPI FltGetStreamContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PFILE_OBJECT  FileObject,
  [out] PFLT_CONTEXT  *Context
);

Paramètres

[in] Instance

Pointeur de instance opaque pour le pilote minifilter instance dont le contexte doit être récupéré.

[in] FileObject

Pointeur vers un objet fichier pour le flux.

[out] Context

Pointeur vers une variable allouée par l’appelant qui reçoit l’adresse du contexte. Ce paramètre est obligatoire et ne peut pas être défini sur NULL.

Valeur retournée

FltGetStreamContext retourne STATUS_SUCCESS lorsqu’il retourne correctement le contexte demandé. Sinon, elle retourne une valeur NTSTATUS appropriée, telle que l’une des valeurs suivantes :

Code de retour Description
STATUS_NOT_FOUND Aucun contexte correspondant n’a été trouvé sur ce fichier pour l’instant. Par conséquent, FltMgr a défini Context sur NULL_CONTEXT. Il s’agit d’un code d’erreur.
STATUS_NOT_SUPPORTED Le système de fichiers ne prend pas en charge les contextes par flux pour ce flux de fichiers. Il s’agit d’un code d’erreur.

Remarques

Pour plus d’informations sur les contextes, consultez À propos des contextes de minifiltre.

FltGetStreamContext récupère un contexte qui a été défini pour un flux de fichiers par un pilote minifilter donné instance.

FltGetStreamContext incrémente le nombre de références en fonction du contexte vers lequel pointe le paramètre Context . Lorsque ce pointeur de contexte n’est plus nécessaire, l’appelant doit décrémenter son nombre de références en appelant FltReleaseContext. Ainsi, chaque appel réussi à FltGetStreamContext doit être mis en correspondance par un appel ultérieur à FltReleaseContext.

Pour définir un contexte pour un flux de fichiers, appelez FltSetStreamContext.

Pour allouer un nouveau contexte, appelez FltAllocateContext.

Pour supprimer un contexte de flux, appelez FltDeleteStreamContext ou FltDeleteContext.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Voir aussi

FltAllocateContext

FltDeleteContext

FltDeleteStreamContext

FltReleaseContext

FltSetStreamContext