gpt4 book ai didi

COM out of process server 启动多个实例

转载 作者:行者123 更新时间:2023-12-04 15:59:38 25 4
gpt4 key购买 nike

你如何强制本地 COM 服务器在一个普通帐户下运行(本地系统会很好)? RunAs 文档似乎仅适用于 DCOM,并且不能在本地工作。

我面临的问题是我的 CoCreateInstance 是从在不同桌面上运行的进程调用的,并且在这种情况下,SCM 想要为每个桌面启动一个新服务器,我只想要一个实例 - 按照设计!

最佳答案

您所描述的是系统服务,而不是 COM 服务器。 COM 服务器设计为在运行它的任何 session 下运行,而不是在“ session 0”(服务)或任何单个 session 下运行。如果您需要仅在 1 个 session 下运行并且对其他所有内容具有全局访问权限的东西,您应该使用 Windows 服务,而不是 COM 服务器。

如果您出于其他原因需要 COM 服务器方面,但希望在全局范围内共享资源或仍然有“一个进程”来控制您需要做的任何事情......您可以让您的 COM 服务器使用您喜欢的任何 IPC 方法与您的服务通信.

此外,在您的评论中,您说“当我从命令行运行时”——如果您从命令行运行 EXE,它是否注册为 COM 服务器并不重要,它就像任何其他 EXE/应用程序——这意味着它以您运行它的任何用户身份运行,在您所处的任何 session 中。将 EXE 注册为 COM 服务器只允许其他进程运行该 EXE 并通过 OLE/COM 与其通信,但是EXE 仍然可以作为普通应用程序运行。例如,Microsoft Word 和 Outlook 都是 COM 服务器。也就是说,outlook.exe 是一个 COM 服务器,当然您也可以将其作为普通应用程序运行。

关于COM out of process server 启动多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14806097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com