Función FltGetLowerInstance (fltkernel.h)
La rutina FltGetLowerInstance devuelve un puntero de instancia opaco para la siguiente instancia de controlador de minifiltro inferior, si hay alguna, que se adjunta debajo de una instancia de controlador de minifiltro determinada en el mismo volumen.
Sintaxis
NTSTATUS FLTAPI FltGetLowerInstance(
[in] PFLT_INSTANCE CurrentInstance,
[out] PFLT_INSTANCE *LowerInstance
);
Parámetros
[in] CurrentInstance
Puntero de instancia opaco para la instancia del controlador de minifiltro para la que se solicita la instancia inferior del controlador de minifiltro.
[out] LowerInstance
Puntero a una variable asignada por el autor de la llamada que recibe un puntero de instancia de controlador de minifiltro opaco para la siguiente instancia inferior del controlador de minifiltro. Este parámetro es obligatorio y no puede ser NULL.
Valor devuelto
FltGetLowerInstance devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:
Código devuelto | Descripción |
---|---|
|
No se encontró ninguna instancia de controlador de minifiltro inferior. Se trata de un código de advertencia. |
Comentarios
Se dice que una instancia está por debajo de otra si se adjunta a una altitud inferior en el mismo volumen. El término "altitud" hace referencia a la posición que ocupa una instancia (o debe ocupar) en la pila de instancias del controlador de minifiltro para un volumen. Cuanto mayor sea la altitud, más lejos estará la instancia del sistema de archivos base en la pila. Solo se puede adjuntar una instancia a una altitud determinada en un volumen determinado.
La altitud se especifica mediante una cadena de altitud, que es una cadena Unicode con recuento que consta de uno o más dígitos decimales de 0 a 9, y puede incluir un único separador decimal. Por ejemplo, "100.123456" y "03333" son cadenas de altitud válidas.
La cadena "03333" representa una altitud mayor que "100,123456". (Se omiten los ceros iniciales y finales). En otras palabras, una instancia cuya altitud es "03333" está más lejos del sistema de archivos base que una instancia cuya altitud es "100,123456". Sin embargo, esta comparación solo es significativa si ambas instancias están asociadas al mismo volumen.
FltGetLowerInstance agrega una referencia de rundown al puntero de instancia opaco devuelto en el parámetro LowerInstance . Cuando este puntero ya no es necesario, el autor de la llamada debe liberarlo llamando a FltObjectDereference. Por lo tanto, cada llamada correcta a FltGetLowerInstance debe coincidir con una llamada posterior a FltObjectDereference.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | FltMgr.lib |
Archivo DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |