функция обратного вызова EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION (sercx.h)
Функция обратного вызова событий EvtSerCx2SystemDmaReceiveCanceiveCanwDataNotification функция обратного вызова событий вызывается версией 2 расширения последовательной платформы (SerCx2), чтобы отменить новое уведомление о том, что SerCx2 включен в предыдущем вызове функции обратного вызова EvtSerCerCx2SystemDmaReceiveEnableNewDataNotification функции обратного вызова событий.
Синтаксис
EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION EvtSercx2SystemDmaReceiveCancelNewDataNotification;
BOOLEAN EvtSercx2SystemDmaReceiveCancelNewDataNotification(
[in] SERCX2SYSTEMDMARECEIVE SystemDmaReceive
)
{...}
Параметры
[in] SystemDmaReceive
Дескриптор SERCX2SYSTEMDMARECEIVE объекту system-DMA-receive. Драйвер последовательного контроллера ранее вызвал метод SerCx2SystemDmaReceiveCreate для создания этого объекта.
Возвращаемое значение
Функция EvtSerCx2SystemDmaReceiveCancelNewDataNot ification возвращает TRUE, если новое уведомление было успешно отменено, а драйвер последовательного контроллера может гарантировать, что это уведомление не приведет к вызову метода SerCx2SystemDmaReceiveNewDataNotification. Функция возвращает FALSE, если драйвер уже вызвал метод SerCx2SystemDmaReceiveNewDataNotification или будет вызывать этот метод.
Замечания
Драйвер последовательного контроллера может реализовать эту функцию в качестве параметра. При реализации драйвер регистрирует функцию в вызове serCx2SystemDmaReceiveCreate, который создает объект system-DMA-receive. Драйвер, реализующий эту функцию, также должен реализовать функцию обратного вызова событий EvtSerCx2SystemDmaReceiveEnableNewDataNotification.
Если связанный запрос чтения истекает или отменяется во время ожидания запроса на уведомление о новых данных, SerCx2 вызывает функцию EvtSerCerCx2SystemDmaReceiveCancelNewDataNotification, чтобы отменить ожидающее уведомление. Если этот вызов возвращает FALSE, SerCx2 ожидает, что драйвер последовательного контроллера вызовет SerCx2SystemDmaReceiveNewDataNotification; только после этого вызова SerCx2 вызывает функцию EvtSerCx2SystemDmaReceiveCleanupTransaction, если она реализована, и завершите запрос.
Чтобы отменить уведомление о новых данных, функция EvtSerCx2SystemDmaReceiveCancelNewDataNotification обычно отключает прерывание в последовательном контроллере, указывающее, что дополнительные данные доступны для чтения из получения FIFO. Это прерывание было включено предыдущим вызовом функции EvtSerCx2SystemDmaReceiveEnableNewDataNotification.
Дополнительные сведения см. в разделе SerCx2 System-DMA-Receive Transactions.
Примеры
Чтобы определить функцию обратного вызова EvtSerCx2SystemDmaReceiveCancelNewDataNotification, необходимо сначала указать объявление функции, определяющее тип определяемой функции обратного вызова. Windows предоставляет набор типов функций обратного вызова для драйверов. Объявление функции с помощью типов функций обратного вызова помогает анализ кода для драйверов, статический проверяющий драйвер (SDV) и другие средства проверки подлинности, и это требование для написания драйверов для операционной системы Windows.
Например, чтобы определить функцию обратного вызова EvtSerCx2SystemDmaReceiveCancelNewDataNotification, которая называется MySystemDmaReceiveCancelNewDataNotification
, используйте тип функции EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION, как показано в этом примере кода:
EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION MySystemDmaReceiveCancelNewDataNotification;
Затем реализуйте функцию обратного вызова следующим образом:
_Use_decl_annotations_
BOOLEAN
MySystemDmaReceiveCancelNewDataNotification(
SERCX2SYSTEMDMARECEIVE SystemDmaReceive
)
{...}
Тип функции EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION определен в файле заголовка Sercx.h. Чтобы более точно определить ошибки при запуске средств анализа кода, обязательно добавьте в определение функции заметку Use_decl_annotations. Заметка Use_decl_annotations гарантирует, что используются заметки, применяемые к типу функции EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в объявлении функций с помощью типов ролей функций для драйверов KMDF. Дополнительные сведения о
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8.1. |
целевая платформа | Настольный |
заголовка | sercx.h |
IRQL | Вызывается в IRQL <= DISPATCH_LEVEL. |