Partager via


Qualificateurs BitMap et BitValue

Une bitmap est un entier lié à une propriété avec le BitMap et qualificateurs BitValue. Chaque bit de la valeur de propriété agit en tant qu’index dans le tableau de valeurs dans la liste BitValue. Étant donné que plusieurs bits de la valeur de propriété peuvent être « activés » en même temps, il est possible d’utiliser une valeur de propriété unique pour indiquer plusieurs valeurs simultanées.

Par exemple, l’exemple de code MOF suivant établit la propriété FileType comme ayant le BitMap et qualificateurs BitValues. Il établit également que le bit de faible ordre (bit 0) correspond à la valeur « Lecture seule ». Le bit suivant (bit 1) correspond à « Masqué », et ainsi de suite. (Tous les bits ne doivent pas être significatifs. Dans ce système de huit bits, les deux bits à ordre élevé, 6 et 7, n’ont aucune importance.)

[BitMap("0","1","2","3","4","5"),
 BitValues("Read Only",
           "Hidden",
           "System",
           "Volume Label",
           "Subdirectory",
           "Archive")]
byte FileType;

Si la propriété FileType indique la valeur 7 (bits 0000 0111), le fichier est « Lecture seule », « Système » et « Masqué ». Si la propriété FileType indique la valeur 18 (0x12, bits 0001 0010), il s’agit d’un sous-répertoire masqué.

Il existe deux types de bitmaps différents à l’aide du code MOF :

  • Bits significatifs consécutifs commençant par le bit de faible ordre (bit 0)

    Vous pouvez définir un tableau de valeurs de bits sans spécifier explicitement les bits significatifs si les bits significatifs commencent par le bit de faible ordre (bit 0) et progressent vers le haut sans interruption dans tous les éléments du tableau BitValue. L’exemple de code MOF suivant effectue la même fonction que l’exemple précédent.

    [BitValues("Read Only",
               "Hidden",
               "System",
               "Volume Label",
               "Subdirectory",
               "Archive")]
    byte FileType;
    
  • Bit significatif précédé d’un bit non significatif

    Si le bit de faible ordre est insignifiant ou si la séquence de bits significatifs n’est pas continue, vous devez spécifier les qualificateurs BitMap et BitValues. L’exemple de code MOF suivant montre une situation dans laquelle le bit de faible ordre n’est pas significatif et qu’il existe un écart dans la séquence de bits significatifs.

    [BitMap("1","4","5"),
     BitValues("Follow-up","Delivery receipt","Read receipt")]
    sint32 MailOptions;
    

    Dans ce cas, la définition du bit de faible ordre (bit 0) n’a aucune importance et est ignorée. Toutefois, la définition du bit 1 (0x2) indique que ce message électronique est marqué pour suivi, la définition du bit 4 (0x8) indique qu’un reçu de remise doit être envoyé à l’expéditeur lorsque le message électronique est arrivé à la boîte aux lettres du destinataire et que la définition du bit 5 (0x10) spécifie qu’un reçu de lecture doit être envoyé à l’expéditeur lorsque le message électronique est ouvert par le destinataire. La définition des trois bits significatifs (0x1A) spécifie les trois conditions pour le message électronique.

Remarques

Pour décider s’il faut utiliser les BitMap/BitValues ou ValueMap/qualificateurs, 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 /ValueMap.

ValueMap et les qualificateurs de valeur