다음을 통해 공유


COLORMATCHSETUPW 구조체(icm.h)

COLORMATCHSETUP 구조에는 SetupColorMatchingW 함수가 ColorManagement 대화 상자를 초기화하는 데 사용하는 정보가 포함되어 있습니다. 사용자가 대화 상자를 닫은 후 SetupColorMatching 은 이 구조에서 사용자의 선택 항목에 대한 정보를 반환합니다.

구문

typedef struct _tagCOLORMATCHSETUPW {
  DWORD         dwSize;
  DWORD         dwVersion;
  DWORD         dwFlags;
  HWND          hwndOwner;
  PCWSTR        pSourceName;
  PCWSTR        pDisplayName;
  PCWSTR        pPrinterName;
  DWORD         dwRenderIntent;
  DWORD         dwProofingIntent;
  PWSTR         pMonitorProfile;
  DWORD         ccMonitorProfile;
  PWSTR         pPrinterProfile;
  DWORD         ccPrinterProfile;
  PWSTR         pTargetProfile;
  DWORD         ccTargetProfile;
  DLGPROC       lpfnHook;
  LPARAM        lParam;
  PCMSCALLBACKW lpfnApplyCallback;
  LPARAM        lParamApplyCallback;
} COLORMATCHSETUPW, *PCOLORMATCHSETUPW, *LPCOLORMATCHSETUPW;

멤버

dwSize

구조체의 크기입니다. sizeof(COLORMATCHSETUP)로 설정해야 합니다.

dwVersion

COLORMATCHSETUP 구조체의 버전입니다. COLOR_MATCH_VERSION 설정해야 합니다.

dwFlags

대화 상자를 초기화하는 데 사용되는 비트 플래그 집합입니다. 항목에서 0으로 설정하면 모든 컨트롤은 기본 상태를 가정합니다.

대화 상자가 반환되면 이러한 플래그는 사용자의 입력을 나타내도록 설정됩니다.

이 멤버는 다음 플래그의 조합을 사용하여 설정할 수 있습니다.

플래그 의미
CMS_DISABLEICM 항목에 설정된 경우 이 플래그는 다른 모든 컨트롤을 사용하지 않도록 설정하여 "색 관리 사용" 검사 상자가 선택 취소되었음을 나타냅니다. 종료 시 설정된 경우 사용자가 색 관리를 수행하지 않으려는 것을 의미합니다.
CMS_ENABLEPROOFING 항목에 설정된 경우 이 플래그는 언어 교정 컨트롤을 사용하도록 설정하고 언어 교정 검사 확인란을 선택했음을 나타냅니다. 종료 시 설정된 경우 사용자가 선택한 프린터와 다른 대상 디바이스에 대해 색 관리를 수행하려고 했음을 의미합니다.
CMS_SETRENDERINTENT 항목에 설정된 경우 이 플래그는 dwRenderIntent 멤버에 렌더링 의도 컨트롤을 초기화하는 데 사용할 값이 포함되어 있음을 나타냅니다. 그렇지 않으면 컨트롤이 기본적으로 그림 렌더링으로 설정됩니다. 이 플래그는 WCS를 사용하도록 설정된 경우 종료 시 설정됩니다.
CMS_SETPROOFINTENT CMS_ENABLEPROOFING 설정되지 않는 한 무시됩니다. 항목에서 설정되고 CMS_ENABLEPROOFING 설정된 경우 이 플래그는 dwProofingIntent 멤버를 사용하여 대상 렌더링 의도 컨트롤을 초기화할 수 있음을 나타냅니다. 그렇지 않으면 컨트롤이 기본적으로 그림 렌더링으로 설정됩니다. 이 플래그는 언어 교정을 사용하는 경우 종료 시 설정됩니다.
CMS_SETMONITORPROFILE 항목에 설정된 경우 이 플래그는 pMonitorProfile 멤버에 명명된 색 관리 프로필이 모니터 프로필 컨트롤의 초기 선택 항목임을 나타냅니다. 지정된 프로필이 모니터와 연결되지 않은 경우 이 플래그는 무시되고 모니터의 기본 프로필이 사용됩니다.
CMS_SETPRINTERPROFILE 항목에 설정된 경우 이 플래그는 pPrinterProfile 멤버에 명명된 색 관리 프로필이 프린터 프로필 컨트롤의 초기 선택 항목임을 나타냅니다. 지정된 프로필이 프린터와 연결되어 있지 않으면 이 플래그가 무시되고 프린터의 기본 프로필이 사용됩니다.
CMS_SETTARGETPROFILE 항목에 설정된 경우 이 플래그는 pTargetProfile 멤버에 명명된 색 프로필이 대상 프로필 컨트롤의 초기 선택 항목임을 나타냅니다. 지정된 프로필이 설치되어 있지 않으면 이 플래그가 무시되고 프린터의 기본 프로필이 사용됩니다. 프린터에 기본 프로필이 없으면 첫 번째 프로필이 사전순으로 표시됩니다.
CMS_USEHOOK 이 플래그는 lpfnHook 멤버에 후크 프로시저의 주소를 포함하도록 지정하고 lParam 멤버는 WM_INITDIALOG 메시지를 보낼 때 후크 프로시저에 전달할 값을 포함합니다.
CMS_MONITOROVERFLOW 색 관리를 사용하도록 설정하고 ccMonitorProfile 에 지정된 버퍼 크기가 선택한 프로필 이름에 충분하지 않은 경우 이 플래그는 종료 시 설정됩니다. GetLastError 는 이러한 경우 ERROR_INSUFFICIENT_BUFFER 반환합니다.
CMS_PRINTERROVERFLOW 이 플래그는 색 관리를 사용하도록 설정하고 ccPrinterProfile 에 지정된 버퍼 크기가 선택한 프로필 이름에 충분하지 않은 경우 종료 시 설정됩니다. GetLastError 는 이러한 경우 ERROR_INSUFFICIENT_BUFFER 반환합니다.
CMS_TARGETOVERFLOW 언어 교정을 사용하도록 설정하고 ccTargetProfile 에 지정된 버퍼 크기가 선택한 프로필 이름에 충분하지 않은 경우 이 플래그는 종료 시 설정됩니다. GetLastError 는 이러한 경우 ERROR_INSUFFICIENT_BUFFER 반환합니다.
CMS_USEAPPLYCALLBACK 항목에 설정된 경우 이 플래그는 SetupColorMatching 함수가 PCMSCALLBACKW 함수를 호출해야 했음을 나타냅니다. 콜백 함수의 주소는 lpfnApplyCallback에 포함되어 있습니다.
CMS_USEDESCRIPTION 항목에 설정된 경우 이 플래그는 SetupColorMatching 함수에 프로필 설명 태그에 포함된 프로필 설명을 검색하도록 지시합니다(ICC 프로필 형식 사양 v3.4 참조). 색 관리 공통 대화 상자의 모니터 프로필, 프린터 프로필, 에뮬레이트된 디바이스 프로필 편집 상자에 삽입됩니다.

hwndOwner

대화 상자의 소유자에 대한 창 핸들이거나, 대화 상자에 소유자가 없는 경우 NULL 입니다.

pSourceName

색 관리를 수행할 항목의 원본 프로필을 설명하는 애플리케이션 지정 문자열에 대한 포인터입니다. NULL인 경우 이미지 소스 컨트롤은 Windows 기본 색 프로필의 이름을 표시합니다.

pDisplayName

색 관리에 사용할 모니터의 이름을 지정하는 문자열을 가리킵니다. 유효한 모니터의 이름이 아닌 경우 첫 번째 열거형 모니터가 사용됩니다.

pPrinterName

이미지를 렌더링할 프린터의 이름을 지정하는 문자열을 가리킵니다. 올바른 프린터 이름이 아닌 경우 기본 프린터가 사용되며 대화 상자에서 이름이 지정됩니다.

dwRenderIntent

원하는 색 관리 유형입니다. 유효한 값은 다음과 같습니다.

INTENT_PERCEPTUAL

INTENT_SATURATION

INTENT_RELATIVE_COLORIMETRIC

INTENT_ABSOLUTE_COLORIMETRIC

자세한 내용은 렌더링 의도를 참조하세요.

dwProofingIntent

교정된 이미지에 원하는 색 관리 유형입니다. 유효한 값은 다음과 같습니다.

INTENT_PERCEPTUAL

INTENT_SATURATION

INTENT_RELATIVE_COLORIMETRIC

INTENT_ABSOLUTE_COLORIMETRIC

자세한 내용은 렌더링 의도를 참조하세요.

pMonitorProfile

사용자가 선택한 모니터 프로필의 이름을 배치할 버퍼에 대한 포인터입니다. CMS_SETMONITORPROFILE 플래그를 사용하는 경우 이 플래그를 사용하여 대화 상자가 처음 표시될 때 모니터 기본값 이외의 프로필을 선택할 수도 있습니다.

ccMonitorProfile

pMonitorProfile 멤버가 가리키는 버퍼의 크기(문자)입니다. 버퍼가 선택한 이름을 보유할 만큼 크지 않으면 이름이 이 크기로 잘리고 ERROR_INSUFFICIENT_BUFFER 반환됩니다. MAX_PATH 크기의 버퍼는 항상 작동합니다.

pPrinterProfile

사용자가 선택한 프린터 프로필의 이름을 배치할 버퍼를 가리킵니다. CMS_SETPRINTERPROFILE 플래그를 사용하는 경우 대화 상자가 처음 표시될 때 이 플래그를 사용하여 프린터 기본값 이외의 프로필을 선택할 수도 있습니다.

ccPrinterProfile

pPrinterProfile 멤버가 가리키는 버퍼의 크기(문자)입니다. 버퍼가 선택한 이름을 보유할 만큼 크지 않으면 이름이 이 크기로 잘리고 ERROR_INSUFFICIENT_BUFFER 반환됩니다. MAX_PATH 크기의 버퍼는 항상 작동합니다.

pTargetProfile

교정을 위해 사용자가 선택한 대상 프로필의 이름을 배치할 버퍼를 가리킵니다. CMS_SETTARGETPROFILE 플래그를 사용하는 경우 대화 상자가 처음 표시될 때 이 플래그를 사용하여 프린터 기본값 이외의 프로필을 선택할 수도 있습니다.

ccTargetProfile

pTargetProfile 멤버가 가리키는 버퍼의 크기(문자)입니다. 버퍼가 선택한 이름을 보유할 만큼 크지 않으면 이름이 이 크기로 잘리고 ERROR_INSUFFICIENT_BUFFER 반환됩니다. MAX_PATH 크기의 버퍼는 항상 작동합니다.

lpfnHook

CMS_USEHOOK 플래그가 설정된 경우 이 멤버는 대화 상자의 메시지를 필터링하거나 처리할 수 있는 대화 프로시저의 주소입니다( DialogProc 참조). 후크 프로시저는 WM_INITDIALOG 전에 발급된 메시지를 받지 않습니다. 시스템 제공 대화 프로시저에서 메시지를 처리한 후 WM_INITDIALOG 메시지에서 호출됩니다. 다른 모든 메시지에서 후크 프로시저는 시스템 제공 프로시저 전에 메시지를 받습니다. 후크 프로시저가 이러한 메시지에 TRUE 를 반환하는 경우 시스템 제공 프로시저가 호출되지 않습니다.

후크 프로시저는 EndDialog 함수를 호출할 수 있습니다.

lParam

CMS_USEHOOK 플래그가 설정된 경우 이 멤버는 WM_INITDIALOG 메시지가 처리될 때 애플리케이션에서 제공하는 후크 프로시저에 lParam 매개 변수로 전달됩니다.

lpfnApplyCallback

색 관리 대화 상자의 적용 단추를 선택할 때 호출되는 콜백 함수에 대한 포인터를 포함합니다. 콜백 함수가 제공되지 않으면 이 멤버를 NULL로 설정해야 합니다. PCMSCALLBACKW를 참조하세요.

lParamApplyCallback

lParam 매개 변수를 통해 ApplyCallbackFunction 함수에 전달될 값을 포함합니다. 값의 의미와 콘텐츠는 애플리케이션에 의해 지정됩니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 icm.h

참고 항목