---------------------------------------------------------------------------
| 1872 | } |
| 1873 | //--------------------------------------------------------------------------- |
| 1874 | int 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 | //--------------------------------------------------------------------------- |
| 1908 | String GetApplicationExeName(void) |
| 1909 | { |
nothing calls this directly
no outgoing calls
no test coverage detected