Compartir a través de


Entradas de archivo INF de impresora

Importante

La plataforma de impresión moderna es el medio preferido de Windows para comunicarse con impresoras. Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.

Para obtener más información, consulte Plataforma de impresión moderna y la Guía de diseño de aplicaciones para compatibilidad con impresión.

Para que una aplicación de instalación instale una impresora en un servidor de impresión, debe llamar a la función AddPrinterDriverEx del administrador para cargar archivos de controlador y, a continuación, llamar a la función AddPrinter del administrador de trabajos de impresión para que la impresora esté disponible en el servidor.

La función AddPrinterDriverEx requiere una estructura DRIVER_INFO_3 como entrada y la función AddPrinter requiere una estructura PRINTER_INFO_2 como entrada. El instalador de clase de impresora predeterminado, Ntprint.dll, lee los archivos INF de impresora para obtener valores de cadena que deben colocarse en estas estructuras antes de llamar a las funciones.

Se ha definido un conjunto de entradas de archivo INF para controladores de impresora que Ntprint.dll reconoce. Estas entradas tienen el siguiente formato:

EntryName = Value

Donde EntryName es una cadena que identifica la entrada y Value es un valor de cadena asignado a la entrada.

En la tabla siguiente se enumeran las entradas del archivo INF que se deben incluir en los archivos INF de impresora. Para cada entrada, la tabla incluye los siguientes elementos:

  • Valor que se debe asignar a la entrada.

  • Valor predeterminado que Ntprint.dll usa si la entrada no está definida.

  • Miembro de estructura en el que Ntprint.dll coloca un puntero al valor de entrada.

Entrada de archivo INF Valor Valor predeterminado (si no se especifica la entrada) Miembro de estructura
ConfigFile Nombre del DLL de la interfaz de impresora del controlador. Valor especificado para DriverFile. Miembro pConfigFile de la estructura DRIVER_INFO_3
DataFile Nombre del archivo de datos asociado de un controlador, como un archivo PPD. Nombre de sección del controlador dentro del archivo INF. Miembro pDataFile de la estructura DRIVER_INFO_3
DefaultDataType No se usa con sistemas operativos basados en NT.
DriverCategory Consulte la Nota 1 que sigue a esta tabla. Si el archivo INF no especifica una categoría de controlador (como la mayoría de los controladores v3), se supone que la categoría del controlador es PrintFax.Printer. Ninguno
DriverFile Nombre del DLL de gráficos de impresora del controlador. Nombre de sección del controlador dentro del archivo INF. Miembro pDriverPath de la estructura DRIVER_INFO_3
ExcludeFromSelect Consulte la Nota 2 que sigue a esta tabla. Ninguno Ninguno
HelpFile Nombre del archivo de ayuda del DLL de la interfaz. Ninguno. No se especifica un archivo de ayuda. Miembro pHelpFile de la estructura DRIVER_INFO_3
LanguageMonitor Nombre de un monitor lenguaje idioma que se va a asociar al controlador de impresora. Consulte la sección Formato de valor de LanguageMonitor. Ninguno. No se especifica un monitor de lenguaje. Miembro pMonitorName de la estructura DRIVER_INFO_3
PrintProcessor Nombre de un procesador de impresión que se va a asociar a la cola de impresoras. Consulte la sección Formato de valor de PrintProcessor. Se usa el procesador de impresión predeterminado (WinPrint). Miembro pPrintProcessor de la estructura DRIVER_INFO_2
VendorSetup El nombre de una función dentro de un DLL proporcionado por el proveedor, que controla las operaciones de configuración de impresora personalizadas. Ninguno. Consulte la Nota 3 que sigue a esta tabla. Ninguno
InboxVersionRequired Versión mínima aceptable para todos los controladores principales a los que hace referencia el INF. Para obtener más información sobre InboxVersionRequired, consulte Directiva InboxVersionRequired del INF. Ninguno Ninguno

1 (DriverCategory): si el archivo INF especifica una categoría, estos son los valores permitidos (de 0 a 5 respectivamente) para especificar categorías:

Categoría de controlador Valor Descripción
PrintFax.Printer 0 Una cola de impresión que representa una impresora conectada al equipo (a través de un protocolo de red o local) o un proxy a una impresora física en otro equipo. Cuando el usuario imprime en una impresora física, el resultado es papel con el documento impreso en ella.
PrintFax.Fax 1 Una cola de impresión que representa una máquina de fax física o virtual. Cuando el usuario imprime en una impresora de fax, el resultado (posiblemente después de una interacción adicional del usuario) es que se envía un fax.
PrintFax.Printer.File 2 Una cola de impresión que genera documentos de copia temporal. Cuando el usuario imprime en una impresora de archivos, primero debe escribir un nombre de archivo y, a continuación, el administrador envía la salida impresa a ese archivo. Las impresoras de archivos siempre requieren un nombre de archivo, pero no toman ninguna otra entrada del usuario. Cuando no hay ninguna opción para que el usuario proporcione un nombre de archivo, la aplicación genera un nombre de archivo que está disponible para el administrador de trabajos de impresión. Ejemplos comunes de impresoras de archivos son Microsoft XPS Document Writer (MXDW) y escritores PDF.
PrintFax.Printer.Virtual 3 Una cola de impresión que tiene un controlador que realiza alguna operación en los datos impresos que es opaca en el administrador de trabajos de impresión. Cuando el usuario imprime en una impresora virtual, algunos resultados posibles incluyen el documento impreso que se guarda en algún lugar del equipo, se envía a otra aplicación o se envía por correo electrónico. Un ejemplo común de impresión en una impresora virtual es el escenario en el que se envía el documento impreso a la impresora OneNote de Microsoft Office. Cuando el usuario selecciona imprimir en una impresora virtual, puede haber una necesidad de mayor interacción del usuario, iniciada por el controlador o algún otro componente de controlador. Para obtener más información, consulte Impresoras virtuales en archivos INF de impresora.
PrintFax.Printer.Service 4 Una cola de impresión que representa un servicio de impresión. Cuando el usuario selecciona imprimir en un servicio, el resultado (posiblemente después de una interacción adicional del usuario) es que un servicio de impresión de terceros recibe el contenido impreso. Después, el usuario puede ir a la ubicación empresarial física para recoger la salida impresa.
PrintFax.Printer.3D 5 Una cola de impresión que representa el flujo de datos de una impresora 3D. Si esta categoría se especifica involuntariamente para una impresora 2D (una impresora normal), la impresora 2D simplemente generará el contenido 2D del flujo de datos. Si esta categoría se especifica correctamente para una impresora 3D, pero se envía un flujo de datos 2D a la impresora 3D, la impresora 3D no generará ninguna salida.

Tenga en cuenta también que los controladores de impresión v4 usan un archivo de manifiesto. Para obtener más información, consulte Manifiesto de controlador V4.

Nota:

2 (ExcludeFromSelect): el identificador de dispositivo de un dispositivo que no debe mostrarse en el cuadro de diálogo Seleccionar dispositivo o en el Asistente para agregar impresoras. En el caso de las impresoras, esto incluye todas las entradas PnP de los dispositivos que tienen descripciones duplicadas del dispositivo en el archivo INF; por ejemplo, los dispositivos que tienen varias entradas para la enumeración de infrarrojos y paralelas o para otro bus. La entrada ExcludeFromSelect, a diferencia de todas las demás de esta tabla, debe aparecer en la sección Control Flags del archivo INF. Consulte la sección ControlFlags de INF para obtener más información.

Nota:

3 (VendorSetup): si no se especifica ninguna entrada VendorSetup, no se realizan operaciones de configuración personalizadas. En concreto, no se permite ninguna interfaz de usuario durante la instalación del procesador de impresión, el monitor de impresión o el controlador de impresora, excepto mediante el uso de la entrada del INF VendorSetup. Para obtener más información sobre esta entrada, consulte Operaciones de configuración de impresora personalizadas.

Importante

VendorSetup ya está en desuso y no debe ser utilizado por ningún nuevo controlador v3 o v4 que desarrolle. Esta información sobre VendorSetup solo se proporciona como referencia o para el mantenimiento de los controladores v3 existentes que ya usan esta directiva INF.

Las entradas de archivo INF de impresora se especifican normalmente en secciones de datos de archivo INF de impresora. Para ver ejemplos, consulte los archivos INF de impresora de muestra.

Formato de valor de LanguageMonitor

Cuando se incluye una entrada LanguageMonitor en un archivo INF de impresora, el formato de valor es el siguiente:

LanguageMonitor=" MonitorName , MonitorDLLName "

Donde MonitorName es una cadena de texto que representa el nombre mostrado del monitor y MonitorDLLName es el nombre de archivo del DLL del monitor.

Formato de valor de PrintProcessor

Cuando se incluye una entrada PrintProcessor en un archivo INF de impresora, el formato de valor es el siguiente:

PrintProcessor=" PrintProcessorName , PrintProcessorDLLName "

Donde PrintProcessorName es una cadena de texto que representa el nombre mostrado del procesador de impresión y PrintProcessorDLLName es el nombre de archivo del DLL.

Archivos dependientes

Un archivo dependiente es un archivo de controlador de impresora que se incluye en una sección de instalación del INF de la impresora con un dirid de 66000, pero no asignado a las entradas DriverFile, DataFile, ConfigFile o HelpFile.

En el ejemplo siguiente se muestran extractos de un archivo INF que instala tres archivos dependientes copiándolos en el directorio printer-driver (es decir, en el directorio especificado por 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"

En este ejemplo, Contoso.ini es un archivo INI de impresora, Contoso.xml es un archivo de extensión bidi y Contoso.dll es un componente personalizado. Para obtener más información sobre los archivos INI de impresora, los archivos de extensión bidi y los componentes personalizados, consulte Instalación de componentes de controladores personalizados y Esquema de comunicación bidireccional.

Las operaciones de Punto e impresión instalan tanto el controlador como los archivos dependientes del controlador en el cliente.

Se puede especificar un máximo de 64 archivos dependientes para cada modelo de impresora.

Esquema de comunicación bidireccional

Sección ControlFlags de INF

Instalación de componentes de controladores personalizados

Punto e impresión

Sección de instalación de archivos de INF de impresora

Manifiesto del controlador V4