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 |
---|---|
|
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, aber es wird heruntergerissen. Dies ist ein Fehlercode. |
|
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. |
|
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
FltEnumerateInstanceInformationByFilter