Bagikan melalui


Decoder-Specific Entri Registri

Selain entri registri yang diperlukan untuk semua encoder dan dekoder, entri registri berikut diperlukan khusus untuk dekoder.

Entri ini mendaftarkan dekoder Anda di bawah kategori dekoder Komponen Pencitraan Windows (WIC). GUID pertama dalam entri ini adalah pengidentifikasi kategori (CATID) untuk WICBitmapDecoders.

HKEY_CLASSES_ROOT
   CLSID
      {7ED96837-96F0-4812-B211-F13C24117ED3}
         Instance
            {Decoder CLSID}
               CLSID = {Decoder CLSID}
               FriendlyName = {Name of Decoder}

Seperti yang disebutkan di bagian Penemuan dan Arbitrase dari Cara Kerja Komponen Pencitraan Windows, mekanisme yang memungkinkan dekoder yang sesuai untuk gambar tertentu yang akan ditemukan pada durasi didasarkan pada pencocokan pola identifikasi yang disematkan dalam file gambar dengan pola yang ditentukan dalam entri registri dekoder. Untuk mengaktifkan penemuan dekode run-time, Anda harus mendaftarkan pola identifikasi unik untuk format gambar Anda sebagai berikut. Semua entri registri ini diperlukan kecuali untuk entri EndOfStream , yang bersifat opsional, seperti yang dijelaskan dalam tabel berikut ini.

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
Nilai Deskripsi
Position Offset ke dalam file tempat pola dapat ditemukan.
Panjang Panjang pola.
Pola Bit aktual yang membentuk pola. Ini adalah bit yang cocok dengan pola identifikasi dalam file gambar selama penemuan.
Mask Memungkinkan nilai kartubebas dalam pola. Masker diterapkan dengan melakukan operasi LOGIS AND pada pola dan masker. Bit apa pun dalam pola yang sesuai dengan sedikit di masker dengan nilai 0 diabaikan.
EndOfStream Offset pola identifikasi harus dihitung dari akhir aliran, bukan awal. Beberapa format gambar menempatkan pola identifikasi di atau di dekat akhir file. Karena defaultnya adalah mencari dari awal, kecuali pola Anda mendekati akhir file, Anda dapat menghilangkan entri ini.

 

Codec dapat mendukung lebih dari satu pola identifikasi. Dalam hal ini, Anda akan mengulangi semua kunci di bawah HKEY_CLASSES_ROOT\CLSID\{Decoder CLSID}\Patterns, dan menggunakan kunci numerik (0 dalam contoh) untuk membedakan antara pola yang berbeda. Anda harus menyertakan masing-masing dari empat nilai di bawah kunci untuk setiap pola.

Mendaftarkan Format Kontainer dengan Pembaca Metadata

Jika Anda membuat format kontainer baru untuk codec, Anda juga harus membuat entri registri untuk mendukung penemuan pembaca metadata untuk blok metadata dalam gambar Anda, seperti yang Anda lakukan untuk penulis metadata. Entri berikut perlu dibuat di bawah pengidentifikasi kelas (CLSID) pembaca metadata untuk setiap format metadata yang didukung format kontainer Anda. (Perhatikan bahwa, jika codec Anda menggunakan kontainer Tagged Image File Format (TIFF), informasi ini sudah ada di registri.)

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

Karena entri untuk pembaca metadata juga digunakan untuk penemuan, entri tersebut sangat mirip dengan entri untuk dekode. Entri ini digunakan oleh pabrik komponen untuk menemukan pembaca metadata yang didukung oleh kontainer Anda, dan untuk memilih yang sesuai, ketika implementasi IWICMetadataBlockReader Anda meminta pembaca metadata.

Nilai Deskripsi
Position Offset dalam kontainer blok metadata tempat header metadata dapat ditemukan. Untuk blok metadata tingkat atas, ini adalah offset dalam aliran file. Untuk blok metadata yang bertumpuk di blok metadata lainnya, blok ini adalah offset relatif terhadap blok metadata yang berisi.
Pola Bit aktual yang membentuk pola. Ini adalah bit yang cocok dengan pola identifikasi dalam file gambar selama penemuan.
Mask Header metadata umumnya ditentukan oleh handler metadata. Anda harus menggunakan header metadata standar untuk setiap pembaca kecuali, karena alasan tertentu, pola harus memiliki format yang berbeda dalam kontainer Anda.
Himpunan Data Offset dari awal header metadata tempat data aktual dimulai. Dalam kasus di mana metadata tidak berada pada offset tertentu dari header, entri ini dapat dihilangkan.

 

Konseptual

Entri Registri Khusus Encoder

Integrasi dengan Windows Photo Gallery dan Windows Explorer

Cara Menulis WIC-Enabled CODEC

Gambaran Umum Komponen Pencitraan Windows