Partager via


Structure COMMTIMEOUTS (winbase.h)

Contient les paramètres de délai d’attente d’un appareil de communication. Les paramètres déterminent le comportement des opérations ReadFile, WriteFile, ReadFileEx et WriteFileEx sur l’appareil.

Syntaxe

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

Membres

ReadIntervalTimeout

Durée maximale autorisée à s’écouler avant l’arrivée de l’octet suivant sur la ligne de communication, en millisecondes. Si l’intervalle entre l’arrivée d’un octet quelconque dépasse cette quantité, l’opération ReadFile est terminée et toutes les données mises en mémoire tampon sont retournées. La valeur zéro indique que les délais d’expiration d’intervalle ne sont pas utilisés.

Une valeur de MAXDWORD, combinée à zéro pour les membres ReadTotalTimeoutConstant et ReadTotalTimeoutMultiplier , spécifie que l’opération de lecture doit retourner immédiatement avec les octets déjà reçus, même si aucun octet n’a été reçu.

ReadTotalTimeoutMultiplier

Multiplicateur utilisé pour calculer le délai d’expiration total des opérations de lecture, en millisecondes. Pour chaque opération de lecture, cette valeur est multipliée par le nombre d’octets à lire demandé.

ReadTotalTimeoutConstant

Constante utilisée pour calculer le délai d’expiration total des opérations de lecture, en millisecondes. Pour chaque opération de lecture, cette valeur est ajoutée au produit du membre ReadTotalTimeoutMultiplier et au nombre d’octets demandé.

La valeur zéro pour les membres ReadTotalTimeoutMultiplier et ReadTotalTimeoutConstant indique que les délais d’attente totaux ne sont pas utilisés pour les opérations de lecture.

WriteTotalTimeoutMultiplier

Multiplicateur utilisé pour calculer le délai d’attente total pour les opérations d’écriture, en millisecondes. Pour chaque opération d’écriture, cette valeur est multipliée par le nombre d’octets à écrire.

WriteTotalTimeoutConstant

Constante utilisée pour calculer le délai d’expiration total des opérations d’écriture, en millisecondes. Pour chaque opération d’écriture, cette valeur est ajoutée au produit du membre WriteTotalTimeoutMultiplier et au nombre d’octets à écrire.

La valeur zéro pour les membres WriteTotalTimeoutMultiplier et WriteTotalTimeoutConstant indique que les délais d’attente totaux ne sont pas utilisés pour les opérations d’écriture.

Remarques

Si une application définit ReadIntervalTimeout et ReadTotalTimeoutMultiplier sur MAXDWORD et définit ReadTotalTimeoutConstant sur une valeur supérieure à zéro et inférieure à MAXDWORD, l’une des opérations suivantes se produit lorsque la fonction ReadFile est appelée :

  • S’il existe des octets dans la mémoire tampon d’entrée, ReadFile retourne immédiatement les octets dans la mémoire tampon.
  • S’il n’y a pas d’octets dans la mémoire tampon d’entrée, ReadFile attend qu’un octet arrive, puis retourne immédiatement.
  • Si aucun octet n’arrive dans le délai spécifié par ReadTotalTimeoutConstant, ReadFile expire.

Configuration requise

   
Client minimal pris en charge Windows XP
Serveur minimal pris en charge Windows Server 2003
En-tête winbase.h (inclure Windows.h)

Voir aussi

GetCommTimeouts

ReadFile

ReadFileEx

SetCommTimeouts

WriteFile

WriteFileEx