다음을 통해 공유


V4 드라이버 매니페스트

Important

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

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

v4 인쇄 드라이버 매니페스트는 모든 프린터 관련 설정 지시문을 포함하는 텍스트 파일입니다. v4 인쇄 드라이버 매니페스트는 프린터별 v4 인쇄 드라이버 설정의 일부로 v4 인쇄 드라이버 INF 파일과 함께 사용됩니다.

매니페스트의 지시문은 섹션으로 구성됩니다.

DriverConfig 섹션

다음 표에서는 DriverConfig 섹션에서 사용되는 지시문을 보여 줍니다.

지시문 제한 사항 사용
RequiredFiles

ntprint.inf 또는 ntprint4.inf의 파일을 포함합니다.

RequiredFiles 지시문은 Windows 10에서 다음 값을 지원합니다.

PWGRRenderFilter.dll: 드라이버의 종속 파일 목록에 Microsoft PWG 래스터 렌더링 필터를 추가합니다.

PWG 래스터 렌더링 필터 렌더링 필터를 사용하려면 드라이버가 구성에 PrintDeviceCapabilities 파일을 사용해야 합니다.
Unidrv.dll, pscript5.dll 및 mxdwdrv.dll 이 목록에서 생략해야 합니다. 자동으로 해결됩니다. 예:

RequiredFiles=
UNIRES.DLL,
STDNAMES. GPD,
V3HOSTINGFILTER.DLL
RequiredClass

이 드라이버가 디바이스의 드라이버/친숙한 이름과 GUID를 키로 사용하여 정의된 클래스 드라이버의 모든 파일을 포함하도록 합니다. 이는 인쇄 클래스 드라이버를 모델별 드라이버에 연결하는 메커니즘입니다.
RequiredClass 지시문은 클래스 드라이버에서 사용할 수 없습니다. RequiredClass를 사용하는 경우 연결하려는 프린터 드라이버와 인쇄 클래스 드라이버 간에 파일 이름 충돌을 방지해야 합니다.

이름이 비슷한 파일은 서로 덮어쓰지 않지만 문제 해결 중에는 클래스 드라이버 패키지 파일과 v4 프린터 드라이버의 파일을 구분하기가 어려울 수 있습니다.
예시:

RequiredClass=
"Fabrikam PCL5e 클래스 드라이버",(9343720D-B67E-4451-B93F-6F721C439771)
DriverFile

렌더링 이진 파일을 가리킵니다. Mxdwdrv는 기본값이지만 클래스 드라이버는 unidrv.dll 또는 pscript5.dll 지정할 수 있습니다. 이는 v3 INF의 동일한 지시문과 기능적으로 동일합니다.
클래스 드라이버에서만 설정할 수 있습니다. 유효한 선택은 unidrv.dll 또는 pscript5.dll. V4 인쇄 드라이버는 RequiredClass에서 상속되거나 기본값에서 mxdwdrv.dll DriverFile=unidrv.dll
DataFile

이 드라이버는 이 드라이버의 기본 GPD 또는 PPD를 정의합니다. 이는 v3 INF의 동일한 지시문과 기능적으로 동일합니다.

Windows 10에서 v4 인쇄 드라이버는 GPD 또는 PPD DataFile을 계속 지정할 수 있지만 PrintDeviceCapabilities 형식의 DataFile을 설명할 수도 있습니다.
필수입니다. 예:

DataFile=FAPDL.gpd
DataFile=FAPDL.xml
DataFileType

DataFileType은 PrintDeviceCapabilities 파일을 DataFile으로 설명할 때 사용해야 하며 GPD 또는 PPD 기반 DataFile에서도 사용할 수 있습니다.
PrintDeviceCapabilities 파일에 필요합니다. 예시:

DataFileType=
"application/vnd.ms-PrintDeviceCapabilities+xml"
Flags

드라이버와 연결된 선택적 특성을 지정하는 데 사용됩니다.

NotShareable: 이 플래그는 드라이버를 공유할 수 없음을 지정합니다. Microsoft XPS 문서 작성기와 같은 가상 드라이버에 적합합니다.

SoftResetOnJobCancellation: 이 플래그는 인쇄 작업 취소 시 디바이스에 USB 소프트 재설정(IOCTL_USBPRINT_SOFT_RESET)이 필요하도록 지정합니다. ArchiveEnabled v4 드라이버는 이 플래그를 사용하여 보관 최적화 XPS를 스풀 파일로 요청합니다.
없음 예:

Flags=
NotShareable,
SoftResetOnJobCancellation
Flags=
ArchiveEnabled,NotShareable
PrinterDriverID

인쇄 드라이버를 설명하는 고유 ID입니다. 두 드라이버가 동일한 PrinterDriverID를 지정하는 경우 공유와 호환되며 동일한 프린터 확장을 지원해야 합니다.
필수입니다. PrinterDriverID=
{guid}
PropertyBag

이 드라이버의 드라이버 속성 모음을 지정합니다. DriverPropertyBagTool.exe 또는 Visual Studio에서 생성된 컴파일된 파일입니다.
없음 PropertyBag=
FAProperty.dpb
ResourceFile

드라이버의 문자열 리소스 DLL의 이름을 정의합니다.

Windows 10에서 드라이버는 .resx 형식을 사용하여 ResourceFile을 지정할 수 있습니다.
없음 예:

ResourceFile=
FARC.dll
ConstraintScript

드라이버의 JavaScript 제약 조건 파일의 이름을 정의합니다.
없음 ConstraintScript=
FAConst.js
DriverCategory

여러 옵션 중 하나 사이의 디바이스 범주를 정의합니다. 유효한 옵션은 다음과 같습니다.
PrintFax.Fax PrintFax.Printer PrintFax.Printer.3D PrintFax.Printer.File PrintFax.Printer.Service PrintFax.Printer.Virtual
필수입니다. DriverCategory=
PrintFax.Printer

다른 드라이버 범주에 대한 자세한 내용은 프린터 INF 파일 항목을 참조 하세요.
PrinterExtensionUrl

사용자가 프린터 확장 앱의 복사본을 가져올 URL을 지정합니다. 프린터 공유에 사용됩니다.
없음 PrinterExtensionUrl=
"https://www.fabrikam.com/files/setup.exe";
DevModeMap

Devmode 매핑 파일을 지정합니다. JavaScript 코드에서 PrintTicket에서 DEVMODE로 변환하는 데 사용되는 XML 파일입니다.
없음 DevModeMap=
fadmmap.xml
EventFile

드라이버 이벤트 XML 파일을 지정합니다.
없음 EventFile=
faevents.xml
QueueProperties

큐 속성 모음의 형식을 지정합니다. XML 파일이므로 컴파일하면 안 됩니다.
없음 QueueProperties=
faQueueProps.xml
BidiUSBStatusInterface

USB Bidi 통신에 사용할 하나 이상의 디바이스 인터페이스와 일치하는 하드웨어 ID 목록을 지정합니다.
없음이지만 인쇄 인터페이스가 아닌 USB 인터페이스를 통해 상태가 수행된 경우에만 지원되어야 합니다. BidiUSBStatusInterface=
"USB\vid_1234&pid_1234",
"USB\vid_1234&pid_4567"
UserPropertyBagScope

이 지시문은 사용자 속성 모음의 범위를 큐 또는 제조업체로 지정합니다.
이 지시문을 생략하면 Queue가 기본값입니다. 이 지시문에 대한 유효한 옵션은 다음과 같습니다.

큐: 기본 구성이며 Windows 8 동작과 일치합니다. 제조업체: INF에서 동일한 Manufacturer 문자열을 사용하는 모든 큐는 동일한 사용자 속성 모음을 사용합니다.
없음 UserPropertyBagScope=
제조업체
RetrievePrintDeviceCapabilitiesFromDevice

v4 드라이버는 PrintDeviceCapabilities 파일을 드라이버의 DataFile으로 설정하고 DataFileType이 MIME 형식인 "application/vnd.ms-PrintDeviceCapabilities+xml"임을 나타내는 한 WS-Print v2.0 프린터에서 PrintDeviceCapabilities 파일을 검색하도록 지정할 수 있습니다.

유효한 옵션:

True: 드라이버의 로컬 DataFile을 디바이스의 PrintDeviceCapabilities 파일로 바꿀 수 있습니다.

False: 드라이버의 로컬 DataFile은 디바이스의 PrintDeviceCapabilities 파일로 대체되지 않습니다.

지정하지 않으면 이 지시문의 기본값은 false입니다.
없음 예시:

RetrievePrintDeviceCapabilitiesFromDevice=
true

BidiFiles 섹션

BidiFiles 섹션은 Bidi 확장 파일을 정의하는 데 사용됩니다. TCP 및 WSD의 Windows 7 형식과 동일합니다. USB 키워드는 새로운 기능입니다.

다음 표에서는 BidiFiles 섹션에서 사용되는 지시문을 보여 줍니다.

지시문 제한 사항 사용
BidiSPMFile
TCP/IP 기반 프린터에 대한 Bidi 확장 파일을 정의합니다.
없음 BidiSPMFile=FaBidiSPM.xml
BidiWSDFile
WSD 기반 프린터에 대 한 Bidi 확장 파일을 정의 합니다.
없음 BidiWSDFile=FABidiWSD.xml
BidiUSBFile
USB용 Bidi 확장을 정의합니다.
없음 BidiUSBFile=FABidiUSB.xml
BidiUSBJSFile
USB용 JavaScript 확장을 정의합니다.
없음 BidiUSBJSFile=FABidiUSBJS.js

DriverRender 섹션

다음 표에서는 DriverRender 섹션에서 사용되는 지시문을 보여 줍니다.

지시문 제한 사항 사용
PageOutputQuality. [OptionName]
PageOutputQuality에 대한 PrintTicket 작업의 값에 따라 이미지 압축을 변경합니다.
OptionName은 표준 PrintSchema 네임스페이스에 지정된 이름이어야 합니다. PageOutputQuality.Draft=
MxdcImageType.JPEGHigh

PageOutputQuality.Normal=
MxdcImageType.JPEGMedium

PageOutputQuality.High=
MxdcImageType.PNG
XpsFormat
이 드라이버의 인쇄 시스템에서 생성된 XPS 형식을 변경합니다. 여러 값을 지정할 수 있으며 순서는 드라이버의 기본 설정을 나타냅니다.
Unidrv/PScript 렌더링을 사용하는 클래스 드라이버에서는 사용할 수 없습니다. XpsFormat=XPS

XpsFormat=OpenXPS

XPSFormat=OpenXPS,XPS

XPSFormat=XPS,OpenXPS
OutputFormat
OutputFormat 지시문은 MIME 형식을 사용하여 이 드라이버에서 생성되는 단일 PDL을 설명합니다.
이 정보는 WSD 프린터용 CreateJob 또는 CreateJob2 작업 중에 사용됩니다.
없음 유효한 사용 유형은 다음과 같습니다.

OutputFormat=
"application/oxps"

OutputFormat=
"application/vnd.ms-xpsdocument"

OutputFormat=
"image/pwg-raster"

OutputFormat=
"application/vnd.ms-3mfdocument"

다른 유효한 정의된 MIME 형식도 여기에 지정할 수 있습니다.

PageOutputQuality 지시문의 MxdcImageType 키워드에는 다음과 같은 허용되는 값이 있습니다.

MxdcImageType 값
MxdcImageType.JPEGHigh
높은 압축 JPEG(작은 파일)
MxdcImageType.JPEGMedium
중간 압축 JPEG
MxdcImageType.JPEGLow
낮은 압축 JPEG
MxdcImageType.PNG
PNG 파일 형식(가장 큰 파일)

FileSave 섹션

이 섹션에서는 파일 저장 시나리오를 지원합니다. 새 PORTPROMPT 포트 형식에 대해 v4 인쇄 드라이버가 설치되면 이 섹션에서는 공통 파일 창에 표시할 파일 확장자를 지정하고 확장과 대화 상자 자체를 지원하는 지역화 가능한 리소스 문자열도 지정합니다.

지시문 제한 사항 사용
<FileExtensionName>
이 지시문에서는 PORTPROMPT 포트를 사용하여 이 드라이버에서 파일을 저장할 때 사용할 FileExtension에 대해 설명합니다. 값은 드라이버의 ResourceFile에서 resourceID입니다. XPS 및 OXPS의 경우에만 resourceID 0을 지정할 수 있으며 인쇄 스풀러는 이러한 리소스에 대한 내부 리소스를 사용합니다.
없음 <FileExtensionName>=
<resourceID>
Xps=1234
SaveAsTitle
이 지시문은 파일 저장 대화 상자에서 사용할 제목에 대해 설명합니다. 값은 드라이버의 ResourceFile에서 resourceID입니다.
없음 SaveAsTitle=
<resourceID>
SaveAsTitle=4321

PrinterExtensions 섹션

PrinterExtensions 섹션은 프린터 확장과 프린터가 지원하는 호출 모드를 지정합니다. 이러한 두 항목 모두에 대해 앱이 인쇄 시스템에 자동으로 등록됩니다. 또한 앱은 두 개의 서로 다른 매개 변수인 PrinterDriverID와 ReasonID를 순서대로 구성합니다. 따라서 각 항목은 다른 PrinterExtensionID GUID를 사용해야 합니다.

다음 표에서는 PrinterExtensions 섹션에 사용되는 지시문을 보여 줍니다.

지시문 제한 사항 사용
DriverEvent
DriverEvent 모드를 서비스하는 앱입니다.
없음 DriverEvent=
app.exe,{extensionID GUID}
PrintPreferences
PrintPreferences 모드를 서비스하는 앱입니다.
없음 PrintPreferences=
app.exe, {extensionID GUID}

다음은 v4 인쇄 드라이버 매니페스트의 샘플입니다.

[DriverConfig]
DataFile=FAPDL.xml
RequiredFiles=UNIRES.DLL,STDNAMES.GPD,STDDTYPE.GDL,STDSCHEM.GDL,STDSCHMX.GDL,XPSSVCS.DLL,MSXPSINC.GPD,PWGRRenderFilter.DLL
ResourceFile=FARC.dll
PropertyBag=FAProperty.dpb
PrinterDriverID={GUID}
DriverCategory=PrintFax.Printer
ConstraintScript=faconst.js
EventFile=faevents.xml
PrinterExtensionUrl="https://www.fabrikam.com/download.asp?uiapp=120"
UserPropertyBagScope=Manufacturer
DataFileType="application/vnd.ms-PrintDeviceCapabilities+xml"
RetrievePrintDeviceCapabilitiesFromDevice=true

[BidiFiles]
BidiSPMFile=FABidiSPM.xml
BidiWSDFile=FABidiWSD.xml
BidiUSBFile=FaBidiUSB.xml
BidiUSBJSFile=FABidiUSBJS.js

[DriverRender]
PageOutputQuality.Draft=MxdcImageType.JPEGHigh
PageOutputQuality.Normal=MxdcImageType.JPEGMedium
PageOutputQuality.High=MxdcImageType.PNG
OutputFormat="image/pwg-raster"

[PrinterExtensions]
DriverEvent=FAapp.exe,{GUID}
PrintPreferences=FAapp.exe,{GUID2}

프린터 INF 파일 항목