Compartir a través de


Operaciones de lectura y escritura

Windows admite operaciones de E/S de archivos sincrónicas y asincrónicas (superpuestas) en recursos de comunicaciones en serie. Las operaciones superpuestas permiten que el subproceso que realiza la llamada realice otras tareas mientras la operación se ejecuta en segundo plano. Un subproceso usa la función ReadFile o ReadFileEx para leer desde un recurso de comunicaciones y la función WriteFile o WriteFileEx para escribir en un recurso de comunicaciones. ReadFile y WriteFile se pueden realizar de forma sincrónica o asincrónica. ReadFileEx y WriteFileEx solo se pueden realizar de forma asincrónica.

El comportamiento de estas funciones de lectura y escritura se ve afectado por si la función se ejecuta como una operación superpuesta, si los parámetros de tiempo de espera están asociados al identificador y si los parámetros de control de flujo están asociados al identificador.

Un subproceso también puede escribir en un recurso de comunicaciones mediante la función TransmitCommChar , que transmite un carácter especificado delante de los datos pendientes en el búfer de salida. Esta función es útil para transmitir un carácter de señal de alta prioridad al sistema receptor. La transmisión del carácter de alta prioridad sigue estando sujeta al control de flujo y a los tiempos de espera de escritura, y la operación se realiza de forma sincrónica.

Un subproceso puede usar la función PurgeComm para descartar todos los caracteres en el búfer de entrada o salida de un dispositivo. PurgeComm también puede finalizar las operaciones de lectura o escritura pendientes, incluso si las operaciones no se han completado. Si un subproceso usa PurgeComm para vaciar un búfer de salida, los caracteres eliminados no se transmiten. Para vaciar el búfer de salida al asegurarse de que se transmite el contenido, un subproceso puede llamar a la función FlushFileBuffers (una operación sincrónica). Sin embargo, tenga en cuenta que FlushFileBuffers está sujeto al control de flujo, pero no a los tiempos de espera de escritura, y no devolverá hasta que se hayan transmitido todas las operaciones de escritura pendientes.