Struttura COMMTIMEOUTS (winbase.h)
Contiene i parametri di timeout per un dispositivo di comunicazione. I parametri determinano il comportamento delle operazioni ReadFile, WriteFile, ReadFileEx e WriteFileEx nel dispositivo.
Sintassi
typedef struct _COMMTIMEOUTS {
DWORD ReadIntervalTimeout;
DWORD ReadTotalTimeoutMultiplier;
DWORD ReadTotalTimeoutConstant;
DWORD WriteTotalTimeoutMultiplier;
DWORD WriteTotalTimeoutConstant;
} COMMTIMEOUTS, *LPCOMMTIMEOUTS;
Members
ReadIntervalTimeout
Tempo massimo consentito prima dell'arrivo del byte successivo sulla linea di comunicazione, in millisecondi. Se l'intervallo tra l'arrivo di due byte supera questa quantità, l'operazione ReadFile viene completata e i dati memorizzati nel buffer vengono restituiti. Un valore pari a zero indica che i timeout di intervallo non vengono usati.
Valore di MAXDWORD, combinato con valori zero per i membri ReadTotalTimeoutConstant e ReadTotalTimeoutMultiplier , specifica che l'operazione di lettura deve restituire immediatamente con i byte già ricevuti, anche se non sono stati ricevuti byte.
ReadTotalTimeoutMultiplier
Moltiplicatore usato per calcolare il periodo di timeout totale per le operazioni di lettura, in millisecondi. Per ogni operazione di lettura, questo valore viene moltiplicato in base al numero richiesto di byte da leggere.
ReadTotalTimeoutConstant
Costante utilizzata per calcolare il periodo di timeout totale per le operazioni di lettura, in millisecondi. Per ogni operazione di lettura, questo valore viene aggiunto al prodotto del membro ReadTotalTimeoutMultiplier e il numero richiesto di byte.
Un valore pari a zero per i membri ReadTotalTimeoutMultiplier e ReadTotalTimeoutConstant indica che i timeout totali non vengono usati per le operazioni di lettura.
WriteTotalTimeoutMultiplier
Moltiplicatore usato per calcolare il periodo di timeout totale per le operazioni di scrittura, in millisecondi. Per ogni operazione di scrittura, questo valore viene moltiplicato per il numero di byte da scrivere.
WriteTotalTimeoutConstant
Costante usata per calcolare il periodo di timeout totale per le operazioni di scrittura, in millisecondi. Per ogni operazione di scrittura, questo valore viene aggiunto al prodotto del membro WriteTotalTimeoutMultiplier e il numero di byte da scrivere.
Un valore pari a zero per i membri WriteTotalTimeoutMultiplier e WriteTotalTimeoutConstant indica che i timeout totali non vengono usati per le operazioni di scrittura.
Commenti
Se un'applicazione imposta ReadIntervalTimeout e ReadTotalTimeoutMultiplier su MAXDWORD e imposta ReadTotalTimeoutConstant su un valore maggiore di zero e minore di MAXDWORD, uno dei seguenti si verifica quando viene chiamata la funzione ReadFile :
- Se nel buffer di input sono presenti byte, ReadFile restituisce immediatamente con i byte nel buffer.
- Se nel buffer di input non sono presenti byte, ReadFile attende fino all'arrivo di un byte e quindi restituisce immediatamente.
- Se non arrivano byte entro il tempo specificato da ReadTotalTimeoutConstant, ReadFile timeout.
Requisiti
Client minimo supportato | Windows XP |
Server minimo supportato | Windows Server 2003 |
Intestazione | winbase.h (include Windows.h) |