Kualifikasi Standar
Semua implementasi yang mematuhi CIM harus menangani sekumpulan kualifikasi standar. Objek tertentu apa pun tidak memiliki semua kualifikasi yang tercantum. Biasanya, kelas ekstensi menyediakan kualifikasi tambahan untuk memfasilitasi penyediaan instans kelas dan operasi lain di kelas .
Adalah tanggung jawab penyedia untuk menegakkan kualifikasi. WMI tidak memberlakukan kualifikasi, tetapi menggunakannya hanya untuk memberi tahu pengguna tentang bagaimana properti digunakan.
Catatan
WMI mematuhi spesifikasi CIM 2.5.
Kualifikasi memiliki batasan berikut:
- Tidak semua kualifikasi standar dapat digunakan bersama-sama.
- Tidak semua kualifikasi dapat diterapkan ke semua konstruksi, seperti asosiasi atau referensi. Batasan ini diidentifikasi dalam daftar Berlaku untuk.
- Untuk konstruksi tertentu, seperti asosiasi atau referensi, penggunaan kualifikasi hukum dapat dibatasi lebih lanjut karena beberapa kualifikasi saling eksklusif, penggunaan satu kualifikasi dapat menyiratkan beberapa batasan pada nilai yang lain, dan sebagainya. Aturan penggunaan ini didokumenkan.
- Kualifikasi hukum diwariskan oleh entitas seperti properti, metode, instans, atau subkelas saja, bukan oleh asosiasi atau referensi. Misalnya, kualifikasi MaxLen yang berlaku untuk properti tidak diwariskan oleh referensi.
Berikut ini mencantumkan kualifikasi standar WMI.
Abstrak
Jenis data: boolean
Berlaku untuk: kelas, asosiasi, indikasi
Menunjukkan apakah kelas abstrak dan hanya berfungsi sebagai basis untuk kelas baru. Defaultnya adalah FALSE. Anda tidak dapat membuat instans kelas abstrak. Tidak adanya kualifikasi ini menunjukkan bahwa kelas tidak abstrak; oleh karena itu, kualifikasi ini diperlukan untuk semua kelas abstrak.
Aggregat
Jenis data: boolean
Berlaku untuk: referensi
Menunjukkan apakah referensi adalah komponen induk dari asosiasi agregasi. Defaultnya adalah FALSE.
Penggunaan: Kualifikasi Agregasi dan Agregat digunakan bersama-sama Agregasi memenuhi syarat asosiasi, dan Agregat menentukan referensi induk.
Agregasi
Jenis data: boolean
Berlaku untuk: asosiasi
Menunjukkan apakah asosiasi adalah agregasi. Defaultnya adalah FALSE. Digunakan dengan Agregat. Kualifikasi ini diperlukan untuk semua asosiasi agregasi.
Alias
Jenis data: string
Berlaku untuk: properti, referensi, metode
Nama alternatif untuk properti atau metode dalam skema. Defaultnya adalah NULL.
ArrayType
Jenis data: string
Berlaku untuk: properti, parameter
Jenis array yang memenuhi syarat.
Nilai yang valid adalah:
- tas (default)
- Diindeks
- dipesan
Penggunaan: Terapkan jenis kualifikasi ini hanya untuk properti dan parameter yang merupakan array (ditentukan dengan menggunakan sintaks kurung siku).
Bitmap
Jenis data: array string
Berlaku untuk: properti, metode, parameter
Peta posisi bit yang signifikan di mana setiap posisi signifikan dapat menjadi "aktif" atau "nonaktif". Setiap bit "on" memetakan ke nilai yang sesuai dalam array BitValues . Dengan memiliki beberapa bit "on", beberapa nilai bersamaan dalam array BitValues ditunjukkan. Defaultnya adalah NULL.
Untuk informasi selengkapnya, lihat BitMap dan BitValues.
BitValues
Jenis data: array string
Berlaku untuk: properti, metode, parameter
Terjemahan nilai posisi bit ke dalam string terkait. Defaultnya adalah NULL.
Untuk informasi selengkapnya, lihat BitMap dan BitValues.
Constructor
Jenis data: boolean
Berlaku untuk: metode
Menunjukkan apakah metode membuat instans. Metode ini tidak dibatasi untuk bertindak pada satu instans atau satu kelas. Misalnya, konstruktor dapat membuat instans asosiasi serta instans kelas yang menentukan konstruktor.
Kualifikasi Konstruktor hanya ditujukan untuk informasi dan tidak diharapkan bahwa itu ditindaklanjuti oleh manajer objek. Manajer objek tidak perlu memanggil metode konstruktor saat objek dibuat. Juga ketika konstruktor dipanggil, manajer objek tidak perlu memanggil metode konstruktor apa pun yang ditentukan untuk kelas induk dari kelas asli. Defaultnya adalah FALSE.
CreateBy
Jenis data: string
Berlaku untuk: kelas
Nama metode tempat instans kelas ini dibuat. Nilainya adalah "PutInstance" atau nama metode lain yang membuat instans. Defaultnya adalah NULL.
Penggunaan: Kualifikasi ini hanya dapat digunakan jika kualifikasi SupportsCreate ada.
DeleteBy
Jenis data: string
Berlaku untuk: kelas
Nama metode tempat instans kelas ini dihapus. Nilainya adalah "DeleteInstance", atau nama metode lain yang menghapus instans. Defaultnya adalah NULL.
Penggunaan: Kualifikasi ini hanya dapat digunakan jika kualifikasi SupportsDelete ada.
Keterangan
Jenis data: string
Berlaku untuk: apa pun
Deskripsi elemen bernama. Defaultnya adalah NULL.
Destruktor
Jenis data: boolean
Berlaku untuk: metode
Menunjukkan apakah metode menghapus instans. Metode yang menggunakan kualifikasi Destructor menghapus instans tempat destruktor diterapkan, dan tidak dibatasi untuk bertindak pada satu instans atau kelas. Misalnya, destruktor dapat menghapus instans asosiasi serta instans kelas yang menentukan destruktor.
Kualifikasi Destructor hanya ditujukan untuk informasi dan tidak diharapkan bahwa itu ditindaklanjuti oleh manajer objek. Tidak ada kewajiban bagi manajer objek untuk memanggil metode yang memiliki kualifikasi Destructor saat instans dihapus. Selain itu, ketika destruktor dipanggil, manajer objek tidak perlu memanggil metode destruktor apa pun yang ditentukan untuk kelas induk dari kelas asli. Defaultnya adalah FALSE.
DisplayName
Jenis data: string
Berlaku untuk: apa pun
Nama ditampilkan di UI alih-alih nama elemen yang sebenarnya. Defaultnya adalah NULL.
EmbeddedInstance
Jenis data: string
Berlaku untuk: apa pun
Elemen jenis string yang memenuhi syarat berisi instans yang disematkan. Nilai kualifikasi menentukan nama kelas CIM di namespace yang sama dengan kelas yang memiliki elemen yang memenuhi syarat. Instans yang disematkan adalah instans kelas yang ditentukan, termasuk instans subkelasnya. Defaultnya adalah NULL.
Gauge
Jenis data: boolean
Berlaku untuk: apa pun
Menunjukkan apakah properti mewakili bilangan bulat non-negatif, yang dapat meningkat atau berkurang, tetapi tidak pernah melebihi nilai maksimum. Defaultnya adalah FALSE.
Nilai maksimum properti tidak boleh lebih besar dari 2^n - 1. N bisa 8, 16, 32, atau 64 tergantung pada jenis data properti tempat kualifikasi ini diterapkan. Nilai pengukur memiliki nilai maksimum setiap kali informasi yang dimodelkan lebih besar atau sama dengan nilai maksimum tersebut. Jika informasi yang dimodelkan kemudian menurun di bawah nilai maksimum, pengukur juga berkurang. Kualifikasi ini hanya berlaku untuk properti dengan jenis data bilangan bulat yang tidak ditandatangani.
In
Jenis data: boolean
Berlaku untuk: parameter
Menunjukkan apakah parameter digunakan untuk meneruskan nilai ke metode . Defaultnya adalah TRUE.
Masuk, Keluar
Jenis data: boolean
Berlaku untuk: parameter
Menunjukkan apakah parameter adalah parameter input dan output.
Jenis data: boolean
Berlaku untuk: properti, referensi
Menunjukkan apakah properti adalah bagian dari handel namespace layanan. Jika lebih dari satu properti memiliki Kualifikasi kunci , maka semua properti tersebut secara kolektif membentuk kunci (kunci gabungan). Saat digabungkan, properti utama harus memberikan referensi unik untuk setiap instans kelas. Jika kualifikasi ini ditempatkan pada properti, hanya nilai TRUE yang diizinkan.
Malas
Berlaku untuk: properti
Menunjukkan bahwa properti intensif sumber daya untuk dikembalikan dan membutuhkan banyak waktu dan memori prosesor. WMI meningkatkan performa kueri dengan tidak mencoba mengembalikan properti yang ditandai dengan kualifikasi Malas .
MappingStrings
Jenis data: array string
Berlaku untuk: kelas, properti, asosiasi, indikasi, referensi
Kumpulan nilai yang menunjukkan jalur ke lokasi tempat Anda dapat menemukan informasi selengkapnya tentang asal properti, kelas, asosiasi, indikasi, atau referensi. String pemetaan dapat berupa jalur direktori, URL, kunci registri, file include, referensi ke kelas CIM, atau beberapa format lainnya. Defaultnya adalah NULL.
Maks
Jenis data: int
Berlaku untuk: referensi
Jumlah maksimum nilai yang dapat dimiliki referensi tertentu untuk setiap set nilai referensi lainnya dalam asosiasi. Defaultnya adalah NULL. Misalnya, jika asosiasi berkaitan dengan instans A dengan instans B dan harus ada paling banyak satu instans A untuk setiap instans B, maka referensi ke A harus memiliki maksimal satu kualifikasi.
MaxLen
Jenis data: int
Berlaku untuk: properti, metode, parameter
Panjang maksimum (dalam karakter) item data string dan menunjukkan dukungan array panjang tetap.
Jika array panjang tetap ditemukan, kualifikasi MaxLen berisi panjang tetap yang ditemukan selama penguraian. Jika array panjang variabel ditemui, maka kualifikasi ini tidak digunakan. MaxLen digunakan untuk menyarankan jumlah maksimum elemen yang harus disimpan dalam array. Saat mengambil alih nilai default, nilai bilangan bulat yang tidak ditandatangani (uint32) dapat ditentukan. Nilai NULL (default) menyiratkan panjang tidak terbatas.
MaxValue
Jenis data: int
Berlaku untuk: properti, metode, parameter
Nilai maksimum objek. Defaultnya adalah NULL.
Min
Jenis data: int
Berlaku untuk: referensi
Kardinalitas minimum referensi (jumlah minimum nilai yang dapat dimiliki referensi tertentu untuk setiap set nilai referensi lainnya dalam asosiasi). Defaultnya adalah 0.
Misalnya, jika asosiasi berkaitan dengan instans A dengan instans B, dan harus ada setidaknya satu instans A untuk setiap instans B, maka referensi ke A harus memiliki minimal satu kualifikasi.
NilaiNilai
Jenis data: int
Berlaku untuk: properti, metode, parameter
Menunjukkan nilai minimum objek. Defaultnya adalah NULL.
ModelCorrespondence
Jenis data: array string
Berlaku untuk: properti
Kumpulan nilai yang menunjukkan korespondensi antara properti objek dan properti lainnya dalam skema CIM. Defaultnya adalah NULL.
Properti objek diidentifikasi menggunakan sintaks berikut.
<nama> skema "_" <kelas atau nama> asosiasi "." <nama properti>
Nonlokal
Jenis data: string
Berlaku untuk: referensi
Lokasi instans, nilainya adalah <namespacetype>://<namespacehandle> Defaultnya adalah NULL.
Penggunaan: Kualifikasi ini tidak dapat digunakan dengan kualifikasi NonlocalType .
NonlocalType
Jenis data: string
Berlaku untuk: referensi
Jenis lokasi instans. Nilainya adalah <namespacetype>. Defaultnya adalah NULL.
Penggunaan: Kualifikasi ini tidak dapat digunakan dengan kualifikasi Nonlokal .
NullValue
Jenis data: string
Berlaku untuk: properti
Nilai yang menunjukkan bahwa properti terkait adalah NULL (properti tidak memiliki nilai yang valid atau bermakna). Defaultnya adalah NULL.
Konvensi dan pembatasan yang digunakan untuk menentukan nilai NULL sama dengan yang berlaku untuk kualifikasi ValueMap . Perhatikan bahwa kualifikasi ini tidak dapat ditimpa. Tidak masuk akal untuk mengizinkan subkelas untuk mengembalikan nilai NULL yang berbeda dari kelas induk.
Kehabisan
Jenis data: boolean
Berlaku untuk: parameter
Menunjukkan apakah parameter mengembalikan nilai dari metode. Defaultnya adalah FALSE.
Menimpa
Jenis data: string
Berlaku untuk: properti, metode, referensi
Kelas induk atau konstruksi bawahan (properti, metode, atau referensi) yang ditimpa oleh properti, metode, atau referensi nama yang sama di kelas turunan. Defaultnya adalah NULL.
Formatnya adalah:
[<kelas>.]<konstruksi subordinat>
Jika nama kelas dihilangkan, penimpaan berlaku untuk konstruksi subordinat di kelas induk dalam hierarki kelas.
Penggunaan: Penimpaan kualifikasi hanya dapat merujuk ke konstruksi berdasarkan model meta yang sama. Tidak diperbolehkan mengubah nama konstruksi atau tanda tangan selama operasi penimpaan.
OverrideValue
Berlaku untuk: kelas
Menunjukkan apakah nilai properti pada subkelas mengambil alih nilai di kelas induk. Implikasi fungsional adalah bahwa, jika Anda melakukan kueri terhadap kelas induk, dan jika klausul WHERE Anda menyertakan properti ini, induk harus mengembalikan instans dengan nilai yang ditimpa. Akibatnya, Manajemen Windows menyesuaikan klausa WHERE kueri yang dikirim ke kelas induk untuk mengecualikan referensi ke properti ini.
Disebarkan
Jenis data: string
Berlaku untuk: properti
Nama kunci yang disebarkan. Defaultnya adalah NULL.
Penggunaan kualifikasi ini mengasumsikan keberadaan hanya satu kualifikasi lemah pada referensi yang memiliki kelas yang berisi sebagai targetnya. Properti terkait harus memiliki nilai yang sama dengan properti yang dinamai oleh kualifikasi di kelas di sisi lain asosiasi yang lemah. Formatnya adalah:
[<kelas>.]<konstruksi subordinat>
Penggunaan: Ketika kualifikasi Yang Disebarkan digunakan, Kualifikasi kunci harus ditentukan dengan nilai TRUE.
Baca
Jenis data: boolean
Berlaku untuk: properti
Menunjukkan apakah properti dapat dibaca. Defaultnya adalah TRUE.
Diperlukan
Jenis data: boolean
Berlaku untuk: properti
Menunjukkan apakah nilai non-null diperlukan untuk properti . Defaultnya adalah FALSE.
Revisi
Jenis data: string
Berlaku untuk: kelas, asosiasi, indikasi, skema
Nomor revisi kecil objek skema. Defaultnya adalah NULL.
Penggunaan: Kualifikasi versi harus ada untuk menyediakan nomor versi utama saat kualifikasi Revisi digunakan.
Skema
Jenis data: string
Berlaku untuk: properti, metode
Nama skema tempat fitur didefinisikan. Defaultnya adalah NULL.
Sumber
Jenis data: string
Berlaku untuk: kelas, asosiasi, indikasi, referensi
Lokasi instans. Defaultnya adalah NULL.
Nilai kualifikasi adalah <namespacetype>://<namespacehandle>.
Penggunaan: Kualifikasi sumber tidak dapat digunakan dengan kualifikasi SourceType .
SourceType
Jenis data: string
Berlaku untuk: kelas, asosiasi, indikasi, referensi
Jenis lokasi instans. Nilai kualifikasi ini adalah <namespacetype>. Defaultnya adalah NULL.
Penggunaan: Kualifikasi SourceType tidak dapat digunakan dengan kualifikasi Sumber .
DukunganBuat
Jenis data: boolean
Berlaku untuk: kelas
Menunjukkan apakah kelas mendukung pembuatan instans. Defaultnya adalah FALSE.
SupportsDelete
Jenis data: boolean
Berlaku untuk: kelas
Menunjukkan apakah kelas mendukung penghapusan instans. Defaultnya adalah FALSE.
SupportsUpdate
Jenis data: boolean
Berlaku untuk: kelas
Menunjukkan apakah kelas mendukung modifikasi (memperbarui) instans. Defaultnya adalah FALSE.
Terminal
Jenis data: boolean
Berlaku untuk: kelas
Menunjukkan apakah kelas dapat memiliki subkelas. Defaultnya adalah FALSE.
Jika subkelas dideklarasikan, pengkompilasi menghasilkan kesalahan.
Penggunaan: Kualifikasi ini tidak dapat berdampingan dengan kualifikasi Abstrak . Jika kualifikasi Terminal dan Abstract ditentukan, pengkompilasi menghasilkan kesalahan.
Unit
Jenis data: string
Berlaku untuk: properti, metode, parameter
Jenis unit tempat item data terkait dinyatakan. Defaultnya adalah NULL.
Misalnya, item data ukuran mungkin memiliki nilai "byte" untuk Unit.
Peta Nilai
Jenis data: array string
Berlaku untuk: properti, metode, parameter
Set nilai yang diizinkan untuk properti, jenis pengembalian metode, atau parameter metode. Defaultnya adalah NULL.
Penggunaan: Kualifikasi ini dapat digunakan sendiri atau dalam kombinasi dengan kualifikasi Nilai . Saat digunakan dalam kombinasi dengan kualifikasi Nilai , lokasi nilai dalam array ValueMap menyediakan lokasi entri terkait dalam array Nilai . Gunakan kualifikasi ValueMap hanya dengan nilai string dan bilangan bulat. Sintaks untuk mewakili nilai bilangan bulat dalam array peta nilai adalah [+|=]digit[*digit]. Konten, jumlah digit maksimum, dan nilai yang diwakili dibatasi oleh jenis properti terkait. Misalnya, uint8 mungkin tidak ditandatangani, harus kurang dari empat digit, dan harus mewakili nilai kurang dari 256.
Nilai
Jenis data: array string
Berlaku untuk: properti, metode, parameter
Kumpulan nilai yang menerjemahkan nilai bilangan bulat ke dalam string terkait. Defaultnya adalah NULL.
Properti ini juga menentukan array nilai string yang akan dipetakan ke properti enumerasi. Kualifikasi ini dapat diterapkan ke properti bilangan bulat atau properti string, dan pemetaannya bisa implisit atau eksplisit. Jika pemetaan implisit, nilai properti bilangan bulat atau string mewakili posisi ordinal dalam array Nilai . Jika pemetaan eksplisit, properti harus berupa bilangan bulat, dan nilai properti yang valid tercantum dalam array yang ditentukan oleh kualifikasi ValueMap . Untuk informasi selengkapnya, lihat Peta Nilai.
Jika kualifikasi ValueMap tidak ada, array Nilai diindeks (nol relatif) dengan menggunakan nilai dalam properti terkait, jenis pengembalian metode, atau parameter metode. Jika kualifikasi ValueMap ada, indeks nilai ditentukan oleh lokasi nilai properti dalam peta nilai.
Versi
Jenis data: string
Berlaku untuk: kelas, skema, asosiasi, indikasi
Nomor versi utama objek skema. Defaultnya adalah NULL. Nomor versi dinaikkan ketika perubahan dilakukan pada skema yang mengubah antarmuka.
Lemah
Jenis data: boolean
Berlaku untuk: referensi
Menunjukkan apakah kunci kelas yang dirujuk menyertakan kunci peserta lain dalam asosiasi. Defaultnya adalah FALSE.
Kualifikasi ini digunakan ketika identitas kelas yang dirujuk tergantung pada identitas peserta lain dalam asosiasi. Tidak lebih dari satu referensi ke kelas tertentu bisa lemah. Kelas lain dalam asosiasi harus menentukan kunci. Kunci kelas lain dalam asosiasi diulang di kelas yang direferensikan dan ditandai dengan kualifikasi yang Disebarkan .
Menulis
Jenis data: boolean
Berlaku untuk: properti
Menunjukkan bahwa aplikasi atau skrip dapat mengubah nilai properti. Akun yang menjalankan aplikasi harus memiliki akses ke namespace layanan yang berisi instans kelas. Implementasi penyedia juga dapat membatasi akses ke data penyedia. Nilai TRUE menunjukkan bahwa properti dapat dibaca dan ditulis oleh konsumen yang diizinkan mengakses oleh WMI dan penyedia. Defaultnya adalah FALSE.
Properti yang tidak memiliki kualifikasi Tulis mungkin masih dapat ditulis. Implementasi penyedia dapat memungkinkan properti apa pun di kelas penyedia diubah, apakah kualifikasi Tulis ada.
WriteAtCreate
Jenis data: boolean
Berlaku untuk: properti
Menunjukkan apakah properti dapat ditulis pada pembuatan instans. Kualifikasi ini dapat digunakan bersama dengan kualifikasi WriteAtCreate . Defaultnya adalah FALSE.
WriteAtUpdate
Jenis data: boolean
Berlaku untuk: properti
Menunjukkan apakah properti dapat ditulis pada pembaruan instans. Kualifikasi ini dapat digunakan bersama dengan kualifikasi WriteAtCreate . Defaultnya adalah FALSE.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista |
Server minimum yang didukung |
Windows Server 2008 |