Función FltEnumerateInstanceInformationByDeviceObject (fltkernel.h)
La rutina FltEnumerateInstanceInformationByDeviceObject proporciona información sobre las instancias del controlador minifiltro y los controladores de filtro heredados que están conectados al volumen relacionado con un objeto de dispositivo especificado.
Sintaxis
NTSTATUS FLTAPI FltEnumerateInstanceInformationByDeviceObject(
[in] PDEVICE_OBJECT DeviceObject,
[in] ULONG Index,
[in] INSTANCE_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Parámetros
[in] DeviceObject
Objeto de dispositivo para el objeto de archivo o volumen relacionado.
[in] Index
Índice de base cero de la instancia del controlador de minifiltro o del controlador de filtro heredado para el que se solicita la información.
[in] InformationClass
Tipo de información que se va a devolver para la instancia del controlador minifiltro o el controlador de filtro heredado. Este parámetro puede tener uno de los siguientes valores.
Valor | Significado |
---|---|
InstanceBasicInformation | El búfer al que apunta el parámetro Buffer recibe una estructura de INSTANCE_BASIC_INFORMATION para una instancia de minifiltro. Se omiten los controladores de filtro heredados. |
InstanceFullInformation | El búfer al que apunta el parámetro Buffer recibe una estructura de INSTANCE_FULL_INFORMATION para una instancia de minifiltro. Se omiten los controladores de filtro heredados. |
InstancePartialInformation | El búfer al que apunta el parámetro Buffer recibe una estructura de INSTANCE_PARTIAL_INFORMATION para una instancia de minifiltro. Se omiten los controladores de filtro heredados. |
InstanceAggregateStandardInformation | El búfer al que apunta el parámetro Buffer recibe una estructura de INSTANCE_AGGREGATE_STANDARD_INFORMATION para una instancia del controlador de minifiltro o un controlador de filtro heredado. |
[out] Buffer
Puntero a un búfer asignado por el autor de la llamada que recibe la información solicitada. El tipo de la información devuelta en el búfer se define mediante el parámetro InformationClass .
[in] BufferSize
Tamaño, en bytes, del búfer al que apunta el parámetro Buffer . El autor de la llamada debe establecer este parámetro según el valor informationClass especificado.
[out] BytesReturned
Puntero a una variable asignada por el autor de la llamada que recibe el número de bytes devueltos en el búfer al que apunta buffer . Si el valor de entrada de BufferSize es demasiado pequeño, FltEnumerateInstanceInformationByDeviceObject devuelve STATUS_BUFFER_TOO_SMALL y establece esta variable en el número de bytes necesarios para almacenar la información solicitada. Este parámetro es obligatorio y no puede ser NULL.
Valor devuelto
FltEnumerateInstanceInformationByDeviceObject 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 Buffer no es lo suficientemente grande como para almacenar la información solicitada. |
|
Se encontró una instancia de minifiltro coincidente, pero se está descomponendo. Tenga en cuenta que este valor devuelto no se aplica a los controladores de filtro heredados porque no se pueden descargar los controladores de filtro heredados. |
|
Se especificó un valor no válido para el parámetro InformationClass . |
|
No hay más entradas en la lista de instancias o filtros del volumen. |
|
No se encontró ningún volumen relacionado para DeviceObject. |
|
DeviceObject no es un objeto de dispositivo de volumen válido.
O bien El volumen relacionado con DeviceObject se registró, pero no tiene ninguna instancia de filtro asociada. |
Comentarios
El uso del parámetro Index es simplemente una manera de que FltEnumerateInstanceInformationByDeviceObject seleccione entre las instancias del controlador minifiltro y los controladores de filtro heredados en la lista de filtros de instancia o filtro para el volumen relacionado con DeviceObject. Dado que las instancias del controlador de minifiltro de la lista de instancias o filtros pueden cambiar en cualquier momento, no se garantiza que dos llamadas a FltEnumerateInstanceInformationByDeviceObject con los mismos valores Index y DeviceObject devuelvan el mismo resultado.
Esta rutina devolverá tanto la información del controlador de filtro heredado como la información de la instancia del controlador de minifiltro cuando el valor del parámetro InformationClass sea InstanceAggregateStandardInformation.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 8. |
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | FltMgr.lib |
IRQL | <= APC_LEVEL |
Consulte también
FltEnumerateInstanceInformationByFilter