Funzione FltGetVolumeInformation (fltkernel.h)

La routine FltGetVolumeInformation fornisce informazioni su un determinato volume.

Sintassi

NTSTATUS FLTAPI FltGetVolumeInformation(
  [in]  PFLT_VOLUME                     Volume,
  [in]  FILTER_VOLUME_INFORMATION_CLASS InformationClass,
  [out] PVOID                           Buffer,
  [in]  ULONG                           BufferSize,
  [out] PULONG                          BytesReturned
);

Parametri

[in] Volume

Puntatore opaco per il volume. Questo parametro è obbligatorio e non può essere NULL.

[in] InformationClass

Tipo di informazioni richieste. Questo parametro è obbligatorio e deve essere uno dei valori seguenti.

Valore Significato
FilterVolumeBasicInformation Il parametro Buffer riceve una struttura FILTER_VOLUME_BASIC_INFORMATION per il volume.
FilterVolumeStandardInformation Il parametro Buffer riceve una struttura FILTER_VOLUME_STANDARD_INFORMATION per il volume. Questa struttura è disponibile a partire da Windows Vista.

[out] Buffer

Puntatore a un buffer allocato dal chiamante che riceve le informazioni richieste. Il tipo delle informazioni restituite nel buffer è definito dal parametro InformationClass . Questo parametro è obbligatorio e non può essere NULL.

[in] BufferSize

Dimensioni, in byte, del buffer a cui punta il parametro Buffer . Il chiamante deve impostare questo parametro in base al valore InformationClass specificato. Questo parametro è obbligatorio.

[out] BytesReturned

Puntatore a una variabile allocata dal chiamante che riceve il numero di byte restituiti nel buffer a cui punta Buffer . Se il valore di input di BufferSize è troppo piccolo, FltGetVolumeInformation restituisce STATUS_BUFFER_TOO_SMALL e imposta questa variabile sul numero di byte necessari per archiviare le informazioni richieste. Questo parametro è obbligatorio e non può essere NULL.

Valore restituito

FltGetVolumeInformation restituisce STATUS_SUCCESS o un codice di stato NTSTATUS appropriato, ad esempio uno dei seguenti:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
È stato specificato un valore non valido per il parametro InformationClass . Ad esempio, se filterVolumeStandardInformation viene specificato in un sistema operativo prima di Windows Vista, la routine restituirà STATUS_INVALID_PARAMETER. Si tratta di un codice di errore.
STATUS_BUFFER_TOO_SMALL
Il buffer a cui punta il parametro Buffer non è sufficientemente grande per archiviare le informazioni richieste. Si tratta di un codice di errore.

Commenti

Dato un puntatore al volume opaco, ad esempio quello restituito dalla routine FltEnumerateVolumes , la routine FltGetVolumeInformation fornisce informazioni sul volume a cui punta il puntatore del volume opaco, passato attraverso il parametro Volume . Si noti che il chiamante deve infine rilasciare il puntatore del volume opaco chiamando la routine FltObjectDereference .

La routine FltGetVolumeInformation restituisce informazioni per un singolo volume. Tuttavia, dato un elenco di puntatori di volume opachi, la routine può essere usata in modo iterativo per creare un elenco di strutture di informazioni sul volume corrispondenti. In un elenco di questo tipo è possibile che due o più strutture contengano nomi di volume identici. Per altre informazioni, vedere Informazioni sulle enumerazioni dei volumi con nomi di volumi duplicati.

Per elencare le informazioni sul volume per tutti i volumi noti al gestore filtri, chiama FltEnumerateVolumeInformation.

L'elenco seguente contiene informazioni correlate, che possono essere usate:

  • Per enumerare tutti i driver minifilter registrati nel sistema, chiamare la routine FltEnumerateFilters .
  • Per ottenere informazioni sulle istanze del driver minifilter collegate a un determinato volume, chiamare la routine FltEnumerateInstanceInformationByVolume .
  • Per enumerare le istanze del driver minifilter per un determinato driver o volume minifilter, chiamare la routine FltEnumerateInstances .
  • Per enumerare tutti i volumi nel sistema, chiamare la routine FltEnumerateVolumes .
  • Per ottenere un puntatore opaco per il volume rappresentato da un determinato oggetto dispositivo volume (VDO), chiamare la routine FltGetVolumeFromDeviceObject .
  • Per ottenere un puntatore opaco per il volume in cui risiede un determinato flusso di file, chiamare la routine FltGetVolumeFromFileObject .
  • Per ottenere un puntatore opaco per il volume a cui è collegata una determinata istanza del driver minifilter, chiamare la routine FltGetVolumeFromInstance .
  • Per ottenere un puntatore opaco per il volume il cui nome corrisponde a un determinato nome di volume, chiamare la routine FltGetVolumeFromName .

Requisiti

Requisito Valore
Client minimo supportato Questa routine è disponibile a partire da Windows Vista.
Piattaforma di destinazione Universale
Intestazione fltkernel.h (include FltKernel.h)
Libreria FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Vedi anche

FILTER_VOLUME_BASIC_INFORMATION

FILTER_VOLUME_STANDARD_INFORMATION

FLT_RELATED_OBJECTS

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateInstances

FltEnumerateVolumeInformation

FltEnumerateVolumes

FltGetVolumeFromDeviceObject

FltGetVolumeFromFileObject

FltGetVolumeFromInstance

FltGetVolumeFromName