Compartir a través de


EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO función de devolución de llamada (sercx.h)

La función de devolución de llamada de evento EvtSerCx2PioTransmitCancelDrainFi fo se llama mediante la versión 2 de la extensión del marco de serie (SerCx2) para cancelar una solicitud anterior para purgar la transmisión fiFO en el hardware del controlador serie.

Sintaxis

EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO EvtSercx2PioTransmitCancelDrainFifo;

BOOLEAN EvtSercx2PioTransmitCancelDrainFifo(
  [in] SERCX2PIOTRANSMIT PioTransmit
)
{...}

Parámetros

[in] PioTransmit

Identificador de SERCX2PIOTRANSMIT a un objeto PIO-transmit. El controlador de controlador serie llamó anteriormente al método SerCx2PioTransmitCreate para crear este objeto.

Valor devuelto

La función EvtSerCx2PioTransmitCancelDrainFifo devuelve TRUE si cancela correctamente la solicitud de purga pendiente y el controlador del controlador serie puede garantizar que no llamará a la SerCx2PioTransmitDrainFifoComplete método para notificar a SerCx2 que el FIFO está purgado. De lo contrario, esta función devuelve FALSE para indicar que el controlador ya ha llamado o está a punto de llamar a SerCx2PioTransmitDrainFifoComplete.

Observaciones

El controlador de controlador serie puede, como opción, implementar esta función. Si se implementa, el controlador registra la función en el SerCx2PioTransmitCreate llamada que crea el objeto PIO-transmit.

El controlador debe implementar una función EvtSerCx2PioTransmitCancelDrainFifo si el controlador serie tiene un FIFO de hardware (o mecanismo de almacenamiento en búfer similar) para contener datos de transmisión. Si el controlador implementa esta función, también debe implementar la EvtSerCx2PioTransmitDrainFifo y EvtSerCx2PioTransmitPurgeFifo funciones de devolución de llamada de eventos.

SerCx2 llama a la función de devolución de llamada de eventos EvtSerCx2PioTransmitDrainFifo para pedir al controlador de controlador serie que desagüe la transmisión FIFO y, a continuación, espera a que el controlador del controlador serie llame a SerCx2PioTransmitDrainFifoComplete. Una operación de purga puede tardar un tiempo indefinido en finalizar. Por lo tanto, si la solicitud de escritura agota el tiempo de espera o se cancela mientras la operación de purga está en curso, SerCx2 llama a la EvtSerCx2PioTransmitCancelDrainFifo función para cancelar la operación de purga pendiente antes de que finalice.

Para obtener más información, vea SerCx2 PIO-Transmit Transactions.

Ejemplos

Para definir un función de devolución de llamada EvtSerCx2PioTransmitCancelDrainFifo, primero debe proporcionar una declaración de función que identifique el tipo de función de devolución de llamada que está definiendo. 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 un EvtSerCx2PioTransmitCancelDrainFifo función de devolución de llamada denominada MyPioTransmitCancelDrainFifo, use el tipo de función EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO, como se muestra en este ejemplo de código:

EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO  MyPioTransmitCancelDrainFifo;

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

_Use_decl_annotations_
BOOLEAN
  MyPioTransmitCancelDrainFifo(
    SERCX2PIOTRANSMIT  PioTransmit
    )
  {...}

El tipo de función EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO se define en el archivo de encabezado Sercx.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 EVT_SERCX2_PIO_TRANSMIT_CANCEL_DRAIN_FIFO 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 Disponible a partir de Windows 8.1.
de la plataforma de destino de Escritorio
encabezado de sercx.h
irQL Se llama a irQL <= DISPATCH_LEVEL.

Consulte también

EvtSerCx2PioTransmitDrainFifo

EvtSerCx2PioTransmitPurgeFifo

IOCTL_SERIAL_PURGE

IRP_MJ_WRITE

SERCX2PIOTRANSMIT

SerCx2PioTransmitCreate

serCx2PioTransmitDrainFifoComplete