XSystemHandleTrack
注册回调以跟踪游戏运行时中的句柄生存期事件。
语法
HRESULT XSystemHandleTrack(
XSystemHandleCallback callback,
void * context
)
参数
callback _In_
类型:XSystemHandleCallback
将在句柄创建和销毁时调用的用户定义回调。 要禁用句柄跟踪,请为回调传递 NULL。
context _In_opt_
类型:void *
要传递给回调的用户定义的上下文。
返回值
类型:HRESULT
如果成功,则返回 S_OK;否则返回错误代码。 有关错误代码的列表,请参阅错误代码。
备注
游戏开发人员需要能够排查涉及错误句柄使用情况的 bug。 大多数 GRTS API 使用与平台实现中内部对象生存期相对应的句柄。 游戏通常会遇到由开发人员意外向这些 API 提供无效(NULL、以前释放的等)句柄导致游戏崩溃的问题。 开发人员也可能无意中泄漏句柄,从而导致资源使用过度。 句柄跟踪 API 的目标是支持开发人员能够诊断和修复这些问题。
API 具有两个组件:主动和被动。 对于调试和零售方案,将持续跟踪 GRTS 创建的所有句柄。 每当句柄传递到 API 时,平台都会执行验证,以确保这些句柄对应于有效的内部对象。 如果检测到无效句柄,平台会记录错误并调用 XErrorReport 来通知开发人员出现问题。 平台不会执行任何其他工作来抑制无效句柄使用,并允许应用程序崩溃,就像执行此功能之前一样。 最后,还将通过 XErrorReport 报告 XGameRuntimeUninitialize 时发生的任何句柄泄漏。 目前,句柄跟踪系统未启用对 GRTS 外部句柄的跟踪。
要求
头文件:XSystem.h
库:xgameruntime.lib
支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机