다음을 통해 공유


SHGetFolderPathAndSubDirA 함수(shlobj_core.h)

폴더의 경로를 가져오고 사용자가 제공한 하위 폴더 경로를 추가합니다.

구문

HRESULT SHGetFolderPathAndSubDirA(
  [in]  HWND   hwnd,
  [in]  int    csidl,
  [in]  HANDLE hToken,
  [in]  DWORD  dwFlags,
  [in]  LPCSTR pszSubDir,
  [out] LPSTR  pszPath
);

매개 변수

[in] hwnd

형식: HWND

예약되어 있습니다.

[in] csidl

형식: int

경로를 검색할 폴더를 식별하는 CSIDL 값입니다. 실제 폴더만 유효합니다. 가상 폴더를 지정하면 이 함수가 실패합니다. 폴더의 CSIDL을 CSIDL_FLAG_CREATE 결합하여 SHGetFolderPathAndSubDir로 폴더를 강제로 만들 수 있습니다.

[in] hToken

형식: HANDLE

특정 사용자를 나타내는 액세스 토큰 입니다. Windows 2000 이전 시스템의 경우 이 값을 NULL로 설정합니다. 이후 시스템의 경우 hToken 은 일반적으로 NULL로 설정되지만 항상 그렇지는 않습니다. 여러 사용자가 있을 수 있지만 단일 사용자에 속하는 것으로 처리되는 폴더에 대해 hToken 에 값을 할당해야 할 수 있습니다. 이 유형의 가장 일반적으로 사용되는 폴더는 내 문서입니다.

[in] dwFlags

형식:DWORD

반환할 경로가 폴더의 실제 경로인지 기본 경로인지를 지정합니다. 이 값은 사용자가 CSIDL 값과 연결된 폴더를 이동하거나 이름을 바꿀 수 있는 경우에 사용됩니다.

SHGFP_TYPE_CURRENT

폴더의 현재 경로를 반환합니다.

SHGFP_TYPE_DEFAULT

폴더의 기본 경로를 반환합니다.

[in] pszSubDir

형식: LPCTSTR

폴더의 경로에 추가할 하위 경로에 대한 포인터입니다. 길이 MAX_PATH null로 끝나는 문자열입니다. 새 디렉터리를 만들지 않는 경우 기존 하위 디렉터리여야 합니다. 그렇지 않으면 함수가 오류를 반환합니다. 하위 경로를 추가할 수 없는 경우 이 값은 NULL 일 수 있습니다.

[out] pszPath

형식: LPTSTR

이 함수가 반환될 때 이 값은 디렉터리 경로 및 추가된 하위 경로를 가리킵니다. 길이 MAX_PATH null로 끝나는 문자열입니다. 이 문자열은 함수가 오류 코드를 반환할 때 비어 있습니다.

반환 값

형식: HRESULT

이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

참고

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

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shlobj_core.h(Shlobj.h, Shlobj_core.h 포함)
라이브러리 Shell32.lib
DLL Shell32.dll(버전 5.60 이상)

추가 정보

SHGetFolderPath