Partager via


FltGetTopInstance, fonction (fltkernel.h)

La routine FltGetTopInstance retourne un pointeur d’instance opaque pour l’instance de pilote minifilter attachée en haut de la pile d’instances pour un volume donné.

Syntaxe

NTSTATUS FLTAPI FltGetTopInstance(
  [in]  PFLT_VOLUME   Volume,
  [out] PFLT_INSTANCE *Instance
);

Paramètres

[in] Volume

Pointeur opaque pour le volume.

[out] Instance

Pointeur vers une variable allouée par l’appelant qui reçoit un pointeur d’instance opaque pour l’instance inférieure de ce volume. Ce paramètre est obligatoire et ne peut pas être NULL.

Valeur de retour

FltGetTopInstance retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :

Retourner le code Description
STATUS_NO_MORE_ENTRIES
Aucune instance correspondante n’a été trouvée. Il s’agit d’un code d’avertissement.

Remarques

Une instance est dite à l'supérieure de la pile d’instances du pilote minifilter si son altitude est supérieure à celle de toutes les autres instances attachées au même volume. Le terme « altitude » fait référence à la position qu’une instance occupe dans la pile d’instances de pilote minifilter pour un volume. Plus l’altitude est élevée, plus l’instance provient du système de fichiers de base dans la pile. Une seule instance peut être attachée à une altitude donnée sur un volume donné.

L’altitude est spécifiée par une chaîne d’altitude , qui est une chaîne Unicode comptée composée d’un ou de plusieurs chiffres décimaux compris entre 0 et 9, et peut inclure un point décimal unique. Par exemple, « 100.123456 » et « 03333 » sont des chaînes d’altitude valides.

La chaîne « 03333 » représente une altitude supérieure à « 100,123456 ». (Les zéros de début et de fin sont ignorés.) En d’autres termes, une instance dont l’altitude est « 03333 » est plus éloignée du système de fichiers de base qu’une instance dont l’altitude est « 100,123456 ». Toutefois, cette comparaison n’est significative que si les deux instances sont attachées au même volume.

FltGetTopInstance ajoute une référence d’exécution au pointeur d’instance opaque retourné dans le paramètre instance. Lorsque ce pointeur n’est plus nécessaire, l’appelant doit le libérer en appelant FltObjectDereference. Ainsi, chaque appel réussi à FltGetTopInstance doit être mis en correspondance par un appel ultérieur à FltObjectDereference.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Voir aussi

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetBottomInstance

FltGetLowerInstance

FltGetUpperInstance

FltObjectDereference