Freigeben über


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
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_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.

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

FLT_RELATED_OBJECTS

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateInstances

FltEnumerateVolumeInformation

FltEnumerateVolumes

FltGetVolumeFromDeviceObject

FltGetVolumeFromFileObject

FltGetVolumeFromInstance

FltGetVolumeFromName