C++ CoCreateInstanceEx返回0x80070005

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

我有一个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, 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