Creación de un controlador de impresora básico v4
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.
Importante
Microsoft ha anunciado el fin del mantenimiento del ciclo de vida para los controladores de impresora v3 y v4 heredados.
Para obtener más información, consulte Fin del plan de mantenimiento para controladores de impresora de terceros en Windows.
Advertencia
Este tutorial del controlador de impresora contiene varios errores y no se puede usar en este momento.
Cree un controlador de impresora v4 básico mediante el Asistente para desarrollo de controladores en Microsoft Visual Studio 2019 para seleccionar el conjunto mínimo de características para crear un controlador de impresora funcional.
Las instrucciones de este tema se centrarán en los pasos necesarios para crear un controlador y no explicarán las muchas opciones de controlador de impresora disponibles en el asistente.
La intención de este tema es proporcionar una introducción al proceso implicado al desarrollar un controlador de impresora en Visual Studio 2019.
Se proporciona una explicación más detallada de las opciones del controlador de impresora en Exploración de las opciones del controlador en el asistente.
Requisitos previos
Siga las instrucciones de Descarga del Kit para controladores de Windows (WDK) y asegúrese de que ha completado los siguientes elementos:
Instale Visual Studio 2019 con la carga de trabajo Desarrollo de escritorio con C++ y la versión correcta del SDK de Windows 10.
Instale el Kit para controladores de Windows (WDK) para Windows 10, versión 2004.
Instale la extensión del Kit para controladores de Windows (WDK) para Visual Studio 2019.
Selección de características para el controlador básico
En Visual Studio, en el menú principal, seleccione Archivo>Nuevo>Proyecto.
En la ventana Nuevo proyecto, en el cuadro de búsqueda de la parte superior derecha, escriba controlador de impresora v4 y pulse Entrar. Esto recuperará todas las plantillas de controlador cuyos nombres contienen el texto de búsqueda.
En el panel central, seleccione Controlador de impresora V4.
Escriba un nombre para el controlador en el campo Nombre y, a continuación, seleccione Aceptar. Por ejemplo, podría escribir MyV4PrintDriver.
En el Asistente para crear un controlador de impresión v4, en Elegir el tipo de representación del controlador: seleccione Controlador de impresión V4 con filtros de representación personalizados (acepta solo XPS).
Deje todas las demás opciones con su configuración predeterminada y seleccione Siguiente.
En la sección Información de instalación del asistente, deje todas las opciones con su configuración predeterminada y, a continuación, seleccione Siguiente.
En la sección Información de instalación (página 2) del asistente, deje todas las opciones con su configuración predeterminada y, a continuación, seleccione Siguiente.
Microsoft Visual Studio usa las selecciones anteriores para generar los archivos de proyecto para MyV4PrintDriver.
Comprobación de los archivos de controlador generados
Vaya a la carpeta de los archivos de controlador generados. Por ejemplo, si llamó al proyecto MyV4PrintDriver, de forma predeterminada, los archivos se guardarían en la siguiente ubicación: Mis documentos > Visual Studio 2019 > Proyectos > MyV4PrintDriver > MyV4PrintDriver.
Compruebe que la carpeta contiene los siguientes archivos:
Nombre de archivo Tipo de archivo MyV4PrintDriver.gpd Archivo de descripción de impresora MyV4PrintDriver.inf Archivo de información de instalación MyV4PrintDriver.vcxproj Archivo del proyecto C++ MyV4PrintDriver.vcxproj.filters Archivo de filtros de proyecto de C++ MyV4PrintDriver-manifest.ini Archivo de opciones de configuración (el manifiesto del controlador de impresión) V4PrintDriver-Intellisense.js Archivo JavaScript para IntelliSense V4PrintDriver-Intellisense-Windows8.1.js Archivo JavaScript para IntelliSense
Observe en la tabla anterior que uno de los archivos creados es un archivo INF. Tenga en cuenta que Visual Studio creó un archivo INF principal que debe completarse para que se pueda usar para instalar el controlador.
Creación de un PrinterDriverID único para el controlador
En el menú Visual Studio Tools, seleccione Crear GUID.
Seleccione la opción 4. Formato del Registro y seleccione el botón Copiar.
En Visual Studio, en el Explorador de soluciones, expanda el nodo MyV4PrintDriver.
Seleccione Archivos de controlador y, a continuación, en la ventana Propiedades , examine el valor del campo Identificador único. Reemplace este valor por el GUID que generó mediante Pegar.
Completar el archivo INF
En el proyecto MyV4PrintDriver debe haber una entrada para archivos de controlador. Abra este archivo y el archivo MyV4PrintDriver.inf debe aparecer en la lista. Abra dicho archivo.
1. Actualice el aviso de copyright
Las dos primeras líneas del archivo INF son el aviso de copyright del paquete de controladores.
La línea 1 contiene el año y el nombre de su empresa. Reemplace los caracteres YYYY por el año actual y reemplace los caracteres <Nombre del fabricante> por el nombre de la empresa.
La línea 2 describe el contenido del controlador INF, incluido el nombre del fabricante y la información del modelo del dispositivo. Reemplace los caracteres <Nombre del fabricante> por el nombre de la empresa y reemplace los caracteres del <modelo de impresora> por el nombre del modelo de la impresora compatible con el controlador.
Por ejemplo, si el año es 2021 y el nombre de su empresa es Fabrikam, y el modelo de dispositivo de impresión es 1234, escriba lo siguiente:
; Copyright (c) 2021 Fabrikam
; INF file for the Fabrikam 1234 print driver
2. Verifique que la sección [Version] sea correcta
Busque la línea que contiene [Version].
Compruebe y asegúrese de que ve esta línea:
ClassVer=4.0
Compruebe y asegúrese de que ve esta línea:
Signature="$WINDOWS NT$"
3. Configure la sección [SourceDisksFiles]
Busque la línea que contiene [SourceDisksFiles].
Debajo de este tipo, se muestran las siguientes líneas:
MyV4PrintDriver.gpd=1
MyV4PrintDriver-manifest.ini=1
MyV4PrintDriverRenderFilter-PipelineConfig.xml=1
MyV4PrintDriverRenderFilter.dll=1
4. Configure la sección [DriverFiles]
Busque la línea que contiene [DriverFiles].
Debajo de este tipo, se muestran las siguientes líneas:
MyV4PrintDriver.gpd
MyV4PrintDriver-manifest.ini
MyV4PrintDriverRenderFilter-PipelineConfig.xml
MyV4PrintDriverRenderFilter.dll
5. Configure la sección [Standard.NT$ARCH$]
Busque la línea que contiene [Standard.NT$ARCH$].
En esta sección se hace referencia a la sección Install
del INF para cada modelo. Por ejemplo, si el modelo de la impresora es Fabrikam 1234, escriba lo siguiente:
"Fabrikam 1234"=DriverInstall, USBPRINT\\Fabrikam1234
"Fabrikam 1234"=DriverInstall, WSDPRINT\\Fabrikam1234
6. Agregue PrinterDriverID al archivo INF.
En Visual Studio, en el Explorador de soluciones, expanda el nodo MyV4PrintDriver.
Seleccione Archivos de controlador y, a continuación, en la ventana Propiedades, examine el valor del campo Identificador único. Este es el identificador del controlador (el GUID). Resáltelo y cópielo.
En el archivo INF, en la sección [Standard.NT$ARCH$], escriba la siguiente línea:
"Fabrikam 1234"=DriverInstall,
Después de la coma, pegue el GUID que copió en el paso anterior. La sección completada [Standard.NT$ARCH$] debe ser similar a la siguiente:
"Fabrikam 1234"=DriverInstall, {GUID}
"Fabrikam 1234"=DriverInstall, USBPRINT\Fabrikam1234
"Fabrikam 1234"=DriverInstall, WSDPRINT\Fabrikam1234
7. Configure la sección [Strings]
Busque la línea que contiene [Strings].
Debajo encontrará la definición de la cadena ManufacturerName. Reemplace los caracteres <Nombre del fabricante> por el nombre de su empresa para proporcionar el nombre de un fabricante para la impresora de destino y eliminar el resto de la línea que contiene ; TODO:
Por ejemplo, si el nombre de la empresa es Fabrikam, escriba lo siguiente:
ManufacturerName="Fabrikam"
8. Guarde el archivo INF
Una vez terminado el archivo INF, debe tener el siguiente aspecto:
; Copyright (c) 2021 Fabrikam
; INF file for the Fabrikam 1234 print driver
[Version]
Signature="$Windows NT$"
Class=Printer
ClassGuid={4D36E979-E325-11CE-BFC1-08002BE10318}
Provider=%ManufacturerName%
CatalogFile=MyV4PrintDriver.cat
ClassVer=4.0
DriverVer=03/17/2014,1.0.0.0
PnpLockdown=1
[Manufacturer]
%ManufacturerName%=Standard,NT$ARCH$
[Standard.NT$ARCH$]
"Fabrikam 1234"=DriverInstall, {GUID}
"Fabrikam 1234"=DriverInstall, USBPRINT\Fabrikam1234
"Fabrikam 1234"=DriverInstall, WSDPRINT\Fabrikam1234
[DriverInstall]
CopyFiles=DriverFiles
[DriverFiles]
MyV4PrintDriver.gpd
MyV4PrintDriver-manifest.ini
MyV4PrintDriverRenderFilter-PipelineConfig.xml
MyV4PrintDriverRenderFilter.dll
[DestinationDirs]
DefaultDestDir = 66000
[SourceDisksNames]
1 = %DiskName%,,,""
[SourceDisksFiles]
MyV4PrintDriver.gpd=1
MyV4PrintDriver-manifest.ini=1
MyV4PrintDriverRenderFilter-PipelineConfig.xml=1
MyV4PrintDriverRenderFilter.dll=1
[Strings]
ManufacturerName="Fabrikam"
DiskName="MyV4PrintDriver Installation Disk"
Actualice la lista de archivos de controlador
En Visual Studio, en el Explorador de soluciones, expanda el nodo MyV4PrinterDriver.
Seleccione el archivo MyV4PrintDriver.gpd y arrástrelo al nodo Archivos de controlador.
Haga lo mismo con MyV4PrintDriver-manifest.ini.
Adición del archivo de configuración de canalización al paquete de controladores
En el Explorador de soluciones, mantenga seleccionado (o haga clic con el botón derecho) el proyecto MyV4PrintDriver y seleccione Propiedades.
En la ventana Páginas de propiedades de MyV4PrintDriver, expanda Propiedades de configuración en el panel izquierdo.
Expanda Instalación del controlador y, a continuación, seleccione Archivos de paquete.
En el panel derecho, seleccione y haga clic en la fila <Editar...> de los archivos enumerados.
Reemplace el marcador de posición por la ruta de acceso relativa del archivo de configuración de canalización, por ejemplo,
../MyV4PrintDriver Render Filter/MyV4PrintDriverRenderFilter-PipelineConfig.xml
y haga clic en Aceptar.
Adición de una referencia al filtro de representación al paquete de controladores
En Visual Studio, en el Explorador de soluciones, expanda el nodo MyV4PrinterDriver.
Mantenga pulsado (o haga clic con el botón derecho) el nodo Referencias -> seleccione Agregar referencia.
Active la casilla Filtro de representación de MyV4PrintDriver y, a continuación, seleccione Aceptar.
Configuración de la solución de controlador para la depuración y la implementación
En el Explorador de soluciones, mantenga seleccionado (o haga clic con el botón derecho) el proyecto MyV4PrintDriver y seleccione Propiedades.
En la ventana Páginas de propiedades de MyV4PrintDriver, expanda Propiedades de configuración en el panel izquierdo.
Expanda Instalación del controlador y, a continuación, seleccione Implementación. Haga lo siguiente en el panel derecho:
Asegúrese de que el nombre del equipo de destino esté configurado. Si no es así, seleccione "..." y siga las indicaciones del Asistente para configurar dispositivos para configurar un equipo de destino remoto.
Active Quitar versiones anteriores del controlador antes de la implementación.
Seleccione Instalar/Reinstalar y comprobar y, a continuación, seleccione Tarea predeterminada de instalación del paquete del controlador de impresora en el cuadro desplegable.
Escriba el nombre del controlador en el campo Argumentos opcionales (sin comillas alrededor del nombre).
Seleccione Aceptar.
Configuración de la firma de controladores
En el Explorador de soluciones, mantenga seleccionado (o haga clic con el botón derecho) el proyecto MyV4PrintDriver y seleccione Propiedades.
En la ventana Páginas de propiedades de MyV4PrintDriver, expanda Propiedades de configuración en el panel izquierdo.
Expanda Firma de controladores y, a continuación, seleccione General.
En el panel derecho, confirme que el modo de firma está establecido en Firma para prueba.
Seleccione Certificado de prueba y, a continuación, seleccione Crear certificado de prueba... en el cuadro desplegable.
Seleccione TimeStampServer y, a continuación, seleccione Verisign en el cuadro desplegable.
Seleccione Aceptar.
Creación e implementación del controlador
En el Explorador de soluciones, mantenga pulsada (o haga clic con el botón derecho) Solución MyV4PrintDriver (2 proyectos) y seleccione Crear solución.
Cuando se complete el proceso de creación, se instalará automáticamente el controlador. Asegúrese de que no hay errores en la ventana Salida.
Prueba del controlador
Cree una cola de impresión mediante plug-and-play o el Asistente para agregar impresoras.
Para obtener más información sobre los archivos INF para el controlador de impresora v4, consulte INF del controlador V4.
Además de los archivos de la tabla anterior, observe que se creó una carpeta Filtro de representación de MyV4PrintDriver. Esta es la plantilla de proyecto de filtro de representación y proporciona una buena base para crear un filtro de representación XPS y un archivo de configuración de canalización de filtro XPS. Para obtener más información sobre los filtros de representación XPS, consulte Módulo de representación XPSDrv.