如何检查事件对象的状态而不实际更改它?

Abd*_*red 6 winapi

问题是WaitForMultipleObjects(Ex)只返回数组中所有信号对象的最小索引.我想知道究竟什么事件对象(使用CreateEvent创建)处于信号(或非信号)状态.我认为这是不可能的,但决定只是为了确保我没有遗漏任何东西=)

Rob*_*edy 8

对于要测试其状态的每个对象,调用WaitForSingleObject超时为零.如果返回WAIT_OBJECT_0,则发信号通知对象.否则,事实并非如此.

除非您有自动重置事件,否则等待对象发出信号不会改变其状态.

请记住,您检测到的状态WaitForSingleObject不一定与WaitForMultipleObjects返回时对象的状态相同.在此期间可能已经发出更多对象的信号,而其他对象可能已经变为无信号.