структура CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT (gpioclx.h)

Структура CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT содержит набор атрибутов контроллера ввода-вывода общего назначения (GPIO), которые были запрошены расширением платформы GPIO (GpioClx).

Синтаксис

typedef struct _CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT {
  USHORT Version;
  USHORT Size;
  union {
    CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT BankPowerInformation;
    struct {
      ULONG ResourceMapping[ANYSIZE_ARRAY];
    } BankInterruptBinding;
    struct {
      BOOLEAN Mapping[ANYSIZE_ARRAY];
    } ControllerFunctionBankMapping;
  };
} CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT, *PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT;

Члены

Version

Указывает номер версии этой структуры.

Size

Задает размер данной структуры в байтах.

BankPowerInformation

Структура CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT , содержащая атрибуты власти банка GPIO, определяемого членом BankPowerInformation.BankId соответствующей структуры CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT .

BankInterruptBinding

Структура, содержащая сведения о привязке ресурсов прерывания к банкам GPIO.

BankInterruptBinding.ResourceMapping[ANYSIZE_ARRAY]

Массив номеров ресурсов прерываний. Количество элементов в массиве равно количеству банков GPIO. Если N — количество банков в контроллере GPIO, банки нумеруются от 0 до N–1. Элемент 0 массива содержит номер ресурса прерывания, привязанный к банку 0, элемент 1 — номер ресурса прерывания, привязанный к банку 1, и т. д. К банку GPIO может быть привязано не более одного ресурса прерывания, но два или более банков могут совместно использовать ресурс прерываний. Если банк не привязан к ресурсу прерывания, для соответствующего элемента массива устанавливается значение GPIO_BANK_INTERRUPT_BINDING_RESERVED_INDEX (0xffff).

Ресурс прерывания определяется по номеру ресурса, который является индексом ресурса в списке ресурсов ResourcesTranslated или ResourcesRaw в элементе BankInterruptBindingструктуры CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT . Если список содержит ресурсы M, они нумеруются от 0 до M-1. В массиве ResourceMapping могут отображаться только номера ресурсов, соответствующие ресурсам прерывания в списке ресурсов.

ControllerFunctionBankMapping

Структура, содержащая сведения о банках GPIO, которые должны находиться в состоянии питания F0 (полностью включен) для обработки запроса управления вводом-выводом (IOCTL).

ControllerFunctionBankMapping.Mapping[ANYSIZE_ARRAY]

Массив значений BOOLEAN, указывающий сопоставление необходимых состояний питания F0 с банками GPIO. Количество элементов в массиве равно количеству банков GPIO. Если N — количество банков в контроллере GPIO, банки нумеруются от 0 до N–1. Элемент 0 массива содержит сопоставление для банка 0, элемент 1 — сопоставление для банка 1 и т. д. Если элемент имеет значение TRUE, соответствующий банк GPIO должен находиться в состоянии питания F0 для обработки IOCTL. Если элемент имеет значение FALSE, соответствующий банк не обязательно должен находиться в состоянии питания F0.

Комментарии

Неименованное объединение содержит выходные данные для различных типов запросов атрибутов. Элемент RequestType соответствующей структуры CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT определяет, какой из этих элементов используется.

Необязательный параметр OutputBuffer функции CLIENT_QuerySetControllerInformation является указателем на структуру, выделенную вызывающим объектом CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT . Функция записывает запрошенные сведения об атрибуте в эту структуру, если OutputBuffer имеет значение, отличное от NULL.

Требования

Требование Значение
Минимальная версия клиента Поддерживается начиная с Windows 8.
Верхняя часть gpioclx.h

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