XMemCreateWin32Heap
创建 Win32 堆。语法
参数
HeapFlags _In_类型:ULONGLONG 指示要创建的堆的内存来源。
baseAddress _In_
类型:PVOID 原位堆分配的基地址。如果
HeapFlags 设置为 XMEM_HEAP_INPLACE,则此值必须指向已提交内存中对齐到 4-KB 边界的地址;否则,此值必须设置为 NULL。
返回值
类型:HANDLE 如果成功,则返回所创建 Win32 堆的句柄;否则返回NULL。如果可用,扩展错误信息将提供给应用当前的 XErrorCallback 回调。
备注
此函数创建一个 Win32 堆,分别从HeapFlags 和 baseAddress 指示的源和基地址为该堆分配内存。如果创建堆时未在 HeapFlags 中指定 XMEM_HEAP_INPLACE,则堆由 2MB 页支持(如果指定了 XMEM_HEAP_64K_PAGES,则为 64KB 页)。如果在尝试创建 Win32 堆时发生错误,此方法将返回 NULL,并且(如果可用)错误将报告给应用当前的 XErrorCallback 回调。有关处理异常错误情况的更多信息,请参阅 XError。
有关配置和访问内存的更多信息,请参阅为游戏和开发工具包配置内存。
分配工具内存
如果在HeapFlags 中指定了 XMEM_HEAP_TOOL,则函数将尝试从工具分区分配内存以创建 Win32 堆,具体取决于分析模式和迭代模式设置:
- 如果迭代模式被禁用且分析模式已启用,则函数尝试从工具分区分配请求的内存量。如果请求的量不可用,则会发生错误。
- 如果迭代模式被禁用且分析模式也被禁用,则会发生错误。
- 如果迭代模式已启用,则函数尝试从游戏分区分配请求的内存量。如果请求的量不可用,则会发生错误。
要求
标头: xmem.h 库: xmem.lib 支持的平台: XBOX One 系列主机和 XBOX Series 主机请参阅
内存XMem
