CreateMutex()在Win 10上返回ERROR_ACCESS_DENIED,但在Win 7上不返回

时间:2018-03-06 22:43:45

标签: windows namespaces mutex global-namespace

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

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

    更新

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

    1. 这个国旗是什么?我该如何改变它?我有什么谷歌的相关信息?
    2. 此操作系统的默认设置是否真的发生了变化?
    3. enter image description here

0 个答案:

没有答案