Estructura COMMTIMEOUTS (winbase.h)
Contiene los parámetros de tiempo de espera de un dispositivo de comunicaciones. Los parámetros determinan el comportamiento de las operaciones ReadFile, WriteFile, ReadFileEx y WriteFileEx en el dispositivo.
Sintaxis
typedef struct _COMMTIMEOUTS {
DWORD ReadIntervalTimeout;
DWORD ReadTotalTimeoutMultiplier;
DWORD ReadTotalTimeoutConstant;
DWORD WriteTotalTimeoutMultiplier;
DWORD WriteTotalTimeoutConstant;
} COMMTIMEOUTS, *LPCOMMTIMEOUTS;
Miembros
ReadIntervalTimeout
Tiempo máximo permitido para transcurrir antes de la llegada del siguiente byte en la línea de comunicaciones, en milisegundos. Si el intervalo entre la llegada de dos bytes supera esta cantidad, se completa la operación ReadFile y se devuelven los datos almacenados en búfer. Un valor de cero indica que no se usan tiempos de espera de intervalo.
Un valor de MAXDWORD, combinado con cero valores para los miembros ReadTotalTimeoutConstant y ReadTotalTimeoutMultiplier , especifica que la operación de lectura se devuelve inmediatamente con los bytes que ya se han recibido, incluso si no se han recibido bytes.
ReadTotalTimeoutMultiplier
Multiplicador utilizado para calcular el período de tiempo de espera total para las operaciones de lectura, en milisegundos. Para cada operación de lectura, este valor se multiplica por el número solicitado de bytes que se van a leer.
ReadTotalTimeoutConstant
Constante usada para calcular el período de tiempo de espera total de las operaciones de lectura, en milisegundos. Para cada operación de lectura, este valor se agrega al producto del miembro ReadTotalTimeoutMultiplier y al número solicitado de bytes.
Un valor de cero para los miembros ReadTotalTimeoutMultiplier y ReadTotalTimeoutConstant indican que no se usan tiempos de espera totales para las operaciones de lectura.
WriteTotalTimeoutMultiplier
Multiplicador utilizado para calcular el período de tiempo de espera total de las operaciones de escritura, en milisegundos. Para cada operación de escritura, este valor se multiplica por el número de bytes que se van a escribir.
WriteTotalTimeoutConstant
Constante usada para calcular el período de tiempo de espera total de las operaciones de escritura, en milisegundos. Para cada operación de escritura, este valor se agrega al producto del miembro WriteTotalTimeoutMultiplier y el número de bytes que se van a escribir.
Un valor de cero para los miembros WriteTotalTimeoutMultiplier y WriteTotalTimeoutConstant indican que no se usan tiempos de espera totales para las operaciones de escritura.
Comentarios
Si una aplicación establece ReadIntervalTimeout y ReadTotalTimeoutMultiplier en MAXDWORD y establece ReadTotalTimeoutConstant en un valor mayor que cero y menor que MAXDWORD, se produce uno de los siguientes casos cuando se llama a la función ReadFile :
- Si hay bytes en el búfer de entrada, ReadFile devuelve inmediatamente con los bytes del búfer.
- Si no hay bytes en el búfer de entrada, ReadFile espera hasta que llega un byte y, a continuación, devuelve inmediatamente.
- Si no llegan bytes dentro del tiempo especificado por ReadTotalTimeoutConstant, ReadFile agota el tiempo de espera.
Requisitos
Cliente mínimo compatible | Windows XP |
Servidor mínimo compatible | Windows Server 2003 |
Encabezado | winbase.h (incluya Windows.h) |