Compartir a través de


Función AddPrinterDriver

La función AddPrinterDriver instala un controlador de impresora local o remota y asocia la configuración, los datos y los archivos de controlador.

Para obtener más flexibilidad en la instalación o actualización de controladores de impresora, use la función AddPrinterDriverEx porque permite una actualización estricta, una degradación estricta, la copia solo de los archivos más recientes y la copia de todos los archivos (independientemente de las marcas de tiempo del archivo).

Nota:

Ya no se recomienda instalar un controlador de impresora sin un paquete de controladores. Use InstallPrinterDriverFromPackage en su lugar.

Sintaxis

BOOL AddPrinterDriver(
  _In_ LPTSTR pName,
  _In_ DWORD  Level,
  _In_ LPBYTE pDriverInfo
);

Parámetros

pName [in]

Puntero a una cadena terminada en null que especifica el nombre del servidor en el que se debe instalar el controlador.

Si pName es NULL, el controlador se instalará localmente.

Nivel [in]

Versión de la estructura a la que apunta pDriverInfo .

Este valor puede ser 2, 3, 4, 6 o 8.

pDriverInfo [in]

Puntero a una estructura que contiene información del controlador de impresora. Esto depende del valor de Level.

Valor Estructura de unidad de impresora
2 DRIVER_INFO_2
3 DRIVER_INFO_3
4 DRIVER_INFO_4
6 DRIVER_INFO_6
8 DRIVER_INFO_8

Si el miembro pEnvironment de la estructura a la que apunta pDriverInfo es NULL, se usa el entorno actual del autor de la llamada o cliente (no del destino o servidor).

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero.

Comentarios

Nota:

Se trata de una función de bloqueo o sincrónica que podría no devolverse inmediatamente. La rapidez con la que devuelve esta función depende de factores en tiempo de ejecución, como el estado de red, la configuración del servidor de impresión y los factores de implementación del controlador de impresora que son difíciles de predecir al escribir una aplicación. Llamar a esta función desde un subproceso que administra la interacción con la interfaz de usuario podría hacer que la aplicación parezca que no responde.

El autor de la llamada debe tener SeLoadDriverPrivilege.

Antes de que una aplicación llame a la función AddPrinterDriver , todos los archivos requeridos por el controlador deben copiarse en el directorio printer-driver del sistema. Una aplicación puede recuperar el nombre de este directorio llamando a la función GetPrinterDriverDirectory .

Una aplicación puede determinar qué controladores de impresora están instalados actualmente mediante una llamada a la función EnumPrinterDrivers .

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Winspool.h (incluye Windows.h)
Biblioteca
Winspool.lib
Archivo DLL
Winspool.drv
Nombres Unicode y ANSI
AddPrinterDriverW (Unicode) y AddPrinterDriverA (ANSI)

Consulte también

Impresión

Funciones de la API del administrador de trabajos de impresión

AddPrinterDriverEx

DRIVER_INFO_2

DRIVER_INFO_3

DRIVER_INFO_4

DRIVER_INFO_6

EnumPrinterDrivers

GetPrinterDriverDirectory