Freigeben über


FltGetFilterFromInstance-Funktion (fltkernel.h)

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

Syntax

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

Parameter

[in] Instance

Undurchsichtiger Instanzzeiger für die Instanz.

[out] RetFilter

Zeiger auf eine vom Aufrufer zugewiesene Variable, die einen undurchsichtigen Filterzeiger für den Minifiltertreiber empfängt. Dieser Parameter ist erforderlich und kann nicht NULL-werden.

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 heruntergerissen. Dies ist ein Fehlercode.

Bemerkungen

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 freigeben, indem FltObjectDereferenceaufgerufen wird. Daher muss jeder erfolgreiche Aufruf von FltGetFilterFromInstance mit einem nachfolgenden Aufruf von FltObjectDereferenceabgeglichen werden.

Rufen Sie FltGetVolumeFromInstanceauf, um einen undurchsichtigen Volumezeiger für das Volume abzurufen, an das eine bestimmte Minifiltertreiberinstanz angefügt ist.

Rufen Sie FltEnumerateInstanceInformationByFilterauf, um alle Instanzen eines bestimmten Minifiltertreibers aufzählen zu können.

Rufen Sie FltEnumerateInstancesauf, um Instanzen aller Minifiltertreiber auf allen Volumes auflisten zu können.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
DLL- Fltmgr.sys
IRQL- <= APC_LEVEL

Siehe auch

FltEnumerateInstanceInformationByFilter

FltEnumerateInstances

FltGetVolumeFromInstance

FltObjectDereference-