다음을 통해 공유


DrvIcmCreateColorTransform 함수(winddi.h)

DrvIcmCreateColorTransform 함수는 ICM 색 변환을 만듭니다.

구문

HANDLE DrvIcmCreateColorTransform(
  [in]           DHPDEV           dhpdev,
  [in]           LPLOGCOLORSPACEW pLogColorSpace,
  [in, optional] PVOID            pvSourceProfile,
  [in]           ULONG            cjSourceProfile,
  [in]           PVOID            pvDestProfile,
  [in]           ULONG            cjDestProfile,
  [in, optional] PVOID            pvTargetProfile,
  [in]           ULONG            cjTargetProfile,
  [in]           DWORD            dwReserved
);

매개 변수

[in] dhpdev

물리적 디바이스의 PDEV에 대한 핸들입니다.

[in] pLogColorSpace

논리적 색 공간 구조체에 대한 포인터입니다. LOGCOLORSPACEW 구조체는 Microsoft Windows SDK 설명서에 정의되어 있습니다. pvSourceProfileNULL인 경우 드라이버는 이 구조체에서 원본 색 공간 정보를 가져와야 합니다.

[in, optional] pvSourceProfile

원본 프로필의 메모리 맵에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[in] cjSourceProfile

원본 프로필 메모리 맵의 크기(바이트)를 지정합니다. pvSourceProfileNULL이면 이 매개 변수를 0으로 설정해야 합니다.

[in] pvDestProfile

대상 프로필의 메모리 맵에 대한 포인터입니다.

[in] cjDestProfile

대상 프로필 메모리 맵의 크기(바이트)를 지정합니다.

[in, optional] pvTargetProfile

대상 프로필의 메모리 맵에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

[in] cjTargetProfile

대상 프로필 메모리 맵의 크기(바이트)를 지정합니다. pvTargetProfileNULL이면 이 매개 변수를 0으로 설정해야 합니다.

[in] dwReserved

0으로 설정해야 하는 예약된 매개 변수입니다.

반환 값

DrvIcmCreateColorTransform 은 성공 시 생성된 변환에 대한 핸들을 반환합니다. 그렇지 않으면 오류를 보고하고 NULL을 반환합니다.

설명

드라이버는 다음과 같이 프로필 데이터에서 색 변환을 만듭니다.

  • 드라이버는 NULL이 아닌 경우 pvSourceProfile이 가리키는 원본 프로필을 사용해야 합니다. 그렇지 않으면 드라이버는 pLogColorSpace 가 원본 색 공간 정보를 가리키는 구조의 데이터를 사용해야 합니다.
  • 드라이버는 대상 프로필을 수신하지만 대상 프로필은 수신하지 않으면 지정된 원본 색 공간에서 지정된 대상 색 공간으로 색을 변환하는 데 필요한 데이터를 저장해야 합니다.
  • 드라이버는 대상 프로필과 대상 프로필을 모두 받으면 지정된 원본 색 공간에서 지정된 대상 색 공간으로 색을 변환하고 대상 색 공간에서 대상 색 공간으로 다시 변환하는 데 필요한 데이터를 저장해야 합니다. 이 시나리오에서 드라이버의 디바이스는 이미지를 교정할 수 있는 대상 디바이스입니다. 그런 다음 드라이버는 교정 이미지의 색 공간을 대상 디바이스의 색 공간으로 변환할 수 있어야 합니다.
대상 프로필을 지정했는지 여부에 관계없이 드라이버의 디바이스는 항상 대상 디바이스입니다.

제공된 프로필은 ICC 프로필 형식의 버전 2.10을 준수합니다. 드라이버가 지정된 형식을 이해하지 못하는 경우 호출에 실패해야 합니다.

드라이버는 각 프로필의 전체 메모리 맵에 안전하게 액세스할 수 있습니다. pvSourceProfile, pvDestProfilepvTargetProfile 포인터는 DrvIcmCreateTransform 호출을 scope 동안에만 유효합니다.

ICM 지원을 보고하는 드라이버는 이 함수를 구현해야 합니다. 드라이버는 DEVINFO 구조체의 flGraphicsCaps 멤버에서 GCAPS_ICM 플래그를 설정하여 ICM에 대한 지원을 나타냅니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 winddi.h(Winddi.h 포함)

추가 정보

DrvIcmDeleteColorTransform