Partilhar via


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

Consulte também

IOCTL_SERIAL_GET_HANDFLOW

IOCTL_SERIAL_SET_HANDFLOW