EngWaitForSingleObject 函数 (winddi.h)

EngWaitForSingleObject 函数将显示驱动程序的当前线程置于等待状态,直到指定的事件对象设置为信号状态,或直到等待超时。

语法

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

参数

[in] pEvent

指向初始化的事件对象的指针。 此事件对象句柄是在之前对 EngCreateEvent 的调用中获取的。

[in] pTimeOut

(可选) 指向超时值的指针,该值指定要完成等待的绝对时间或相对时间。 负值指定相对于当前时间的间隔。 该值应以 100 纳秒为单位表示。 绝对过期时间跟踪系统时间中的任何更改;相对过期时间不受系统时间更改的影响。 如果 pTimeOutNULL,则调用线程将保持等待状态,直到事件对象收到信号。

返回值

EngWaitForSingleObject 在成功时返回 TRUE ,其中包括超时的发生。否则,它将返回 FALSE。 返回值 FALSE 表示其中一个参数无效。

注解

EngWaitForSingleObject 会导致显示驱动程序线程进入等待状态。 显示驱动程序线程将保持等待状态,直到事件对象设置为信号状态或等待超时。如果未提供超时值,则显示驱动程序线程将保持等待状态,直到事件对象设置为信号状态。

满足等待后,同步事件会自动重置为非对齐状态。 因此,每次调用 EngSetEvent 或 VideoPortSetEvent 时,只会满足一次等待。 相反,通知事件不会自动重置。

如果超时值为零,则驱动程序可以测试等待条件,并有条件地执行任何副作用,前提是可以立即满足等待。

显示驱动程序可以通过使用事件对象调用 EngWaitForSingleObject 并等待,直到微型端口驱动程序将事件对象设置为信号状态,来同步自身和视频微型端口驱动程序之间的绘制操作。

驱动程序无法对从 EngMapEvent 返回的事件调用 EngWaitForSingleObject

要求

   
最低受支持的客户端 此函数在 Windows XP 及更高版本中可用。
目标平台 通用
标头 winddi.h (包括 Winddi.h)
Library Win32k.lib
DLL Win32k.sys

另请参阅

EngCreateEvent

EngSetEvent

VideoPortSetEvent