Compartilhar via


Método IGetAppTrackerData::GetComponentsInProcess (comsvcs.h)

Recupera informações resumidas para todos os componentes COM+ hospedados em um único processo ou para um subconjunto especificado desses componentes.

Sintaxe

HRESULT GetComponentsInProcess(
  [in]  REFGUID          ApplicationInstanceId,
  [in]  DWORD            ProcessId,
  [in]  REFGUID          PartitionId,
  [in]  REFGUID          ApplicationId,
  [in]  DWORD            Flags,
  [out] ULONG            *NumComponentsInProcess,
  [out] ComponentSummary **Components
);

Parâmetros

[in] ApplicationInstanceId

O GUID da instância do aplicativo que identifica exclusivamente o processo rastreado a ser selecionado ou GUID_NULL se o parâmetro ProcessId será usado para seleção.

[in] ProcessId

A ID do processo que identifica o processo a ser selecionado ou 0 se o parâmetro ApplicationInstanceId for usado para seleção.

[in] PartitionId

Uma ID de partição para filtrar resultados ou GUID_NULL para todas as partições.

[in] ApplicationId

Uma ID do aplicativo para filtrar resultados ou GUID_NULL para todos os aplicativos.

[in] Flags

Uma combinação de sinalizadores da enumeração GetAppTrackerDataFlags para filtrar os resultados e selecionar quais dados são retornados. Há suporte para os seguintes sinalizadores: GATD_INCLUDE_LIBRARY_APPS, GATD_INCLUDE_SWC, GATD_INCLUDE_CLASS_NAME GATD_INCLUDE_APPLICATION_NAME. Consulte Comentários abaixo para obter mais informações.

[out] NumComponentsInProcess

No retorno, o número de componentes no processo que correspondem aos critérios de filtro especificados por PartitionId, ApplicationId e Flags.

[out] Components

No retorno, uma matriz de estruturas ComponentSummary para os componentes correspondentes.

Retornar valor

Esse método pode retornar os valores de retorno padrão E_INVALIDARG e E_OUTOFMEMORY, bem como os valores a seguir.

Código de retorno Descrição
S_OK
O método foi concluído com êxito e os resultados estão no parâmetro Components .
S_FALSE
O método foi concluído com êxito, mas não havia componentes que correspondessem aos critérios de filtro.
COMADMIN_E_APP_NOT_RUNNING
O processo especificado não existe ou não está hospedando nenhum aplicativo COM+ rastreado.

Comentários

Um processo pode ser selecionado por sua ID de instância de aplicativo ou sua ID de processo, mas não ambos. A seleção por ID da instância do aplicativo geralmente é preferencial, pois as IDs do processo podem ser reutilizados após o término de um processo. No entanto, a seleção por ID do processo poderá ser útil se você obtiver a ID do processo de alguma outra fonte, como um argumento de linha de comando para o programa.

Se nem GATD_INCLUDE_LIBRARY_APPS nem GATD_INCLUDE_SWC estiverem definidos em Sinalizadores, somente os componentes do aplicativo de servidor COM+ serão incluídos nos resultados. Se GATD_INCLUDE_LIBRARY_APPS estiver definido, os componentes de aplicativos de biblioteca COM+ no processo, se houver, também serão incluídos. Se GATD_INCLUDE_SWC estiver definido, os resultados também incluirão entradas para contextos de Serviços sem Componentes.

Se ApplicationId for usado para especificar um aplicativo (ele não está definido como GUID_NULL), os sinalizadores GATD_INCLUDE_LIBRARY_APPS e GATD_INCLUDE_SWC não serão significativos e não será válido usá-los. Os componentes do aplicativo especificado serão retornados, independentemente do tipo desse aplicativo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP com SP2 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 com SP1 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho comsvcs.h

Confira também

IGetAppTrackerData