次の方法で共有


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

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

構文

HRESULT GetApplicationsInProcess(
  [in]  REFGUID            ApplicationInstanceId,
  [in]  DWORD              ProcessId,
  [in]  REFGUID            PartitionId,
  [in]  DWORD              Flags,
  [out] ULONG              *NumApplicationsInProcess,
  [out] ApplicationSummary **Applications
);

パラメーター

[in] ApplicationInstanceId

選択する追跡対象のプロセスを一意に識別するアプリケーション インスタンス GUID。代わりに ProcessId パラメーターを選択に使用する場合はGUID_NULL。

[in] ProcessId

選択するプロセスを識別するプロセス ID。代わりに ApplicationInstanceId を 選択に使用する場合は 0。

[in] PartitionId

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

[in] Flags

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

[out] NumApplicationsInProcess

返された場合、 PartitionIdFlags で指定されたフィルター条件に一致するプロセス内のアプリケーションの数。

[out] Applications

返された場合、一致する アプリケーションの ApplicationSummary 構造体の配列。

戻り値

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

リターン コード 説明
S_OK
メソッドは正常に完了し、結果は Applications パラメーターにあります。
S_FALSE
メソッドは正常に完了しましたが、フィルター条件に一致するプロセスはありませんでした。
COMADMIN_E_APP_NOT_RUNNING
指定されたプロセスが存在しないか、追跡対象の COM+ アプリケーションをホストしていません。

注釈

プロセスは、アプリケーション インスタンス ID またはそのプロセス ID によって選択できますが、両方で選択することはできません。 プロセス ID はプロセスの終了後に再利用される可能性があるため、一般に、アプリケーション インスタンス ID による選択が推奨されます。 ただし、プロセス ID による選択は、プログラムへのコマンド ライン引数など、他のソースからプロセス ID を取得する場合に役立ちます。

フラグでGATD_INCLUDE_LIBRARY_APPSもGATD_INCLUDE_SWCも設定されていない場合、結果には COM+ サーバー アプリケーションのみが含まれます。 GATD_INCLUDE_LIBRARY_APPSが設定されている場合は、プロセス内の COM+ ライブラリ アプリケーション (存在する場合) も含まれます。 GATD_INCLUDE_SWCが設定されていて、プロセスで 1 つ以上の Services Without Components コンテキストがホストされている場合、結果には、SWC コンテキストの概要を含む 1 つの擬似アプリケーション エントリも含まれます。

要件

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

こちらもご覧ください

IGetAppTrackerData