PlayFab Services SDK の C API を使用すると、メモリの割り当てを試みるたびに SDK が呼び出す関数コールバックを指定できます。 関数コールバックを指定しない場合、SDK は標準メモリ割り当てルーチンを使用します。
手動でメモリ ルーチンを指定するには、次の手順を実行します:
- ゲーム開始時:
- PFMemSetFunctions を呼び出して、メモリの割り当てと解放のための割り当てコールバックを指定します。
- PFInitialize を呼び出して PlayFab コア ライブラリを初期化します。
- PFServicesInitialize を呼び出して、PlayFab サービス ライブラリを初期化します。
Important
順序が重要となります。 PFMemSetFunctions は PFInitialize より前に、PFInitialize は PFServicesInitialize より前に記述する必要があります。 PFInitialize の明示的な呼び出しをスキップすると PFServicesInitialize はコアを内部的に初期化しますが、その時点ではメモリ フックがまだ適用されていないため、SDK では代わりに既定の割り当てルーチンが使用されます。
PFMemoryHooks playFabHooks{ MyAllocHook, MyFreeHook };
PFMemSetFunctions(&playFabHooks);
HRESULT hr = PFInitialize(nullptr); // Add your own error handling when FAILED(hr) == true
hr = PFServicesInitialize(nullptr); // Add your own error handling when FAILED(hr) == true
ゲーム実行中:
- メモリを割り当てるか解放する SDK への呼び出しでは、指定されたメモリ処理コールバックが呼び出されます。
ゲーム終了時:
- PFServicesUninitializeAsync を呼び出して、PlayFab サービスに関連付けられているすべてのリソースを回収します。
- PFUninitializeAsync を呼び出して、PlayFab コアに関連付けられているすべてのリソースを解放します。
- ゲームのカスタム メモリ マネージャーをクリーンアップします。