我可以在OpenProcessToken()
函数
ImpersonateLoggedOnUser()
函数创建的令牌吗?
irc=OpenProcessToken(
GetCurrentProcess(),
TOKEN_IMPERSONATE,
&tokenForUser_INTERACTIVE );
if(irc==0)
{
dwErrorCode = GetLastError();
printf("open processtoken has failed ");
sprintf(ec,"%d",dwErrorCode);
}
else
{
printf ("openProcess successs ");
}
and now i am trying to use "tokenForUser_INTERACTIVE" in
irc = ImpersonateLoggedOnUser(tokenForUser_INTERACTIVE);
并且返回值为0
..任何人都可以告诉我我做错了或者必须改变一些论点。 (提前致谢)
答案 0 :(得分:0)
您已在tokenForUser_INTERACTIVE中收集了令牌,并在对ImpersonateLoggedOnUser的调用中使用了tokenForUser_SERVICE。这是有意的吗?否则,您需要在调用中使用tokenForUser_INTERACTIVE。
令牌也应该有TOKEN_QUERY和TOKEN_IMPERSONATE,并且上面只获得了TOKEN_IMPERSONATE。