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 FltEnumerateVolumes rutina enumera todos los volúmenes del sistema.
Sintaxis
NTSTATUS FLTAPI FltEnumerateVolumes(
[in] PFLT_FILTER Filter,
[out] PFLT_VOLUME *VolumeList,
[in] ULONG VolumeListSize,
[out] PULONG NumberVolumesReturned
);
Parámetros
[in] Filter
Puntero de filtro opaco para el autor de la llamada. Este parámetro es necesario y no se puede null.
[out] VolumeList
Puntero a un búfer asignado por el autor de la llamada que recibe una matriz de punteros de volumen opaco. Este parámetro es opcional y puede ser NULL si VolumeListSize es cero. Si VolumeListSize es cero en la entrada y volumeList es NULL, NumberVolumesReturned recibe el número de volúmenes encontrados.
[in] VolumeListSize
Número de punteros de filtro opacos que el búfer que VolumeList apunta a puede contener. Este parámetro es opcional y puede ser cero. Si VolumeListSize es cero en la entrada y volumeList es NULL, NumberVolumesReturned recibe el número de volúmenes encontrados.
[out] NumberVolumesReturned
Puntero a una variable asignada por el autor de la llamada que recibe el número de punteros de volumen opaco devueltos en la matriz a la que VolumeList apunta. Si el VolumeListSize de es demasiado pequeño y VolumeList no esNULL en la entrada, FltEnumerateVolumes devuelve STATUS_BUFFER_TOO_SMALL y establece NumberVolumesReturned apuntar al número de volúmenes encontrados. Este parámetro es necesario y no se puede null.
Valor devuelto
FltEnumerateVolumes devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:
| Código devuelto | Descripción |
|---|---|
|
El búfer al que apunta volumeList parámetro no es lo suficientemente grande como para almacenar la información solicitada. Se trata de un código de error. |
Observaciones
Dado que el contenido de la lista de volúmenes del administrador de filtros puede cambiar en cualquier momento, no se garantiza que dos llamadas a FltEnumerateVolumes devuelvan el mismo resultado.
FltEnumerateVolumes agrega una referencia de rundown a cada uno de los punteros de volumen opaco devueltos en la matriz a la que apunta VolumeList . 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 FltEnumerateVolumes debe coincidir con una llamada posterior a FltObjectDereference para cada puntero de volumen devuelto.
Para convertir uno o varios punteros de volumen opacos devueltos por el parámetro VolumeList en información de volumen, llame a FltGetVolumeInformation.
Para enumerar la información del volumen de todos los volúmenes conocidos para el administrador de filtros, llame a FltEnumerateVolumeInformation.
Para enumerar todos los controladores de minifiltro registrados, llame a FltEnumerateFilters.
Para enumerar todas las instancias del controlador de minifiltro, llame a FltEnumerateInstances.
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 |