Поделиться через


функция обратного вызова EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CLEANUP (sercx.h)

Функция обратного вызова событий EvtSerCx2CustomTransmitTransactionCleanup вызывается версией 2 расширения последовательной платформы (SerCx2), чтобы очистить состояние оборудования последовательного контроллера после завершения транзакции пользовательской передачи.

Синтаксис

EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CLEANUP EvtSercx2CustomTransmitTransactionCleanup;

void EvtSercx2CustomTransmitTransactionCleanup(
  [in] SERCX2CUSTOMTRANSMITTRANSACTION CustomTransmitTransaction
)
{...}

Параметры

[in] CustomTransmitTransaction

Дескриптор SERCX2CUSTOMTRANSMITTRANSACTION для пользовательского объекта передачи. Драйвер последовательного контроллера, ранее называемый методом SerCx2CustomTransmitTransactionCreate для создания этого объекта.

Возвращаемое значение

Никакой

Замечания

Драйвер последовательного контроллера может реализовать эту функцию в качестве параметра. При реализации драйвер регистрирует функцию в SerCx2CustomTransmitTransmitTransactionCreate вызов, который создает настраиваемый объект передачи.

Драйвер последовательного контроллера должен реализовать функцию EvtSerCx2CustomTransmitTransactionCleanup, если необходимо очистить состояние последовательного контроллера в конце пользовательской транзакции передачи. SerCx2 вызывает эту функцию, если она реализована, после завершения пользовательской передачи транзакции. В ответ на вызов EvtSerCx2CustomTransmitTransmitTransactionClean up, драйвер последовательного контроллера должен вызвать метод SerCx2CustomTransmitTransactionTransactionCleanupComplete, чтобы уведомить SerCx2 после завершения очистки.

Дополнительные сведения см. в разделе SerCx2 Custom-Transmit Транзакций.

Примеры

Чтобы определить функцию обратного вызова EvtSerCx2CustomTransmitTransactionCleanup, необходимо сначала указать объявление функции, определяющее тип определяемой функции обратного вызова. Windows предоставляет набор типов функций обратного вызова для драйверов. Объявление функции с помощью типов функций обратного вызова помогает анализ кода для драйверов, статический проверяющий драйвер (SDV) и другие средства проверки подлинности, и это требование для написания драйверов для операционной системы Windows.

Например, чтобы определить функцию обратного вызова EvtSerCx2CustomTransmitTransactionCleanup, которая называется MyCustomTransmitTransactionCleanup, используйте тип функции EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CLEANUP, как показано в этом примере кода:

EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CLEANUP  MyCustomTransmitTransactionCleanup;

Затем реализуйте функцию обратного вызова следующим образом:

_Use_decl_annotations_
VOID
  MyCustomTransmitTransactionCleanup(
    SERCX2CUSTOMTRANSMITTRANSACTION  CustomTransmitTransaction
    )
  {...}

Тип функции EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CLEANUP определен в файле заголовка Sercx.h. Чтобы более точно определить ошибки при запуске средств анализа кода, обязательно добавьте в определение функции заметку Use_decl_annotations. Заметка Use_decl_annotations гарантирует, что используются заметки, применяемые к типу функции EVT_SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CLEANUP в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в объявлении функций с помощью типов ролей функций для драйверов KMDF. Дополнительные сведения о Use_decl_annotationsсм. в поведению функции.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 8.1.
целевая платформа Настольный
заголовка sercx.h
IRQL Вызывается в IRQL <= DISPATCH_LEVEL.

См. также

SERCX2CUSTOMTRANSMITTRANSACTION

SerCx2CustomTransmitTransmitTransactionCleanupComplete

SerCx2CustomTransmitTransactionCreate