共用方式為


IGetAppTrackerData::GetApplicationProcesses 方法 (comsvcs.h)

擷取裝載 COM+ 應用程式之所有進程的摘要資訊,或擷取這些進程的指定子集。

語法

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

參數

[in] PartitionId

篩選結果的資料分割識別碼,或針對所有分割區GUID_Null。

[in] ApplicationId

篩選結果的應用程式識別碼,或針對所有應用程式GUID_Null。

[in] Flags

GetAppTrackerDataFlags列舉中的旗標組合,以篩選結果並選取傳回的資料。 支援下列旗標:GATD_INCLUDE_PROCESS_EXE_NAME、GATD_INCLUDE_LIBRARY_APPS GATD_INCLUDE_SWC。 如需詳細資訊,請參閱下面的備註。

[out] NumApplicationProcesses

傳回時,符合 PartitionIdApplicationIdFlags所指定之篩選準則的進程數目。

[out] ApplicationProcesses

傳回時,符合進程的 ApplicationProcessSummary 結構陣列。

傳回值

這個方法可以傳回標準傳回值E_INVALIDARG和E_OUTOFMEMORY,以及下列值。

傳回碼 描述
S_OK
方法已順利完成,且結果位於 ApplicationProcesses 參數中。
S_FALSE
方法已順利完成,但沒有任何程式符合篩選準則。

備註

如果呼叫端只想要追蹤進程子集的相關資訊,則 PartitionIdApplicationIdFlags 參數可用來指定篩選準則。

如果旗 中未設定GATD_INCLUDE_LIBRARY_APPS或GATD_INCLUDE_SWC,則結果只會包含 COM+ 伺服器應用程式實例。 ApplicationId參數可用來選取特定 COM+ 伺服器應用程式的實例,以及特定分割區中 COM+ 伺服器應用程式的PartitionId參數。

如果已設定GATD_INCLUDE_LIBRARY_APPS或GATD_INCLUDE_SWC,結果也會包含分別裝載 COM+ 程式庫應用程式或服務不含元件內容的進程。 在這些情況下, ApplicationIdPartitionId 篩選程式會根據所要求類型的所有應用程式 () 進程裝載。 如果進程至少包含一個符合準則的應用程式,則會包含在結果中。

例如,假設已安裝下列 COM+ 應用程式:

  • AppX 是 PartitionA 中的伺服器應用程式。
  • AppY 是 PartitionA 中的程式庫應用程式。
  • AppZ 是 PartitionB 中的伺服器應用程式。
如果 PartitionId 指定 PartitionA ,且已設定GATD_INCLUDE_LIBRARY_APPS:
  • 將會包含 AppX 的實例。
  • 將會包含已從 AppY 建立元件的用戶端程式。
  • 不會包含其他 COM+ 元件的 AppZ 實例,因為 AppZ 不在 PartitionId所指定的分割區中。
  • 不過,如果有另一個 AppZ 實例,但也有從 AppY 建立元件,即使伺服器應用程式不在 PartitionId所指定的分割區中,也會包含此程式。 如果未設定GATD_INCLUDE_LIBRARY_APPS,就不會包含此程式。

規格需求

   
最低支援的用戶端 具有 SP2 的 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 SP1 [僅限傳統型應用程式]
目標平台 Windows
標頭 comsvcs.h

另請參閱

IGetAppTrackerData