C++ CoCreateInstanceEx返回0x80070005
我有一个DCOM对象,正在尝试远程启动它。但是函数CoCreateInstance返回值0x80070005-拒绝访问。我的测试是用Windows7完成的。有什么不对劲吗C++ CoCreateInstanceEx返回0x80070005,c++,windows-7,dcom,C++,Windows 7,Dcom,我有一个DCOM对象,正在尝试远程启动它。但是函数CoCreateInstance返回值0x80070005-拒绝访问。我的测试是用Windows7完成的。有什么不对劲吗 HRESULT hr = CoInitializeEx(0, COINIT_APARTMENTTHREADED); hr = CoInitializeSecurity(0, -1, NULL, NULL, RPC_C_IMP_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE, N
HRESULT hr = CoInitializeEx(0, COINIT_APARTMENTTHREADED);
hr = CoInitializeSecurity(0, -1, NULL, NULL, RPC_C_IMP_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, NULL);
COAUTHINFO ca = {RPC_C_AUTHN_DEFAULT, RPC_C_AUTHZ_NONE, 0, RPC_C_AUTHN_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE,0, EOAC_NONE };
COAUTHIDENTITY id = {0};
ca.pAuthIdentityData = &id;
id.User = (USHORT*) L"user";
id.UserLength = userLenght;
id.Password = (USHORT*) L"password";
id.PasswordLength = passwordLenght;
id.Domain = (USHORT*)L"domainName";
id.DomainLength = domainName;
id.Flags = SEC_WINNT_AUTH_IDENTITY_ANSI;
COSERVERINFO c = {0};
c.pwszName = L"machineName";
c.pAuthInfo = &ca;
MULTI_QI res = {0};
res.pItf = NULL;
res.hr = S_OK;
res.pIID = &IID_ITextAnimationProxy;
hr = CoCreateInstanceEx(CLSID_TextAnimationProxy,0, CLSCTX_REMOTE_SERVER,&c,1,&res);
您是否尝试过运行
DCOMCNFG
并修复您的安全问题?您是否希望有人猜测您是否拥有ActiveDirectory/Domain,您的用户帐户和组是什么,这些用户帐户和组对于您尝试实例化的DCOM服务器的权限是什么?这个问题本身对我帮助很大。唯一需要的更改是SEC\u WINNT\u AUTH\u IDENTITY\u UNICODE
。我也没有调用CoInitializeSecurity