Bagikan melalui


Menjelaskan Jalur Objek Kelas

Jalur objek kelas menjelaskan lokasi kelas dalam namespace layanan.

Anda dapat menggunakan metode berikut untuk menentukan jalur objek:

  • Jalur objek lengkap ke kelas menambahkan nama kelas ke jalur namespace layanan.

    Contoh berikut menunjukkan lokasi kelas Win32_LogicalDisk dalam namespace \root\cimv2 di server bernama Admin.

    \\Admin\Root\CimV2:Win32_LogicalDisk
    
  • Jalur objek relatif mewakili kelas yang berada di namespace saat ini. Jalur objek relatif ke kelas hanya berisi nama kelas.

    Contoh berikut menunjukkan jalur relatif ke kelas Win32_LogicalDisk .

    Win32_LogicalDisk
    

Saat Anda mengkueri nama kelas tetapi tidak menentukan instans, WMI mengembalikan definisi kelas. Prosedur berikut menjelaskan cara mengambil definisi kelas di VBScript.

Untuk mengambil definisi kelas di VBScript

  • Anda dapat menggunakan koneksi moniker baik dengan kueri atau GetObject. Anda juga dapat menggunakan SWbemServices.Get.

    Contoh berikut menunjukkan cara menggunakan GetObject untuk mendapatkan definisi kelas.

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
       & "{impersonationLevel=impersonate}!\\" _
       & strComputer & "\root\cimv2:Win32_Printer")
    

    Contoh berikut menunjukkan cara mengkueri definisi kelas.

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" _
        & strComputer & "\root\cimv2")
    Set colInstalledPrinters =  objWMIService.ExecQuery _
        ("Select * from Win32_Printer")
    

Anda dapat mengambil definisi kelas di C++ dengan hanya menentukan nama kelas dan tidak ada jalur ke instans tertentu. Prosedur berikut menjelaskan cara mengambil definisi kelas di C++.

Untuk mengambil definisi kelas di C++

  • Lakukan panggilan ke fungsi IWbemServices::GetObject atau IWbemServices::GetObjectAsync .

    Contoh berikut menunjukkan cara memanggil fungsiIWbemServices::GetObject .

    IWbemServices* pSvcs = 0;
    
    BSTR Path = SysAllocString(L"Win32_LogicalDisk");
    IWbemClassObject *pDiskClass = 0;
    pSvcs->GetObject(Path, 0, 0, &pDiskClass, 0);
    

    Contoh kode sebelumnya memerlukan pernyataan #include berikut untuk dikompilasi dengan benar.

    #include <wbemidl.h>