Sdílet prostřednictvím


Kvalifikátory Hodnot a Hodnoty

Mapa hodnot je pole propojené s vlastností s kvalifikátory Value a Value Map.

Vlastnost funguje jako index do pole a obsahuje hodnotu, která představuje jednu z hodnot v matici. Pomocí kódu MOF můžete mít následující typy map hodnot:

  • Mapování pole na celé číslo

    Můžete definovat pole s Hodnota kvalifikátor a propojit pole přímo s celočíselnou vlastností, jak je znázorněno v následujícím příkladu:

    [Values {"OK", "Error", "Degraded", "Unknown"}, Read]
    sint32 Status;
    

    V tomto příkladu je hodnota vlastnosti Status indexem do pole řetězce definovaného Hodnota. Vlastnost může převzít pouze hodnoty, které odpovídají řadovým pozicím v Hodnota matice minus 1. Například nastavení Stav na hodnotu 1 se mapuje na hodnotu Chyba. Vlastnost indexu může obsahovat pouze hodnoty, které odpovídají pozicím v poli Hodnota. Pokud má například pole 10 položek, vlastnost indexu může obsahovat text 0 až 9, nikoli 30 nebo 177.

  • Mapování pole na jiné mapování pole na celé číslo.

    Pokud chcete vytvořit index, který nepoužívá pořadový systém počítání, použijte kvalifikátor ValueMap. ValueMap kvalifikátor nastaví další pole, které obsahuje libovolný systém číslování indexů, jak je znázorněno v následujícím příkladu:

    [ValueMap {"1", "3", "99", "0"}, 
     Values {"OK", "Error", "Degraded", "Unknown"}, Read]
    sint32 Status;
    

    I když je nutné umístit hodnoty ValueMap do uvozovek, WMI považuje hodnoty celá čísla. Proto v tomto příkladu můžete nastavit Status vlastnost na celé číslo v ValueMap set: 1, 3, 99 nebo 0. Rozhraní WMI mapuje každé celé číslo z řadové pozice v ValueMap řetězcové pole na odpovídající pozici v poli Hodnota. Například nastavení Stav na 0 map na "Neznámý".

  • Mapování pole na jiné mapování pole na řetězec.

    Pokud nechcete k indexování pole použít celé číslo, můžete místo toho použít řetězec k uložení jedné z možných hodnot v matici. K tomu je nutné definovat hodnotu a ValueMap pole, které oba obsahují řetězce, jak je znázorněno v následujícím příkladu:

    [ValueMap {"OK", "Error", "Degraded", "Unknown"}, 
     Values {"OK", "Error", "Degraded", "Unknown"}, Read]
    string Status;
    

    S řetězcovou vlastností jsou skutečné povolené hodnoty vlastnosti položky v ValueMap pole. Můžete například nastavit Stav na OK nebo Neznámý.

Je na aplikaci, aby využila výhod mapování užitečným způsobem. Je na poskytovateli, aby vynutil právní rozsah hodnot.

Poznámky

Při rozhodování, zda použít ValueMap/Value nebo BitMap/BitValues kvalifikátory, určete, zda některé z uvedených hodnot mohou probíhat souběžně. Pokud může existovat více souběžných hodnot, musíte použít BitMap/BitValues. Pokud se všechny hodnoty vzájemně vylučují, měli byste použít kvalifikátory ValueMap/Value.

BitMap a BitValues