프로필 관리 함수
프로필 관리 함수
다음 API 함수는 프로필 관리에 유용합니다.
기능 | 묘사 |
---|---|
AssociateColorProfileWithDeviceW | 지정된 색 프로필을 지정된 디바이스와 연결합니다. |
[CreateProfileFromLogColorSpaceW]((/windows/win32/api/icm/nf-icm-createprofilefromlogcolorspacew) | 논리적 색 공간디바이스 프로필변환합니다. |
DisassociateColorProfileFromDeviceW | 지정된 컴퓨터에서 지정된 디바이스와 지정된 색 프로필을 연결 해제합니다. |
EnumColorProfilesW | 지정된 열거형 조건을 충족하는 모든 프로필을 열거합니다. |
GetColorDirectoryW | 지정된 컴퓨터에서 Windows COLOR 디렉터리의 경로를 검색합니다. |
getDeviceGammaRamp | 직접 색 표시 보드에서 감마 램프를 가져옵니다. |
GetStandardColorSpaceProfileW | 지정한 표준 색 공간등록된 색 프로필을 검색합니다. |
InstallColorProfileW | 지정된 컴퓨터에 사용할 지정된 프로필을 설치합니다. 프로필도 COLOR 디렉터리에 복사됩니다. |
RegisterCMMW | 지정된 식별 값을 지정된 색 관리 모듈 CMM DLL(동적 연결 라이브러리)과 연결합니다. 이 ID가 색 프로필에 표시되면 Windows에서 해당 CMM을 찾아 변환을 만들 수 있습니다. |
setDeviceGammaRamp | 직접 색 표시 보드에서 감마 램프를 설정합니다. |
SetStandardColorSpaceProfileW | 지정된 표준 색 공간지정된 프로필을 등록합니다. GetStandardColorSpaceProfileW 사용하여 프로필을 쿼리할 수 있습니다. |
UninstallColorProfileW | 지정된 컴퓨터에서 지정된 색 프로필을 제거합니다. 연결된 파일은 시스템에서 선택적으로 삭제됩니다. |
UnregisterCMMW | 지정된 색 관리 모듈 CMM DLL(동적 연결 라이브러리)에서 지정된 ID 값을 분리합니다. |
WcsAssociateColorProfileWithDevice | 지정된 WCS 색 프로필을 지정된 디바이스와 연결합니다. |
WcsCreateIccProfile | WCS 프로필을 ICC 프로필로 변환합니다. |
WcsDisassociateColorProfileFromDevice | 지정된 WCS 색 프로필을 지정된 컴퓨터의 지정된 디바이스와 연결 해제합니다. |
WcsEnumColorProfiles | 지정된 프로필 관리 범위의 열거 조건을 충족하는 모든 색 프로필을 열거합니다. |
WcsEnumColorProfilesSize | 색 프로필을 열거하는 WcsEnumColorProfiles 함수에 필요한 버퍼의 크기(바이트)를 반환합니다. |
WcsGetDefaultColorProfile | 디바이스에 대한 기본 색 프로필을 검색하거나 디바이스가 지정되지 않은 경우 디바이스 독립적 기본값을 검색합니다. |
WcsGetDefaultColorProfileSize | NULL 종결자를 포함하여 디바이스의 기본 색 프로필 이름의 크기(바이트)를 반환합니다. |
WcsGetDefaultRenderingIntent | 지정된 프로필 관리 범위에서 기본 렌더링 의도를 검색합니다. |
WcsGetUsePerUserProfiles | 사용자가 지정된 디바이스에 대해 사용자별 프로필 연결 목록을 사용하도록 선택했는지 여부를 결정합니다. |
WcsOpenColorProfileW | 지정된 색 프로필에 대한 핸들을 만듭니다. |
WcsSetDefaultColorProfile | 지정된 프로필 관리 범위에서 지정된 프로필 형식의 기본 색 프로필 이름을 설정합니다. |
WcsSetDefaultRenderingIntent | 지정된 프로필 관리 범위에서 기본 렌더링 의도를 설정합니다. |
WcsSetUsePerUserProfiles | 사용자가 지정된 디바이스에 대해 사용자별 프로필 연결 목록을 사용할지 여부를 지정할 수 있습니다. |
프로필 소비 함수
프로필 사용 API는 ICC 또는 WCS XML 프로필, 프로필 핸들 또는 렌더링 의도를 매개 변수로 사용하는 ICM2의 API 및 애플리케이션 색 관리 코드에 대한 WCS 프로필 지원을 위한 새 API 집합입니다.
프로필 및 프로필 관리 함수
프로필 관리 워크플로는 애플리케이션 코드를 수정하기 위한 추가 기능을 제공하기 위해 보강된 기존 ICM2 API를 기반으로 합니다.
프로필에는 색 처리 알고리즘에서 서로 다른 색 공간 간에 색을 변환하는 데 사용되는 정보가 포함되어 있습니다. 프로필 관리는 다양한 색상 특성을 가진 다양한 주변 장치의 색상 출력을 관리하기 위해 색상 처리 모델에서 다른 단계에서 사용되는 프로필을 쿼리하고 지정하는 방법을 제공합니다.
프로필 관리는 다음과 같은 기능 집합을 제공합니다.
- 시스템에서 사용할 색 프로필 설치
- 하나 이상의 설치된 색 프로필을 특정 디바이스와 연결합니다.
- 특정 색 처리 단계에서 사용할 수 있는 프로필 중 특정 형식의 기본 색 프로필을 선택합니다. 이는 디바이스와 연결된 프로필 중 디바이스 또는 디바이스별 프로필이 아닌 시스템에 설치된 프로필 중 하나일 수 있습니다.
- 시스템에 설치된 프로필 중 특정 조건을 충족하는 색 프로필을 열거합니다.
WCS 프로필 파일 이름 확장명은 DMP의 경우 ".cdmp", CAMP의 경우 ".camp" 및 GMMP의 경우 ".gmmp"입니다.
사용자별 프로필 관리 및 LUA 컨텍스트에서 실행 사용
현재 문서에 설명된 디자인의 목표는 다음과 같습니다.
- 레거시 ICM2 구현은 사용자별 프로필 관리에 대한 지원을 제공하지 않습니다. 다른 사용자는 자신의 프로필 설정을 가질 수 없습니다. Vista에서 WCS 프로필 관리 인프라를 사용하면 사용자가 대부분의 기능에 대한 개별 프로필 설정을 구성할 수 있습니다.
- 모든 레거시 ICM2 프로필 관리 API는 시스템 전체에서 설정을 수정하고 관리 권한이 필요합니다. Windows Vista에서 모든 사용자는 대부분 LUA(최소 권한 사용자 계정) 설정에서 실행되며, 관리자는 시스템 전체 설정을 수정하는 애플리케이션을 실행하기 위해 선택적으로 권한을 상승시킬 수 있습니다. WCS 프로필 관리에서 모든 사용자별 프로필 설정은 LUA 컨텍스트에서 구성할 수 있습니다. 프로필 관리 애플리케이션은 LUA 설정으로 실행되어 사용 범위를 늘리고 시스템 보안이 손상되지 않도록 할 수 있습니다.
Vista의 프로필 관리는 레거시 ICM2 인프라에 대해 다음과 같은 향상된 기능을 제공합니다.
- 디바이스와의 프로필 연결, 기본 프로필 설정 및 사용자별 및 시스템 전체 범위 모두에서 프로필 열거를 사용할 수 있습니다.
- 프로필 설치는 시스템 전체로 유지되며 관리자 권한이 필요합니다. 디바이스 설치는 시스템 전체이며 관리 권한이 필요하기 때문에 디바이스 설치 중에 프로필 설치와 일치합니다.
LUA 컨텍스트에서 디바이스를 설치할 수 있는지 여부는 해당 디바이스 클래스에 대해 지원되는 항목에 따라 다릅니다. 예를 들어 Vista에서는 사용자가 드라이버 저장소 정책을 사용하여 도메인 관리자가 드라이버 저장소에 파일을 복사할 수 있는 권한이 부여된 경우 LUA 컨텍스트에서 프린터 설치를 수행할 수 있습니다. 스풀러 컨텍스트에서 설치가 수행되므로 색 프로필 관리 인프라는 이와 관련하여 특별한 작업을 수행할 필요가 없습니다.
- 사용자별 범위에서 프로필 설정을 수정하는 작업은 LUA 컨텍스트에서 수행할 수 있습니다. 시스템 차원의 수정에는 관리 권한이 필요했습니다. 구성 정보를 읽어야 하는 프로필 관리 작업은 사용자별 및 시스템 전체 설정 모두에 대해 LUA 컨텍스트에서 수행할 수 있습니다.
프로필 관리 범위는 수행된 작업의 범위를 나타냅니다. 사용자별 또는 시스템 수준입니다.
각 작업에 대해 LUA 컨텍스트에서 수행할 수 있는지 여부를 나타냅니다. LUA 컨텍스트에서 작업을 수행할 수 없는 경우 해당 프로필 관리 API는 액세스가 거부된 오류를 반환합니다. 색 관리 제어판과 같은 API를 사용하는 애플리케이션은 사용자가 관리자 컨텍스트(OTS 또는 동의 UI 사용)로 승격한 다음, 작업이 성공하도록 관리자 권한 컨텍스트에서 API를 호출할 수 있습니다.
수술
프로필 관리 범위
사전 조건
사후 조건
LUA 컨텍스트의 실행 파일
${ROWSPAN2}$Install profile${REMOVE}$
시스템 전체
프로필이 복사되고 시스템에 설치되며 사용할 수 있습니다. 프로필은 모든 사용자에 대해 시스템 전체 및 현재 사용자 범위에서 열거할 수 있습니다.
디바이스 드라이버를 설치하는 동안 드라이버 설치 정책의 적용을 받습니다. 아니요, 그렇지 않습니다.
현재 사용자
지원되지 않음
${ROWSPAN2}$Uninstall profile${REMOVE}$
시스템 전체
프로필이 시스템에 설치됨
프로필이 시스템에서 제거되고 프로필 저장소에서 선택적으로 삭제됩니다. 프로필은 더 이상 사용할 수 없으며 어떤 범위에서도 열거할 수 없습니다.
아니요
현재 사용자
지원되지 않음
${ROWSPAN2}디바이스를 사용하여 프로필 $Associate${REMOVE}$
시스템 전체
프로필이 설치되어 있으며 ICC 또는 CDMP 유형입니다.
프로필은 모든 사용자가 디바이스에서 사용할 수 있습니다. 디바이스와 연결된 모든 사용자에 대한 시스템 전체 범위 및 현재 사용자 범위에서 열거 가능합니다.
아니요
현재 사용자
프로필이 설치됩니다. 프로필이 시스템 차원 범위의 디바이스에 이미 연결되어 있고 ICC 또는 CDMP 형식인지 여부는 중요하지 않습니다.
프로필은 현재 사용자가 디바이스에서 사용할 수 있습니다. 디바이스와 연결된 현재 사용자 범위(시스템 전체 연결이 없는 경우)에서만 열거할 수 있습니다.
예
${ROWSPAN2}디바이스에서 프로필 $Disassociate${REMOVE}$
시스템 전체
프로필은 시스템 차원 범위의 디바이스와 연결되며 ICC 또는 CDMP 유형입니다.
프로필은 더 이상 사용할 수 없습니다(현재 사용자 범위에 이 연결이 있는 사용자도 제외). 시스템 전체 범위에서는 열거할 수 없습니다. 그러나 해당 범위에 이 연결이 있는 사용자의 경우 현재 사용자 범위에서 열거 가능할 수 있습니다.
아니요
현재 사용자
프로필은 시스템 전체 범위에 연결되어 있는지 여부에 관계없이 현재 사용자 범위의 디바이스와 연결되며 ICC 또는 CDMP 유형입니다.
프로필은 시스템 전체 범위에서 디바이스에 연결되지 않는 한 현재 사용자가 더 이상 사용할 수 없거나 디바이스에 연결된 것으로 열거할 수 없습니다.
예
${ROWSPAN2}디바이스의 기본값으로 형식(DMP 또는 ICC)에 대한 프로필 $Set${REMOVE}$
시스템 전체
프로필은 ICC 또는 CDMP 형식입니다.
프로필은 현재 사용자 범위에서 이 설정을 재정의한 사용자를 제외한 모든 사용자에 대해 디바이스의 특정 유형에 대해 기본적으로 사용됩니다. (프로필이 설치되어 있고 디바이스 시스템 전체에 연결되어 있습니다(아직 그렇지 않은 경우).
아니요
현재 사용자
프로필은 ICC 또는 CDMP 형식입니다.
프로필은 시스템 전체 기본값에 관계없이 현재 사용자의 경우 디바이스의 특정 형식에 기본적으로 사용됩니다. (프로필이 설치되어 현재 사용자의 디바이스에 연결되어 있습니다(아직 그렇지 않은 경우).
예, 프로필이 이미 설치된 경우
형식에 대한 ${ROWSPAN2}$Set 프로필(ICC, DMP, CAMP, GMMP) 및 하위 형식 조합을 전역 기본값으로${REMOVE}$
시스템 전체
ICC 및 CDMP 프로필만 디바이스와 연결할 수 있습니다.
프로필은 기본적으로 특정 형식에 사용됩니다. 사용자는 현재 사용자 범위에서 이 설정을 재정의할 수 있습니다. (프로필이 설치되어 있습니다(아직 그렇지 않은 경우).
아니요
현재 사용자
ICC 및 CDMP 프로필만 디바이스와 연결할 수 있습니다.
프로필은 현재 사용자의 특정 형식에 대해 기본적으로 사용됩니다. (프로필이 설치되어 있습니다(아직 그렇지 않은 경우).
예, 프로필이 이미 설치된 경우입니다.
${ROWSPAN2}은(는) 특정 기본 프로필 설정에 대한 현재 사용자 재정의를 $Erase 시스템 기본값이 현재 사용자 범위에 대해서도 항상 사용(대체)되도록 합니다.${REMOVE}$
시스템 전체
해당 없음
현재 사용자
기본 프로필 설정에 대한 현재 사용자 쿼리의 경우에도 시스템 전체 설정이 사용하도록 반환됩니다.
예
${ROWSPAN2}$Enumerate 설치된 프로필이 특정 조건(예: 디바이스 클래스, 프로필 클래스 등)을 충족합니다.${REMOVE}$
시스템 전체
ICC 및 CDMP 프로필만 디바이스에 연결하고 열거할 수 있습니다.
시스템 전체 범위에서 지정된 조건을 충족하고 설치되어 있는 프로필이 열거됩니다.
예
현재 사용자
ICC 및 CDMP 프로필만 디바이스와 연결될 수 있으므로 디바이스에 대해 열거할 수 있습니다.
시스템 전체 범위에서 지정된 조건을 충족하고 설치되어 있는 프로필이 열거됩니다.
예
${ROWSPAN2}$Enumerate 디바이스 클래스 및 프로필 클래스와 같은 특정 조건을 충족하는 특정 디바이스와 연결된 프로필${REMOVE}$
시스템 전체
ICC 및 CDMP 프로필만 디바이스에 연결하고 열거할 수 있습니다.
시스템 전체 범위에서 디바이스와 연결되고 시스템 전체 범위에서 지정된 조건을 충족하는 프로필이 열거됩니다.
예
현재 사용자
ICC 및 CDMP 프로필만 디바이스에 연결하고 열거할 수 있습니다.
시스템 전체 연결을 포함하고 현재 사용자 범위에서 지정된 조건을 충족하는 현재 사용자 범위의 디바이스와 연결할 수 있는 프로필이 열거됩니다.
예
유효한 색 프로필 형식은 COLORPROFILETYPE 열거형에서 제공됩니다.
유효한 색 프로필 하위 형식은 COLORPROFILESUBTYPE 열거형에서 제공됩니다.
다음 표에는 유효한 프로필 형식/하위 형식 조합이 나와 있습니다.
COLORPROFILETYPE
유효한 COLORPROFILESUBTYPE
노트
디바이스 기본값
전역 기본값
의도한 사용
의도한 사용
CPT_ICC
CPST_NONE
디바이스와 연결된 기본 ICC 프로필 가져오기/설정
CPST_RGBWorkingSpace 또는 CPST_CustomWorkingSpace
ICC 프로필을 전역 RGB 또는 사용자 지정 작업 공간 프로필로 가져오기/설정합니다. 참고를 참조하세요.
COLORPROFILETYPE CPT_ICC 및 CPT_DMP 함께 사용할 수 없습니다. 지정된 작업 공간(RGB 또는 사용자 지정)에 대해 설정한 기본 색 프로필은 ICC 프로필 또는 DMP 프로필일 수 있지만 둘 다일 수는 없습니다.
CPT_DMP
CPST_NONE
디바이스와 연결된 기본 DMP 프로필 가져오기/설정
CPST_RGBWorkingSpace 또는 CPST_CustomWorkingSpace
DMP 프로필을 전역 RGB 또는 사용자 지정 작업 공간 프로필로 가져오기/설정합니다. 참고를 참조하세요.
COLORPROFILETYPE CPT_ICC 및 CPT_DMP 함께 사용할 수 없습니다. 지정된 작업 공간(RGB 또는 사용자 지정)에 대해 설정한 기본 색 프로필은 ICC 프로필 또는 DMP 프로필일 수 있지만 둘 다일 수는 없습니다.
메모
WcsSetDefaultColorProfile을 호출하여 DMP 프로필을 RGB 작업 공간 또는 사용자 지정 작업 공간의 기본 프로필로 설정하는 경우 RGBVirtualDevice, LCD 또는 CRT 형식인 DMP 프로필만 유효합니다.
RGB 작업 공간 또는 사용자 지정 작업 공간에 대한 기본 프로필로 ICC 프로필을 설정하기 위해 WcsSetDefaultColorProfile을 호출하는 경우 클래스가 "spac" 또는 "disp"이고 색 공간이 "RGB"인 ICC 프로필만 유효합니다.
아키텍처는 위의 열거형 및 테이블에 설명된 대로 작업의 요구 사항에 따라 설계되었습니다.
프로필 관리 공용 API 계층
프로필 관리 범위는 레거시 ICM2 API에서 지원되지 않으므로 프로필 관리 범위를 시스템 전체 또는 현재 사용자로 정의하는 새로운 WCS 프로필 관리 API 집합이 필요합니다. ? 레거시 ICM2 API는 이전 버전과의 호환성을 위해 계속 지원되며 호출에 암시적인 프로필 관리 범위에서 작동합니다. o 현재 사용자 범위에서 작동하는 ICM2 API? 이는 WCS 프로필 관리에서 시스템 전체 및 현재 사용자 범위 모두에 대해 지원되는 작업을 위한 것입니다. 레거시 ICM2 API는 프로필 관리 범위를 현재 사용자로 사용하여 새 WCS API를 호출합니다. 이는 레거시 애플리케이션의 사용자별 설정과 LUA 컨텍스트에서 대부분의 작업을 실행할 수 있기 때문에 사용자 관점에서 의미가 있습니다. o 시스템 전체 범위에서 작동하는 ICM2 API? 이는 시스템 전체 범위만 지원하는 작업(프로필 설치 및 프로필 제거)을 위한 것입니다. 새 WCS 프로필 관리 API가 만들어지지 않으며 기존 API를 수정할 수 있습니다.
프로필 관리 작업의 기본 구현은 다음 구성 데이터 엔터티에서 작동하여 색 관리 기능을 제공하는 색 처리 알고리즘에 대한 컨텍스트를 만듭니다. 디바이스별 설정이거나 전역(디바이스 독립적) 설정입니다. o 디바이스별 구성 데이터: ? 특정 디바이스와 연결된 프로필 목록입니다. ? 디바이스와 연결된 다양한 프로필 형식에 대한 기본 프로필입니다. ? 열거형에 사용되는 프로필의 일치 모드입니다. o 전역 구성 데이터: ? 시스템에 설치된 프로필 목록입니다. ? 다양한 프로필 형식에 대한 전역 기본 프로필입니다. ? 구성 데이터 스토리지의 기본 구현은 시스템 전체 또는 현재 사용자일 수 있는 구성 데이터(디바이스 독립적 또는 디바이스별)에 대한 스토리지 범위를 사용합니다. 프로필 관리 범위와 다릅니다. 현재 사용자 프로필 관리 범위를 사용하는 작업은 해당 작업에 대한 현재 사용자 설정이 없는 경우 시스템 전체 스토리지 범위에서 읽을 수 있습니다. ? ICM2/WCS API 계층은 적절한 스토리지 범위로 데이터를 가져오고 설정하기 위해 이 스토리지 계층에서 호출합니다. 스토리지 계층은 프로필 관리 범위에 투명합니다. 현재 사용자 및 시스템 전체 스토리지 범위의 데이터를 결합하여 API 호출자가 지정한 프로필 관리 범위에 따라 구성을 만들거나 업데이트하는 논리입니다. 이 논리는 ICM2/WCS API 계층에 있습니다.
디바이스별 스토리지 계층
인쇄, 캡처 또는 디스플레이와 같은 다양한 디바이스 클래스에 대한 스토리지는 서로 다를 수 있습니다. 예를 들어 인쇄 디바이스의 구성 데이터는 SetPrinterDataEx 및 GetPrinterDataEx와 같은 표준 인쇄 API를 사용하여 저장해야만 프로필이 복사되고 지점 및 인쇄 연결 중에 클라이언트 컴퓨터로 설정을 전송할 수 있습니다. ? 이 계층은 미리 정의된 공통 인터페이스를 사용하여 저장소를 열고, 데이터를 가져오고, 데이터를 설정하고, 저장소를 닫는 기능을 내보내므로 프로필 관리 구성 스토리지 계층은 해당 디바이스에 대해 데이터가 저장되는 방식을 투명하게 유지하면서 이를 호출할 수 있습니다.
다음 다이어그램에서는 이 아키텍처를 보여 줍니다.
프로필 관리 공용 API 계층
${ROWSPAN2}$Legacy Vista에서 시스템 전체 프로필 관리 범위만 지원하는 작업에 대한 ICM2 API(설치, 제거 및 색 디렉터리 가져오기). 적절한 스토리지 범위를 사용하여 구성 스토리지 계층을 호출합니다.${REMOVE}$
Vista에서 시스템 전체 및 현재 사용자 프로필 관리 범위(설치, 제거 및 색 디렉터리 가져오기 이외의 모든 작업)를 모두 지원하는 작업에 대한 레거시 ICM2 API입니다. 현재 사용자 범위에서 암시적으로 작업하고 프로필 관리 범위를 현재 사용자로 사용하여 새 WCS API를 호출합니다.
시스템 전체 및 현재 사용자 프로필 관리 범위가 지원되는 새로운 WCS API입니다. 적절한 스토리지 범위를 사용하여 구성 스토리지 계층을 호출합니다.
프로필 관리 구성 스토리지 계층
디바이스 독립적 글로벌 구성 루틴
디바이스별 구성 루틴
${ROWSPAN3}$Profile 설치 및 디바이스 독립적 기본 프로필 설정 관리, 시스템 전체 및 현재 사용자 스토리지 범위에서 지원됩니다.${REMOVE}$
시스템 전체 및 현재 사용자 스토리지 범위에서 지원되는 디바이스 연결 및 디바이스별 기본 프로필 설정 관리
Device-Specific Storage 계층
특정 스토리지 인쇄
특정 스토리지 표시
특정 스토리지 캡처
Vista에서 시스템 전체 프로필 관리 범위만 지원하는 작업에 대한 레거시 ICM2 API의 동작은 변경되지 않습니다. 설치 및 제거 작업은 이 범주에 속합니다.
시스템 전체 및 현재 사용자 프로필 관리 범위를 모두 지원하는 작업에 대한 레거시 ICM2 API의 동작은 현재 사용자 설정을 쿼리하고 구성하도록 변경되었습니다. 설치 및 제거 이외의 모든 작업은 이 범주에 속합니다.