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 |
---|---|
|
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 |