XErrorSetCallback
指定在游戏操作系统或游戏运行时出现错误时调用的回调。
语法
void XErrorSetCallback(
XErrorCallback* callback,
void* context
)
参数
callback _In_
类型:XErrorCallback*
指向要调用的游戏定义的回调的指针。 传入 nullptr
将清除回调。
context _In_
类型:void*
回调的上下文指针。
返回值
类型:void
备注
注意
在时间敏感线程上调用此函数是不安全的。 有关详细信息,请参阅时间敏感线程。
使用此函数来指定发生错误时系统应调用的游戏中的 XErrorCallback 回调,使用 XErrorSetOptions 函数指定在游戏 OS 或游戏运行时出现错误时,该游戏的行为。
下面的示例阐释了如何设置错误选项、如何定义自定义错误回调以及如何设置自定义错误回调以接收系统的错误通知。
bool CustomGameXErrorCallback(_In_ HRESULT hr, _In_ const char* msg, _In_ void* context)
{
// Capture the error to the game's custom logger
CustomGameLogger* logger = (CustomGameLogger*)context;
logger->ReportGameRuntimeIssue(hr, msg);
// Don't ignore the error. For example, continue on and do whatever
// is specified by XErrorSetOptions().
return true;
}
void SomeGameFunction()
{
// Previously initialize the game's custom logger
// CustomGameLogger* m_logger = InitializeLogger();
// ...
// Setup how you want to handle XErrors
XErrorSetOptions(DebugBreakOnError, FailFastOnError);
XErrorSetCallback(CustomGameXErrorCallback, m_logger);
}
要求
头文件:XError.h
库:xgameruntime.lib
支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机