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 |