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:
- Színprofilok telepítése a rendszerben való használatra.
- Egy vagy több telepített színprofil társítása bármely adott eszközzel.
- 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.
- 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ő:
- 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.
- 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:
- 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.
- 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.
- 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.