Partager via


CLIENT_CONTROLLER_BASIC_INFORMATION structure (gpioclx.h)

La structure CLIENT_CONTROLLER_BASIC_INFORMATION contient des attributs matériels de contrôleur d’E/S (GPIO) à usage général et des informations de configuration.

Syntaxe

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;

Membres

Version

Numéro de version de cette structure. Définissez ce membre sur GPIO_CONTROLLER_BASIC_INFORMATION_VERSION, qui est défini dans le fichier d’en-tête Gpioclx.h.

Size

Taille, en octets, de cette structure. Définissez ce membre sur sizeof(CLIENT_CONTROLLER_BASIC_INFORMATION).

TotalPins

Nombre de broches sur le contrôleur GPIO. Si les broches sont partitionnée en plusieurs banques, ce membre spécifie le nombre total de broches sur toutes les banques dans le contrôleur GPIO.

NumberOfPinsPerBank

Nombre de broches GPIO pour chaque banque. Le nombre maximal de broches pour chaque banque est de 64. Les broches du contrôleur GPIO sont partitionnés en une ou plusieurs banques. Chaque banque contient le nombre de broches spécifié par ce paramètre, à l’exception possible de la dernière banque. Pour plus d'informations, consultez la section Notes.

DeviceIdleTimeout

Intervalle de délai d’inactivité, en millisecondes, si le contrôleur GPIO prend en charge l’état d’alimentation D3. L’intervalle de délai d’attente est la durée minimale pendant laquelle un contrôleur GPIO reste dans l’état D0 une fois le contrôleur inactif. Une fois l’intervalle de délai d’expiration expiré, le gestionnaire d’alimentation peut demander que le contrôleur passe à l’état D3.

Flags

Ensemble d’indicateurs qui spécifient les attributs matériels du contrôleur GPIO. Ce membre peut être défini sur tous les zéros ou sur n’importe quelle combinaison ou au niveau du bit des bits d’indicateur suivants :

  • MemoryMappedController
  • ActiveInterruptsAutoClearOnRead
  • FormatIoRequestsAsMasks
  • DeviceIdlePowerMgmtSupported
  • BankIdlePowerMgmtSupported
  • EmulateDebouncing
  • EmulateActiveBoth
Pour plus d’informations, consultez CONTROLLER_ATTRIBUTE_FLAGS.

Remarques

La fonction de rappel d’événement CLIENT_QueryControllerBasicInformation utilise une structure de CLIENT_CONTROLLER_BASIC_INFORMATION pour transmettre des informations spécifiques à l’appareil sur un contrôleur GPIO à l’extension d’infrastructure GPIO (GpioClx).

Un pilote de contrôleur GPIO peut partitionner les broches d’un périphérique de contrôleur GPIO en un certain nombre de banques. Si N est le nombre de banques dans le contrôleur, les banques sont numérotées de 0 à N–1. Tous, à l’exception de la dernière banque (c’est-à-dire le numéro de banque N à 1) doivent contenir le nombre de broches spécifié dans le membre NumberOfPinsPerBank . La dernière banque peut avoir n’importe quel nombre de broches allant de une à NumberOfPinsPerBank.

GpioClx détermine le nombre total de banques dans le contrôleur GPIO à partir des valeurs des membres TotalPins et NumberOfPinsPerBank . GpioClx utilise la formule entière suivante pour calculer le nombre total de banques :

TotalPinsNumberOfPinsPerBank NumberOfPinsPerBank En règle générale, une banque dans un appareil de contrôleur GPIO peut être activée et désactivée indépendamment des autres banques du même appareil. Ainsi, l’alimentation peut être économisée en désactivant une banque inactive.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge à partir de Windows 8.
En-tête gpioclx.h

Voir aussi

CLIENT_QueryControllerBasicInformation

CONTROLLER_ATTRIBUTE_FLAGS