다음을 통해 공유


XGameRuntimeInitialize

게임 런타임을 초기화합니다.

구문

HRESULT XGameRuntimeInitialize(  
)  

매개 변수

없음.

반환 값

형식: HRESULT

성공한 경우 S_OK를 반환하고, 그렇지 않으면 오류 코드를 반환합니다. 오류 코드 목록은 오류 코드를 참조하세요. 게임 런타임 라이브러리(xgameruntime.dll)를 찾을 수 없기 때문에 함수가 실패하면 반환 값이 E_GAMERUNTIME_DLL_NOT_FOUND로 설정됩니다.

비고

게임에서 게임 런타임 기능을 사용하려면 먼저 XGameRuntimeInitialize 함수를 호출하여 게임 런타임을 초기화합니다. 가능한 한 빨리, 일반적으로 게임의 진입점 함수 내에서 XGameRuntimeInitialize 함수를 호출합니다. 마찬가지로 가능한 한 늦게, 하지만 게임을 종료하기 전에 XGameRuntimeUninitialize 함수를 호출하여 게임 런타임을 초기화를 취소합니다.

게임 런타임에 대한 각 이진 컴파일 및 연결은 시작 초기에 XGameRuntimeInitialize를 호출해야 합니다. 여기에는 게임 런타임 기능을 사용하는 dll 형식의 게임 이진 및 미들웨어가 포함됩니다. XGameRuntimeInitialize 함수 내부적으로, 타이틀이 컴파일된 모든 인터페이스의 버전을 확인하고 일치하는 런타임 서비스를 초기화하는 데 사용됩니다. 두 가지 버전의 게임 런타임 사이에 함수가 추가되거나 제거되거나 드문 경우 호환성이 손상되는 동작이 변경될 수 있습니다. 각 구성 요소에서 XGameRuntimeInitialize를 호출하면 동일한 프로세스 내에서 로드되는 두 개의 서로 다른 이진 파일로 게임 런타임의 서로 다른 두 버전과 호환되지 않는 버전에 대한 컴파일과 같은 빌드 구성 문제를 검색하는 데 도움이 됩니다. 이러한 호환성이 손상되는 구성으로 인해 E_GAMERUNTIME_VERSION_MISMATCH 오류가 발생합니다.

다음 예제에서는 Visual Studio에서 Direct3D 12 데스크톱 게임 템플릿을 기반으로 하는 게임의 진입점 함수 내에서 XGameRuntimeInitializeXGameRuntimeUninitialize 함수를 사용하는 방법을 보여줍니다. XGameRuntimeInitialize 함수는 게임 개체가 인스턴스화되고 등록되기 전에 호출되며, XGameRuntimeUninitialize 함수는 게임 개체가 다시 설정된 후이지만 진입점 함수가 반환되기 전에 호출됩니다.

// Entry point
int 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;
}

요구 사항

헤더: XGameRuntimeInit.h

라이브러리: xgameruntime.lib

지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

XGameRuntimeUninitialize
XGameRuntimeInitializeWithOptions
XGameRuntimeInit
XGameRuntime 구조체
XGameRuntime 열거형
게임 런타임을 사용한 새 타이틀 개발