Função GetWindowsDirectoryA (sysinfoapi.h)
Recupera o caminho do diretório do Windows.
Essa função é fornecida principalmente para compatibilidade com aplicativos herdados. Novos aplicativos devem armazenar código na pasta Arquivos de Programas e dados persistentes na pasta Dados do Aplicativo no perfil do usuário. Para obter mais informações, consulte ShGetFolderPath.
Sintaxe
UINT GetWindowsDirectoryA(
[out] LPSTR lpBuffer,
[in] UINT uSize
);
Parâmetros
[out] lpBuffer
Um ponteiro para um buffer que recebe o caminho. Esse caminho não termina com uma barra invertida, a menos que o diretório do Windows seja o diretório raiz. Por exemplo, se o diretório do Windows for nomeado Windows na unidade C, o caminho do diretório do Windows recuperado por essa função será C:\Windows. Se o sistema foi instalado no diretório raiz da unidade C, o caminho recuperado será C:.
[in] uSize
O tamanho máximo do buffer especificado pelo parâmetro lpBuffer , em TCHARs. Esse valor deve ser definido como MAX_PATH.
Retornar valor
Se a função for bem-sucedida, o valor retornado será o comprimento da cadeia de caracteres copiada para o buffer, em TCHARs, sem incluir o caractere nulo de terminação.
Se o comprimento for maior que o tamanho do buffer, o valor retornado será o tamanho do buffer necessário para manter o caminho.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
O diretório do Windows é o diretório em que alguns aplicativos herdados armazenam arquivos de inicialização e ajuda. Novos aplicativos não devem armazenar arquivos no diretório do Windows; Em vez disso, eles devem armazenar dados de todo o sistema no diretório de instalação do aplicativo e dados específicos do usuário no perfil do usuário.
Se o usuário estiver executando uma versão compartilhada do sistema, é garantido que o diretório do Windows seja privado para cada usuário.
Se um aplicativo criar outros arquivos que deseja armazenar por usuário, ele deverá colocá-los no diretório especificado pela variável de ambiente HOMEPATH. Esse diretório será diferente para cada usuário, se especificado por um administrador, por meio da ferramenta administrativa gerenciador de usuários. O HOMEPATH sempre especifica o diretório base do usuário, que tem a garantia de ser privado para cada usuário ou um diretório padrão (por exemplo, C:\USERS\DEFAULT) em que o usuário terá todo o acesso.
Serviços de Terminal: Se o aplicativo estiver em execução em um ambiente de Serviços de Terminal, cada usuário terá um diretório privado do Windows. Também há um diretório compartilhado do Windows para o sistema. Se o aplicativo estiver com reconhecimento de Serviços de Terminal (tiver o sinalizador IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE definido no cabeçalho da imagem), essa função retornará o caminho do diretório windows do sistema, assim como a função GetSystemWindowsDirectory faz. Caso contrário, ele recupera o caminho do diretório privado do Windows para o usuário.
Exemplos
Para obter um exemplo, consulte Obtendo informações do sistema.
Observação
O cabeçalho sysinfoapi.h define GetWindowsDirectory 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 | sysinfoapi.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |