Freigeben über


FltGetFilterFromName-Funktion (fltkernel.h)

Die FltGetFilterFromName-Routine gibt einen undurchsichtigen Filterzeiger für einen registrierten Minifiltertreiber zurück, dessen Name mit dem Wert im FilterName-Parameter übereinstimmt.

Syntax

NTSTATUS FLTAPI FltGetFilterFromName(
  [in]  PCUNICODE_STRING FilterName,
  [out] PFLT_FILTER      *RetFilter
);

Parameter

[in] FilterName

Zeiger auf eine UNICODE_STRING-Struktur , die den Namen des Minifiltertreibers enthält. (Beim Namensvergleich wird die Groß-/Kleinschreibung nicht beachtet.)

[out] RetFilter

Zeiger auf eine vom Aufrufer zugewiesene Variable, die einen undurchsichtigen Filterzeiger für den Minifiltertreiber empfängt, dessen Name mit dem Namen im FilterName-Parameter übereinstimmt. Dieser Parameter ist erforderlich und darf nicht NULL sein.

Rückgabewert

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

Rückgabecode Beschreibung
STATUS_FLT_DELETING_OBJECT
Es wurde ein passender Minifiltertreiber gefunden, der jedoch abgerissen wird. Dies ist ein Fehlercode.
STATUS_FLT_FILTER_NOT_FOUND
Es wurde kein passender Minifiltertreiber gefunden. Dies ist ein Fehlercode.

Hinweise

FltGetFilterFromName fügt einen Rundownverweis auf den undurchsichtigen Filterzeiger hinzu, der im RetFilter-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 FltGetFilterFromName durch einen nachfolgenden Aufruf von FltObjectDereference abgeglichen werden.

Um einen Minifiltertreiber beim Filter-Manager zu registrieren, rufen Sie FltRegisterFilter auf.

Anforderungen

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

Weitere Informationen

FltObjectDereference

FltRegisterFilter

UNICODE_STRING