Funzione FltEnumerateFilters (fltkernel.h)

La routine FltEnumerateFilters enumera tutti i driver minifilter registrati nel sistema.

Sintassi

NTSTATUS FLTAPI FltEnumerateFilters(
  [out] PFLT_FILTER *FilterList,
  [in]  ULONG       FilterListSize,
  [out] PULONG      NumberFiltersReturned
);

Parametri

[out] FilterList

Puntatore a un buffer allocato del chiamante che riceve una matrice di puntatori di filtro opaco. Questo parametro è facoltativo e può essere NULL se il valore del parametro FilterListSize è zero. Se FilterListSize è zero in input e FilterList è NULL, il parametro NumberFiltersReturned riceve il numero di driver minifilter trovati.

[in] FilterListSize

Numero di puntatori di filtro opachi che il buffer che il parametro FilterList punta a può contenere. Questo parametro è facoltativo e può essere zero. Se FilterListSize è zero in input e FilterList è NULL, il parametro NumberFiltersReturned riceve il numero di driver minifilter trovati.

[out] NumberFiltersReturned

Puntatore a una variabile allocata dal chiamante che riceve il numero di puntatori di filtro opachi restituiti nella matrice a cui punta il parametro FilterList . Se il valore del parametro FilterListSize è troppo piccolo e FilterList è diverso da NULL in input, FltEnumerateFilters restituisce STATUS_BUFFER_TOO_SMALL e imposta NumberFiltersReturned per puntare al numero di driver minifilter trovati. Questo parametro è obbligatorio e non può essere NULL.

Valore restituito

FltEnumerateFilters restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio quanto segue:

Codice restituito Descrizione
STATUS_BUFFER_TOO_SMALL
Buffer a cui punta il parametro FilterList non è sufficiente per archiviare le informazioni richieste. Si tratta di un codice di errore.

Commenti

Poiché i filtri possono registrare in qualsiasi momento, due chiamate a FltEnumerateFilters non sono garantite per restituire lo stesso risultato.

FltEnumerateFilters aggiunge un riferimento a rundown a ognuno dei puntatori di filtro opachi restituiti nella matrice a cui punta il parametro FilterList . Quando questi puntatori non sono più necessari, il chiamante deve rilasciarli chiamando FltObjectDereference su ognuno di essi. Pertanto ogni chiamata riuscita a FltEnumerateFilters deve essere corrispondente a una chiamata successiva a FltObjectDereference per ogni puntatore di filtro restituito.

Per elencare le informazioni sui filtri per tutti i driver minifilter registrati, chiamare FltEnumerateFilterInformation.

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

Per enumerare tutti i volumi noti a Filter Manager, chiamare FltEnumerateVolumes.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltkernel.h (includere Fltkernel.h)
Libreria FltMgr.lib
IRQL <= APC_LEVEL

Vedi anche

FltEnumerateFilterInformation

FltEnumerateInstances

FltEnumerateVolumes

FltGetFilterInformation

FltObjectDereference