FltEnumerateInstanceInformationByVolumeName-Funktion (fltkernel.h)

Die FltEnumerateInstanceInformationByVolumeName-Routine stellt Informationen zu Minifiltertreiberinstanzen und Legacyfiltertreibern bereit, die mit dem angegebenen Namen an das Volume angefügt sind.

Syntax

NTSTATUS FLTAPI FltEnumerateInstanceInformationByVolumeName(
  [in]  PUNICODE_STRING            VolumeName,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

Parameter

[in] VolumeName

Der Name des Volumes, für das Filterinstanzen aufgelistet werden sollen.

[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.

[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 FltEnumerateInstanceInformationByVolumeNameSTATUS_BUFFER_TOO_SMALL zurück und legt diese Variable auf die Anzahl von Bytes fest, die zum Speichern der angeforderten Informationen erforderlich sind. Dieser Parameter ist erforderlich und darf nicht NULL sein.

Rückgabewert

FltEnumerateInstanceInformationByVolumeName 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.
STATUS_FLT_DELETING_OBJECT
Es wurde ein passender Minifilter instance gefunden, der jedoch abgerissen wird. Beachten Sie, dass dieser Rückgabewert nicht für Ältere Filtertreiber gilt, da ältere Filtertreiber nicht entladen werden können.
STATUS_INVALID_PARAMETER
Für den InformationClass-Parameter wurde ein ungültiger Wert angegeben.

Oder

VolumeName enthält einen ungültigen Volumenamen.

STATUS_NO_MORE_ENTRIES
Es gibt keine weiteren Einträge in der instance-/Filterliste des Volumes.
STATUS_OBJECT_NAME_NOT_FOUND
Das in VolumeName angegebene Volume ist nicht vorhanden.
STATUS_OBJECT_PATH_NOT_FOUND
Der Pfad für das in VolumeName angegebene Volume ist nicht vorhanden.
STATUS_FLT_VOLUME_NOT_FOUND
Auf dem durch VolumeName angegebenen Volume sind keine Filterinstanzen angefügt.

Oder

Das durch VolumeName angegebene Volume wird aus dem System entfernt.

STATUS_FLT_INTERNAL_ERROR
Das durch VolumeName angegebene Volume wurde registriert, verfügt aber nicht über angefügte Filterinstanzen.

Hinweise

Die Verwendung des Index-Parameters ist einfach eine Möglichkeit für FltEnumerateInstanceInformationByVolumeName, zwischen Minifiltertreiberinstanzen und Legacyfiltertreibern in der instance-/Filterliste für das durch VolumeName angegebene Volume auszuwählen. Da sich die Minifiltertreiberinstanzen in der instance-/Filterliste jederzeit ändern können, werden zwei Aufrufe von FltEnumerateInstanceInformationByVolumeName mit denselben Index- und VolumeName-Werten nicht garantiert das gleiche Ergebnis zurückgeben.

Diese Routine gibt sowohl Legacyfiltertreiberinformationen als auch Minifiltertreiberinformationen instance Informationen zurück, wenn der Wert des InformationClass-ParametersInstanceAggregateStandardInformation ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 8.
Zielplattform Universell
Header fltkernel.h (fltkernel.h einschließen)
Bibliothek FltMgr.lib
IRQL <= APC_LEVEL

Weitere Informationen

FltEnumerateInstanceInformationByDeviceObject

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume