Partager via


Contrôleurs d’E/S à usage général (GPIO)

Pour développer des pilotes pour les ports GPIO, utilisez ces en-têtes :

Vue d’ensemble de GPIO

Le pilote de contrôleur d’E/S à usage général (GPIO) communique avec l’extension de framework GPIO (GpioClx) via l’interface de pilote de périphérique GpioClx (DDI). Cette DDI est définie dans le fichier d’en-tête Gpioclx.h et est décrite dans cette section. Dans le cadre de cette DDI, GpioClx implémente plusieurs méthodes de prise en charge du pilote, appelées par le pilote de contrôleur GPIO. Ce pilote implémente un ensemble de fonctions de rappel d’événements, appelées par GpioClx. GpioClx utilise ces rappels pour gérer les demandes d’interruption des broches GPIO configurées en tant qu’entrées d’interruption et pour transférer des données vers ou depuis des broches GPIO configurées en tant qu’entrées et sorties de données.

Pour plus d’informations conceptuelles sur l’écriture de pilotes clients GPIOClx, consultez General-Purpose Guide de conception des pilotes d’E/S (GPIO)

IOCTLs

 
IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION

Le code de contrôle d’E/S IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION permet à un client du contrôleur d’E/S à usage général (GPIO) de demander une opération de contrôle d’appareil spécifique au contrôleur.
IOCTL_GPIO_READ_PINS

Le code de contrôle d’E/S IOCTL_GPIO_READ_PINS permet à un client du contrôleur d’E/S universel (GPIO) de lire à partir d’un ensemble de broches GPIO configurées en tant qu’entrées.
IOCTL_GPIO_WRITE_PINS

Le code de contrôle d’E/S IOCTL_GPIO_WRITE_PINS permet à un client du contrôleur d’E/S universel (GPIO) d’écrire dans un ensemble de broches GPIO configurées en tant que sorties.

Énumérations

 
CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE

Le type d’énumération CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE indique le type d’informations d’attribut demandée par l’extension d’infrastructure GPIO (GpioClx) auprès du pilote du contrôleur GPIO.
GPIO_CONNECT_IO_PINS_MODE

L’énumération GPIO_CONNECT_IO_PINS_MODE indique si un ensemble de broches d’E/S à usage général (GPIO) est configuré en tant qu’entrées ou sorties.

Fonctions

 
GPIO_CLIENT_CLEAR_ACTIVE_INTERRUPTS

La fonction de rappel d’événement CLIENT_ClearActiveInterrupts efface les interruptions actives sur un ensemble de broches d’E/S à usage général (GPIO) configurées en tant qu’entrées d’interruption.
GPIO_CLIENT_CONNECT_IO_PINS

La fonction de rappel d’événement CLIENT_ConnectIoPins ouvre une connexion logique à un ensemble d’épingles d’E/S à usage général (GPIO) et configure ces broches pour les opérations de lecture ou d’écriture de données.
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION

La fonction de rappel d’événement CLIENT_ControllerSpecificFunction effectue une opération spécifique à un contrôleur d’E/S (GPIO) à usage général particulier.
GPIO_CLIENT_DISABLE_INTERRUPT

La fonction de rappel d’événement CLIENT_DisableInterrupt désactive les interruptions sur une broche d’E/S à usage général (GPIO) configurée comme entrée d’interruption.
GPIO_CLIENT_DISCONNECT_IO_PINS

La fonction de rappel d’événement CLIENT_DisconnectIoPins ferme une connexion logique à un ensemble de broches d’E/S à usage général (GPIO) configurées pour les opérations de lecture ou d’écriture de données.
GPIO_CLIENT_ENABLE_INTERRUPT

La fonction de rappel d’événement CLIENT_EnableInterrupt active les interruptions sur une broche d’E/S à usage général (GPIO) configurée comme entrée d’interruption.
GPIO_CLIENT_MASK_INTERRUPTS

La fonction de rappel d’événement CLIENT_MaskInterrupts masque les interruptions sur un ensemble de broches d’E/S à usage général (GPIO) configurées en tant qu’entrées d’interruption.
GPIO_CLIENT_PRE_PROCESS_CONTROLLER_INTERRUPT

La fonction de rappel d’événement CLIENT_PreProcessControllerInterrupt effectue tout prétraitement d’une interruption d’E/S à usage général (GPIO) qui doit être effectuée immédiatement si l’ISR est planifié pour s’exécuter ultérieurement.
GPIO_CLIENT_PREPARE_CONTROLLER

La fonction de rappel d’événement CLIENT_PrepareController effectue toutes les opérations nécessaires pour rendre le contrôleur d’E/S universel (GPIO) prêt à être accessible par le pilote du contrôleur GPIO.
GPIO_CLIENT_QUERY_ACTIVE_INTERRUPTS

La fonction de rappel d’événement CLIENT_QueryActiveInterrupts interroge l’état d’un ensemble de broches d’E/S à usage général (GPIO) configurées en tant qu’entrées d’interruption.
GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION

La fonction de rappel d’événement CLIENT_QueryControllerBasicInformation récupère les attributs matériels du contrôleur d’E/S à usage général (GPIO).
GPIO_CLIENT_QUERY_ENABLED_INTERRUPTS

La fonction de rappel d’événement CLIENT_QueryEnabledInterrupts interroge l’état d’un ensemble de broches d’E/S à usage général (GPIO) pour déterminer quelles broches sont à la fois configurées en tant qu’entrées d’interruption et activées pour les interruptions.
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION

La fonction de rappel d’événement CLIENT_QuerySetControllerInformation interroge le pilote de contrôleur d’E/S à usage général (GPIO) pour l’ensemble spécifié d’attributs du contrôleur GPIO.
GPIO_CLIENT_READ_PINS

La fonction de rappel d’événement CLIENT_ReadGpioPins lit un ensemble de broches d’E/S à usage général (GPIO) configurées en tant qu’entrées de données.
GPIO_CLIENT_READ_PINS_MASK

La fonction de rappel d’événement CLIENT_ReadGpioPinsUsingMask lit une banque de broches d’E/S à usage général (GPIO).
GPIO_CLIENT_RECONFIGURE_INTERRUPT

La fonction de rappel d’événement CLIENT_ReconfigureInterrupt reconfigure une broche d’E/S à usage général (GPIO) utilisée comme entrée d’interruption.
GPIO_CLIENT_RELEASE_CONTROLLER

La fonction de rappel d’événement CLIENT_ReleaseController effectue des opérations nécessaires lorsque l’appareil de contrôleur d’E/S à usage général (GPIO) n’est plus accessible.
GPIO_CLIENT_RESTORE_BANK_HARDWARE_CONTEXT

La fonction de rappel d’événement CLIENT_RestoreBankHardwareContext restaure le contexte matériel d’une banque d’E/S à usage général (GPIO).
GPIO_CLIENT_SAVE_BANK_HARDWARE_CONTEXT

La fonction de rappel d’événement CLIENT_SaveBankHardwareContext enregistre le contexte matériel d’une banque d’E/S à usage général (GPIO).
GPIO_CLIENT_START_CONTROLLER

La fonction de rappel d’événement CLIENT_StartController effectue des opérations nécessaires lorsque l’appareil de contrôleur d’E/S à usage général (GPIO) entre dans l’état d’alimentation D0.
GPIO_CLIENT_STOP_CONTROLLER

La fonction de rappel d’événement CLIENT_StopController effectue des opérations nécessaires pour préparer l’appareil de contrôleur d’E/S à usage général (GPIO) pour quitter l’état d’alimentation D0.
GPIO_CLIENT_UNMASK_INTERRUPT

La fonction de rappel d’événement CLIENT_UnmaskInterrupt masque l’interruption sur une broche d’E/S à usage général (GPIO) configurée comme entrée d’interruption.
GPIO_CLIENT_WRITE_PINS

La fonction de rappel d’événement CLIENT_WriteGpioPins écrit dans un ensemble de broches d’E/S à usage général (GPIO) configurées en tant que sorties de données.
GPIO_CLIENT_WRITE_PINS_MASK

La fonction de rappel d’événement CLIENT_WriteGpioPinsUsingMask écrit dans un ensemble de broches d’E/S à usage général (GPIO) configurées en tant que sorties de données.
GPIO_CLX_AcquireInterruptLock

La méthode GPIO_CLX_AcquireInterruptLock acquiert un verrou d’interruption sur une banque de broches dans le contrôleur d’E/S à usage général (GPIO).
GPIO_CLX_ProcessAddDevicePostDeviceCreate

La méthode GPIO_CLX_ProcessAddDevicePostDeviceCreate transmet un objet d’appareil framework à l’extension de framework GPIO (GpioClx).
GPIO_CLX_ProcessAddDevicePreDeviceCreate

La méthode GPIO_CLX_ProcessAddDevicePreDeviceCreate charge les informations d’initialisation dans deux structures qui sont passées en tant que paramètres d’entrée à la méthode WdfDeviceCreate.
GPIO_CLX_RegisterClient

La méthode GPIO_CLX_RegisterClient inscrit un pilote de contrôleur d’E/S à usage général (GPIO) en tant que client de l’extension de framework GPIO (GpioClx).
GPIO_CLX_ReleaseInterruptLock

La méthode GPIO_CLX_ReleaseInterruptLock libère un verrou d’interruption sur la banque spécifiée.
GPIO_CLX_UnregisterClient

La méthode GPIO_CLX_UnregisterClient supprime l’inscription d’un pilote de contrôleur d’E/S à usage général (GPIO) avec l’extension de framework GPIO (GpioClx).

Structures

 
CLIENT_CONTROLLER_BASIC_INFORMATION

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

La structure CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT contient une demande pour les attributs matériels du contrôleur d’E/S à usage général (GPIO).
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT

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

La structure CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT contient des informations sur les fonctionnalités de gestion de l’alimentation d’une banque de broches d’E/S à usage général (GPIO).
CONTROLLER_ATTRIBUTE_FLAGS

La structure CONTROLLER_ATTRIBUTE_FLAGS décrit les attributs matériels de l’appareil de contrôleur d’E/S à usage général (GPIO).
GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS

La structure GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS décrit un ensemble d’épingles d’interruption à usage général (GPIO) à effacer.
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS

La structure GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS décrit les mémoires tampons d’entrée et de sortie pour une opération spécifique au contrôleur.
GPIO_CLIENT_REGISTRATION_PACKET

La structure GPIO_CLIENT_REGISTRATION_PACKET contient des informations d’inscription que le pilote de contrôleur GPIO (General-purpose I/O) passe à l’extension de framework GPIO (GpioClx).
GPIO_CONNECT_IO_PINS_PARAMETERS

La structure GPIO_CONNECT_IO_PINS_PARAMETERS décrit une connexion logique à un ensemble de broches d’E/S à usage général (GPIO) et spécifie s’il faut configurer ces broches en tant qu’entrées de données ou sorties.
GPIO_DISABLE_INTERRUPT_PARAMETERS

La structure GPIO_DISABLE_INTERRUPT_PARAMETERS décrit une broche d’interruption à usage général (GPIO) à désactiver.
GPIO_DISCONNECT_IO_PINS_PARAMETERS

La structure GPIO_DISCONNECT_IO_PINS_PARAMETERS décrit un ensemble de broches d’E/S à usage général (GPIO) à déconnecter.
GPIO_ENABLE_INTERRUPT_PARAMETERS

La structure GPIO_ENABLE_INTERRUPT_PARAMETERS spécifie une broche d’E/S à usage général (GPIO) et décrit les attributs d’interruption de cette broche.
GPIO_MASK_INTERRUPT_PARAMETERS

La structure GPIO_MASK_INTERRUPT_PARAMETERS décrit un ensemble d’épingles d’interruption à usage général (GPIO) à masquer.
GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS

La structure GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS décrit un ensemble d’épingles d’interruption à usage général (GPIO) pour rechercher leurs états activés et actifs.
GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS

La structure GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS indique quelles broches d’interruption dans une banque de broches d’E/S à usage général (GPIO) sont activées.
GPIO_READ_PINS_MASK_PARAMETERS

La structure GPIO_READ_PINS_MASK_PARAMETERS décrit une opération de lecture sur une banque de broches d’E/S à usage général (GPIO).
GPIO_READ_PINS_PARAMETERS

La structure GPIO_READ_PINS_PARAMETERS décrit une opération de lecture sur un groupe de broches d’E/S à usage général (GPIO).
GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS

La structure GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS décrit l’épingle d’interruption à usage général (GPIO) pour reconfigurer.
GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS

La structure GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS décrit une banque de broches d’E/S à usage général (GPIO) dont l’état matériel doit être enregistré ou restauré.
GPIO_WRITE_PINS_MASK_PARAMETERS

La structure GPIO_WRITE_PINS_MASK_PARAMETERS décrit une opération d’écriture sur une banque de broches d’E/S à usage général (GPIO).
GPIO_WRITE_PINS_PARAMETERS

La structure GPIO_WRITE_PINS_PARAMETERS décrit une opération d’écriture sur un groupe de broches d’E/S à usage général (GPIO).