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.
El FltEnumerateInstances rutina enumera las instancias del controlador de minifiltro para un volumen o controlador de minifiltro determinado.
Sintaxis
NTSTATUS FLTAPI FltEnumerateInstances(
[in, optional] PFLT_VOLUME Volume,
[in, optional] PFLT_FILTER Filter,
[out] PFLT_INSTANCE *InstanceList,
[in] ULONG InstanceListSize,
[out] PULONG NumberInstancesReturned
);
Parámetros
[in, optional] Volume
Puntero opaco para el volumen para el que el autor de la llamada quiere enumerar las instancias del controlador de minifiltro. Si null, se enumeran las instancias de todos los volúmenes. Debe sernull no si de filtro es NULL.
[in, optional] Filter
Puntero de filtro opaco para el controlador de minifiltro cuyas instancias se van a enumerar. Si null, se enumeran las instancias de todos los controladores de minifiltro. Debe serNULL si volumen es NULL.
[out] InstanceList
Puntero a un búfer asignado por el autor de la llamada que recibe una matriz de punteros de instancia opacos.
[in] InstanceListSize
Número de punteros de instancia opacos a los que puede contener el búfer que InstanceList apunta.
[out] NumberInstancesReturned
Puntero a una variable asignada por el autor de la llamada que recibe el número de punteros de instancia opacos devueltos en la matriz a la que InstanceList apunta. Si InstanceListSize es demasiado pequeño, FltEnumerateInstances devuelve STATUS_BUFFER_TOO_SMALL y establece NumberInstancesReturned para apuntar al número de instancias coincidentes encontradas.
Valor devuelto
FltEnumerateInstances devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:
| Código devuelto | Descripción |
|---|---|
|
El búfer al que apunta el parámetro instanceList no es lo suficientemente grande como para almacenar la información solicitada. Se trata de un código de error. |
|
de volumen y filtro no se pueden null. Se trata de un código de error. |
Observaciones
Dado que las instancias del controlador de minifiltro de la lista de instancias pueden cambiar en cualquier momento, no se garantiza que dos llamadas a FltEnumerateInstance s con la misma Volume y valores filter no se garantiza que devuelvan el mismo resultado.
FltEnumerateInstances agrega una referencia de rundown a cada uno de los punteros de instancia opacos devueltos en la matriz a la que apunta el parámetro InstanceList . 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 fltEnumerateInstances debe coincidir con una llamada posterior a FltObjectDereference para cada puntero de instancia devuelto.
Para enumerar todos los controladores de minifiltro registrados, llame a FltEnumerateFilters.
Para enumerar todos los volúmenes que se conocen en el Administrador de filtros, llame a FltEnumerateVolumes.
Para enumerar la información de filtro de todos los controladores de minifiltro registrados, llame a FltEnumerateFilterInformation.
Para obtener información de filtro para un controlador de minifiltro determinado, llame a FltGetFilterInformation.
Para enumerar todas las instancias de un controlador de minifiltro determinado, llame a FltEnumerateInstanceInformationByFilter.
Para enumerar todas las instancias del controlador de minifiltro en un volumen determinado, llame a FltEnumerateInstanceInformationByVolume.
Requisitos
| Requisito | Valor |
|---|---|
| de la plataforma de destino de | Universal |
| encabezado de | fltkernel.h (incluya Fltkernel.h) |
| biblioteca de | FltMgr.lib |
| irQL | <= APC_LEVEL |
Consulte también
FltEnumerateInstanceInformationByFilter