> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PFMemFreeFunction

> タイトルの PFMemAllocFunction コールバックが割り当てた null 以外のメモリ バッファーが不要になった後に、それを解放するために PlayFab が呼び出すコールバック。

PlayFab が割り当てたメモリ バッファーが不要になり、解放できるようになるたびに PlayFab が呼び出すコールバック。

## 構文

```cpp theme={null}
void STDAPIVCALLTYPE PFMemFreeFunction(
    void* pointer,
    uint32_t memoryTypeId
);
```

### パラメーター

**`pointer`**   `_In_ _Post_invalid_` void\*

[PFMemAllocFunction](https://docs.xbox.com/ja-jp/services/playfab/api-references/c/pfplatform/functions/pfmemallocfunction.md) コールバックが割り当てたメモリ バッファーへのポインター。この値が `nullptr` になることはありません。コールバックから戻った後、このポインターは無効になります。

**`memoryTypeId`**   `_In_` uint32\_t

解放されるメモリの内部カテゴリを表す不透明な識別子。この値は無視してください。

### 戻り値

型: void

## 解説

このコールバックをインストールするには、[PFMemoryHooks](https://docs.xbox.com/ja-jp/services/playfab/api-references/c/pfplatform/structs/pfmemoryhooks.md) 構造体の `free` メンバーに設定し、[PFInitialize](https://docs.xbox.com/ja-jp/services/playfab/api-references/c/pfcore/functions/pfinitialize.md) を呼び出す前に、その構造体を [PFMemSetFunctions](https://docs.xbox.com/ja-jp/services/playfab/api-references/c/pfplatform/functions/pfmemsetfunctions.md) に渡します。同時に、`alloc` メンバーには対応する PFMemAllocFunction コールバックを設定します。2 つのメンバーのうち一方だけが設定されている場合、PFMemSetFunctions は `E_INVALIDARG` を返します。

PlayFab は、PFMemAllocFunction コールバックが返したメモリ バッファーの使用を終えたときにこのコールバックを呼び出し、バッファーを解放できるようにします。PlayFab が `nullptr` を指定してこのコールバックを呼び出すことはありません。

PFMemSetFunctions を呼び出した時点で libHttpClient がまだ初期化されていない場合、PlayFab は libHttpClient の解放もこのコールバック経由でルーティングするフックをインストールします。

PlayFab はこのコールバックを異なるスレッドから呼び出す可能性があるため、スレッド セーフにしてください。

## 要件

**ヘッダー:** PFPlatform.h

**ライブラリ:** PlayFabCore.lib

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

## 関連項目

[PFPlatform のメンバー](https://docs.xbox.com/ja-jp/services/playfab/api-references/c/pfplatform/pfplatform_members.md)

[PFMemoryHooks](https://docs.xbox.com/ja-jp/services/playfab/api-references/c/pfplatform/structs/pfmemoryhooks.md)

[PFMemAllocFunction](https://docs.xbox.com/ja-jp/services/playfab/api-references/c/pfplatform/functions/pfmemallocfunction.md)


## Related topics

- [PFMemAllocFunction](https://docs.xbox.com/ja-jp/services/playfab/api-references/c/pfplatform/functions/pfmemallocfunction.md)
- [PFMemoryHooks](https://docs.xbox.com/ja-jp/services/playfab/api-references/c/pfplatform/structs/pfmemoryhooks.md)
- [HCMemFreeFunction](https://docs.xbox.com/ja-jp/reference/live/httpclient/httpclient/functions/hcmemfreefunction.md)
- [XblMemFreeFunction](https://docs.xbox.com/ja-jp/reference/live/xsapi-c/xbox_live_global_c/functions/xblmemfreefunction.md)
- [HCMemAllocFunction](https://docs.xbox.com/ja-jp/reference/live/httpclient/httpclient/functions/hcmemallocfunction.md)
