SHGetFolderPathEx 함수

설명

[일부 정보는 상업용으로 출시되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 명시적 또는 묵시적 보증을 하지 않습니다.]

폴더의 KNOWNFOLDERID로 식별된 알려진 폴더의 전체 경로를 검색합니다. 이렇게 하면 문자열 버퍼의 초기 크기를 설정할 수 있으므로 SHGetKnownFolderPath 가 확장됩니다.

HRESULT WINAPI SHGetFolderPathEx(
  _In_     REFKNOWNFOLDERID rfid,
  _In_     DWORD            dwFlags,
  _In_opt_ HANDLE           hToken,
  _Out_    LPWSTR           pszPath,
  _In_     UINT             cchPath
);

매개 변수

rfid [in]

폴더를 식별하는 KNOWNFOLDERID 에 대한 참조입니다.

dwFlags [in]

특수 검색 옵션을 지정하는 플래그입니다. 이 값은 0일 수 있습니다. 그렇지 않으면 하나 이상의 KNOWN_FOLDER_FLAG 값입니다.

hToken [in, optional]

특정 사용자를 나타내는 액세스 토큰 입니다. 이 매개 변수가 가장 일반적인 사용법인 NULL인 경우 함수는 현재 사용자에 대해 알려진 폴더를 요청합니다.

해당 사용자의 hToken 을 전달하여 특정 사용자의 폴더를 요청합니다. 이 작업은 일반적으로 지정된 사용자의 토큰을 검색할 수 있는 충분한 권한이 있는 서비스의 컨텍스트에서 수행됩니다. 해당 토큰은 TOKEN_QUERYTOKEN_IMPERSONATE 권한으로 열어야 합니다. 경우에 따라 TOKEN_DUPLICATE 포함해야 합니다. 사용자의 hToken을 전달하는 것 외에도 특정 사용자의 레지스트리 하이브를 탑재해야 합니다. 액세스 제어 문제에 대한 자세한 내용은 Access Control 참조하세요.

hToken 매개 변수에 -1 값을 할당하면 기본 사용자가 표시됩니다. 이렇게 하면 SHGetKnownFolderPath 의 클라이언트가 기본 사용자에 대한 폴더 위치(예: 데스크톱 폴더)를 찾을 수 있습니다. 기본 사용자 프로필은 새 사용자 계정을 만들 때 중복되며 문서데스크톱과 같은 특수 폴더를 포함합니다. 기본 사용자 폴더에 추가된 모든 항목도 새 사용자 계정에 표시됩니다. 기본 사용자 폴더에 액세스하려면 관리자 권한이 필요합니다.

pszPath [out]

null로 끝나는 유니코드 문자열입니다. 이 버퍼의 크기는 cchPath여야 합니다. SHGetFolderPathEx가 성공적으로 반환되면 이 매개 변수에는 알려진 폴더의 경로가 포함됩니다.

cchPath [in]

ppszPath 버퍼의 크기(문자)입니다.

반환

성공하면 S_OK 반환하고, 그렇지 않으면 오류 값을 반환합니다.

설명

SHGetFolderPathSHGetKnownFolderPath의 래퍼이므로 이 함수(SHGetFolderPathEx)는 SHGetFolderPath에 대한 확장으로도 사용됩니다.

추가 정보

KNOWNFOLDERID

KNOWN_FOLDER_FLAG

SHGetFolderPath

SHGetKnownFolderIDList

SHGetKnownFolderPath