드라이버 제공 속성 시트 수정 페이지

Important

최신 인쇄 플랫폼은 Windows에서 프린터와 통신하는 데 선호되는 수단입니다. 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하려면 MICROSOFT의 IPP 받은 편지함 클래스 드라이버와 PSA(인쇄 지원 앱)를 사용하는 것이 좋습니다.

자세한 내용은 최신 인쇄 플랫폼 및 인쇄 지원 앱 디자인 가이드를 참조하세요.

UI 플러그 인은 IPrintOemUI::CommonUIProp 메서드 및 콜백 함수를 구현하여 Unidrv 제공 또는 Pscript5 제공 속성 시트 페이지를 수정할 수 있습니다.

UI 플러그 인은 IPrintOemUI::CommonUIProp 메서드를 사용하여 프린터 속성 시트의 장치 설정 페이지 또는 문서 속성 시트레이아웃, 용지/품질고급 페이지 내에서 CPSUI가 추가, 제거 또는 바꿀 수 있는 옵션 항목 집합을 지정합니다.

OEMCUIPCALLBACK 형식의 콜백 함수는 사용자 지정 옵션 항목에 대한 사용자 수정을 처리하는 데 사용됩니다.

옵션 항목 추가

UI 플러그 인은 드라이버에서 제공하는 OPTITEM 구조의 배열에 배치하여 새 옵션 항목을 설명해야 합니다. 드라이버의 프린터 인터페이스 DLL은 UI 플러그 인의 IPrintOemUI::CommonUIProp 메서드를 두 번 호출합니다. 메서드가 처음 호출되면 필요한 OPTITEM 구조의 수를 반환해야 합니다. 드라이버는 OPTITEM 배열에 대한 공간을 할당하고 OEMCUIPPARAM 구조의 배열을 설명합니다. 드라이버는 IPrintOemUI::CommonUIProp을 다시 호출하여 OEMCUIPPARAM 구조체의 주소를 제공하므로 메서드는 옵션 설명이 포함된 OPTITEM 구조를 로드할 수 있습니다.

옵션 항목 제거

Unidrv 또는 Pscript5에서 제공하는 속성 시트 페이지에서 옵션을 제거하려면 UI 플러그 인의 IPrintOemUI::CommonUIProp 메서드는 OEMCUIPPARAM 구조체가 가리키는 OPTITEM 구조체의 배열을 트래버스할 수 있습니다. 속성 시트에서 제거하려는 각 옵션에 대해 OPTITEM 구조체의 OPTIF_HIDE 플래그를 설정할 수 있습니다. (이 옵션은 실제로 제거되지 않습니다. 사용자가 기본값을 변경할 수 없도록 사용자로부터 옵션을 숨깁니다.)

옵션 항목 바꾸기

Unidrv 또는 Pscript에서 제공하는 속성 시트 페이지의 옵션을 바꾸려면 이전 옵션 항목 제거 섹션에 표시된 지침에 따라 기존 옵션 항목을 제거한 다음 이전 옵션 항목 추가 섹션의 지침에 따라 이전 옵션 항목을 대체할 새 옵션 항목을 만들어야 합니다.

사용자 지정된 옵션 값에 대한 수정 처리

사용자 지정 옵션 항목에 대한 사용자 수정을 처리하려면 하나 이상의 콜백 함수를 제공해야 합니다. 문서 속성 시트와 프린터 속성 시트 모두에 대한 옵션을 처리하는 단일 콜백 함수를 지정하거나 각각에 대해 별도의 함수를 지정할 수 있습니다. 이러한 콜백은 OEMCUIPCALLBACK 형식입니다.

콜백 함수는 OEMCUIPPARAM 구조체에 주소를 배치하여 지정됩니다. UI 플러그 인은 IPrintOemUI::CommonUIProp 메서드에 대한 입력으로 이 구조체의 주소를 받습니다.

사용자가 프린터 속성 시트 또는 문서 속성 시트를 열고 옵션을 수정하면 CPSUI 는 프린터 드라이버의 프린터 인터페이스 DLL을 호출합니다. 이 DLL은 자체 OPTITEM 구조에 포함된 옵션 값을 처리합니다. 그런 다음 각 UI 플러그 인에 대해 프린터 인터페이스 DLL은 이전에 IPrintOemUI::CommonUIProp에서 지정한 OEMCUIPCALLBACK 형식 콜백 함수를 호출합니다.