Compartir a través de


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

La función de devolución de llamada de eventos CLIENT_ConnectIoPins abre una conexión lógica a un conjunto de patillas de E/S de uso general (GPIO) y configura estas patillas para las operaciones de lectura o escritura de datos.

Sintaxis

GPIO_CLIENT_CONNECT_IO_PINS GpioClientConnectIoPins;

NTSTATUS GpioClientConnectIoPins(
  [in] PVOID Context,
  [in] PGPIO_CONNECT_IO_PINS_PARAMETERS ConnectParameters
)
{...}

Parámetros

[in] Context

Puntero al contexto del dispositivo del controlador GPIO.

[in] ConnectParameters

Puntero a una estructura de GPIO_CONNECT_IO_PINS_PARAMETERS que describe una conexión a un conjunto de patillas GPIO y que especifica si se deben configurar estos patillas como entradas o salidas de datos.

Valor devuelto

La función CLIENT_ConnectIoPins 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 del marco gpIO (GpioClx) llama a esta función para abrir una conexión a un conjunto de patillas GPIO. Estos pines se especifican en la matriz PinNumberTable de la estructura GPIO_CONNECT_IO_PINS_PARAMETERS a la que apunta ConnectParameters. El miembro ConnectMode de esta estructura indica si se deben configurar las patillas como entradas o salidas.

Para cerrar la conexión, GpioClx llama a la función de devolución de llamada CLIENT_DisconnectIoPins .

Para registrar la función de devolución de llamada CLIENT_ConnectIoPins 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_ConnectIoPins .

Ejemplos

Para definir una función de devolución de llamada CLIENT_ConnectIoPins , 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_ConnectIoPins denominada MyEvtGpioConnectIoPins, use el tipo de función GPIO_CLIENT_CONNECT_IO_PINS, como se muestra en este ejemplo de código:

GPIO_CLIENT_CONNECT_IO_PINS MyEvtGpioConnectIoPins;

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

_Use_decl_annotations_
NTSTATUS
  MyEvtGpioConnectIoPins(
    PVOID Context,
    PGPIO_CONNECT_IO_PINS_PARAMETERS ConnectParameters
    )
{ ... }

El tipo de función GPIO_CLIENT_CONNECT_IO_PINS 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_CONNECT_IO_PINS 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_DisconnectIoPins

GPIO_CLIENT_REGISTRATION_PACKET

GPIO_CLX_RegisterClient