FltGetLowerInstance-Funktion (fltkernel.h)

Die FltGetLowerInstance-Routine gibt einen undurchsichtigen instance Zeiger für den nächsten niedrigeren Minifiltertreiber zurück, instance, falls vorhanden, der unterhalb eines bestimmten Minifiltertreibers instance auf demselben Volume angefügt ist.

Syntax

NTSTATUS FLTAPI FltGetLowerInstance(
  [in]  PFLT_INSTANCE CurrentInstance,
  [out] PFLT_INSTANCE *LowerInstance
);

Parameter

[in] CurrentInstance

Undurchsichtiger instance Zeiger für den Minifiltertreiber instance, für den der niedrigere Minifiltertreiber instance angefordert wird.

[out] LowerInstance

Zeiger auf eine vom Aufrufer zugewiesene Variable, die einen undurchsichtigen Minifiltertreiber empfängt, instance Zeiger für den nächstniedrigen Minifiltertreiber instance. Dieser Parameter ist erforderlich und darf nicht NULL sein.

Rückgabewert

FltGetLowerInstance gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. den folgenden:

Rückgabecode Beschreibung
STATUS_NO_MORE_ENTRIES
Es wurde kein niedrigerer Minifiltertreiber instance gefunden. Dies ist ein Warncode.

Hinweise

Ein instance soll sich unter dem anderen befinden, wenn es in einer niedrigeren Höhe auf dem gleichen Volumen angebracht ist. Der Begriff "Höhe" bezieht sich auf die Position, die ein instance im Minifiltertreiber instance Stapel für ein Volume einnimmt (oder belegen sollte). Je höher die Höhe, desto weiter ist die instance vom Basisdateisystem im Stapel entfernt. Nur ein instance kann in einer bestimmten Höhe auf einem bestimmten Volume angebracht werden.

Die Höhe wird durch eine Höhenzeichenfolge angegeben, bei der es sich um eine gezählte Unicode-Zeichenfolge handelt, die aus einer oder mehreren Dezimalstellen von 0 bis 9 besteht und ein einzelnes Dezimaltrennzeichen enthalten kann. Beispielsweise sind "100,123456" und "03333" gültige Höhenzeichenfolgen.

Die Zeichenfolge "03333" stellt eine höhere Höhe als "100,123456" dar. (Führende und nachfolgende Nullen werden ignoriert.) Anders ausgedrückt: Ein instance dessen Höhe "03333" ist, ist weiter vom Basisdateisystem entfernt als ein instance dessen Höhe "100,123456" ist. Dieser Vergleich ist jedoch nur sinnvoll, wenn beide Instanzen an dasselbe Volume angefügt sind.

FltGetLowerInstance fügt einen Rundownverweis auf den undurchsichtigen instance-Zeiger hinzu, der im LowerInstance-Parameter zurückgegeben wird. Wenn dieser Zeiger nicht mehr benötigt wird, muss der Aufrufer ihn durch Aufrufen von FltObjectDereference freigeben. Daher muss jeder erfolgreiche Aufruf von FltGetLowerInstance durch einen nachfolgenden Aufruf von FltObjectDereference abgeglichen werden.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (fltkernel.h einschließen)
Bibliothek FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Weitere Informationen

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetBottomInstance

FltGetTopInstance

FltGetUpperInstance

FltObjectDereference