我在会话0中运行了一个C#服务,它作为COM服务器运行。我像这样设置COM服务器:
_cookie = _regServices.RegisterTypeForComClients(
typeof(COMServer),
RegistrationClassContext.LocalServer | RegistrationClassContext.RemoteServer,
RegistrationConnectionType.MultipleUse);
如果我以管理员身份运行我的客户端应用程序,它可以正常工作并调用公开的函数,但是如果我以标准用户身份运行客户端CoCreateInstance
由于需要提升而失败。
我已尝试从服务器调用CoInitializeSecurity
,如下所示;
UInt32 hResult = ComAPI.CoInitializeSecurity(
IntPtr.Zero, // Add here your Security descriptor
-1,
IntPtr.Zero,
IntPtr.Zero,
ComAPI.RPC_C_AUTHN_LEVEL_PKT_PRIVACY,
ComAPI.RPC_C_IMP_LEVEL_IDENTIFY,
IntPtr.Zero,
ComAPI.EOAC_DISABLE_AAA
| ComAPI.EOAC_SECURE_REFS
| ComAPI.EOAC_NO_CUSTOM_MARSHAL,
IntPtr.Zero);
但是由于已经设置了安全性,这会失败。我可以从服务器端做任何事情以允许非高架连接吗?
谢谢, Ĵ