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

# PFMultiplayerAllocateMemoryCallback

> PFMultiplayerAllocateMemoryCallback 的参考，PlayFab Multiplayer C/C++ 库使用该回调请求动态分配的内存缓冲区。

每当 PlayFab Multiplayer 库需要动态分配新的内存缓冲区时调用的回调。

## 语法

```cpp theme={null}
typedef
void* (*PFMultiplayerAllocateMemoryCallback)(  
    size_t size,  
    uint32_t memoryTypeId  
)  
```

### 参数

**`size`**   size\_t

要进行的分配的大小。此值永远不会为零。

**`memoryTypeId`**   uint32\_t

一个不透明标识符，表示所分配内存的 PlayFab Multiplayer 库内部类别。应忽略此值。

### 返回值

类型：void\*

指向指定大小的已分配内存块的指针；如果分配失败，则为 nullptr。

## 备注

此回调可通过 [PFMultiplayerSetMemoryCallbacks()](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayersetmemorycallbacks.md) 方法选择性地安装。\
\
&#x20;该回调必须分配并返回一个指向指定大小的连续内存块的指针，该内存块必须保持有效，直到对应的 [PFMultiplayerFreeMemoryCallback](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/callbacks/pfmultiplayerfreememorycallback.md) 被调用以释放它。如果无法做到这一点，回调必须返回 nullptr 以使分配失败。内存分配失败有时被视为可容忍的，但通常会导致当前的 PlayFab Multiplayer 库操作失败。\
\
&#x20;该方法返回的每个非 nullptr 都将在不再需要该内存时随后传递给对应的 [PFMultiplayerFreeMemoryCallback](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/callbacks/pfmultiplayerfreememorycallback.md)。

## 要求

**头文件：** PFMultiplayer.h

## 另请参阅

[PFMultiplayer 成员](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/pfmultiplayer_members.md)\
[PFMultiplayerFreeMemoryCallback](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/callbacks/pfmultiplayerfreememorycallback.md)\
[PFMultiplayerSetMemoryCallbacks](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayersetmemorycallbacks.md)


## Related topics

- [PFMultiplayerFreeMemoryCallback](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/callbacks/pfmultiplayerfreememorycallback.md)
- [PFMultiplayerSetMemoryCallbacks](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/functions/pfmultiplayersetmemorycallbacks.md)
- [PFMultiplayer C/C++ API 概览 - PFMultiplayer.h](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/lobby/playfabmultiplayerreference-cpp/pfmultiplayer/pfmultiplayer_members.md)
- [game_chat_allocate_memory_callback](https://docs.xbox.com/zh-CN/reference/chat/gamechat2/functions/game_chat_allocate_memory_callback.md)
- [PartyAllocateMemoryCallback](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/callbacks/partyallocatememorycallback.md)
