问题是WaitForMultipleObjects(Ex)只返回数组中所有信号对象的最小索引。我想知道究竟什么事件对象(使用CreateEvent创建)处于信号(或非信号)状态。 我认为这是不可能的,但我决定只是为了确保我没有遗漏任何东西=)
答案 0 :(得分:8)
对于要测试其状态的每个对象,以超时为零调用WaitForSingleObject
。如果它返回WAIT_OBJECT_0
,则表示该对象已发出信号。否则,它不是。
除非您有自动重置事件,否则等待对象发出信号不会改变其状态。
请记住,使用WaitForSingleObject
检测到的状态不一定与WaitForMultipleObjects
返回时对象的状态相同。在此期间可能会发出更多对象的信号,而其他对象可能已经变为无信号。