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 |