Compartir a través de


Función IoGetLowerDeviceObject (ntifs.h)

La rutina IoGetLowerDeviceObject devuelve un puntero al objeto de dispositivo de nivel inferior siguiente en la pila de controladores.

Sintaxis

PDEVICE_OBJECT IoGetLowerDeviceObject(
  [in] PDEVICE_OBJECT DeviceObject
);

Parámetros

[in] DeviceObject

Puntero al objeto de dispositivo de la pila para la que se va a devolver el objeto de dispositivo de nivel inferior siguiente.

Valor devuelto

IoGetLowerDeviceObject devuelve un puntero al objeto de dispositivo de nivel inferior siguiente en la pila de controladores.

Comentarios

Dado un puntero a un objeto de dispositivo en un sistema de archivos o una pila de controladores de dispositivo, IoGetLowerDeviceObject devuelve un puntero al objeto de dispositivo de nivel inferior siguiente de la pila.

IoGetLowerDeviceObject devuelve NULL si:

  • No se carga el controlador de nivel inferior siguiente.

  • El controlador de nivel inferior siguiente se está descargando, quitando o eliminando.

  • El objeto de dispositivo al que apunta DeviceObject es el objeto de dispositivo más bajo de la pila de controladores.

Normalmente, un controlador de filtro del sistema de archivos usa IoGetLowerDeviceObject para determinar si ya está conectado a la pila de controladores de filtro encadenada encima de un objeto de dispositivo de sistema de archivos determinado. En primer lugar, el filtro llama a IoGetAttachedDeviceReference para obtener un puntero al objeto de dispositivo de nivel superior de la pila. A continuación, llama a IoGetLowerDeviceObject repetidamente para recorrer la pila de controladores, comprobando cada objeto de dispositivo para ver si el objeto pertenece al controlador de filtro.

IoGetLowerDeviceObject incrementa el recuento de referencias en el objeto de dispositivo de nivel inferior siguiente si hay uno. Por lo tanto, todas las llamadas a IoGetLowerDeviceObject que no devuelven NULL deben coincidir con una llamada posterior a ObDereferenceObject.

Requisitos

Requisito Value
Cliente mínimo compatible Paquete acumulativo de actualizaciones de Windows 2000 SP4; Windows XP
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Consulte también

IoGetAttachedDevice

IoGetAttachedDeviceReference

ObDereferenceObject