Função GetProfileIntA (winbase.h)

Recupera um inteiro de uma chave na seção especificada do arquivo Win.ini.

Nota Essa função é fornecida apenas para compatibilidade com aplicativos baseados no Windows de 16 bits. Os aplicativos devem armazenar informações de inicialização no registro.
 

Sintaxe

UINT GetProfileIntA(
  [in] LPCSTR lpAppName,
  [in] LPCSTR lpKeyName,
  [in] INT    nDefault
);

Parâmetros

[in] lpAppName

O nome da seção que contém o nome da chave.

[in] lpKeyName

O nome da chave cujo valor deve ser recuperado. Esse valor está na forma de uma cadeia de caracteres; a função GetProfileInt converte a cadeia de caracteres em um inteiro e retorna o inteiro.

[in] nDefault

O valor padrão a ser retornado se o nome da chave não puder ser encontrado no arquivo de inicialização.

Retornar valor

O valor retornado é o equivalente inteiro da cadeia de caracteres após o nome da chave em Win.ini. Se a função não puder encontrar a chave, o valor retornado será o valor padrão. Se o valor da chave for menor que zero, o valor retornado será zero.

Comentários

Se o nome da chave consistir em dígitos seguidos por caracteres que não são numéricos, a função retornará apenas o valor dos dígitos. Por exemplo, a função retorna 102 para a seguinte linha: KeyName=102abc.

Windows Server 2003 e Windows XP/2000: As chamadas para funções de perfil podem ser mapeadas para o Registro em vez de para os arquivos de inicialização. Esse mapeamento ocorre quando o arquivo de inicialização e a seção são especificados no registro sob a seguinte chave:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping

Quando a operação foi mapeada, a função GetProfileInt recupera informações do registro, não do arquivo de inicialização; a alteração no local de armazenamento não tem efeito sobre o comportamento da função.

As funções de perfil usam as seguintes etapas para localizar informações de inicialização:

  1. Procure no Registro o nome do arquivo de inicialização na chave IniFileMapping .
  2. Procure o nome da seção especificado por lpAppName. Esse será um valor nomeado sob a chave que tem o nome do arquivo de inicialização ou uma subchave com esse nome ou o nome não existirá como um valor ou subchave.
  3. Se o nome da seção especificado por lpAppName for um valor nomeado, esse valor especificará onde, no Registro, você encontrará as chaves da seção.
  4. Se o nome da seção especificado por lpAppName for uma subchave, os valores nomeados sob essa subchave especificarão onde, no Registro, você encontrará as chaves da seção. Se a chave que você está procurando não existir como um valor nomeado, haverá um valor não nomeado (mostrado como <Nenhum Nome>) que especifica o local padrão no registro em que você encontrará a chave.
  5. Se o nome da seção especificado por lpAppName não existir como um valor nomeado ou como uma subchave, haverá um valor não nomeado (mostrado como <Nenhum Nome>) que especifica o local padrão no registro em que você encontrará as chaves da seção.
  6. Se não houver nenhuma subchave ou entrada para o nome da seção, procure o arquivo de inicialização real no disco e leia seu conteúdo.
Ao examinar os valores no registro que especificam outros locais do Registro, há vários prefixos que alteram o comportamento do mapeamento de arquivo .ini:
  • ! – esse caractere força todas as gravações a ir para o registro e para o arquivo .ini no disco.
  • # - esse caractere faz com que o valor do Registro seja definido como o valor no arquivo de .ini do Windows 3.1 quando um novo usuário faz logon pela primeira vez após a instalação.
  • @ – esse caractere impede que as leituras acessem o arquivo .ini em disco se os dados solicitados não forem encontrados no registro.
  • USR: - esse prefixo significa HKEY_CURRENT_USER e o texto após o prefixo é relativo a essa chave.
  • SYS: - esse prefixo significa HKEY_LOCAL_MACHINE\SOFTWAREe o texto após o prefixo é relativo a essa chave.

Observação

O cabeçalho winbase.h define GetProfileInt como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winbase.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

GetPrivateProfileInt

Writeprofilestring