BitMap 및 BitValue 한정자
비트맵은 BitMap 및 BitValue 한정자를 사용하여 속성에 연결된 정수입니다. 속성 값의 각 비트는 BitValue 목록의 값 배열에 대한 인덱스 역할을 합니다. 속성 값의 여러 비트는 동시에 "켜기"일 수 있으므로 단일 속성 값을 사용하여 여러 동시 값을 나타낼 수 있습니다.
예를 들어 다음 MOF 코드 예제에서는 FileType 속성을 BitMap 및 BitValues 한정자를 갖는 것으로 설정합니다. 또한 하위 비트(비트 0)가 "읽기 전용" 값에 해당한다는 것을 추가로 설정합니다. 다음 비트(비트 1)는 "Hidden" 등에 해당합니다. (모든 비트가 중요해야 하는 것은 아닙니다. 이 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;
중요 비트 앞에는 중요하지 않은 비트가 있습니다.
낮은 순서 비트가 중요하지 않거나 중요한 비트 시퀀스가 연속되지 않는 경우 BitMap 및 BitValues 한정자를 모두 지정해야 합니다. 다음 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 /값 한정자를사용할지 결정할 때 표시되는 값이 동시에 발생할 수 있는지 여부를 결정합니다. 여러 동시 값이 있을 수 있는 경우 BitMap/BitValues사용해야 합니다. 모든 값이 상호 배타적인 경우 ValueMap/값 한정자를 사용해야 합니다.
관련 항목