Freigeben über


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 parameter Buffer empfängt eine FILTER_VOLUME_BASIC_INFORMATION Struktur für das Volume.
FilterVolumeStandardInformation Der parameter Buffer empfängt eine FILTER_VOLUME_STANDARD_INFORMATION Struktur für das Volume. Diese Struktur ist ab Windows Vista verfügbar.

[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 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 kann nicht NULL-werden.

Rückgabewert

FltEnumerateVolumeInformation 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. Dies ist ein Fehlercode.
STATUS_FLT_DELETING_OBJECT
Es wurde ein übereinstimmende Volume gefunden, aber es wird heruntergerissen. Dies ist ein Fehlercode.
STATUS_INVALID_PARAMETER
Für den parameter InformationClass wurde ein ungültiger Wert angegeben. Wenn z. B. FilterVolumeStandardInformation auf 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.

Bemerkungen

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 Parameters Index geben nicht unbedingt dasselbe Ergebnis zurück, da Volumes jederzeit bereitgestellt oder aufgehoben werden können.

Wenn FltEnumerateVolumeInformation zum Erstellen einer Liste von Volumeinformationsstrukturen verwendet wird, ist es möglich, dass zwei oder mehr dieser Strukturen identische Volumenamen enthalten. Weitere Informationen finden Sie unter Understanding Volume Enumerations with Duplicate Volume Names.

Rufen Sie zum Aufzählen aller registrierten Minifiltertreiber FltEnumerateFiltersauf.

Rufen Sie FltEnumerateVolumesauf, um alle Volumes aufzurufen, die dem Filter-Manager bekannt sind.

Rufen Sie FltEnumerateFilterInformationauf, um Filterinformationen für alle registrierten Minifiltertreiber auflisten zu können.

Rufen Sie FltGetFilterInformationauf, um Filterinformationen für einen bestimmten Minifiltertreiber abzurufen.

Rufen Sie FltEnumerateInstanceInformationByFilterauf, um alle Instanzen eines bestimmten Minifiltertreibers aufzählen zu können.

Rufen Sie FltEnumerateInstanceInformationByVolumeauf, um alle Minifiltertreiberinstanzen auf einem bestimmten Volume aufzurufen.

Rufen Sie FltEnumerateInstancesauf, um Instanzen aller Minifiltertreiber auf allen Volumes auflisten zu können.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- fltkernel.h (include FltKernel.h)
Library FltMgr.lib
IRQL- <= APC_LEVEL

Siehe auch

FILTER_VOLUME_BASIC_INFORMATION

FILTER_VOLUME_STANDARD_INFORMATION

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltEnumerateInstances

FltEnumerateVolumes

FltGetFilterInformation