Compartir a través de


Función WritePort (winsplp.h)

La función de un monitor de WritePort puerto 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.

Comentarios

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

El identificador recibido como argumento hPort de la función es el identificador de puerto que proporcionó la función OpenPort o OpenPortEx del monitor.

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

Normalmente, una función dll del servidor de WritePort 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 error de la operación de escritura comprobando WritePortel valor devuelto, no el recuento de bytes devuelto. Por lo tanto, un recuento de bytes devuelto de cero no representa una escritura con error a menos que la función devuelva FALSE.

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

Es aceptable que un monitor de idioma llame a la rutina de un monitor de WritePort puerto fuera de un par 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 Value
Plataforma de destino Escritorio
Encabezado winsplp.h (incluya Winsplp.h)
Library NtosKrnl.exe

Consulte también

StartDocPort

OpenPortEx

OpenPort

MONITOR2

EndDocPort