Solaris WBEM SDK 開発ガイド

メソッドの呼び出し

プロバイダによってサポートされるクラス内のメソッドを呼び出すには、invokeMethod インタフェースを使用します。メソッドのシグニチャーを取得するには、最初にそのメソッドが属するクラスの定義を取得する必要があります。invokeMethod メソッドは CIMValue を返します。呼び出したメソッドが戻り値を定義していない場合には、戻り値は null です。

invokeMethod インタフェースは、次の表に示す 4 つの引数を受け取ります。

表 3-4 invokeMethod パラメータ

パラメータ 

データ型 

説明 

name

CIMObjectPath

インスタンス名。このインスタンスでメソッドを呼び出す 

methodName

String

呼び出すメソッド名 

inParams

Vector

メソッドに渡す入力パラメータ 

outParams

Vector

メソッドから受け取る出力パラメータ 


例 3-15 メソッドの呼び出し

次の例では、CIM_Service クラスのインスタンス (デバイスやソフトウェアの機能を管理するサービス) を取得してから、invokeMethod メソッドを使って各サービスを停止します。

{
    ...
    /* CIM_Service クラスの 
CIM オブジェクトパスを CIM Object Manager に渡す。
このクラスで定義されたメソッドを呼び出す */ 
     
    CIMObjectPath op = new CIMObjectPath("CIM_Service"); 
     
    /* CIM Object Manager は インスタンスオブジェクトパスの列挙、
CIM_Service クラスのインスタンス名を]
返す */
     
    Enumeration e = cc.enumerateInstanceNames (op, true); 
     
    /* インスタンスオブジェクトパスの列挙を繰り返し処理する */
     
    while(e.hasMoreElements()) {
                // インスタンスを取得する
                CIMObjectPath op = (CIMObjectPath) e.nextElement();
                //Stop Service メソッドを呼び出して CIM サービスを停止する
                cc.invokeMethod("StopService", null, null);
              }
}