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 el 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.

Observaciones

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 del controlador de filtro que está encadenada encima de un objeto de dispositivo del sistema de archivos determinado. En primer lugar, el filtro llama a ioGetAttachedDeviceReference para obtener un puntero al objeto de dispositivo más alto de la pila. A continuación, llama a IoGetLowerDeviceObject varias veces 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 devuelve NULL deben coincidir con una llamada posterior ObDereferenceObject.

Requisitos

Requisito Valor
cliente mínimo admitido Paquete acumulativo de actualizaciones de Windows 2000 SP4; Windows XP
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= DISPATCH_LEVEL

Consulte también

IoGetAttachedDevice

IoGetAttachedDeviceReference

obDereferenceObject de