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 主机

另请参阅

XSystem 成员

XSystemHandleCallback