структура CLIENT_CONTROLLER_BASIC_INFORMATION (gpioclx.h)
Структура CLIENT_CONTROLLER_BASIC_INFORMATION содержит атрибуты оборудования и сведения о конфигурации контроллера общего назначения (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. Этот элемент можно задать для всех нулей или любого побитового сочетания битовых битов флага:
- 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. Последний банк может иметь любое количество пин-кодов от одного до NumberOfPinsPerBank.
GpioClx определяет общее количество банков в контроллере GPIO из значений TotalPins и NumberOfPinsPerBank членов. GpioClx использует следующую целочисленную формулу для вычисления общего числа банков:
TotalPinsNumberOfPinsPerBank NumberOfPinsPerBank Как правило, банк на устройстве контроллера GPIO можно включить и отключить независимо от других банков на том же устройстве. Таким образом, питание можно сохранить, отключив банк, который неактивен.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается начиная с Windows 8. |
заголовка | gpioclx.h |