سؤال

I'm building an Microsoft RPC server and I was wondering if there is a way to determine which user called the RPC function? (meaning, which user is running the process that invoked the RPC method)

هل كانت مفيدة؟

المحلول

I don't know if there is a more efficient method, but one solution is to call RpcImpersonateClient, OpenThreadToken, and then RpcRevertToSelf or RpcRevertToSelfEx as appropriate.

You can get the user SID from the token with GetTokenInformation and convert it to a username if desired with LookupAccountSid.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top