Функция VideoPortWaitForSingleObject (video.h)

Функция VideoPortWaitForSingleObject переводит текущий поток в состояние ожидания, пока заданный объект диспетчеризации не перейдет в состояние сигнала или (при необходимости) до истечения времени ожидания.

Синтаксис

VIDEOPORT_API VP_STATUS VideoPortWaitForSingleObject(
  [in] IN PVOID          HwDeviceExtension,
  [in] IN PVOID          Object,
  [in] IN PLARGE_INTEGER Timeout
);

Параметры

[in] HwDeviceExtension

Указатель на расширение устройства драйвера мини-порта.

[in] Object

Указатель на объект события.

[in] Timeout

(Необязательно) Указатель на значение времени ожидания, указывающее абсолютное или относительное время ожидания. Отрицательное значение указывает интервал ожидания относительно текущего времени. Значение должно быть выражено в единицах 100 наносекунд. Абсолютное время истечения срока действия отслеживает любые изменения системного времени; Изменения системного времени не влияют на относительный срок действия.

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

VideoPortWaitForSingleObject возвращает одно из следующих значений:

Код возврата Описание
ERROR_INVALID_PARAMETER Один из параметров является недопустимым или вызов пытается дождаться события сопоставленного пользователя.
NO_ERROR Объект события, указанный в параметре pObject, выполнил ожидание.
WAIT_TIMEOUT Время ожидания истекло до того, как объекту события было присвоено состояние сигнала. Это значение может быть возвращено, если указанный набор условий ожидания не может быть немедленно выполнен, а время ожидания равно нулю.

Комментарии

Драйвер мини-порта не должен пытаться ждать события сопоставленного пользователя.

Вызывающие объекты VideoPortWaitForSingleObject должны выполняться в IRQL <= DISPATCH_LEVEL. Как правило, вызывающий объект выполняется в irQL = PASSIVE_LEVEL и в контексте неарбитарного потока. Вызов этой функции при выполнении в IRQL = DISPATCH_LEVEL действителен, если и только в том случае, если вызывающий объект задает значение времени ожидания , равное нулю. То есть драйвер мини-порта не должен ждать ненулевого интервала при IRQL = DISPATCH_LEVEL.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows XP и более поздних версиях операционных систем Windows.
Целевая платформа Персональный компьютер
Верхняя часть video.h (включая Video.h)
Библиотека Videoprt.lib
DLL Videoprt.sys
IRQL <= DISPATCH_LEVEL (см. раздел "Примечания")