Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcje zarządzania profilami
Następujące funkcje interfejsu API są przydatne w zarządzaniu profilami.
| Funkcja | Opis |
|---|---|
| AssociateColorProfileWithDeviceW | Kojarzy określony profil kolorów z określonym urządzeniem. |
| [CreateProfileFromLogColorSpaceW]((/windows/win32/api/icm/nf-icm-createprofilefromlogcolorspacew) | Konwertuje przestrzeń kolorów logiczną na profil urządzenia . |
| DisassociateColorProfileFromDeviceW | Usuwa skojarzenie określonego profilu koloru z określonym urządzeniem na określonym komputerze. |
| EnumColorProfilesW | Wylicza wszystkie profile spełniające podane kryteria wyliczenia. |
| GetColorDirectoryW | Pobiera ścieżkę katalogu Windows COLOR na określonej maszynie. |
| GetDeviceGammaRamp | Pobiera rampę gamma z bezpośrednich tablic wyświetlaczy kolorów. |
| GetStandardColorSpaceProfileW | Pobiera profil kolorów zarejestrowany dla określonego standardowego przestrzeni kolorów. |
| InstallColorProfileW | Instaluje dany profil do użycia na określonej maszynie. Profil jest również kopiowany do katalogu COLOR. |
| RegisterCMMW | Kojarzy określoną wartość identyfikacji z określoną biblioteką linków dynamicznych modułu zarządzania kolorami (CMM DLL). Gdy ten identyfikator pojawi się w profilu kolorów, system Windows może zlokalizować odpowiedni cmm, aby utworzyć przekształcenie. |
| SetDeviceGammaRamp | Ustawia rampę gamma na bezpośrednich tablicach wyświetlania kolorów. |
| SetStandardColorSpaceProfileW | Rejestruje określony profil dla danego standardowego przestrzeni kolorów. Do profilu można wykonywać zapytania przy użyciu GetStandardColorSpaceProfileW. |
| UninstallColorProfileW | Usuwa określony profil kolorów z określonego komputera. Skojarzone pliki są opcjonalnie usuwane z systemu. |
| wyrejestrowywanie CMMW | Odłącza określoną wartość identyfikatora od danej biblioteki dynamicznego linku do modułu zarządzania kolorami (CMM DLL). |
| WcsAssociateColorProfileWithDevice | Kojarzy określony profil kolorów WCS z określonym urządzeniem. |
| WcsCreateIccProfile | Konwertuje profil WCS na profil ICC. |
| WcsDisassociateColorProfileFromDevice | Usuwa skojarzenie określonego profilu koloru WCS z określonym urządzeniem na określonym komputerze. |
| WcsEnumColorProfiles | Wylicza wszystkie profile kolorów spełniające kryteria wyliczania w określonym zakresie zarządzania profilami. |
| WcsEnumColorProfilesSize | Zwraca rozmiar w bajtach buforu wymaganego przez funkcję WcsEnumColorProfiles w celu wyliczenia profilów kolorów. |
| WcsGetDefaultColorProfile | Pobiera domyślny profil kolorów urządzenia lub wartość domyślną niezależną od urządzenia, jeśli urządzenie nie zostało określone. |
| WcsGetDefaultColorProfileSize | Zwraca rozmiar w bajtach domyślnej nazwy profilu koloru dla urządzenia, w tym null terminatora. |
| WcsGetDefaultRenderingIntent | Pobiera domyślną intencję renderowania w określonym zakresie zarządzania profilami. |
| WcsGetUsePerUserProfiles | Określa, czy użytkownik zdecydował się używać listy skojarzeń profilu dla określonego urządzenia. |
| WcsOpenColorProfileW | Tworzy uchwyt do określonego profilu koloru. |
| WcsSetDefaultColorProfile | Ustawia domyślną nazwę profilu koloru określonego typu profilu w określonym zakresie zarządzania profilami. |
| WcsSetDefaultRenderingIntent | Ustawia domyślną intencję renderowania w określonym zakresie zarządzania profilami. |
| WcsSetUsePerUserProfiles | Umożliwia użytkownikowi określenie, czy dla określonego urządzenia ma być używana lista skojarzeń profilu użytkownika. |
Funkcje użycia profilu
Interfejsy API użycia profilu to te interfejsy API w usłudze ICM2, które przyjmują profile ICC lub WCS XML, dojścia profilów lub intencje renderowania jako parametry oraz zestaw nowych interfejsów API dla obsługi profilu usługi WCS dla kodu zarządzania kolorami aplikacji.
Profile i funkcje zarządzania profilami
Przepływ pracy zarządzania profilami jest oparty na istniejących interfejsach API ICM2, które zostały rozszerzone, aby zapewnić dodatkowe funkcje umożliwiające zmianę kodu aplikacji.
Profile zawierają informacje używane przez algorytmy przetwarzania kolorów do tłumaczenia koloru między różnymi przestrzeniami kolorów. Zarządzanie profilami umożliwia wykonywanie zapytań i określanie profilów używanych na różnych etapach przez model przetwarzania kolorów w celu zarządzania danymi wyjściowymi kolorów różnych urządzeń peryferyjnych o różnych cechach kolorów.
Zarządzanie profilami zapewnia następujący zestaw funkcji:
- Instalowanie profilów kolorów do użycia w systemie.
- Kojarzenie co najmniej jednego zainstalowanego profilu kolorów z dowolnym konkretnym urządzeniem.
- Wybieranie domyślnego profilu koloru określonego typu między profilami dostępnymi do użycia na określonym etapie przetwarzania kolorów. Może to dotyczyć urządzenia między skojarzonymi z nim profilami lub profilami zainstalowanymi w systemie, a nie konkretnym urządzeniem.
- Wyliczanie profilów kolorów spełniających określone kryteria między profilami zainstalowanymi w systemie.
Rozszerzenia nazw plików profilów WCS to ".cdmp" dla dmp, ".camp" dla CAMPs i ".gmmp" dla GMMPs.
zarządzanie profilami użytkowników i włączanie wykonywania w kontekście LUA
Celem projektu opisanego w bieżącym dokumencie jest następujący:
- Starsza implementacja ICM2 nie zapewnia obsługi zarządzania profilami poszczególnych użytkowników. Różni użytkownicy nie mogą mieć własnych ustawień profilu. W systemie Vista infrastruktura zarządzania profilami WCS umożliwia użytkownikom konfigurowanie poszczególnych ustawień profilu dla większości funkcji.
- Wszystkie starsze interfejsy API zarządzania profilami ICM2 modyfikują ustawienia dla całego systemu i wymagają uprawnień administracyjnych. W systemie Windows Vista wszyscy użytkownicy są uruchamiani w ustawieniach konta użytkownika o najniższych uprawnieniach (LUA) przez większość czasu, a administratorzy mogą podnieść poziom uprawnień selektywnie, aby uruchamiać aplikacje modyfikujące ustawienia całego systemu. W przypadku zarządzania profilami WCS wszystkie ustawienia profilu użytkownika można konfigurować w kontekście LUA. Aplikacje do zarządzania profilami mogą działać jako ustawienia LUA, zwiększając ich zakres użycia i zapewniając, że bezpieczeństwo systemu nie zostanie naruszone.
Zarządzanie profilami w systemie Vista zapewnia następujące ulepszenia w przypadku starszej infrastruktury ICM2:
- Umożliwia skojarzenie profilu z urządzeniami, domyślnymi ustawieniami profilu i wyliczaniem profilów zarówno w zakresie poszczególnych użytkowników, jak i całego systemu.
- Instalowanie profilu pozostaje w całym systemie i wymaga uprawnień administratora. Jest to zgodne z instalacją profilu podczas instalacji urządzenia, ponieważ instalacja urządzenia jest szeroka i wymaga uprawnień administracyjnych.
To, czy urządzenia można zainstalować z kontekstu LUA, jest szczególnie obsługiwane dla tej klasy urządzeń. Na przykład w systemie Vista można przeprowadzić instalację drukarki z kontekstu LUA, jeśli użytkownik otrzymał uprawnienia do kopiowania plików do magazynu sterowników przez administratora domeny przy użyciu zasad magazynu sterowników. Infrastruktura zarządzania profilami kolorów nie musi wykonywać żadnych specjalnych czynności w tym zakresie, ponieważ instalacja odbywa się w kontekście buforu.
- Modyfikowanie ustawień profilu w zakresie poszczególnych użytkowników można wykonać w kontekście LUA; modyfikacje całego systemu wymagały uprawnień administracyjnych. Operacje zarządzania profilami, które wymagają odczytywania informacji o konfiguracji, można wykonać w kontekście LUA zarówno dla poszczególnych użytkowników, jak i ustawień dotyczących całego systemu.
Zakres zarządzania profilami wskazuje zakres wykonanych operacji; albo na użytkownika lub w całym systemie.
Dla każdej operacji wskazuje, czy można to zrobić z kontekstu LUA. Jeśli nie można wykonać operacji w kontekście LUA, odpowiedni interfejs API zarządzania profilami zwraca błąd z odmowam dostępu. Aplikacje korzystające z interfejsu API, takiego jak Panel sterowania zarządzanie kolorami, mogą umożliwić użytkownikowi podniesienie poziomu do kontekstu administracyjnego (przy użyciu systemu operacyjnego lub interfejsu użytkownika zgody), a następnie wywołać interfejs API z kontekstu z podwyższonym poziomem uprawnień, aby operacja powiodła się.
Operacja
Zakres zarządzania profilami
Warunek wstępny
Warunek po
Plik wykonywalny w kontekście LUA
${ROWSPAN2}profil $Install${REMOVE}$
Szeroki system
Profil skopiowany, zainstalowany w systemie i dostępny do użycia. Profil jest wyliczany w zakresie całego systemu i bieżącego użytkownika dla wszystkich użytkowników.
Podczas instalacji sterownika urządzenia podlegają zasadom instalacji sterowników. Nie, w przeciwnym razie.
Bieżący użytkownik
Nieobsługiwane
${ROWSPAN2}profil $Uninstall${REMOVE}$
Szeroki system
Profil jest zainstalowany w systemie
Profil został odinstalowany z systemu i opcjonalnie usunięty z magazynu profilów. Profil nie jest już dostępny do użycia i nie jest wyliczany w żadnym zakresie.
Nie
Bieżący użytkownik
Nieobsługiwane
${ROWSPAN2}$Associate profil z urządzeniem${REMOVE}$
Szeroki system
Profil jest zainstalowany i ma typ ICC lub CDMP
Profil jest dostępny do użycia z urządzeniem przez wszystkich użytkowników. Jest on wyliczany w zakresie całego systemu, a także w zakresie bieżącego użytkownika dla wszystkich użytkowników skojarzonych z urządzeniem.
Nie
Bieżący użytkownik
Profil jest zainstalowany. Nie ma znaczenia, czy profil jest już skojarzony z urządzeniem w zakresie całego systemu i jest typu ICC lub CDMP.
Profil jest dostępny do użycia z urządzeniem przez bieżącego użytkownika. Jest on wyliczany tylko w zakresie bieżącego użytkownika (chyba że istnieje również skojarzenie całego systemu) skojarzone z urządzeniem.
Tak
${ROWSPAN2}$Disassociate profilu z urządzenia${REMOVE}$
Szeroki system
Profil jest skojarzony z urządzeniem w zakresie całego systemu i jest typu ICC lub CDMP
Profil nie jest już dostępny do użycia (z wyjątkiem użytkowników, którzy mają to skojarzenie w zakresie bieżącego użytkownika). Nie można go wyliczać w zakresie obejmującym cały system. Może to być jednak wyliczane w zakresie bieżącego użytkownika dla użytkownika, który ma to skojarzenie w swoim zakresie.
Nie
Bieżący użytkownik
Profil jest skojarzony z urządzeniem w zakresie bieżącego użytkownika (niezależnie od tego, czy jest skojarzony w zakresie całego systemu) i jest typu ICC lub CDMP.
Profil nie jest już dostępny do użycia ani wyliczany jako skojarzony z urządzeniem przez bieżącego użytkownika (chyba że jest on również skojarzony z urządzeniem w całym systemie).
Tak
${ROWSPAN2}profil $Set dla typu (DMP lub ICC) jako domyślny dla urządzenia${REMOVE}$
Szeroki system
Profil jest typu ICC lub CDMP
Profil jest używany domyślnie dla określonego typu urządzenia dla wszystkich użytkowników z wyjątkiem tych, którzy zastąpili to ustawienie w zakresie bieżącego użytkownika. (Profil jest zainstalowany i skojarzony z całym systemem urządzeń, jeśli tak nie jest).
Nie
Bieżący użytkownik
Profil jest typu ICC lub CDMP
Profil jest używany domyślnie dla określonego typu z urządzeniem w przypadku bieżącego użytkownika, niezależnie od domyślnego ustawienia dla całego systemu. (Profil jest zainstalowany i skojarzony z urządzeniem dla bieżącego użytkownika, jeśli tak nie jest).
Tak, jeśli profil jest już zainstalowany
${ROWSPAN2}profil $Set dla typu (ICC, DMP, CAMP, GMMP) i kombinacji podtypu jako globalnej domyślnej${REMOVE}$
Szeroki system
Z urządzeniami mogą być skojarzone tylko profile ICC i CDMP.
Profil jest używany domyślnie dla określonego typu. Użytkownicy mogą zastąpić to ustawienie w zakresie bieżącego użytkownika. (Profil jest zainstalowany, jeśli nie jest to jeszcze przypadek).
Nie
Bieżący użytkownik
Z urządzeniami mogą być skojarzone tylko profile ICC i CDMP.
Profil jest używany domyślnie dla określonego typu dla bieżącego użytkownika. (Profil jest zainstalowany, jeśli nie jest to jeszcze przypadek).
Tak, jeśli profil jest już zainstalowany.
${ROWSPAN2}$Erase przesłonięcie bieżącego użytkownika dla określonego domyślnego ustawienia profilu, tak aby ustawienie domyślne systemu zawsze było używane (jako rezerwowe) nawet dla zakresu bieżącego użytkownika.${REMOVE}$
Szeroki system
Nie dotyczy
Bieżący użytkownik
Nawet w przypadku zapytań bieżącego użytkownika w domyślnych ustawieniach profilu do użycia są zwracane ustawienia całego systemu.
Tak
${ROWSPAN2}$Enumerate zainstalowane profile spełniające określone kryteria (takie jak klasa urządzeń, klasa profilu itp.)${REMOVE}$
Szeroki system
Tylko profile ICC i CDMP można skojarzyć z urządzeniami i wyliczać je.
Profile, które są zainstalowane i spełniają określone kryteria w zakresie całego systemu, są wyliczane.
Tak
Bieżący użytkownik
Tylko profile ICC i CDMP mogą być skojarzone z urządzeniami, a tym samym wyliczane dla urządzeń.
Profile, które są zainstalowane i spełniają określone kryteria w zakresie całego systemu, są wyliczane.
Tak
${ROWSPAN2}$Enumerate profilów skojarzonych z określonym urządzeniem spełniającym określone kryteria, takie jak klasa urządzeń i klasa profilu${REMOVE}$
Szeroki system
Tylko profile ICC i CDMP można skojarzyć z urządzeniami i wyliczać je.
Wyliczone są profile skojarzone z urządzeniem w zakresie całego systemu i spełniają określone kryteria w zakresie całego systemu.
Tak
Bieżący użytkownik
Tylko profile ICC i CDMP można skojarzyć z urządzeniami i wyliczać je.
Profile, które są dostępne jako skojarzone z urządzeniem w zakresie bieżącego użytkownika, które obejmują skojarzenia całego systemu i spełniają określone kryteria w zakresie bieżącego użytkownika, są wyliczane.
Tak
Prawidłowe typy profilów kolorów są dostarczane przez wyliczenie COLORPROFILETYPE.
Prawidłowe podtypy profilu koloru są udostępniane przez wyliczenie COLORPROFILESUBTYPE.
Prawidłowe kombinacje typów/podtypów profilu przedstawiono w poniższej tabeli.
COLORPROFILETYPE
Prawidłowy PARAMETR COLORPROFILESUBTYPE
Notatki
Ustawienie domyślne urządzenia
Wartość domyślna globalna
Przeznaczenie
Przeznaczenie
CPT_ICC
CPST_NONE
Pobieranie/ustawianie domyślnego profilu ICC skojarzonego z urządzeniem
CPST_RGBWorkingSpace lub CPST_CustomWorkingSpace
Pobierz/ustaw profil ICC jako globalny profil RGB lub niestandardowy profil obszaru roboczego. Zobacz Uwaga.
CPT_ICC COLORPROFILETYPE i CPT_DMP wzajemnie się wykluczają. Domyślny profil koloru ustawiony dla danego obszaru roboczego (RGB lub Niestandardowy) może być profilem ICC lub profilem DMP, ale nie obu.
CPT_DMP
CPST_NONE
Pobieranie/ustawianie domyślnego profilu DMP skojarzonego z urządzeniem
CPST_RGBWorkingSpace lub CPST_CustomWorkingSpace
Pobierz/ustaw profil DMP jako globalny profil RGB lub niestandardowy profil obszaru roboczego. Zobacz Uwaga.
CPT_ICC COLORPROFILETYPE i CPT_DMP wzajemnie się wykluczają. Domyślny profil koloru ustawiony dla danego obszaru roboczego (RGB lub Niestandardowy) może być profilem ICC lub profilem DMP, ale nie obu.
Nuta
Gdy WcsSetDefaultColorProfile jest wywoływany w celu ustawienia profilu DMP jako domyślnego profilu dla przestrzeni roboczej RGB lub niestandardowej przestrzeni roboczej, prawidłowy jest tylko profil DMP typu RGBVirtualDevice, LCD lub CRT.
Gdy wywołana jest funkcja WcsSetDefaultColorProfile w celu ustawienia profilu ICC jako domyślnego profilu dla obszaru roboczego RGB lub niestandardowego obszaru roboczego, prawidłowy jest tylko profil ICC, którego klasa jest "odstępem" lub "disp" i którego przestrzeń kolorów to "RGB".
Architektura została zaprojektowana zgodnie z wymaganiami operacji, jak wspomniano w powyższych wyliczeniach i tabelach.
Warstwa publicznego interfejsu API zarządzania profilami
Ponieważ zakres zarządzania profilami nie jest obsługiwany przez starsze interfejsy API ICM2, wymagany jest nowy zestaw interfejsów API zarządzania profilami WCS, który definiuje zakres zarządzania profilami jako szeroki system lub bieżący użytkownik. ? Starsze interfejsy API ICM2 nadal są obsługiwane w celu zapewnienia zgodności z poprzednimi wersjami i działają w zakresie zarządzania profilami niejawnym dla wywołania. o Interfejsy API ICM2, które działają w zakresie bieżącego użytkownika? Dotyczy to operacji obsługiwanych zarówno w zakresie całego systemu, jak i bieżącego użytkownika w zarządzaniu profilami WCS. Starsze interfejsy API ICM2 wywołuje nowe interfejsy API usługi WCS z zakresem zarządzania profilami jako bieżący użytkownik. Ma to sens z perspektywy użytkownika, ponieważ umożliwia to ustawienia poszczególnych użytkowników ze starszych aplikacji, a także wykonywanie większości operacji w kontekście LUA. o Interfejsy API ICM2, które działają w zakresie całego systemu? Dotyczy to operacji (instalowania profilów i odinstalowywania profilów), które obsługują tylko zakres całego systemu. Nie są tworzone żadne nowe interfejsy API zarządzania profilami usługi WCS, a istniejące interfejsy API można modyfikować.
Podstawowe implementacje operacji zarządzania profilami działają na następujących jednostkach danych konfiguracji, aby utworzyć kontekst algorytmów przetwarzania kolorów w celu zapewnienia funkcji zarządzania kolorami. Są to ustawienia specyficzne dla urządzenia lub globalne (niezależne od urządzenia). o Dane konfiguracji specyficzne dla urządzenia: ? Lista profilów skojarzonych z określonym urządzeniem. ? Domyślny profil dla różnych typów profilów skojarzonych z urządzeniem. ? Tryb dopasowywania profilów używany do wyliczania. o Globalne dane konfiguracji: ? Lista profilów zainstalowanych w systemie. ? Globalny profil domyślny dla różnych typów profilów. ? Podstawowe implementacje magazynu danych konfiguracji zajmują zakres magazynu danych konfiguracji dla danych konfiguracji (niezależnych od urządzenia lub konkretnego urządzenia), które mogą być zarówno dla całego systemu, jak i bieżącego użytkownika. Różni się to od zakresu zarządzania profilami. Operacja z zakresem zarządzania bieżącym profilem użytkownika może spowodować odczyt z zakresu magazynu całego systemu, jeśli bieżące ustawienie dla tej operacji nie jest obecne. ? Warstwy interfejsu API ICM2/WCS są wywoływane w tej warstwie magazynu na potrzeby pobierania i ustawiania danych z odpowiednim zakresem magazynu. Warstwa magazynu jest niewidoczna dla zakresu zarządzania profilami. Logika łączenia danych z zakresów magazynu bieżącego użytkownika i całego systemu w celu utworzenia lub zaktualizowania konfiguracji zgodnie z zakresem zarządzania profilami określonymi przez obiekt wywołujący interfejs API. Ta logika jest obecna w warstwie interfejsu API ICM2/WCS.
Warstwa magazynu specyficzna dla urządzenia
Magazyn dla różnych klas urządzeń, takich jak drukowanie, przechwytywanie lub wyświetlanie, może się różnić od siebie. Na przykład dane konfiguracyjne urządzenia wydruku muszą być przechowywane przy użyciu standardowych interfejsów API drukowania, takich jak SetPrinterDataEx i GetPrinterDataEx, aby umożliwić kopiowanie profilów i przesyłanie ustawień do komputera klienckiego podczas połączenia punkt-and-print. ? Ta warstwa eksportuje funkcje do otwierania magazynu, pobierania danych, ustawiania danych i zamykania magazynu przy użyciu typowych wstępnie zdefiniowanych interfejsów, dzięki czemu warstwa magazynu konfiguracji zarządzania profilami może wywoływać je, gdy jest niewidoczna dla sposobu przechowywania danych dla tego urządzenia.
Na poniższym diagramie przedstawiono tę architekturę.
Warstwa publicznego interfejsu API zarządzania profilami
${ROWSPAN2}$Legacy interfejsy API ICM2 dla operacji obsługujących tylko zakres zarządzania profilami w całym systemie w systemie Vista (instalowanie, odinstalowywanie i pobieranie katalogu kolorów). Wywołuje warstwę magazynu konfiguracji z odpowiednim zakresem magazynu.${REMOVE}$
Starszy interfejs API ICM2 dla operacji, które obsługują zarówno zakres zarządzania profilami dla całego systemu, jak i bieżącego użytkownika w systemie Vista (wszystkie operacje inne niż instalowanie, odinstalowywanie i pobieranie katalogu kolorów). Niejawnie pracują w zakresie bieżącego użytkownika i wywołają nowy interfejs API usługi WCS z zakresem zarządzania profilami jako bieżący użytkownik.
Nowy interfejs API usługi WCS z obsługą zakresu zarządzania profilami użytkownika dla całego systemu i bieżącego użytkownika. Wywołuje warstwę magazynu konfiguracji z odpowiednim zakresem magazynu.
Warstwa magazynu konfiguracji zarządzania profilami
Procedury konfiguracji globalnej niezależne od urządzeń
Procedury konfiguracji specyficzne dla urządzenia
${ROWSPAN3}$Profile instalacji i niezależnego od urządzenia domyślnego zarządzania ustawieniami profilu, obsługiwane w zakresie magazynu dla całego systemu i bieżącego użytkownika.${REMOVE}$
Skojarzenie urządzenia i domyślne zarządzanie ustawieniami profilu specyficzne dla urządzenia, obsługiwane w zakresie magazynu dla całego systemu i bieżącego użytkownika.
warstwa magazynu Device-Specific
Drukowanie określonego magazynu
Wyświetlanie określonego magazynu
Przechwytywanie określonego magazynu
Starsze interfejsy API ICM2 dla operacji, które obsługują tylko zakres zarządzania profilami w całym systemie w systemie Vista, nie mają żadnych zmian w zachowaniu. Operacje instalowania i odinstalowywania należą do tej kategorii.
Starsze interfejsy API ICM2 dla operacji, które obsługują zarówno zakres zarządzania profilami systemu, jak i bieżącego użytkownika, zmieniły się na wykonywanie zapytań i konfigurowanie ustawień bieżącego użytkownika. Wszystkie operacje inne niż instalowanie i odinstalowywanie należą do tej kategorii.