다음을 통해 공유


CreateAppContainerProfile 함수(userenv.h)

AppContainer에 대한 사용자별 앱별 프로필을 만듭니다.

구문

USERENVAPI HRESULT CreateAppContainerProfile(
  [in]  PCWSTR              pszAppContainerName,
  [in]  PCWSTR              pszDisplayName,
  [in]  PCWSTR              pszDescription,
  [in]  PSID_AND_ATTRIBUTES pCapabilities,
  [in]  DWORD               dwCapabilityCount,
  [out] PSID                *ppSidAppContainerSid
);

매개 변수

[in] pszAppContainerName

앱 컨테이너의 이름입니다. 고유성을 보장하기 위해 이 문자열에는 게시자뿐만 아니라 앱 이름이 이상적으로 포함되어야 합니다. 이 문자열의 길이는 최대 64자일 수 있습니다. 또한 정규식 "[-_)에서 설명하는 패턴에 맞아야 합니다. A-Za-z0-9]+".

[in] pszDisplayName

표시 이름입니다. 이 문자열의 길이는 최대 512자입니다.

[in] pszDescription

앱 컨테이너에 대한 설명입니다. 이 문자열의 길이는 최대 2048자입니다.

[in] pCapabilities

요청된 UWP 기능을 정의하는 SID입니다(해당하는 경우).

[in] dwCapabilityCount

pCapabilities의 SID 수입니다.

[out] ppSidAppContainerSid

프로필의 SID입니다. 이 버퍼는 FreeSid함수를 사용하여 해제해야 합니다.

반환 값

이 함수가 성공하면 다음을 포함하여 표준 HRESULT 코드를 반환합니다.

반환 코드 Description
S_OK
데이터 저장소가 성공적으로 만들어졌습니다.
E_ACCESSDENIED
호출자에게 프로필을 만들 수 있는 권한이 없습니다.
HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)
애플리케이션 데이터 저장소가 이미 있습니다.
E_INVALIDARG
컨테이너 이름이 NULL이거나 컨테이너 이름, 표시 이름 또는 설명 문자열이 지정된 길이 제한을 초과합니다.

설명

프로필에는 사용자별 및 앱별 폴더 및 레지스트리 스토리지가 포함됩니다. 폴더에는 다른 사용자 및 앱에서 액세스할 수 없도록 하는 ACL이 있습니다. 이러한 폴더는 SHGetKnownFolderPath를 호출하여 액세스할 수 있습니다.

함수는 현재 사용자에 대한 프로필을 만듭니다. 다른 사용자를 대신하여 프로필을 만들려면 해당 사용자를 가장해야 합니다. 동일한 앱의 여러 사용자에 대한 프로필을 만들려면 각 사용자에 대해 CreateAppContainerProfile 을 호출해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 userenv.h
라이브러리 Userenv.lib
DLL Userenv.dll

추가 정보