Decoder-Specific 레지스트리 항목
모든 인코더 및 디코더에 필요한 레지스트리 항목 외에도 디코더에 특히 다음 레지스트리 항목이 필요합니다.
이러한 항목은 WIC(Windows 이미징 구성 요소) 디코더 범주에 디코더를 등록합니다. 이러한 항목의 첫 번째 GUID는 WICBitmapDecoders에 대한 CATID(범주 식별자)입니다.
HKEY_CLASSES_ROOT
CLSID
{7ED96837-96F0-4812-B211-F13C24117ED3}
Instance
{Decoder CLSID}
CLSID = {Decoder CLSID}
FriendlyName = {Name of Decoder}
Windows 이미징 구성 요소 작동 방식의 검색 및 중재 섹션에서 설명한 대로 런타임에 특정 이미지를 검색할 수 있도록 하는 메커니즘은 이미지 파일에 포함된 식별 패턴을 디코더의 레지스트리 항목에 지정된 패턴과 일치시키는 데 기반합니다. 디코더의 런타임 검색을 사용하려면 다음과 같이 이미지 형식에 대한 고유한 식별 패턴을 등록해야 합니다. 다음 표에 설명된 대로 EndOfStream 항목을 제외하고 이러한 모든 레지스트리 항목이 필요합니다. 이 항목은 선택 사항입니다.
HKEY_CLASSES_ROOT
CLSID
{Decoder CLSID}
Patterns
{0}
Position = Offset in block
Length = Length of pattern
Pattern = Pattern to match
Mask = FF FF FF FF
EndOfStream = 0|1
값 | Description |
---|---|
위치 | 패턴을 찾을 수 있는 파일의 오프셋입니다. |
길이 | 패턴의 길이입니다. |
패턴 | 패턴을 구성하는 실제 비트입니다. 검색하는 동안 이미지 파일의 식별 패턴과 일치하는 비트입니다. |
Mask | 패턴에서 와일드카드 값을 허용합니다. 마스크는 패턴 및 마스크에 대해 논리적 AND 연산을 수행하여 적용됩니다. 값이 0인 마스크의 비트에 해당하는 패턴의 모든 비트는 무시됩니다. |
EndOfStream | 식별 패턴의 오프셋은 시작이 아닌 스트림의 끝에서 계산되어야 합니다. 일부 이미지 형식은 식별 패턴을 파일의 끝 또는 근처에 배치합니다. 기본값은 처음부터 검색하는 것이므로 패턴이 파일의 끝에 있지 않으면 이 항목을 생략할 수 있습니다. |
코덱은 둘 이상의 식별 패턴을 지원할 수 있습니다. 이 경우 HKEY_CLASSES_ROOT\CLSID\{Decoder CLSID}\Patterns아래의 모든 키를 반복하고 숫자 키(예제에서는 0)를 사용하여 다양한 패턴을 구분합니다. 각 패턴의 키 아래에 네 개의 값을 각각 포함해야 합니다.
메타데이터 판독기에서 컨테이너 형식 등록
코덱에 대한 새 컨테이너 형식을 만드는 경우 메타데이터 작성기에서와 마찬가지로 이미지의 메타데이터 블록에 대한 메타데이터 판독기 검색을 지원하는 레지스트리 항목도 만들어야 합니다. 컨테이너 형식이 지원하는 각 메타데이터 형식에 대한 메타데이터 판독기의 CLSID(클래스 식별자) 아래에 다음 항목을 만들어야 합니다. (코덱이 TIFF(태그가 지정된 이미지 파일 형식) 컨테이너를 사용하는 경우 이 정보는 이미 레지스트리에 있습니다.)
HKEY_CLASSES_ROOT
CLSID
{Metadata Reader CLSID}
Containers
{Container Format GUID}
Position = Offset relative to its container
Pattern = Pattern used for metadata header
Mask = FF FF FF FF
DataOffset = Offset from beginning of header
메타데이터 판독기 항목도 검색에 사용되므로 디코더의 항목과 매우 유사합니다. 이러한 항목은 구성 요소 팩터리에서 컨테이너에서 지원하는 메타데이터 판독기를 찾고 IWICMetadataBlockReader 구현에서 메타데이터 판독기를 요청할 때 적절한 항목을 선택하는 데 사용됩니다.
값 | Description |
---|---|
위치 | 메타데이터 헤더를 찾을 수 있는 메타데이터 블록의 컨테이너에 있는 오프셋입니다. 최상위 메타데이터 블록의 경우 파일 스트림의 오프셋입니다. 다른 메타데이터 블록에 중첩된 메타데이터 블록의 경우 포함된 메타데이터 블록을 기준으로 하는 오프셋입니다. |
패턴 | 패턴을 구성하는 실제 비트입니다. 검색하는 동안 이미지 파일의 식별 패턴과 일치하는 비트입니다. |
Mask | 메타데이터 헤더는 일반적으로 메타데이터 처리기에 의해 정의됩니다. 어떤 이유로 패턴이 컨테이너에서 다른 형식이어야 하는 경우가 아니면 각 판독기마다 표준 메타데이터 헤더를 사용해야 합니다. |
DataOffset | 실제 데이터가 시작되는 메타데이터 헤더의 시작 부분부터의 오프셋입니다. 메타데이터가 헤더의 특정 오프셋에 없는 경우 이 항목을 생략할 수 있습니다. |
관련 항목
-
개념