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

こちらもご覧ください