次の方法で共有


XPersistentLocalStorageGetPathSize

永続的なローカル ストレージ (PLS) へのパスの長さを文字数で返します。

構文

HRESULT XPersistentLocalStorageGetPathSize(  
         size_t* pathSize  
)  

パラメーター

pathSize _Out_
型: size_t*

PLS パスの長さ (文字数)。

戻り値

型: HRESULT

正常に実行された場合は S_OK が返され、それ以外の場合はエラー コードが返されます。 エラー コードの一覧については、「エラー コード」を参照してください。

解説

注意

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

この関数の戻り値は、デバイス上のゲーム固有の PLS パスを返す XPersistentLocalStorageGetPath 関数の pathSize パラメーターに使用されます。 PLS の詳細については、「ローカル ストレージ」を参照してください。

XPersistentLocalStorageGetPath 関数を呼び出すときは、この関数の pathSize パラメーターで返される値で指定された数と同じ数以上の文字を、XPersistentLocalStorageGetPathpath パラメーターに割り当てます。そうしないとエラーが発生します。

次の例は、XPersistentLocalStorageGetPathSize 関数と XPersistentLocalStorageGetPath 関数を使用して、ゲームの PLS パスを取得する方法を示しています。

// Confirm that all of the features needed to run asynchronous tasks on 
// task queues are available.
LPCSTR Game::CheckPLSPath()
{
    // Confirm the length of the path to the local storage folder.
    LPCSTR returnPath = "";
    size_t pathSize;
    if (SUCCEEDED(XPersistentLocalStorageGetPathSize(&pathSize)))
    {
        char * path = new char[pathSize];
        size_t * pathUsed = new size_t;
        if (path != nullptr)
        {
            // Get the path to the local storage folder.
            if (SUCCEEDED(XPersistentLocalStorageGetPath(pathSize, path, pathUsed))) 
            {
                // Just to be safe, copy the bytes used in the buffer 
                // to a separate string.
                char * actualPath = new char[*pathUsed];
                strncpy(actualPath, path, *pathUsed);
                returnPath = actualPath;
            }
        }
    };

    return returnPath;
}

要件

ヘッダー: XPersistentLocalStorage.h

ライブラリ: xgameruntime.lib

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

関連項目

XPersistentLocalStorageGetPath
XPersistentLocalStorage
新しい MicrosoftGame.config ファイルを使用する方法