tracy/profiler/src/IsElevated.cpp

42 lines
615 B
C++
Raw Normal View History

2022-11-27 20:48:20 +00:00
#include "IsElevated.hpp"
#ifdef _WIN32
#include <windows.h>
bool IsElevated()
{
HANDLE token;
if( OpenProcessToken( GetCurrentProcess(), TOKEN_QUERY, &token ) == 0 ) return false;
TOKEN_ELEVATION te;
DWORD sz;
if( GetTokenInformation( token, TokenElevation, &te, sizeof( te ), &sz ) == 0 )
{
CloseHandle( token );
return false;
}
bool ret = te.TokenIsElevated;
CloseHandle( token );
return ret;
}
#elif defined __EMSCRIPTEN__
bool IsElevated()
{
return false;
}
2022-11-27 20:48:20 +00:00
#else
2022-11-27 21:35:19 +00:00
#include <unistd.h>
2022-11-27 20:48:20 +00:00
bool IsElevated()
{
2022-11-27 21:35:19 +00:00
return getuid() == 0;
2022-11-27 20:48:20 +00:00
}
#endif