例 6-6 のコードセグメントは、特定のシステム上のすべてのプロセスを表示します。この例では、enumInstances メソッドを使用して CIM_Process クラスのインスタンス名を取得します。このコードを Microsoft Windows 32 システムで実行すると、Windows 32 のプロセスが返されます。このコードを Solaris システムで実行すると、Solaris プロセスが返されます。
{
//ネームスペース cns を作成
CIMnameSpace cns = new CIMNameSpace;
//CIM Object Manager 上で cns ネームスペースに接続
cc = new CIMClient(cns);
/* CIM_Process クラスの CIM オブジェクトパスを
CIM Object Manager に渡す (このクラスのインスタンスを取得する)。 */
CIMObjectPath op = new CIMObjectPath("CIM_Process");
/* CIM Object Manager が、オブジェクトパスのベクトル
(CIM_Process クラスのインスタンス名) を返す。 */
Vector v = cc.enumInstances(op, true);
/* インスタンスオブジェクトパスが入ったベクトルのサイズ分だけ繰り返す。
各オブジェクト名によって参照されるインスタンスを取得するには、
CIM Client の getInstance インタフェースを使用する。 */
for (int i=0; i < v.size(); i++) {
// インスタンスを取得
CIMInstance ci = cc.getInstance(v.elementAt(i));
/* CIM_Process の各インスタンスのプロセス ID 文字列を
取得 */
CIMProperty cp = ci.getProperty("Handle");
}
|