命名事件存在,即使其创建者不存在
Named Event exists even though its creator doesn't
任何想法为什么:
HANDLE hEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, L"Global\MyEventName");
成功打开事件,即使创建事件的进程不再运行?
我能想到的唯一原因是创建事件的进程在终止时没有关闭它,但是,我假设如果创建命名事件的进程在没有关闭事件的情况下终止,那么事件作系统关闭,这是一个错误的假设吗?
如果命名事件的创建者终止而没有关闭它,命名事件的状态是什么?
我正在Windows 10 x64上进行测试,两个进程(创建者/OpenEvent(都作为系统Windows服务运行,因此权限问题不在游戏中。
MSDN 说
事件对象在最后一个句柄关闭时被销毁。
它不是 事件对象在其创建者退出时被销毁。
因此,很可能还有另一个进程对此事件对象具有打开句柄。
相关文章:
- 我们可以访问一个不存在的联盟的成员吗
- C++:对不存在的命名空间使用命名空间指令
- g++ 说函数不存在,即使包含正确的标头
- 显式 std::exception_ptr 转换为 bool 不存在.VS2010 错误?
- C++ 尝试在不存在的构造函数中引用已删除的函数(使用 rapidJson)
- 查找第一个数组中不存在的元素
- 查找不存在的键时,unordered_map返回什么
- 如何优化代码以返回最接近给定整数的数字,但给定列表中不存在?
- set::find 查找不存在的元素
- 有没有办法将字符串添加到 Vector 中,但前提是它尚不存在?->C++
- inet_ntop返回不存在的地址
- CPP 使用不存在的键访问映射
- 为什么QMediaGaplessPlaybackControl不存在?
- 如果键不存在,使用 [] 运算符访问 STL Map 元素会添加新元素
- 标记未定义的颜色,并且颜色匹配系统中不存在样品
- 为什么minhook库目录不存在
- 为什么 std::vector::p ush_front() 不存在?
- 不存在从"Magick::Color"到"MagickCore::Quantum"的合适转换功能
- 为什么 MDI 子窗口在WM_NCCREATE后不存在?
- 命名事件存在,即使其创建者不存在