Share via


NeedCurrentDirectoryForExePathA 함수(processenv.h)

지정된 실행 파일의 검색 경로에 현재 디렉터리를 포함할지 여부를 결정합니다.

구문

BOOL NeedCurrentDirectoryForExePathA(
  [in] LPCSTR ExeName
);

매개 변수

[in] ExeName

실행 파일의 이름입니다.

반환 값

현재 디렉터리가 검색 경로의 일부여야 하는 경우 반환 값은 TRUE입니다. 그렇지 않으면 반환 값이 FALSE입니다.

설명

이 함수는 호출자가 상대 실행 파일 이름을 절대 이름으로 명시적으로 resolve 경우에만 호출해야 합니다. CreateProcess가 상대 실행 파일 이름으로 호출되면 실행 파일을 자동으로 검색하고 이 함수를 호출하여 검색 경로를 확인합니다.

대부분의 시스템 함수는 자체 경로 확인을 수행하므로 현재 디렉터리를 기반으로 지정된 실행 파일에 대한 검색 경로를 resolve 경우에만 이 함수를 호출해야 합니다.

NoDefaultCurrentDirectoryInExePath 환경 변수의 값은 이 함수가 반환하는 값을 결정합니다. 그러나 이 환경 변수의 레지스트리 위치가 변경되기 때문에 환경 변수를 직접 확인하는 대신 이 함수를 호출해야 합니다.

ExeName 매개 변수 값에 백슬래시(\)가 포함된 경우 이 함수는 항상 TRUE를 반환합니다. 백슬래시가 포함되지 않은 경우 NoDefaultCurrentDirectoryInExePath 환경 변수의 존재가 해당 값이 아닌 확인됩니다.

CreateProcess의 기본 검색 경로 확인 알고리즘에 의존하는 대신 이 함수를 호출해야 하는 경우의 instance 예는 "cmd.exe" 실행 파일입니다. CreateProcess를 호출하기 전에 자체 경로 확인을 수행하므로 이 함수를 호출하여 명령 검색 경로를 확인합니다. 이 함수가 TRUE를 반환하면 cmd.exe 경로 ".; 실행 파일 검색에 대한 %PATH%"입니다. FALSE를 반환하는 경우 cmd.exe 검색에 경로 "%PATH%"를 사용합니다.

참고

processenv.h 헤더는 NEEDCurrentDirectoryForExePath를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 processenv.h(Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2의 Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

CreateProcess

프로세스 및 스레드 함수