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 代码,包括以下内容:

返回代码 说明
S_OK
已成功创建数据存储。
E_ACCESSDENIED
调用方没有创建配置文件的权限。
HRESULT_FROM_WIN32 (ERROR_ALREADY_EXISTS)
应用程序数据存储已存在。
E_INVALIDARG
容器名称为 NULL,或者容器名称、显示名称或说明字符串超出了其指定的长度限制。

注解

配置文件包含按用户和每个应用的文件夹和注册表存储。 这些文件夹具有阻止其他用户和应用访问这些文件夹的 ACL。 可以通过调用 SHGetKnownFolderPath 访问这些文件夹。

函数为当前用户创建配置文件。 若要代表其他用户创建配置文件,必须模拟该用户。 若要为同一应用的多个用户创建配置文件,必须为每个用户调用 CreateAppContainerProfile

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 userenv.h
Library Userenv.lib
DLL Userenv.dll

另请参阅