FltEnumerateInstanceInformationByVolume-Funktion (fltkernel.h)
Die FltEnumerateInstanceInformationByVolume-Routine stellt Informationen zu Minifiltertreiberinstanzen und Legacyfiltertreibern (nur Windows Vista) bereit, die an ein bestimmtes Volume angefügt sind.
Syntax
NTSTATUS FLTAPI FltEnumerateInstanceInformationByVolume(
[in] PFLT_VOLUME Volume,
[in] ULONG Index,
[in] INSTANCE_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Parameter
[in] Volume
Undurchsichtiger Zeiger für das Volume.
[in] Index
Nullbasierter Index des Minifiltertreibers instance oder Legacyfiltertreibers, für den die Informationen angefordert werden.
[in] InformationClass
Typ der Informationen, die für den Minifiltertreiber instance oder Legacyfiltertreiber zurückgegeben werden sollen. 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 einen Minifilter instance. Ältere Filtertreiber werden ignoriert. |
InstanceFullInformation | Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_FULL_INFORMATION-Struktur für einen Minifilter instance. Ältere Filtertreiber werden ignoriert. |
InstancePartialInformation | Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_PARTIAL_INFORMATION-Struktur für einen Minifilter instance. Ältere Filtertreiber werden ignoriert. |
InstanceAggregateStandardInformation | Der Puffer, auf den der Buffer-Parameter verweist, empfängt eine INSTANCE_AGGREGATE_STANDARD_INFORMATION-Struktur für einen Minifiltertreiber instance oder Legacyfiltertreiber. 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 Byte, auf den der Buffer-Parameter zeigt. Der Aufrufer sollte diesen Parameter entsprechend dem angegebenen InformationClass-Wert festlegen.
[out] BytesReturned
Zeiger auf eine vom Aufrufer zugeordnete Variable, die die Anzahl der Bytes empfängt, die im Puffer zurückgegeben werden, auf den Buffer verweist. Wenn der Eingabewert von BufferSize zu klein ist, gibt FltEnumerateInstanceInformationByVolume 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
FltEnumerateInstanceInformationByVolume gibt STATUS_SUCCESS oder einen geeigneten 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 ein passender Minifilter instance gefunden, der jedoch abgerissen wird. Dies ist ein Fehlercode. Beachten Sie, dass dieser Rückgabewert nicht für Ältere Filtertreiber gilt, da ältere Filtertreiber nicht entladen werden können. |
|
Für den InformationClass-Parameter wurde ein ungültiger Wert angegeben. Wenn instanceAggregateStandardInformation beispielsweise auf einem Betriebssystem vor Windows Vista angegeben ist, gibt die Routine STATUS_INVALID_PARAMETER zurück. Dies ist ein Fehlercode. |
|
Es gibt keine weiteren Einträge in der instance-/Filterliste des Volumes. Dies ist ein Warncode. |
Hinweise
Die Verwendung des Index-Parameters ist einfach eine Möglichkeit für FltEnumerateInstanceInformationByVolume, zwischen Minifiltertreiberinstanzen und Legacyfiltertreibern in der instance-/Filterliste für das volume angegebene Volume auszuwählen. Da sich die Minifiltertreiberinstanzen in der instance-/Filterliste jederzeit ändern können, werden zwei Aufrufe von FltEnumerateInstanceInformationByVolume mit denselben Index- und Volume-Werten nicht garantiert das gleiche Ergebnis zurückgeben.
Ab Windows Vista kann diese Routine sowohl Legacyfiltertreiberinformationen als auch Minifiltertreiberinformationen instance Informationen zurückgeben, wenn der Wert des InformationClass-ParametersInstanceAggregateStandardInformation lautet. Bei früheren Betriebssystemen kann diese Routine keine Legacyfilterinformationen zurückgeben, da die INSTANCE_AGGREGATE_STANDARD_INFORMATION-Struktur nicht verfügbar ist.
Um Filterinformationen für alle registrierten Minifiltertreiber aufzulisten, rufen Sie FltEnumerateFilterInformation auf.
Um Filterinformationen für einen bestimmten Minifiltertreiber abzurufen, rufen Sie FltGetFilterInformation auf.
Um alle Instanzen eines bestimmten Minifiltertreibers aufzulisten, rufen Sie FltEnumerateInstanceInformationByFilter 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 (fltKernel.h einschließen) |
Bibliothek | FltMgr.lib |
IRQL | <= APC_LEVEL |
Weitere Informationen
FltEnumerateInstanceInformationByFilter