例 4–8 のコードセグメントは、特定のシステム上のすべてのプロセスを表示します。この例では、enumerateInstanceNames メソッドを使用して CIM_Process クラスのインスタンス名を取得します。このコードを Microsoft Windows 32 システムで実行すると、Windows 32 のプロセスが返されます。このコードを Solaris システムで実行すると、Solaris プロセスが返されます。
...
{
//ネームスペース cns を作成
CIMnameSpace cns = new CIMNameSpace();
//CIM Object Manager 上で cns ネームスペースに接続
cc = new CIMClient(cns, "root", "root_password");
/* CIM_Process クラスの CIM オブジェクトパスを
CIM Object Manager に渡す (このクラスのインスタンスを取得する)。 */
CIMObjectPath cop = new CIMObjectPath("CIM_Process");
/* CIM Object Manager が、オブジェクトパスの列挙
(CIM_Process クラスのインスタンス名) を返す。 */
Enumeration e = cc.enumerateInstanceNames(cop);
/* インスタンスオブジェクトパスを含む列挙のサイズ分だけ繰り返す。
各オブジェクト名によって参照されるインスタンスを取得するには、
CIM Client の getInstance クラスを使用する。 */
while(e.hasMoreElements()) {
CIMObjectPath op = (CIMObjectPath)e.nextElement();
// インスタンスを取得する。インスタンスに対してローカルである
// プロパティだけを返す (localOnly が真)
CIMInstance ci = cc.getInstance(op, true);
}
...