Funzione FltEnumerateInstanceInformationByDeviceObject (fltkernel.h)

La routine FltEnumerateInstanceInformationByDeviceObject fornisce informazioni sulle istanze del driver minifilter 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 correlati.

[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, 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 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 .
STATUS_NO_MORE_ENTRIES
Non sono presenti più voci nell'elenco di istanze/filtro 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.

-oppure-

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

Commenti

L'uso del parametro Index è semplicemente un modo per FltEnumerateInstanceInformationByDeviceObject per selezionare tra istanze di driver minifilter e driver di filtro legacy nell'elenco di istanze/filtro per il volume correlato a DeviceObject. Poiché le istanze del driver minifilter nell'elenco di istanze/filtro possono cambiare in qualsiasi momento, due chiamate a FltEnumerateInstanceInstanceInformationByDeviceObject con gli stessi valori Index e DeviceObject 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

FltEnumerateInstanceInformationByFilter

FltEnumerateInstanceInformationByVolume

FltEnumerateInstanceInformationByVolumeName