跳转到主要内容
每当 PlayFab 需要动态分配内存缓冲区时调用的回调。

语法

参数

size   _In_ size_t 要分配的大小(以字节为单位)。此值永远不会为零。 memoryTypeId   _In_ uint32_t 正在分配的内存的内部类别的不透明标识符。请忽略此值。

返回值

类型:void* 指向已分配的指定大小内存块的指针;如果分配失败,则为 nullptr。头文件使用 _Ret_maybenull_ 和 _Post_writable_byte_size_(size) 对返回值进行批注。

备注

若要安装此回调,请在 PFMemoryHooks 结构的 alloc 成员中设置它,并在调用 PFInitialize 之前将该结构传递给 PFMemSetFunctions。同时将 free 成员设置为匹配的 PFMemFreeFunction 回调。如果只设置了这两个成员中的一个,PFMemSetFunctions 将返回 E_INVALIDARG。 回调必须返回一个指向所请求大小的连续内存块的指针。该内存块必须保持有效,直到 PlayFab 将其传递给你的 PFMemFreeFunction 回调。当 PlayFab 不再需要内存时,会将此回调返回的每个非 null 指针传递给你的 PFMemFreeFunction 回调。 如果在调用 PFMemSetFunctions 时 libHttpClient 尚未初始化,PlayFab 还会安装挂钩,使 libHttpClient 的分配也通过此回调进行。 若要获取当前正在使用的挂钩(包括默认挂钩),请调用 PFMemGetFunctions。 PlayFab 可能从不同的线程调用此回调,因此请确保它是线程安全的。

要求

头文件: PFPlatform.h 库: PlayFabCore.lib 支持的平台: Windows、XBOX One 系列主机和 XBOX Series 主机

另请参阅

PFPlatform 成员 PFMemoryHooks PFMemFreeFunction
最后修改于 2026年11月5日