SERIAL_HANDFLOW estrutura (ntddser.h)
A estrutura SERIAL_HANDFLOW especifica as configurações de controle de fluxo e handshake para uma porta serial.
Sintaxe
typedef struct _SERIAL_HANDFLOW {
ULONG ControlHandShake;
ULONG FlowReplace;
LONG XonLimit;
LONG XoffLimit;
} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;
Membros
ControlHandShake
Uma máscara de bits que especifica as linhas de controle que a porta serial usa para o controle de fluxo. Esse membro é definido como zero ou como or bit a bit ou um ou mais dos sinalizadores a seguir.
Valor | Descrição |
---|---|
SERIAL_DTR_CONTROL | O DTR (terminal de dados pronto) está habilitado. |
SERIAL_DTR_HANDSHAKE | A DTR é usada para o controle de fluxo de entrada. |
SERIAL_CTS_HANDSHAKE | CTS (desmarcado para enviar) é usado para o controle de fluxo de saída. |
SERIAL_DSR_HANDSHAKE | DSR (conjunto de dados pronto) é usado para controle de fluxo de saída. |
SERIAL_DCD_HANDSHAKE | O DCD (detecção da transportadora de dados) é usado para o controle de fluxo de saída. |
SERIAL_DSR_SENSITIVITY | Ignore os caracteres que chegam à porta serial quando a linha DSR estiver inativa. |
SERIAL_ERROR_ABORT | Anule uma operação de transmissão ou recebimento se ocorrer um erro. |
O SerCx2 dá suporte ao sinalizador SERIAL_CTS_HANDSHAKE e pode ou não dar suporte aos outros seis sinalizadores definidos para esse membro, dependendo do driver do controlador serial e das funcionalidades do hardware do controlador serial. O SerCx dá suporte apenas aos quatro primeiros sinalizadores na tabela anterior. Serial.sys dá suporte a todos os sinalizadores na tabela anterior.
FlowReplace
Uma máscara de bits que especifica o comportamento do controle de fluxo. Esse membro é definido como zero ou como or bit a bit ou um ou mais dos sinalizadores a seguir.
Valor | Descrição |
---|---|
SERIAL_AUTO_TRANSMIT | Use XON/XOFF para controle de fluxo de dados transmitidos. |
SERIAL_AUTO_RECEIVE | Use XON/XOFF para controle de fluxo de dados recebidos. |
SERIAL_ERROR_CHAR | Insira o caractere de erro nos dados recebidos quando ocorrer um erro. Para obter mais informações, consulte a descrição do membro errorchar no SERIAL_CHARS. |
SERIAL_NULL_STRIPPING | Remova automaticamente caracteres nulos dos dados recebidos. |
SERIAL_BREAK_CHAR | Insira o caractere de quebra nos dados recebidos quando ocorrer uma interrupção. Para obter mais informações, consulte a descrição do membro BreakChar no SERIAL_CHARS. |
SERIAL_RTS_CONTROL | O RTS (solicitação para enviar) está habilitado. |
SERIAL_RTS_HANDSHAKE | O RTS é usado para o controle de fluxo de saída. |
SERIAL_XOFF_CONTINUE | Continue a transmitir depois de enviar XOFF para o dispositivo na outra extremidade da linha. |
O SerCx2 dá suporte aos sinalizadores SERIAL_RTS_CONTROL e SERIAL_RTS_HANDSHAKE, mas normalmente não dá suporte aos outros seis sinalizadores definidos para esse membro, dependendo do driver do controlador serial e dos recursos do hardware do controlador serial. O SerCx dá suporte apenas aos sinalizadores SERIAL_RTS_CONTROL e SERIAL_RTS_HANDSHAKE. Serial.sys dá suporte a todos os sinalizadores na tabela anterior.
XonLimit
Limite de XON. Quando o número de caracteres no buffer de recebimento interno fica abaixo do limite do XON, o driver do controlador serial usa os sinais de controle de fluxo para informar ao remetente para retomar o envio de caracteres.
XoffLimit
Limite de XOFF. Quando o número de caracteres no buffer de recebimento interno atinge o limite XOFF, o driver do controlador serial usa os sinais de controle de fluxo para informar ao remetente para parar de enviar caracteres.
Observações
Essa estrutura é usada pelas solicitações IOCTL_SERIAL_GET_HANDFLOW e IOCTL_SERIAL_SET_HANDFLOW.
Depois de enviar um caractere XOFF (transmissão desativada), a porta serial para de transmitir imediatamente, sem enviar mais caracteres. Esse comportamento dá suporte a portas seriais que interpretam qualquer caractere que segue um XOFF como um XON implícito (transmissão).
O SerCx2 e o SerCx dão suporte apenas a subconjuntos dos sinalizadores definidos para os membros ControlHandShake e FlowControl. Uma solicitação IOCTL_SERIAL_SET_HANDFLOW que especifica um sinalizador sem suporte é concluída com STATUS_NOT_IMPLEMENTED.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ntddser.h |