Compartilhar via


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 denominado 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.

Valor de retorno

Se a função for bem-sucedida, o valor retornado será o comprimento da cadeia de caracteres copiada para o buffer, em TCHARs, não incluindo 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.

Observações

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 em 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, o diretório do Windows será garantido como 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 do Gerenciador de Usuários. 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 dos Serviços de Terminal, cada usuário terá um diretório privado do Windows. Há também 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 do Windows do sistema, assim como a função GetSystemWindowsDirectory. 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.

Nota

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 do 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 sysinfoapi.h (inclua Windows.h)
biblioteca Kernel32.lib
de DLL Kernel32.dll

Consulte também

GetCurrentDirectory

GetSystemDirectory

GetSystemWindowsDirectory

Funções de informações do sistema