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


Функция SerCxGetActivity (sercx.h)

Метод SerCxGetActivity извлекает состояние ожидающей работы для драйвера последовательного контроллера.

Синтаксис

void SerCxGetActivity(
  [in]      WDFDEVICE       Device,
  [in, out] PSERCX_ACTIVITY Activity
);

Параметры

[in] Device

Дескриптор WDFDEVICE для объекта устройства платформы, представляющего последовательный контроллер.

[in, out] Activity

Указатель на структуру, выделенную вызывающим объектом, SERCX_ACTIVITY. Вызывающий объект должен ранее вызвать функцию SERCX_ACTIVITY_INIT, чтобы инициализировать эту структуру до его первоначального использования. После этого каждый SerCxGetActivity обновляет содержимое этой структуры для отслеживания рабочих элементов, готовых к обработке драйвером контроллера.

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

Никакой

Замечания

Драйвер последовательного контроллера вызывает этот метод, чтобы получить сводку о работе обработки, которую необходимо выполнить от имени расширения последовательной платформы (SerCx). Как правило, SerCxGetActivity вызывается подпрограммой передачи и получения DPC в драйвере контроллера.

Параметр действия указывает на структуру SERCX_ACTIVITY, описывающую ожидающие работы для драйвера контроллера. Ожидающая работа, которую SerCx назначает драйверу контроллера, управляется запросами ввода-вывода от клиентов, но запрос ввода-вывода не обязательно создает рабочий элемент. Например, если SerCx имеет достаточное количество полученных данных в буфере памяти для завершения ожидающего запроса на чтение, этот запрос не приводит к тому, что получение член структуры SERCX_ACTIVITY будет иметь значение TRUE.

Для циклического прохождения ожидающих рабочих элементов подпрограмма передачи и получения DPC SerCxGetActivityобрабатывает полную операцию передачи или получения, а затем вызывает SerCxGetActivity, чтобы определить, требуется ли другая операция другого типа. Если для другой операции требуется работа, эта работа может начинаться во время того же обратного вызова, но должна остановиться, если возвращаемое значение из вызова SerCxProgressReceive или SerCxProgressTransmit направляет подпрограмму DPC для перепланирования в дальнейшем.

Блокировка защищает структуру SERCX_ACTIVITY, обновленную вызовом SerCxGetActivity. Во время вызова эта блокировка приобретается обработчиками событий в SerCx, чтобы обновить сводку работ, ожидающих в настоящее время для драйвера контроллера.

Требования

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

См. также

SERCX_ACTIVITY

SERCX_ACTIVITY_INIT

SerCxCompleteWait

SerCxProgressReceive

SerCxProgressTransmit