Compartir a través de


Contextos de dispositivo GPIO

Un dispositivo de controlador de E/S de uso general (GPIO) se representa mediante un objeto de dispositivo de marco. El controlador del controlador GPIO puede asociar un contexto de dispositivo a este objeto de dispositivo. El controlador usa este contexto de dispositivo para almacenar de forma persistente información sobre el estado del dispositivo del controlador GPIO.

Cuando la extensión del marco GPIO (GpioClx) llama a una función de devolución de llamada de eventos implementada por el controlador, GpioClx pasa el contexto del dispositivo a esta función como parámetro. La función de devolución de llamada examina el entorno del dispositivo para evaluar el estado actual del dispositivo. Si la función modifica este estado, actualiza el contexto del dispositivo en consecuencia.

GpioClx asigna el almacenamiento para un objeto de dispositivo. Si un controlador de GPIO tiene más de un objeto de dispositivo, el contexto de dispositivo para cada uno de estos objetos tiene el mismo tamaño. Durante la rutina DriverEntry , el controlador llama al método GPIO_CLX_RegisterClient para registrar sus funciones de devolución de llamada y para especificar el tamaño de contexto del dispositivo que requiere. Más adelante, durante la rutina de devolución de llamada EvtDriverDeviceAdd , el controlador llama al método GPIO_CLX_ProcessAddDevicePostDeviceCreate para pasar el nuevo objeto de dispositivo a GpioClx y GpioClx asigna el contexto del dispositivo para este objeto. A partir de entonces, cuando GpioClx llama a una función de devolución de llamada implementada por el controlador, este contexto de dispositivo se pasa a la función como un parámetro.