XErrorCallback
게임 OS나 게임 런타임에서 오류가 발생하면 호출되는 콜백입니다.
구문
bool XErrorCallback(
HRESULT hr,
const char* msg,
void* context
)
매개 변수
hr _In_
형식: HRESULT
오류와 연결된 HRESULT 코드입니다.
msg _In_z_
형식: char*
오류에 대한 텍스트 설명입니다.
context _In_
형식: void*
콜백에 대한 컨텍스트 포인터입니다.
반환 값
형식: bool
시스템이 계속 진행되고 XErrorSetOptions에서 지정하는 모든 작업을 수행함을 나타내기 위해 true
을(를) 반환합니다. 그렇지 않은 경우 오류를 무시하기 위해 false
을(를) 반환합니다.
설명
XErrorSetCallback 함수를 사용하여 오류가 발생하는 경우 시스템이 호출해야 하는 게임의 XErrorCallback
콜백과, 게임 OS나 게임 런타임에서 오류가 발생할 경우 게임이 작동하는 방식을 지정하는 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 콘솔