Windows服务兼容性问题(ATL,c ++)

时间:2016-11-23 15:07:20

标签: c++ winapi com atl

我有一个现有的Windows服务应用程序,在过去几年中在Windows 7中运行良好。

我在Windows 10企业版中遇到了一些问题。 CoInitializeSecurity()失败并显示以下错误消息:

  

必须在对任何接口进行编组或解组之前初始化安全性。初始化后无法更改

RegisterClassObject()失败并显示错误消息,例如

  

该类配置为作为与调用者

不同的安全ID运行

尽管两者完全匹配。

我已经浏览了各种博客并回复了这个问题,但无法找到解决方案。

我创建了一个具有相同依赖关系和相同用户登录帐户的示例服务,但这两个调用都没有失败!

除了依赖和登录用户帐户之外,这些调用失败的其他可能性是什么?

HRESULT hr = NULL; 
hr = CoInitializeSecurity( NULL,                           
                          -1,                             
                           NULL,                          
                           NULL,                         
                           RPC_C_AUTHN_LEVEL_DEFAULT,
                           RPC_C_IMP_LEVEL_IMPERSONATE, 
                           NULL, 
                           EOAC_NONE, 
                           NULL); 

_Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER, 
                             REGCLS_MULTIPLEUSE) 

0 个答案:

没有答案