프린터 그래픽 DLL 소개

Important

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

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

프린터 그래픽 DLL은 그래픽 DDI 사용에 설명 된 Drv 접두사 그래픽 DDI 함수를 구현합니다. 이러한 DLL에는 다음 두 가지 책임이 있습니다.

  • GDI가 인쇄 작업을 렌더링할 수 있도록 지원합니다.

    프린터 그래픽 DLL은 디바이스별 방식으로 수행해야 하는 그리기 작업을 처리하는 그래픽 DDI 그리기 함수를 제공할 수 있으므로 GDI의 렌더링 엔진에서 단독으로 처리할 수 없습니다.

  • 렌더링된 데이터 스트림을 스풀러에 전달합니다.

    프린터 그래픽 DLL은 일반적으로 스풀러가 인쇄 모니터를 통해 프린터 하드웨어로 보낼 수 있는 RAW 데이터 형식(명령 시퀀스 포함)의 출력 스트림을 생성합니다.

프린터 그래픽 DLL이 제공해야 하는 렌더링 지원의 양은 하드웨어의 그리기 기능에 따라 프린터 유형별이며 다음 시나리오를 포함합니다.

  • GDI 렌더링 엔진은 GDI 관리형 표면을 사용하여 모든 렌더링을 수행합니다. 그래픽 DLL은 DDI 그리기 함수를 제공하지 않습니다.

  • 그래픽 DLL은 GDI 관리형 표면을 사용하여 GDI의 렌더링 엔진과 함께 작동하는 일부 그래픽 DDI 그리기 함수를 제공합니다. 그래픽 DLL에서 제공하는 그래픽 DDI 그리기 함수는 필요에 따라 GDI 렌더링 엔진의 GDI 지원 서비스로 다시 호출할 수 있습니다.

  • 그래픽 DLL은 그래픽 DDI 그리기 함수를 제공하고 디바이스 관리형 표면을 사용하여 모든 렌더링을 수행합니다.

예를 들어 Microsoft Unidrv(유니버설 프린터 드라이버 )는 GDI 관리형 표면을 사용하고 일부 그래픽 DDI 그리기 함수를 제공하는 반면 Microsoft PostScript 프린터 드라이버는 디바이스 관리형 표면을 사용합니다.

그래픽 드라이버에서 렌더링 지원을 제공하는 방법에 대한 자세한 내용은 Surface 형식그래픽 DDI 사용을 참조하세요.

다음 두 그림에서는 애플리케이션이 GDI를 사용하여 인쇄 작업을 만들 때 발생하는 데이터 흐름을 보여 줍니다. EMF 기록 및 재생은 이러한 수치에서 결합됩니다.

첫 번째 다이어그램은 사용자 모드 프린터 그래픽 DLL을 보여 줍니다.

참고 Windows Vista 프린터 그래픽 DLL은 사용자 모드에서만 실행할 수 있습니다. 자세한 내용은 사용자 모드 또는 커널 모드 선택을 참조하세요.

사용자 모드 프린터 그래픽 dll을 보여 주는 다이어그램

두 번째 다이어그램은 커널 모드 프린터 그래픽 DLL을 보여 줍니다.

커널 모드 프린터 그래픽 dll을 사용하여 작업 데이터 흐름을 인쇄합니다.

이러한 다이어그램에서는 GDI의 출력 형식이 EMF(향상된 메타파일)인 경우 EMF 인쇄 프로세서가 EMF 레코드를 재생할 때까지 프린터 그래픽 DLL이 작업을 수신하지 않습니다. 또한 EMF 인쇄 프로세서는 출력 형식을 비 EMF로 변경합니다.

다이어그램은 전체 로컬 환경을 보여 줍니다. 프린터가 서버에 연결된 경우 EMF 레코드는 일반적으로 클라이언트의 GDI GRE(렌더링 엔진) 복사본에 의해 생성된 다음 서버로 전송되는 로컬 파일로 스풀링됩니다. 서버의 스풀러 복사본은 파일을 읽고 레코드를 서버의 EMF 인쇄 프로세서로 보내고 서버의 GRE 복사본은 서버의 프린터 그래픽 DLL을 호출합니다.