Profielbeheerfuncties
Profielbeheerfuncties
De volgende API-functies zijn handig in profielbeheer.
Functie | Beschrijving |
---|---|
AssociateColorProfileWithDeviceW- | Hiermee koppelt u een opgegeven kleurprofiel aan een opgegeven apparaat. |
[CreateProfileFromLogColorSpaceW]((/windows/win32/api/icm/nf-icm-createprofilefromlogcolorspacew) | Converteert een logische kleurruimte naar een apparaatprofiel. |
DisassociateColorProfileFromDeviceW | Hiermee ontkoppelt u een opgegeven kleurprofiel met een opgegeven apparaat op een opgegeven computer. |
EnumColorProfilesW- | Inventariseert alle profielen die voldoen aan de opgegeven opsommingscriteria. |
GetColorDirectoryW- | Hiermee wordt het pad van de Map Windows COLOR opgehaald op een opgegeven computer. |
GetDeviceGammaRamp | Hiermee haalt u de gamma-ramp op van directe kleurenweergaveborden. |
GetStandardColorSpaceProfileW- | Hiermee wordt het kleurprofiel opgehaald dat is geregistreerd voor de opgegeven standaardkleurruimte . |
InstallColorProfileW- | Hiermee wordt een bepaald profiel geïnstalleerd voor gebruik op een opgegeven computer. Het profiel wordt ook gekopieerd naar de map COLOR. |
RegisterCMMW- | Koppelt een opgegeven identificatiewaarde aan de opgegeven kleurenbeheermodule dynamic link library (CMM DLL). Wanneer deze id wordt weergegeven in een kleurenprofiel, kan Windows vervolgens de bijbehorende CMM vinden om een transformatie te maken. |
SetDeviceGammaRamp | Hiermee stelt u de gamma-ramp in op directe kleurenweergaveborden. |
SetStandardColorSpaceProfileW- | Registreert een opgegeven profiel voor een bepaalde standaard kleurruimte. Het profiel kan worden opgevraagd met GetStandardColorSpaceProfileW. |
UninstallColorProfileW- | Hiermee verwijdert u een opgegeven kleurenprofiel van een opgegeven computer. Gekoppelde bestanden worden optioneel verwijderd uit het systeem. |
registratie ongedaan maken | Hiermee wordt een opgegeven id-waarde losgekoppeld van een opgegeven kleurenbeheermodule dynamic-link library (CMM DLL). |
WcsAssociateColorProfileWithDevice- | Hiermee koppelt u een opgegeven WCS-kleurenprofiel aan een opgegeven apparaat. |
WcsCreateIccProfile | Converteert een WCS-profiel naar een ICC-profiel. |
WcsDisassociateColorProfileFromDevice | Hiermee ontkoppelt u een opgegeven WCS-kleurenprofiel met een opgegeven apparaat op een opgegeven computer. |
WcsEnumColorProfiles- | Opsomming van alle kleurprofielen die voldoen aan de opsommingscriteria in het opgegeven bereik voor profielbeheer. |
WcsEnumColorProfilesSize | Retourneert de grootte in bytes van de buffer die is vereist voor de functie WcsEnumColorProfiles om kleurprofielen op te sommen. |
WcsGetDefaultColorProfile | Hiermee haalt u het standaardkleurprofiel voor een apparaat of de standaardwaarde voor het apparaat op als het apparaat niet is opgegeven. |
WcsGetDefaultColorProfileSize | Retourneert de grootte, in bytes, van de standaardnaam van het kleurprofiel voor een apparaat, inclusief de NULL- afsluiter. |
WcsGetDefaultRenderingIntent | Hiermee wordt de standaardweergave-intentie opgehaald in het opgegeven bereik voor profielbeheer. |
WcsGetUsePerUserProfiles | Bepaalt of de gebruiker ervoor heeft gekozen om een lijst met koppelingsprofielen per gebruiker te gebruiken voor het opgegeven apparaat. |
WcsOpenColorProfileW- | Hiermee maakt u een ingang voor een opgegeven kleurprofiel. |
WcsSetDefaultColorProfile | Hiermee stelt u de standaardnaam van het opgegeven profieltype in het opgegeven profielbeheerbereik in. |
WcsSetDefaultRenderingIntent | Hiermee stelt u de standaardweergave-intentie in het opgegeven profielbeheerbereik in. |
WcsSetUsePerUserProfiles | Hiermee kan de gebruiker opgeven of een koppelingslijst per gebruikersprofiel moet worden gebruikt voor het opgegeven apparaat. |
Functies voor profielverbruik
De API's voor profielverbruik zijn api's in ICM2 die ICC- of WCS XML-profielen, profielgrepen of renderingintenties als parameters gebruiken en een set nieuwe API's voor WCS-profielondersteuning voor toepassingskleurbeheercode.
Profielen en profielbeheerfuncties
De werkstroom voor profielbeheer is gebaseerd op bestaande ICM2-API's die worden uitgebreid om extra functionaliteit te bieden voor het reviseren van toepassingscode.
Profielen bevatten informatie die wordt gebruikt door algoritmen voor kleurverwerking om kleur tussen verschillende kleurruimten te vertalen. Profielbeheer biedt een manier om query's uit te voeren en op te geven welke profielen in verschillende fasen worden gebruikt door het kleurenverwerkingsmodel om de kleuruitvoer van verschillende randapparatuur met diverse kleurkenmerken te beheren.
Profielbeheer biedt de volgende set functies:
- Kleurprofielen installeren voor gebruik in het systeem.
- Een of meer geïnstalleerde kleurprofielen koppelen aan een bepaald apparaat.
- Het kiezen van een standaardkleurprofiel van een bepaald type onder de profielen die beschikbaar zijn voor gebruik in een bepaalde fase van de kleurverwerking. Dit kan zijn voor een apparaat tussen de profielen die eraan zijn gekoppeld, of tussen de profielen die in het systeem zijn geïnstalleerd en niet specifiek voor het apparaat.
- Kleurprofielen inventariseren die voldoen aan bepaalde criteria van de profielen die in het systeem zijn geïnstalleerd.
De bestandsnaamextensies van het WCS-profiel zijn '.cdmp' voor DMPs, '.camp' voor CAMP's en '.gmmp' voor GMMPs.
profielbeheer per gebruiker en het inschakelen van uitvoering in LUA-context
Het doel van het ontwerp dat in het huidige document wordt beschreven, is als volgt:
- Verouderde ICM2-implementatie biedt geen ondersteuning voor profielbeheer per gebruiker. Verschillende gebruikers kunnen geen eigen profielinstellingen hebben. In Vista kunnen gebruikers met de infrastructuur voor WCS-profielbeheer afzonderlijke profielinstellingen configureren voor de meeste functies.
- Alle verouderde ICM2-profielbeheer-API's wijzigen instellingen voor het hele systeem en vereisen beheerdersbevoegdheden. In Windows Vista worden alle gebruikers meestal uitgevoerd in LUA-instellingen (Least-Privileged User Account) en kunnen beheerders selectief bevoegdheden verhogen om toepassingen uit te voeren die instellingen voor het hele systeem wijzigen. In WCS-profielbeheer kunnen alle profielinstellingen per gebruiker worden geconfigureerd in LUA-context. Profielbeheertoepassingen kunnen worden uitgevoerd als LUA-instellingen, waardoor het gebruiksbereik wordt verhoogd en ervoor zorgt dat de beveiliging van het systeem niet wordt aangetast.
Profielbeheer in Vista biedt de volgende verbeteringen ten opzichte van verouderde ICM2-infrastructuur:
- Het maakt profielkoppeling mogelijk met apparaten, standaardprofielinstellingen en opsomming van profielen in zowel per gebruiker als systeembreed bereik.
- Het installeren van een profiel blijft systeembreed en vereist beheerdersbevoegdheden. Dit is consistent met de profielinstallatie tijdens de installatie van het apparaat, omdat de installatie van het apparaat systeembreed is en beheerdersbevoegdheden vereist.
Of apparaten vanuit LUA-context kunnen worden geïnstalleerd, is met name van toepassing op wat wordt ondersteund voor die klasse van het apparaat. In Vista is het bijvoorbeeld mogelijk om printerinstallatie vanuit LUA-context uit te voeren als de gebruiker rechten heeft gekregen om bestanden te kopiëren naar het stuurprogrammaarchief door een domeinbeheerder met behulp van stuurprogrammaarchiefbeleid. De infrastructuur voor het beheer van kleurenprofielen hoeft in dit verband niets speciaals te doen, omdat de installatie plaatsvindt in de spooler-context.
- Het wijzigen van profielinstellingen in het bereik per gebruiker kan worden uitgevoerd in LUA-context; systeembrede wijzigingen vereiste beheerdersbevoegdheden. Profielbeheerbewerkingen waarvoor leesconfiguratiegegevens nodig zijn, kunnen worden uitgevoerd in LUA-context voor zowel instellingen per gebruiker als voor het hele systeem.
Profielbeheerbereik geeft het bereik aan van de uitgevoerde bewerkingen; per gebruiker of systeembrede.
Voor elke bewerking wordt aangegeven of deze kan worden uitgevoerd vanuit de LUA-context. Als een bewerking niet kan worden uitgevoerd in lua-context, retourneert de bijbehorende profielbeheer-API een fout waarbij de toegang is geweigerd. Toepassingen die gebruikmaken van de API, zoals het Configuratiescherm van Color Management, kunnen de gebruiker in staat stellen om de beheercontext (met behulp van OTS of consent UI) te verhogen en vervolgens de API aan te roepen vanuit de verhoogde context, zodat de bewerking slaagt.
Operatie
Bereik voor profielbeheer
Voorwaarde vooraf
Na de voorwaarde
Uitvoerbaar bestand in LUA-context
${ROWSPAN2}$Install profiel${REMOVE}$
Systeembreed
Profiel gekopieerd, geïnstalleerd in het systeem en beschikbaar voor gebruik. Profiel kan worden opgesomd in het systeembrede en huidige gebruikersbereik voor alle gebruikers.
Tijdens de installatie van apparaatstuurprogramma's, waarop het installatiebeleid voor stuurprogramma's van toepassing is. Nee, anders.
Huidige gebruiker
Niet ondersteund
${ROWSPAN2}$Uninstall profiel${REMOVE}$
Systeembreed
Profiel is geïnstalleerd in het systeem
Profiel verwijderd uit het systeem en eventueel verwijderd uit het profielarchief. Profiel is niet meer beschikbaar voor gebruik en kan niet worden opgesomd in een bereik.
Nee
Huidige gebruiker
Niet ondersteund
${ROWSPAN2}$Associate profiel met apparaat${REMOVE}$
Systeembreed
Profiel is geïnstalleerd en is van het type ICC of CDMP
Het profiel is beschikbaar voor gebruik met het apparaat door alle gebruikers. Het is opsommenbaar, in het hele systeem en ook voor het bereik van huidige gebruikers voor alle gebruikers, zoals gekoppeld aan het apparaat.
Nee
Huidige gebruiker
Profiel is geïnstalleerd. Het maakt niet uit of het profiel al aan het apparaat in systeembrede omvang is gekoppeld en van het type ICC of CDMP is.
Profiel is beschikbaar voor gebruik met het apparaat door de huidige gebruiker. Het kan alleen worden opgesomd in het bereik van de huidige gebruiker (tenzij er ook een systeembrede koppeling is) als gekoppeld aan het apparaat.
Ja
${ROWSPAN2}$Disassociate profiel van apparaat${REMOVE}$
Systeembreed
Het profiel is gekoppeld aan het apparaat in het hele systeem en is van het type ICC of CDMP
Profiel is niet meer beschikbaar voor gebruik (met uitzondering van gebruikers die deze koppeling hebben in hun huidige gebruikersbereik). Het is niet op te sommen in systeembreed bereik. Het kan echter wel worden opgesomd in het bereik van de huidige gebruiker, voor een gebruiker die deze koppeling in het bereik heeft.
Nee
Huidige gebruiker
Het profiel is gekoppeld aan het apparaat in het huidige gebruikersbereik (ongeacht of het is gekoppeld aan het systeembrede bereik) en is van het type ICC of CDMP.
Profiel is niet meer beschikbaar voor gebruik of kan worden geïnventareerd als gekoppeld aan het apparaat, door de huidige gebruiker (tenzij het ook is gekoppeld aan het systeembrede bereik van het apparaat).
Ja
${ROWSPAN2}$Set profiel voor een type (DMP of ICC) als standaardwaarde voor een apparaat${REMOVE}$
Systeembreed
Profiel is van het type ICC of CDMP
Het profiel wordt standaard gebruikt voor het specifieke type met het apparaat, voor alle gebruikers, met uitzondering van gebruikers die deze instelling hebben overschreven in hun huidige gebruikersbereik. (Het profiel is geïnstalleerd en gekoppeld aan het apparaatsysteem, als dat nog niet het geval is.)
Nee
Huidige gebruiker
Profiel is van het type ICC of CDMP
Het profiel wordt standaard gebruikt voor het specifieke type met het apparaat in het geval van de huidige gebruiker, ongeacht de standaardinstelling voor het systeem. (Het profiel is geïnstalleerd en gekoppeld aan het apparaat voor de huidige gebruiker, als dat nog niet het geval is.)
Ja, als het profiel al is geïnstalleerd
${ROWSPAN2}$Set profiel voor een type (ICC, DMP, CAMP, GMMP) en subtypecombinatie als globale standaard${REMOVE}$
Systeembreed
Alleen ICC- en CDMP-profielen kunnen worden gekoppeld aan apparaten.
Het profiel wordt standaard gebruikt voor het specifieke type. Gebruikers kunnen deze instelling overschrijven in het bereik van de huidige gebruiker. (Het profiel is geïnstalleerd, als dat nog niet het geval is.)
Nee
Huidige gebruiker
Alleen ICC- en CDMP-profielen kunnen worden gekoppeld aan apparaten.
Het profiel wordt standaard gebruikt voor het specifieke type voor de huidige gebruiker. (Het profiel is geïnstalleerd, als dat nog niet het geval is.)
Ja, als het profiel al is geïnstalleerd.
${ROWSPAN2}$Erase de onderdrukking van de huidige gebruiker voor een bepaalde standaardprofielinstelling, zodat de systeemstandaard altijd wordt gebruikt (als terugval) zelfs voor het huidige gebruikersbereik.${REMOVE}$
Systeembreed
Niet van toepassing
Huidige gebruiker
Zelfs voor query's van huidige gebruikers op standaardprofielinstellingen worden systeembrede instellingen geretourneerd voor gebruik.
Ja
${ROWSPAN2}$Enumerate geïnstalleerde profielen die voldoen aan bepaalde criteria (zoals apparaatklasse, profielklasse, enzovoort)${REMOVE}$
Systeembreed
Alleen ICC- en CDMP-profielen kunnen worden gekoppeld aan en geïnventariseerd voor apparaten.
Profielen die zijn geïnstalleerd en voldoen aan de opgegeven criteria in het hele systeembereik, worden opgesomd.
Ja
Huidige gebruiker
Alleen ICC- en CDMP-profielen kunnen worden gekoppeld aan apparaten en dus worden geïnventariseerd voor apparaten.
Profielen die zijn geïnstalleerd en voldoen aan de opgegeven criteria in het hele systeembereik, worden opgesomd.
Ja
${ROWSPAN2}$Enumerate profielen die zijn gekoppeld aan een bepaald apparaat dat voldoet aan bepaalde criteria, zoals apparaatklasse en profielklasse${REMOVE}$
Systeembreed
Alleen ICC- en CDMP-profielen kunnen worden gekoppeld aan en geïnventariseerd voor apparaten.
Profielen die zijn gekoppeld aan het apparaat in het hele systeembereik en voldoen aan de opgegeven criteria in het hele systeembereik worden opgesomd.
Ja
Huidige gebruiker
Alleen ICC- en CDMP-profielen kunnen worden gekoppeld aan en geïnventariseerd voor apparaten.
Profielen die beschikbaar zijn als gekoppeld aan het apparaat in het huidige gebruikersbereik, waaronder de systeembrede koppelingen en voldoen aan de opgegeven criteria in het huidige gebruikersbereik, worden opgesomd.
Ja
De geldige kleurprofieltypen worden geleverd door de opsomming COLORPROFILETYPE.
De geldige subtypen van het kleurprofiel worden geleverd door de opsomming COLORPROFILESUBTYPE.
De geldige profieltype-/subtypecombinaties worden weergegeven in de volgende tabel.
COLORPROFILETYPE
Geldig COLORPROFILESUBTYPE
Notities
Standaardwaarde apparaat
Algemene standaardwaarde
Bedoeld gebruik
Bedoeld gebruik
CPT_ICC
CPST_NONE
Standaard ICC-profiel ophalen/instellen dat is gekoppeld aan een apparaat
CPST_RGBWorkingSpace of CPST_CustomWorkingSpace
Icc-profiel ophalen/instellen als globaal RGB- of aangepaste werkruimteprofiel. Zie Opmerking.
De COLORPROFILETYPE CPT_ICC en CPT_DMP sluiten elkaar wederzijds uit. Het standaardkleurprofiel dat u instelt voor een bepaalde werkruimte (RGB of Aangepast) kan een ICC-profiel of een DMP-profiel zijn, maar niet beide.
CPT_DMP
CPST_NONE
Standaard-DMP-profiel ophalen/instellen dat is gekoppeld aan een apparaat
CPST_RGBWorkingSpace of CPST_CustomWorkingSpace
DMP-profiel ophalen/instellen als globaal RGB- of aangepaste werkruimteprofiel. Zie Opmerking.
De COLORPROFILETYPE CPT_ICC en CPT_DMP sluiten elkaar wederzijds uit. Het standaardkleurprofiel dat u instelt voor een bepaalde werkruimte (RGB of Aangepast) kan een ICC-profiel of een DMP-profiel zijn, maar niet beide.
Notitie
Wanneer WcsSetDefaultColorProfile wordt aangeroepen om een DMP-profiel in te stellen als het standaardprofiel voor de RGB-werkruimte of een aangepaste werkruimte, is alleen een DMP-profiel van het type RGBVirtualDevice, LCD of CRT geldig.
Wanneer WcsSetDefaultColorProfile wordt aangeroepen om een ICC-profiel in te stellen als het standaardprofiel voor de RGB-werkruimte of een aangepaste werkruimte, is alleen een ICC-profiel waarvan de klasse 'afstand' of 'disp' is en waarvan de kleurruimte 'RGB' geldig is.
De architectuur is ontworpen volgens de vereisten van de bewerkingen, zoals vermeld in de bovenstaande opsommingen en tabellen.
Openbare API-laag voor profielbeheer
Omdat het bereik voor profielbeheer niet wordt ondersteund door verouderde ICM2-API's, is een nieuwe set WCS-profielbeheer-API's vereist waarmee het bereik voor profielbeheer als systeembrede of huidige gebruiker wordt gedefinieerd. ? Verouderde ICM2-API's blijven ondersteund voor achterwaartse compatibiliteit en werken aan het bereik voor profielbeheer dat impliciet is voor de aanroep. o ICM2-API's die werken op het huidige gebruikersbereik? Dit is voor bewerkingen die worden ondersteund voor zowel systeembreed als huidig gebruikersbereik in WCS-profielbeheer. Verouderde ICM2-API's roepen nieuwe WCS-API's aan met profielbeheerbereik als huidige gebruiker. Dit is logisch vanuit het perspectief van de gebruiker, omdat dit instellingen per gebruiker mogelijk maakt vanuit verouderde toepassingen en ook de meeste bewerkingen uitvoert in LUA-context. o ICM2-API's die werken op systeembrede scope? Dit is bedoeld voor bewerkingen (installatieprofielen en verwijderingsprofielen) die alleen ondersteuning bieden voor het hele systeem. Er worden geen nieuwe WCS-profielbeheer-API's gemaakt en bestaande API's kunnen worden gewijzigd.
De onderliggende implementaties van de profielbeheerbewerkingen werken aan de volgende entiteiten voor configuratiegegevens om de context voor kleurverwerkingsalgoritmen te maken om functies voor kleurbeheer te bieden. Dit zijn apparaatspecifieke of globale (apparaatonafhankelijke) instellingen. o Apparaatspecifieke configuratiegegevens: ? Lijst met profielen die zijn gekoppeld aan een bepaald apparaat. ? Standaardprofiel voor verschillende profieltypen die zijn gekoppeld aan een apparaat. ? Overeenkomende modus van profielen die worden gebruikt voor opsomming. o Globale configuratiegegevens: ? Lijst met profielen die in het systeem zijn geïnstalleerd. ? Globaal standaardprofiel voor verschillende profieltypen. ? De onderliggende implementaties van configuratiegegevensopslag nemen het opslagbereik voor configuratiegegevens (apparaatonafhankelijk of apparaatspecifiek) in beslag. Dit kan systeembrede of huidige gebruiker zijn. Dit verschilt van het bereik van profielbeheer. Een bewerking met het beheerbereik voor huidig gebruikersprofiel kan leiden tot een leesbewerking van een opslagbereik voor het hele systeem als de instelling voor de huidige gebruiker voor die bewerking niet aanwezig is. ? De ICM2/WCS API-laag aanroepen in deze opslaglaag voor het ophalen en instellen van gegevens met het juiste opslagbereik. De opslaglaag is transparant voor het profielbeheerbereik. De logica voor het combineren van gegevens uit huidige opslagbereiken en opslagbereiken voor het hele systeem om een configuratie te maken of bij te werken op basis van het bereik voor profielbeheer dat is opgegeven door de API-aanroeper. Deze logica is aanwezig in de ICM2/WCS API-laag.
Apparaatspecifieke opslaglaag
De opslag voor verschillende klassen apparaten, zoals afdrukken, vastleggen of weergeven, kan van elkaar verschillen. Configuratiegegevens voor een afdrukapparaat moeten bijvoorbeeld worden opgeslagen met behulp van standaardafdruk-API's, zoals SetPrinterDataEx en GetPrinterDataEx, zodat de profielen kunnen worden gekopieerd en instellingen worden overgebracht naar een clientcomputer tijdens een punt- en afdrukverbinding. ? Met deze laag exporteert u functionaliteit om de opslag te openen, gegevens op te halen, gegevens in te stellen en het archief te sluiten met behulp van gemeenschappelijke vooraf gedefinieerde interfaces, zodat de opslaglaag voor profielbeheer deze kan aanroepen terwijl deze transparant zijn voor de manier waarop de gegevens voor dat apparaat worden opgeslagen.
In het volgende diagram ziet u deze architectuur.
Openbare API-laag voor profielbeheer
${ROWSPAN2}$Legacy ICM2-API's voor bewerkingen die alleen ondersteuning bieden voor het beheerbereik voor het hele systeem in Vista (installeren, verwijderen en kleurenmap ophalen). Ze roepen de configuratieopslaglaag aan met het juiste opslagbereik.${REMOVE}$
Verouderde ICM2-API voor bewerkingen die ondersteuning bieden voor zowel het beheerbereik voor systeembrede als het huidige gebruikersprofiel in Vista (alle bewerkingen anders dan installeren, verwijderen en kleurmap ophalen). Ze werken impliciet aan het huidige gebruikersbereik en roepen nieuwe WCS-API aan met profielbeheerbereik als huidige gebruiker.
Nieuwe WCS-API met ondersteuning voor beheerbereik voor systeembrede en huidige gebruikersprofielen. Ze roepen de configuratieopslaglaag aan met het juiste opslagbereik.
Opslaglaag voor profielbeheer
Apparaatonafhankelijke globale configuratieroutines
Apparaatspecifieke configuratieroutines
${ROWSPAN3}$Profile installatie en apparaatonafhankelijk standaardprofielinstellingenbeheer, ondersteund in het opslagbereik voor de hele systeembrede en huidige gebruiker.${REMOVE}$
Apparaatkoppeling en apparaatspecifiek standaardprofielinstellingenbeheer, ondersteund in het opslagbereik voor de hele systeembrede en huidige gebruiker.
Device-Specific Opslaglaag
Specifieke opslag afdrukken
Specifieke opslag weergeven
Specifieke opslag vastleggen
Verouderde ICM2-API's voor bewerkingen die alleen een systeembreed profielbeheerbereik in Vista ondersteunen, hebben geen wijzigingen in gedrag. Installatie- en verwijderingsbewerkingen vallen in deze categorie.
Verouderde ICM2-API's voor bewerkingen die ondersteuning bieden voor het beheerbereik voor systeembrede en huidige gebruikersprofielen, hebben hun gedrag gewijzigd om query's uit te voeren en instellingen voor huidige gebruikers te configureren. Alle andere bewerkingen dan installeren en verwijderen vallen in deze categorie.