構文
パラメーター
size _In_ size_t
割り当てるサイズ (バイト単位)。この値が 0 になることはありません。
memoryTypeId _In_ uint32_t
割り当てられるメモリの内部カテゴリを表す不透明な識別子。この値は無視してください。
戻り値
型: void* 指定されたサイズの割り当て済みメモリ ブロックへのポインター。割り当てに失敗した場合はnullptr。ヘッダーでは、戻り値に _Ret_maybenull_ と _Post_writable_byte_size_(size) の注釈が付けられています。
解説
このコールバックをインストールするには、PFMemoryHooks 構造体のalloc メンバーに設定し、PFInitialize を呼び出す前に、その構造体を PFMemSetFunctions に渡します。同時に、free メンバーには対応する PFMemFreeFunction コールバックを設定します。2 つのメンバーのうち一方だけが設定されている場合、PFMemSetFunctions は E_INVALIDARG を返します。
コールバックは、要求されたサイズの連続したメモリ ブロックへのポインターを返す必要があります。このブロックは、PlayFab がそれを PFMemFreeFunction コールバックに渡すまで有効である必要があります。PlayFab は、このコールバックが返した null 以外のすべてのポインターを、メモリが不要になった時点で PFMemFreeFunction コールバックに渡します。
PFMemSetFunctions を呼び出した時点で libHttpClient がまだ初期化されていない場合、PlayFab は libHttpClient の割り当てもこのコールバック経由でルーティングするフックをインストールします。
既定のフックを含め、現在使用中のフックを取得するには、PFMemGetFunctions を呼び出します。
PlayFab はこのコールバックを異なるスレッドから呼び出す可能性があるため、スレッド セーフにしてください。
