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.
Valor de retorno
Se o diretório atual deve fazer parte do caminho de pesquisa, o valor retornado será TRUE. Caso contrário, o valor retornado será FALSE.
Observações
Essa função só deve ser chamada em instâncias em que o chamador deve resolver explicitamente um nome executável relativo para um nome absoluto. Se CreateProcess for chamado com um nome executável relativo, ele procurará automaticamente o executável, chamando essa função para determinar o caminho da 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 resolver 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 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 em que 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 ele 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.
Nota
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 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 Vista [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
da 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 |
de DLL |
Kernel32.dll |