インストールを行うと、標準の CIM MOF ファイルがデフォルトのネームスペース root\cimv2 と root\security にコンパイルされます。新しいネームスペースを作成する場合は、そのネームスペースにオブジェクトを作成する前に適切な CIM MOF ファイルをネームスペースにコンパイルします。たとえば、標準の CIM 要素を使用するクラスを作成する場合は、ネームスペースに CIM コアスキーマをコンパイルします。CIM アプリケーションスキーマを拡張するクラスを作成する場合は、ネームスペースに CIM アプリケーションをコンパイルします。
例 4–20 のコードセグメントは、2 段階の処理により既存のネームスペース内にネームスペースを作成します。
最初に、CIMNameSpace メソッドを使用してネームスペースオブジェクトを構築します。このネームスペースオブジェクトには、ネームスペースが実際に作成される際に CIM Object Manager に渡されるパラメータが含まれます。
次に、CIMClient クラスを使用して CIM Object Manager に接続し、作成したネームスペースオブジェクトを渡します。CIM Object Manager は、このネームスペースオブジェクト内のパラメータを使用してネームスペースを作成します。
{
...
/* ネームスペースオブジェクトをクライアント上に作成する。ネームスペースオブジェクトは、
コマンド行から入力されたパラメータを格納する。args[0] にはホスト名
(たとえば myhost)、args[1] には親ネームスペース (たとえば
toplevel ディレクトリ) がそれぞれ含まれている。 */
CIMNameSpace cns = new CIMNameSpace (args[0], args[1]);
/* CIM Object Manager に接続し、パラメータとして、ホスト名
(args[0]) と親ネームスペース名 (args[1]) を持つネームスペース
オブジェクト (cns) と、ユーザー名文字列 (args[3])、パスワード文字列
(args[4]) の 3 つを渡す。 */
CIMClient cc = new CIMClient (cns, "root", "secret");
/* CIM Object Manager に別のネームスペースオブジェクトを渡す。
これには、null 文字列 (ホスト名) と args[2] (
子ネームスペースの名前 (たとえば、secondlevel) ) が含まれる。 */
CIMNameSpace cop = new CIMNameSpace("", args[2]);
/* secondlevel という新しいネームスペースを、myhost 上の
toplevel ネームスペースの下に作成する。 /*
cc.createNameSpace(cop);
...
}