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


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

Метод SerCxCompleteWait уведомляет расширение последовательной платформы (SerCx), что произошло событие в текущей маске ожидания.

Синтаксис

NTSTATUS SerCxCompleteWait(
  [in] WDFDEVICE Device,
  [in] ULONG     Event
);

Параметры

[in] Device

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

[in] Event

Тип события, завершающего текущую операцию ожидания. Этот параметр является значением маски ожидания. Каждый тип события соответствует определенному биту в маске ожидания. Этот бит имеет значение, указывающее, что произошло соответствующее событие. Дополнительные сведения о типах событий, которые можно указать маской ожидания, см. в SERIAL_EV_XXX.

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

SerCxCompleteWait возвращает STATUS_SUCCESS, если вызов выполнен успешно. Возможные значения возвращаемых ошибок включают следующий код состояния.

Возвращаемый код Описание
STATUS_INVALID_PARAMETER
Указанное событие не включается в текущую маску ожидания.

Замечания

Когда SerCx получает запрос IOCTL_SERIAL_SET_WAIT_MASK от клиента, обработчик запросов в SerCx вызывает функцию обратного вызова EvtSerCerCerCxWaitmask, чтобы уведомить драйвер последовательного контроллера о том, что маска ожидания изменилась. Маска ожидания задает набор аппаратных событий для отслеживания последовательного контроллера. Во время этого вызова драйвер удаляет любую старую маску ожидания, которая могла быть указана в предыдущем EvtSerCxWaitmask вызове, а затем настраивает оборудование последовательного контроллера для обнаружения событий в новой маске ожидания.

Позже, когда происходит событие в новой маске ожидания, драйвер вызывает SerCxCompleteWait, чтобы уведомить SerCx о событии. Если ранее отправленный запрос IOCTL_SERIAL_WAIT_ON_MASK ожидается, SerCxCompleteWait завершает этот запрос с состоянием STATUS_SUCCESS и маской ожидания вывода, указывающей, какое событие произошло. В противном случае SerCxCompleteWait сохраняет событие во внутреннем журнале событий в ожидании будущего запроса IOCTL_SERIAL_WAIT_ON_MASK.

Требования

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

См. также

EvtSerCxWaitmask

IOCTL_SERIAL_SET_WAIT_MASK

IOCTL_SERIAL_WAIT_ON_MASK

SERIAL_EV_XXX

SerCxGetWaitMask