Başvurular (WMI)
MOF başvuru anahtar sözcüğü bir nesne yolunu açıklar ve VT_BSTR Otomasyon türüne eşler. Nesne yolu, bir sunucu ve ad alanının tam yolu veya aynı ad alanındaki başka bir nesnenin göreli yolu olabilir. İki veya daha fazla sınıfı birbirine bağlamak için başvuru anahtar sözcüğünü kullanabilirsiniz. WMI, WMI içindeki genel veya belirli yolları tanımlamak için kullanılan iki tür nesne yolunu destekler.
başvuru anahtar sözcüğünün temel amacı, tamamen WMI deposunda bulunan nesneler arasındaki aktarım süresini ve kodlamayı azaltmaktır. İki sınıf arasında bir ilişki oluşturmak için başvuru anahtar sözcüğünü de kullanabilirsiniz. Daha fazla bilgi için bkz. İlişkilendirme Sınıfı bildirme. Başvuruda bulunılan öğe aynı MOF dosyasında yer alıyorsa, başvuru değerini başlatmak için bir diğer ad kullanın. Daha fazla bilgi için bkz. Diğer Ad Oluşturma.
Not
Anahtar özelliğine bir başv anahtar sözcüğü uygulandığında, nesne başvurularını başvurulmayan değer yerine nesne dizesi değerine göre ayırt edebilirsiniz.
MOF, zayıf türlenmiş ve kesin olarak yazılan nesne yolu kavramını destekler. Zayıf yazılan bir nesne yolu, belirtilmemiş bir sınıfın nesnesini işaret eder ve OBJECT anahtar sözcüğüyle başv anahtar sözcüğünü kullanır. Kesin olarak yazılan bir nesne, belirli bir sınıfın nesnesini gösterir ve sınıf adıyla başvuru kullanır. Aşağıdaki örnekte, herhangi bir sınıf veya sınıf örneğine işaret eden zayıf türdeki RefToAnyClass başvurusu ve yalnızca bir ClassX sınıfına veya örneğine işaret eden bir RefToClassX başvurusu açıklanmaktadır:
class MyClass
{
object ref RefToAnyClass; // Weakly typed
ClassX ref RefToClassX; // Strongly typed
};
Aşağıdaki örnekte iki örnek ve önceki örneklere başvuran bir ilişkilendirme nesnesi açıklanmaktadır:
#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";
};