Função GetPrivateProfileStruct (winbase.h)
Recupera os dados associados a uma chave na seção especificada de um arquivo de inicialização. À medida que recupera os dados, a função calcula uma soma de verificação e a compara com a soma de verificação calculada pela função WritePrivateProfileStruct quando os dados foram adicionados ao arquivo.
Sintaxe
BOOL GetPrivateProfileStruct(
[in] LPCTSTR lpszSection,
[in] LPCTSTR lpszKey,
[out] LPVOID lpStruct,
[in] UINT uSizeStruct,
[in] LPCTSTR szFile
);
Parâmetros
[in] lpszSection
O nome da seção no arquivo de inicialização.
[in] lpszKey
O nome da chave cujos dados devem ser recuperados.
[out] lpStruct
Um ponteiro para o buffer que recebe os dados associados ao arquivo, seção e nomes de chave.
[in] uSizeStruct
O tamanho do buffer apontado pelo parâmetro lpStruct , em bytes.
[in] szFile
O nome do arquivo de inicialização. Se esse parâmetro não contiver um caminho completo para o arquivo, o sistema procurará o arquivo no diretório do Windows.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero.
Comentários
Uma seção no arquivo de inicialização deve ter o seguinte formulário:
[section]
key=data
.
.
.
O sistema mapeia a maioria das referências de arquivo .ini para o registro, usando o mapeamento definido na seguinte chave do Registro:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping
Esse mapeamento provavelmente será se um aplicativo modificar arquivos de inicialização do componente do sistema, como Control.ini, System.ini e Winfile.ini. Nesses casos, a função 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, por exemplo, MyFile.ini, em IniFileMapping.
- Procure o nome da seção especificado por lpAppName. Esse será um valor nomeado em myfile.iniou uma subchave de myfile.iniou não existirá.
- Se o nome da seção especificado por lpAppName for um valor nomeado em myfile.ini, 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 de myfile.ini, 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 em myfile.ini, haverá um valor não nomeado (mostrado como <Nenhum Nome>) em myfile.ini que especifica o local padrão no registro em que você encontrará as chaves da seção.
- Se não houver nenhuma subchavemyfile.ini ou se ela não contiver uma entrada para o nome da seção, procure o MyFile.ini 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 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.
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 |