Funzione FltEnumerateVolumeInformation (fltkernel.h)
La routine FltEnumerateVolumeInformation fornisce informazioni sui volumi noti al gestore 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 di filtro opaco per il driver minifiltro. Questo puntatore identifica in modo univoco il driver minifiltro e rimane costante finché il driver minifiltro viene caricato.
[in] Index
Indice in base zero del volume per il quale vengono 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 buffer punta. 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 |
---|---|
|
Il buffer a cui punta il parametro buffer non è sufficiente per archiviare le informazioni richieste. Si tratta di un codice di errore. |
|
È stato trovato un volume corrispondente, ma viene eliminato. Si tratta di un codice di errore. |
|
È 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. |
|
Nell'elenco globale dei volumi non sono presenti altre voci. Si tratta di un codice di avviso. |
Osservazioni
L'uso del parametro Index è semplicemente un modo per FltEnumerateVolumeInformation routine per selezionare uno dei volumi nell'elenco globale dei volumi del gestore 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 informative sui volumi, è possibile che due o più di queste strutture contengano nomi di volume identici. Per altre informazioni, vedere Understanding Volume Enumerations with Duplicate Volume Names.
Per enumerare tutti i driver minifiltri registrati, chiamare FltEnumerateFilters.
Per enumerare tutti i volumi noti al gestore filtri, chiamare FltEnumerateVolumes.
Per elencare le informazioni sui filtri per tutti i driver minifiltri registrati, chiamare FltEnumerateFilterInformation.
Per ottenere informazioni sul filtro per un determinato driver minifiltro, chiamare FltGetFilterInformation.
Per enumerare tutte le istanze di un determinato driver minifiltro, chiamare FltEnumerateInstanceInformationByFilter.
Per enumerare tutte le istanze del driver minifiltro in un determinato volume, chiamare FltEnumerateInstanceInformationByVolume.
Per enumerare le istanze di tutti i driver minifiltro in tutti i volumi, chiamare FltEnumerateInstances.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | fltkernel.h (include FltKernel.h) |
libreria | FltMgr.lib |
IRQL | <= APC_LEVEL |
Vedere anche
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION
FltEnumerateInstanceInformationByFilter