Condividi tramite


Localizzazione delle proprietà statiche

È possibile localizzare le proprietà statiche usando mappe di valori parziali.

La procedura seguente descrive in che modo le proprietà statiche possono essere localizzate usando mappe di valori parziali con espressioni regolari.

Per usare il mapping dei valori per localizzare le proprietà statiche

  1. Creare un file MOF master (Mastervm.mof).

    L'esempio di codice seguente può essere usato per creare un file MOF master (Mastervm.mof).

    [Locale(0x409)]
    class Group1
    {
        [key] string ID;
        [DisplayName("Numbers"),
            ValueMap{0,1,2,3}:amended,
            Values{"Zero", "One", "Two", "Three"}:amended]
        Uint32 Numbers;
    };
    
  2. Creare le versioni specifiche della lingua e della lingua del file MOF.

    Digitare il comando seguente al prompt dei comandi per creare le versioni specifiche del linguaggio e della lingua del file MOF.

    mofcomp -MOF:LnVm.mof -MFL:LsVm.mfl -Amendment:MS_409 MasterVm.mof
    

    Il compilatore MOF genera i file MOF specifici del linguaggio e del linguaggio, LnVm.mof e LsVm.mfl. I valori inglesi americani per la proprietà Numbers vengono inseriti nel file mfl per lo spazio dei nomi inglese americano.

    Nell'esempio di codice seguente viene illustrato il contenuto del file LsVm.mfl.

    #pragma namespace("\\\\.\\root\\default")
    instance of __namespace{ name="ms_409";};
    #pragma namespace("\\\\.\\root\\default\\ms_409")
    
    [AMENDMENT, LOCALE(0x409)] 
    class Group1
    {
      [ValueMap{0, 1, 2, 3} : Amended,
          Values{"Zero", "One", "Two", "Three"} : Amended] 
      Uint32 Numbers;
    };
    
  3. Compilare i due file MOF e archiviare le informazioni sulla classe nel repository CIM.

    Digitare il comando seguente in un prompt dei comandi per compilare i due file MOF.

    Mofcomp LnVm.mof 
    Mofcomp LsVm.mfl
    
  4. Localizzare il file MFL per altre impostazioni locali.

    Nell'esempio di codice seguente viene illustrato il contenuto di un file MFL per lo spazio dei nomi francese.

    #pragma namespace("\\\\.\\root\\default")
    instance of __namespace{ name="ms_40C";};
    #pragma namespace("\\\\.\\root\\default\\ms_40C")
    
    [AMENDMENT, LOCALE(0x40C)] 
    class Group1
    {
        [key] string ID;
        [ValueMap{0, 1, 2, 3} : Amended,
            Values{"Zero", "Un", "Deux", "Trois"} : Amended]
        Uint32 Numbers;
    };
    

Il risultato netto è che sia il nome visualizzato che il valore della proprietà Numbers dipendono dalle impostazioni locali dell'utente connesso. Se l'utente specifica le impostazioni locali non specificate, i dati predefiniti del qualificatore provengono dallo spazio dei nomi inglese (ms_409).

L'implicazione di questa progettazione è che ogni valore stringa viene usato come identificatore di ricerca, che non può essere localizzato. Quando si definisce questo schema, è necessario assicurarsi che il valore che il provider inserisce sia indipendente dalle impostazioni locali.

Nota

WMI non fornisce attualmente supporto per il mapping dei valori alle stringhe definite dai qualificatori. L'interpretazione della sintassi suggerita è la responsabilità dell'applicazione.