다음을 통해 공유


XErrorSetCallback

게임 OS나 게임 런타임에서 오류가 발생하면 호출되는 콜백을 지정합니다.

구문

void XErrorSetCallback(  
         XErrorCallback* callback,  
         void* context  
)  

매개 변수

callback _In_
형식: XErrorCallback *

호출할 게임 정의 콜백에 대한 포인터입니다. nullptr(으)로 전달하면 콜백이 지워집니다.

context _In_
형식: void*

콜백에 대한 컨텍스트 포인터입니다.

반환 값

형식: void

설명

참고 항목

이 함수는 시간에 민감한 스레드에서 호출하는 것이 안전하지 않습니다. 자세한 내용은 시간에 민감한 스레드를 참조하세요.

이 함수를 사용하여 오류가 발생하는 경우 시스템이 호출해야 하는 게임의 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 콘솔

참고 항목

XError 멤버
XErrorCallback