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 |
|
| Biblioteca |
|
| Archivo DLL |
|
| Nombres Unicode y ANSI |
AddPrinterDriverW (Unicode) y AddPrinterDriverA (ANSI) |