2

我有一个实现 IConnectionPoint 事件的 C++/ATL COM 服务器。我的客户端是一个附加到事件的 C# 应用程序。当 COM 服务器创建为 SYSTEM 服务时,客户端可以正确附加到事件。当 COM 服务器被创建为 LocalService 服务(首选)时,当我附加到事件时会收到 E_ACCESSDENIED 异常。

当 COM 服务器是 LocalService 时,我该怎么做才能使事件正常工作?

谢谢。

4

1 回答 1

0

您需要找到 LocalService 尝试使用的用户,并确保该用户具有访问权限。如果您无法调整整台计算机的访问权限,则可能必须以编程方式使用CoInitializeSecurity和使用已知具有访问权限的身份。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms679760(v=VS.85).aspx

于 2011-08-25T20:36:38.977 回答