Метод IGetAppTrackerData::GetComponentsInProcess (comsvcs.h)
Извлекает сводные сведения для всех компонентов COM+, размещенных в одном процессе, или для указанного подмножества этих компонентов.
Синтаксис
HRESULT GetComponentsInProcess(
[in] REFGUID ApplicationInstanceId,
[in] DWORD ProcessId,
[in] REFGUID PartitionId,
[in] REFGUID ApplicationId,
[in] DWORD Flags,
[out] ULONG *NumComponentsInProcess,
[out] ComponentSummary **Components
);
Параметры
[in] ApplicationInstanceId
GUID экземпляра приложения, который однозначно идентифицирует отслеживаемый процесс для выбора, или GUID_NULL, если вместо этого будет использоваться параметр ProcessId .
[in] ProcessId
Идентификатор процесса, определяющий процесс для выбора, или 0, если для выбора будет использоваться параметр ApplicationInstanceId .
[in] PartitionId
Идентификатор секции для фильтрации результатов или GUID_NULL для всех секций.
[in] ApplicationId
Идентификатор приложения для фильтрации результатов или GUID_NULL для всех приложений.
[in] Flags
Сочетание флагов из перечисления GetAppTrackerDataFlags для фильтрации результатов и выбора возвращаемых данных. Поддерживаются следующие флаги: GATD_INCLUDE_LIBRARY_APPS, GATD_INCLUDE_SWC, GATD_INCLUDE_CLASS_NAME GATD_INCLUDE_APPLICATION_NAME. Подробнее см. ниже в разделе Примечания.
[out] NumComponentsInProcess
При возврате — количество компонентов в процессе, соответствующих критериям фильтра, заданным PartitionId, ApplicationId и Flags.
[out] Components
При возврате массив структур ComponentSummary для соответствующих компонентов.
Возвращаемое значение
Этот метод может возвращать стандартные возвращаемые значения E_INVALIDARG и E_OUTOFMEMORY, а также следующие значения.
Код возврата | Описание |
---|---|
|
Метод успешно завершен, и результаты отображаются в параметре Components . |
|
Метод успешно завершен, но не было компонентов, соответствующих условиям фильтра. |
|
Указанный процесс не существует или не содержит отслеживаемых приложений COM+. |
Комментарии
Процесс может быть выбран по идентификатору экземпляра приложения или идентификатору процесса, но не по обоим. Выбор по идентификатору экземпляра приложения обычно предпочтителен, так как идентификаторы процессов могут использоваться повторно после завершения процесса. Однако выбор по идентификатору процесса может оказаться полезным, если вы получили идентификатор процесса из другого источника, например из аргумента командной строки для программы.
Если в разделе Флаги не заданы ни GATD_INCLUDE_LIBRARY_APPS, ни GATD_INCLUDE_SWC, в результаты включаются только компоненты из серверного приложения COM+. Если задано GATD_INCLUDE_LIBRARY_APPS, в процесс также включаются компоненты из приложений библиотеки COM+, если таковые имеются. Если задано GATD_INCLUDE_SWC, результаты также будут включать записи для контекстов служб без компонентов.
Если applicationId используется для указания приложения (для него не задано значение GUID_NULL), флаги GATD_INCLUDE_LIBRARY_APPS и GATD_INCLUDE_SWC не имеют смысла и недопустимо использовать их. Компоненты из указанного приложения будут возвращены независимо от типа этого приложения.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP с пакетом обновления 2 (SP2) [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 с пакетом обновления 1 (SP1) [только классические приложения] |
Целевая платформа | Windows |
Header | comsvcs.h |