FltGetUpperInstance, fonction (fltkernel.h)
La routine FltGetUpperInstance retourne un pointeur d’instance opaque pour l’instance de pilote minifilter supérieure suivante, s’il en existe un, qui est attaché au-dessus d’une instance de pilote minifilter donnée sur le même volume.
Syntaxe
NTSTATUS FLTAPI FltGetUpperInstance(
[in] PFLT_INSTANCE CurrentInstance,
[out] PFLT_INSTANCE *UpperInstance
);
Paramètres
[in] CurrentInstance
Pointeur d’instance opaque pour l’instance pour laquelle l’instance supérieure suivante est demandée.
[out] UpperInstance
Pointeur vers une variable allouée par l’appelant qui reçoit un pointeur d’instance opaque pour l’instance supérieure suivante. Ce paramètre est obligatoire et ne peut pas être NULL.
Valeur de retour
FltGetUpperInstance retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Retourner le code | Description |
---|---|
|
Aucune instance plus élevée n’a été trouvée. Il s’agit d’un code d’avertissement. |
Remarques
Une instance est dite ci-dessus 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’une instance occupe (ou doit occuper) 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 plusieurs chiffres décimaux dans la plage de 0 à 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.
FltGetUpperInstance ajoute une référence d’exécution au pointeur d’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.
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 |