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

此结构的大小(以字节为单位)。 将此成员设置为 sizeofCLIENT_CONTROLLER_BASIC_INFORMATION)。

TotalPins

GPIO 控制器上的引脚数。 如果引脚分区为多个库,则此成员指定 GPIO 控制器中所有银行的总引脚计数。

NumberOfPinsPerBank

每个银行的 GPIO 引脚数。 每个银行的最大引脚数为 64。 GPIO 控制器上的引脚分区为一个或多个银行。 每个银行都包含此参数指定的引脚数,最后一个银行可能例外。 有关详细信息,请参阅“备注”。

DeviceIdleTimeout

如果 GPIO 控制器支持 D3 电源状态,则空闲超时间隔(以毫秒为单位)。 超时间隔是 GPIO 控制器在控制器空闲后保持 D0 状态的最小时间。 超时间隔过期后,电源管理器可能会请求控制器切换到 D3 状态。

Flags

一组标志,用于指定 GPIO 控制器的硬件属性。 此成员可设置为所有零或以下标志位的任何按位或组合:

  • MemoryMappedController
  • ActiveInterruptsAutoClearOnRead
  • FormatIoRequestsAsMasks
  • DeviceIdlePowerMgmtSupported
  • BankIdlePowerMgmtSupported
  • 模拟Debouncing
  • 模拟ActiveBoth
有关详细信息,请参阅 CONTROLLER_ATTRIBUTE_FLAGS

言论

CLIENT_QueryControllerBasicInformation 事件回调函数使用 CLIENT_CONTROLLER_BASIC_INFORMATION 结构将有关 GPIO 控制器的设备特定信息传递给 GPIO 框架扩展(GpioClx)。

GPIO 控制器驱动程序可以将 GPIO 控制器设备中的引脚分区为一些银行。 如果 N 是控制者中的银行数,则银行编号为 0 到 N–1。 除最后一个银行(即银行号 N–1)之外的所有库都必须包含 NumberOfPinsPerBank 成员中指定的引脚数。 最后一个银行可以有任意数量的引脚,从一个到 NumberOfPinsPerBank

GpioClx 根据 TotalPins 的值确定 GPIO 控制器中的银行总数,并 NumberOfPinsPerBank 成员。 GpioClx 使用以下整数公式计算银行总数:

TotalPinsNumberOfPinsPerBank NumberOfPinsPerBank 通常,GPIO 控制器设备中的银行可以独立于同一设备中的其他银行打开和关闭。 因此,可以通过关闭空闲的银行来节省电源。

要求

要求 价值
最低支持的客户端 从 Windows 8 开始支持。
标头 gpioclx.h

另请参阅

CLIENT_QueryControllerBasicInformation

CONTROLLER_ATTRIBUTE_FLAGS