EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION función de devolución de llamada (sercx.h)
La función de devolución de llamada de evento EvtSerCx2SystemDmaReceiveCancelNewDataNotification llama a la versión 2 de la extensión del marco de serie (SerCx2) para cancelar una notificación de datos nueva que SerCx2 habilitó en una llamada anterior a la EvtSerCx2SystemDmaReceiveEnableNewDataNotification función de devolución de llamada de eventos.
Sintaxis
EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION EvtSercx2SystemDmaReceiveCancelNewDataNotification;
BOOLEAN EvtSercx2SystemDmaReceiveCancelNewDataNotification(
[in] SERCX2SYSTEMDMARECEIVE SystemDmaReceive
)
{...}
Parámetros
[in] SystemDmaReceive
Identificador de SERCX2SYSTEMDMARECEIVE a un objeto system-DMA-receive. El controlador de controlador serie llamó anteriormente al método SerCx2SystemDmaReceiveCreate para crear este objeto.
Valor devuelto
La función EvtSerCx2SystemDmaReceiveCancelNewDataNotification devuelve TRUE si se canceló correctamente la notificación de datos nuevos y el controlador del controlador serie puede garantizar que esta notificación no hará que se llame al método SerCx2SystemDmaReceiveNewDataNotification. La función devuelve FALSE si el controlador ya ha llamado al método SerCx2SystemDmaReceiveNewDataNotification o está a punto de llamar a este método.
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 SerCx2SystemDmaReceiveCreate llamada que crea el objeto system-DMA-receive. Un controlador que implementa esta función también debe implementar una función de devolución de llamada de eventos
Si la solicitud de lectura asociada agota el tiempo de espera o se cancela mientras una solicitud de notificación de datos nueva está pendiente, SerCx2 llama a la EvtSerCx2SystemDmaReceiveCancelNewDataNotification función para cancelar la notificación pendiente. Si esta llamada devuelve FALSE, SerCx2 espera que el controlador del controlador serie llame a SerCx2SystemDmaReceiveNewDataNotification; solo después de esta llamada, SerCx2 llama a la función EvtSerCx2SystemDmaReceiveCleanupTransaction, si se implementa y completa la solicitud.
Para cancelar la notificación de datos nuevos, la función EvtSerCx2SystemDmaReceiveCancelNewDataNotification normalmente deshabilita la interrupción en el controlador serie que indica que hay más datos disponibles para leerse desde el FIFO de recepción. Esta interrupción se ha habilitado mediante una llamada anterior a la función EvtSerCx2SystemDmaReceiveEnableNewDataNotification.
Para obtener más información, vea SerCx2 System-DMA-Receive Transactions.
Ejemplos
Para definir un función de devolución de llamada EvtSerCx2SystemDmaReceiveCancelNewDataNotification, primero debe proporcionar una declaración de función que identifique el tipo de función 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 EvtSerCx2SystemDmaReceiveCancelNewDataNotification función de devolución de llamada denominada MySystemDmaReceiveCancelNewDataNotification
, use el tipo de función EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION, como se muestra en este ejemplo de código:
EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION MySystemDmaReceiveCancelNewDataNotification;
A continuación, implemente la función de devolución de llamada de la siguiente manera:
_Use_decl_annotations_
BOOLEAN
MySystemDmaReceiveCancelNewDataNotification(
SERCX2SYSTEMDMARECEIVE SystemDmaReceive
)
{...}
El tipo de función EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION 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_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION 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. |