例 4–17 のコードセグメントでは、CIM_Service クラスのインスタンス (デバイスやソフトウェアの機能を管理するサービス) を取得してから、invokeMethod メソッドを使って各サービスを停止します。
{
...
/* CIM_Service クラスの CIMObjectPath を CIM Object Manager に渡す。
この例では、このクラスに定義されているメソッドを呼び出す */
CIMObjectPath op = new CIMObjectPath("CIM_Service");
/* CIM Object Manager がインスタンスオブジェクトパスの列挙
(CIM_Service クラスの各インスタンスの名前) を返す */
Enumeration e = cc.enumInstances(op, cc.DEEP);
/* インスタンスオブジェクトパスを含む列挙のサイズ分だけ繰り返す。
各オブジェクトパスによって参照されるインスタンスを取得するには、
CIMClient の getInstance クラスを使用する。*/
while(e.hasMoreElements()) {
// インスタンスを取得する
CIMInstance ci = cc.getInstance(e.nextElement(), true);
// StopService メソッドを使って CIM サービスを停止する
cc.invokeMethod(ci, "StopService", null, null);
}
}