Compartilhar via


estrutura SERIAL_HANDFLOW (ntddser.h)

A estrutura SERIAL_HANDFLOW especifica as configurações de handshake e controle de fluxo 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 O DTR é usado para o controle de fluxo de entrada.
SERIAL_CTS_HANDSHAKE CTS (limpar para enviar) é usado para o controle de fluxo de saída.
SERIAL_DSR_HANDSHAKE A DSR (conjunto de dados pronto) é usada para o controle de fluxo de saída.
SERIAL_DCD_HANDSHAKE O DCD (detecção da operadora 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 está 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 dos recursos 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 instruir o remetente a retomar o envio de caracteres.

XoffLimit

Limite de XOFF. Quando o número de caracteres no buffer de recebimento interno atinge o limite de XOFF, o driver do controlador serial usa os sinais de controle de fluxo para instruir o remetente a parar de enviar caracteres.

Comentários

Essa estrutura é usada pelas solicitações IOCTL_SERIAL_GET_HANDFLOW e IOCTL_SERIAL_SET_HANDFLOW .

Depois de enviar um caractere XOFF (transmitir) , 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).

SerCx2 e 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

Confira também

IOCTL_SERIAL_GET_HANDFLOW

IOCTL_SERIAL_SET_HANDFLOW