ApplicationData.GetPublisherCacheFolder(String) メソッド

定義

現在のアプリの発行元の共有ストレージ フォルダーの指定されたサブフォルダーを取得します。

public:
 virtual StorageFolder ^ GetPublisherCacheFolder(Platform::String ^ folderName) = GetPublisherCacheFolder;
StorageFolder GetPublisherCacheFolder(winrt::hstring const& folderName);
public StorageFolder GetPublisherCacheFolder(string folderName);
function getPublisherCacheFolder(folderName)
Public Function GetPublisherCacheFolder (folderName As String) As StorageFolder

パラメーター

folderName
String

Platform::String

winrt::hstring

現在のアプリの発行元の共有ストレージ フォルダーから取得するサブフォルダー。

戻り値

指定したサブフォルダー。

注釈

Windows ランタイム アプリの強力なセキュリティ モデルは、通常、アプリがデータを共有できないようにします。 ただし、同じ発行元のアプリでユーザーごとにファイルと設定を共有すると便利です。 アプリの発行者は、アプリ マニフェストに拡張機能を追加し、アプリを登録して、発行する他のアプリとストレージ フォルダーを共有できます。

複数のアプリを発行する場合に、この共有ストレージ フォルダーを使用する方法の例をいくつか次に示します。

  • ファイルを共有します。 たとえば、複数のアプリで同じイメージまたは同じカスタム フォントを使用している場合は、これらのファイルを共有ストレージ フォルダーに保存できます。
  • カスタム設定ファイルでユーザーの設定を共有します。 たとえば、複数のアプリで温度が使用されている場合、ユーザーの摂氏または華氏の設定のコピーを、共有ストレージ フォルダーのカスタム設定ファイルに保存できます。 ただし、ユーザーは共有ストレージ フォルダーの内容をクリアできるため、各アプリまたは別のマスターの場所にユーザーの設定も保存することをお勧めします。 ユーザーがパブリッシャーから最初のアプリをインストールすると、アプリパブリッシャーの共有ストレージ フォルダーが自動的にプロビジョニングされます。

共有ストレージ フォルダーには、次の要件と制限があります。

  • 共有ストレージ フォルダー内のデータはバックアップされず、ローミングもされません。 また、ユーザーは共有ストレージ フォルダーの内容をクリアできます。
  • この機能を使用して、異なる発行元のアプリ間でデータを共有することはできません。
  • この機能を使用して、異なるユーザー間でデータを共有することはできません。
  • 共有ストレージ フォルダーにはバージョン管理がありません。

発行元の共有ストレージ フォルダーを使用するようにアプリを登録するには

アプリ マニフェストで次の例のような XML を手動で入力して、サブフォルダーを登録します。 これらのサブフォルダーを作成する必要はありません。 これらは自動的にプロビジョニングされます。

<Package>
    …
    <Extensions>
        …
        <Extension Category="windows.publisherCacheFolders">
            <PublisherCacheFolders>
                <Folder Name="Folder1"/>
                <Folder Name="Folder2"/>
            </PublisherCacheFolders>
        </Extension>
        …
    </Extensions>
    …
</Package>

パブリッシャーの共有ストレージ フォルダー内のデータにアクセスするには

GetPublisherCacheFolder メソッドを呼び出して、共有ストレージ フォルダーから登録済みのサブフォルダーのいずれかを取得します。

次に、 StorageFolder クラスのプロパティとメソッドを使用して、共有フォルダー内のファイルとサブフォルダーの読み取りと書き込みを行います。

共有ストレージ フォルダーへのアクセスには、次の要件と制限があります。

  • 既定のサブフォルダーはありません。 GetPublisherCacheFolder メソッドを呼び出すときは、サブフォルダーを指定する必要があります。
  • アプリ マニフェストに登録されているサブフォルダーにのみアクセスできます。
  • 共有ストレージ フォルダーのルートにアクセスすることはできません。

パブリッシャーの共有ストレージ フォルダー内のデータをクリーンするには

ClearPublisherCacheFolderAsync メソッドを呼び出して、現在のアプリの発行元の共有ストレージ フォルダーの指定されたサブフォルダーからファイルとサブフォルダーをクリアします。

共有ストレージ フォルダーは、パブリッシャーからの最後のアプリがアンインストールされると自動的にクリーンアップされます。

共有ストレージ フォルダーに保存されたデータは、保存したアプリにリンクされません。 データを保存したアプリをアンインストールすると、同じ発行元の最後のアプリがアンインストールされるまで、データは共有ストレージ フォルダーに残ります。

適用対象

こちらもご覧ください