启动新的重启管理器会话。 每个用户会话最多可以同时在系统上打开 64 个重启管理器会话。 当此函数启动会话时,它将返回一个会话句柄和会话密钥,该句柄和会话密钥可用于对重启管理器 API 的后续调用。
语法
DWORD RmStartSession(
[out] DWORD *pSessionHandle,
DWORD dwSessionFlags,
[out] WCHAR [] strSessionKey
);
参数
[out] pSessionHandle
指向重启管理器会话句柄的指针。 可以在对重启管理器 API 的后续调用中传递会话句柄。
dwSessionFlags
保留。 此参数应为 0。
[out] strSessionKey
包含新会话的会话键的 null 终止字符串。 在调用 RmStartSession 函数之前,必须分配大小CCH_RM_SESSION_KEY + 1
字符串。
返回值
这是收到的最新错误。 该函数可以返回 Winerror.h 中定义的 系统错误代码 之一。
价值 | 含义 |
---|---|
|
函数成功完成。 |
|
Restart Manager 函数无法在分配的时间获取注册表写入互斥体。 建议重启系统,因为进一步使用重启管理器可能会失败。 |
|
一个或多个参数不正确。 如果 NULL 指针或 0 在需要非 null 值和非零值的参数中传递 NULL 指针或 0,则重启管理器函数将返回此错误值。 |
|
已达到最大会话数。 |
|
系统无法写入指定的设备。 |
|
重启管理器作无法完成,因为没有足够的内存可用。 |
注解
如果已存在具有相同会话密钥的会话, RmStartSession 函数将返回错误。
RmStartSession 函数应由主安装程序调用,该安装程序控制用户界面或控制更新中多个修补程序的安装顺序。
辅助安装程序可以通过调用 RmJoinSession 函数以及从主安装程序 的 RmStartSession 函数调用返回的会话句柄和会话密钥来加入现有的重启管理器会话。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows操作系统 |
标头 | restartmanager.h |
图书馆 | Rstrtmgr.lib |
DLL | Rstrtmgr.dll |