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 |
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기