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
備註
CLIENT_QueryControllerBasicInformation事件回呼函式會使用CLIENT_CONTROLLER_BASIC_INFORMATION結構,將 GPIO 控制器的特定裝置資訊傳遞至 GPIO 架構延伸模組, (GpioClx) 。
GPIO 控制器驅動程式可以將 GPIO 控制器裝置中的針腳分割成一些銀行。 如果 N 是控制器中的銀行數目,則銀行編號為 0 到 N–1。 除了最後一個銀行 (以外,銀行號碼 N–1) 必須包含 NumberOfPinsPerBank 成員中指定的針腳數目。 最後一個銀行可以有任意數目的針腳,從一到 NumberOfPinsPerBank。
GpioClx 會從 TotalPins 和 NumberOfPinsPerBank 成員的值,判斷 GPIO 控制器中的銀行總數。 GpioClx 使用下列整數公式來計算銀行總數:
TotalPinsNumberOfPinsPerBank NumberOfPinsPerBank 一般而言,GPIO 控制器裝置中的銀行可以獨立於相同裝置中的其他銀行開啟和關閉。 因此,關閉閑置的銀行,即可儲存電源。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始支援。 |
標頭 | gpioclx.h |