FltGetVolumeInformation-Funktion (fltkernel.h)
Die FltGetVolumeInformation-Routine stellt Informationen zu einem bestimmten Volume bereit.
Syntax
NTSTATUS FLTAPI FltGetVolumeInformation(
[in] PFLT_VOLUME Volume,
[in] FILTER_VOLUME_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Parameter
[in] Volume
Undurchsichtiger Zeiger für das Volume. Dieser Parameter ist erforderlich und darf nicht NULL sein.
[in] InformationClass
Typ der angeforderten Informationen. Dieser Parameter ist erforderlich und muss einer der folgenden Werte sein.
Wert | Bedeutung |
---|---|
FilterVolumeBasicInformation | Der Parameter Buffer 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. Dieser Parameter ist erforderlich und darf nicht NULL sein.
[in] BufferSize
Größe des Puffers in Byte, auf den der Buffer-Parameter zeigt. Der Aufrufer sollte diesen Parameter entsprechend dem angegebenen InformationClass-Wert festlegen. Dieser Parameter ist erforderlich.
[out] BytesReturned
Zeiger auf eine vom Aufrufer zugeordnete Variable, die die Anzahl der Bytes empfängt, die im Puffer zurückgegeben werden, auf den Buffer verweist. Wenn der Eingabewert von BufferSize zu klein ist, gibt FltGetVolumeInformation STATUS_BUFFER_TOO_SMALL zurück und legt diese Variable auf die Anzahl von Bytes fest, die zum Speichern der angeforderten Informationen erforderlich sind. Dieser Parameter ist erforderlich und darf nicht NULL sein.
Rückgabewert
FltGetVolumeInformation gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-status-Code zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Für den InformationClass-Parameter wurde ein ungültiger Wert angegeben. Wenn beispielsweise FilterVolumeStandardInformation auf einem Betriebssystem vor Windows Vista angegeben ist, gibt die Routine STATUS_INVALID_PARAMETER zurück. Dies ist ein Fehlercode. |
|
Der Puffer, auf den der Buffer-Parameter verweist, ist nicht groß genug, um die angeforderten Informationen zu speichern. Dies ist ein Fehlercode. |
Hinweise
Bei einem undurchsichtigen Volumezeiger, wie er von der FltEnumerateVolumes-Routine zurückgegeben wird, stellt die FltGetVolumeInformation-Routine Informationen über das Volume bereit, auf das der undurchsichtige Volumezeiger verweist, der über den Volume-Parameter übergeben wird. Beachten Sie, dass der Aufrufer den undurchsichtigen Volumezeiger schließlich freigeben muss, indem er die FltObjectDereference-Routine aufruft .
Die FltGetVolumeInformation-Routine gibt Informationen für ein einzelnes Volume zurück. Angesichts einer Liste von undurchsichtigen Volumezeigern kann die Routine jedoch iterativ verwendet werden, um eine Liste der entsprechenden Volumeinformationsstrukturen zu erstellen. In einer solchen Liste ist es möglich, dass zwei oder mehr der Strukturen identische Volumenamen enthalten. Weitere Informationen finden Sie unter Grundlegendes zu Volumeenumeration mit doppelten Volumenamen.
Rufen Sie FltEnumerateVolumeInformation auf, um Volumeinformationen für alle Volumes aufzulisten, die dem Filter-Manager bekannt sind.
Die folgende Liste enthält verwandte Informationen, die von Nutzen sein können:
- Rufen Sie die FltEnumerateFilters-Routine auf, um alle registrierten Minifiltertreiber im System aufzulisten.
- Rufen Sie die FltEnumerateInstanceInformationByVolume-Routine auf, um Informationen zu Minifiltertreiberinstanzen zu erhalten, die an ein bestimmtes Volume angefügt sind.
- Rufen Sie die FltEnumerateInstances-Routine auf, um Minifiltertreiberinstanzen für einen bestimmten Minifiltertreiber oder -volume aufzulisten.
- Rufen Sie die FltEnumerateVolumes-Routine auf, um alle Volumes im System aufzulisten.
- Rufen Sie die FltGetVolumeFromDeviceObject-Routine auf, um einen undurchsichtigen Zeiger für das Volume abzurufen, das durch ein bestimmtes Volumegeräteobjekt (VDO) dargestellt wird.
- Um einen undurchsichtigen Zeiger für das Volume zu erhalten, auf dem sich ein bestimmter Dateidatenstrom befindet, rufen Sie die FltGetVolumeFromFileObject-Routine auf.
- Rufen Sie die FltGetVolumeFromInstance-Routine auf, um einen undurchsichtigen Zeiger für das Volume abzurufen, an das ein bestimmter Minifiltertreiber angefügt instance.
- Um einen undurchsichtigen Zeiger für das Volume zu erhalten, dessen Name mit einem angegebenen Volumenamen übereinstimmt, rufen Sie die FltGetVolumeFromName-Routine auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Diese Routine ist ab Windows Vista verfügbar. |
Zielplattform | Universell |
Header | fltkernel.h (fltKernel.h einschließen) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
Weitere Informationen
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION