Condividi tramite


Associazione di istanze tra spazi dei nomi

Una classe di visualizzazione associazione consente di usare query ASSOCIATORS OF nelle classi che risiedono in spazi dei nomi diversi.

La procedura seguente descrive come associare istanze tra spazi dei nomi.

Per associare istanze tra spazi dei nomi

  1. Iniziare la definizione della classe con il qualificatore stringa Association .

    I qualificatori JoinOn, Association e Union si escludono reciprocamente.

  2. Creare le query che definiscono le istanze di origine usate nella classe di visualizzazione con il qualificatore ViewSources .

  3. Definire i nomi e la posizione degli spazi dei nomi in cui si trovano le istanze di origine con il qualificatore ViewSpaces .

  4. Definire le proprietà desiderate nella classe di visualizzazione associazione con il qualificatore PropertySources .

    Se necessario, è possibile contrassegnare una delle proprietà come appartenenti a una classe di origine usando il qualificatore HiddenDefault .

  5. Contrassegna le proprietà pertinenti con il qualificatore Direct .

    Il qualificatore diretto impedisce al provider di visualizzazione di eseguire il mapping del riferimento dell'associazione con tag a un riferimento alla visualizzazione.

Gli esempi di codice seguenti illustrano come creare classi di visualizzazione associazione.

[union,
ViewSources {"SELECT * FROM Win32_OperatingSystem"},
    ViewSpaces {"\\\\.\\root\\cimv2"},
    dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
]
class Union_OS_For_AssociationExample
{
    [key, PropertySources{"Name"}]
    string Name;

    [PropertySources{"Version"}]
    string Version;

    [PropertySources{"BuildNumber"}]
    string BuildNumber;
};

[
Association,
ViewSources {"SELECT * FROM Win32_SystemOperatingSystem"}, 
ViewSpaces {"\\\\.\\root\\cimv2"},
dynamic, provider("MS_VIEW_INSTANCE_PROVIDER")
]
class Association_SystemViewOperatingSystem
{
    [Direct, key, PropertySources{"GroupComponent"}]
    Win32_ComputerSystem ref Computer;
    
    [key, PropertySources{"PartComponent"}]
    Union_OS_For_AssociationExample ref OperatingSystem;
};