Skip to main content

XSystemHandleTrack

Gaming Runtime のハンドル ライフタイム イベントを追跡するためのコールバックを登録します。

Syntax

Parameters

callback    _In_
型: XSystemHandleCallback
ハンドルの作成および破棄時に呼び出されるユーザー定義コールバック。ハンドル追跡を無効にするには、コールバックに NULL を渡します。 context    _In_opt_
型: void *
コールバックに渡されるユーザー定義のコンテキスト。

Return value

型: HRESULT 成功した場合は S_OK、それ以外の場合はエラー コードを返します。エラー コードの一覧については、エラー コード を参照してください。

Remarks

ゲーム開発者は、不適切なハンドル使用に関連するバグをトラブルシューティングできる機能を必要としています。GRTS API のほとんどは、プラットフォーム実装内の内部オブジェクトのライフタイムに対応するハンドルを使用します。開発者が誤って無効な (NULL、既に解放されているなどの) ハンドルをこれらの API に渡してしまうことで、タイトルのクラッシュにつながる問題がゲームで発生することがよくあります。また、開発者が意図せずにハンドルをリークし、リソースの過剰使用を引き起こすこともあります。ハンドル追跡 API の目的は、開発者がこれらの問題を診断し、修正できるようにすることです。 この API には、アクティブとパッシブの 2 つのコンポーネントがあります。GRTS が作成するすべてのハンドルは、デバッグと小売のどちらのシナリオでも継続的に追跡されます。ハンドルが API に渡されるたびに、プラットフォームは、これらのハンドルが有効な内部オブジェクトに対応していることを確認するために検証を行います。無効なハンドルが検出された場合、プラットフォームはエラーを記録し、XErrorReport を呼び出して開発者に問題を通知します。プラットフォームは無効なハンドルの使用を抑制するための追加の処理は行わず、この機能が導入される前と同様にアプリケーションがクラッシュすることを許可します。最後に、XGameRuntimeUninitialize の時点で発生しているハンドル リークも、XErrorReport を介して報告されます。現時点では、ハンドル追跡システムは GRTS の外部にあるハンドルの追跡を有効にしません。

Requirements

ヘッダー: XSystem.h ライブラリ: xgameruntime.lib サポートされているプラットフォーム: Windows、XBOX One ファミリー本体および XBOX Series 本体

See also

XSystem のメンバー XSystemHandleCallback
最終更新日 2026年8月24日