Membuat Hierarki Dalam WMI

Namespace layanan WMI adalah objek pemrograman yang menentukan cakupan untuk sekumpulan kelas dan instans. Kelas penyedia WMI harus didefinisikan di dalam namespace layanan.

Namespace menjelaskan lingkungan terkelola yang berbeda, seperti lingkungan SMS. Karena kelas dan instans skema menentukan komponen lingkungan terkelola, setiap skema baru memerlukan namespace baru. Misalnya, namespace layanan root\cimv2 berisi kelas dan instans yang ditentukan dalam skema Win32 serta kelas Common Information Model (CIM) induk tempat skema Win32 diwarisi. Kelas CIM ditentukan oleh Distributed Management Task Force (DMTF).

Catatan

Untuk memastikan bahwa semua definisi kelas WMI Anda untuk objek terkelola dipulihkan ke repositori WMI jika WMI mengalami kegagalan dan menghidupkan ulang, gunakan instruksi pra-prosesor pemulihan otomatis #pragma dalam file Managed Object Format (MOF) Anda.

 

WMI mendefinisikan namespace sebagai instans kelas sistem __Namespace atau kelas apa pun yang berasal dari __Namespace. Kelas sistem __Namespace memiliki satu properti yang disebut Nama, yang harus unik dalam cakupan namespace induk. Properti Nama juga harus berisi string yang dimulai dengan huruf. Semua karakter lain dalam string dapat berupa huruf, digit, atau garis bawah. Semua karakter tidak peka huruf besar/kecil.

Selain menentukan nama unik untuk namespace layanan anak, namespace WMI induk dapat melindungi instans statis kelas Anda dari modifikasi yang tidak disengaja oleh penyedia lain. Misalnya, Anda mungkin merasa nyaman untuk menumpuk namespace baru di bawah namespace yang ada untuk penyedia lain. Namun, penyedia asli dapat mencoba memperbarui semua instans kelas untuk dicocokkan dengan skema baru. Dengan demikian, penyedia asli dapat menghapus semua sub-anak di namespace layanan. Meskipun ini mungkin tindakan yang sesuai untuk namespace layanan target, ini dapat memengaruhi instans kelas yang tidak terkait di namespace anak (yaitu, kelas penyedia Anda sendiri).

Oleh karena itu, umumnya disarankan agar Anda membuat dan mendaftarkan namespace Anda sebagai terpisah dari namespace yang tidak Anda kontrol secara langsung. Ini terutama berlaku jika kelas Anda hanya berasal dari kelas CIM umum atau kelas lain dari perusahaan Anda. Namespace Anda dapat berada di bawah namespace root , seperti berikut ini:

Root/myCompany/myProduct

Sebaliknya, jika kelas baru Anda berasal dari kelas penyedia lain, Anda mungkin perlu menyimpan kelas Anda di sub-namespace penyedia tersebut. Perhatikan bahwa ini mengekspos kelas baru Anda ke penghapusan yang tidak disengaja oleh penyedia asli.

WMI menyediakan beberapa cara berbeda untuk membuat namespace:

Merancang Kelas Managed Object Format (MOF)