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)

Consulte también

GetCommTimeouts

ReadFile

ReadFileEx

SetCommTimeouts

WriteFile

WriteFileEx