EVT_SERCX_TRANSMIT función de devolución de llamada (sercx.h)
La función de devolución de llamada de eventos EvtSerCxTrans mit prepara el dispositivo de controlador serie (UART) para realizar una operación de escritura (transmisión).
Sintaxis
EVT_SERCX_TRANSMIT EvtSercxTransmit;
NTSTATUS EvtSercxTransmit(
[in] WDFDEVICE Device,
[in] size_t Length
)
{...}
Parámetros
[in] Device
Un identificador WDFDEVICE para el objeto de dispositivo de marco que representa el controlador serie.
[in] Length
Número de bytes que se van a transmitir. El controlador del controlador puede usar este valor como sugerencia para decidir si se debe usar PIO o DMA para realizar la transferencia de datos.
Valor devuelto
La función EvtSerCxTransmit devuelve STATUS_SUCCESS si la llamada se realiza correctamente. De lo contrario, devuelve un código de estado de error adecuado.
Observaciones
La extensión del marco de trabajo serie (SerCx) llama a esta función para configurar el hardware del controlador serie para transmitir datos. Si es necesario, la función EvtSerCxTransmit puede habilitar interrupciones.
La función
Si la transmisión FIFO en el controlador serie está llena o casi llena, pero la interrupción de marca baja de FIFO está habilitada, la función EvtSerCxTransmit puede simplemente devolver. Más adelante, el ISR del controlador del controlador puede programar la función DPC de transmisión/recepción para ejecutarse, y esta función puede transferir más datos de salida a la transmisión fiFO.
Para registrar una función de devolución de llamada EvtSerCxTransmit, el controlador llama al método SerCxInitialize durante la devolución de llamada EvtDriverDeviceAdd.
Ejemplos
El tipo de función para esta devolución de llamada se declara en Sercx.h, como se indica a continuación.
typedef NTSTATUS
EVT_SERCX_TRANSMIT(
__in WDFDEVICE Device
);
Para definir un EvtSerCxTransmit función de devolución de llamada denominada MyEvtSerCxTransmit
, primero debe proporcionar una declaración de función que comprobador de controladores estáticos (SDV) y otras herramientas de comprobación necesarias, como se indica a continuación.
EVT_SERCX_TRANSMIT MyEvtSerCxTransmit;
A continuación, implemente la función de devolución de llamada de la manera siguiente.
NTSTATUS
MyEvtSerCxTransmit(
__in WDFDEVICE Device
)
{ ... }
Para obtener más información sobre los requisitos de SDV para las declaraciones de función, consulte Declaración de funciones mediante tipos de rol de función para controladores kmDF.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows 8. |
de la plataforma de destino de |
Escritorio |
encabezado de |
sercx.h |
irQL | Se llama a irQL <= DISPATCH_LEVEL |