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 を返してエラーを無視します。

解説

エラーが発生した場合に呼び出す XErrorCallback コールバックをゲーム内に指定するには、XErrorSetCallback 関数を使用します。ゲーム 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 メンバー
XErrorSetCallback