XErrorSetCallback
Specifies the callback that is called when an error occurs in the gaming OS or gaming runtime.
Syntax
void XErrorSetCallback(
XErrorCallback* callback,
void* context
)
Parameters
callback _In_
Type: XErrorCallback*
Pointer to the game-defined callback to call. Passing in nullptr
clears the callback.
context _In_
Type: void*
Context pointer for the callback.
Return value
Type: void
Remarks
Note
This function isn't safe to call on a time-sensitive thread. For more information, see Time-sensitive threads.
Use this function to specify the XErrorCallback callback in your game that the system should call if an error occurs, and the XErrorSetOptions function to specify how the game should behave when an error occurs in the gaming OS or gaming runtime.
The following example illustrates how to set error options, define a custom error callback, and set the custom error callback to receive error notifications by the system.
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);
}
Requirements
Header: XError.h
Library: xgameruntime.lib
Supported platforms: Windows, Xbox One family consoles and Xbox Series consoles