Estrutura COMMTIMEOUTS (winbase.h)
Contém os parâmetros de tempo limite para um dispositivo de comunicação. Os parâmetros determinam o comportamento das operações ReadFile, WriteFile, ReadFileEx e WriteFileEx no dispositivo.
Sintaxe
typedef struct _COMMTIMEOUTS {
DWORD ReadIntervalTimeout;
DWORD ReadTotalTimeoutMultiplier;
DWORD ReadTotalTimeoutConstant;
DWORD WriteTotalTimeoutMultiplier;
DWORD WriteTotalTimeoutConstant;
} COMMTIMEOUTS, *LPCOMMTIMEOUTS;
Membros
ReadIntervalTimeout
O tempo máximo permitido para decorrido antes da chegada do próximo byte na linha de comunicações, em milissegundos. Se o intervalo entre a chegada de dois bytes exceder esse valor, a operação ReadFile será concluída e todos os dados armazenados em buffer serão retornados. Um valor zero indica que os intervalos de tempo limite não são usados.
Um valor de MAXDWORD, combinado com valores zero para os membros ReadTotalTimeoutConstant e ReadTotalTimeoutMultiplier , especifica que a operação de leitura deve retornar imediatamente com os bytes que já foram recebidos, mesmo que nenhum bytes tenha sido recebido.
ReadTotalTimeoutMultiplier
O multiplicador usado para calcular o período total de tempo limite para operações de leitura, em milissegundos. Para cada operação de leitura, esse valor é multiplicado pelo número solicitado de bytes a serem lidos.
ReadTotalTimeoutConstant
Uma constante usada para calcular o período total de tempo limite para operações de leitura, em milissegundos. Para cada operação de leitura, esse valor é adicionado ao produto do membro ReadTotalTimeoutMultiplier e ao número solicitado de bytes.
Um valor zero para os membros ReadTotalTimeoutMultiplier e ReadTotalTimeoutConstant indica que o tempo limite total não é usado para operações de leitura.
WriteTotalTimeoutMultiplier
O multiplicador usado para calcular o período total de tempo limite para operações de gravação, em milissegundos. Para cada operação de gravação, esse valor é multiplicado pelo número de bytes a serem gravados.
WriteTotalTimeoutConstant
Uma constante usada para calcular o período total de tempo limite para operações de gravação, em milissegundos. Para cada operação de gravação, esse valor é adicionado ao produto do membro WriteTotalTimeoutMultiplier e ao número de bytes a serem gravados.
Um valor zero para os membros WriteTotalTimeoutMultiplier e WriteTotalTimeoutConstant indica que o tempo limite total não é usado para operações de gravação.
Comentários
Se um aplicativo definir ReadIntervalTimeout e ReadTotalTimeoutMultiplier como MAXDWORD e definir ReadTotalTimeoutConstant como um valor maior que zero e menor que MAXDWORD, um dos seguintes ocorrerá quando a função ReadFile for chamada:
- Se houver bytes no buffer de entrada, ReadFile retornará imediatamente com os bytes no buffer.
- Se não houver bytes no buffer de entrada, ReadFile aguardará até que um byte chegue e retorne imediatamente.
- Se nenhum bytes chegar dentro do tempo especificado por ReadTotalTimeoutConstant, ReadFile atingirá o tempo limite.
Requisitos
Cliente mínimo com suporte | Windows XP |
Servidor mínimo com suporte | Windows Server 2003 |
Cabeçalho | winbase.h (inclua Windows.h) |