Я не думаю, что тип возвышения - это тот ответ, который вам нужен. Вы просто хотите знать, если он повышен. Используйте TokenElevation вместо TokenElevationType при вызове GetTokenInformation. Если структура возвращает положительное значение, пользователь является администратором. Если ноль, у пользователя нормальная высота.
Вот решение Delphi:
function TMyAppInfo.RunningAsAdmin: boolean;
var
hToken, hProcess: THandle;
pTokenInformation: pointer;
ReturnLength: DWord;
TokenInformation: TTokenElevation;
begin
hProcess := GetCurrentProcess;
try
if OpenProcessToken(hProcess, TOKEN_QUERY, hToken) then try
TokenInformation.TokenIsElevated := 0;
pTokenInformation := @TokenInformation;
GetTokenInformation(hToken, TokenElevation, pTokenInformation, sizeof(TokenInformation), ReturnLength);
result := (TokenInformation.TokenIsElevated > 0);
finally
CloseHandle(hToken);
end;
except
result := false;
end;
end;