EVT_SERCX2_SYSTEM_DMA_TRANSMIT_CANCEL_DRAIN_FIFO función de devolución de llamada (sercx.h)
El evtSerCx2SystemDmaTransmitCancelDrainFifo función de devolución de llamada de eventos 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_SYSTEM_DMA_TRANSMIT_CANCEL_DRAIN_FIFO EvtSercx2SystemDmaTransmitCancelDrainFifo;
BOOLEAN EvtSercx2SystemDmaTransmitCancelDrainFifo(
[in] SERCX2SYSTEMDMATRANSMIT SystemDmaTransmit
)
{...}
Parámetros
[in] SystemDmaTransmit
Identificador de SERCX2SYSTEMDMATRANSMIT a un objeto system-DMA-transmit. Anteriormente, el controlador de controlador serie llamó al método SerCx2SystemDmaTransmitCreate para crear este objeto.
Valor devuelto
La función EvtSerCx2SystemDmaTransmitCancelDrainFifo devuelve TRUE si cancela correctamente la solicitud de purga pendiente y el controlador del controlador serie puede garantizar que no llamará a la SerCx2SystemDmaTransmitDrainFifoComplete 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 a o está a punto de llamar a SerCx2SystemDmaTransmitDrainFifoComplete.
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 SerCx2SystemDmaTransmitCreate llamada que crea el objeto system-DMA-transmit.
El controlador debe implementar una función EvtSerCx2SystemDmaTransmitCancelDrainFifo si el controlador serie tiene un FIFO de hardware (o un mecanismo de almacenamiento en búfer similar) para contener datos de transmisión. Si el controlador implementa esta función, también debe implementar el EvtSerCx2SystemDmaTransmitDrainFifo y EvtSerCx2SystemDmaTransmitPurgeFifo funciones de devolución de llamada de eventos.
Después de que SerCx2 llama a la EvtSerCx2SystemDmaTransmitDrainFifo función de devolución de llamada de eventos para solicitar que el controlador de controlador serie desagüe la transmisión FIFO, SerCx2 podría llamar al EvtSerCx2SystemDmaTransmitCancelDrainFifo función para cancelar la solicitud de purga pendiente antes de que FIFO termine de purgar. Por ejemplo, SerCx2 podría llamar a la función EvtSerCx2SystemDmaTransmitCancelDrainFifo si el cliente cancela la solicitud de escritura pendiente (IRP_MJ_WRITE) o si la solicitud de escritura agota el tiempo de espera.
Para obtener más información, vea SerCx2 System-DMA-Transmit Transactions.
Ejemplos
Para definir un EvtSerCx2SystemDmaTransmitCancelDrainFifo función de devolución de llamada, 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 EvtSerCx2SystemDmaTransmitCancelDrainFifo función de devolución de llamada denominada MySystemDmaTransmitCancelDrainFifo
, use el tipo de función EVT_SERCX2_SYSTEM_DMA_TRANSMIT_CANCEL_DRAIN_FIFO, como se muestra en este ejemplo de código:
EVT_SERCX2_SYSTEM_DMA_TRANSMIT_CANCEL_DRAIN_FIFO MySystemDmaTransmitCancelDrainFifo;
A continuación, implemente la función de devolución de llamada de la siguiente manera:
_Use_decl_annotations_
BOOLEAN
MySystemDmaTransmitCancelDrainFifo(
SERCX2SYSTEMDMATRANSMIT SystemDmaTransmit
)
{...}
El tipo de función EVT_SERCX2_SYSTEM_DMA_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_SYSTEM_DMA_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
EvtSerCx2SystemDmaTransmitDrainFifo