GetPowerSC
Retorna os elementos do plano de energia (power scheme) corrente do sistema operacional em um array de arrays.
Sintaxe
GetPowerSC()
Retorno
Nome | Tipo | Descrição |
---|---|---|
aPSInfo | vetor | Array de arrays contendo os dados dos elementos do plano de energia corrente do sistema operacional. |
Observações
A primeira dimensão do array representa do número de planos de energia no sistema operacional, no formato de um array de 0 a n elementos:
- Para Windows, apenas uma linha de dados de plano de energia será retornada para a CPU 0; para versões não suportadas, informa que o plano de energia é desconhecido, 'Unknown Scheme';
- Para o Linux, cada linha conterá os dados de plano de energia de uma CPU; para versões não suportadas, informa que o plano de energia é desconhecido, 'Unknown Scheme';
- Para sistemas operacionais não suportados, será retornado um array vazio;
A segunda dimensão do array representa os dados de plano de energia por CPU, no formato de uma array de 3 elementos:
Posição | Tipo | Descrição |
---|---|---|
1 | Caractere | Nome do plano de energia no sistema operacional |
2 | Numérico | Identificador do tipo do plano de energia |
3 | Numérico | Identificador da CPU |
Os tipos dos plano de energia e seus nomes variam conforme o sistema operacional:
Tipo
Nome do plano de energia
Sistema Operacional
Uso Sugerido
0
Unknown Scheme
Windows / Linux
1
Power Saver
Windows
2
Balanced
Windows
3
High Performance
Windows
X
4
user_defined_power_scheme
Windows
5
performance
Linux
X
6
powersave
Linux
7
userspace
Linux
8
ondemand
Linux
9
conservative
Linux
10
schedutil
Linux
- Para Windows, 'user_defined_power_scheme' representa o nome de um plano de energia definido pelo usuário;
- O identificador de CPU será 0 (zero) no Windows, estará entre 0 a n no Linux, conforme as CPUs ativas no computador, e 0 (zero) para versões não suportadas destes sistemas operacionais.
Exemplos
User function exemplo() Local aPSInfo := GetPowerSC() Local i := 0 Local strResult := "" VarInfo( "aPSInfo", aPSInfo ) ConOut( Chr(13) + Char(10) ) For i := 1 To Len( aPSInfo ) strResult += "aPSInfo [" + AllTrim( Str( i ) ) + "][1] = Name = [" + aPSInfo[i][1] + "]" + Chr(13) + Char(10) strResult += "aPSInfo [" + AllTrim( Str( i ) ) + "][2] = Type ID = [" + AllTrim( Str( aPSInfo[i][2] ) ) + "]" + Chr(13) + Char(10) strResult += "aPSInfo [" + AllTrim( Str( i ) ) + "][3] = CPU ID = [" + AllTrim( Str( aPSInfo[i][3] ) ) + "]" + Chr(13) + Char(10) Next i ConOut( strResult ) Return
Resultados
Windows, versão suportada: aPSInfo -> ARRAY ( 1) [...] aPSInfo[1] -> ARRAY ( 3) [...] aPSInfo[1][1] -> C ( 16) [High Performance] aPSInfo[1][2] -> N ( 15) [ 3.0000] aPSInfo[1][3] -> N ( 15) [ 0.0000] aPSInfo [1][1] = Name = [High Performance] aPSInfo [1][2] = Type ID = [3] aPSInfo [1][3] = CPU ID = [0]
Windows, versão não suportada: aPSInfo -> ARRAY ( 1) [...] aPSInfo[1] -> ARRAY ( 3) [...] aPSInfo[1][1] -> C ( 14) [Unknown Scheme] aPSInfo[1][2] -> N ( 15) [ 0.0000] aPSInfo[1][3] -> N ( 15) [ 0.0000] aPSInfo [1][1] = Name = [Unknown Scheme] aPSInfo [1][2] = Type ID = [0] aPSInfo [1][3] = CPU ID = [0]
Linux, versão suportada: aPSInfo -> ARRAY ( 4) [...] aPSInfo[1] -> ARRAY ( 3) [...] aPSInfo[1][1] -> C ( 11) [performance] aPSInfo[1][2] -> N ( 15) [ 5.0000] aPSInfo[1][3] -> N ( 15) [ 0.0000] aPSInfo[2] -> ARRAY ( 3) [...] aPSInfo[2][1] -> C ( 11) [performance] aPSInfo[2][2] -> N ( 15) [ 5.0000] aPSInfo[2][3] -> N ( 15) [ 1.0000] aPSInfo[3] -> ARRAY ( 3) [...] aPSInfo[3][1] -> C ( 9) [powersave] aPSInfo[3][2] -> N ( 15) [ 6.0000] aPSInfo[3][3] -> N ( 15) [ 2.0000] aPSInfo[4] -> ARRAY ( 3) [...] aPSInfo[4][1] -> C ( 9) [powersave] aPSInfo[4][2] -> N ( 15) [ 6.0000] aPSInfo[4][3] -> N ( 15) [ 3.0000] aPSInfo [1][1] = Name = [performance] aPSInfo [1][2] = Type ID = [5] aPSInfo [1][3] = CPU ID = [0] aPSInfo [2][1] = Name = [performance] aPSInfo [2][2] = Type ID = [5] aPSInfo [2][3] = CPU ID = [1] aPSInfo [3][1] = Name = [powersave] aPSInfo [3][2] = Type ID = [6] aPSInfo [3][3] = CPU ID = [2] aPSInfo [4][1] = Name = [powersave] aPSInfo [4][2] = Type ID = [6] aPSInfo [4][3] = CPU ID = [3]
Sistemas não suportados: aPSInfo -> ARRAY ( 0) [...]