FltGetFilterFromInstance-Funktion (fltkernel.h)

Die FltGetFilterFromInstance-Routine gibt einen undurchsichtigen Filterzeiger für den Minifiltertreiber zurück, der die angegebene instance erstellt hat.

Syntax

NTSTATUS FLTAPI FltGetFilterFromInstance(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_FILTER   *RetFilter
);

Parameter

[in] Instance

Undurchsichtiger instance Zeiger für die instance.

[out] RetFilter

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

Rückgabewert

FltGetFilterFromInstance gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert wie den folgenden zurück:

Rückgabecode Beschreibung
STATUS_FLT_DELETING_OBJECT
Der Minifiltertreiber wird abgerissen. Dies ist ein Fehlercode.

Hinweise

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

Um einen undurchsichtigen Volumezeiger für das Volume abzurufen, an das ein bestimmter Minifiltertreiber instance angefügt ist, rufen Sie FltGetVolumeFromInstance auf.

Um alle Instanzen eines bestimmten Minifiltertreibers aufzulisten, rufen Sie FltEnumerateInstanceInformationByFilter auf.

Um Instanzen aller Minifiltertreiber auf allen Volumes aufzulisten, rufen Sie FltEnumerateInstances auf.

Anforderungen

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

Weitere Informationen

FltEnumerateInstanceInformationByFilter

FltEnumerateInstances

FltGetVolumeFromInstance

FltObjectDereference