Compartilhar via


Função NeedCurrentDirectoryForExePathA (processenv.h)

Determina se o diretório atual deve ser incluído no caminho de pesquisa para o executável especificado.

Sintaxe

BOOL NeedCurrentDirectoryForExePathA(
  [in] LPCSTR ExeName
);

Parâmetros

[in] ExeName

O nome do arquivo executável.

Retornar valor

Se o diretório atual deve fazer parte do caminho de pesquisa, o valor retornado é TRUE. Caso contrário, o valor retornado será FALSE.

Comentários

Essa função só deve ser chamada em instâncias em que o chamador deve resolve explicitamente um nome executável relativo a um nome absoluto. Se CreateProcess for chamado com um nome executável relativo, ele pesquisará automaticamente o executável, chamando essa função para determinar o caminho de pesquisa.

A maioria das funções do sistema executa sua própria resolução de caminho, portanto, essa função só deve ser chamada se você estiver tentando resolve um caminho de pesquisa para o executável especificado com base no diretório atual.

O valor da variável de ambiente NoDefaultCurrentDirectoryInExePath determina o valor que essa função retorna. No entanto, você deve chamar essa função em vez de verificar a variável de ambiente diretamente, pois o local do registro dessa variável de ambiente pode ser alterado.

Se o valor do parâmetro ExeName contiver uma barra invertida (\), essa função sempre retornará TRUE. Se ela não contiver uma barra invertida, a existência da variável de ambiente NoDefaultCurrentDirectoryInExePath será verificada e não seu valor.

Um exemplo de uma instância quando essa função deve ser chamada em vez de depender do algoritmo de resolução de caminho de pesquisa padrão em CreateProcess é o executável "cmd.exe". Ele chama essa função para determinar o caminho de pesquisa de comando porque faz sua própria resolução de caminho antes de chamar CreateProcess. Se essa função retornar TRUE, cmd.exe usará o caminho ".; %PATH%" para a pesquisa executável. Se retornar FALSE, cmd.exe usará o caminho "%PATH%" para a pesquisa.

Observação

O cabeçalho processenv.h define NeedCurrentDirectoryForExePath 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 Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho processenv.h (inclua Windows.h no Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CreateProcess

Funções de thread e processo