Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция 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 (см. раздел "Примечания") |