> ## 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

> Retorno de chamada que o PlayFab chama para liberar um buffer de memória não nulo alocado pelo retorno de chamada PFMemAllocFunction do título, depois que o PlayFab não precisa mais dele.

Um retorno de chamada que o PlayFab chama sempre que um buffer de memória alocado por ele não é mais necessário e pode ser liberado.

## Sintaxe

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

### Parâmetros

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

O ponteiro para o buffer de memória que o seu retorno de chamada [PFMemAllocFunction](https://docs.xbox.com/pt-BR/services/playfab/api-references/c/pfplatform/functions/pfmemallocfunction.md) alocou. Esse valor nunca é `nullptr`. O ponteiro não é válido depois que o retorno de chamada retorna.

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

Um identificador opaco da categoria interna da memória que está sendo liberada. Ignore esse valor.

### Valor de retorno

Tipo: void

## Comentários

Para instalar esse retorno de chamada, defina-o no membro `free` de uma estrutura [PFMemoryHooks](https://docs.xbox.com/pt-BR/services/playfab/api-references/c/pfplatform/structs/pfmemoryhooks.md) e passe a estrutura para [PFMemSetFunctions](https://docs.xbox.com/pt-BR/services/playfab/api-references/c/pfplatform/functions/pfmemsetfunctions.md) antes de chamar [PFInitialize](https://docs.xbox.com/pt-BR/services/playfab/api-references/c/pfcore/functions/pfinitialize.md). Defina ao mesmo tempo o membro `alloc` como um retorno de chamada PFMemAllocFunction correspondente. PFMemSetFunctions retorna `E_INVALIDARG` se apenas um dos dois membros estiver definido.

O PlayFab chama esse retorno de chamada quando termina de usar um buffer de memória que o seu retorno de chamada PFMemAllocFunction retornou, para que você possa liberar o buffer. O PlayFab não chama esse retorno de chamada com `nullptr`.

Se a libHttpClient ainda não estiver inicializada quando você chamar PFMemSetFunctions, o PlayFab também instalará ganchos que roteiam as liberações de memória da libHttpClient por meio desse retorno de chamada.

O PlayFab pode chamar esse retorno de chamada de threads diferentes, portanto, torne-o thread-safe.

## Requisitos

**Cabeçalho:** PFPlatform.h

**Biblioteca:** PlayFabCore.lib

**Plataformas compatíveis:** Windows, consoles da família XBOX One e consoles XBOX Series

## Confira também

[Membros de PFPlatform](https://docs.xbox.com/pt-BR/services/playfab/api-references/c/pfplatform/pfplatform_members.md)

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

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


## Related topics

- [PFMemAllocFunction](https://docs.xbox.com/pt-BR/services/playfab/api-references/c/pfplatform/functions/pfmemallocfunction.md)
- [PFMemoryHooks](https://docs.xbox.com/pt-BR/services/playfab/api-references/c/pfplatform/structs/pfmemoryhooks.md)
- [Visão geral da API C de serviços - PFPlatform.h](https://docs.xbox.com/pt-BR/services/playfab/api-references/c/pfplatform/pfplatform_members.md)
- [HCMemFreeFunction](https://docs.xbox.com/pt-BR/reference/live/httpclient/httpclient/functions/hcmemfreefunction.md)
- [XblMemFreeFunction](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/xbox_live_global_c/functions/xblmemfreefunction.md)
