다음을 통해 공유


SetSearchPathMode 함수(winbase.h)

파일을 찾을 때 SearchPath 함수가 사용하는 프로세스별 모드를 설정합니다.

구문

BOOL SetSearchPathMode(
  [in] DWORD Flags
);

매개 변수

[in] Flags

사용할 검색 모드입니다.

의미
BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE
0x00000001
프로세스에 대해 안전한 프로세스 검색 모드를 사용하도록 설정합니다.
BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE
0x00010000
프로세스에 대해 안전한 프로세스 검색 모드를 사용하지 않도록 설정합니다.
BASE_SEARCH_PATH_PERMANENT
0x00008000
이 프로세스에 대해 이 모드를 영구적으로 설정하기 위해 BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE 함께 사용할 선택적 플래그입니다. 이 작업은 비트 OR 작업으로 수행됩니다.

(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT)

이 플래그는 BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE 플래그와 결합할 수 없습니다.

반환 값

작업이 성공적으로 완료되면 SetSearchPathMode 함수는 0이 아닌 값을 반환합니다.

작업이 실패하면 SetSearchPathMode 함수는 0을 반환합니다. 확장 오류 정보를 가져오려면 GetLastError 함수를 호출합니다.

매개 변수 값이 잘못되어 SetSearchPathMode 함수가 실패하면 GetLastError 함수에서 반환된 값이 ERROR_INVALID_PARAMETER.

현재 상태와 매개 변수 값의 조합이 유효하지 않아 SetSearchPathMode 함수가 실패하면 GetLastError 함수에서 반환된 값이 ERROR_ACCESS_DENIED. 자세한 내용은 주의 섹션을 참조하세요.

설명

현재 프로세스에 대해 SetSearchPathMode 함수가 성공적으로 호출되지 않은 경우 SearchPath 함수에서 사용하는 검색 모드는 시스템 레지스트리에서 가져옵니다. 자세한 내용은 SearchPath를 참조하세요.

현재 프로세스에 대해 SetSearchPathMode 함수가 성공적으로 호출된 후 시스템 레지스트리의 설정은 가장 최근에 성공적으로 설정된 모드를 위해 무시됩니다.

플래그가 로 설정된 (BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT)현재 프로세스에 대해 SetSearchPathMode 함수가 성공적으로 호출된 경우 호출 프로세스에 대해 안전 모드가 영구적으로 설정됩니다. 검색 모드를 변경하려는 프로세스 내에서 SetSearchPathMode 함수에 대한 후속 호출은 GetLastError 함수의 ERROR_ACCESS_DENIED 실패합니다.

참고 안전 검색 모드 설정은 설정된 프로세스의 수명 동안 영구적으로 사용하지 않도록 설정할 수 없으므로 신중하게 사용해야 합니다. 이는 DLL 개발의 경우 특히 그렇습니다. DLL 사용자는 이 프로세스 전체 설정의 영향을 받습니다.
 
안전 검색 모드를 영구적으로 사용하지 않도록 설정할 수 없습니다.

이 함수는 시스템 레지스트리를 수정하지 않습니다.

Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술을 통해 지원됩니다.

기술 지원됨
SMB(서버 메시지 블록) 3.0 프로토콜
SMB 3.0 TFO(투명 장애 조치(failover))
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0
CsvFS(클러스터 공유 볼륨 파일 시스템)
ReFS(Resilient File System)

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll
재배포 가능 파일 SP2 이상 및 Windows Server 2003 SP1 이상을 사용하여 Windows XP에서 KB959426

추가 정보

파일 관리 함수

SearchPath