Merancang Kelas Managed Object Format (MOF)
Penyedia WMI terdiri dari file Managed Object Format (MOF) dan file DLL. File MOF mendefinisikan kelas tempat implementasi penyedia memasok data.
Definisi kelas MOF dikompilasi oleh utilitas mofcomp dan disimpan di repositori WMI, juga dikenal sebagai repositori Common Information Model (CIM). Cara yang kurang umum untuk membuat kelas adalah melalui metode COM API untuk WMI.
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 MOF Anda.
Bagian berikut dibahas dalam topik ini:
- Menentukan Objek yang Akan Dikelola
- Menentukan Properti atau Metode
- Menghubungkan Objek satu sama lain
- Topik terkait
Menentukan Objek yang Akan Dikelola
Setelah Anda mengidentifikasi bagian perusahaan Anda untuk dikelola, tentukan objek yang akan dikelola. Definisi harus menyertakan data yang diperlukan, dan memungkinkan Anda menerapkan aturan bisnis yang relevan secara akurat. Anda dapat menentukan objek pada tingkat terperinci, tetapi yang terbaik adalah memutuskan antara tingkat detail yang terkandung dalam definisi, dan kebutuhan untuk memberikan detail yang cukup agar berguna. Pintasan di awal proses dapat menghemat waktu, tetapi dapat menyebabkan lebih banyak pekerjaan di masa depan.
Tutorial CIM di situs web Distributed Management Task Force (DMTF) berisi informasi yang sangat baik tentang proses desain. Untuk informasi selengkapnya, lihat www.dmtf.org.
Pertimbangkan faktor-faktor berikut saat Anda mengembangkan dan menerapkan desain skema:
Kualifikasi
Pengualifikasi menyediakan informasi tentang cara menjelaskan kelas, objek, properti, metode, dan parameter; dan diterapkan pada definisi kelas dan properti. Dalam kode MOF, kualifikasi diapit dalam tanda kurung siku dan dapat mencakup [kunci] atau [asosiasi]. Untuk informasi selengkapnya, lihat Menambahkan Kualifikasi dan Kualifikasi WMI.
Ruang nama
Namespace adalah unit logis untuk mengelompokkan kelas dan objek, serta mengontrol cakupan dan visibilitas. Biasanya, namespace berisi sekumpulan kelas dan objek yang mewakili objek terkelola di lingkungan tertentu. Untuk informasi selengkapnya, lihat Membuat Hierarki Dalam WMI.
Object
Objek yang dimodelkan mungkin merupakan elemen fisik atau logis dari skema. Misalnya, Anda dapat memodelkan drive disk fisik seperti hard disk drive, atau disk logis yang dapat menjadi partisi pada disk fisik. Desain yang menggunakan kelas untuk memodelkan drive disk fisik, lalu memperluas kelas tersebut untuk memodelkan disk logis lebih dapat diperluas daripada yang mencoba membuat kelas terpisah untuk setiap jenis disk.
Data
Data mungkin dinamis atau statis. Jika data bersifat dinamis, Anda harus membuat penyedia kelas untuk data tersebut.
Untuk memungkinkan pengguna mengubah data, Anda harus menentukan apakah Anda ingin properti dapat ditulis secara langsung atau dapat dimodifikasi hanya dengan menggunakan metode yang dipanggil pengguna.
Menentukan Properti atau Metode
Umumnya, properti kelas WMI mirip dengan properti di kelas C++. Jika satu-satunya tindakan yang diterapkan kode Anda untuk bagian data adalah mendapatkan nilai atau mengatur nilai, maka data harus didefinisikan sebagai properti kelas WMI.
Metode WMI umumnya melakukan tindakan yang mengubah status objek terkelola. Misalnya, jika tindakannya adalah mengaktifkan atau menonaktifkan pengoperasian objek perangkat keras, maka metode mungkin lebih disukai untuk membuat properti baca/tulis. Anda dapat memutuskan juga untuk membuat properti yang menampilkan status perangkat keras.
Saat membuat kelas atau instans, Anda dapat menyertakan komentar. Gunakan teknik ini untuk mendokumen kelas Anda atau menjelaskan teknik pemrograman Anda. Untuk informasi selengkapnya, lihat Membuat Komentar. Selain itu, Anda dapat menambahkan data untuk memenuhi syarat tujuan objek data. Untuk informasi selengkapnya, lihat Menambahkan Kualifikasi.
Menghubungkan Objek satu sama lain
Ada dua cara untuk menghubungkan objek satu sama lain: dengan membuat objek terpisah dan objek asosiasi yang menghubungkannya, atau dengan menyematkan satu objek di objek lainnya. CIM tidak mendukung objek yang disematkan, jadi agar sesuai dengan CIM, Anda harus menggunakan metode pertama. Namun, WMI mendukung objek yang disematkan, jadi gunakan salah satu metode untuk mewakili hubungan antar objek. Anda dapat menemukan contoh objek yang disematkan di Kelas Win32. Misalnya, Win32_SecurityDescriptor memiliki objek yang disematkan Win32_ACE, yang memiliki objek tersemat lain, Win32_Trustee.
Pertimbangkan hal berikut saat memutuskan cara mewakili hubungan antar objek:
- Jika instans berguna dengan sendirinya, maka asosiasi berfungsi paling baik. Misalnya, Win32_Process dan Win32_UserAccount. Untuk informasi selengkapnya, lihat Mendeklarasikan Kelas Asosiasi.
- Jika instans tidak ada di luar objek induk, objek yang disematkan berfungsi paling baik. Misalnya, Win32_SecurityDescriptor dan Win32_ACE. Untuk informasi selengkapnya, lihat Menyematkan Objek di Kelas.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk