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


Функция 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 действителен, если и только если вызывающий указывает значение timeout нулю. То есть минипорт-драйвер не должен ожидать ненулевого интервала в IRQL = DISPATCH_LEVEL.

Требования

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