Freigeben über


FltEnumerateInstanceInformationByFilter-Funktion (fltkernel.h)

Die FltEnumerateInstanceInformationByFilter-Routine stellt Informationen zu Instanzen eines bestimmten Minifiltertreibers bereit.

Syntax

NTSTATUS FLTAPI FltEnumerateInstanceInformationByFilter(
  [in]  PFLT_FILTER                Filter,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

Parameter

[in] Filter

Undurchsichtiger Filterzeiger für den Aufrufer.

[in] Index

Nullbasierter Index der instance, für die die Informationen angefordert werden.

[in] InformationClass

Typ der angeforderten Informationen. Dieser Parameter kann einen der folgenden Werte aufweisen.

Wert Bedeutung
InstanceBasicInformation Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_BASIC_INFORMATION-Struktur für die instance.
InstanceFullInformation Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_FULL_INFORMATION-Struktur für die instance.
InstancePartialInformation Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_PARTIAL_INFORMATION-Struktur für die instance.
InstanceAggregateStandardInformation Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_AGGREGATE_STANDARD_INFORMATION-Struktur für die instance. Der LegacyFilter-Teil der Struktur wird nicht verwendet. Diese Struktur ist ab Windows Vista verfügbar.

[out] Buffer

Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die angeforderten Informationen empfängt. Der Typ der im Puffer zurückgegebenen Informationen wird durch den InformationClass-Parameter definiert.

[in] BufferSize

Größe des Puffers in Bytes, auf den der Buffer-Parameter verweist. Der Aufrufer sollte diesen Parameter entsprechend dem angegebenen InformationClass-Wert festlegen.

[out] BytesReturned

Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Anzahl von Bytes empfängt, die im Puffer zurückgegeben werden, auf den Buffer verweist. Wenn der Eingabewert von BufferSize zu klein ist, gibt FltEnumerateInstanceInformationByFilter STATUS_BUFFER_TOO_SMALL zurück und legt diese Variable auf die Anzahl der Bytes fest, die zum Speichern der angeforderten Informationen erforderlich sind. Dieser Parameter ist erforderlich und darf nicht NULL sein.

Rückgabewert

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

Rückgabecode Beschreibung
STATUS_BUFFER_TOO_SMALL
Der Puffer, auf den der Buffer-Parameter verweist, ist nicht groß genug, um die angeforderten Informationen zu speichern. Dies ist ein Fehlercode.
STATUS_FLT_DELETING_OBJECT
Es wurde eine übereinstimmende instance gefunden, die jedoch abgerissen wird. Dies ist ein Fehlercode.
STATUS_INVALID_PARAMETER
Für den InformationClass-Parameter wurde ein ungültiger Wert angegeben. Wenn FilterAggregateStandardInformation beispielsweise unter einem Betriebssystem vor Windows Vista angegeben wird, gibt die Routine STATUS_INVALID_PARAMETER zurück. Dies ist ein Fehlercode.
STATUS_NO_MORE_ENTRIES
Es gibt keine weiteren Einträge in der liste der instance des Minifiltertreibers. Dies ist ein Warncode.

Hinweise

Der Index-Parameter ist einfach eine Möglichkeit für FltEnumerateInstanceInformationByFilter, zwischen Instanzen in der liste instance für den durch Filter angegebenen Minifiltertreiber auszuwählen. Da die Minifiltertreiberinstanzen in der liste instance jederzeit geändert werden können, wird nicht garantiert, dass zwei Aufrufe von FltEnumerateInstanceInformationByFilter mit denselben Index- und Filterwerten das gleiche Ergebnis zurückgeben.

Rufen Sie FltEnumerateFilters auf, um alle registrierten Minifiltertreiber aufzulisten.

Um Filterinformationen für alle registrierten Minifiltertreiber aufzulisten, rufen Sie FltEnumerateFilterInformation auf.

Rufen Sie FltGetFilterInformation auf, um Filterinformationen für einen bestimmten Minifiltertreiber abzurufen.

Um alle Minifiltertreiberinstanzen auf einem bestimmten Volume aufzulisten, rufen Sie FltEnumerateInstanceInformationByVolume auf.

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

Um alle Volumes aufzulisten, die dem Filter-Manager bekannt sind, rufen Sie FltEnumerateVolumes auf.

.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (include FltKernel.h)
Bibliothek FltMgr.lib
IRQL <= APC_LEVEL

Weitere Informationen

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateVolumes

FltGetFilterInformation

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION