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
返された場合、 PartitionId と Flags で指定されたフィルター条件に一致するプロセス内のアプリケーションの数。
[out] Applications
返された場合、一致する アプリケーションの ApplicationSummary 構造体の配列。
戻り値
このメソッドは、E_INVALIDARGおよびE_OUTOFMEMORY標準の戻り値と、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了し、結果は Applications パラメーターにあります。 |
|
メソッドは正常に完了しましたが、フィルター条件に一致するプロセスはありませんでした。 |
|
指定されたプロセスが存在しないか、追跡対象の 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 |