Compartir a través de


GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION función de devolución de llamada (gpioclx.h)

La función de devolución de llamada de evento CLIENT_QueryControllerBasicInformation recupera los atributos de hardware del controlador de E/S de uso general (GPIO).

Sintaxis

GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION GpioClientQueryControllerBasicInformation;

NTSTATUS GpioClientQueryControllerBasicInformation(
  [in]  PVOID Context,
  [out] PCLIENT_CONTROLLER_BASIC_INFORMATION Information
)
{...}

Parámetros

[in] Context

Puntero al contexto del dispositivo del controlador GPIO.

[out] Information

Puntero a una estructura de CLIENT_CONTROLLER_BASIC_INFORMATION asignada por el autor de la llamada. La función CLIENT_QueryControllerBasicInformation escribe los atributos de hardware del controlador GPIO e información de configuración en esta estructura.

Valor devuelto

La función CLIENT_QueryControllerBasicInformation devuelve STATUS_SUCCESS si la llamada se realiza correctamente. De lo contrario, devuelve un código de error adecuado.

Comentarios

El controlador del controlador GPIO implementa esta función de devolución de llamada. La extensión de marco gpIO (GpioClx) llama a esta función.

La función de devolución de llamada CLIENT_QueryControllerBasicInformation debe establecer todos los miembros de la estructura CLIENT_CONTROLLER_BASIC_INFORMATION , incluidos los miembros Version y Size . GpioClx no inicializa el miembro Size antes de llamar a esta función, pero se garantiza que el búfer al que apunta el parámetro Information sea lo suficientemente grande como para contener la versión de esta estructura que usa el controlador de controlador GPIO.

Para registrar la función de devolución de llamada CLIENT_QueryControllerBasicInformation del controlador, llame al método GPIO_CLX_RegisterClient . Este método acepta, como parámetro de entrada, un puntero a una estructura de GPIO_CLIENT_REGISTRATION_PACKET que contiene un puntero de función CLIENT_QueryControllerBasicInformation .

Ejemplos

Para definir una función de devolución de llamada CLIENT_QueryControllerBasicInformation, primero debe proporcionar una declaración de función que identifique el tipo de función de devolución de llamada que va a definir. Windows proporciona un conjunto de tipos de función de devolución de llamada para controladores. Declarar una función mediante los tipos de función de devolución de llamada ayuda a Code Analysis for Drivers, Static Driver Verifier (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.

Por ejemplo, para definir una función de devolución de llamada CLIENT_QueryControllerBasicInformation denominada MyEvtGpioQueryControllerBasicInformation, use el tipo de función GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION, como se muestra en este ejemplo de código:

GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION MyEvtGpioQueryDeviceInformation;

A continuación, implemente la función de devolución de llamada de la siguiente manera:

_Use_decl_annotations_
NTSTATUS
  MyEvtGpioQueryDeviceInformation(
    PVOID Context,
    PCLIENT_CONTROLLER_BASIC_INFORMATION Information
    )
{ ... }

El tipo de función GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION se define en el archivo de encabezado Gpioclx.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, consulte Declaración de funciones mediante tipos de roles de función para controladores KMDF. Para obtener más información sobre Use_decl_annotations, consulte Anotación del comportamiento de la función.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite a partir de Windows 8.
Plataforma de destino Escritorio
Encabezado gpioclx.h
IRQL Se llama en PASSIVE_LEVEL.

Consulte también

CLIENT_CONTROLLER_BASIC_INFORMATION

GPIO_CLIENT_REGISTRATION_PACKET

GPIO_CLX_RegisterClient