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 |