MCPcopy Create free account
hub / github.com/MaxBelkov/visualsyslog / GetCurrentElevationType

Function GetCurrentElevationType

sourcecommon/utils.cpp:1874–1906  ·  view source on GitHub ↗

---------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1872}
1873//---------------------------------------------------------------------------
1874int GetCurrentElevationType(void)
1875{
1876 DWORD pID = GetCurrentProcessId();
1877 if( pID == 0 )
1878 return 0;
1879
1880 HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, TRUE, pID);
1881 if( hProcess == NULL )
1882 return 0;
1883
1884 HANDLE hToken;
1885 if( ! OpenProcessToken(hProcess, TOKEN_QUERY, &hToken) )
1886 {
1887 CloseHandle(hProcess);
1888 return 0;
1889 }
1890
1891 TOKEN_INFORMATION_CLASS TokenInformationClass = TokenElevationType;
1892 TOKEN_ELEVATION_TYPE ElevationType;
1893 DWORD ReturnLength;
1894
1895 if( ! GetTokenInformation(hToken, TokenInformationClass, &ElevationType,
1896 sizeof(ElevationType), &ReturnLength) )
1897 {
1898 CloseHandle(hToken);
1899 CloseHandle(hProcess);
1900 return -1;
1901 }
1902
1903 CloseHandle(hToken);
1904 CloseHandle(hProcess);
1905 return ElevationType;
1906}
1907//---------------------------------------------------------------------------
1908String GetApplicationExeName(void)
1909{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected