我可以在ImpersonateLoggedOnUser函数中使用OpenProcessToken函数创建的令牌吗?

时间:2015-03-26 13:58:53

标签: windows

我可以在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 ..任何人都可以告诉我我做错了或者必须改变一些论点。 (提前致谢)

1 个答案:

答案 0 :(得分:0)

您已在tokenForUser_INTERACTIVE中收集了令牌,并在对ImpersonateLoggedOnUser的调用中使用了tokenForUser_SERVICE。这是有意的吗?否则,您需要在调用中使用tokenForUser_INTERACTIVE。

令牌也应该有TOKEN_QUERY和TOKEN_IMPERSONATE,并且上面只获得了TOKEN_IMPERSONATE。

相关问题