Funzione FltEnumerateInstanceInformationByVolumeName (fltkernel.h)

La routine FltEnumerateInstanceInformationByVolumeName fornisce informazioni sulle istanze del driver minifilter e sui driver di filtro legacy collegati al volume con il nome specificato.

Sintassi

NTSTATUS FLTAPI FltEnumerateInstanceInformationByVolumeName(
  [in]  PUNICODE_STRING            VolumeName,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

Parametri

[in] VolumeName

Nome del volume per enumerare le istanze di filtro.

[in] Index

Indice in base zero dell'istanza del driver minifilter o del driver di filtro legacy per cui sono richieste le informazioni.

[in] InformationClass

Tipo di informazioni da restituire per l'istanza del driver minifilter o per il driver di filtro legacy. Questo parametro può avere uno dei valori seguenti.

Valore Significato
InstanceBasicInformation Il buffer a cui punta il parametro Buffer riceve una struttura INSTANCE_BASIC_INFORMATION per un'istanza di minifilter. I driver di filtro legacy vengono ignorati.
InstanceFullInformation Il buffer a cui punta il parametro Buffer riceve una struttura INSTANCE_FULL_INFORMATION per un'istanza di minifilter. I driver di filtro legacy vengono ignorati.
InstancePartialInformation Il buffer a cui punta il parametro Buffer riceve una struttura INSTANCE_PARTIAL_INFORMATION per un'istanza di minifilter. I driver di filtro legacy vengono ignorati.
InstanceAggregateStandardInformation Il buffer a cui punta il parametro Buffer riceve una struttura INSTANCE_AGGREGATE_STANDARD_INFORMATION per un'istanza del driver minifilter o un driver di filtro legacy.

[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, FltEnumerateInstanceInstanceInformationByVolumeName restituisceSTATUS_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

FltEnumerateInstanceInformationByVolumeName restituisceSTATUS_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.
STATUS_FLT_DELETING_OBJECT
È stata trovata un'istanza del minifiltro corrispondente, ma viene interrotta. Si noti che questo valore restituito non si applica ai driver di filtro legacy perché non è possibile scaricare i driver di filtro legacy.
STATUS_INVALID_PARAMETER
È stato specificato un valore non valido per il parametro InformationClass .

-oppure-

VolumeName contiene un nome di volume non valido.

STATUS_NO_MORE_ENTRIES
Non sono presenti più voci nell'elenco di istanze/filtro del volume.
STATUS_OBJECT_NAME_NOT_FOUND
Il volume specificato in VolumeName non esiste.
STATUS_OBJECT_PATH_NOT_FOUND
Il percorso del volume specificato in VolumeName non esiste.
STATUS_FLT_VOLUME_NOT_FOUND
Il volume specificato da VolumeName non include istanze di filtro associate.

-oppure-

Il volume specificato da VolumeName viene rimosso dal sistema.

STATUS_FLT_INTERNAL_ERROR
Il volume specificato da VolumeName è stato registrato, ma non dispone di istanze di filtro associate.

Commenti

L'uso del parametro Index è semplicemente un modo per FltEnumerateInstanceInformationByVolumeName per selezionare tra istanze del driver minifilter e driver di filtro legacy nell'elenco di istanze/filtro per il volume specificato da VolumeName. Poiché le istanze del driver minifilter nell'elenco di istanze/filtro possono cambiare in qualsiasi momento, due chiamate a FltEnumerateInstanceInformationByVolumeName con gli stessi valori Index e VolumeName non sono garantiti per restituire lo stesso risultato.

Questa routine restituirà le informazioni sul driver di filtro legacy e le informazioni sull'istanza del driver minifilter quando il valore del parametro InformationClass è InstanceAggregateStandardInformation.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.
Piattaforma di destinazione Universale
Intestazione fltkernel.h (includere Fltkernel.h)
Libreria FltMgr.lib
IRQL <= APC_LEVEL

Vedi anche

FltEnumerateInstanceInformationByDeviceObject

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume