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

Security Win32服务中的WMI(COM初始化错误),security,visual-c++,com,wmi,access-denied,Security,Visual C++,Com,Wmi,Access Denied,我在一些WMI客户端上工作,它可以作为控制台独立应用程序正常工作。但当我尝试将其包装为Win32服务时,它在以下情况下失败: HRESULT hres = CoCreateInstance(CLSID_UnsecuredApartment, 0, CLSCTX_LOCAL_SERVER, IID_IUnsecuredApartment, (void**)&unsecuredApartment); CoCreateInstance失败,错误为0x80070005(访问

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

HRESULT hres = CoCreateInstance(CLSID_UnsecuredApartment, 0, 
    CLSCTX_LOCAL_SERVER, IID_IUnsecuredApartment, 
    (void**)&unsecuredApartment);
CoCreateInstance失败,错误为0x80070005(访问被拒绝)

在OnStart回调之前,我从“main”线程调用它。COM已使用标志“Conit_多线程”初始化;操作系统为windows7


请帮我解决这个问题?

好吧,就像西蒙说的,服务需要访问权限;在services.msc->Service Name->Properties->Log-on->中需要设置正确的域用户和密码;这对我来说很有用

服务标识似乎没有足够的权限进行此呼叫。Simon,感谢您的评论!