Compartir a través de


Función FltGetTopInstance (fltkernel.h)

La rutina FltGetTopInstance devuelve un puntero de instancia opaco para la instancia del controlador minifiltro que está adjunta en la parte superior de la pila de instancias de un volumen determinado.

Sintaxis

NTSTATUS FLTAPI FltGetTopInstance(
  [in]  PFLT_VOLUME   Volume,
  [out] PFLT_INSTANCE *Instance
);

Parámetros

[in] Volume

Puntero opaco para el volumen.

[out] Instance

Puntero a una variable asignada por el autor de la llamada que recibe un puntero de instancia opaco para la instancia inferior de este volumen. Este parámetro es obligatorio y no puede ser NULL.

Valor devuelto

FltGetTopInstance devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:

Código devuelto Descripción
STATUS_NO_MORE_ENTRIES
No se encontró ninguna instancia coincidente. Se trata de un código de advertencia.

Comentarios

Se dice que una instancia está en la parte superior de la pila de instancias del controlador de minifiltro si su altitud es mayor que la de todas las demás instancias asociadas al mismo volumen. El término "altitud" hace referencia a la posición que ocupa una instancia en la pila de instancias del controlador de minifiltro para un volumen. Cuanto mayor sea la altitud, más lejos será la instancia del sistema de archivos base de 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 varios 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.

FltGetTopInstance agrega una referencia de rundown al puntero de instancia opaco devuelto en el parámetro Instance . Cuando este puntero ya no es necesario, el autor de la llamada debe liberarlo llamando a FltObjectDereference. Por lo tanto, cada llamada correcta a FltGetTopInstance 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

Consulte también

FltAttachVolume

FltAttachVolumeAtAltitude

FltCompareInstanceAltitudes

FltGetBottomInstance

FltGetLowerInstance

FltGetUpperInstance

FltObjectDereference