Функция 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 (см. раздел "Примечания") |