Función AddPrinterDriver

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

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 de 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.

Value 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 llamador 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.

Observaciones

Nota

Se trata de una función de bloqueo o sincrónica y 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 de controladores 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 del controlador de impresora 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 llamando 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 (include 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