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 Instanz, 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 parameter Buffer verweist, empfängt eine INSTANCE_BASIC_INFORMATION Struktur für die Instanz.
InstanceFullInformation- Der Puffer, auf den der parameter Buffer verweist, empfängt eine INSTANCE_FULL_INFORMATION Struktur für die Instanz.
InstancePartialInformation- Der Puffer, auf den der parameter Buffer verweist, empfängt eine INSTANCE_PARTIAL_INFORMATION Struktur für die Instanz.
InstanceAggregateStandardInformation Der Puffer, auf den der parameter Buffer verweist, empfängt eine INSTANCE_AGGREGATE_STANDARD_INFORMATION Struktur für die Instanz. Der LegacyFilter- Teil der Struktur wird nicht verwendet. Diese Struktur ist ab Windows Vista verfügbar.

[out] Buffer

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

[in] BufferSize

Größe des Puffers, auf den der Buffer Parameter verweist, in Byte. Der Aufrufer sollte diesen Parameter gemäß dem angegebenen InformationClass-wert festlegen.

[out] BytesReturned

Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Anzahl der im Puffer zurückgegebenen Bytes empfängt, auf die 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 kann nicht NULL-werden.

Rückgabewert

FltEnumerateInstanceInformationByFilter gibt STATUS_SUCCESS oder einen geeigneten 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 Instanz gefunden, aber sie wird heruntergerissen. Dies ist ein Fehlercode.
STATUS_INVALID_PARAMETER
Für den parameter InformationClass wurde ein ungültiger Wert angegeben. Wenn beispielsweise FilterAggregateStandardInformation auf 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 Instanzliste des Minifiltertreibers. Dies ist ein Warncode.

Bemerkungen

Der Index Parameter ist einfach eine Möglichkeit für FltEnumerateInstanceInformationByFilter , zwischen Instanzen in der Instanzliste für den durch Filterangegebenen Minifiltertreiber auszuwählen. Da sich die Minifiltertreiberinstanzen in der Instanzliste jederzeit ändern können, werden zwei Aufrufe von FltEnumerateInstanceInformationByFilter mit demselben Index- und Filter- Werten nicht garantiert dasselbe Ergebnis zurückgeben.

Rufen Sie zum Aufzählen aller registrierten Minifiltertreiber FltEnumerateFiltersauf.

Rufen Sie FltEnumerateFilterInformationauf, um Filterinformationen für alle registrierten Minifiltertreiber auflisten zu können.

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

Rufen Sie FltEnumerateInstanceInformationByVolumeauf, um alle Minifiltertreiberinstanzen auf einem bestimmten Volume aufzurufen.

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

Rufen Sie FltEnumerateVolumesauf, um alle Volumes aufzählen zu können, die dem Filter-Manager bekannt sind.

.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- fltkernel.h (include FltKernel.h)
Library FltMgr.lib
IRQL- <= APC_LEVEL

Siehe auch

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateVolumes

FltGetFilterInformation

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION