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.

Kunci

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

Baca juga

Kualifikasi WMI

Menambahkan Kualifikasi