I'm trying to connect to a remote computer in C++, using
`IWbemLocator::ConnectServer` method. The hosting process has no
permissions to connect, but the current thread is impersonated to a
powerful user. The call fails (error code is 0x80070005). In the
Security Event Log of the remote machine I can find the authentication
request, and the username is the process' user (not the impersonatd
user).
I've tried to create a new process (Using CreateProcessAsUser), and
then all works. It's not good enough because I must do it in the
current process.
It looks like the problem is in the underlying DCOM layer.
Can someone help?