GPIO_CLIENT_WRITE_PINS_MASK función de devolución de llamada (gpioclx.h)
La función de devolución de llamada de evento CLIENT_WriteGpioPinsUsingMask escribe en un conjunto de patillas de E/S de uso general (GPIO) configuradas como salidas de datos.
Sintaxis
GPIO_CLIENT_WRITE_PINS_MASK GpioClientWritePinsMask;
NTSTATUS GpioClientWritePinsMask(
[in] PVOID Context,
[in] PGPIO_WRITE_PINS_MASK_PARAMETERS WriteParameters
)
{...}
Parámetros
[in] Context
Puntero al contexto del dispositivo del controlador GPIO.
[in] WriteParameters
Puntero a una estructura de GPIO_WRITE_PINS_MASK_PARAMETERS que describe un banco de patillas GPIO y que contiene los datos que se van a escribir en estas patillas.
Valor devuelto
La función CLIENT_WriteGpioPinsUsingMask devuelve STATUS_SUCCESS si la llamada se realiza correctamente. De lo contrario, devuelve un código de error adecuado.
Observaciones
El controlador del controlador GPIO implementa esta función de devolución de llamada. GpioClx llama a esta función para escribir en un conjunto designado de patillas GPIO.
Las patillas GPIO a las que va a escribir esta función se designan mediante dos máscaras de 64 bits. La primera máscara especifica un grupo de patillas GPIO que se van a establecer en 1; Un bit en esta máscara es 1 si el pin GPIO correspondiente se va a establecer en 1. La segunda máscara especifica un grupo de patillas GPIO que se van a establecer en 0; Un bit en esta máscara es 1 si el pin GPIO correspondiente se va a establecer en 0.
Para registrar la función de devolución de llamada CLIENT_WriteGpioPinsUsingMask 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_WriteGpioPinsUsingMask.
Se puede llamar a la función CLIENT_WriteGpioPinsUsingMask desde la rutina del servicio de interrupción (ISR) en GpioClx. Este ISR se ejecuta en PASSIVE_LEVEL o DIRQL, en función de la información del dispositivo que la función de devolución de llamada CLIENT_QueryControllerBasicInformation proporciona a GpioClx. La función CLIENT_QueryControllerBasicInformation proporciona información del dispositivo en forma de una estructura CLIENT_CONTROLLER_BASIC_INFORMATION. Si el bit de marca MemoryMappedController se establece en el flags miembro de esta estructura, el ISR gpioClx se ejecuta en DIRQL y llama a la función CLIENT_WriteGpioPinsUsingMask en DIRQL. De lo contrario, el ISR se ejecuta en PASSIVE_LEVEL y llama a la función en PASSIVE_LEVEL. Para obtener más información sobre este bit de marca, vea Funciones de devolución de llamada GPIO opcionales y necesarias.
Ejemplos
Para definir una función de devolución de llamada CLIENT_WriteGpioPinsUsingMask, 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 Análisis de código para controladores, comprobador de controladores estáticos (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_WriteGpioPinsUsingMask denominada MyEvtGpioWriteGpioPinsUsingMask
, use el tipo de función GPIO_CLIENT_WRITE_PINS_MASK, como se muestra en este ejemplo de código:
GPIO_CLIENT_WRITE_PINS_MASK MyEvtGpioWritePinsUsingMask;
A continuación, implemente la función de devolución de llamada de la siguiente manera:
_Use_decl_annotations_
VOID
MyEvtGpioWritePinsUsingMask(
PVOID Context,
PGPIO_WRITE_PINS_MASK_PARAMETERS WriteParameters
)
{ ... }
El tipo de función GPIO_CLIENT_WRITE_PINS_MASK 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_WRITE_PINS_MASK 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 rol de función para controladores kmDF. Para obtener más información sobre Use_decl_annotations, vea Anotación del comportamiento de la función.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Se admite a partir de Windows 8. |
de la plataforma de destino de | Escritorio |
encabezado de | gpioclx.h |
irQL | Vea comentarios. |
Consulte también
CLIENT_CONTROLLER_BASIC_INFORMATION
CLIENT_QueryControllerBasicInformation