FltEnumerateVolumeInformation-Funktion (fltkernel.h)

Die FltEnumerateVolumeInformation-Routine stellt Informationen zu Volumes bereit, die dem Filter-Manager bekannt sind.

Syntax

NTSTATUS FLTAPI FltEnumerateVolumeInformation(
  [in]  PFLT_FILTER                     Filter,
  [in]  ULONG                           Index,
  [in]  FILTER_VOLUME_INFORMATION_CLASS InformationClass,
  [out] PVOID                           Buffer,
  [in]  ULONG                           BufferSize,
  [out] PULONG                          BytesReturned
);

Parameter

[in] Filter

Undurchsichtiger Filterzeiger für den Minifiltertreiber. Dieser Zeiger identifiziert den Minifiltertreiber eindeutig und bleibt konstant, solange der Minifiltertreiber geladen wird.

[in] Index

Nullbasierter Index des Volumes, für das die Informationen angefordert werden.

[in] InformationClass

Typ der angeforderten Informationen. Dieser Parameter kann einen der folgenden Werte aufweisen.

Wert Bedeutung
FilterVolumeBasicInformation Der Buffer-Parameter empfängt eine FILTER_VOLUME_BASIC_INFORMATION-Struktur für das Volume.
FilterVolumeStandardInformation Der Buffer-Parameter empfängt eine FILTER_VOLUME_STANDARD_INFORMATION-Struktur für das Volume. 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 FltEnumerateVolumeInformation 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

FltEnumerateVolumeInformation gibt STATUS_SUCCESS oder einen entsprechenden 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 ein übereinstimmende Volume gefunden, das jedoch abgerissen wird. Dies ist ein Fehlercode.
STATUS_INVALID_PARAMETER
Für den InformationClass-Parameter wurde ein ungültiger Wert angegeben. Wenn filterVolumeStandardInformation beispielsweise unter 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 globalen Liste der Volumes. Dies ist ein Warncode.

Hinweise

Die Verwendung des Index-Parameters ist einfach eine Möglichkeit für die FltEnumerateVolumeInformation-Routine , zwischen Volumes in der globalen Liste der Volumes des Filter-Managers auszuwählen. Zwei Aufrufe von FltEnumerateVolumeInformation mit demselben Wert des Index-Parameters geben nicht unbedingt das gleiche Ergebnis zurück, da Volumes jederzeit eingebunden oder aufgehoben werden können.

Wenn FltEnumerateVolumeInformation zum Erstellen einer Liste von Volumeinformationsstrukturen verwendet wird, ist es möglich, dass mindestens zwei dieser Strukturen identische Volumenamen enthalten. Weitere Informationen finden Sie unter Grundlegendes zu Volumeaufzählungen mit doppelten Volumenamen.

Rufen Sie FltEnumerateFilters auf, um alle registrierten Minifiltertreiber aufzulisten.

Rufen Sie FltEnumerateVolumes auf, um alle Volumes aufzulisten, die dem Filter-Manager bekannt sind.

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 Instanzen eines bestimmten Minifiltertreibers aufzulisten, rufen Sie FltEnumerateInstanceInformationByFilter auf.

Um alle Minifiltertreiberinstanzen auf einem bestimmten Volume aufzulisten, rufen Sie FltEnumerateInstanceInformationByVolume auf.

Um Instanzen aller Minifiltertreiber auf allen Volumes aufzulisten, rufen Sie FltEnumerateInstances auf.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (include FltKernel.h)
Bibliothek FltMgr.lib
IRQL <= APC_LEVEL

Weitere Informationen

FILTER_VOLUME_BASIC_INFORMATION

FILTER_VOLUME_STANDARD_INFORMATION

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltEnumerateInstances

FltEnumerateVolumes

FltGetFilterInformation