Árvore de páginas

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) [...]


Abrangência

Builds 13.1.3.34 e 13.2.3.34

Veja também