Warning
Windows 10부터 타사 인쇄 공급자를 지원하는 API는 더 이상 사용되지 않습니다. Microsoft는 타사 인쇄 공급자에 대한 투자를 권장하지 않습니다. 또한 v4 인쇄 드라이버 모델을 사용할 수 있는 Windows 8 및 최신 제품에서는 타사 인쇄 공급자가 v4 인쇄 드라이버를 사용하는 큐를 만들거나 관리할 수 없습니다.
이 항목에서는 인쇄 공급자가 제공할 수 있는 모든 함수를 나열합니다. 이러한 함수의 대부분은 Microsoft Windows SDK 설명서에 설명되어 있습니다. 함수가 WDK(Windows 드라이버 키트)에 설명된 경우 함수 이름은 연결된 참조 페이지에 대한 링크를 제공합니다.
모든 인쇄 공급자는 나열된 모든 함수에 대한 포인터를 제공해야 합니다. 그러나 대부분의 공급업체에서 제공하는 인쇄 공급자는 함수에서 정의한 많은 작업을 지원할 필요가 없는 "부분 공급자"입니다. Therefore, many of the function pointers can be NULL. 부분 인쇄 공급자에 대한 자세한 내용은 네트워크 인쇄 공급자 작성을 참조하세요.
다음 함수 목록에서 지원되어야 하는 함수에는 "필수"라는 레이블이 지정됩니다.
All print providers must export the initialization function, InitializePrintProvidor. Pointers to all the other functions must be supplied in a PRINTPROVIDOR structure. (이 두 이름은 철자가 틀렸지만 헤더 파일 Winsplp.h에 표시되는 이름과 일치합니다.)
함수는 그룹으로 나뉘며 다음 섹션에 표시됩니다.
Initialization function
큐 관리 함수 인쇄
프린터 드라이버 관리 기능
작업 만들기 함수 인쇄
작업 예약 함수 인쇄
양식 관리 함수
프로세서 관리 함수 인쇄
모니터 관리 함수 인쇄
포트 관리 함수
레지스트리 관리 함수
Other functions
Initialization function
| Function | Description |
|---|---|
| InitializePrintProvidor (Required) | 인쇄 공급자를 초기화하고 제공된 함수에 대한 포인터를 반환합니다. |
큐 관리 함수 인쇄
| Function | Description |
|---|---|
| AddPrinter | 인쇄 공급자가 관리하는 인쇄 큐 목록에 인쇄 큐를 추가하고 인쇄 프로세서를 인쇄 큐와 연결합니다. |
| AddPrinterConnection | 지정된 인쇄 큐에 대한 연결을 만듭니다. |
| ClosePrinter (Required) | 지정된 인쇄 큐에 대한 호출자 액세스를 사용하지 않도록 설정합니다. |
| DeletePrinter | 인쇄 공급자가 관리하는 인쇄 큐 목록에서 인쇄 큐를 삭제합니다. |
| DeletePrinterConnection | 지정된 인쇄 큐에 대한 연결을 제거합니다. |
| EnumPrinters (Required) | 현재 인쇄 공급자가 관리하는 인쇄 큐 목록을 열거합니다. |
| FindClosePrinterChangeNotification | Disables printer change notifications that were enabled by FindFirstPrinterChangeNotification. |
| FindFirstPrinterChangeNotification | 호출자가 지정된 프린터 이벤트를 기다리는 데 사용할 수 있는 대기 개체에 대한 핸들을 반환합니다. |
| GetPrinter (Required) | 지정된 인쇄 큐에 대한 현재 매개 변수 값을 반환합니다. |
| OpenPrinter (Required) | 호출자가 지정된 인쇄 큐에 액세스할 수 있도록 합니다. |
| RefreshPrinterChangeNotification | Called by router if client calls FindNextPrinterChangeNotification with the PRINTER_NOTIFY_OPTIONS_REFRESH flag set. |
| ResetPrinter | Modifies a print queue's data type or DEVMODEW structure. |
| SetPrinter (Required) | 지정된 인쇄 큐에 대한 매개 변수를 설정합니다. |
| WaitForPrinterChange | Obsolete. |
프린터 드라이버 관리 기능
| Function | Description |
|---|---|
| AddPrinterDriver | 지정된 서버에 지정된 프린터의 드라이버 파일을 추가합니다. |
| AddPrinterDriverEx | Same as AddPrinterDriver, with additional parameters. |
| DeletePrinterDriver | 지정된 서버에서 지정된 프린터의 드라이버 파일에 대한 액세스를 삭제합니다. |
| DeletePrinterDriverEx | Same as DeletePrinterDriver, with additional parameters. |
| EnumPrinterDrivers | Returns a list of printer drivers that have been added to a specified server by calling AddPrinterDriver or AddPrinterDriverEx. |
| GetPrinterDriver | Returns information about a printer driver, which the caller can then pass to AddPrinterDriver. (반환된 정보는 일반적으로 INF 파일에서 가져옵니다.) |
| [GetPrinterDriverEx | Same as GetPrinterDriver, with additional parameters. |
| GetPrinterDriverDirectory | 서버의 프린터 드라이버 디렉터리의 이름을 반환합니다. |
작업 만들기 함수 인쇄
| Function | Description |
|---|---|
| AbortPrinter (Required) | 지정된 인쇄 큐에서 현재 작업을 삭제하려고 시도합니다. |
| AddJob (Required) | 작업 식별자 및 스풀 파일 경로를 반환합니다. The caller uses CreateFile and WriteFile to send data to the spool file. |
| EndDocPrinter (Required) | 작업 완료 작업을 수행합니다. |
| EndPagePrinter | 페이지 완성 작업을 수행합니다. |
| ReadPrinter | 양방향 프린터에서 상태 정보를 가져옵니다. |
| ScheduleJob (Required) | 지정된 작업을 예약할 수 있음을 공급자에게 알릴 수 있습니다. The job is specified by a job identifier previously returned by AddJob. |
| StartDocPrinter (Required) | 인쇄 공급자가 인쇄 작업 스풀링을 시작할 수 있도록 준비합니다. |
| StartPagePrinter | 인쇄 작업 페이지를 받을 인쇄 공급자를 준비합니다. |
| WritePrinter (Required) | 인쇄 작업 데이터 스트림의 일부를 받습니다. |
Note
The AddJob...ScheduleJob sequence is an alternative to the StartDocPrinter...EndDocPrinter sequence.
작업 예약 함수 인쇄
| Function | Description |
|---|---|
| EnumJobs (Required) | 예약된 인쇄 작업 목록을 반환합니다. |
| GetJob (Required) | 작업 매개 변수를 반환합니다. |
| SetJob (Required) | 인쇄 작업을 취소, 일시 중지, 다시 시작 또는 다시 시작하거나 작업 매개 변수를 설정합니다. |
양식 관리 함수
| Function | Description |
|---|---|
| AddForm | 지정된 프린터에 사용할 수 있는 양식 목록에 지정된 양식을 추가합니다. |
| DeleteForm | 지정된 프린터에 사용할 수 있는 양식 목록에서 지정된 양식을 제거합니다. |
| EnumForms | 지정된 프린터에 사용할 수 있는 양식 목록을 반환합니다. |
| GetForm | 지정된 양식의 특성을 반환합니다. |
| SetForm | 지정된 양식의 특성을 수정합니다. |
프로세서 관리 함수 인쇄
| Function | Description |
|---|---|
| AddPrintProcessor | 지정한 서버에 인쇄 프로세서를 설치하고 인쇄 공급자가 호출할 수 있는 인쇄 프로세서 목록에 추가합니다. |
| DeletePrintProcessor | 인쇄 공급자가 호출할 수 있는 인쇄 프로세서 목록에서 인쇄 프로세서를 삭제합니다. |
| EnumPrintProcessorDataTypes | 인쇄 공급자가 호출할 수 있는 인쇄 프로세서에서 지원하는 데이터 형식의 목록을 반환합니다. |
| EnumPrintProcessors | 인쇄 공급자가 호출할 수 있는 인쇄 프로세서 목록을 반환합니다. |
| GetPrintProcessorDirectory | 인쇄 프로세서 파일을 저장해야 하는 디렉터리 경로를 반환합니다. |
모니터 관리 함수 인쇄
| Function | Description |
|---|---|
| AddMonitor | 인쇄 공급자가 호출할 수 있는 인쇄 모니터 목록에 인쇄 모니터를 추가합니다. |
| DeleteMonitor | 인쇄 공급자가 호출할 수 있는 인쇄 모니터 목록에서 인쇄 모니터를 삭제합니다. |
| EnumMonitors | 인쇄 공급자가 호출할 수 있는 인쇄 모니터 목록을 반환합니다. |
포트 관리 함수
| Function | Description |
|---|---|
| AddPort | Adds a printer port to the list of those available, typically by calling the specified port monitor's AddPortUI function. |
| AddPortEx(/previous-versions/ff545025(v%3dvs.85)) | Same as AddPort, with additional parameters. |
| ConfigurePort (Required) | Configures a printer port, typically by calling the specified port monitor's ConfigurePortUI function. |
| DeletePort (Required) | Deletes a printer port from the list of those available, typically by calling the specified port monitor's DeletePortUI function. |
| EnumPorts (Required) | 사용 가능한 프린터 포트 목록을 반환합니다. |
| SetPort | 지정된 프린터 포트에 대한 매개 변수를 설정합니다. |
레지스트리 관리 함수
| Function | Description |
|---|---|
| DeletePrinterData | Deletes the value currently assigned to a specified value name, under the specified printer's PrinterDriverData key. |
| DeletePrinterDataEx | Same as DeletePrinterData, with additional parameters. |
| DeletePrinterKey | Deletes a specified key and its subkeys, if they are currently stored in the registry under the specified printer's PrinterDriverData key. |
| EnumPrinterData | Returns each of the value names and currently assigned values that are stored in the registry under the specified printer's PrinterDriverData key. |
| EnumPrinterDataEx | Same as EnumPrinterData, with additional parameters. |
| EnumPrinterKey | 지정된 키 이름으로 레지스트리에 현재 포함된 하위 키 목록을 반환합니다. |
| GetPrinterData | Returns the value currently assigned to a specified value name, which is stored in the registry under the specified printer's PrinterDriverData key. |
| GetPrinterDataEx | Same as GetPrinterData, with additional parameters. |
| SetPrinterData | Stores a specified value name and value in the registry, under the specified printer's PrinterDriverData key. |
| SetPrinterDataEx | Same as SetPrinterData, with additional parameters. |
Other functions
| Function | Description |
|---|---|
| XcvData | 포트 모니터 UI DLL과 포트 모니터 서버 DLL 간의 통신 경로를 제공합니다. |