다음을 통해 공유


XLaunchNewGame

현재 게임을 종료하고, 할당된 모든 리소스를 확보한 다음 새 게임을 시작합니다.

구문

void XLaunchNewGame(  
         const char* exePath,  
         const char* args,  
         XUserHandle defaultUser  
)  

매개 변수

exePath _In_z_
형식: char*

시작할 새 게임의 경로 및 파일 이름입니다. 이 경로는 현재 디렉터리 또는 절대 경로와 관련이 있을 수 있습니다. 호출 실행 파일의 경로를 알아야 하는 게임은 모듈 핸들에 대한 nullptr을 사용하여 GetModuleFileNameA 를 호출할 수 있습니다.

args _In_opt_z_
형식: char*

새 게임을 시작하는 데 사용할 수 있는 게임 관련 인수입니다.

defaultUser _In_opt_
형식: XUserHandle

새 게임을 시작하는 사용자의 핸들입니다. 값을 지정하지 않으면 현재 사용자가 지정됩니다.

반환 값

형식: void

이 함수는 게임을 다시 시작할 수 없을 때도 값을 반환하거나 예외를 일으키지 않습니다.

비고

참고 항목

이 함수는 시간에 민감한 스레드에서 호출하는 것이 안전하지 않습니다. 자세한 내용은 시간에 민감한 스레드를 참조하세요.

이 함수는 게임을 다시 시작하고, 게임의 현재 프로세스를 종료하고, 새 프로세스를 이용해 게임을 다시 시작합니다. 게임이 다시 시작되지만 게임을 실행 중인 컴퓨터는 다시 시작되지 않습니다. 다른 기본 사용자를, 그리고 게임을 다시 시작하는 데 사용할 게임 관련 다른 인수를 지정할 수도 있습니다. 다른 기본 사용자 지정에 대한 자세한 내용은 사용자 ID 및 XUser를 참조하세요.

새 게임을 시작하는 동안 오류가 발생하더라도, 현재 프로세스는 항상 종료됩니다. 예를 들어 exePath, args 또는 defaultUser에 지정된 값이 올바르지 않다면, 함수는 값을 반환하거나 예외를 일으키지 않습니다.

참고 항목

이 함수가 호출되면 이전에 탑재된 모든 DLC가 탑재 해제됩니다. 단, XLaunchNewGame의 대상을 호스팅하는 DLC는 예외입니다. G: 드라이브는 계속해서 새로 실행된 EXE가 아닌 기본 패키지의 루트를 가리킵니다.

참고 항목

XLaunchNewGame이 호출된 후이지만 새로 시작된 게임이 일시 중단 처리기를 설정하기 전에 게임이 일시 중단되면 게임이 종료됩니다. 이것은 시간의 매우 좁은 창이며 실제로는 매우 가능성이 발생해야합니다.

참고 항목

XMemTransferMemory(NDA 항목)권한 부여 필요를 사용하여 시스템으로 전송된 메모리는 지속됩니다.

요구 사항

헤더: XGame.h

라이브러리: xgameruntime.lib

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

참고 항목

XGame
사용자 ID 및 XUser
XLaunchUri