2013-06-24 38 views
0

我在某些WMI客户端上工作,它可以作为控制台独立应用程序正常工作。但是,当我试图把它包装成Win32的服务失败的:Win32服务中的WMI(COM初始化错误)

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

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

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

请帮我看看如何通过这个问题?

+1

看来服务标识没有足够的权限来执行此调用。 –

+0

西蒙,谢谢你的评论! – Edward83

回答

0

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