Delen via


Verwijzingen (WMI)

De MOF-ref sleutelwoord beschrijft een objectpad en wordt toegewezen aan een VT_BSTR Automation-type. Het objectpad kan een volledig pad naar een server en naamruimte zijn, of een relatief pad naar een ander object in dezelfde naamruimte. U kunt een ref sleutelwoord gebruiken om twee of meer klassen aan elkaar te koppelen. WMI ondersteunt twee typen objectpaden, die worden gebruikt om algemene of specifieke paden binnen WMI te definiƫren.

Het belangrijkste doel van de ref sleutelwoord is het verminderen van de transporttijd en codering tussen objecten die volledig in de WMI-opslagplaats bestaan. U kunt ook het ref sleutelwoord gebruiken om een koppeling tussen twee klassen te maken. Zie Een koppelingsklasse declarerenvoor meer informatie. Als het item waarnaar wordt verwezen zich in hetzelfde MOF-bestand bevindt, gebruikt u een alias om de ref waarde te initialiseren. Zie Een alias makenvoor meer informatie.

Notitie

Wanneer een verw sleutelwoord wordt toegepast op een sleuteleigenschap, kunt u objectverwijzingen onderscheiden door de waarde van de objecttekenreeks in plaats van door de deductiewaarde.

 

MOF ondersteunt het concept van een zwak getypt en sterk getypt objectpad. Een zwak getypt objectpad verwijst naar een object van een niet-opgegeven klasse en gebruikt de ref sleutelwoord met het trefwoord OBJECT. Een sterk getypt object verwijst naar een object van een specifieke klasse en gebruikt ref met de klassenaam. In het volgende voorbeeld wordt een zwak getypte RefToAnyClass verwijzing beschreven die naar een klasse of klasse-exemplaar kan verwijzen, en een refToClassX-verwijzing die alleen naar een ClassX- klasse of exemplaar kan verwijzen:

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

In het volgende voorbeeld worden twee exemplaren en een koppelingsobject beschreven dat verwijst naar de vorige exemplaren:

#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";
};