The OpenProcessToken function opens the access token associated with a process.
BOOL OpenProcessToken(
HANDLE ProcessHandle, |
// handle to process |
DWORD DesiredAccess, |
// desired access to process |
PHANDLE TokenHandle |
// pointer to handle of open access token |
); |
Value |
Meaning |
TOKEN_ADJUST_DEFAULT |
Required to change the default ACL, primary group, or owner of an access token. |
TOKEN_ADJUST_GROUPS |
Required to change the groups specified in an access token. |
TOKEN_ADJUST_PRIVILEGES |
Required to change the privileges specified in an access token. |
TOKEN_ALL_ACCESS |
Combines the STANDARD_RIGHTS_REQUIRED standard access rights and all individual access rights for tokens. |
TOKEN_ASSIGN_PRIMARY |
Required to attach a primary token to a process in addition to the SE_CREATE_TOKEN_NAME privilege. |
TOKEN_DUPLICATE |
Required to duplicate an access token. |
TOKEN_EXECUTE |
Combines the STANDARD_RIGHTS_EXECUTE standard access rights and the TOKEN_IMPERSONATE access right. |
TOKEN_IMPERSONATE |
Required to attach an impersonation access token to a process. |
TOKEN_QUERY |
Required to query the contents of an access token. |
TOKEN_QUERY_SOURCE |
Required to query the source of an access token. |
TOKEN_READ |
Combines the STANDARD_RIGHTS_READ standard access rights and the TOKEN_QUERY access right. |
TOKEN_WRITE |
Combines the STANDARD_RIGHTS_WRITE standard access rights and the TOKEN_ADJUST_PRIVILEGES, TOKEN_ADJUST_GROUPS, and TOKEN_ADJUST_DEFAULT access rights. |
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
AdjustTokenGroups, AdjustTokenPrivileges, GetTokenInformation, OpenThreadToken, SetTokenInformation