RmGetList 函数 (restartmanager.h)

获取当前使用已在重启管理器会话中注册的资源的所有应用程序和服务的列表。

语法

DWORD RmGetList(
  [in]                DWORD              dwSessionHandle,
  [out]               UINT               *pnProcInfoNeeded,
  [in, out]           UINT               *pnProcInfo,
  [in, out, optional] RM_PROCESS_INFO [] rgAffectedApps,
  [out]               LPDWORD            lpdwRebootReasons
);

参数

[in] dwSessionHandle

现有重启管理器会话的句柄。

[out] pnProcInfoNeeded

指向接收 RM_PROCESS_INFO 结构所需的数组大小的指针,该结构返回所有受影响的应用程序和服务的信息。

[in, out] pnProcInfo

指向数组中 RM_PROCESS_INFO 结构的总数和填充结构数的指针。

[in, out, optional] rgAffectedApps

一个由 RM_PROCESS_INFO 结构构成的数组,这些结构使用已注册到会话的资源列出应用程序和服务。

[out] lpdwRebootReasons

指向接收 RM_REBOOT_REASON 枚举值的位置的指针,该枚举描述需要系统重启的原因。

返回值

这是收到的最新错误。 该函数可以返回 Winerror.h 中定义的 系统错误代码之一

价值 意义
ERROR_SUCCESS
0
函数成功完成。
ERROR_MORE_DATA
234
如果 rgAffectedApps 缓冲区太小,则 RmGetList 函数返回此错误值,无法保存列表中的所有应用程序信息。
ERROR_CANCELLED
1223
当前操作已由用户取消。
ERROR_SEM_TIMEOUT
121
Restart Manager 函数无法在分配的时间获取注册表写入互斥体。 建议重启系统,因为进一步使用重启管理器可能会失败。
ERROR_BAD_ARGUMENTS
160
一个或多个参数不正确。 如果 NULL 指针或 0 在参数中传递需要非null 和非零值,则 Restart Manager 函数将返回此错误值。
ERROR_WRITE_FAULT
29
操作无法读取或写入注册表。
ERROR_OUTOFMEMORY
14
重启管理器操作无法完成,因为没有足够的内存可用。
ERROR_INVALID_HANDLE
6
提供的句柄不存在重启管理器会话。
ERROR_ACCESS_DENIED
5
注册到重启管理器会话的路径是目录。

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
目标平台 窗户
标头 restartmanager.h
Rstrtmgr.lib
DLL Rstrtmgr.dll

另请参阅

RmCancelCurrentTask