beállításjegyzék-bejegyzések Decoder-Specific
Az összes kódolóhoz és dekóderhez szükséges beállításjegyzék-bejegyzések mellett a következő beállításjegyzék-bejegyzésekre van szükség kifejezetten a dekóderekhez.
Ezek a bejegyzések regisztrálják a dekódert a Windows Képalkotó összetevő (WIC) dekóderek kategóriájában. Ezekben a bejegyzésekben az első GUID a WICBitmapDecoderskategóriaazonosítója (CATID).
HKEY_CLASSES_ROOT
CLSID
{7ED96837-96F0-4812-B211-F13C24117ED3}
Instance
{Decoder CLSID}
CLSID = {Decoder CLSID}
FriendlyName = {Name of Decoder}
Amint azt Felderítési és választottbírósági How The Windows Imaging Component Works című szakaszában említettük, az a mechanizmus, amely lehetővé teszi egy adott kép futásidőben való felderítését, az a képfájlba ágyazott azonosító mintán és a dekóder beállításjegyzék-bejegyzésében megadott mintán alapul. A dekóderek futásidejű felderítésének engedélyezéséhez az alábbiak szerint kell regisztrálnia a képformátum egyedi azonosító mintáját. Az összes beállításjegyzék-bejegyzésre szükség van, kivéve a EndOfStream bejegyzést, amely nem kötelező, az alábbi táblázatban leírtak szerint.
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
Érték | Leírás |
---|---|
Pozíció | Az eltolás abba a fájlba, amelyben a minta megtalálható. |
Hosszúság | A minta hossza. |
Minta | A mintát alkotó tényleges bitek. Ezek azok a bitek, amelyek megegyeznek a képfájl azonosítási mintájával a felderítés során. |
Maszk | Lehetővé teszi a helyettesítő karakterek értékeit a mintákban. A maszkot egy logikai AND művelet végrehajtásával alkalmazza a rendszer a mintán és a maszkon. A minta 0 értékkel rendelkező bitjei figyelmen kívül lesznek hagyva. |
EndOfStream | Az azonosító minta eltolását a stream végéről kell kiszámítani, nem pedig az elejéről. Egyes képformátumok az azonosító mintát a fájl végén vagy közelében helyezik el. Mivel az alapértelmezett érték az elejétől való keresés, hacsak a minta nem a fájl végéhez közel van, kihagyhatja ezt a bejegyzést. |
A kodekek több azonosító mintát is támogatnak. Ebben az esetben megismétli az összes kulcsot a HKEY_CLASSES_ROOT\CLSID\{Decoder CLSID}\Patternsalatt, és a numerikus kulccsal (a példában 0) megkülönbözteti a különböző mintákat. Az egyes minták kulcsában a négy értéknek mindegyikét meg kell adnia.
Tárolóformátum regisztrálása metaadat-olvasókkal
Ha új tárolóformátumot hoz létre a kodekhez, beállításjegyzék-bejegyzéseket is létre kell hoznia, hogy támogassa a metaadat-olvasók felderítését a képek metaadatblokkjaihoz, ugyanúgy, mint a metaadat-írók esetében. A következő bejegyzéseket a metaadat-olvasó osztályazonosítója (CLSID) alatt kell létrehozni minden olyan metaadat-formátumhoz, amelyet a tárolóformátum támogat. (Vegye figyelembe, hogy ha a kodek címkézett képfájlformátumú (TIFF) tárolót használ, akkor ez az információ már szerepel a beállításjegyzékben.)
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
Mivel a metaadat-olvasók bejegyzései a felderítéshez is használatosak, nagyon hasonlóak a dekóderek bejegyzéseihez. Ezeket a bejegyzéseket az összetevő-előállító használja a tároló által támogatott metaadat-olvasók megkereséséhez és a megfelelő kiválasztásához, amikor a IWICMetadataBlockReader implementáció metaadat-olvasót kér.
Érték | Leírás |
---|---|
Pozíció | A metaadatblokk tárolójának eltolása, ahol a metaadat-fejléc megtalálható. A legfelső szintű metaadatblokkok esetében ez a fájlstream eltolása. Más metaadatblokkokban beágyazott metaadatblokkok esetében ez az eltolás a metaadatblokkot tartalmazó blokkhoz képest. |
Minta | A mintát alkotó tényleges bitek. Ezek azok a bitek, amelyek megegyeznek a képfájl azonosítási mintájával a felderítés során. |
Maszk | A metaadat-fejlécet általában a metaadat-kezelő határozza meg. Minden olvasóhoz a szabványos metaadat-fejlécet kell használnia, kivéve, ha valamilyen okból a mintának más formátummal kell rendelkeznie a tárolóban. |
DataOffset | Annak a metaadat-fejlécnek az elejétől való eltolás, amelyen a tényleges adatok kezdődnek. Ha a metaadatok nem a fejléc egy adott eltolásánál találhatók, ez a bejegyzés kihagyható. |
Kapcsolódó témakörök
-
fogalmi
-
WIC-Enabled CODEC- írása