Bagikan melalui


Referensi (WMI)

Kata kunci ref MOF menjelaskan jalur objek dan memetakan ke jenis Automation VT_BSTR. Jalur objek dapat berupa jalur lengkap ke server dan namespace, atau jalur relatif ke objek lain di namespace yang sama. Anda dapat menggunakan kata kunci ref untuk menautkan dua kelas atau lebih bersama-sama. WMI mendukung dua jenis jalur objek, yang digunakan untuk menentukan jalur umum atau spesifik dalam WMI.

Tujuan utama kata kunci ref adalah untuk mengurangi waktu transportasi dan pengodean antara objek yang ada sepenuhnya dalam repositori WMI. Anda juga dapat menggunakan kata kunci ref untuk membuat hubungan antara dua kelas. Untuk informasi selengkapnya, lihat Mendeklarasikan Kelas Asosiasi. Jika item yang direferensikan terletak dalam file MOF yang sama, gunakan alias untuk menginisialisasi nilai ref. Untuk informasi selengkapnya, lihat Membuat Alias.

Nota

Saat ref kata kunci diterapkan ke properti kunci, Anda dapat membedakan referensi objek dengan nilai string objek alih-alih oleh nilai dereferensi.

 

MOF mendukung konsep jalur objek yang di ketik dengan lemah dan sangat kuat. Jalur objek yang diketik lemah menunjuk ke objek kelas yang tidak ditentukan dan menggunakan kata kunci ref dengan kata kunci OBJECT. Objek yang sangat diketik menunjuk ke objek kelas tertentu dan menggunakan ref dengan nama kelas. Contoh berikut menjelaskan referensi RefToAnyClass yang diketik lemah yang dapat menunjuk ke kelas atau instans kelas apa pun, dan referensi RefToClassX yang hanya dapat menunjuk ke kelas atau instans ClassX:

class MyClass
{
    object ref RefToAnyClass;       // Weakly typed
    ClassX ref RefToClassX;         // Strongly typed
};

Contoh berikut menjelaskan dua instans dan objek asosiasi yang mereferensikan instans sebelumnya:

#pragma namespace("\\\\.\\root")

instance of __Namespace
{
    Name = "WMI" ;
} ;

#pragma namespace("\\\\.\\root\\WMI")

Class A{
    [key] string aKey;
};

Class C{
    [key] string cKey;
};

// The following class creates an association 
// between the "A" class and the "C" class
    [Association] Class B{
    [key] A ref aRef;
    [Key, Min(1)] C ref cRef;
};

instance of a
{
    aKey = "This is the key for the A class";
};

instance of c
{
    cKey = "This is the key for the c class";
};