Condividi tramite


Funzione FltEnumerateInstanceInformationByFilter (fltkernel.h)

La routine FltEnumerateInstanceInformationByFilter fornisce informazioni sulle istanze di un determinato driver minifilter.

Sintassi

NTSTATUS FLTAPI FltEnumerateInstanceInformationByFilter(
  [in]  PFLT_FILTER                Filter,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

Parametri

[in] Filter

Puntatore di filtro opaco per il chiamante.

[in] Index

Indice in base zero dell'istanza per la quale vengono richieste le informazioni.

[in] InformationClass

Tipo di informazioni richieste. 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 l'istanza.
InstanceFullInformation Il buffer a cui punta il parametro buffer riceve una struttura INSTANCE_FULL_INFORMATION per l'istanza.
InstancePartialInformation Il buffer a cui punta il parametro buffer riceve una struttura INSTANCE_PARTIAL_INFORMATION per l'istanza.
InstanceAggregateStandardInformation Il buffer a cui punta il parametro Buffer riceve una struttura INSTANCE_AGGREGATE_STANDARD_INFORMATION per l'istanza. La parte LegacyFilter della struttura non viene utilizzata. 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, FltEnumerateInstanceInstanceInformationByFilter 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

FltEnumerateInstanceInformationByFilter 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. Si tratta di un codice di errore.
STATUS_FLT_DELETING_OBJECT
È stata trovata un'istanza corrispondente, ma è in corso l'interruzione. Si tratta di un codice di errore.
STATUS_INVALID_PARAMETER
È stato specificato un valore non valido per il parametro InformationClass. Ad esempio, se FilterAggregateStandardInformation viene specificato in un sistema operativo prima di Windows Vista, la routine restituirà STATUS_INVALID_PARAMETER. Si tratta di un codice di errore.
STATUS_NO_MORE_ENTRIES
Nell'elenco delle istanze del driver minifiltro non sono presenti altre voci. Si tratta di un codice di avviso.

Osservazioni

Il parametro Index è semplicemente un modo per FltEnumerateInstanceInformationByFilter di selezionare tra le istanze nell'elenco delle istanze per il driver minifiltro specificato da Filter. Poiché le istanze del driver minifiltro nell'elenco di istanze possono cambiare in qualsiasi momento, due chiamate a FltEnumerateInstanceInstanceInformationByFilter con lo stesso Index e i valori Filter non sono garantiti per restituire lo stesso risultato.

Per enumerare tutti i driver minifiltri registrati, chiamare FltEnumerateFilters.

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 del driver minifiltro in un determinato volume, chiamare FltEnumerateInstanceInformationByVolume.

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

Per enumerare tutti i volumi noti a Gestione filtri, chiamare FltEnumerateVolumes.

.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione fltkernel.h (include FltKernel.h)
libreria FltMgr.lib
IRQL <= APC_LEVEL

Vedere anche

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateVolumes

FltGetFilterInformation

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION