语法
参数
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 可能从不同的线程调用此回调,因此请确保它是线程安全的。
