Freigeben über


COMMTIMEOUTS-Struktur (winbase.h)

Enthält die Timeoutparameter für ein Kommunikationsgerät. Die Parameter bestimmen das Verhalten von ReadFile-, WriteFile-, ReadFileEx- und WriteFileEx-Vorgängen auf dem Gerät.

Syntax

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

Member

ReadIntervalTimeout

Die maximal zulässige Zeit bis zum Eintreffen des nächsten Byte auf der Kommunikationsleitung in Millisekunden. Wenn das Intervall zwischen dem Eintreffen von zwei Bytes diesen Betrag überschreitet, wird der ReadFile-Vorgang abgeschlossen, und alle gepufferten Daten werden zurückgegeben. Der Wert null gibt an, dass Intervalltimeouts nicht verwendet werden.

Ein Wert von MAXDWORD, kombiniert mit null Werten für die Member ReadTotalTimeoutConstant und ReadTotalTimeoutMultiplier , gibt an, dass der Lesevorgang sofort mit den Bytes zurückgegeben werden soll, die bereits empfangen wurden, auch wenn keine Bytes empfangen wurden.

ReadTotalTimeoutMultiplier

Der Multiplikator, der zum Berechnen des gesamten Timeoutzeitraums für Lesevorgänge in Millisekunden verwendet wird. Für jeden Lesevorgang wird dieser Wert mit der angeforderten Anzahl von Bytes multipliziert, die gelesen werden sollen.

ReadTotalTimeoutConstant

Eine Konstante, die zum Berechnen des gesamten Timeoutzeitraums für Lesevorgänge in Millisekunden verwendet wird. Für jeden Lesevorgang wird dieser Wert dem Produkt des ReadTotalTimeoutMultiplier-Elements und der angeforderten Anzahl von Bytes hinzugefügt.

Der Wert 0 für die Member ReadTotalTimeoutMultiplier und ReadTotalTimeoutConstant gibt an, dass die Gesamtzeitüberschreitungen nicht für Lesevorgänge verwendet werden.

WriteTotalTimeoutMultiplier

Der Multiplikator, der zum Berechnen des gesamten Timeoutzeitraums für Schreibvorgänge in Millisekunden verwendet wird. Für jeden Schreibvorgang wird dieser Wert mit der Anzahl der zu schreibenden Bytes multipliziert.

WriteTotalTimeoutConstant

Eine Konstante, die verwendet wird, um den gesamten Timeoutzeitraum für Schreibvorgänge in Millisekunden zu berechnen. Für jeden Schreibvorgang wird dieser Wert dem Produkt des WriteTotalTimeoutMultiplier-Elements und der Anzahl der zu schreibenden Bytes hinzugefügt.

Der Wert 0 für die Member WriteTotalTimeoutMultiplier und WriteTotalTimeoutConstant gibt an, dass die Gesamtzeitüberschreitungen nicht für Schreibvorgänge verwendet werden.

Hinweise

Wenn eine Anwendung ReadIntervalTimeout undReadTotalTimeoutMultiplier auf MAXDWORD festlegt und ReadTotalTimeoutConstant auf einen Wert größer als 0 und kleiner als MAXDWORD festlegt, tritt eine der folgenden Aktionen auf, wenn die ReadFile-Funktion aufgerufen wird:

  • Wenn im Eingabepuffer Bytes vorhanden sind, wird ReadFile sofort mit den Bytes im Puffer zurückgegeben.
  • Wenn im Eingabepuffer keine Bytes vorhanden sind, wartet ReadFile , bis ein Byte eintrifft, und gibt dann sofort zurück.
  • Wenn innerhalb der durch ReadTotalTimeoutConstant angegebenen Zeit keine Bytes eintreffen, wird für ReadFile ein Timeoutout ausgeführt.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP
Unterstützte Mindestversion (Server) Windows Server 2003
Kopfzeile winbase.h (einschließlich Windows.h)

Weitere Informationen

GetCommTimeouts

ReadFile

ReadFileEx

SetCommTimeouts

WriteFile

WriteFileEx