estrutura CLIENT_CONTROLLER_BASIC_INFORMATION (gpioclx.h)

A estrutura CLIENT_CONTROLLER_BASIC_INFORMATION contém atributos de hardware do controlador gpio (E/S de uso geral) e informações de configuração.

Sintaxe

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;

Membros

Version

O número de versão dessa estrutura. Defina esse membro como GPIO_CONTROLLER_BASIC_INFORMATION_VERSION, que é definido no arquivo de cabeçalho Gpioclx.h.

Size

O tamanho, em bytes, dessa estrutura. Defina esse membro como sizeof(CLIENT_CONTROLLER_BASIC_INFORMATION).

TotalPins

O número de pinos no controlador GPIO. Se os pinos forem particionados em vários bancos, esse membro especificará a contagem total de pinos em todos os bancos no controlador GPIO.

NumberOfPinsPerBank

O número de pinos GPIO para cada banco. O número máximo de pinos para cada banco é 64. Os pinos no controlador GPIO são particionados em um ou mais bancos. Cada banco contém o número de pinos especificados por esse parâmetro, com a possível exceção do último banco. Para obter mais informações, consulte Comentários.

DeviceIdleTimeout

O intervalo de tempo limite ocioso, em milissegundos, se o controlador GPIO der suporte ao estado de energia D3. O intervalo de tempo limite é a quantidade mínima de tempo que um controlador GPIO permanece no estado D0 depois que o controlador fica ocioso. Depois que o intervalo de tempo limite expirar, o power manager poderá solicitar que o controlador mude para o estado D3.

Flags

Um conjunto de sinalizadores que especificam os atributos de hardware do controlador GPIO. Esse membro pode ser definido como todos os zeros ou para qualquer combinação bit a bit OR dos seguintes bits de sinalizador:

  • MemoryMappedController
  • ActiveInterruptsAutoClearOnRead
  • FormatIoRequestsAsMasks
  • DeviceIdlePowerMgmtSupported
  • BankIdlePowerMgmtSupported
  • EmulateDebouncing
  • EmulateActiveBoth
Para obter mais informações, consulte CONTROLLER_ATTRIBUTE_FLAGS.

Comentários

A função de retorno de chamada de evento CLIENT_QueryControllerBasicInformation usa uma estrutura CLIENT_CONTROLLER_BASIC_INFORMATION para passar informações específicas do dispositivo sobre um controlador GPIO para a extensão de estrutura GPIO (GpioClx).

Um driver de controlador GPIO pode particionar os pinos em um dispositivo controlador GPIO em alguns bancos. Se N for o número de bancos no controlador, os bancos serão numerados de 0 a N–1. Todos, exceto o último banco (ou seja, número de banco N–1) devem conter o número de pinos especificados no membro NumberOfPinsPerBank . O último banco pode ter qualquer número de pinos de um para NumberOfPinsPerBank.

GpioClx determina o número total de bancos no controlador GPIO dos valores dos membros TotalPins e NumberOfPinsPerBank . GpioClx usa a seguinte fórmula de inteiro para calcular o número total de bancos:

TotalPinsNumberOfPinsPerBank NumberOfPinsPerBank Normalmente, um banco em um dispositivo controlador GPIO pode ser ativado e desativado independentemente dos outros bancos no mesmo dispositivo. Assim, a energia pode ser salva desativando um banco ocioso.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte a partir do Windows 8.
Cabeçalho gpioclx.h

Confira também

CLIENT_QueryControllerBasicInformation

CONTROLLER_ATTRIBUTE_FLAGS