структура 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
Дополнительные сведения см. в разделе CONTROLLER_ATTRIBUTE_FLAGS.

Комментарии

Функция обратного вызова события 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

См. также раздел

CLIENT_QueryControllerBasicInformation

CONTROLLER_ATTRIBUTE_FLAGS