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.

CIMType

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.

Dinamis

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

Lihat juga

Mengatur Deskriptor Keamanan Namepace

Kualifikasi WMI

Menambahkan Kualifikasi