Sun WBEM 開発ガイド

メソッドの呼び出し

プロバイダがサポートするクラスのメソッドを呼び出すには、invokeMethod メソッドを使用します。アプリケーションでメソッドのシグニチャを検出するには、最初にメソッドが属しているクラスの定義を取得する必要があります。invokeMethod メソッドは、次の 4 つの引数を取ります。

データ型 

説明 

CIMObjectPath

メソッドの起動が必要なインスタンスの名前 

String

呼び出すメソッド名 

Vector

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

Vector

メソッドから取得する出力パラメータ 

invokeMethod メソッドは、CIMValue を返します。呼び出されるメソッドが戻り値を定義していない場合、戻り値は NULL です。

例 - メソッドの呼び出し

例 6-11 のコードセグメントは、CIM_Service クラスのインスタンス (デバイス機能またはソフトウェア機能を管理するサービス) を取得し、invokeMethod メソッドを使用して各サービスを停止します。


例 6-11 メソッドの呼び出し (invokeMethod)

{
 
 
/* CIM Object Manager に CIM_Service クラスの CIM オブジェクト 
パスを渡す (このクラスのインスタンスを取得する)。 */ 
 
CIMObjectPath op = new CIMObjectPath("CIM_Service"); 
 
/* CIM Object Manager は、オブジェクトパスのベクトル 
(CIM_Service クラスのインスタンス名) を返す。 */
 
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 サービスを停止するために Stop Service メソッドを呼び出す。
 
		c.invokeMethod(v.element(i), "StopService", null, null);
	
}
 
}