Freigeben über


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 der Minifiltertreiberinstanz oder des Legacyfiltertreibers, für den die Informationen angefordert werden.

[in] InformationClass

Typ der Informationen, die für die Minifiltertreiberinstanz oder den Legacyfiltertreiber zurückgegeben werden sollen. 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 eine Minifilterinstanz. Legacyfiltertreiber werden ignoriert.
InstanceFullInformation- Der Puffer, auf den der parameter Buffer verweist, empfängt eine INSTANCE_FULL_INFORMATION Struktur für eine Minifilterinstanz. Legacyfiltertreiber werden ignoriert.
InstancePartialInformation- Der Puffer, auf den der parameter Buffer verweist, empfängt eine INSTANCE_PARTIAL_INFORMATION Struktur für eine Minifilterinstanz. Legacyfiltertreiber werden ignoriert.
InstanceAggregateStandardInformation Der Puffer, auf den der Parameter Buffer verweist, empfängt eine INSTANCE_AGGREGATE_STANDARD_INFORMATION Struktur für eine Minifiltertreiberinstanz oder einen Legacyfiltertreiber.

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

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 eine übereinstimmende Minifilterinstanz gefunden, aber sie wird heruntergerissen. Beachten Sie, dass dieser Rückgabewert nicht für Legacyfiltertreiber gilt, da legacyfiltertreiber nicht entladen werden können.
STATUS_INVALID_PARAMETER
Für den parameter InformationClass 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 Instanz-/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
Das durch VolumeName- angegebene Volume enthält keine Filterinstanzen.

-oder-

Das durch VolumeName- angegebene Volume wird aus dem System entfernt.

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

Bemerkungen

Die Verwendung des Index- Parameters ist einfach eine Möglichkeit für FltEnumerateInstanceInformationByVolumeName, zwischen Minifiltertreiberinstanzen und älteren Filtertreibern in der Instanz-/Filterliste für das Volume auszuwählen, das von VolumeNameangegeben wird. Da sich die Instanzen des Minifiltertreibers in der Instanz-/Filterliste jederzeit ändern können, werden zwei Aufrufe von FltEnumerateInstanceInformationByVolumeName mit demselben Index- und VolumeName- Werten nicht garantiert, dasselbe Ergebnis zurückzugeben.

Diese Routine gibt sowohl Legacyfiltertreiberinformationen als auch Minifilter-Treiberinstanzinformationen zurück, wenn der Wert des InformationClass Parameter InstanceAggregateStandardInformationist.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.
Zielplattform- Universal
Header- fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
IRQL- <= APC_LEVEL

Siehe auch

FltEnumerateInstanceInformationByDeviceObject

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume