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 |
---|---|
|
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 übereinstimmende Volume gefunden, das jedoch abgerissen wird. Dies ist ein Fehlercode. |
|
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. |
|
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
FltEnumerateInstanceInformationByFilter