드라이버 제공 속성 시트 페이지 바꾸기

Important

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

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

IPrintCoreUI2 COM 인터페이스핵심 드라이버의 표준 UI 페이지를 완전히 바꾸려는 경우 Windows XP 이상 버전의 Windows 운영 체제에서 실행되는 Pscript5 UI 플러그 인이 사용해야 하는 네 가지 방법을 제공합니다. (핵심 드라이버라는 용어는 Unidrv 또는 Pscript5 프린터 드라이버를 나타냅니다.) 이러한 메서드는 다음과 같습니다.

IPrintCoreUI2::EnumConstrainedOptions

IPrintCoreUI2::GetOptions

IPrintCoreUI2::SetOptions

IPrintCoreUI2::WhyConstrained

이러한 메서드는 UI 플러그 인의 IPrintOemUI::D ocumentPropertySheetsIPrintOemUI::D evicePropertySheets 메서드 및 해당 속성 시트 콜백 루틴을 실행하는 동안에만 지원됩니다. UI 플러그 인은 이러한 메서드를 지원하여 자체 사용자 인터페이스를 표시합니다. 지원되지 않는 경우 이러한 메서드는 E_NOTIMPL 반환합니다.

핵심 드라이버는 DrvDocumentPropertySheets 및 DrvDevicePropertySheets의 경우 두 가지 상황에서 자체 속성 시트 UI를 표시합니다. 첫 번째 메서드는 문서에만 적용되는 속성(문서 고정 속성)을 표시하고 두 번째 메서드는 디바이스에 적용되는 속성(디바이스 또는 프린터 고정 속성)을 표시합니다.

핵심 드라이버는 처리하는 속성 시트의 유형을 기억합니다(따라서 문서 고정 또는 프린터 고정 모드). 핵심 드라이버는 해당 상태 정보를 UI 인스턴스에 대해 만드는 구조체( OEMUIOBJ 구조)에 저장합니다. 핵심 드라이버가 플러그 인의 인터페이스 메서드를 호출하는 경우 OEMUIOBJ 구조체에 대한 포인터를 전달하므로 플러그 인이 IPrintCoreUI2::EnumConstrainedOptions, IPrintCoreUI2::GetOptions, IPrintCoreUI2::SetOptions 또는 IPrintCoreUI2::WhyConstrained에서 핵심 드라이버를 다시 호출할 때 이러한 메서드는 포인터를 코어 드라이버로 다시 전달하여 모드를 확인할 수 있습니다.

IPrintCoreUI2::EnumConstrainedOptions의 경우 IPrintCoreUI2::SetOptionsIPrintCoreUI2::WhyConstrained는 IPrintOemUI::D ocumentPropertySheets 또는 속성 시트 콜백 루틴을 실행하는 동안 문서 고정 기능만 지원되며 IPrintOemUI::D evicePropertySheets 또는 속성 시트 콜백 루틴을 실행하는 동안에는 프린터 고정 기능만 지원됩니다. IPrintCoreUI2::SetOptions의 경우 고정이 현재 고정 모드와 일치하지 않는 모든 기능은 무시해야 합니다. 고정이 현재 고정 모드와 일치하지 않는 기능에 대해 IPrintCoreUI2::EnumConstrainedOptions 또는 IPrintCoreUI2::WhyConstrained가 호출되면 메서드는 E_INVALIDARG 반환해야 합니다.

IPrintCoreUI2::GetOptions의 경우 문서 고정 및 프린터 고정 기능은 모두 문서 고정 모드(즉, IPrintOemUI::D ocumentPropertySheets 또는 속성 시트 콜백 루틴이 실행 중인 경우)에서 지원되지만 프린터 고정 모드에서는 프린터 고정 기능만 지원됩니다(IPrintOemUI::D evicePropertySheets 또는 속성 시트 콜백 루틴이 실행 중인 경우).