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

Confira também

GetCurrentDirectory

Getsystemdirectory

GetSystemWindowsDirectory

Funções de informações do sistema