XErrorCallback
在游戏操作系统或游戏运行时出现错误,则会调用回调。
语法
bool XErrorCallback(
HRESULT hr,
const char* msg,
void* context
)
参数
hr _In_
类型:HRESULT
与错误关联的 HRESULT 代码。
msg _In_z_
类型:char*
错误的文本描述。
context _In_
类型:void*
回调的上下文指针。
返回值
类型:bool
返回 true
,指示系统应继续运行并执行 XErrorSetOptions 所指定的任何操作;否则,返回 false
,忽略错误。
备注
使用 XErrorSetCallback 函数来指定发生错误时,系统应呼叫的游戏中的 XErrorCallback
回调,并且 XErrorSetOptions
函数用于指定在游戏操作系统或游戏运行时出现错误时,该游戏的行为。
下面的示例阐释了如何设置错误选项、如何定义自定义错误回调以及如何设置自定义错误回调以接收系统的错误通知。
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 主机