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 本体