命名空间是为了把一些类和类的实例更好地管理而定义的把这些类和实体集合起来的一个团体,它是_Namespace system class的一个实例,或者是_Namespace类的一个派生类,_Namespace类只有一个属性:Name。通过这个属性用户可以把某个命名空间和其他的命名空间分开来,注意命名空间的Name不能包括头缀和后缀的下划线。
命名空间可以相互联系和组织成一个具有任意层次的由类和类的实例组成的网状结构,这种结构有点象文件 系统 的树状结构,在同一个层次的情况下,命名空间必须具有互异的名称。
为了表示它们的层次结构你可以用右下线表示这种关系,如下:
Namespace1/Namespace2/Namespace3...../LastNamespace
虽然说这些命名空间可以表示成这样的层次结构,但是,这些命名空间之间没有类的继承关系,也就是说,子的命名空间中的类不会自动继承父的命名空间中的类。
通常情况下,一个命名空间包含了在某种环境下一系列的类和类的实例。例如那些在Win32下定义和运行的类即使是和其他的命名空间里的类具有相同的名字也不会出现冲突,然而在建立一个新的类的时候,最好还是不要和已经建立的类的名字相同,这为将来WMI发布减少了一些问题。
所有的WMI包含了下面这些预定义了的命名空间:
●root
●root/default
●root/cimv32
root命名空间是专门为包含其他的命名空间而设计的命名空间,WMI把其他的命名空间都放在这个命名空间下面。root/default命名空间包含了基本上 系统 的类,而root/cimv32命名空间主要是包含了在Win32环境下运行的一些类。比如:Win32_logicalDisk和Win32_OperatingSystem。很多操作基本上都是在root/cimv32命名空间下发生的。
命名空间可以相互联系和组织成一个具有任意层次的由类和类的实例组成的网状结构,这种结构有点象文件 系统 的树状结构,在同一个层次的情况下,命名空间必须具有互异的名称。
为了表示它们的层次结构你可以用右下线表示这种关系,如下:
Namespace1/Namespace2/Namespace3...../LastNamespace
虽然说这些命名空间可以表示成这样的层次结构,但是,这些命名空间之间没有类的继承关系,也就是说,子的命名空间中的类不会自动继承父的命名空间中的类。
通常情况下,一个命名空间包含了在某种环境下一系列的类和类的实例。例如那些在Win32下定义和运行的类即使是和其他的命名空间里的类具有相同的名字也不会出现冲突,然而在建立一个新的类的时候,最好还是不要和已经建立的类的名字相同,这为将来WMI发布减少了一些问题。
所有的WMI包含了下面这些预定义了的命名空间:
●root
●root/default
●root/cimv32
root命名空间是专门为包含其他的命名空间而设计的命名空间,WMI把其他的命名空间都放在这个命名空间下面。root/default命名空间包含了基本上 系统 的类,而root/cimv32命名空间主要是包含了在Win32环境下运行的一些类。比如:Win32_logicalDisk和Win32_OperatingSystem。很多操作基本上都是在root/cimv32命名空间下发生的。