Freigeben über


FltGetFilterFromName-Funktion (fltkernel.h)

Die FltGetFilterFromName Routine gibt einen undurchsichtigen Filterzeiger für einen registrierten Minifiltertreiber zurück, dessen Name dem Wert im parameter FilterName entspricht.

Syntax

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

Parameter

[in] FilterName

Zeigen Sie auf eine UNICODE_STRING Struktur, die den Namen des Minifiltertreibers enthält. (Bei dem 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 kann nicht NULL-werden.

Rückgabewert

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

Rückgabecode Beschreibung
STATUS_FLT_DELETING_OBJECT
Es wurde ein passender Minifiltertreiber gefunden, aber er wird heruntergerissen. Dies ist ein Fehlercode.
STATUS_FLT_FILTER_NOT_FOUND
Es wurde kein übereinstimmener Minifiltertreiber gefunden. Dies ist ein Fehlercode.

Bemerkungen

FltGetFilterFromName 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 FltGetFilterFromName mit einem nachfolgenden Aufruf von FltObjectDereferenceabgeglichen werden.

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

Anforderungen

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

Siehe auch

FltObjectDereference-

FltRegisterFilter-

UNICODE_STRING