永続的なローカル ストレージ (PLS) へのパスの長さを文字数で返します。
構文
HRESULT XPersistentLocalStorageGetPathSize(
size_t* pathSize
)
パラメーター
pathSize _Out_
型: size_t*
PLS パスの長さ (文字数)。
戻り値
型: HRESULT
正常に実行された場合は S_OK が返され、それ以外の場合はエラー コードが返されます。 エラー コードの一覧については、「エラー コード」を参照してください。
解説
注意
この関数は、時間依存のスレッドで呼び出すのに安全ではありません。 詳細については、「時間依存のスレッド」を参照してください。
この関数の戻り値は、デバイス上のゲーム固有の PLS パスを返す XPersistentLocalStorageGetPath 関数の pathSize パラメーターに使用されます。 PLS の詳細については、「ローカル ストレージ」を参照してください。
XPersistentLocalStorageGetPath 関数を呼び出すときは、この関数の pathSize パラメーターで返される値で指定された数と同じ数以上の文字を、XPersistentLocalStorageGetPath の path パラメーターに割り当てます。そうしないとエラーが発生します。
次の例は、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 ファイルを使用する方法