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

另请参阅

XError 成员
XErrorSetCallback