Files
vxunderground-VX-API/VX-API/IsProcessRunningAsAdmin.cpp
T
vxunderground f0b5d2bd5d Function renames, code base refactor
Some function names renamed to avoid confusion, some function annotations added.
2022-09-13 06:16:55 -05:00

27 lines
545 B
C++

#include "Win32Helper.h"
BOOL IsProcessRunningAsAdmin(VOID)
{
HANDLE hToken = NULL;
TOKEN_ELEVATION Elevation = { 0 };
DWORD dwSize = 0;
BOOL bFlag = FALSE;
if (!OpenProcessToken(GetCurrentProcessEx(), TOKEN_QUERY, &hToken))
goto EXIT_ROUTINE;
if (!GetTokenInformation(hToken, TokenElevation, &Elevation, sizeof(Elevation), &dwSize))
goto EXIT_ROUTINE;
bFlag = TRUE;
EXIT_ROUTINE:
if (!bFlag)
SetLastErrorInTeb(ERROR_ACCESS_DENIED);
if (hToken)
CloseHandle(hToken);
return (bFlag ? Elevation.TokenIsElevated : FALSE);
}