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.

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

Consulte também

CreateProcess

Funções de processo e thread