SHSetFolderPathW 함수(shlobj_core.h)
더 이상 사용되지 않습니다. CSIDL로 식별된 시스템 폴더에 새 경로를 할당합니다.
구문
HRESULT SHSetFolderPathW(
[in] int csidl,
[in] HANDLE hToken,
[in] DWORD dwFlags,
[in] LPCWSTR pszPath
);
매개 변수
[in] csidl
형식: int
경로를 설정할 폴더를 식별하는 CSIDL 값입니다. 실제 폴더만 유효합니다. 가상 폴더를 지정하면 이 함수가 실패합니다.
CSIDL에 CSIDL_FLAG_DONT_UNEXPAND 값을 추가하여 문자열이 제공된 대로 레지스트리에 정확하게 기록되도록 합니다. CSIDL_FLAG_DONT_UNEXPAND 플래그가 포함되지 않은 경우 경로의 일부가 %USERPROFILE%와 같은 환경 문자열로 대체될 수 있습니다.
[in] hToken
형식: HANDLE
특정 사용자를 나타내는 데 사용할 수 있는 액세스 토큰 입니다. 이 매개 변수는 일반적으로 NULL로 설정되며, 이 경우 함수는 폴더의 현재 사용자 instance 액세스하려고 합니다. 그러나 여러 사용자가 있을 수 있지만 단일 사용자에 속하는 것으로 처리되는 폴더에 대해 hToken 에 값을 할당해야 할 수 있습니다. 이 유형의 가장 일반적으로 사용되는 폴더는 Documents입니다.
호출 애플리케이션은 hToken 이 null이 아닌 경우 올바른 가장을 담당합니다. TOKEN_QUERY 및 TOKEN_IMPERSONATE 포함하여 특정 사용자에 대한 적절한 보안 권한이 있어야 하며 사용자의 레지스트리 하이브를 현재 탑재해야 합니다. 액세스 제어 문제에 대한 자세한 내용은 Access Control 참조하세요.
[in] dwFlags
형식:DWORD
예약되어 있습니다. 0으로 설정해야 합니다.
[in] pszPath
형식: LPCTSTR
폴더의 새 경로를 포함하는 길이 MAX_PATH null로 끝나는 문자열에 대한 포인터입니다. 이 값은 NULL일 수 없으며 문자열 길이는 0일 수 없습니다.
반환 값
형식: HRESULT
다음을 포함하여 표준 HRESULT 코드를 반환합니다.
반환 코드 | Description |
---|---|
|
폴더의 경로가 성공적으로 업데이트되었습니다. |
|
몇 가지 오류 조건으로 인해 다음을 포함하여 이 값이 반환됩니다.
|
설명
폴더 이름에 ANSI에서 표현할 수 없는 유니코드 문자가 포함될 수 있으므로 경로를 유니코드 문자열로 표현하는 것이 좋습니다.
참고
shlobj_core.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 SHSetFolderPath를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | shlobj_core.h(Shlobj.h, Shlobj_core.h 포함) |
라이브러리 | Shell32.lib |
DLL | Shell32.dll(버전 5.0 이상) |