打印机 INF 文件条目

重要

建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) ,自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅 打印支持应用设计指南

对于在打印服务器上安装打印机的安装应用程序,它必须调用后台处理程序的 AddPrinterDriverEx 函数来加载驱动程序文件,然后调用后台处理程序的 AddPrinter 函数以使打印机在服务器上可用。

AddPrinterDriverEx 函数需要DRIVER_INFO_3结构作为输入,AddPrinter 函数需要PRINTER_INFO_2结构作为输入。 默认的 Windows 2000 或更高版本打印机类安装程序 Ntprint.dll 读取打印机 INF 文件以获取在调用函数之前必须放置在这些结构中的字符串值。

已定义 Ntprint.dll 识别的打印机驱动程序的一组 INF 文件条目。 这些条目具有以下格式:

EntryName = 价值

其中 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
HelpFile 接口 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=“ MonitorNameMonitorDLLName

其中 ,MonitorName 是表示监视器显示名称的文本字符串, MonitorDLLName 是监视器 DLL 的文件名。

PrintProcessor 值格式

打印机 INF 文件中包含 PrintProcessor 条目时,值格式如下所示:

PrintProcessor=“ PrintProcessorNamePrintProcessorDLLName

其中 PrintProcessorName 是表示打印处理器显示名称的文本字符串, PrintProcessorDLLName 是 DLL 的文件名。

依赖文件

对于 Windows 2000 及更高版本,依赖文件是打印机驱动程序文件,该文件包含在 打印机 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 个依赖文件。

双向通信架构

INF ControlFlags 节

安装自定义驱动程序组件

打印点

打印机 INF 文件安装部分

V4 驱动程序清单