Kualifikasi WMI Standar
Berikut ini mencantumkan kualifikasi standar khusus untuk WMI.
Amandemen
Jenis data: boolean
Berlaku untuk: kelas
Menunjukkan bahwa kelas berisi kualifikasi yang diubah yang dilokalkan. Defaultnya adalah TRUE.
Kelas terkait dapat diterjemahkan. Untuk mengakses versi yang diterjemahkan, gunakan pengidentifikasi lokal untuk membuat nama namespace layanan.
Bypass_GetObject
Jenis data: boolean
Berlaku untuk: metode
Menunjukkan bahwa panggilan metode harus diteruskan langsung ke panggilan ExecMethodAsync penyedia daripada penyedia terlebih dahulu melakukan panggilan ke GetObject untuk memvalidasi jalur objek. Defaultnya adalah FALSE. Menggunakan Bypass_GetObject dapat secara signifikan meningkatkan performa.
Sebelum menggunakan Bypass_GetObject, pastikan bahwa tidak ada tindakan berikut yang diambil:
- Dapatkan kelas dari kelas Anda.
- Ambil alih metode yang memiliki kualifikasi Bypass_GetObject .
Kegagalan untuk mengikuti tindakan pencegahan ini dapat mengakibatkan pemanggilan implementasi metode kelas induk alih-alih kelas anak. Untuk informasi selengkapnya, lihat Menggunakan Pengualifikasi Bypass_GetObject.
CIM_Key
Jenis data: CIM_BOOLEAN
Berlaku untuk: properti
Menunjukkan bahwa properti terkait adalah properti kunci di CIM tetapi tidak di WMI.
Jenis data: VT_BSTR
Berlaku untuk: properti, metode, parameter
Berisi teks yang menjelaskan tipe properti.
ClassContext
Jenis data: VT_BSTR
Berlaku untuk: kelas
Menunjukkan bahwa kelas memiliki instans yang terkait dengan informasi lebih lanjut yang disediakan secara dinamis oleh penyedia.
Usang
Jenis data: CIM_BOOLEAN
Berlaku untuk: properti, kelas
Menunjukkan properti telah digantikan oleh properti lain.
Menampilkan
Berlaku untuk: kelas, properti
UUID dari kelas terkait.
Jenis data: boolean
Berlaku untuk: kelas, properti
Menunjukkan kelas yang instansnya dibuat secara dinamis. Nilai kualifikasi ini harus diatur ke TRUE.
DynProps
Jenis data: boolean
Berlaku untuk: kelas, instans
Menunjukkan bahwa instans berisi nilai yang disediakan oleh penyedia properti dinamis. Defaultnya adalah TRUE.
Anda harus menentukan kualifikasi ini pada instans seperti itu. Hanya nilai TRUE yang diizinkan.
Tetap
Jenis data: CIM_BOOLEAN
Berlaku untuk: instans
Menunjukkan bahwa nilai properti ini tidak dapat berubah selama masa pakai instans.
ID
Jenis data: VT_I4
Berlaku untuk: properti, parameter
Mengidentifikasi dan urutan parameter properti atau metode secara unik saat pernyataan MOF dihasilkan secara otomatis.
Kualifikasi ini hanya diperlukan untuk parameter metode. Saat membuat parameter untuk metode , perancang kelas harus dimulai dengan Id(0) untuk parameter pertama dan menggunakan setiap bilangan bulat berturut-turut untuk setiap parameter berturut-turut. Jika kualifikasi ID tidak sengaja dihilangkan, pengkompilasi MOF menghasilkan kualifikasi ID secara otomatis.
Dilaksanakan
Jenis data: boolean
Berlaku untuk: metode
Menunjukkan bahwa metode memiliki implementasi yang disediakan oleh penyedia.
InstanceContext
Jenis data: VT_BSTR
Berlaku untuk: instans
Menunjukkan bahwa instans berisi nilai yang disediakan oleh penyedia properti dinamis.
Nilai diteruskan ke penyedia properti sebagai argumen ke metode IWbemPropertyProvider::GetProperty .
Lokal
Jenis data: VT_BSTR
Berlaku untuk: kelas atau instans
Menentukan bahasa asal untuk kelas atau instans. Untuk informasi selengkapnya tentang nilai lokal, lihat Kode Lokal.
NamespaceSecuritySDDL
Jenis data: array string
Berlaku untuk: instans namespace
Menentukan deskriptor keamanan untuk namespace dalam format SDDL . Untuk informasi selengkapnya, lihat Mengatur Keamanan Namespace Saat Namespace Dibuat. String SDDL diproses oleh WMI untuk menetapkan keamanan namespace tetapi tidak disimpan sebagai string. Jika tidak ada deskriptor keamanan yang ditentukan, keamanan default akan digunakan. Untuk informasi selengkapnya, lihat Mengatur Deskriptor Keamanan Namepace.
Opsional
Jenis data: boolean
Berlaku untuk: parameter
Menunjukkan bahwa parameter tidak diperlukan, dan memiliki nilai default yang berkinerja baik.
Hak istimewa
Jenis data: array string
Berlaku untuk: properti, metode
Kumpulan nilai yang digunakan untuk memberi tahu klien hak istimewa mana yang diperlukan untuk membuat instans, mengisi properti, atau melakukan metode. Defaultnya adalah FALSE.
PropertyContext
Jenis data: VT_BSTR
Berlaku untuk: properti
Menunjukkan bahwa properti instans berisi nilai yang disediakan oleh penyedia properti dinamis.
Anda harus menentukan kualifikasi ini pada properti tersebut. Nilai diteruskan ke penyedia properti sebagai argumen ke IWbemPropertyProvider::GetProperty.
Penyedia
Jenis data: VT_BSTR
Berlaku untuk: kelas
Nilai kualifikasi ini adalah nama penyedia dinamis yang menyediakan instans kelas dan menyegarkan data instans. Nama ini harus terdaftar di WMI dengan membuat instans kelas __Win32Provider dengan properti Nama yang berisi nama ini. Ketika kualifikasi ini ditentukan pada kelas yang instansnya disediakan secara dinamis, kualifikasi Dinamis juga harus ditentukan.
RequiresEncryption
Jenis data: boolean
Berlaku untuk: instans namespace
Jika diatur ke TRUE, RequiresEncryption menandai namespace sehingga aplikasi dan skrip klien harus terhubung dengan autentikasi terenkripsi. Tingkat autentikasi harus diatur ke RPC_C_AUTHN_LEVEL_PKT_PRIVACY di C++. Dalam pembuatan skrip atau Visual Basic, tingkat autentikasi harus diatur ke WbemAuthenticationLevelPktPrivacy. Untuk informasi selengkapnya, lihat Mengatur Namepace Security Descriptors. Kualifikasi digunakan dalam MOF dengan perintah praprosesor namespace pragma.
Untuk informasi selengkapnya, lihat Mengatur Tingkat Keamanan Proses Default Menggunakan C++ atau Mengatur Tingkat Keamanan Proses Default Menggunakan VBScript. Tingkat autentikasi pembuatan skrip ditentukan dalam WbemAuthenticationLevelEnum.
Singleton
Jenis data: boolean
Berlaku untuk: kelas
Menunjuk kelas yang hanya dapat memiliki satu instans dan tidak berisi properti kunci.
Hanya nilai TRUE (default) yang diizinkan.
Statis
Jenis data: boolean
Berlaku untuk: metode
Menunjukkan apakah metode dapat dipanggil dengan menggunakan definisi kelas atau instansnya.
Metode tidak dapat dipanggil dari instans.
Subtipe
Jenis data: VT_BSTR
Berlaku untuk: properti
Menunjukkan bahwa properti jenis CIM_DATETIME mewakili interval waktu daripada waktu tertentu.
Untuk mengidentifikasi properti sebagai interval, nilai kualifikasi ini harus "interval". Semua nilai lain untuk kualifikasi ini dicadangkan untuk digunakan di masa mendatang.
UUID
Jenis data: string
Berlaku untuk: kelas
Pengidentifikasi unik universal diterapkan ke kelas .
ClassVersion
Jenis data: string
Berlaku untuk: kelas
Nomor versi objek kelas. Defaultnya adalah NULL. Nomor versi dinaikkan ketika perubahan dilakukan pada kelas .
WritePrivileges
Jenis data: array string
Berlaku untuk: properti
Kumpulan nilai yang menunjukkan hak istimewa sistem mana yang harus tersedia dan diaktifkan untuk operasi tulis yang berhasil.
Keterangan
Kode Lokal
Kode lokal berbentuk "MS_ ID> Bahasa Digit MS_<". Misalnya, lokal bahasa Inggris MS_409. Tabel berikut mencantumkan ID bahasa.
Bahasa | ID Bahasa (heksadesimal) |
---|---|
Arab | 401 |
Portugis (Brasil) | 416 |
Tionghoa (Aksara Sederhana) | 804 |
Tionghoa (Aksara Tradisional) | 404 |
Cheska | 405 |
Dansk | 406 |
Belanda | 413 |
Inggris (default) | 409 |
Suomi | 40b |
Prancis | 40c |
Jerman | 407 |
Yunani | 408 |
Ibrani | 40d |
Hungaria | 40e |
Italia | 410 |
Jepang | 411 |
Korea | 412 |
Norwegia | 414 |
Polski | 415 |
Portugis (Portugal) | 816 |
Rusia | 419 |
Spanyol | c0a |
Swedia | 41D |
Turki | 41f |
Menggunakan Kualifikasi Bypass_GetObject
Menggunakan kualifikasi Bypass_GetObject pada metode dapat menghasilkan hasil yang membingungkan.
Contoh berikut menentukan kelas Bentuk dan Lingkaran . Perhatikan bahwa kelas Lingkaran berasal dari kelas Bentuk .
class Shape
{
string Name;
uint32 DrawIt(); // - draws an irregular geometric shape
};
class Circle : Shape
{
uint32 DrawIt(); // - draws a circle
};
Panggilan berikut ke ExecMethod menggunakan objek Lingkaran bernama "MyCircle" untuk menggambar lingkaran.
ExecMethod("Shape.Name='MyCircle'","DrawIt");
Dalam skenario sebelumnya, WMI memanggil GetObject; menemukan bahwa "Shape.Name='MyCircle'" adalah Lingkaran; dan menjalankan implementasi LingkaranDrawIt. Namun, jika Anda menggunakan kualifikasi Bypass_GetObject di DrawIt, WMI tidak memanggil GetObject, tidak menemukan bahwa "Shape.Name='MyCircle'" adalah Lingkaran, dan menjalankan implementasi BentukDrawIt alih-alih implementasi LingkarandrawIt.
Panggilan berikut ke ExecMethod selalu memanggil implementasi DrawIt yang benar.
ExecMethod("Circle.Name='MyCircle'","DrawIt");
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista |
Server minimum yang didukung |
Windows Server 2008 |