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 WritePort
el 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 |