structure CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT (gpioclx.h)

La structure CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT contient un ensemble d’attributs de contrôleur d’E/S (GPIO) à usage général qui ont été demandés par l’extension d’infrastructure GPIO (GpioClx).

Syntaxe

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;

Membres

Version

Spécifie le numéro de version de cette structure.

Size

Spécifie la taille, en octets, de cette structure.

BankPowerInformation

Une structure de CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT qui contient les attributs de puissance de la banque GPIO identifiée par le membre BankPowerInformation.BankId de la structure CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT correspondante.

BankInterruptBinding

Structure qui contient des informations sur la liaison des ressources d’interruption aux banques GPIO.

BankInterruptBinding.ResourceMapping[ANYSIZE_ARRAY]

Tableau de numéros de ressources d’interruption. Le nombre d’éléments dans le tableau est égal au nombre de banques GPIO. Si N est le nombre de banques dans le contrôleur GPIO, les banques sont numérotées de 0 à N–1. L’élément 0 du tableau contient le numéro de ressource d’interruption lié à la banque 0, l’élément 1 contient le numéro de ressource d’interruption lié à la banque 1, et ainsi de suite. Aucune ressource d’interruption ne peut être liée à une banque GPIO, mais deux banques ou plus peuvent partager une ressource d’interruption. Si une banque n’est pas liée à une ressource d’interruption, l’élément tableau correspondant est défini sur GPIO_BANK_INTERRUPT_BINDING_RESERVED_INDEX (0xffff).

Une ressource d’interruption est identifiée par son numéro de ressource, qui est l’index de la ressource dans la liste de ressources ResourcesTranslated ou ResourcesRaw dans le membre BankInterruptBinding de la structure CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT . Si une liste contient des ressources M, les ressources sont numérotées de 0 à M-1. Seuls les numéros de ressources qui correspondent à des ressources d’interruption dans la liste des ressources peuvent apparaître dans le tableau ResourceMapping .

ControllerFunctionBankMapping

Structure qui contient des informations sur les banques GPIO qui doivent être à l’état d’alimentation F0 (entièrement activé) pour gérer une demande de contrôle d’E/S (IOCTL).

ControllerFunctionBankMapping.Mapping[ANYSIZE_ARRAY]

Tableau de valeurs BOOLEAN qui indique le mappage des états d’alimentation F0 requis aux banques GPIO. Le nombre d’éléments dans le tableau est égal au nombre de banques GPIO. Si N est le nombre de banques dans le contrôleur GPIO, les banques sont numérotées de 0 à N–1. L’élément 0 du tableau contient le mappage pour la banque 0, l’élément 1 contient le mappage pour la banque 1, et ainsi de suite. Si un élément a la valeur TRUE, la banque GPIO correspondante doit être dans l’état d’alimentation F0 pour gérer le IOCTL. Si un élément a la valeur FALSE, la banque correspondante n’est pas tenue d’être à l’état d’alimentation F0.

Remarques

L’union sans nom contient des informations de sortie pour les différents types de demandes d’attribut. Le membre RequestType de la structure CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT correspondante détermine lequel de ces membres est utilisé.

Le paramètre OutputBuffer facultatif de la fonction CLIENT_QuerySetControllerInformation est un pointeur vers une structure de CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT allouée à l’appelant . La fonction écrit les informations d’attribut demandées dans cette structure, si OutputBuffer n’a pas la valeur NULL.

Configuration requise

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

Voir aussi