命名事件存在,即使其创建者不存在

Named Event exists even though its creator doesn't

本文关键字:创建者 不存在 事件 存在      更新时间:2023-10-16

任何想法为什么:

HANDLE hEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, L"Global\MyEventName");

成功打开事件,即使创建事件的进程不再运行?

我能想到的唯一原因是创建事件的进程在终止

时没有关闭它,但是,我假设如果创建命名事件的进程在没有关闭事件的情况下终止,那么事件作系统关闭,这是一个错误的假设吗?

如果命名事件的创建者终止而没有关闭它,命名事件的状态是什么?

我正在Windows 10 x64上进行测试,两个进程(创建者/OpenEvent(都作为系统Windows服务运行,因此权限问题不在游戏中。

MSDN 说

事件对象在最后一个句柄关闭时被销毁。

它不是 事件对象在其创建者退出时被销毁。

因此,很可能还有另一个进程对此事件对象具有打开句柄。