Fonction FltGetUpperInstance (fltkernel.h)

La routine FltGetUpperInstance retourne un pointeur de instance opaque pour le pilote de minifiltre supérieur suivant instance, le cas échéant, attaché au-dessus d’un pilote de minifiltre donné instance sur le même volume.

Syntaxe

NTSTATUS FLTAPI FltGetUpperInstance(
  [in]  PFLT_INSTANCE CurrentInstance,
  [out] PFLT_INSTANCE *UpperInstance
);

Paramètres

[in] CurrentInstance

Pointeur de instance opaque pour le instance pour lequel le instance supérieur suivant est demandé.

[out] UpperInstance

Pointeur vers une variable allouée par l’appelant qui reçoit un pointeur d’instance opaque pour le instance supérieur suivant. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

Valeur retournée

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

Code de retour Description
STATUS_NO_MORE_ENTRIES
Aucune instance supérieure n’a été trouvée. Il s’agit d’un code d’avertissement.

Remarques

Une instance est dite supérieure à une autre si elle est attachée à une altitude plus élevée sur le même volume. Le terme « altitude » fait référence à la position qu’un instance occupe (ou doit occuper) dans le pilote minifiltre instance pile pour un volume. Plus l’altitude est élevée, plus le instance est éloigné du système de fichiers de base dans la pile. Un seul instance peut être attaché à 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 plusieurs chiffres décimaux dans la plage de 0 à 9, et elle peut inclure une seule virgule décimale. 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, un instance dont l’altitude est « 03333 » est plus éloigné du système de fichiers de base qu’un 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.

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

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

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetBottomInstance

FltGetLowerInstance

FltGetTopInstance

FltObjectDereference