Funkce správy profilů
Funkce správy profilů
Následující funkce rozhraní API jsou užitečné při správě profilů.
Funkce | Popis |
---|---|
AssociateColorProfileWithDeviceW | Přidruží zadaný barevný profil k zadanému zařízení. |
[CreateProfileFromLogColorSpaceW]((/windows/win32/api/icm/nf-icm-createprofilefromlogcolorspacew) | Převede logickou barevnou mezeru na profilu zařízení. |
DisassociateColorProfileFromDeviceW | Zruší přidružení zadaného barevného profilu k zadanému zařízení v zadaném počítači. |
EnumColorProfilesW | Vytvoří výčet všech profilů splňujících daná kritéria výčtu. |
GetColorDirectoryW | Načte cestu k adresáři Windows COLOR na zadaném počítači. |
GetDeviceGammaRamp | Získá gama rampu z přímých barevných displej panelů. |
GetStandardColorSpaceProfileW | Načte profil barev registrovaný pro zadaný standardní barevný prostor. |
InstallColorProfileW | Nainstaluje daný profil pro použití na zadaný počítač. Profil se také zkopíruje do adresáře COLOR. |
RegisterCMMW | Přidruží zadanou identifikační hodnotu k zadané knihovně dynamického propojení modulu správy barev (CMM DLL). Když se toto ID zobrazí v barevném profilu, systém Windows pak může najít odpovídající CMM, aby mohl vytvořit transformaci. |
SetDeviceGammaRamp | Nastaví gama rampu na panelech s přímým barevným displejem. |
SetStandardColorSpaceProfileW | Zaregistruje zadaný profil pro daný standardní barevný prostor. Profil lze dotazovat pomocí GetStandardColorSpaceProfileW. |
UninstallColorProfileW | Odebere zadaný barevný profil ze zadaného počítače. Přidružené soubory se volitelně odstraní ze systému. |
zrušit registraci CMMW | Přidružuje zadanou hodnotu ID z dané knihovny dynamického propojení modulu správy barev (CMM DLL). |
WcsAssociateColorProfileWithDevice | Přidruží zadaný barevný profil WCS k zadanému zařízení. |
WcsCreateIccProfile | Převede profil WCS na profil ICC. |
WcsDisassociateColorProfileFromDevice | Zruší přidružení zadaného barevného profilu WCS k zadanému zařízení v zadaném počítači. |
wcsEnumColorProfiles | Vytvoří výčet všech barevných profilů, které splňují kritéria výčtu v zadaném oboru správy profilů. |
WcsEnumColorProfilesSize | Vrátí velikost vyrovnávací paměti vyžadované WcsEnumColorProfiles funkce pro výčet barevných profilů. |
wcsGetDefaultColorProfile | Načte výchozí barevný profil zařízení nebo výchozí nastavení nezávislé na zařízení, pokud zařízení není zadané. |
wcsGetDefaultColorProfileSize | Vrátí velikost výchozího názvu barevného profilu zařízení, včetně ukončovací NULL. |
wcsGetDefaultRenderingIntent | Načte výchozí záměr vykreslování v zadaném oboru správy profilů. |
wcsGetUsePerUserProfiles | Určuje, zda se uživatel rozhodl použít seznam přidružení profilu pro jednotlivé uživatele pro zadané zařízení. |
WcsOpenColorProfileW | Vytvoří popisovač pro zadaný barevný profil. |
wcsSetDefaultColorProfile | Nastaví výchozí název barevného profilu zadaného typu profilu v zadaném oboru správy profilů. |
wcsSetDefaultRenderingIntent | Nastaví výchozí záměr vykreslování v zadaném oboru správy profilů. |
WcsSetUsePerUserProfiles | Umožňuje uživateli určit, jestli se má pro zadané zařízení použít seznam přidružení profilu pro jednotlivé uživatele. |
Funkce consumption profilu
Rozhraní API pro spotřebu profilů jsou tato rozhraní API v ICM2, která používají profily ICC nebo WCS XML, popisovače profilů nebo vykreslují záměry jako parametry a sadu nových rozhraní API pro podporu profilu WCS pro kód správy barev aplikace.
Profily a funkce správy profilů
Pracovní postup správy profilů je založený na existujících rozhraních API ICM2, která jsou rozšířená tak, aby poskytovala další funkce pro revize kódu aplikace.
Profily obsahují informace používané algoritmy pro zpracování barev k překladu barev mezi různými barevnými prostory. Správa profilů poskytuje způsob, jak dotazovat a určit profily, které model zpracování barev používá v různých fázích ke správě výstupu barev různých periferních zařízení s různorodými barevnými charakteristikami.
Správa profilů poskytuje následující sadu funkcí:
- Instalace barevných profilů pro použití v systému
- Přidružení jednoho nebo více nainstalovaných profilů barev k libovolnému konkrétnímu zařízení.
- Volba výchozího barevného profilu určitého typu mezi profily, které jsou k dispozici pro použití v určité fázi zpracování barev. Může se jednat o zařízení mezi profily, které jsou k němu přidružené, nebo mezi profily nainstalovanými v systému, a ne pro konkrétní zařízení.
- Výčet barevných profilů, které splňují konkrétní kritéria mezi profily nainstalovanými v systému.
Přípony souborů profilu WCS jsou ".cdmp" pro DMPs, ".camp" pro CAMPs a .gmmp pro GMMPs.
správu profilů uživatelů a povolení provádění v kontextu LUA
Cílem návrhu popsaného v aktuálním dokumentu je následující:
- Starší implementace ICM2 neposkytuje podporu pro správu profilů pro jednotlivé uživatele. Různí uživatelé nemohou mít vlastní nastavení profilu. V systému Vista umožňuje infrastruktura pro správu profilů WCS uživatelům konfigurovat individuální nastavení profilu pro většinu funkcí.
- Všechna starší rozhraní API pro správu profilů ICM2 upravují nastavení na úrovni celého systému a vyžadují oprávnění správce. Ve Windows Vista můžou všichni uživatelé většinu času spouštět v nastavení nejméně privilegovaného uživatelského účtu (LUA) a správci můžou selektivně zvýšit oprávnění ke spouštění aplikací, které upravují nastavení celého systému. Ve správě profilů WCS je možné konfigurovat všechna nastavení profilů pro jednotlivé uživatele v kontextu LUA. Aplikace pro správu profilů můžou běžet jako nastavení LUA, zvýšit jejich rozsah použití a zajistit, aby zabezpečení systému nebylo ohroženo.
Správa profilů v systému Vista poskytuje následující vylepšení starší infrastruktury ICM2:
- Umožňuje přidružení profilu k zařízením, výchozím nastavením profilu a výčtům profilů v rozsahu pro jednotlivé uživatele i pro celý systém.
- Instalace profilu zůstane v celém systému a vyžaduje oprávnění správce. To je konzistentní s instalací profilu během instalace zařízení, protože instalace zařízení je v celém systému a vyžaduje oprávnění správce.
Jestli je možné zařízení nainstalovat z kontextu LUA, je specifické pro to, co je pro danou třídu zařízení podporované. Například v systému Vista je možné provést instalaci tiskárny z kontextu LUA, pokud má uživatel udělená práva ke kopírování souborů do úložiště ovladačů správcem domény pomocí zásad úložiště ovladačů. Infrastruktura správy profilů barev v tomto ohledu nemusí dělat nic zvláštního, protože instalace probíhá v kontextu zařazování.
- Úpravy nastavení profilu v oboru pro jednotlivé uživatele lze provádět v kontextu LUA; úpravy na úrovni systému vyžadovaly oprávnění správce. Operace správy profilů, které vyžadují čtení informací o konfiguraci, je možné provádět v kontextu LUA pro jednotlivá uživatelská i systémová nastavení.
Rozsah správy profilů označuje rozsah provedených operací; pro jednotlivé uživatele nebo pro celý systém.
U každé operace je uvedeno, jestli je možné ji provést z kontextu LUA. Pokud operaci nelze provést v kontextu LUA, vrátí odpovídající rozhraní API pro správu profilů chybu s odepřeným přístupem. Aplikace používající rozhraní API, jako je například Ovládací panely pro správu barev, můžou uživateli umožnit zvýšit úroveň kontextu správy (pomocí OTS nebo uživatelského rozhraní pro vyjádření souhlasu) a pak volat rozhraní API ze zvýšeného kontextu, aby operace byla úspěšná.
Operace
Rozsah správy profilů
Před podmínkou
Po podmínce
Spustitelný soubor v kontextu LUA
${ROWSPAN2}$Install profile${REMOVE}$
Široký systém
Profil se zkopíroval, nainstaloval do systému a je k dispozici pro použití. Profil je pro všechny uživatele výčtu v celém systému a rozsahu aktuálního uživatele.
Během instalace ovladače zařízení se řídí zásadami instalace ovladačů. Ne, jinak.
Aktuální uživatel
Nepodporováno
${ROWSPAN2}$Uninstall profil${REMOVE}$
Široký systém
Profil je nainstalován v systému.
Profil byl odinstalován ze systému a volitelně odstraněn z úložiště profilů. Profil už není k dispozici pro použití a není výčet v žádném oboru.
Ne
Aktuální uživatel
Nepodporováno
${ROWSPAN2}$Associate profil se zařízením${REMOVE}$
Široký systém
Profil je nainstalovaný a je typu ICC nebo CDMP.
Profil je k dispozici pro použití se zařízením všemi uživateli. Je výčtový, v celém systémovém rozsahu a také obor aktuálního uživatele pro všechny uživatele, jak je přidruženo k zařízení.
Ne
Aktuální uživatel
Profil se nainstaluje. Nezáleží na tom, jestli je profil již přidružený k zařízení v systémovém rozsahu a je typu ICC nebo CDMP.
Profil je k dispozici pro použití se zařízením aktuálním uživatelem. Výčet je možné vytvořit pouze v rozsahu aktuálního uživatele (pokud není k dispozici také přidružení na úrovni systému) jako přidružené k zařízení.
Ano
${ROWSPAN2}$Disassociate profil ze zařízení${REMOVE}$
Široký systém
Profil je přidružený k zařízení v rámci celého systému a je typu ICC nebo CDMP.
Profil už není k dispozici pro použití (s výjimkou uživatelů, kteří mají toto přidružení ve svém oboru aktuálního uživatele). Není výčet v rámci celého systému. V oboru aktuálního uživatele ale může být výčet pro uživatele, který má toto přidružení v jeho oboru.
Ne
Aktuální uživatel
Profil je přidružený k zařízení v oboru aktuálního uživatele (bez ohledu na to, jestli je přidružený v rozsahu celého systému) a je typu ICC nebo CDMP.
Profil už není k dispozici pro použití ani není možné ho vyčíslit jako přidružený k zařízení aktuálním uživatelem (pokud není k zařízení přidružený také v rámci celého systému).
Ano
${ROWSPAN2}$Set profil pro typ (DMP nebo ICC) jako výchozí pro zařízení${REMOVE}$
Široký systém
Profil je typu ICC nebo CDMP
Profil se ve výchozím nastavení používá pro konkrétní typ zařízení pro všechny uživatele s výjimkou uživatelů, kteří toto nastavení přepsali v oboru aktuálního uživatele. (Profil se nainstaluje a přidružuje k celému systému zařízení, pokud tomu tak ještě není.)
Ne
Aktuální uživatel
Profil je typu ICC nebo CDMP
Profil se ve výchozím nastavení používá pro konkrétní typ zařízení v případě aktuálního uživatele bez ohledu na výchozí nastavení celého systému. (Profil se nainstaluje a přidružuje k zařízení pro aktuálního uživatele, pokud tomu tak ještě není.)
Ano, pokud je profil již nainstalovaný.
${ROWSPAN2}$Set profil pro typ (ICC, DMP, CAMP, GMMP) a kombinace podtypů jako globální výchozí${REMOVE}$
Široký systém
K zařízením je možné přidružit pouze profily ICC a CDMP.
Profil se ve výchozím nastavení používá pro konkrétní typ. Uživatelé můžou toto nastavení přepsat v oboru aktuálního uživatele. (Profil je nainstalovaný, pokud tomu tak ještě není.)
Ne
Aktuální uživatel
K zařízením je možné přidružit pouze profily ICC a CDMP.
Profil se ve výchozím nastavení používá pro konkrétní typ aktuálního uživatele. (Profil je nainstalovaný, pokud tomu tak ještě není.)
Ano, pokud je profil již nainstalovaný.
${ROWSPAN2}$Erase přepsání aktuálního uživatele pro konkrétní výchozí nastavení profilu, aby se výchozí nastavení systému vždy používalo (jako záložní) i pro obor aktuálního uživatele.${REMOVE}$
Široký systém
Nejde použít
Aktuální uživatel
Dokonce i pro dotazy aktuálního uživatele na výchozí nastavení profilu se vrátí nastavení pro celý systém, která se použijí.
Ano
${ROWSPAN2}$Enumerate nainstalované profily splňující konkrétní kritéria (například třída zařízení, třída profilu atd.)${REMOVE}$
Široký systém
K zařízením lze přidružit a vytvořit výčet pouze profilů ICC a CDMP.
Profily, které jsou nainstalovány a splňují zadaná kritéria v rozsahu celého systému, jsou uvedeny.
Ano
Aktuální uživatel
K zařízením je možné přidružit pouze profily ICC a CDMP, a proto je vyčíslit pro zařízení.
Profily, které jsou nainstalovány a splňují zadaná kritéria v systémovém rozsahu, jsou uvedeny.
Ano
${ROWSPAN2}$Enumerate profily přidružené k určitému zařízení splňujícímu konkrétní kritéria, jako je třída zařízení, a třída profilu${REMOVE}$
Široký systém
K zařízením lze přidružit a vytvořit výčet pouze profilů ICC a CDMP.
Profily, které jsou přidružené k zařízení v rozsahu celého systému a splňují zadaná kritéria v rozsahu celého systému, jsou uvedeny.
Ano
Aktuální uživatel
K zařízením lze přidružit a vytvořit výčet pouze profilů ICC a CDMP.
Profily, které jsou k dispozici jako přidružené k zařízení v oboru aktuálního uživatele, včetně přidružení pro celý systém a splňují zadaná kritéria v oboru aktuálního uživatele, jsou uvedeny.
Ano
Platné typy profilů barev jsou poskytovány výčtem COLORPROFILETYPE.
Platné podtypy profilu barev jsou poskytovány výčtem COLORPROFILESUBTYPE.
Platné kombinace typů a podtypů profilu jsou uvedeny v následující tabulce.
COLORPROFILETYPE
Platný PARAMETR COLORPROFILESUBTYPE
Poznámky
Výchozí nastavení zařízení
Globální výchozí
Zamýšlené použití
Zamýšlené použití
CPT_ICC
CPST_NONE
Získání nebo nastavení výchozího profilu ICC přidruženého k zařízení
CPST_RGBWorkingSpace nebo CPST_CustomWorkingSpace
Získejte nebo nastavte profil ICC jako globální profil RGB nebo vlastní pracovní prostor. Viz poznámka.
CPT_ICC COLORPROFILETYPE a CPT_DMP se vzájemně vylučují. Výchozí barevný profil, který nastavíte pro daný pracovní prostor (RGB nebo Vlastní), může být buď profil ICC, nebo profil DMP, ale ne obojí.
CPT_DMP
CPST_NONE
Získání nebo nastavení výchozího profilu DMP přidruženého k zařízení
CPST_RGBWorkingSpace nebo CPST_CustomWorkingSpace
Získejte nebo nastavte profil DMP jako globální profil RGB nebo vlastní pracovní prostor. Viz poznámka.
CPT_ICC COLORPROFILETYPE a CPT_DMP se vzájemně vylučují. Výchozí barevný profil, který nastavíte pro daný pracovní prostor (RGB nebo Vlastní), může být buď profil ICC, nebo profil DMP, ale ne obojí.
Poznámka
Pokud wcsSetDefaultColorProfile je volána k nastavení profilu DMP jako výchozí profil pro pracovní prostor RGB nebo vlastní pracovní prostor, je platný pouze profil DMP typu RGBVirtualDevice, LCD nebo CRT.
Pokud wcsSetDefaultColorProfile je volána k nastavení profilu ICC jako výchozího profilu pro pracovní prostor RGB nebo vlastní pracovní prostor, pouze profil ICC, jehož třída je "mezera" nebo "disp", a jehož barevná mezera je "RGB" je platná.
Architektura je navržena podle požadavků operací, jak je uvedeno v výčtech a tabulkách výše.
Vrstva veřejného rozhraní API pro správu profilů
Vzhledem k tomu, že starší rozhraní API ICM2 nepodporují obor správy profilů, vyžaduje se nová sada rozhraní API pro správu profilů WCS, která definuje obor správy profilů jako systémový nebo aktuální uživatel. ? Starší rozhraní API ICM2 jsou nadále podporována kvůli zpětné kompatibilitě a pracují na rozsahu správy profilů, který je implicitní pro volání. o Rozhraní ICM2 API, která pracují s oborem aktuálního uživatele? Jedná se o operace, které jsou podporovány pro celý systém i obor aktuálního uživatele ve správě profilů WCS. Starší rozhraní API ICM2 volají nová rozhraní API WCS s oborem správy profilů jako aktuálním uživatelem. To dává smysl z hlediska uživatelů, protože to umožňuje nastavení jednotlivých uživatelů ze starších aplikací a také provádění většiny operací v kontextu LUA. o Rozhraní API ICM2, která pracují na rozsahu celého systému? Jedná se o operace (instalace profilů a odinstalační profily), které podporují pouze rozsah celého systému. Žádná nová rozhraní API pro správu profilů WCS se nevytvořijí a stávající rozhraní API je možné upravit.
Základní implementace operací správy profilů pracují na následujících entitách konfiguračních dat a vytvářejí kontext algoritmů pro zpracování barev za účelem zajištění funkcí správy barev. Jedná se o nastavení specifická pro zařízení nebo globální nastavení (nezávislá na zařízení). o Konfigurační data specifická pro zařízení: ? Seznam profilů přidružených k určitému zařízení ? Výchozí profil pro různé typy profilů přidružených k zařízení ? Odpovídající režim profilů používaných pro výčet. o Globální konfigurační data: ? Seznam profilů nainstalovaných v systému ? Globální výchozí profil pro různé typy profilů ? Základní implementace úložiště konfiguračních dat mají rozsah úložiště pro konfigurační data (nezávisle na zařízení nebo specifické pro konkrétní zařízení), což může být systémový nebo aktuální uživatel. To se liší od oboru správy profilů. Operace s oborem správy profilů aktuálního uživatele může způsobit čtení z oboru úložiště v rámci celého systému, pokud není k dispozici nastavení aktuálního uživatele pro danou operaci. ? Vrstva rozhraní ICM2/WCS API volá v této vrstvě úložiště pro získání a nastavení dat s odpovídajícím rozsahem úložiště. Vrstva úložiště je transparentní pro obor správy profilů. Logika pro kombinování dat z oborů úložiště aktuálního uživatele a celého systému za účelem vytvoření nebo aktualizace konfigurace podle oboru správy profilu určeného volajícím rozhraní API. Tato logika se nachází ve vrstvě rozhraní ICM2/WCS API.
Vrstva úložiště specifická pro zařízení
Úložiště pro různé třídy zařízení, jako je tisk, zachycení nebo zobrazení, se může navzájem lišit. Například konfigurační data pro tiskové zařízení musí být uložena pomocí standardních rozhraní API tisku, jako jsou SetPrinterDataEx a GetPrinterDataEx, aby bylo možné profily kopírovat a nastavení přenést do klientského počítače během připojení point-and-print. ? Tato vrstva exportuje funkce do otevřeného úložiště, získání dat, nastavení dat a uzavření úložiště pomocí běžných předdefinovaných rozhraní, aby do nich vrstva úložiště konfigurace správy profilů byla volána a přitom byla transparentní pro způsob ukládání dat pro dané zařízení.
Následující diagram znázorňuje tuto architekturu.
Vrstva veřejného rozhraní API pro správu profilů
${ROWSPAN2}$Legacy rozhraní ICM2 API pro operace, které podporují pouze obor správy profilů v rámci celého systému v systému Vista (instalace, odinstalace a získání barevného adresáře). Volají vrstvu úložiště konfigurace s odpovídajícím oborem úložiště.${REMOVE}$
Starší rozhraní ICM2 API pro operace, které podporují obor správy profilů uživatelů v celém systému i v systému Vista (všechny operace kromě instalace, odinstalace a získání barevného adresáře). Implicitně pracují na oboru aktuálního uživatele a volají do nového rozhraní WCS API s oborem správy profilů jako aktuálním uživatelem.
Nové rozhraní WCS API s podporou oboru správy profilů aktuálního uživatele a celého systému Volají vrstvu úložiště konfigurace s odpovídajícím oborem úložiště.
Vrstva úložiště konfigurace správy profilů
Rutiny globální konfigurace nezávislé na zařízení
Rutiny konfigurace specifické pro zařízení
${ROWSPAN3}$Profile instalace a správa výchozích nastavení profilů nezávislých na zařízeních, podporovaná v oboru úložiště pro celého systému a aktuálního uživatele.${REMOVE}$
Přidružení zařízení a správa výchozích nastavení profilu specifická pro zařízení, podporovaná v celém systému a rozsahu úložiště aktuálního uživatele.
vrstva úložiště Device-Specific
Tisk konkrétního úložiště
Zobrazení konkrétního úložiště
Zachycení konkrétního úložiště
Starší rozhraní API ICM2 pro operace, které podporují pouze obor správy profilů v rámci celého systému v systému Vista, nemají žádné změny v chování. Operace instalace a odinstalace spadají do této kategorie.
Starší rozhraní API ICM2 pro operace, které podporují obor správy profilů uživatelů v celém systému i v aktuálním uživatelském profilu, se mění tak, aby dotazovaly a konfigurovaly nastavení aktuálního uživatele. Všechny operace kromě instalace a odinstalace spadají do této kategorie.