打印机 INF 文件项
重要
新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅新式打印平台和打印支持应用设计指南。
要使安装应用程序在打印服务器上安装打印机,必须调用后台处理程序的 AddPrinterDriverEx 函数以加载驱动程序文件,然后调用后台处理程序的 AddPrinter 函数以使打印机在服务器上可用。
AddPrinterDriverEx 函数需要 DRIVER_INFO_3 结构作为输入,AddPrinter 函数需要 PRINTER_INFO_2 结构作为输入。 默认打印机类安装程序 Ntprint.dll 读取打印机 INF 文件,以获取调用函数前必须放置在这些结构中的字符串值。
已定义 Ntprint.dll 识别的打印机驱动程序的一组 INF 文件条目。 这些条目的格式如下:
EntryName = Value
其中 EntryName 是标识条目的字符串,Value 是分配给条目的字符串值。
下表列出了应包含在打印机 INF 文件中的 INF 文件条目。 对于每个条目,该表包含以下项:
应分配给条目的值。
如果未定义条目,则为 Ntprint.dll 使用的默认值。
Ntprint.dll 在其中放置指向条目值的指针的结构成员。
INF 文件条目 | 值 | 默认值(如果条目未指定)。 | 结构成员 |
---|---|---|---|
ConfigFile | 驱动程序的打印机接口 DLL 的名称。 | 为 DriverFile 指定的值。 | DRIVER_INFO_3 结构的 pConfigFile 成员 |
DataFile | 驱动程序关联的数据文件的名称,例如 PPD 文件。 | INF 文件中驱动程序的部分名称。 | DRIVER_INFO_3 结构的 pDataFile 成员 |
DefaultDataType | 不与基于 NT 的操作系统一起使用。 | ||
DriverCategory | 请参阅此表后面的备注 1。 | 如果 INF 文件未指定驱动程序类别(如大多数 v3 驱动程序),则假设驱动程序的类别为 PrintFax.Printer。 | 无 |
DriverFile | 驱动程序的打印机图形 DLL 的名称。 | INF 文件中驱动程序的部分名称。 | DRIVER_INFO_3 结构的 pDriverPath 成员 |
ExcludeFromSelect | 请参阅此表后面的备注 2。 | 无 | 无 |
帮助文件 | 接口 DLL 帮助文件的名称。 | 无。 未指定帮助文件。 | DRIVER_INFO_3 结构的 pHelpFile 成员 |
LanguageMonitor | 要与打印机驱动程序关联的语言监视器的名称。 请参阅 LanguageMonitor 值格式部分。 | 无。 未指定语言监视器。 | DRIVER_INFO_3 结构的 pMonitorName 成员 |
PrintProcessor | 要与打印机队列关联的打印处理器的名称。 请参阅 PrintProcessor 值格式部分。 | 使用默认打印处理器 (WinPrint)。 | DRIVER_INFO_2 结构的 pPrintProcessor 成员 |
VendorSetup | 供应商提供的 DLL 中用于处理自定义打印机设置操作的函数的名称。 | 无。 请参阅此表后面的备注 3。 | 无 |
InboxVersionRequired | INF 引用的所有核心驱动程序的最低可接受版本。 有关 InboxVersionRequired 的详细信息,请参阅 INF InboxVersionRequired 指令。 | 无 | 无 |
1 (DriverCategory):如果 INF 文件指定类别,则分别为指定类别允许的值(0 到 5):
驱动程序类别 | 值 | 说明 |
---|---|---|
PrintFax.Printer | 0 | 一个打印队列,表示连接到计算机的打印机(通过本地协议或网络协议),或者另一台计算机上物理打印机的代理。 当用户打印到物理打印机时,结果为打印文档的纸张。 |
PrintFax.Fax | 1 | 表示物理或虚拟传真机的打印队列。 当用户打印到传真打印机时,结果(可能经过进一步的用户交互后)是发送传真。 |
PrintFax.Printer.File | 2 | 生成软拷贝文档的打印队列。 当用户打印到文件打印机时,用户必须先输入文件名,然后后台处理程序会将打印输出发送到该文件。 文件打印机始终需要文件名,但不需要其他用户输入。 如果没有让用户提供文件名的选项,应用将生成可供后台处理程序使用的文件名。 文件打印机的常见示例包括 Microsoft XPS 文档编写器 (MXDW) 和 PDF 编写器。 |
PrintFax.Printer.Virtual | 3 | 具有驱动程序的打印队列,该驱动程序针对对打印后台处理程序不透明的打印数据执行某些操作。 当用户打印到虚拟打印机时,一些可能的结果包括将打印文档保存在计算机上的某个位置、发送到另一个应用程序或通过电子邮件发送。 打印到虚拟打印机的常见示例是打印文档发送到 Microsoft Office OneNote 打印机的场景。 当用户选择打印到虚拟打印机时,可能需要进一步的用户交互,由驱动程序或其他某个驱动程序组件启动。 有关详细信息,请参阅打印机 INF 文件中的虚拟打印机。 |
PrintFax.Printer.Service | 4 | 表示打印服务的打印队列。 当用户选择打印到服务时,结果(可能经过进一步的用户交互后)是第三方打印服务接收打印内容。 然后,用户可以转到实际经营地点来选取打印输出。 |
PrintFax.Printer.3D | 5 | 一个打印队列,表示 3D 打印机的数据流。 如果无意中为 2D 打印机(常规打印机)指定此类别,则 2D 打印机将仅输出数据流的 2D 内容。 如果为 3D 打印机正确指定了此类别,但 2D 数据流将被发送到 3D 打印机,则 3D 打印机不会生成任何输出。 |
另请注意,v4 打印驱动程序使用清单文件。 有关详细信息,请参阅 V4 驱动程序清单。
注意
2 (ExcludeFromSelect):不应在“选择设备”对话框或“添加打印机向导”中显示的设备的设备 ID。 对于打印机,这包括 INF 文件中具有重复设备说明的设备的所有 PnP 条目;例如,具有用于红外和并行枚举或其他总线的多个条目的设备。 ExcludeFromSelect 条目与此表中的所有其他条目不同,必须显示在 INF 文件的“控制标志”部分中。 有关详细信息,请参阅 INF ControlFlags 部分。
注意
3 (VendorSetup):如果未指定 VendorSetup 条目,则不会执行自定义设置操作。 具体而言,打印处理器、打印监视器或打印机驱动程序安装期间不允许使用用户界面,除非使用 VendorSetup INF 条目。 有关此条目的详细信息,请参阅自定义打印机设置操作。
重要
VendorSetup 现已弃用,不应由开发的任何新的 v3 或 v4 驱动程序使用。 有关 VendorSetup 的信息仅供参考,或用于维护已使用此 INF 指令的现有 v3 驱动程序。
打印机 INF 文件条目通常在打印机 INF 文件数据部分中指定。 有关示例,请参阅示例打印机 INF 文件。
LanguageMonitor 值格式
打印机 INF 文件中包括 LanguageMonitor 条目时,值格式如下所示:
LanguageMonitor=" MonitorName , MonitorDLLName "
其中 MonitorName 是表示监视器显示名称的文本字符串,MonitorDLLName 是监视器 DLL 的文件名。
PrintProcessor 值格式
打印机 INF 文件中包括 PrintProcessor 条目时,值格式如下所示:
PrintProcessor=" PrintProcessorName , PrintProcessorDLLName "
其中 PrintProcessorName 是表示打印处理器显示名称的文本字符串, PrintProcessorDLLName 是 DLL 的文件名。
从属文件
从属文件是打印机驱动程序文件,该文件包含在打印机 INF 文件安装部分中,其 dirid 为 66000,但未分配给 DriverFile、DataFile、ConfigFile 或 HelpFile 条目。
以下示例显示 INF 文件中的摘录,该文件通过将从属文件复制到打印机驱动程序目录(即 dirid 66000 指定的目录)来安装这三个文件:
[Contoso]
%PRINTER_MODEL_123%=Contoso_Install_Section,LPTENUM\Contoso_1284.4_P29C5
...
[Contoso_Install_Section]
CopyFiles=@Contoso.ini,@Contoso.xml,@Contoso.dll
...
[DestinationDirs]
DefaultDestDir=66000
...
[Strings]
PRINTER_MODEL_123 = "Contoso Printer Model 123"
在此示例中,Contoso.ini 是打印机 INI 文件,Contoso.xml 是 bidi 扩展文件,Contoso.dll 是自定义组件。 有关打印机 INI 文件、bidi 扩展文件和自定义组件的详细信息,请参阅安装自定义驱动程序组件和双向通信架构。
指向和打印操作在客户端上安装驱动程序和依赖驱动程序的文件。
每个打印机模型最多可以指定 64 个依赖文件。