인쇄 공급자 소개
경고
Windows 10 타사 인쇄 공급자를 지원하는 API는 더 이상 사용되지 않습니다. Microsoft는 타사 인쇄 공급자에 대한 투자를 권장하지 않습니다. 또한 v4 인쇄 드라이버 모델을 사용할 수 있는 Windows 8 최신 제품에서는 타사 인쇄 공급자가 v4 인쇄 드라이버를 사용하는 큐를 만들거나 관리할 수 없습니다.
인쇄 공급자는 인쇄 작업을 로컬 또는 원격 인쇄 디바이스로 전송할 책임이 있습니다. 또한 서버의 인쇄 큐 시작, 중지 및 열거와 같은 인쇄 큐 관리 작업을 담당합니다. 인쇄 공급자는 인쇄 서버의 높은 수준의 컴퓨터 독립적 운영 체제 독립적 보기를 정의합니다.
모든 인쇄 공급자는 일반적인 인쇄 공급자 기능 집합을 구현합니다. 이러한 기능은 스풀러의 라우터(Spoolss.dll)에서 호출되는 API 함수 집합에 의해 정의됩니다.
인쇄 공급자가 정의한 대부분의 함수에는 프린터 핸들이 입력으로 필요합니다. 스풀러 클라이언트는 Spoolsv.exe(API 서버)를 호출하는 Winspool.drv에서 OpenPrinter 를 호출하여 프린터 핸들을 가져옵니다. 스풀러의 라우터(Spoolss.dll)는 각 인쇄 공급자의 OpenPrinter 함수를 호출하여 프린터 핸들과 인쇄 공급자가 지정된 프린터 이름을 인식함을 나타내는 반환 값을 제공할 때까지 호출합니다. 그런 다음 라우터는 자체 핸들을 API 서버에 반환합니다. 라우터의 핸들에는 프린터 핸들과 공급자 핸들이 모두 포함됩니다. 이 핸들은 애플리케이션의 후속 호출이 올바른 공급자 및 프린터로 전달될 수 있도록 애플리케이션에 반환됩니다.
Microsoft는 Windows 2000 이상과 함께 다음 인쇄 공급자를 제공합니다.
Localspl.dll
로컬 인쇄 공급자. 로컬 서버에서 관리되는 프린터로 전달되는 모든 인쇄 작업을 처리합니다.
Win32spl.dll
Windows 네트워크 인쇄 공급자. 원격 Win32(NT 기반 운영 체제 또는 Windows for Workgroups) 서버로 전달되는 인쇄 작업을 처리합니다. 작업이 원격 서버에 도착하면 서버의 로컬 인쇄 공급자에게 전달됩니다.
Nwprovau.dll
Novell NetWare 인쇄 공급자. Novell NetWare 인쇄 서버로 전달되는 인쇄 작업을 처리합니다.
Inetpp.dll
HTTP 인쇄 공급자. URL로 전송된 인쇄 작업을 처리합니다.
공급업체는 추가 네트워크 인쇄 공급자를 만들 수 있습니다. 자세한 내용은 네트워크 인쇄 공급자 작성을 참조하세요.
다음 다이어그램에서는 이러한 인쇄 공급자와 관련된 가능한 흐름 경로를 보여 줍니다.
다이어그램을 볼 때 다음 사항을 고려해야 합니다.
프린터가 클라이언트 시스템에서 관리되는 경우 인쇄 작업은 로컬 인쇄 공급자 (Localspl.dll)에 의해 처리됩니다. Localspl.dll 관리되는 프린터는 클라이언트에 물리적으로 로컬일 필요가 없습니다. 네트워크 카드에 직접 연결할 수 있습니다.
프린터가 NT 기반 운영 체제 서버에 있는 경우 네트워크 공급자(Win32spl.dll)는 RPC를 사용하여 클라이언트 라우터에서 서버의 Spoolsv.exe 프로세스로 호출을 리디렉션합니다. 프린터가 서버에 로컬이므로 서버의 로컬 인쇄 공급자가 인쇄 작업을 처리합니다.
프린터가 다른 유형의 서버에 있는 경우 서버에서 지원하는 데이터 형식 및 네트워크 프로토콜을 사용하여 로컬 인쇄 공급자 또는 해당 서버 형식을 지원하는 네트워크 인쇄 공급자에서 액세스할 수 있습니다.
로컬 인쇄 공급자가 원격 프린터에 액세스하려면 원격 프린터 또는 서버에서 인식하는 네트워크 프로토콜을 사용할 수 있는 포트 모니터 가 포함되어야 합니다.