Funzione FltEnumerateVolumeInformation (fltkernel.h)

La routine FltEnumerateVolumeInformation fornisce informazioni sui volumi noti alla gestione filtri.

Sintassi

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
);

Parametri

[in] Filter

Puntatore filtro opaco per il driver minifilter. Questo puntatore identifica in modo univoco il driver minifilter e rimane costante finché viene caricato il driver minifilter.

[in] Index

Indice in base zero del volume per il quale sono richieste le informazioni.

[in] InformationClass

Tipo di informazioni richieste. Questo parametro può avere 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 .

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

[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, FltEnumerateVolumeInformation 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

FltEnumerateVolumeInformation restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:

Codice restituito Descrizione
STATUS_BUFFER_TOO_SMALL
Buffer a cui punta il parametro Buffer non è sufficiente per archiviare le informazioni richieste. Si tratta di un codice di errore.
STATUS_FLT_DELETING_OBJECT
È stato trovato un volume corrispondente, ma viene distrutto. Si tratta di un codice di errore.
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 restituisce STATUS_INVALID_PARAMETER. Si tratta di un codice di errore.
STATUS_NO_MORE_ENTRIES
Non sono presenti più voci nell'elenco globale dei volumi. Si tratta di un codice di avviso.

Commenti

L'uso del parametro Index è semplicemente un modo per la routine FltEnumerateVolumeInformation per selezionare tra i volumi nell'elenco globale di volumi di Gestione filtri. Due chiamate a FltEnumerateVolumeInformation con lo stesso valore del parametro Index non restituiscono necessariamente lo stesso risultato perché i volumi possono essere montati o smontati in qualsiasi momento.

Se FltEnumerateVolumeInformation viene usato per creare un elenco di strutture di informazioni sul volume, è possibile che due o più di queste strutture contengano nomi di volume identici. Per altre informazioni, vedere Informazioni sulle enumerazioni dei volumi con nomi di volume duplicati.

Per enumerare tutti i driver minifilter registrati, chiamare FltEnumerateFilters.

Per enumerare tutti i volumi noti alla gestione filtri, chiamare FltEnumerateVolumes.

Per elencare le informazioni sui filtri per tutti i driver minifilter registrati, chiamare FltEnumerateFilterInformation.

Per ottenere informazioni sul filtro per un determinato driver minifilter, chiamare FltGetFilterInformation.

Per enumerare tutte le istanze di un determinato driver minifilter, chiamare FltEnumerateInstanceInstanceInformationByFilter.

Per enumerare tutte le istanze del driver minifilter in un determinato volume, chiamare FltEnumerateInstanceInstanceInformationByVolume.

Per enumerare le istanze di tutti i driver minifilter in tutti i volumi, chiamare FltEnumerateInstances.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltkernel.h (include FltKernel.h)
Libreria FltMgr.lib
IRQL <= APC_LEVEL

Vedi anche

FILTER_VOLUME_BASIC_INFORMATION

FILTER_VOLUME_STANDARD_INFORMATION

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltEnumerateInstances

FltEnumerateVolumes

FltGetFilterInformation