ゲームで Gaming Runtime 機能を使用するには、まず XGameRuntimeInitialize 関数を呼び出して Gaming Runtime を初期化します。ゲームが Gaming Runtime の使用を終えて終了する準備ができたら、XGameRuntimeUninitialize 関数を呼び出して Gaming Runtime を初期化解除します。XGameRuntimeUninitialize 関数は、通常はゲームのエントリ ポイント関数内で、ゲームが終了する前のできるだけ遅い段階で呼び出します。次の例は、Visual Studio の Direct3D 12 Desktop Game テンプレートに基づくゲームのエントリ ポイント関数で XGameRuntimeInitialize および XGameRuntimeUninitialize 関数を使用する方法を示します。XGameRuntimeInitialize 関数は Game オブジェクトのインスタンス化と登録の前に呼び出され、XGameRuntimeUninitialize 関数は Game オブジェクトがリセットされた後、エントリ ポイント関数が返される前に呼び出されます。
// Entry pointint WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow){ UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // Initialize the Gaming Runtime before // performing any other activity. if (FAILED(XGameRuntimeInitialize())) return 1; if (!XMVerifyCPUSupport()) return 1; g_game = std::make_unique<Game>(); // Register class and create window { // Code omitted for brevity. ... } // Main message loop MSG msg = {}; while (WM_QUIT != msg.message) { // Code omitted for brevity. ... } g_game.reset(); // Uninitialize the Gaming Runtime after // all other activity has been completed. XGameRuntimeUninitialize(); return (int) msg.wParam;}