Condividi tramite


Funzione FltEnumerateInstanceInformationByDeviceObject (fltkernel.h)

La routine FltEnumerateInstanceInformationByDeviceObject fornisce informazioni sulle istanze del driver minifiltro e sui driver di filtro legacy collegati al volume correlato a un oggetto dispositivo specificato.

Sintassi

NTSTATUS FLTAPI FltEnumerateInstanceInformationByDeviceObject(
  [in]  PDEVICE_OBJECT             DeviceObject,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

Parametri

[in] DeviceObject

Oggetto dispositivo per l'oggetto file o il volume correlato.

[in] Index

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

[in] InformationClass

Tipo di informazioni da restituire per l'istanza del driver minifilter o 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 del minifiltro. 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 del minifiltro. 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 del minifiltro. 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 minifiltro 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 buffer punta. Se il valore di input di BufferSize è troppo piccolo, FltEnumerateInstanceInstanceInformationByDeviceObject 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

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

Codice restituito Descrizione
STATUS_BUFFER_TOO_SMALL
Il 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.
STATUS_NO_MORE_ENTRIES
Non sono presenti altre voci nell'elenco di istanze/filtri del volume.
STATUS_FLT_VOLUME_NOT_FOUND
Non è stato trovato alcun volume correlato per DeviceObject.
STATUS_FLT_INTERNAL_ERROR
deviceObject non è un oggetto dispositivo volume valido.

-o-

Il volume correlato a DeviceObject è stato registrato ma non dispone di istanze di filtro associate.

Osservazioni

L'uso del parametro Index è semplicemente un modo per FltEnumerateInstanceInformationByDeviceObject di selezionare tra istanze del driver minifiltro e driver di filtro legacy nell'elenco di istanze/filtro per il volume correlato a DeviceObject. Poiché le istanze del driver minifiltro nell'elenco di istanze/filtri possono cambiare in qualsiasi momento, due chiamate a FltEnumerateInstanceInformationByDeviceObject con lo stesso Index e i valori di DeviceObject non sono garantiti per restituire lo stesso risultato.

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

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 8.
piattaforma di destinazione Universale
intestazione fltkernel.h (include Fltkernel.h)
libreria FltMgr.lib
IRQL <= APC_LEVEL

Vedere anche

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltEnumerateInstanceInformationByVolumeName