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
  • 模擬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 會從 TotalPinsNumberOfPinsPerBank 成員的值,判斷 GPIO 控制器中的銀行總數。 GpioClx 使用下列整數公式來計算銀行總數:

TotalPinsNumberOfPinsPerBank NumberOfPinsPerBank 一般而言,GPIO 控制器裝置中的銀行可以獨立於相同裝置中的其他銀行開啟和關閉。 因此,關閉閑置的銀行,即可儲存電源。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始支援。
標頭 gpioclx.h

另請參閱

CLIENT_QueryControllerBasicInformation

CONTROLLER_ATTRIBUTE_FLAGS