Contrôleurs d’E/S à usage général (GPIO)
Le pilote de contrôleur d’E/S à usage général (GPIO) communique avec l’extension d’infrastructure GPIO (GpioClx) via l’interface du 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 des pilotes, appelées par le pilote du 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 à partir de broches GPIO configurées en tant qu’entrées d’interruption, et pour transférer des données vers ou à partir de 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 Guide de conception du pilote d’E/S à usage général (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 à usage général (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 à usage général (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 que l’extension d’infrastructure GPIO (GpioClx) demande au 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énements CLIENT_ConnectIoPins ouvre une connexion logique à un ensemble de broches 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 à usage général (GPIO). |
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 en tant qu’entrée d’interruption. |
GPIO_CLIENT_DISCONNECT_IO_PINS La fonction de rappel d’événements 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 en tant qu’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énements CLIENT_PrepareController effectue toutes les opérations nécessaires pour rendre le contrôleur d’E/S à usage général (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 comme 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 d’attributs spécifié 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énements CLIENT_ReleaseController effectue des opérations qui sont nécessaires lorsque le périphérique 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 de broches d’E/S à usage général (GPIO). |
GPIO_CLIENT_SAVE_BANK_HARDWARE_CONTEXT La fonction de rappel d’événements CLIENT_SaveBankHardwareContext enregistre le contexte matériel d’une banque de broches 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 qui sont nécessaires lorsque le périphérique 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 les opérations nécessaires pour préparer le périphérique 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 démasque l’interruption sur une broche d’E/S à usage général (GPIO) configurée en tant qu’entrée d’interruption. |
GPIO_CLIENT_WRITE_PINS La fonction de rappel d’événements 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 d’infrastructure 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 enregistre un pilote de contrôleur d’E/S à usage général (GPIO) en tant que client de l’extension d’infrastructure 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) auprès de l’extension d’infrastructure GPIO (GpioClx). |
Structures
CLIENT_CONTROLLER_BASIC_INFORMATION La structure CLIENT_CONTROLLER_BASIC_INFORMATION contient des attributs matériels et des informations de configuration du contrôleur d’E/S (GPIO) à usage général. |
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT La structure CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT contient une requête 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 (GPIO) à usage général qui ont été demandés par l’extension d’infrastructure 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 du périphérique de contrôleur d’E/S (GPIO) à usage général. |
GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS La structure GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS décrit un ensemble de broches d’interruption d’E/S à 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 du contrôleur d’E/S à usage général (GPIO) transmet à 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 ou sorties de données. |
GPIO_DISABLE_INTERRUPT_PARAMETERS La structure GPIO_DISABLE_INTERRUPT_PARAMETERS décrit une broche d’interruption d’E/S à 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) qui doivent être déconnectées. |
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 de broches d’interruption d’E/S (GPIO) à usage général à masquer. |
GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS La structure GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS décrit un ensemble de broches d’interruption d’E/S (GPIO) à usage général pour interroger leurs états activés et actifs. |
GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS La structure GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS indique les broches d’interruption dans une banque de broches d’E/S à usage général (GPIO) qui 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 la broche d’interruption d’E/S (GPIO) à 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). |