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 |
---|---|
|
Der Puffer, auf den der Buffer-Parameter verweist, ist nicht groß genug, um die angeforderten Informationen zu speichern. Dies ist ein Fehlercode. |
|
Es wurde eine übereinstimmende instance gefunden, die jedoch abgerissen wird. Dies ist ein Fehlercode. |
|
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. |
|
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
FltEnumerateInstanceInformationByVolume