IGetAppTrackerData::GetApplicationsInProcess 方法 (comsvcs.h)

检索单个进程中托管的所有 COM+ 应用程序的摘要信息,或者检索这些应用程序的指定子集的摘要信息。

语法

HRESULT GetApplicationsInProcess(
  [in]  REFGUID            ApplicationInstanceId,
  [in]  DWORD              ProcessId,
  [in]  REFGUID            PartitionId,
  [in]  DWORD              Flags,
  [out] ULONG              *NumApplicationsInProcess,
  [out] ApplicationSummary **Applications
);

参数

[in] ApplicationInstanceId

唯一标识要选择的跟踪进程的应用程序实例 GUID;如果将改用 ProcessId 参数进行选择,则GUID_NULL。

[in] ProcessId

标识要选择的进程的进程 ID;如果 ApplicationInstanceId 将改为用于选择,则为 0。

[in] PartitionId

用于筛选结果的分区 ID,或为所有分区GUID_NULL。

[in] Flags

GetAppTrackerDataFlags 枚举中的标志组合,用于筛选结果并选择返回的数据。 支持以下标志:GATD_INCLUDE_LIBRARY_APPS、GATD_INCLUDE_SWC、GATD_INCLUDE_APPLICATION_NAME。 有关详细信息,请参阅下面的备注。

[out] NumApplicationsInProcess

返回时,进程中与 PartitionIdFlags 指定的筛选条件匹配的应用程序数。

[out] Applications

返回时,匹配应用程序的 ApplicationSummary 结构的数组。

返回值

此方法可以返回E_INVALIDARG和E_OUTOFMEMORY的标准返回值,以及以下值。

返回代码 说明
S_OK
方法已成功完成,结果位于 Applications 参数中。
S_FALSE
方法已成功完成,但没有与筛选条件匹配的进程。
COMADMIN_E_APP_NOT_RUNNING
指定的进程不存在,或者未承载任何跟踪的 COM+ 应用程序。

注解

进程可由其应用程序实例 ID 或进程 ID 选择,但不能同时选择这两者。 通常首选按应用程序实例 ID 进行选择,因为在进程终止后可能会重复使用进程 ID。 但是,如果从其他源(例如程序的命令行参数)获取进程 ID,则按进程 ID 进行选择可能会很有用。

如果在 标志中未设置GATD_INCLUDE_LIBRARY_APPS和GATD_INCLUDE_SWC,则结果中仅包含 COM+ 服务器应用程序。 如果设置了GATD_INCLUDE_LIBRARY_APPS,则还会包含进程中的 COM+ 库应用程序(如果有)。 如果设置了GATD_INCLUDE_SWC,并且进程承载一个或多个无组件服务上下文,则结果还将包含单个伪应用程序条目以及 SWC 上下文摘要。

要求

要求
最低受支持的客户端 具有 SP2 的 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 SP1 [仅限桌面应用]
目标平台 Windows
标头 comsvcs.h

另请参阅

IGetAppTrackerData