rmGetList 函数 (restartmanager.h)

获取当前使用已注册到 Restart Manager 会话的资源的所有应用程序和服务的列表。

语法

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

parameters

[in] dwSessionHandle

现有 Restart Manager 会话的句柄。

[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 和非零值的参数中传递 NULL 指针或 0,则重启管理器函数将返回此错误值。
ERROR_WRITE_FAULT
29
操作无法读取或写入注册表。
ERROR_OUTOFMEMORY
14
重启管理器操作无法完成,因为没有足够的内存可用。
ERROR_INVALID_HANDLE
6
提供的句柄不存在 Restart Manager 会话。

要求

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

请参阅

RmCancelCurrentTask