인쇄 공급자가 정의한 함수
경고
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 (필수) | 작업 식별자 및 스풀 파일 경로를 반환합니다. 호출자는 CreateFile 및 WriteFile 을 사용하여 스풀 파일에 데이터를 보냅니다. |
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 간의 통신 경로를 제공합니다. |