Getting the user details of a thread at runtime

Hi,

I am having a C++ based COM application which is a multi-threaded application. A number of threads are spawned from main process, I would like to retrieve the user details of a thread at run-time, which functions should be used.

Thanks,
Saravanan
sarantmAsked:
Who is Participating?
 
ZoppoConnect With a Mentor Commented:
Hi sarantm,

as far as I understand you want to get info about the user who is the owner of a thread, right?

If so you can use 'OpenThreadToken' to retrieve the thread's 'access token' - with this you can get 'GetTokenInformation' to retrieve further information, i.e. 'TokenOwner' - this will return an SID which can be used to retrieve the user's name with 'LookupAccountSid'.

Hope that helps,

ZOPPO
0
 
sarantmAuthor Commented:
Hello ZOPPO,

I used GetUserNameEx function to retrieve user name and domain of given thread. This is much more easier than your approach.

What is advantage over your approach and mine.

Tnx,
Saravanan
0
 
ZoppoCommented:
Well, I posted the above comment since from your question it wasn't really clear what exactly you need.

The 'GetUserNameEx' returns info about the calling thread - my suggestion can be used to retrieve info about any running thread (as long as the calling thread has permissions to query info about that thread) - so, you could even i.e. use it to enumerate through all threads running on a machine and determine the user who started these threads.

If you just need the info within the running thread for sure 'GetUserNameEx' is much easier ...
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.