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


Функция 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 обновляет содержимое этой структуры для отслеживания рабочих элементов, готовых к обработке драйвером контроллера.

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

None

Remarks

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

Параметр Activity указывает на структуру 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