DWORD WaitForSingleObject(
HANDLE hHandle,
DWORD dwMilliseconds
);
参数
hHandle[in]对象句柄。可以指定一系列的对象,如Event、Job、Memory resource notification、Mutex、Process、Semaphore、Thread、Waitable timer等。
dwMilliseconds[in]定时时间间隔,单位为milliseconds(毫秒).如果指定一个非零值,函数处于等待状态直到
hHandle标记的对象被触发,或者时间到了。如果
dwMilliseconds为0,对象没有被触发信号,函数不会进入一个等待状态,它总是立即返回。如果
dwMilliseconds为INFINITE,对象被触发信号后,函数才会返回。
返回值:
WAIT_ABANDONED 0x00000080:当hHandle为mutex时,如果拥有mutex的线程在结束时没有释放核心对象会引发此返回值。
WAIT_OBJECT_0 0x00000000 :核心对象已被激活,说白了就是信号量为TRUE
WAIT_TIMEOUT 0x00000102:等待超时
WAIT_FAILED 0xFFFFFFFF :出现错误,可通过GetLastError得到错误代码
配置使用函数:
SetEvent 信号量设置为TRUE
ResetEvent 信号量设置为FALSE