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

# PartyAllocateMemoryCallback

> 每当 Party 库动态分配新的内存缓冲区时调用的回调。

每当 Party 库动态分配新的内存缓冲区时调用的回调。

## 语法

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

### 参数

**`size`**   size\_t

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

**`memoryTypeId`**   uint32\_t

一个不透明的标识符,表示正在分配内存的 Party 库内部类别。应忽略此值。

### 返回值

类型:void\*

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

## 备注

此回调可通过 [PartyManager::SetMemoryCallbacks()](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setmemorycallbacks.md) 方法可选安装。\
\
&#x20;回调必须分配并返回指向指定大小的连续内存块的指针,该内存块必须保持有效,直到调用标题对应的 [PartyFreeMemoryCallback](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/callbacks/partyfreememorycallback.md) 将其释放为止。如果无法做到这一点,回调必须返回 nullptr 以使分配失败。内存分配失败有时被认为是良性的,但通常会导致当前的 Party 库操作失败。\
\
&#x20;此方法返回的每个非 nullptr 值,一旦不再需要该内存,都会传递给相应的 [PartyFreeMemoryCallback](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/callbacks/partyfreememorycallback.md)。

## 要求

\*\*头文件:\*\*Party.h

## 另请参阅

[Party 成员](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/party_members.md)
[PartyFreeMemoryCallback](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/callbacks/partyfreememorycallback.md)
[PartyManager::SetMemoryCallbacks](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setmemorycallbacks.md)
[PartyManager::GetMemoryCallbacks](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getmemorycallbacks.md)


## Related topics

- [PartyFreeMemoryCallback](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/callbacks/partyfreememorycallback.md)
- [PartyManager::GetMemoryCallbacks](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_getmemorycallbacks.md)
- [PartyManager::SetMemoryCallbacks](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/reference/classes/PartyManager/methods/partymanager_setmemorycallbacks.md)
- [PartyXblManager::SetMemoryCallbacks](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/xblreference/classes/PartyXblManager/methods/partyxblmanager_setmemorycallbacks.md)
- [PartyXblManager::GetMemoryCallbacks](https://docs.xbox.com/zh-CN/services/playfab/multiplayer/networking/xblreference/classes/PartyXblManager/methods/partyxblmanager_getmemorycallbacks.md)
