次の方法で共有


IGetAppTrackerData::GetApplicationProcesses メソッド (comsvcs.h)

COM+ アプリケーションをホストしているすべてのプロセス、またはこれらのプロセスの指定されたサブセットの概要情報を取得します。

構文

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

パラメーター

[in] PartitionId

結果をフィルター処理するパーティション ID、またはすべてのパーティションのGUID_NULL。

[in] ApplicationId

結果をフィルター処理するアプリケーション ID、またはすべてのアプリケーションのGUID_NULL。

[in] Flags

GetAppTrackerDataFlags 列挙からのフラグを組み合わせて結果をフィルター処理し、返されるデータを選択します。 サポートされているフラグは、GATD_INCLUDE_PROCESS_EXE_NAME、GATD_INCLUDE_LIBRARY_APPS、GATD_INCLUDE_SWCです。 詳細については、以下の解説を参照してください。

[out] NumApplicationProcesses

返された場合、 PartitionIdApplicationIdおよび Flags で指定されたフィルター条件に一致するプロセスの数。

[out] ApplicationProcesses

返された場合、一致するプロセスの ApplicationProcessSummary 構造体の配列。

戻り値

このメソッドは、E_INVALIDARGおよびE_OUTOFMEMORY標準の戻り値と、次の値を返すことができます。

リターン コード 説明
S_OK
メソッドは正常に完了し、結果は ApplicationProcesses パラメーターにあります。
S_FALSE
メソッドは正常に完了しましたが、フィルター条件に一致するプロセスはありませんでした。

解説

び出し元が追跡対象プロセスのサブセットに関する情報のみを必要とする場合は、PartitionId、ApplicationIdおよび Flags パラメーターを使用してフィルター条件を指定できます。

フラグでGATD_INCLUDE_LIBRARY_APPSもGATD_INCLUDE_SWCも設定されていない場合、結果には COM+ サーバー アプリケーション インスタンスのみが含まれます。 ApplicationId パラメーターを使用して、特定の COM+ サーバー アプリケーションのインスタンスと、特定のパーティションから COM+ サーバー アプリケーションの PartitionId パラメーターを選択できます。

GATD_INCLUDE_LIBRARY_APPSまたはGATD_INCLUDE_SWCが設定されている場合、結果には、COM+ ライブラリ アプリケーションまたはコンポーネントなしのサービス コンテキストをホストしているプロセスも含まれます。 このような場合、 ApplicationIdPartitionId は、プロセスがホストしているすべてのアプリケーション (要求された種類) に基づいてプロセスをフィルター処理します。 条件に一致するアプリケーションがプロセスに少なくとも 1 つ含まれている場合は、結果に含まれます。

たとえば、次の COM+ アプリケーションがインストールされるとします。

  • AppX は PartitionA のサーバー アプリケーションです。
  • AppY は PartitionA のライブラリ アプリケーションです。
  • AppZ は PartitionB のサーバー アプリケーションです。
PartitionId が PartitionA を指定し、GATD_INCLUDE_LIBRARY_APPSが設定されている場合:
  • AppX のインスタンスが含まれます。
  • AppY からコンポーネントを作成したクライアント プロセスが含まれます。
  • 他の COM+ コンポーネントを含まない AppZ のインスタンスは、 PartitionId で指定されたパーティションに AppZ がないため、含まれません。
  • ただし、AppZ の別のインスタンスがあるが、AppY からコンポーネントも作成されている場合、サーバー アプリケーションが PartitionId で指定されたパーティションに存在しない場合でも、このプロセスが含まれます。 GATD_INCLUDE_LIBRARY_APPSが設定されていない場合、このプロセスは含まれません。

要件

   
サポートされている最小のクライアント WINDOWS XP と SP2 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 SP1 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー comsvcs.h

関連項目

IGetAppTrackerData