Problems with COM security in the Vista 5308 build

P

Paul Chis

Hello.
I developed a COM object in Windows Vista Beta 5207 release which registered
with Sync Center. I used as a model the sample code from Windows Vista SDK.
It all worked fine until I installed the new 5308 release of Windows Vista.
Now, the code fails when trying to register the dll.

This is the sample code that fails:

hr = CoCreateInstance
(CLSID_SyncMgr,NULL,CLSCTX_SERVER,IID_ISyncMgrRegister,(LPVOID *)
&lpSyncMgrRegister);
if (SUCCEEDED(hr))
{
hr = lpSyncMgrRegister->RegisterSyncMgrHandler(CLSID_SyncMgrHandler,
wszCLSIDDescription,0 /* dwSyncMgrRegisterFlags */);

AssertSz(SUCCEEDED(hr),"Registration Failed");
hr = lpSyncMgrRegister->Release();

}

The call on lpSyncMgrRegister->RegisterSyncMgrHandler returns
E_ACCESSDENIED.
Can anyone give me a clue about what's happening here. I tried the sample
code provided with the Windows Platform SDK and it works just the same.

I even tried to use
hr = CoInitializeSecurity(NULL, -1, NULL, NULL,RPC_C_AUTHN_LEVEL_NONE,
RPC_C_IMP_LEVEL_IMPERSONATE, NULL,EOAC_NONE, NULL);
before the code section specified above, but has no effect.

Thanks and the best regards,

Paul Chis.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top