Compartir a través de


Calificadores BitMap y BitValue

Un mapa de bits es un entero vinculado a una propiedad con el bitMap de y calificadores bitValue. Cada bit del valor de propiedad actúa como un índice en la matriz de valores de la lista de BitValue. Dado que varios bits del valor de propiedad pueden estar "activados" al mismo tiempo, es posible usar un valor de propiedad único para indicar varios valores simultáneos.

Por ejemplo, el siguiente ejemplo de código MOF establece la propiedad FileType como tener los calificadores bitMap y bitValues . Además, establece que el bit de orden bajo (bit 0) corresponde al valor "Solo lectura". El siguiente bit (bit 1) corresponde a "Oculto", etc. (No todos los bits deben ser significativos. En este sistema de ocho bits, los dos bits de orden alto, 6 y 7, no tienen importancia).

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

Si el Propiedad FileType informa del valor 7 (bits 0000 0111), el archivo es "Solo lectura", "Sistema" y "Oculto". Si la propiedad FileType informa del valor 18 (0x12, bits 0001 0010), es un subdirectorio oculto.

Hay dos tipos diferentes de mapas de bits mediante código MOF:

  • Bits significativos consecutivos que comienzan con el bit de orden bajo (bit 0)

    Puede definir una matriz de valores de bits sin especificar explícitamente los bits significativos si los bits significativos comienzan con el bit de orden bajo (bit 0) y progresan hacia arriba sin interrupción a través de todos los elementos de la matriz de bitValue de. El siguiente ejemplo de código MOF realiza la misma función que el ejemplo anterior.

    [BitValues("Read Only",
               "Hidden",
               "System",
               "Volume Label",
               "Subdirectory",
               "Archive")]
    byte FileType;
    
  • Bit significativo precedido por un bit no significativo

    Si el bit de orden bajo es insignificante o la secuencia de bits significativos no es continua, debe especificar los bitmap de y bitValues calificadores. En el siguiente ejemplo de código MOF se muestra una situación en la que el bit de orden bajo no es significativo y hay un hueco en la secuencia de bits significativos.

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

    En este caso, establecer el bit de orden bajo (bit 0) no tiene importancia y se omite. Sin embargo, la configuración del bit 1 (0x2) indica que este mensaje de correo electrónico está marcado para seguimiento, la configuración del bit 4 (0x8) indica que se debe enviar un recibo de entrega al remitente cuando el mensaje de correo electrónico haya llegado al buzón del destinatario y que el valor de bit 5 (0x10) especifique que se debe enviar un recibo de lectura al remitente cuando el destinatario abra el mensaje de correo electrónico. Establecer los tres bits significativos (0x1A) especifica las tres condiciones del mensaje de correo electrónico.

Observaciones

Al decidir si usar los calificadores de BitMap/BitValues o ValueMap/Valores, determine si alguno de los valores indicados podría producirse simultáneamente. Si pueden existir varios valores simultáneos, debe usar BitMap/BitValues. Si todos los valores son mutuamente excluyentes, debe usar los calificadores ValueMap/Values.

valueMap y calificadores de valores