Menjelaskan Jalur Objek Instans
Jalur objek instans menjelaskan lokasi instans kelas tertentu dalam namespace tertentu.
Anda dapat memiliki beberapa jenis jalur objek instans yang berbeda:
Data
Jalur objek instans lengkap menambahkan nama dan nilai properti kunci untuk kelas ke jalur objek kelas penuh.
Contoh berikut menunjukkan definisi jalur objek instans lengkap.
\\Server\Namespace:Class.KeyName="KeyValue"
Relatif
Jalur objek relatif mengacu pada instans yang terletak di namespace saat ini di server saat ini. Jalur relatif terdiri dari nama kelas diikuti dengan nama dan nilai properti kunci instans ini.
Contoh berikut menunjukkan definisi jalur objek instans relatif.
MyClass.MyProp="e:"
Relatif dengan satu kunci
Untuk kelas dengan hanya satu properti yang ditetapkan sebagai kunci, Anda dapat menghilangkan nama properti kunci.
Contoh berikut menunjukkan definisi jalur objek instans relatif dengan satu kunci.
MyClass="e:"
Relatif dengan beberapa kunci
Gunakan koma untuk membedakan antara kunci instans dengan beberapa kunci.
Contoh berikut menunjukkan definisi jalur objek instans relatif dengan beberapa kunci.
MyOtherClass.FirstKey=1,SecondKey=2
Relatif terhadap kelas singleton
Jalur objek relatif untuk kelas singleton terdiri dari nama kelas diikuti dengan notasi "=@".
Contoh berikut menunjukkan definisi jalur objek instans relatif untuk kelas singleton.
MySingletonClass=@
Prosedur berikut menjelaskan cara mengambil instans kelas.
Untuk mengambil instans kelas
Menginisialisasi string yang berisi jalur objek dengan panggilan ke fungsi SysAllocString .
Menginisialisasi objek yang akan menerima instans.
Ambil objek dengan panggilan ke IWbemServices::GetObject atau IWbemServices::GetObjectAsync.
Untuk menggunakan GetObjectAsync, Anda harus mengimplementasikan antarmuka IWbemSink .
Pernyataan #include berikut diperlukan untuk kode yang dicantumkan nanti dalam topik ini untuk dikompilasi dengan benar.
#include <wbemidl.h>
Contoh kode berikut menjelaskan cara mengambil instans kelas menggunakan jalur objek.
IWbemServices* pWbemSvcs = 0;
BSTR Path = SysAllocString(L"ComPort=2");
IWbemClassObject *pComPort = 0;
pWbemSvcs->GetObject(Path, 0, 0, &pComPort, 0);
Untuk instans kelas yang menentukan beberapa properti sebagai kunci, WMI tidak memerlukan urutan properti kunci tertentu di jalur objek. Anda hanya perlu menentukan nilai masing-masing properti di jalur objek.
Contoh kode berikut menjelaskan dua deskripsi kunci yang setara.
MyClass.IntVal=33,StrVal="AAA"
MyClass.StrVal="AAA",IntVal=33