Função GetProfileSectionA (winbase.h)
Recupera todas as chaves e valores da seção especificada do arquivo Win.ini.
Sintaxe
DWORD GetProfileSectionA(
[in] LPCSTR lpAppName,
[out] LPSTR lpReturnedString,
[in] DWORD nSize
);
Parâmetros
[in] lpAppName
O nome da seção no arquivo Win.ini.
[out] lpReturnedString
Um ponteiro para um buffer que recebe as chaves e os valores associados à seção nomeada. O buffer é preenchido com uma ou mais cadeias de caracteres terminadas em nulo; a última cadeia de caracteres é seguida por um segundo caractere nulo.
[in] nSize
O tamanho do buffer apontado pelo parâmetro lpReturnedString, em caracteres.
O tamanho máximo da seção de perfil é de 32.767 caracteres.
Valor de retorno
O valor retornado especifica o número de caracteres copiados para o buffer especificado, não incluindo o caractere nulo de encerramento. Se o buffer não for grande o suficiente para conter todas as chaves e valores associados à seção nomeada, o valor retornado será igual ao tamanho especificado por nSize menos dois.
Observações
O formato das chaves e valores retornados é uma ou mais cadeias de caracteres terminadas em nulo, seguidas por um caractere nulo final. Cada cadeia de caracteres tem o seguinte formulário: chave=cadeia de caracteres
A função
Esta operação é atômica; nenhuma atualização para o arquivo Win.ini é permitida enquanto as chaves e os valores da seção estão sendo copiados para o buffer.
Windows Server 2003 e Windows XP/2000: 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 GetProfileSection 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:
- Procure no Registro o nome do arquivo de inicialização na chave
IniFileMapping. - 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.
- 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.
- 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.
- Se o nome da seção especificado por lpAppName não existir como um valor nomeado ou como uma subchave, haverá um valor sem nome (mostrado como <Nenhum Nome>) que especificará o local padrão no registro em que você encontrará as chaves da seção.
- 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.
- ! - esse caractere força todas as gravações a ir para o registro e para o arquivo .ini em 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 fizer logon pela primeira vez após a instalação.
- @ - esse caractere impede que qualquer leitura vá para o arquivo .ini em disco se os dados solicitados não forem encontrados no registro.
- USR: - esse prefixo significa HKEY_CURRENT_USERe 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.
Nota
O cabeçalho winbase.h define GetProfileSection 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. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winbase.h (inclua Windows.h) |
biblioteca | Kernel32.lib |
de DLL |
Kernel32.dll |