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) |