Windows 是否从服务创建会话互斥体?

Windows 是否从服务创建会话互斥体?,windows,object,mutex,Windows,Object,Mutex,考虑:(MSDN) (并使用Sysinternals中的WinObj。) 如何为创建会话的会话以外的会话创建互斥体 即,从会话0中的系统服务,在会话1中创建互斥 我尝试使用 \会话\1\BaseNamedObjects\myName 但这失败了 是否可以直接写入WinObj中显示的Windows对象命名空间的根目录?尝试在互斥体名称中使用“全局”前缀。在运行终端服务的服务器上,命名系统互斥可以具有两个级别的可见性。如果互斥体的名称以前缀“Global\”开头,则互斥体在所有终端服务器会话中都可见

考虑:(MSDN)

(并使用Sysinternals中的WinObj。)

如何为创建会话的会话以外的会话创建互斥体

即,从会话0中的系统服务,在会话1中创建互斥

我尝试使用

\会话\1\BaseNamedObjects\myName

但这失败了

是否可以直接写入WinObj中显示的Windows对象命名空间的根目录?

尝试在互斥体名称中使用“全局”前缀。在运行终端服务的服务器上,命名系统互斥可以具有两个级别的可见性。如果互斥体的名称以前缀“Global\”开头,则互斥体在所有终端服务器会话中都可见


或者你可以尝试另一种方法。尝试使用名称中带有“Global\”前缀的方法,而不是互斥。

会话对象只能由在该会话中运行的进程创建,至少可以从用户模式创建;我不知道在内核驱动程序中是否可以做到这一点。但你为什么要这么做?在你自己的会话之外的会话中胡闹是不好的行为。我想通过编程方式从系统服务访问用户会话并在会话中创建变体。我不明白为什么这不可能。实际上,我可以创建ProcessAsUser,将一个进程注入到用户的会话中,代表我的服务执行这些任务,这给了我同样的效果。如果可能的话,我更愿意直接从服务中操作对象。