다음을 통해 공유


인쇄 공급자가 정의한 함수

경고

Windows 10 타사 인쇄 공급자를 지원하는 API는 더 이상 사용되지 않습니다. Microsoft는 타사 인쇄 공급자에 대한 투자를 권장하지 않습니다. 또한 v4 인쇄 드라이버 모델을 사용할 수 있는 Windows 8 최신 제품에서는 타사 인쇄 공급자가 v4 인쇄 드라이버를 사용하는 큐를 만들거나 관리할 수 없습니다.

이 항목에서는 인쇄 공급자가 제공할 수 있는 모든 함수를 나열합니다. 이러한 함수의 대부분은 Microsoft Windows SDK 설명서에 설명되어 있습니다. 함수가 WDK(Windows 드라이버 키트)에 설명된 경우 함수 이름은 연결된 참조 페이지에 대한 링크를 제공합니다.

모든 인쇄 공급자는 나열된 모든 함수에 대한 포인터를 제공해야 합니다. 그러나 대부분의 공급업체에서 제공하는 인쇄 공급자는 함수에 정의된 많은 작업을 지원할 필요가 없는 "부분 공급자"입니다. 따라서 대부분의 함수 포인터는 NULL일 수 있습니다. 부분 인쇄 공급자에 대한 자세한 내용은 네트워크 인쇄 공급자 작성을 참조하세요.

다음 함수 목록에서 지원되어야 하는 함수는 "필수"라는 레이블이 지정됩니다.

모든 인쇄 공급자는 초기화 함수 InitializePrintProvidor를 내보내야 합니다. 다른 모든 함수에 대한 포인터는 PRINTPROVIDOR 구조체에서 제공해야 합니다. (이 두 이름은 철자가 틀렸지만 헤더 파일 Winsplp.h에 표시되는 이름과 일치합니다.)

함수는 그룹으로 나뉘며 다음 섹션에 표시됩니다.

  • 초기화 함수

  • 인쇄 큐 관리 함수

  • 프린터 드라이버 관리 기능

  • 인쇄 작업 만들기 함수

  • 작업 예약 함수 인쇄

  • 양식 관리 함수

  • 프로세서 관리 기능 인쇄

  • 모니터 관리 기능 인쇄

  • 포트 관리 함수

  • 레지스트리 관리 함수

  • 기타 함수

초기화 함수

함수 Description
InitializePrintProvidor (필수) 인쇄 공급자를 초기화하고 제공된 함수에 대한 포인터를 반환합니다.
함수 Description
AddPrinter 인쇄 공급자가 관리하는 인쇄 큐 목록에 인쇄 큐를 추가하고 인쇄 프로세서를 인쇄 큐에 연결합니다.
AddPrinterConnection 지정된 인쇄 큐에 대한 연결을 만듭니다.
ClosePrinter (필수) 지정된 인쇄 큐에 대한 호출자 액세스를 사용하지 않도록 설정합니다.
DeletePrinter 인쇄 공급자가 관리하는 목록의 인쇄 큐를 삭제합니다.
DeletePrinterConnection 지정된 인쇄 큐에 대한 연결을 제거합니다.
EnumPrinters (필수) 현재 인쇄 공급자가 관리하는 인쇄 큐 목록을 열거합니다.
FindClosePrinterChangeNotification FindFirstPrinterChangeNotification에서 사용하도록 설정된 프린터 변경 알림을 사용하지 않도록 설정합니다.
FindFirstPrinterChangeNotification 호출자가 지정된 프린터 이벤트를 기다리는 데 사용할 수 있는 대기 개체에 대한 핸들을 반환합니다.
GetPrinter (필수) 지정된 인쇄 큐에 대한 현재 매개 변수 값을 반환합니다.
OpenPrinter (필수) 지정된 인쇄 큐에 대한 호출자 액세스를 사용하도록 설정합니다.
RefreshPrinterChangeNotification 클라이언트가 PRINTER_NOTIFY_OPTIONS_REFRESH 플래그 집합을 사용하여 FindNextPrinterChangeNotification 을 호출하는 경우 라우터에서 호출됩니다.
ResetPrinter 인쇄 큐의 데이터 형식 또는 DEVMODEW 구조를 수정합니다.
SetPrinter (필수) 지정된 인쇄 큐에 대한 매개 변수를 설정합니다.
WaitForPrinterChange 사용되지 않습니다.

프린터 드라이버 관리 기능

함수 Description
AddPrinterDriver 지정된 서버에 지정된 프린터의 드라이버 파일을 추가합니다.
AddPrinterDriverEx 추가 매개 변수가 있는 AddPrinterDriver와 동일합니다.
DeletePrinterDriver 지정된 서버에서 지정된 프린터의 드라이버 파일에 대한 액세스를 삭제합니다.
DeletePrinterDriverEx DeletePrinterDriver와 동일하며 추가 매개 변수가 있습니다.
EnumPrinterDrivers AddPrinterDriver 또는 AddPrinterDriverEx를 호출하여 지정된 서버에 추가된 프린터 드라이버 목록을 반환합니다.
GetPrinterDriver 호출자가 AddPrinterDriver에 전달할 수 있는 프린터 드라이버에 대한 정보를 반환합니다. (반환된 정보는 일반적으로 INF 파일에서 가져옵니다.)
[GetPrinterDriverEx GetPrinterDriver와 동일하며 추가 매개 변수가 있습니다.
GetPrinterDriverDirectory 서버의 프린터 드라이버 디렉터리의 이름을 반환합니다.
함수 Description
AbortPrinter (필수) 지정된 인쇄 큐에서 현재 작업을 삭제하려고 시도합니다.
AddJob (필수) 작업 식별자 및 스풀 파일 경로를 반환합니다. 호출자는 CreateFileWriteFile 을 사용하여 스풀 파일에 데이터를 보냅니다.
EndDocPrinter (필수) 작업 완료 작업을 수행합니다.
EndPagePrinter 페이지 완성 작업을 수행합니다.
ReadPrinter 양방향 프린터에서 상태 정보를 가져옵니다.
ScheduleJob (필수) 지정된 작업을 예약할 수 있음을 공급자에게 알릴 수 있습니다. 작업은 AddJob에서 이전에 반환한 작업 식별자에 의해 지정됩니다.
StartDocPrinter (필수) 인쇄 공급자가 인쇄 작업 스풀링을 시작할 수 있도록 준비합니다.
StartPagePrinter 인쇄 작업 페이지를 받을 인쇄 공급자를 준비합니다.
WritePrinter (필수) 인쇄 작업 데이터 스트림의 일부를 받습니다.

참고

AddJob... ScheduleJob 시퀀스는 StartDocPrinter... 대신 사용할 수 있습니다. EndDocPrinter 시퀀스입니다.

함수 Description
EnumJobs (필수) 예약된 인쇄 작업 목록을 반환합니다.
GetJob (필수) 작업 매개 변수를 반환합니다.
SetJob (필수) 인쇄 작업을 취소, 일시 중지, 다시 시작 또는 다시 시작하거나 작업 매개 변수를 설정합니다.

양식 관리 함수

함수 Description
AddForm 지정된 프린터에 사용할 수 있는 양식의 목록에 지정된 양식을 추가합니다.
DeleteForm 지정된 프린터에 사용할 수 있는 양식 목록에서 지정된 양식을 제거합니다.
EnumForms 지정된 프린터에 사용할 수 있는 양식 목록을 반환합니다.
GetForm 지정된 양식의 특성을 반환합니다.
SetForm 지정된 양식의 특성을 수정합니다.
함수 Description
AddPrintProcessor 지정한 서버에 인쇄 프로세서를 설치하고 인쇄 공급자가 호출할 수 있는 인쇄 프로세서 목록에 추가합니다.
DeletePrintProcessor 인쇄 공급자가 호출할 수 있는 인쇄 프로세서 목록에서 인쇄 프로세서를 삭제합니다.
EnumPrintProcessorDataTypes 인쇄 공급자가 호출할 수 있는 인쇄 프로세서에서 지원하는 데이터 형식 목록을 반환합니다.
EnumPrintProcessors 인쇄 공급자가 호출할 수 있는 인쇄 프로세서 목록을 반환합니다.
GetPrintProcessorDirectory 인쇄 프로세서 파일을 저장해야 하는 디렉터리 경로를 반환합니다.
함수 Description
AddMonitor 인쇄 공급자가 호출할 수 있는 목록의 인쇄 모니터를 추가합니다.
DeleteMonitor 인쇄 공급자가 호출할 수 있는 목록의 인쇄 모니터를 삭제합니다.
EnumMonitors 인쇄 공급자가 호출할 수 있는 인쇄 모니터 목록을 반환합니다.

포트 관리 함수

함수 Description
AddPort 일반적으로 지정된 포트 모니터의 AddPortUI 함수를 호출하여 프린터 포트를 사용 가능한 항목 목록에 추가합니다.
AddPortEx(/previous-version/ff545025(v%3dvs.85)) 추가 매개 변수가 있는 AddPort와 동일합니다.
ConfigurePort (필수) 일반적으로 지정된 포트 모니터의 ConfigurePortUI 함수를 호출하여 프린터 포트를 구성합니다.
DeletePort (필수) 일반적으로 지정된 포트 모니터의 DeletePortUI 함수를 호출하여 사용 가능한 프린터 포트 목록에서 프린터 포트를 삭제합니다.
EnumPorts (필수) 사용 가능한 프린터 포트 목록을 반환합니다.
SetPort 지정된 프린터 포트에 대한 매개 변수를 설정합니다.

레지스트리 관리 함수

함수 Description
DeletePrinterData 지정된 프린터의 PrinterDriverData 키 아래 지정된 값 이름에 현재 할당된 값을 삭제합니다.
DeletePrinterDataEx DeletePrinterData와 동일하며 추가 매개 변수가 있습니다.
DeletePrinterKey 지정된 키와 해당 하위 키가 현재 지정된 프린터의 PrinterDriverData 키 아래에 레지스트리에 저장된 경우 삭제합니다.
EnumPrinterData 지정된 프린터의 PrinterDriverData 키 아래에 레지스트리에 저장된 각 값 이름과 현재 할당된 값을 반환합니다.
EnumPrinterDataEx 추가 매개 변수가 있는 EnumPrinterData와 동일합니다.
EnumPrinterKey 지정된 키 이름으로 레지스트리에 현재 포함된 하위 키 목록을 반환합니다.
GetPrinterData 지정된 프린터의 PrinterDriverData 키 아래에 레지스트리에 저장된 지정된 값 이름에 현재 할당된 값을 반환합니다.
GetPrinterDataEx 추가 매개 변수가 있는 GetPrinterData와 동일합니다.
SetPrinterData 지정된 프린터의 PrinterDriverData 키 아래에 지정된 값 이름과 값을 레지스트리에 저장합니다.
SetPrinterDataEx 추가 매개 변수가 있는 SetPrinterData와 동일합니다.

기타 함수

함수 Description
XcvData 포트 모니터 UI DLL과 포트 모니터 서버 DLL 간의 통신 경로를 제공합니다.