CLIENT_CONTROLLER_BASIC_INFORMATION 结构 (gpioclx.h)
CLIENT_CONTROLLER_BASIC_INFORMATION结构包含常规用途 I/O (GPIO) 控制器硬件属性和配置信息。
语法
typedef struct _CLIENT_CONTROLLER_BASIC_INFORMATION {
USHORT Version;
USHORT Size;
USHORT TotalPins;
UCHAR NumberOfPinsPerBank;
ULONG DeviceIdleTimeout;
CONTROLLER_ATTRIBUTE_FLAGS Flags;
} CLIENT_CONTROLLER_BASIC_INFORMATION, *PCLIENT_CONTROLLER_BASIC_INFORMATION;
成员
Version
此结构的版本号。 将此成员设置为 GPIO_CONTROLLER_BASIC_INFORMATION_VERSION,这是在 Gpioclx.h 头文件中定义的。
Size
此结构的大小(以字节为单位)。 将此成员设置为 sizeof (CLIENT_CONTROLLER_BASIC_INFORMATION) 。
TotalPins
GPIO 控制器上的引脚数。 如果将引脚分区到多个库中,则此成员指定 GPIO 控制器中所有库的总引脚计数。
NumberOfPinsPerBank
每个组的 GPIO 引脚数。 每个组的最大引脚数为 64。 GPIO 控制器上的引脚被分区成一个或多个库。 每个库包含此参数指定的引脚数,最后一个库的可能例外。 有关详细信息,请参阅“备注”。
DeviceIdleTimeout
如果 GPIO 控制器支持 D3 电源状态,则为空闲超时间隔(以毫秒为单位)。 超时间隔是 GPIO 控制器在控制器空闲后保持 D0 状态的最短时间。 超时间隔到期后,电源管理器可能会请求控制器切换到 D3 状态。
Flags
一组指定 GPIO 控制器的硬件属性的标志。 可以将此成员设置为所有零或以下标志位的任意按位 OR 组合:
- MemoryMappedController
- ActiveInterruptsAutoClearOnRead
- FormatIoRequestsAsMasks
- DeviceIdlePowerMgmtSupported
- BankIdlePowerMgmtSupported
- EmulateDebouncing
- EmulateActiveBoth
注解
CLIENT_QueryControllerBasicInformation 事件回调函数使用CLIENT_CONTROLLER_BASIC_INFORMATION结构将有关 GPIO 控制器的设备特定信息传递到 GPIO 框架扩展 (GpioClx) 。
GPIO 控制器驱动程序可以将 GPIO 控制器设备中的引脚分区为一定数量的库。 如果 N 是控制器中的库数,则库的编号为 0 到 N–1。 除最后一个银行 (,即银行编号 N-1) 必须包含 NumberOfPinsPerBank 成员中指定的引脚数。 最后一个库可以有任意数量的引脚,从 1 到 NumberOfPinsPerBank。
GpioClx 根据 TotalPins 和NumberOfPinsPerBank 成员的值确定 GPIO 控制器中的库总数。 GpioClx 使用以下整数公式来计算总库数:
TotalPinsNumberOfPinsPerBank NumberOfPinsPerBank 通常,GPIO 控制器设备中的银行可以独立于同一设备中的其他库打开和关闭。 因此,可以通过关闭空闲的银行来节省电力。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 8 开始支持。 |
标头 | gpioclx.h |