メインコンテンツへスキップ
PlayFab がストレージからデータをクリアする必要があるときに呼び出す、ストレージ クリア ハンドラー。XAsyncProvider として実装します。

構文

パラメーター

context   _In_opt_ void* PFPlatformLocalStorageSetHandlers に渡した PFLocalStorageHooks 構造体の context メンバー。nullptr にすることができます。PlayFab はこのポインターを所有しません。 key   _In_z_ const char* データを識別します。通常はファイル パスです。このキーの下に格納されたデータをクリアします。 async   _Inout_ XAsyncBlock* クリア操作の XAsyncBlock。

戻り値

型: HRESULT async で非同期操作を開始した場合 (たとえば XAsyncBegin を使用して) は、S_OK を返します。ハンドラーがエラーの HRESULT を返すと、PlayFab はその HRESULT でストレージ操作を失敗させ、async の完了を待機しません。そのため、エラーを返すのは async で操作を開始していない場合だけにしてください。ストレージ操作自体の結果は、XAsyncComplete で async を完了することで報告します。

解説

このハンドラーをインストールするには、他の 2 つのストレージ ハンドラーと共に PFLocalStorageHooks 構造体の clear メンバーに設定し、PFInitialize を呼び出す前に、その構造体を PFPlatformLocalStorageSetHandlers に渡します。3 つのハンドラーのいずれかが nullptr の場合、PFPlatformLocalStorageSetHandlers は E_INVALIDARG を返します。カスタム ハンドラーを設定しない場合、PlayFab は cstdio および std::fstream オブジェクトに基づく既定の実装を使用します。 クリアの結果と結果サイズ 0 を渡して、XAsyncComplete で async を完了します。 既定の実装は key で指定されたファイルの削除を試み、削除に失敗した場合 (たとえばファイルが存在しない場合) でも S_OK で完了します。ハンドラーでも、キーが存在しない場合は成功として扱ってください。 PFTraceEnableTraceToFile でファイルへのトレース出力が有効になっている場合、PFInitialize はトレース ファイルに対してこのハンドラーを呼び出し、操作が完了するまで待機してから処理を続行します。PFInitialize が待機している間も、操作が実行されるキューのワーク ポートは処理を進められる必要があります。そのワーク ポートを手動でディスパッチする場合は、別のスレッドからディスパッチしてください。完了ポートだけをディスパッチしても十分ではありません。 PlayFab は、ストレージ操作を開始したスレッド上でこのハンドラーをインラインで呼び出す場合があるため、どのスレッドで実行されるかに依存しないでください。async のキューは、PlayFab が PFLocalStorageHooks の queueHandle メンバーから派生させたキューです。queueHandle が nullptr の場合、PlayFab は PFInitialize に渡したバックグラウンド キューから、またはそのキューも nullptr だった場合はプロセス タスク キューから、キューを派生させます。派生したキューのワーク コールバックと完了コールバックは、どちらも派生元のキューのワーク ポートで実行されます。 PlayFab はストレージ操作を一度に 1 つずつ実行し、現在の操作が完了した後でのみ次の操作を開始します。 PlayFab は、async で XAsyncCancel を呼び出すことで、保留中の操作をキャンセルできます。ストレージ操作をキャンセルできる場合は、プロバイダーで XAsyncOp::Cancel を処理してください。 key 引数と async 引数は PlayFab が所有し、操作が完了するまで有効です。context 引数はこの保証の対象外です。

要件

ヘッダー: PFPlatform.h ライブラリ: PlayFabCore.lib サポートされているプラットフォーム: Windows、XBOX One ファミリー本体および XBOX Series 本体

関連項目

PFPlatform のメンバー PFLocalStorageHooks PFPlatformLocalStorageSetHandlers XAsyncProvider PFPlatformLocalStorageReadAsyncHandler PFPlatformLocalStorageWriteAsyncHandler
最終更新日 2026年11月5日