인쇄 기능에 대한 Win32 API 지원
Important
최신 인쇄 플랫폼은 Windows에서 프린터와 통신하는 데 선호되는 수단입니다. 프린터 장치 개발을 위해 Windows 10 및 11의 인쇄 환경을 사용자 지정하려면 MICROSOFT의 IPP 받은 편지함 클래스 드라이버와 PSA(인쇄 지원 앱)를 사용하는 것이 좋습니다.
자세한 내용은 인쇄 지원 앱 디자인 가이드참조하세요.
Windows Vista 인쇄 하위 시스템은 WPF(Windows Presentation Foundation) 애플리케이션에서 GDI 기반 인쇄 드라이버를 사용할 수 있도록 하고 Microsoft Win32 기반 애플리케이션에서 XPSDrv 인쇄 드라이버를 사용할 수 있도록 하는 호환성 지원을 제공합니다. 이 호환성은 소프트웨어 shim 계층을 통해 제공됩니다. Shim은 호환되지 않는 소프트웨어가 상호 운용할 수 있도록 데이터에 대한 변환 작업을 수행하는 소프트웨어 모듈입니다. 다음 그림에서는 인쇄 기능에 대한 이 구현의 데이터 경로를 보여 줍니다.
인쇄 기능 데이터 흐름을 보여 주는 다이어그램
XPSDrv 인쇄 드라이버와 GDI 기반 버전 3 인쇄 드라이버 모두 DrvDeviceCapabilities 함수를 지원합니다. Win32 애플리케이션이 DrvDeviceCapabilities 또는 GetDevCap 함수를 호출하면 인쇄 하위 시스템은 DrvDeviceCapabilities를 호출하여 인쇄 드라이버에서 디바이스 기능 정보를 수집합니다.
WPF 애플리케이션이 인쇄 드라이버에서 PrintCapabilities 문서를 요청하는 경우 인쇄 하위 시스템은 다음 중 하나를 수행합니다.
인쇄 드라이버가 IPrintTicketProvider 인터페이스를 지원하는 경우 인쇄 하위 시스템은 IPrintTicketProvider::GetPrintCapabilities 메서드를 사용하여 PrintCapabilities 문서에 대한 인쇄 드라이버를 쿼리합니다.
인쇄 드라이버가 IPrintTicketProvider 인터페이스를 지원하지 않는 경우 인쇄 티켓 관리자는 인쇄 드라이버의 DrvDeviceCapabilities 함수를 쿼리하고 반환된 정보를 사용하여 애플리케이션에 반환되는 PrintTicket 문서를 만듭니다.
Microsoft 인쇄 드라이버에서 IPrintTicketProvider 인터페이스를 지원하는 방법에 대한 자세한 내용은 Windows Vista의 프린터 드라이버 및 플러그 인 인터페이스 디자인을 참조하세요.