GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION função de retorno de chamada (gpioclx.h)
A função de retorno de chamada de evento CLIENT_QuerySetControllerInformation consulta o driver do controlador de E/S de uso geral (GPIO) para o conjunto especificado de atributos do controlador GPIO.
Sintaxe
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
)
{...}
Parâmetros
[in] Context
Um ponteiro para o contexto do dispositivo do driver gpio.
[in] InputBuffer
Um ponteiro para uma estrutura de CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT que descreve o tipo de atributos que o chamador está solicitando.
[out, optional] OutputBuffer
Um ponteiro opcional para uma estrutura CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT na qual a função grava os valores dos atributos solicitados.
Valor de retorno
A função CLIENT_QuerySetControllerInformation retornará STATUS_SUCCESS se a chamada for bem-sucedida. Os valores de retorno possíveis incluem o código de erro a seguir.
Código de retorno | Descrição |
---|---|
|
A função não dá suporte ao tipo de atributos que estão sendo solicitados. |
Observações
O membro RequestType da estrutura de CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT apontado pelo InputBuffer especifica o tipo de atributos que estão sendo solicitados. Para obter uma lista dos tipos de atributos que podem ser solicitados, consulte CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE.
Implementar uma função CLIENT_QuerySetControllerInformation é opcional. Se um driver de controlador GPIO implementar uma função CLIENT_QuerySetControllerInformation, essa função poderá dar suporte a alguns tipos de solicitações de atributo, mas não dar suporte a outras. Se o chamador solicitar um tipo de atributo que a função não dá suporte, a função retornará STATUS_NOT_SUPPORTED.
Exemplos
Para definir uma função de retorno de chamada CLIENT_QuerySetControllerInformation, primeiro você deve fornecer uma declaração de função que identifique o tipo de função de retorno de chamada que você está definindo. O Windows fornece um conjunto de tipos de função de retorno de chamada para drivers. Declarar uma função usando os tipos de função de retorno de chamada ajuda a análise de código para drivers, SDV (Verificador de Driver Estático) e outras ferramentas de verificação encontram erros e é um requisito para gravar drivers para o sistema operacional Windows.
Por exemplo, para definir uma função de retorno de chamada CLIENT_QuerySetControllerInformation denominada MyEvtGpioQuerySetControllerInformation
, use o tipo de função GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION, conforme mostrado neste exemplo de código:
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION MyEvtGpioQuerySetControllerInformation;
Em seguida, implemente sua função de retorno de chamada da seguinte maneira:
_Use_decl_annotations_
NTSTATUS
MyEvtGpioQuerySetControllerInformation(
PVOID Context,
PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT InputBuffer,
PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT OutputBuffer
)
{ ... }
O tipo de função GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION é definido no arquivo de cabeçalho Gpioclx.h. Para identificar erros com mais precisão ao executar as ferramentas de análise de código, adicione a anotação Use_decl_annotations à sua definição de função. A anotação Use_decl_annotations garante que as anotações aplicadas ao tipo de função GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION no arquivo de cabeçalho sejam usadas. Para obter mais informações sobre os requisitos para declarações de função, consulte Declarando funções usando tipos de função de função para drivers KMDF. Para obter mais informações sobre Use_decl_annotations, consulte Anotando o comportamento da função.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte a partir do Windows 8. |
da Plataforma de Destino | Área de trabalho |
cabeçalho | gpioclx.h |
IRQL | Chamado no PASSIVE_LEVEL. |
Consulte também
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT