XLaunchNewGame
结束当前游戏,释放所有分配的资源,然后启动新游戏。
语法
void XLaunchNewGame(
const char* exePath,
const char* args,
XUserHandle defaultUser
)
参数
exePath _In_z_
类型:char*
要启动的新游戏的路径和文件名。 此路径可以与当前目录或绝对路径相关。 需要知道调用可执行文件的路径的游戏可以调用 GetModuleFilename 并用 nullptr 作为模块句柄。
args _In_opt_z_
类型:char*
用于启动新游戏的任何适用的游戏特定参数。
defaultUser _In_opt_
类型:XUserHandle
启动新游戏的用户的句柄。 如果未指定值,则指定当前用户。
返回值
类型:void
此函数不返回值或引发异常,即使无法重新启动游戏。
备注
注意
在时间敏感线程上调用此函数是不安全的。 有关详细信息,请参阅时间敏感线程。
此函数重新启动游戏,结束游戏的当前进程,并使用新进程重新启动游戏。 在不重新启动运行游戏的虚拟机的情况下重新启动游戏。 您可以选择指定其他默认用户和游戏特定的参数来用于重新启动游戏;有关指定其他默认用户的详细信息,请参阅用户标识和 XUser。
当前进程将始终处于终止状态,即使函数在启动新游戏时遇到错误。 例如,如果为 exePath、args 或 defaultUser 指定的任何一个值无效,则该函数不会返回值或引发异常。
注意
调用此函数时,将卸载以前装载的所有 DLC,但托管 XLaunchNewGame 目标的 DLC 除外。 G: 驱动器将继续指向基础包的根目录,而不是新启动的 EXE。
注意
如果在调用 XLaunchNewGame 之后但在新启动的游戏设置其暂停处理程序之前,游戏暂停,则游戏将终止。 这是一个非常短暂的时间范围,实际上应该不太可能发生。
注意
使用 XMemTransferMemory(NDA 主题)要求授权 传输到系统的内存将保留。
要求
头文件:XGame.h
库:xgameruntime.lib
支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机