次の方法で共有


XPersistentLocalStorageMountForPackage

指定したパッケージの永続ローカル ストレージ (PLS) を読み取り専用ディスクとしてマウントします。

構文

HRESULT XPersistentLocalStorageMountForPackage (   
         const char* packageIdentifier,   
         XPackageMountHandle* mountHandle 
) 

パラメーター

packageIdentifier _In_
型: char*

PLS が属するストア パッケージを一意に識別する文字列。 パッケージ識別子の詳細については、「ダウンロード コンテンツ (DLC) の管理とライセンス」を参照してください。

mountHandle _Out_writes_to_(pathSize,pathUsed)
型: XPackageMountHandle

PLS がマウントされたディスクのマウント ハンドル。

戻り値

型: HRESULT

正常に実行された場合は S_OK が返され、それ以外の場合はエラー コードが返されます。 エラー コードの一覧については、「エラー コード」を参照してください。 指定したタイトルの PLS が存在しないために関数が失敗した場合は、 FILE_NOT_FOUND に設定されます。 共有可能な永続ローカル ストレージを有効にしていないタイトルの PLS にアクセスしようとして関数が失敗した場合は、ACCESS_DENIED を取得します。

解説

注意

この関数は、時間依存のスレッドで呼び出すのに安全ではありません。 詳細については、「時間依存のスレッド」を参照してください。

タイトルが共有可能な PLS をサポートするには、MicrosoftGame.config で そのように宣言する必要があります。共有可能な永続的なローカル ストレージの詳細については、「ローカル ストレージ」を参照してください。

注意

タイトルが PLS を共有可能としてマークする場合は、ゲームを中断する前に、すべてのハンドルを PLS に閉じ、それ以外の場合はゲームの中断が失敗し、ゲームが終了することを確認する必要があります。

次のコード スニペットは、別のタイトルの共有可能 PLS にアクセスする例を示しています。


HRESULT MountPersistentLocalStorageForPackage(char* packageIdentifier) 
{      
    XPackageMountHandle* mountHandle; 
    HRESULT hr = XPersistentLocalStorageMountForPackage (packageIdentifier, &mountHandle); 

    if (FAILED(hr)) return hr; 
    size_t pathSize; 
    hr = XGetMountPathSize(mountHandle, &pathSize); 
    if (FAILED(hr)) 
    { 
        XPackageCloseMountHandle(mountHandle); 
        return hr; 
    } 
 
    char* path = new (std::nothrow) char[pathSize]; 
    if (path == nullptr) 
    { 
        XPackageCloseMountHandle (mountHandle); 
        return E_OUTOFMEMORY; 
    } 
 
    hr = XPackageGetMountPath (mountHandle, pathSize, path); 
    if (FAILED(hr)) 
    { 
        XPackageCloseMountHandle(mountHandle); 
        delete[] path; 
        return hr; 
    } 
 
    printf("PLS %s mounted at path %s\n", packageIdentifier, path); 
    delete[] path; 
 
    // Unmounts PLS path if this is the last handle 
    // to it. 
    XPackageCloseMountHandle(mountHandle); 
    return S_OK; 
} 

要件

ヘッダー: XPersistentLocalStorage.h

ライブラリ: xgameruntime.lib

サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体

関連項目

XPersistentLocalStorage
新しい MicrosoftGame.config ファイルを使用する方法
ローカル ストレージ