Función AddPrinterConnection2
Agrega una conexión a la impresora especificada para el usuario actual y especifica los detalles de conexión.
Sintaxis
BOOL AddPrinterConnection2(
_In_ HWND hWnd,
_In_ LPCTSTR pszName,
DWORD dwLevel,
_In_ PVOID pConnectionInfo
);
Parámetros
-
hWnd [in]
-
Identificador de la ventana primaria en la que se mostrará el cuadro de diálogo si el sistema de impresión debe descargar un controlador de impresora del servidor de impresión para esta conexión.
-
pszName [in]
-
Puntero a una cadena terminada en null constante que especifica el nombre de la impresora a la que el usuario actual desea conectarse.
-
dwLevel
-
Versión de la estructura a la que apunta pConnectionInfo. Actualmente, solo se define el nivel 1, por lo que el valor de dwLevel debe ser 1.
-
pConnectionInfo [in]
-
Puntero a una estructura de PRINTER_CONNECTION_INFO_1 . Consulte la sección Comentarios para obtener más información sobre este parámetro.
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. Para obtener información de error extendida, llame a GetLastError.
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.
Cuando Windows Vista realiza una conexión a una impresora, es posible que tenga que copiar los archivos del controlador de impresora desde el servidor al que está conectada la impresora. Si el usuario no tiene permiso para copiar archivos en la ubicación adecuada, se produce un error en la función AddPrinterConnection2 y GetLastError devuelve ERROR_ACCESS_DENIED.
Si los archivos del controlador de impresora deben copiarse desde el servidor de impresión, pero no se pueden copiar silenciosamente debido a las directivas de grupo que están en vigor y PRINTER_CONNECTION_NO_UI se establece en pConnectionInfo-dwFlags>, no se mostrará ningún cuadro de diálogo y se producirá un error en la llamada.
Si el controlador de impresora local se puede usar para representar trabajos de impresión para esta impresora y la versión del controlador local no debe coincidir con la versión del controlador de impresora en el servidor, establezca PRINTER_CONNECTION_MISMATCH en pConnectionInfo-dwFlags> y asigne el puntero a una variable de cadena que contenga la ruta de acceso al controlador de impresora local a pConnectionInfo-pszDriverName>.
Se enumerará una conexión de impresora establecida mediante una llamada a AddPrinterConnection2 cuando se llame a EnumPrinters con dwType establecido en PRINTER_ENUM_CONNECTION.
La versión ANSI de esta función, AddPrinterConnection2A, no se admite y devuelve ERROR_NOT_SUPPORTED.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2008 [solo aplicaciones de escritorio] |
Encabezado |
|
Biblioteca |
|
Archivo DLL |
|
Nombres Unicode y ANSI |
AddPrinterConnection2W (Unicode) |