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 kann nicht NULL-werden.
[in] InformationClass
Typ der angeforderten Informationen. Dieser Parameter ist erforderlich und muss 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. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
[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. Dieser Parameter ist erforderlich.
[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 FltGetVolumeInformation 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
FltGetVolumeInformation gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Statuscode zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
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. |
|
Der Puffer, auf den der Buffer Parameter verweist, ist nicht groß genug, um die angeforderten Informationen zu speichern. Dies ist ein Fehlercode. |
Bemerkungen
Angesichts eines undurchsichtigen Volumezeigers, z. B. der vom FltEnumerateVolumes Routine zurückgegebenen, stellt die FltGetVolumeInformation Routine Informationen über das Volume bereit, auf das der undurchsichtige Volumezeiger verweist, der durch den parameter Volume übergeben wird. Beachten Sie, dass der Aufrufer den undurchsichtigen Volumezeiger schließlich freigeben muss, indem die FltObjectDereference Routine aufgerufen wird.
Die FltGetVolumeInformation Routine gibt Informationen für ein einzelnes Volume zurück. Angesichts einer Liste undurchsichtiger Volumezeiger 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 Strukturen identische Volumenamen enthalten. Weitere Informationen finden Sie unter Understanding Volume Enumerations with Duplicate Volume Names.
Rufen Sie FltEnumerateVolumeInformationauf, um Volumeninformationen für alle Volumes auflisten, die dem Filter-Manager bekannt sind.
Die folgende Liste enthält verwandte Informationen, die möglicherweise verwendet werden können:
- Rufen Sie zum Aufzählen aller registrierten Minifiltertreiber im System die FltEnumerateFilters Routine auf.
- Rufen Sie die FltEnumerateInstanceInformationByVolume Routine auf, um Informationen zu Minifiltertreiberinstanzen abzurufen, die einem bestimmten Volume zugeordnet sind.
- Rufen Sie zum Aufzählen von Minifiltertreiberinstanzen für einen bestimmten Minifiltertreiber oder -volume die FltEnumerateInstances Routine auf.
- Rufen Sie zum Aufzählen aller Volumes im System die FltEnumerateVolumes Routine auf.
- Rufen Sie zum Abrufen eines undurchsichtigen Zeigers für das Volume, das durch ein bestimmtes Volumegeräteobjekt (VDO) dargestellt wird, die FltGetVolumeFromDeviceObject Routine auf.
- Um einen undurchsichtigen Zeiger für das Volume abzurufen, 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 eine bestimmte Minifiltertreiberinstanz angefügt ist.
- Rufen Sie die FltGetVolumeFromName Routine auf, um einen undurchsichtigen Zeiger für das Volume abzurufen, dessen Name einem bestimmten Volumenamen entspricht.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Diese Routine ist ab Windows Vista verfügbar. |
Zielplattform- | Universal |
Header- | fltkernel.h (include FltKernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | <= APC_LEVEL |
Siehe auch
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION