2

我有 2 个 Windows 程序,一个在 Session 0 上运行,另一个在 Session 1 上运行。这两个程序使用“Global\”命名空间前缀创建相同命名的互斥锁,Session 0 首先创建,当 Session 1 尝试创建互斥锁时,我收到 ERROR_ACCESS_DENIED 错误windows 10 但在 windows 7 上运行良好。互斥权限\安全属性\代码在两个操作系统上看起来都一样。

  1. 我知道如何解决这个问题,但我很想知道为什么 Windows 7 和 10 的行为之间存在差异?我认为 win 10 的行为是正确的,互斥锁是在我的用户没有权限的情况下创建的......
  2. 操作系统之间的“CREATOR OWNER”权限是否不同?我怎样才能“回声创作者所有者”?
  3. 全局\本地命名空间只影响会话之间的共享\分离?或者还有更多?

谢谢!!!

更新

我发现导致这种情况的 Windows 7 和 10 之间的差异。通过 Process Explorer 检查进程属性,我可以在 Win7 上看到“拒绝”标志与“所有者”标志(下图)。

  1. 这是什么旗帜?我该如何改变它?我用谷歌搜索什么信息?
  2. 操作系统之间的默认设置是否真的发生了变化?

在此处输入图像描述

4

0 回答 0