Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La rutina FltEnumerateFilters enumera todos los controladores de minifiltro registrados en el sistema.
Sintaxis
NTSTATUS FLTAPI FltEnumerateFilters(
[out] PFLT_FILTER *FilterList,
[in] ULONG FilterListSize,
[out] PULONG NumberFiltersReturned
);
Parámetros
[out] FilterList
Puntero a un búfer asignado por el autor de la llamada que recibe una matriz de punteros de filtro opaco. Este parámetro es opcional y puede ser null si el valor de filterListSize parámetro es cero. Si FilterListSize es cero en la entrada y filterList es NULL, el parámetro NumberFiltersReturned recibe el número de controladores de minifiltro encontrados.
[in] FilterListSize
Número de punteros de filtro opacos a los que apunta el búfer que el parámetro FilterList puede contener. Este parámetro es opcional y puede ser cero. Si FilterListSize es cero en la entrada y filterList es NULL, el parámetro NumberFiltersReturned recibe el número de controladores de minifiltro encontrados.
[out] NumberFiltersReturned
Puntero a una variable asignada por el autor de la llamada que recibe el número de punteros de filtro opaco devueltos en la matriz a la que apunta el parámetro FilterList . Si el valor del parámetro FilterListSize es demasiado pequeño y FilterList no esNULL en la entrada, FltEnumerateFilters devuelve STATUS_BUFFER_TOO_SMALL y establece NumberFiltersReturned para que apunte al número de controladores de minifiltro encontrados. Este parámetro es necesario y no se puede null.
Valor devuelto
FltEnumerateFilters devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:
| Código devuelto | Descripción |
|---|---|
|
El búfer al que apunta el parámetro FilterList no es lo suficientemente grande como para almacenar la información solicitada. Se trata de un código de error. |
Observaciones
Dado que los filtros se pueden registrar en cualquier momento, no se garantiza que dos llamadas a FltEnumerateFilters devuelvan el mismo resultado.
FltEnumerateFilters agrega una referencia de rundown a cada uno de los punteros de filtro opaco devueltos en la matriz a los que apunta el parámetro FilterList . Cuando estos punteros ya no son necesarios, el autor de la llamada debe liberarlos llamando a FltObjectDereference en cada uno. Por lo tanto, cada llamada correcta a fltEnumerateFilters debe coincidir con una llamada posterior a FltObjectDereference para cada puntero de filtro devuelto.
Para enumerar la información de filtro de todos los controladores de minifiltro registrados, llame a FltEnumerateFilterInformation.
Para enumerar instancias de todos los controladores de minifiltro en todos los volúmenes, llame a FltEnumerateInstances.
Para enumerar todos los volúmenes que se conocen en el Administrador de filtros, llame a FltEnumerateVolumes.
Requisitos
| Requisito | Valor |
|---|---|
| de la plataforma de destino de | Universal |
| encabezado de | fltkernel.h (incluya Fltkernel.h) |
| biblioteca de | FltMgr.lib |
| irQL | <= APC_LEVEL |