winbase.h

Estructura COMMTIMEOUTS

Definición

typedef struct _COMMTIMEOUTS {   // ctmo 
    DWORD ReadIntervalTimeout; 
    DWORD ReadTotalTimeoutMultiplier; 
    DWORD ReadTotalTimeoutConstant; 
    DWORD WriteTotalTimeoutMultiplier; 
    DWORD WriteTotalTimeoutConstant; 
} COMMTIMEOUTS,*LPCOMMTIMEOUTS;

La estructura COMMTIMEOUTS se usa en las funciones SetCommTimeouts y GetCommTimeouts para modificar o consultar los parámetros de time-out para un dispositivo de comunicaciones. Los parámetros determinan el comportamiento de las operaciones ReadFile, WriteFile, ReadFileEx y WriteFileEx en el dispositivo.

Descripción

ReadIntervalTimeout: especifica el tiempo máximo, en milisegundos, que se permite transcurrir entre la recepción de dos caracteres en una línea de comunicaciones. Durante una operación ReadFile, el periodo de tiempo empieza cuando se recibe el primer carácter. Si el intervalo entre la llegada de dos caracteres cualesquiera excede de esa cantidad, la operación ReadFile se termina y se devuelve cualquier dato en el buffer. Un valor de cero indica que no se usa este intervalo de time-outs.

Un valor de MAXDWORD, combinado con valores cero para los miembros ReadTotalTimeoutConstant y ReadTotalTimeoutMultiplier, especifica que the la operación de lectura debe regresar inmediatamente con los caracteres que ya se hayan recibido, incluso aunque no se haya recibido ninguno.

ReadTotalTimeoutMultiplier: especifica el multiplicador, en milisegundos, usado para calcular el periodo de time-out total para operaciones de lectura. Para cada operación de lectura, este valor se multiplica por el número de bytes que se haya requerido leer.

ReadTotalTimeoutConstant: especifica la constante, en milisegundos, usada para calcular el periodo total de time-out para operaciones de lectura. Para cada operación de lectura, este valor se añade al producto del miembro ReadTotalTimeoutMultiplier y el número de bytes requeridos.

Un valor cero para los miembros ReadTotalTimeoutMultiplier y ReadTotalTimeoutConstant indica que el tiempo total de time-out no se usa para operaciones de lectura.

WriteTotalTimeoutMultiplier: especifica el multiplicador, en milisegundos, usado para calcular el periodo de time-out total para operaciones de escritura. Para cada operación de escritura, este valor se multiplica por el número de bytes a escribir.

WriteTotalTimeoutConstant: especifica la constante, en milisegundos, usada para calcular el periodo total de time-out para operaciones de escritura. Para cada operación de escritura, este valor se añade al producto del miembro WriteTotalTimeoutMultiplier y el número de bytes a escribir.

Un valor cero para los miembros WriteTotalTimeoutMultiplier y WriteTotalTimeoutConstant indica que el tiempo total de time-out no se usa para operaciones de escritura.

Observaciones

Windows 95: Si una aplicación usa el valor MAXWORD para los miembros ReadIntervalTimeout y ReadTotalTimeoutMultiplier y para el miembro ReadTotalTimeoutConstant usa un valor mayor que cero y menor que MAXDWORD, ocurrirá uno de los siguientes casos cuando la función ReadFile sea llamada:

  • Si algún carácter en el buffer de entrada, ReadFile regresa inmediatamente con los caracteres que haya en el buffer.
  • Si no hay caracteres en el buffer de entrada, ReadFile espera hasta que un carácter llegue y regresa inmediatamente.
  • Si no llegan caracteres dentro del tiempo especificado por el miembro ReadTotalTimeoutConstant, ReadFile regresa por time-out.