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
返回时,进程中与 PartitionId 和 Flags 指定的筛选条件匹配的应用程序数。
[out] Applications
返回时,匹配应用程序的 ApplicationSummary 结构的数组。
返回值
此方法可以返回E_INVALIDARG和E_OUTOFMEMORY的标准返回值,以及以下值。
返回代码 | 说明 |
---|---|
|
方法已成功完成,结果位于 Applications 参数中。 |
|
方法已成功完成,但没有与筛选条件匹配的进程。 |
|
指定的进程不存在,或者未承载任何跟踪的 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 |