Compartir a través de


Función SetPort

La función SetPort establece el estado asociado a un puerto de impresora.

Sintaxis

BOOL SetPort(
  _In_ LPTSTR pName,
  _In_ LPTSTR pPortName,
  _In_ DWORD  dwLevel,
  _In_ LPBYTE pPortInfo
);

Parámetros

pName [in]

Puntero a una cadena terminada en cero que especifica el nombre del servidor de impresora al que está conectado el puerto. Establezca este parámetro en NULL si el puerto está en el equipo local.

pPortName [in]

Puntero a una cadena terminada en cero que especifica el nombre del puerto de la impresora.

dwLevel [in]

Especifica el tipo de estructura al que apunta el parámetro pPortInfo .

Este valor debe ser 3, que corresponde a una estructura de datos PORT_INFO_3 .

pPortInfo [in]

Puntero a una estructura de PORT_INFO_3 que contiene la información de estado del puerto que se va a establecer.

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 de la función SetPort debe ejecutarse como administrador. Además, si el autor de la llamada es un Monitor de puertos o un Monitor de idioma, debe llamar a RevertToSelf para dejar de suplantar antes de llamar a SetPort.

Todos los programas que llaman a SetPort deben tener SERVER_ACCESS_ADMINISTER acceso al servidor al que está conectado el puerto.

Al establecer un valor de estado de puerto de impresora con el valor de gravedad PORT_STATUS_TYPE_ERROR, el administrador de impresión deja de enviar trabajos al puerto. El administrador de trabajos de impresión reanuda el envío de trabajos al puerto cuando otra llamada a SetPort borra el estado del puerto.

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
SetPortW (Unicode) y SetPortA (ANSI)

Consulte también

Impresión

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

PORT_INFO_3