Win32服务中的WMI(COM初始化错误)

时间:2013-06-24 08:04:52

标签: security visual-c++ com wmi access-denied

我在一些WMI客户端上工作,它可以作为控制台独立应用程序正常工作。但是,当我尝试将其包装为Win32服务时,它失败了:

HRESULT hres = CoCreateInstance(CLSID_UnsecuredApartment, 0, 
    CLSCTX_LOCAL_SERVER, IID_IUnsecuredApartment, 
    (void**)&unsecuredApartment);

CoCreateInstance 失败,错误 0x80070005 (拒绝访问);

我在OnStart回调之前从“主”线程调用它。 COM已初始化为标志 COINIT_MULTITHREADED ;操作系统是Windows 7;

请帮我问一下如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

好吧,就像Simon说服务需要访问权限;在services.msc - >服务名称 - >属性 - >登录 - >需要设置正确的域用户和密码;这对我有用;