다음을 통해 공유


프로필 관리 함수

프로필 관리 함수

다음 API 함수는 프로필 관리에 유용합니다.

함수 Description
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 지정된 프로필 관리 scope 열거 조건을 충족하는 모든 색 프로필을 열거합니다.
WcsEnumColorProfilesSize WcsEnumColorProfiles 함수가 색 프로필을 열거하는 데 필요한 버퍼의 크기(바이트)를 반환합니다.
WcsGetDefaultColorProfile 디바이스에 대한 기본 색 프로필을 검색하거나 디바이스가 지정되지 않은 경우 디바이스 독립적 기본값을 검색합니다.
WcsGetDefaultColorProfileSize NULL 종결자를 포함하여 디바이스의 기본 색 프로필 이름의 크기(바이트)를 반환합니다.
WcsGetDefaultRenderingIntent 지정된 프로필 관리 scope 기본 렌더링 의도를 검색합니다.
WcsGetUsePerUserProfiles 사용자가 지정된 디바이스에 대해 사용자별 프로필 연결 목록을 사용하도록 선택했는지 여부를 결정합니다.
WcsOpenColorProfileW 지정된 색 프로필에 대한 핸들을 만듭니다.
WcsSetDefaultColorProfile 지정된 프로필 관리 scope 지정된 프로필 형식의 기본 색 프로필 이름을 설정합니다.
WcsSetDefaultRenderingIntent 지정된 프로필 관리 scope 기본 렌더링 의도를 설정합니다.
WcsSetUsePerUserProfiles 사용자가 지정된 디바이스에 사용자별 프로필 연결 목록을 사용할지 여부를 지정할 수 있습니다.

 

프로필 사용량 함수

프로필 사용 API는 ICC 또는 WCS XML 프로필, 프로필 핸들 또는 렌더링 의도를 매개 변수로 사용하는 ICM2의 API와 애플리케이션 색 관리 코드에 대한 WCS 프로필 지원을 위한 새 API 집합입니다.

 

프로필 및 프로필 관리 함수

프로필 관리 워크플로는 애플리케이션 코드를 수정하기 위한 추가 기능을 제공하기 위해 보강된 기존 ICM2 API를 기반으로 합니다.

프로필에는 색 처리 알고리즘에서 서로 다른 색 공간 간에 색을 변환하는 데 사용되는 정보가 포함되어 있습니다. 프로필 관리는 색상 처리 모델에서 다양한 단계에서 사용할 프로필을 쿼리하고 지정하여 다양한 색상 특성을 가진 다양한 주변 장치의 색 출력을 관리하는 방법을 제공합니다.

프로필 관리는 다음과 같은 기능 집합을 제공합니다.

 

  1. 시스템에서 사용할 색 프로필 설치

 

  1. 하나 이상의 설치된 색 프로필을 특정 디바이스와 연결합니다.

 

  1. 특정 색 처리 단계에서 사용할 수 있는 프로필 중 특정 형식의 기본 색 프로필을 선택합니다. 이는 연결된 프로필 중 디바이스 또는 디바이스별이 아닌 시스템에 설치된 프로필 중 디바이스에 대한 것일 수 있습니다.

 

  1. 시스템에 설치된 프로필 중 특정 조건을 충족하는 색 프로필을 열거합니다.

WCS 프로필 파일 이름 확장명은 DMP의 경우 ".cdmp", CAMP의 경우 ".camp", GMMP의 경우 ".gmmp"입니다.

 

사용자별 프로필 관리 및 LUA 컨텍스트에서 실행 사용

현재 문서에 설명된 디자인의 목표는 다음과 같습니다.

 

  1. 레거시 ICM2 구현은 사용자별 프로필 관리를 지원하지 않습니다. 다른 사용자는 자신의 프로필 설정을 가질 수 없습니다. Vista에서 WCS 프로필 관리 인프라를 사용하면 사용자가 대부분의 기능에 대해 개별 프로필 설정을 구성할 수 있습니다.

 

  1. 모든 레거시 ICM2 프로필 관리 API는 시스템 전체에서 설정을 수정하고 관리 권한이 필요합니다. Windows Vista에서 모든 사용자는 대부분의 경우 LUA(최소 권한 사용자 계정) 설정에서 실행되며 관리자는 시스템 전체 설정을 수정하는 애플리케이션을 실행하기 위해 선택적으로 권한을 상승시킬 수 있습니다. WCS 프로필 관리에서 모든 사용자별 프로필 설정은 LUA 컨텍스트에서 구성할 수 있습니다. 프로필 관리 애플리케이션은 LUA 설정으로 실행되어 사용 scope 늘리고 시스템 보안이 손상되지 않도록 할 수 있습니다.

Vista의 프로필 관리는 레거시 ICM2 인프라에 대해 다음과 같은 향상된 기능을 제공합니다.

 

  1. 디바이스와의 프로필 연결, 기본 프로필 설정 및 사용자별 및 시스템 전체 scope 프로필 열거를 사용할 수 있습니다.

 

  1. 프로필을 설치하는 것은 시스템 전체로 유지되며 관리자 권한이 필요합니다. 디바이스 설치는 시스템 전체이며 관리 권한이 필요하기 때문에 디바이스 설치 중에 프로필 설치와 일치합니다.

 

LUA 컨텍스트에서 디바이스를 설치할 수 있는지 여부는 해당 디바이스 클래스에 대해 지원되는 항목에 특히 중요합니다. 예를 들어 Vista에서는 드라이버 저장소 정책을 사용하여 도메인 관리자가 드라이버를 드라이버 저장소에 복사할 수 있는 권한이 사용자에게 부여된 경우 LUA 컨텍스트에서 프린터 설치를 수행할 수 있습니다. 스풀러 컨텍스트에서 설치가 수행되므로 색 프로필 관리 인프라는 이와 관련하여 특별한 작업을 수행할 필요가 없습니다.

 

  1. 사용자별 scope 프로필 설정을 수정하는 작업은 LUA 컨텍스트에서 수행할 수 있습니다. 시스템 차원의 수정에는 관리 권한이 필요합니다. 구성 정보를 읽어야 하는 프로필 관리 작업은 사용자별 및 시스템 전체 설정 모두에 대한 LUA 컨텍스트에서 수행할 수 있습니다.

프로필 관리 scope 사용자별 또는 시스템 전체에서 수행된 작업의 scope 나타냅니다.

각 작업에 대해 LUA 컨텍스트에서 수행할 수 있는지 여부를 나타냅니다. LUA 컨텍스트에서 작업을 수행할 수 없는 경우 해당 프로필 관리 API는 액세스가 거부된 실패를 반환합니다. Color Management 제어판 같은 API를 사용하는 애플리케이션은 사용자가 OTS 또는 동의 UI를 사용하여 관리 컨텍스트로 승격한 다음, 작업이 성공할 수 있도록 관리자 권한 컨텍스트에서 API를 호출할 수 있습니다.

작업

프로필 관리 범위

사전 조건

사후 조건

LUA 컨텍스트의 실행 파일

${ROWSPAN2}$Install 프로필${REMOVE}$

시스템 전체

프로필이 복사되고 시스템에 설치되며 사용할 수 있습니다. 프로필은 모든 사용자에 대해 시스템 전체 및 현재 사용자 scope 열거할 수 있습니다.

디바이스 드라이버 설치 중 드라이버 설치 정책의 적용을 받습니다. 아니요, 복구할 수 없습니다.

현재 사용자

지원되지 않음

${ROWSPAN2}$Uninstall 프로필${REMOVE}$

시스템 전체

프로필이 시스템에 설치됨

프로필이 시스템에서 제거되고 프로필 저장소에서 선택적으로 삭제됩니다. 프로필은 더 이상 사용할 수 없으며 scope 열거할 수 없습니다.

No

현재 사용자

지원되지 않음

${ROWSPAN2}디바이스가 있는 프로필 $Associate${REMOVE}$

시스템 전체

프로필이 설치되고 ICC 또는 CDMP 형식입니다.

프로필은 모든 사용자가 디바이스에서 사용할 수 있습니다. 시스템 차원의 scope 열거 가능하며 디바이스와 연결된 모든 사용자에 대한 현재 사용자 scope.

No

현재 사용자

프로필이 설치됩니다. 프로필이 시스템 차원의 scope 디바이스에 이미 연결되어 있고 ICC 또는 CDMP 유형인지 여부는 중요하지 않습니다.

프로필은 현재 사용자가 디바이스에서 사용할 수 있습니다. 디바이스와 연결된 현재 사용자 scope(시스템 전체 연결이 없는 경우)에서만 열거할 수 있습니다.

Yes

${ROWSPAN2}디바이스에서 프로필 $Disassociate${REMOVE}$

시스템 전체

프로필은 시스템 전체 scope 디바이스와 연결되며 ICC 또는 CDMP 유형입니다.

프로필은 더 이상 사용할 수 없습니다(현재 사용자 scope 이 연결이 있는 사용자도 제외). 시스템 전체 scope 열거할 수 없습니다. 그러나 scope 이 연결이 있는 사용자의 경우 현재 사용자 scope 열거할 수 있습니다.

No

현재 사용자

프로필은 현재 사용자 scope 디바이스와 연결되며(시스템 전체 scope 연결되어 있는지 여부에 관계없이) ICC 또는 CDMP 유형입니다.

프로필은 현재 사용자가 더 이상 사용할 수 없거나 디바이스에 연결된 것으로 열거할 수 없습니다(시스템 전체 scope 디바이스에 연결되지 않은 경우).

Yes

${ROWSPAN2}디바이스의 기본값으로 형식(DMP 또는 ICC)에 대한 프로필 $Set${REMOVE}$

시스템 전체

프로필은 ICC 또는 CDMP 유형입니다.

프로필은 현재 사용자 scope 이 설정을 재정의한 사용자를 제외한 모든 사용자에 대해 디바이스의 특정 유형에 대해 기본적으로 사용됩니다. (아직 그렇지 않은 경우 프로필이 설치되어 디바이스 시스템 전체에 연결됩니다.)

No

현재 사용자

프로필은 ICC 또는 CDMP 유형입니다.

프로필은 시스템 전체 기본값에 관계없이 현재 사용자의 경우 디바이스의 특정 형식에 대해 기본적으로 사용됩니다. (프로필이 설치되어 현재 사용자의 디바이스에 연결되어 있습니다(아직 그렇지 않은 경우).

예, 프로필이 이미 설치된 경우

${ROWSPAN2}형식(ICC, DMP, CAMP, GMMP) 및 하위 형식 조합에 대한 프로필을 전역 기본값으로 $Set${REMOVE}$

시스템 전체

ICC 및 CDMP 프로필만 디바이스와 연결할 수 있습니다.

프로필은 기본적으로 특정 형식에 사용됩니다. 사용자는 현재 사용자 scope 이 설정을 재정의할 수 있습니다. (아직 그렇지 않은 경우 프로필이 설치됩니다.)

No

현재 사용자

ICC 및 CDMP 프로필만 디바이스와 연결할 수 있습니다.

프로필은 현재 사용자의 특정 형식에 대해 기본적으로 사용됩니다. (아직 그렇지 않은 경우 프로필이 설치됩니다.)

예, 프로필이 이미 설치되어 있는 경우입니다.

${ROWSPAN2}는 특정 기본 프로필 설정에 대한 현재 사용자 재정의를 $Erase 시스템 기본값이 현재 사용자 scope 대해서도 항상 사용(대체)되도록 합니다.${REMOVE}$

시스템 전체

해당 없음

현재 사용자

기본 프로필 설정에 대한 현재 사용자 쿼리의 경우에도 시스템 전체 설정이 사용하도록 반환됩니다.

Yes

${ROWSPAN2}$Enumerate 특정 조건(예: 디바이스 클래스, 프로필 클래스 등)을 충족하는 설치된 프로필 ${REMOVE}$

시스템 전체

ICC 및 CDMP 프로필만 디바이스에 연결하고 열거할 수 있습니다.

시스템 전체 scope 지정된 조건을 충족하고 설치되어 있는 프로필이 열거됩니다.

Yes

현재 사용자

ICC 및 CDMP 프로필만 디바이스와 연결될 수 있으므로 디바이스에 대해 열거할 수 있습니다.

시스템 전체 scope 지정된 조건을 충족하고 설치되어 있는 프로필이 열거됩니다.

Yes

${ROWSPAN2}$Enumerate 디바이스 클래스 및 프로필 클래스와 같은 특정 조건을 충족하는 특정 디바이스와 연결된 프로필${REMOVE}$

시스템 전체

ICC 및 CDMP 프로필만 디바이스에 연결하고 열거할 수 있습니다.

시스템 전체 scope 디바이스와 연결되고 시스템 전체 scope 지정된 조건을 충족하는 프로필이 열거됩니다.

Yes

현재 사용자

ICC 및 CDMP 프로필만 디바이스에 연결하고 열거할 수 있습니다.

시스템 전체 연결을 포함하고 현재 사용자 scope 지정된 조건을 충족하는 현재 사용자 scope 디바이스와 연결된 프로필이 열거됩니다.

Yes

 

유효한 색 프로필 형식은 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 프로필만 유효합니다.

 

WcsSetDefaultColorProfile을 호출하여 ICC 프로필을 RGB 작업 공간 또는 사용자 지정 작업 공간의 기본 프로필로 설정하는 경우 클래스가 "spac" 또는 "disp"이고 색 공간이 "RGB"인 ICC 프로필만 유효합니다.

 

아키텍처는 위의 열거형 및 표에 설명된 대로 작업의 요구 사항에 따라 설계되었습니다.

프로필 관리 공용 API 계층

프로필 관리 scope 레거시 ICM2 API에서 지원되지 않으므로 프로필 관리 scope 시스템 전체 또는 현재 사용자로 정의하는 새로운 WCS 프로필 관리 API 집합이 필요합니다. ? 레거시 ICM2 API는 이전 버전과의 호환성을 위해 계속 지원되며 호출에 암시적인 프로필 관리 scope 작동합니다. o 현재 사용자 scope 작동하는 ICM2 API? 이는 WCS 프로필 관리에서 시스템 전체 및 현재 사용자 scope 모두 지원되는 작업용입니다. 레거시 ICM2 API는 프로필 관리 scope 현재 사용자로 사용하여 새 WCS API를 호출합니다. 이는 레거시 애플리케이션에서 사용자별 설정을 사용하도록 설정하고 LUA 컨텍스트에서 대부분의 작업을 실행하기 때문에 사용자 관점에서 의미가 있습니다. o 시스템 전체 scope 작동하는 ICM2 API? 이는 시스템 차원의 scope만 지원하는 작업(프로필 설치 및 프로필 제거)을 위한 것입니다. 새 WCS 프로필 관리 API가 만들어지지 않으며 기존 API를 수정할 수 있습니다.

프로필 관리 작업의 기본 구현은 다음 구성 데이터 엔터티에서 작동하여 색 관리 기능을 제공하는 색 처리 알고리즘에 대한 컨텍스트를 만듭니다. 디바이스별 또는 전역(디바이스 독립적) 설정입니다. o 디바이스별 구성 데이터: ? 특정 디바이스와 연결된 프로필 목록입니다. ? 디바이스와 연결된 다양한 프로필 유형에 대한 기본 프로필입니다. ? 열거형에 사용되는 프로필의 일치 모드입니다. o 전역 구성 데이터: ? 시스템에 설치된 프로필 목록입니다. ? 다양한 프로필 유형에 대한 전역 기본 프로필입니다. ? 구성 데이터 스토리지의 기본 구현은 시스템 전체 또는 현재 사용자일 수 있는 구성 데이터(디바이스 독립적 또는 디바이스별)에 대한 스토리지 scope 사용합니다. 프로필 관리 scope 다릅니다. 현재 사용자 프로필 관리 scope 작업으로 인해 해당 작업에 대한 현재 사용자 설정이 없는 경우 시스템 전체 스토리지 scope 읽을 수 있습니다. ? ICM2/WCS API 계층은 적절한 스토리지 scope 사용하여 데이터를 가져오고 설정하기 위해 이 스토리지 계층에서 를 호출합니다. 스토리지 계층은 프로필 관리 scope 투명합니다. 현재 사용자 및 시스템 전체 스토리지 범위의 데이터를 결합하여 API 호출자가 지정한 프로필 관리 scope 따라 구성을 만들거나 업데이트하는 논리입니다. 이 논리는 ICM2/WCS API 계층에 있습니다.

디바이스별 스토리지 계층

인쇄, 캡처 또는 디스플레이와 같은 다양한 디바이스 클래스의 스토리지는 서로 다를 수 있습니다. 예를 들어 인쇄 디바이스의 구성 데이터는 SetPrinterDataEx 및 GetPrinterDataEx와 같은 표준 인쇄 API를 사용하여 저장해야만 프로필을 복사할 수 있고 지점 및 인쇄 연결 중에 설정을 클라이언트 컴퓨터로 전송할 수 있습니다. ? 이 계층은 미리 정의된 공통 인터페이스를 사용하여 저장소를 열고, 데이터를 가져오고, 데이터를 설정하고, 저장소를 닫는 기능을 내보내므로 프로필 관리 구성 스토리지 계층은 해당 디바이스에 대해 데이터가 저장되는 방식을 투명하게 유지하면서 이를 호출할 수 있습니다.

다음 다이어그램은 이 아키텍처를 보여 줍니다.

프로필 관리 공용 API 계층

${ROWSPAN2}$Legacy Vista에서 시스템 차원의 프로필 관리 scope(설치, 제거 및 색 디렉터리 가져오기)만 지원하는 작업에 대한 ICM2 API입니다. 적절한 스토리지 scope 구성 스토리지 계층을 호출합니다.${REMOVE}$

Vista에서 시스템 전체 및 현재 사용자 프로필 관리 scope 모두 지원하는 작업에 대한 레거시 ICM2 API입니다(색 디렉터리 설치, 제거 및 가져오기 이외의 모든 작업). 현재 사용자 scope 암시적으로 작동하고 프로필 관리 scope 현재 사용자로 새 WCS API를 호출합니다.

시스템 전체 및 현재 사용자 프로필 관리 scope 지원되는 새로운 WCS API. 적절한 스토리지 scope 사용하여 구성 스토리지 계층을 호출합니다.

 

프로필 관리 구성 스토리지 계층

디바이스 독립적 글로벌 구성 루틴

디바이스별 구성 루틴

${ROWSPAN3}시스템 전체 및 현재 사용자 스토리지 scope 지원되는 설치 및 디바이스 독립적 기본 프로필 설정 관리를 $Profile.${REMOVE}$

시스템 전체 및 현재 사용자 스토리지 scope 지원되는 디바이스 연결 및 디바이스별 기본 프로필 설정 관리.

Device-Specific Storage 계층

특정 스토리지 인쇄

특정 스토리지 표시

특정 스토리지 캡처

 

Vista의 시스템 전체 프로필 관리 scope 지원하는 작업에 대한 레거시 ICM2 API는 동작을 변경하지 않습니다. 설치 및 제거 작업은 이 범주에 속합니다.

시스템 전체 및 현재 사용자 프로필 관리 scope 모두 지원하는 작업에 대한 레거시 ICM2 API는 현재 사용자 설정을 쿼리하고 구성하도록 동작을 변경했습니다. 설치 및 제거 이외의 모든 작업은 이 범주에 속합니다.