структура 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 |