BitMap 및 BitValue 한정자

비트맵은 BitMapBitValue 한정자를 사용하여 속성에 연결된 정수입니다. 속성 값의 각 비트는 BitValue 목록의 값 배열에 대한 인덱스 역할을 합니다. 속성 값의 여러 비트가 동시에 "설정"될 수 있으므로 단일 속성 값을 사용하여 여러 동시 값을 나타낼 수 있습니다.

예를 들어 다음 MOF 코드 예는 FileType 속성이 BitMapBitValues 한정자를 갖는 것으로 설정합니다. 또한 낮은 순서 비트(비트 0)가 "읽기 전용" 값에 해당함을 설정합니다. 다음 비트(비트 1)는 "숨김"에 해당하는 식입니다. (모든 비트가 중요할 필요는 없습니다. 이 8비트 시스템에서 두 개의 높은 순서 비트인 6과 7에는 중요도가 없습니다.)

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

FileType 속성이 값 7(비트 0000 0111)을 보고하는 경우 파일은 "읽기 전용", "시스템" 및 "숨김"입니다. FileType 속성이 값 18(0x12, 비트 0001 0010)을 보고하면 숨겨진 하위 디렉터리입니다.

MOF 코드를 사용하는 두 가지 유형의 비트맵이 있습니다.

  • 낮은 순서 비트(비트 0)부터 시작하는 연속적인 중요 비트

    중요 비트가 낮은 순서 비트(비트 0)로 시작하고 중단 없이 BitValue 배열의 모든 항목을 통과해 위로 진행하는 경우 중요 비트를 명시적으로 지정하지 않고 비트 값의 배열을 정의할 수 있습니다. 다음 MOF 코드 예제는 이전 예제와 동일한 기능을 수행합니다.

    [BitValues("Read Only",
               "Hidden",
               "System",
               "Volume Label",
               "Subdirectory",
               "Archive")]
    byte FileType;
    
  • 중요하지 않은 비트가 선행하는 중요 비트

    낮은 순서 비트가 중요하지 않거나 중요한 비트 시퀀스가 연속적이지 않은 경우 BitMapBitValues 한정자를 모두 지정해야 합니다. 다음 MOF 코드 예제는 낮은 순서 비트가 중요하지 않고 중요 비트 시퀀스에 간격이 있는 상황을 보여줍니다.

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

    이 경우 낮은 순서 비트(비트 0) 설정에 중요도가 없으며 무시됩니다. 그러나 비트 1(0x2)을 설정하면 이 이메일 메시지에 후속 조치 플래그가 지정되었음을 나타냅니다. 비트 4 설정(0x8)은 이메일 메시지가 수신자의 사서함에 도착했을 때 발신자에게 배달 확인을 보내야 함을 나타냅니다. 비트 5 설정(0x10)은 수신자가 이메일 메시지를 열 때 보낸 사람에게 읽음 확인을 보내야 함을 지정합니다. 세 개의 유효 비트(0x1A)를 모두 설정하면 이메일 메시지에 대한 세 가지 조건이 모두 지정됩니다.

설명

BitMap/BitValues 또는 ValueMap/Values 한정자를 사용할지 여부를 결정할 때 표시되는 값이 동시에 발생할 수 있는지 여부를 결정합니다. 동시 값이 여러 개 존재할 수 있는 경우 BitMap/BitValues를 사용해야 합니다. 모든 값이 상호 배타적인 경우 ValueMap/Values 한정자를 사용해야 합니다.

ValueMap 및 Value 한정자