Partager via


ValueMap et qualificateurs de valeur

Un mappage de valeurs est un tableau lié à une propriété avec les qualificateurs value et ValueMap.

La propriété agit en tant qu’index dans le tableau, contenant une valeur qui représente l’une des valeurs du tableau. À l’aide du code MOF, vous pouvez avoir les types de mappages de valeurs suivants :

  • Mappage de tableau à un entier.

    Vous pouvez définir un tableau avec le qualificateur valeur et lier le tableau directement à une propriété entière, comme illustré dans l’exemple suivant :

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

    Dans cet exemple, la valeur de propriété Status est un index dans le tableau de chaînes défini par Valeur. La propriété ne peut prendre que des valeurs qui correspondent aux positions ordinales du tableau Valeur tableau moins 1. Par exemple, définir 'état sur « 1 » correspond à la valeur « Erreur ». La propriété d’index ne peut prendre que des valeurs qui correspondent aux positions du tableau Valeur. Par exemple, si le tableau comporte 10 entrées, la propriété d’index peut comprendre 0 à 9, et non 30 ou 177.

  • Mappage de tableau à un autre mappage de tableau à un entier.

    Si vous souhaitez créer un index qui n’utilise pas de système ordinal de comptage, utilisez le qualificateur ValueMap. Le qualificateur ValueMap configure un autre tableau qui contient un système de numérotation d’index arbitraire, comme illustré dans l’exemple suivant :

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

    Bien que vous deviez placer les valeurs de ValueMap entre guillemets, WMI considère les entiers de valeurs. Par conséquent, dans cet exemple, vous pouvez définir la propriété Status sur un entier dans le ValueMap défini : 1, 3, 99 ou 0. WMI mappe chaque entier à partir d’une position ordinale dans le tableau de chaînes ValueMap à une position correspondante dans le tableau Valeur. Par exemple, définir 'état sur 0 correspond à « Inconnu ».

  • Mappage de tableau à un autre mappage de tableau à une chaîne.

    Si vous ne souhaitez pas utiliser un entier pour indexer votre tableau, vous pouvez utiliser plutôt une chaîne pour contenir l’une des valeurs possibles dans votre tableau. Pour ce faire, vous devez définir à la fois une valeur et tableau ValueMap qui contiennent des chaînes, comme illustré dans l’exemple suivant :

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

    Avec une propriété de chaîne, les valeurs autorisées réelles de la propriété sont les entrées du tableau ValueMap. Par exemple, vous pouvez définir 'état sur « OK » ou « Inconnu ».

Il incombe à l’application de tirer parti des mappages d’une manière utile. Il incombe au fournisseur d’appliquer une plage de valeurs légale.

Remarques

Pour décider s’il faut utiliser les ValueMap/Valeur ou BitMap/qualificateurs BitValues, déterminez si l’une des valeurs indiquées peut se produire simultanément. Si plusieurs valeurs simultanées peuvent exister, vous devez utiliser BitMap/BitValues. Si toutes les valeurs s’excluent mutuellement, vous devez utiliser les qualificateurs ValueMap /Value.

BitMap et BitValues