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


Функция EngWaitForSingleObject (winddi.h)

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

Синтаксис

ENGAPI BOOL EngWaitForSingleObject(
  [in] PEVENT         pEvent,
  [in] PLARGE_INTEGER pTimeOut
);

Параметры

[in] pEvent

Указатель на инициализированный объект события. Этот дескриптор объекта события был получен при предыдущем вызове EngCreateEvent.

[in] pTimeOut

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

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

EngWaitForSingleObject возвращает значение TRUE при успешном выполнении, включая истечение времени ожидания. В противном случае возвращается значение FALSE. Возвращаемое значение FALSE указывает, что один из параметров является недопустимым.

Комментарии

EngWaitForSingleObject приводит к переводу потока драйвера дисплея в состояние ожидания. Поток драйвера отображения остается в состоянии ожидания до тех пор, пока объект события не будет установлен в состояние сигнала или пока не истечет время ожидания. Если значение времени ожидания не указано, поток драйвера отображения остается в состоянии ожидания, пока объект события не будет установлен в состояние сигнального.

Событие синхронизации автоматически сбрасывается в состояние без знака при выполнении ожидания. Таким образом, для каждого вызова EngSetEvent или VideoPortSetEvent будет выполнено только одно ожидание. В отличие от этого, событие уведомления не будет сброшено автоматически.

Нулевое значение времени ожидания позволяет драйверу проверить условие ожидания и условно выполнить любые побочные эффекты при условии, что ожидание может быть немедленно выполнено.

Драйвер дисплея может синхронизировать операции рисования между собой и видеодрайвером минипорта, вызывая EngWaitForSingleObject с объектом события и ожидая, пока драйвер мини-порта не присвоит объекту события сигнальное состояние.

Драйвер не может вызывать EngWaitForSingleObject для событий, возвращенных из EngMapEvent.

Требования

   
Минимальная версия клиента Эта функция доступна в Windows XP и более поздних версиях.
Целевая платформа Универсальное
Верхняя часть winddi.h (включая Winddi.h)
Библиотека Win32k.lib
DLL Win32k.sys

См. также раздел

EngCreateEvent

EngSetEvent

VideoPortSetEvent