GPIO 设备上下文

常规用途 I/O (GPIO) 控制器设备由框架设备对象表示。 GPIO 控制器驱动程序可以将设备上下文与此设备对象相关联。 驱动程序使用此设备上下文来持久存储有关 GPIO 控制器设备状态的信息。

当 GPIO 框架扩展 (GpioClx) 调用由驱动程序实现的事件回调函数时,GpioClx 将设备上下文作为参数传递给此函数。 回调函数检查设备上下文以确定设备的当前状态。 如果函数更改此状态,它将相应地更新设备上下文。

GpioClx 为设备对象分配存储。 如果 GPIO 控制器驱动程序具有多个设备对象,则其中每个对象的设备上下文大小相同。 在 DriverEntry 例程期间,驱动程序调用 GPIO_CLX_RegisterClient 方法来注册其回调函数并指定所需的设备上下文大小。 稍后,在 EvtDriverDeviceAdd 回调例程中,驱动程序调用 GPIO_CLX_ProcessAddDevicePostDeviceCreate 方法将新设备对象传递给 GpioClx,并且 GpioClx 为此对象分配设备上下文。 此后,当 GpioClx 调用驱动程序实现的回调函数时,此设备上下文将作为参数传递给函数。