Megosztás a következőn keresztül:


Profilkezelési függvények

Profilkezelési függvények

A profilkezelésben az alábbi API-függvények hasznosak.

Funkció Leírás
AssociateColorProfileWithDeviceW Adott színprofil társítása egy megadott eszközhöz.
[CreateProfileFromLogColorSpaceW]((/windows/win32/api/icm/nf-icm-createprofilefromlogcolorspacew) Logikai színteret alakít áteszközprofil.
DisassociateColorProfileFromDeviceW Egy megadott színprofil társítása egy megadott eszközhöz egy adott számítógépen.
EnumColorProfilesW Felsorolja az összes profilt, amely megfelel a megadott enumerálási feltételeknek.
GetColorDirectoryW Lekéri a Windows COLOR könyvtár elérési útját egy adott gépen.
GetDeviceGammaRamp Lekéri a gamma rámpát a közvetlen színkijelző táblákról.
GetStandardColorSpaceProfileW Lekéri a megadott standard színtérhez regisztrált színprofilt.
InstallColorProfileW Egy adott profilt telepít egy adott gépen való használatra. A profil a COLOR könyvtárba is át lesz másolva.
RegisterCMMW Hozzárendel egy megadott azonosítóértéket a megadott színkezelési modul dinamikus csatolási kódtárához (CMM DLL). Amikor ez az azonosító megjelenik egy színprofilban, a Windows ezután megkeresheti a megfelelő CMM-et az átalakítás létrehozásához.
SetDeviceGammaRamp A gamma rámpát a közvetlen színkijelző táblákra állítja.
SetStandardColorSpaceProfileW Egy megadott profilt regisztrál egy adott szabványos színtérhez. A profil lekérdezhető GetStandardColorSpaceProfileWhasználatával.
UninstallColorProfileW Eltávolít egy megadott színprofilt egy megadott számítógépről. A társított fájlok opcionálisan törlődnek a rendszerből.
AZCMMW regisztrációja törlése Egy megadott azonosító értékét leválasztja egy adott színkezelési modul dinamikus csatolású kódtáráról (CMM DLL).
WcsAssociateColorProfileWithDevice Hozzárendel egy megadott WCS-színprofilt egy adott eszközhöz.
WcsCreateIccProfile A WCS-profilokat ICC-profillá alakítja.
WcsDisassociateColorProfileFromDevice Egy megadott WCS-színprofil társítása egy megadott eszközhöz egy megadott számítógépen.
WcsEnumColorProfiles Az összes olyan színprofil felsorolása, amely megfelel a megadott profilkezelési hatókör enumerálási feltételeinek.
WcsEnumColorProfilesSize A WcsEnumColorProfiles függvény által igényelt puffer méretét adja vissza bájtban a színprofilok számbavételéhez.
WcsGetDefaultColorProfile Lekéri az eszköz alapértelmezett színprofilát, vagy ha az eszköz nincs megadva, az eszközfüggetlen alapértelmezettet.
WcsGetDefaultColorProfileSize Az eszköz alapértelmezett színprofil-nevének bájtban megadott méretét adja vissza, beleértve a NULL terminátort is.
WcsGetDefaultRenderingIntent Lekéri az alapértelmezett megjelenítési szándékot a megadott profilkezelési hatókörben.
WcsGetUsePerUserProfiles Meghatározza, hogy a felhasználó felhasználónkénti profiltársítási listát választott-e a megadott eszközhöz.
WcsOpenColorProfileW Egy fogópontot hoz létre egy megadott színprofilhoz.
WcsSetDefaultColorProfile Beállítja a megadott profiltípus alapértelmezett színprofilnevét a megadott profilkezelési hatókörben.
WcsSetDefaultRenderingIntent Beállítja az alapértelmezett megjelenítési szándékot a megadott profilkezelési hatókörben.
WcsSetUsePerUserProfiles Lehetővé teszi a felhasználó számára, hogy meghatározza, hogy felhasználónkénti profil társításlistát használjon-e a megadott eszközhöz.

 

Profilhasználati függvények

A profilhasználati API-k az ICM2 azon API-jai, amelyek ICC- vagy WCS XML-profilokat, profilfogantyúkat vagy renderelési szándékokat használnak paraméterekként, valamint a WCS-profilok új API-jait támogatják az alkalmazás színkezelési kódjához.

 

Profilok és profilkezelési függvények

A profilkezelési munkafolyamat olyan meglévő ICM2 API-kon alapul, amelyek kibővítve további funkciókat biztosítanak az alkalmazáskódok felülvizsgálatához.

A profilok a színfeldolgozó algoritmusok által a különböző színterek közötti színfordításhoz használt információkat tartalmazzák. A profilkezelés lehetővé teszi, hogy lekérdezze és megszűrje, hogy a színfeldolgozó modell mely profilokat használja a különböző színtulajdonságokkal rendelkező különböző perifériaeszközök színkimenetének kezeléséhez.

A profilkezelés a következő funkciók készletét biztosítja:

 

  1. Színprofilok telepítése a rendszerben való használatra.

 

  1. Egy vagy több telepített színprofil társítása bármely adott eszközzel.

 

  1. Egy adott típusú alapértelmezett színprofil kiválasztása a színfeldolgozás egy adott szakaszában használható profilok között. Ez lehet egy eszköz esetében a társított profilok között, vagy a rendszerben telepített profilok között, és nem az eszközspecifikusak között.

 

  1. Olyan színprofilok számbavétele, amelyek megfelelnek a rendszerben telepített profilok adott feltételeinek.

A WCS-profil fájlnévkiterjesztései a DMP-k esetében a ".cdmp", a CAMP-k esetében a ".camp", a GMP-k esetében pedig a ".gmmp".

 

felhasználónkénti profilkezelés és a végrehajtás engedélyezése LUA-környezetben

Az aktuális dokumentumban leírt terv célja a következő:

 

  1. Az örökölt ICM2-implementáció nem nyújt támogatást a felhasználónkénti profilkezeléshez. A különböző felhasználók nem rendelkezhetik saját profilbeállításokkal. A Vista rendszerben a WCS-profilkezelési infrastruktúra lehetővé teszi a felhasználók számára, hogy egyéni profilbeállításokat konfiguráljanak a legtöbb funkcióhoz.

 

  1. Az örökölt ICM2 profilkezelési API-k rendszerszintűen módosítják a beállításokat, és rendszergazdai jogosultságokat igényelnek. A Windows Vista rendszerben az idő nagy részében minden felhasználó a legkevésbé kiemelt felhasználói fiók (LUA) beállításaiban fut, a rendszergazdák pedig szelektíven emelhetik a jogosultságot a rendszerszintű beállításokat módosító alkalmazások futtatásához. A WCS-profilkezelésben minden felhasználónkénti profilbeállítás konfigurálható LUA-környezetben. A profilkezelő alkalmazások LUA-beállításokként futtathatók, növelve a használat hatókörét, és gondoskodhatnak arról, hogy a rendszer biztonsága ne sérüljön.

A Vista profilkezelése a következő fejlesztéseket biztosítja az örökölt ICM2-infrastruktúrával szemben:

 

  1. Lehetővé teszi a profilok eszközökkel való társítását, az alapértelmezett profilbeállításokat és a profilok számbavételét felhasználónként és rendszerszintű hatókörben egyaránt.

 

  1. A profil telepítése rendszerszintű marad, és rendszergazdai jogosultságokat igényel. Ez összhangban van a profil telepítésével az eszköz telepítése során, mivel az eszköztelepítés rendszerszintű, és rendszergazdai jogosultságokat igényel.

 

Az, hogy az eszközök telepíthetők-e a LUA-környezetből, az adott eszközosztály esetében támogatottak-e. A Vista rendszerben például a LUA-környezetből is elvégezhető a nyomtatótelepítés, ha a felhasználó jogosultságot kapott arra, hogy fájlokat másoljon az illesztőprogram-tárolóba egy tartományi rendszergazda az illesztőprogram-tároló házirendjeinek használatával. A színprofil-kezelési infrastruktúrának ebben a tekintetben nem kell különlegeset tennie, mivel a telepítés a sorkezelő környezetében történik.

 

  1. A profilbeállítások felhasználónkénti hatókörben történő módosítása LUA-környezetben végezhető el; a rendszerszintű módosítások rendszergazdai jogosultságokat igényelnek. Az olvasási konfigurációs adatokat igénylő profilkezelési műveletek lua-környezetben is elvégezhetők felhasználónkénti és rendszerszintű beállítások esetén is.

A profilkezelési hatókör az elvégzett műveletek hatókörét jelzi; felhasználónként vagy rendszerszintűen.

Minden művelet esetében jelzi, hogy elvégezhető-e a LUA-környezetből. Ha a művelet nem hajtható végre LUA-környezetben, a megfelelő profilkezelési API a hozzáférés megtagadásával visszaadja a hibát. Az API-t használó alkalmazások, például a Színkezelés vezérlőpultja lehetővé teszik a felhasználó számára, hogy rendszergazdai környezetbe emeljen (OTS vagy Consent felhasználói felület használatával), majd meghívhatja az API-t az emelt szintű környezetből, hogy a művelet sikeres legyen.

Művelet

Profilkezelési hatókör

Előfeltétel

Állapot utáni állapot

Végrehajtható a LUA-környezetben

${ROWSPAN2}$Install profil${REMOVE}$

Rendszerszintű

A profil másolva, telepítve van a rendszerbe, és használható. A profil az összes felhasználó rendszerszintű és jelenlegi felhasználói hatókörében számbavehető.

Az eszközillesztő telepítése során az illesztőprogram telepítési szabályzatai vonatkoznak. Nem, máskülönben.

Aktuális felhasználó

Nem támogatott

${ROWSPAN2}$Uninstall profil${REMOVE}$

Rendszerszintű

A profil telepítve van a rendszerben

A profil eltávolítva a rendszerből, és opcionálisan törölve a profiltárolóból. A profil már nem használható, és nem számozható egyetlen hatókörben sem.

Nem

Aktuális felhasználó

Nem támogatott

${ROWSPAN2}$Associate profil eszköz${REMOVE}$

Rendszerszintű

A profil telepítve van, és ICC vagy CDMP típusú

A profil minden felhasználó számára elérhető az eszközhöz. Az eszközhöz társított, rendszerszintű hatókörben és az összes felhasználó aktuális felhasználói hatókörében is számbavehető.

Nem

Aktuális felhasználó

A profil telepítve van. Nem számít, hogy a profil már társítva van-e az eszközhöz a rendszerszintű hatókörben, és ICC vagy CDMP típusú.

A profilt az aktuális felhasználó használhatja az eszközzel. Csak az aktuális felhasználó hatókörében (kivéve, ha van rendszerszintű társítás is), valamint az eszközhöz társítva.

Igen

${ROWSPAN2}$Disassociate profil az eszközről${REMOVE}$

Rendszerszintű

A profil az eszközhöz a rendszerszintű hatókörben van társítva, és ICC vagy CDMP típusú

A profil már nem használható (kivéve azokat a felhasználókat, akik ezt a társításukat a jelenlegi felhasználói hatókörükben is használják). Rendszerszintű hatókörben nem számozható. Az aktuális felhasználó hatókörében azonban számba vehető, ha egy felhasználó rendelkezik ezzel a társítással a hatókörében.

Nem

Aktuális felhasználó

A profil az eszközhöz az aktuális felhasználói hatókörben van társítva (függetlenül attól, hogy a rendszerszintű hatókörhöz van-e társítva), és ICC vagy CDMP típusú.

A profil már nem használható, vagy az eszközhöz társítottak szerint számba vehető az aktuális felhasználó számára (kivéve, ha az eszköz rendszerszintű hatókörében is van társítva).

Igen

${ROWSPAN2}$Set profil egy típushoz (DMP vagy ICC) alapértelmezettként egy eszközhöz${REMOVE}$

Rendszerszintű

A profil típusa ICC vagy CDMP

A profil alapértelmezés szerint az eszköz adott típusához van használva, kivéve azokat a felhasználókat, akik felülírták ezt a beállítást az aktuális felhasználó hatókörében. (A profil telepítve van, és az eszközrendszerhez van társítva, ha még nem ez a helyzet.)

Nem

Aktuális felhasználó

A profil típusa ICC vagy CDMP

A profil alapértelmezés szerint az adott típushoz van használva az eszköz esetében az aktuális felhasználó esetében, függetlenül attól, hogy az adott rendszerszintű alapértelmezett érték-e. (A profil telepítve van, és az eszközhöz van társítva az aktuális felhasználó számára, ha még nem ez a helyzet.)

Igen, ha a profil már telepítve van

${ROWSPAN2}$Set profil egy típushoz (ICC, DMP, CAMP, GMMP) és altípus-kombinációhoz globális alapértelmezettként${REMOVE}$

Rendszerszintű

Csak ICC- és CDMP-profilok társíthatók az eszközökhöz.

A profil alapértelmezés szerint az adott típushoz használatos. A felhasználók felülbírálhatják ezt a beállítást az aktuális felhasználó hatókörében. (A profil telepítve van, ha még nem ez a helyzet.)

Nem

Aktuális felhasználó

Csak ICC- és CDMP-profilok társíthatók az eszközökhöz.

A profil alapértelmezés szerint az aktuális felhasználó adott típusához használatos. (A profil telepítve van, ha még nem ez a helyzet.)

Igen, ha a profil már telepítve van.

${ROWSPAN2}$Erase az aktuális felhasználó felülbírálását egy adott alapértelmezett profilbeállításhoz, hogy a rendszer alapértelmezés szerint mindig (tartalékként) legyen használva még az aktuális felhasználó hatókörében is.${REMOVE}$

Rendszerszintű

Nem alkalmazható

Aktuális felhasználó

A rendszer még az alapértelmezett profilbeállításokkal kapcsolatos aktuális felhasználói lekérdezések esetén is visszaadja a rendszerszintű beállításokat.

Igen

${ROWSPAN2}$Enumerate meghatározott feltételeknek megfelelő telepített profilokat (például eszközosztály, profilosztály stb.)${REMOVE}$

Rendszerszintű

Csak ICC- és CDMP-profilok társíthatók és számba vehetők az eszközökhöz.

A rendszerszintű hatókörben telepített és a megadott feltételeknek megfelelő profilok felsorolása történik.

Igen

Aktuális felhasználó

Csak ICC- és CDMP-profilok társíthatók az eszközökhöz, és így az eszközökhöz is számba vehetők.

A rendszerszintű hatókörben telepített és a megadott feltételeknek megfelelő profilok felsorolása történik.

Igen

${ROWSPAN2}$Enumerate adott eszközhöz társított profilok, amelyek megfelelnek bizonyos feltételeknek, például az eszközosztálynak és a${REMOVE}$ profilosztálynak

Rendszerszintű

Csak ICC- és CDMP-profilok társíthatók és számba vehetők az eszközökhöz.

Az eszközhöz rendszerszintű hatókörben társított és a rendszerszintű hatókörben megadott feltételeknek megfelelő profilokat a rendszer felsorolja.

Igen

Aktuális felhasználó

Csak ICC- és CDMP-profilok társíthatók és számba vehetők az eszközökhöz.

Az eszközhöz az aktuális felhasználó hatókörében elérhető profilok, amelyek tartalmazzák a rendszerszintű társításokat, és megfelelnek az aktuális felhasználó hatókörében megadott feltételeknek, enumerálva lesznek.

Igen

 

Az érvényes színprofil-típusokat a COLORPROFILETYPE enumerálás biztosítja.

Az érvényes színprofil-altípusokat a COLORPROFILESUBTYPE enumerálás biztosítja.

Az érvényes profiltípus-/altípus-kombinációk az alábbi táblázatban láthatók.

COLORPROFILETYPE

Érvényes COLORPROFILESUBTYPE

Notes

Eszköz alapértelmezett beállítása

Globális alapértelmezett érték

Tervezett használat

Tervezett használat

CPT_ICC

CPST_NONE

Eszközhöz társított alapértelmezett ICC-profil lekérése/beállítása

CPST_RGBWorkingSpace vagy CPST_CustomWorkingSpace

ICC-profil lekérése/beállítása globális RGB-ként vagy egyéni munkaterület-profilként. Lásd: Megjegyzés.

A COLORPROFILETYPE CPT_ICC és CPT_DMP kölcsönösen kizárják egymást. Az adott munkaterülethez (RGB vagy Egyéni) beállított alapértelmezett színprofil lehet ICC-profil vagy DMP-profil, de mindkettő nem.

CPT_DMP

CPST_NONE

Eszközhöz társított alapértelmezett DMP-profil lekérése/beállítása

CPST_RGBWorkingSpace vagy CPST_CustomWorkingSpace

DMP-profil lekérése/beállítása globális RGB-ként vagy egyéni munkaterület-profilként. Lásd: Megjegyzés.

A COLORPROFILETYPE CPT_ICC és CPT_DMP kölcsönösen kizárják egymást. Az adott munkaterülethez (RGB vagy Egyéni) beállított alapértelmezett színprofil lehet ICC-profil vagy DMP-profil, de mindkettő nem.

 

Jegyzet

Ha a WcsSetDefaultColorProfile úgy van meghívva, hogy egy DMP-profilt állítson be alapértelmezett profilként az RGB-munkaterülethez vagy egyéni munkaterülethez, csak az RGBVirtualDevice, LCD vagy CRT típusú DMP-profil érvényes.

 

Ha a WcsSetDefaultColorProfile úgy van meghívva, hogy egy ICC-profilt állítson be alapértelmezett profilként az RGB-munkaterülethez vagy egy egyéni munkaterülethez, csak egy olyan ICC-profilt, amelynek osztálya "spac" vagy "disp", és amelynek a színtere "RGB" érvényes.

 

Az architektúra a fenti felsorolásokban és táblákban említett műveletek követelményeinek megfelelően lett kialakítva.

Profilkezelés nyilvános API-réteg

Mivel a profilkezelési hatókört az örökölt ICM2 API-k nem támogatják, új WCS profilkezelési API-kra van szükség, amelyek a profilkezelési hatókört rendszerszintű vagy aktuális felhasználóként határozzák meg. ? Az örökölt ICM2 API-k továbbra is támogatottak a visszamenőleges kompatibilitás érdekében, és a híváshoz implicit profilkezelési hatókörön dolgoznak. o ICM2 API-k, amelyek az aktuális felhasználó hatókörén működnek? Ez olyan műveletekre érvényes, amelyek a WCS-profilkezelésben a rendszerszintű és az aktuális felhasználói hatókör esetében is támogatottak. Az örökölt ICM2 API-k új WCS API-kat hívnak meg, profilkezelési hatókörrel, mint jelenlegi felhasználó. Ennek felhasználói szempontból van értelme, mivel ez lehetővé teszi a felhasználónkénti beállításokat az örökölt alkalmazásokból, és a műveletek nagy részét LUA-környezetben hajtja végre. o A rendszerszintű hatókörön működő ICM2 API-k? Ez olyan műveletekre vonatkozik (profilok telepítése és eltávolítási profilok), amelyek csak a rendszerszintű hatókört támogatják. Nem jönnek létre új WCS-profilkezelési API-k, és a meglévő API-k módosíthatók.

A profilkezelési műveletek mögöttes implementációi a következő konfigurációs adatentitásokon működnek, hogy létrehozzák a színfeldolgozási algoritmusok környezetét a színkezelési funkciók biztosításához. Ezek eszközspecifikus vagy globális (eszközfüggetlen) beállítások. o Eszközspecifikus konfigurációs adatok: ? Az adott eszközhöz társított profilok listája. ? Az eszközhöz társított különböző profiltípusok alapértelmezett profilja. ? Az enumeráláshoz használt profilok egyező módja. o Globális konfigurációs adatok: ? A rendszerben telepített profilok listája. ? Globális alapértelmezett profil különböző profiltípusokhoz. ? A konfigurációs adattárolás mögöttes implementációi a konfigurációs adatok tárolási hatókörébe tartoznak (eszközfüggetlen vagy eszközspecifikus), amely lehet rendszerszintű vagy aktuális felhasználó. Ez eltér a profilkezelési hatókörtől. Az aktuális felhasználói profilkezelési hatókörrel rendelkező műveletek olvasást okozhatnak egy rendszerszintű tárterületről, ha a művelet jelenlegi felhasználóbeállítása nincs megadva. ? Az ICM2/WCS API-réteg meghívja ebben a tárolási rétegben az adatok megfelelő tárterülettel való lekérését és beállítását. A tárolási réteg transzparens a profilkezelési hatókör számára. Az aktuális felhasználó és a rendszerszintű tárterület adatainak az API-hívó által megadott profilkezelési hatókör szerinti létrehozására vagy frissítésére szolgáló logika. Ez a logika az ICM2/WCS API-rétegben található.

Eszközspecifikus tárolási réteg

A különböző eszközosztályok, például a nyomtatás, a rögzítés vagy a megjelenítés tárhelye eltérhet egymástól. Egy nyomtatóeszköz konfigurációs adatait például szabványos nyomtatási API-k (például SetPrinterDataEx és GetPrinterDataEx) használatával kell tárolni, hogy a profilok másolhatók legyenek, és a beállítások át legyenek adva egy ügyfélszámítógépre a pont- és nyomtatókapcsolat során. ? Ez a réteg exportálja a funkciókat a tár megnyitásához, az adatok lekéréséhez, az adatok beállításához és az adattár bezárásához a közös előre definiált felületek használatával, hogy a profilkezelési konfigurációs tárolóréteg meghívhassa őket, miközben átlátható legyen az adott eszköz adatainak tárolási módjától.

Az alábbi ábra ezt az architektúrát szemlélteti.

Profilkezelési nyilvános API-réteg

${ROWSPAN2}$Legacy ICM2 API-k olyan műveletekhez, amelyek csak a Vista rendszerszintű profilkezelési hatókörét támogatják (színkönyvtár telepítése, eltávolítása és lekérése). Meghívják a konfigurációs tárolási réteget a megfelelő tárolási hatókörrel.${REMOVE}$

Örökölt ICM2 API olyan műveletekhez, amelyek mind a rendszerszintű, mind az aktuális felhasználói profilkezelési hatókört támogatják a Vista rendszerben (a színkönyvtár telepítésen, eltávolításon és lekérésen kívül minden művelet). Implicit módon az aktuális felhasználó hatókörén dolgoznak, és új WCS API-t hívnak meg profilkezelési hatókörrel jelenlegi felhasználóként.

Új WCS API rendszerszintű és jelenlegi felhasználói profilkezelési hatókör támogatásával. A konfigurációs tárolóréteget megfelelő tárterület-hatókörrel hívják meg.

 

Profilkezelés konfigurációs tárolási rétege

Eszközfüggetlen globális konfigurációs rutinok

Eszközspecifikus konfigurációs rutinok

${ROWSPAN3}$Profile telepítés és az eszközfüggetlen alapértelmezett profilbeállítások kezelése, amely a rendszerszintű és az aktuális felhasználói tárterület hatókörében támogatott.${REMOVE}$

Eszköztársítás és eszközspecifikus alapértelmezett profilbeállítások kezelése, amely a rendszerszintű és az aktuális felhasználói tárterület hatókörében támogatott.

Device-Specific Storage-réteg

Adott tárterület nyomtatása

Adott tárterület megjelenítése

Adott tárterület rögzítése

 

A vistai rendszerszintű profilkezelési hatókört támogató műveletek örökölt ICM2 API-inak működése nem változik. A telepítési és eltávolítási műveletek ebbe a kategóriába tartoznak.

Az örökölt ICM2 API-k a rendszerszintű és az aktuális felhasználói profilkezelési hatókört egyaránt támogató műveletekhez módosították a viselkedésüket az aktuális felhasználói beállítások lekérdezéséhez és konfigurálásához. A telepítésen és eltávolításon kívül minden művelet ebbe a kategóriába tartozik.