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

Recupera informações resumidas para todos os processos que hospedam aplicativos COM+ ou para um subconjunto especificado desses processos.

Sintaxe

HRESULT GetApplicationProcesses(
  [in]  REFGUID                   PartitionId,
  [in]  REFGUID                   ApplicationId,
  [in]  DWORD                     Flags,
  [out] ULONG                     *NumApplicationProcesses,
  [out] ApplicationProcessSummary **ApplicationProcesses
);

Parâmetros

[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_PROCESS_EXE_NAME, GATD_INCLUDE_LIBRARY_APPS GATD_INCLUDE_SWC. Confira os comentários abaixo para obter mais informações.

[out] NumApplicationProcesses

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

[out] ApplicationProcesses

No retorno, uma matriz de estruturas ApplicationProcessSummary para os processos correspondentes.

Valor retornado

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 ApplicationProcesses .
S_FALSE
O método foi concluído com êxito, mas não houve processos que correspondessem aos critérios de filtro.

Comentários

Os parâmetros PartitionId, ApplicationId e Flags podem ser usados para especificar critérios de filtro se o chamador quiser apenas informações sobre um subconjunto de processos rastreados.

Se nem GATD_INCLUDE_LIBRARY_APPS nem GATD_INCLUDE_SWC estiverem definidos em Sinalizadores, os resultados incluirão apenas instâncias de aplicativo de servidor COM+. O parâmetro ApplicationId pode ser usado para selecionar instâncias de um aplicativo de servidor COM+ específico e o parâmetro PartitionId para aplicativos de servidor COM+ de uma partição específica.

Se GATD_INCLUDE_LIBRARY_APPS ou GATD_INCLUDE_SWC estiverem definidos, os resultados também incluirão processos que hospedam aplicativos de biblioteca COM+ ou contextos de Serviços sem Componentes, respectivamente. Nesses casos, ApplicationId e PartitionId filtram processos com base em todos os aplicativos (dos tipos solicitados) que o processo está hospedando. Se um processo incluir pelo menos um aplicativo que corresponda aos critérios, ele será incluído nos resultados.

Por exemplo, imagine que os seguintes aplicativos COM+ estão instalados:

  • O AppX é um aplicativo de servidor no PartitionA.
  • AppY é um aplicativo de biblioteca no PartitionA.
  • AppZ é um aplicativo de servidor no PartitionB.
Se PartitionId especificar PartitionA e GATD_INCLUDE_LIBRARY_APPS estiver definido:
  • Uma instância do AppX será incluída.
  • Um processo de cliente que criou componentes do AppY será incluído.
  • Uma instância do AppZ que não contém nenhum outro componente COM+ não será incluída porque o AppZ não está na partição especificada por PartitionId.
  • No entanto, se houver outra instância do AppZ, mas que também tenha criado componentes do AppY, esse processo será incluído mesmo que o aplicativo de servidor não esteja na partição especificada por PartitionId. Esse processo não seria incluído se GATD_INCLUDE_LIBRARY_APPS não fosse definido.

Requisitos

   
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