Compartir a través de


Función WritePort (winsplp.h)

La función WritePort del monitor de puertos escribe datos en un puerto de impresora.

Sintaxis

BOOL WritePort(
  _In_  HANDLE  hPort,
  _In_  LPBYTE  pBuffer,
        DWORD   cbBuf,
  _Out_ LPDWORD pcbWritten
);

Parámetros

[in] hPort

Identificador de puerto proporcionado por el autor de la llamada.

[in] pBuffer

Puntero proporcionado por el autor de la llamada a un búfer que contiene datos que se van a escribir en el puerto.

cbBuf

Tamaño proporcionado por el autor de la llamada, en bytes, de pBuffer.

[out] pcbWritten

Puntero proporcionado por el autor de la llamada a una ubicación para recibir el número de bytes escritos correctamente en el puerto.

Valor devuelto

Si la operación se realiza correctamente, la función debe devolver TRUE. De lo contrario, debe devolver FALSE.

Observaciones

Los monitores de lenguaje y archivos DLL del servidor de supervisión de puertos son necesarios para definir una función de WritePort e incluir la dirección de la función en una estructura de MONITOR2.

El identificador recibido como argumento de hPort de la función es el identificador de puerto proporcionado por la función openPort o OpenPortEx del monitor.

Normalmente, la función WritePort de un monitor de lenguaje agrega comandos específicos del lenguaje al flujo de datos contenido en el búfer al que apunta pBuffery, a continuación, pasa el flujo de datos modificado a la función de WritePort del monitor de puerto.

Normalmente, una función WritePort dll del servidor de supervisión de puertos llama a writeFile (que se describe en la documentación de Microsoft Windows SDK) para enviar el flujo de datos al controlador de puerto en modo kernel.

Un trabajo de impresión típico consta de varias llamadas a WritePort. Cada llamada puede tener un valor cbBuf diferente.

La función debe devolver el número de bytes escritos correctamente colocando el número en la ubicación a la que apunta pcbWritten. En el caso de los monitores de idioma, este número no debe incluir el número de bytes adicionales específicos del idioma agregados al flujo de datos.

El administrador de colas determina el éxito o el error de la operación de escritura comprobando WritePortvalor devuelto, no el número de bytes devuelto. Por lo tanto, un recuento de bytes devuelto de cero no representa una escritura con errores a menos que la función devuelva FALSE.

Algún tipo de mecanismo de tiempo de espera implementado por el sistema o supervisado debe asegurarse de que la función WritePort devolverá dentro de un período de tiempo razonable, para evitar detener el colado.

Es aceptable que un monitor de idioma llame a la rutina de WritePort de un monitor de puerto fuera de un par de StartDocPort/EndDocPort. Sin embargo, algunos monitores de puerto pueden producir un error en esta llamada, por lo que el monitor de idioma debe escribirse para controlar este error.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de winsplp.h (incluya Winsplp.h)
biblioteca de NtosKrnl.exe

Consulte también

StartDocPort de

OpenPortEx

OpenPort

MONITOR2

EndDocPort de