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 데스크톱 게임 템플릿을 기반으로 하는 게임의 진입점 함수 내에서 XGameRuntimeInitialize 및 XGameRuntimeUninitialize 함수를 사용하는 방법을 보여줍니다. 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 열거형
게임 런타임을 사용한 새 타이틀 개발