Partager via


GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION fonction de rappel (gpioclx.h)

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

Syntaxe

GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION GpioClientQuerySetControllerInformation;

NTSTATUS GpioClientQuerySetControllerInformation(
  [in]            PVOID Context,
  [in]            PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT InputBuffer,
  [out, optional] PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT OutputBuffer
)
{...}

Paramètres

[in] Context

Pointeur vers le contexte de périphérique du pilote du contrôleur GPIO.

[in] InputBuffer

Pointeur vers une structure CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT qui décrit le type d’attributs demandé par l’appelant.

[out, optional] OutputBuffer

Pointeur facultatif vers une structure CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT dans laquelle la fonction écrit les valeurs des attributs demandés.

Valeur retournée

La fonction CLIENT_QuerySetControllerInformation retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour possibles incluent le code d’erreur suivant.

Code de retour Description
STATUS_NOT_SUPPORTED
La fonction ne prend pas en charge le type d’attributs demandés.

Remarques

Le membre RequestType de la structure CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT pointée par InputBuffer spécifie le type d’attributs demandés. Pour obtenir la liste des types d’attributs qui peuvent être demandés, consultez CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE.

L’implémentation d’une fonction CLIENT_QuerySetControllerInformation est facultative. Si un pilote de contrôleur GPIO implémente une fonction CLIENT_QuerySetControllerInformation , cette fonction peut prendre en charge certains types de demandes d’attributs, mais pas d’autres. Si l’appelant demande un type d’attribut que la fonction ne prend pas en charge, la fonction retourne STATUS_NOT_SUPPORTED.

Exemples

Pour définir une fonction de rappel CLIENT_QuerySetControllerInformation , vous devez d’abord fournir une déclaration de fonction qui identifie le type de fonction de rappel que vous définissez. Windows fournit un ensemble de types de fonctions de rappel pour les pilotes. La déclaration d’une fonction à l’aide des types de fonction de rappel permet à l’analyse du code pour les pilotes, au vérificateur de pilotes statiques (SDV) et à d’autres outils de vérification de trouver des erreurs. Il s’agit d’une exigence pour l’écriture de pilotes pour le système d’exploitation Windows.

Par exemple, pour définir une fonction de rappel CLIENT_QuerySetControllerInformation nommée MyEvtGpioQuerySetControllerInformation, utilisez le type de fonction GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION, comme indiqué dans cet exemple de code :

GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION MyEvtGpioQuerySetControllerInformation;

Ensuite, implémentez votre fonction de rappel comme suit :

_Use_decl_annotations_
NTSTATUS
  MyEvtGpioQuerySetControllerInformation(
    PVOID Context,
    PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT InputBuffer,
    PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT OutputBuffer
    )
{ ... }

Le type de fonction GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION est défini dans le fichier d’en-tête Gpioclx.h. Pour identifier plus précisément les erreurs lors de l’exécution des outils d’analyse du code, veillez à ajouter l’annotation Use_decl_annotations à votre définition de fonction. L’annotation Use_decl_annotations garantit que les annotations appliquées au type de fonction GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes KMDF. Pour plus d’informations sur Use_decl_annotations, consultez Annotating Function Behavior.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge à partir de Windows 8.
Plateforme cible Desktop (Expérience utilisateur)
En-tête gpioclx.h
IRQL Appelé à PASSIVE_LEVEL.

Voir aussi

CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT

CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT

CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE