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 l’ensemble spécifié d’attributs 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 de 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 de retour
La fonction CLIENT_QuerySetControllerInformation retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour possibles incluent le code d’erreur suivant.
Retourner le code | Description |
---|---|
|
La fonction ne prend pas en charge le type d’attributs demandés. |
Remarques
Le RequestType membre 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 fonctions de rappel permet d'Analyse du code pour les pilotes, static Driver Verifier (SDV) et d’autres outils de vérification recherchent des erreurs, et il est nécessaire d’écrire des 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 illustré 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 lorsque vous exécutez les 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 annoter le comportement de la fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Prise en charge à partir de Windows 8. |
plateforme cible | Bureau |
d’en-tête | gpioclx.h |
IRQL | Appelé à PASSIVE_LEVEL. |
Voir aussi
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT