Estrutura dcb (winbase.h)
Define a configuração de controle para um dispositivo de comunicação serial.
Sintaxe
typedef struct _DCB {
DWORD DCBlength;
DWORD BaudRate;
DWORD fBinary : 1;
DWORD fParity : 1;
DWORD fOutxCtsFlow : 1;
DWORD fOutxDsrFlow : 1;
DWORD fDtrControl : 2;
DWORD fDsrSensitivity : 1;
DWORD fTXContinueOnXoff : 1;
DWORD fOutX : 1;
DWORD fInX : 1;
DWORD fErrorChar : 1;
DWORD fNull : 1;
DWORD fRtsControl : 2;
DWORD fAbortOnError : 1;
DWORD fDummy2 : 17;
WORD wReserved;
WORD XonLim;
WORD XoffLim;
BYTE ByteSize;
BYTE Parity;
BYTE StopBits;
char XonChar;
char XoffChar;
char ErrorChar;
char EofChar;
char EvtChar;
WORD wReserved1;
} DCB, *LPDCB;
Membros
DCBlength
O comprimento da estrutura, em bytes. O chamador deve definir esse membro como sizeof(DCB)
.
BaudRate
A taxa de bugigangas na qual o dispositivo de comunicações opera. Esse membro pode ser um valor de taxa de baud real ou um dos índices a seguir.
fBinary
Se esse membro for TRUE, o modo binário estará habilitado. O Windows não dá suporte a transferências de modo não binário, portanto, esse membro deve ser TRUE.
fParity
Se esse membro for TRUE, a verificação de paridade será executada e os erros serão relatados.
fOutxCtsFlow
Se esse membro for TRUE, o sinal CTS (desmarcado para enviar) será monitorado para o controle de fluxo de saída. Se esse membro for TRUE e o CTS estiver desativado, a saída será suspensa até que o CTS seja enviado novamente.
fOutxDsrFlow
Se esse membro for TRUE, o sinal DSR (pronto para conjunto de dados) será monitorado para o controle de fluxo de saída. Se esse membro for TRUE e a DSR estiver desativada, a saída será suspensa até que a DSR seja enviada novamente.
fDtrControl
O controle de fluxo DTR (pronto para terminal de dados). Esse membro pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
Desabilita a linha DTR quando o dispositivo é aberto e o deixa desabilitado. |
|
Habilita a linha DTR quando o dispositivo é aberto e o deixa ligado. |
|
Habilita o handshaking de DTR. Se o handshaking estiver habilitado, será um erro para o aplicativo ajustar a linha usando a função EscapeCommFunction . |
fDsrSensitivity
Se esse membro for TRUE, o driver de comunicações será sensível ao estado do sinal DSR. O driver ignora todos os bytes recebidos, a menos que a linha de entrada do modem DSR seja alta.
fTXContinueOnXoff
Se esse membro for TRUE, a transmissão continuará depois que o buffer de entrada tiver entrado em bytes XoffLim de estar cheio e o driver tiver transmitido o caractere XoffChar para parar de receber bytes. Se esse membro for FALSE, a transmissão não continuará até que o buffer de entrada esteja dentro de bytes XonLim de estar vazio e o driver tenha transmitido o caractere XonChar para retomar a recepção.
fOutX
Indica se o controle de fluxo XON/XOFF é usado durante a transmissão. Se esse membro for TRUE, a transmissão será interrompida quando o caractere XoffChar for recebido e será iniciada novamente quando o caractere XonChar for recebido.
fInX
Indica se o controle de fluxo XON/XOFF é usado durante a recepção. Se esse membro for TRUE, o caractere XoffChar será enviado quando o buffer de entrada chegar dentro de bytes XoffLim de estar cheio e o caractere XonChar for enviado quando o buffer de entrada chegar dentro de bytes XonLim de estar vazio.
fErrorChar
Indica se os bytes recebidos com erros de paridade são substituídos pelo caractere especificado pelo membro ErrorChar . Se esse membro for TRUE e o membro fParity for TRUE, ocorrerá a substituição.
fNull
Se esse membro for TRUE, bytes nulos serão descartados quando recebidos.
fRtsControl
O controle de fluxo RTS (solicitação para enviar). Esse membro pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
Desabilita a linha RTS quando o dispositivo é aberto e o deixa desabilitado. |
|
Habilita a linha RTS quando o dispositivo é aberto e o deixa ligado. |
|
Habilita o handshaking rts. O driver aciona a linha RTS quando o buffer "type-ahead" (entrada) está menos de metade cheio e reduz a linha RTS quando o buffer está mais de três quartos cheio. Se o handshaking estiver habilitado, será um erro para o aplicativo ajustar a linha usando a função EscapeCommFunction . |
|
Especifica que a linha RTS será alta se os bytes estiverem disponíveis para transmissão. Depois que todos os bytes armazenados em buffer forem enviados, a linha RTS será baixa. |
fAbortOnError
Se esse membro for TRUE, o driver encerrará todas as operações de leitura e gravação com um erro status se ocorrer um erro. O driver não aceitará mais nenhuma operação de comunicação até que o aplicativo confirme o erro chamando a função ClearCommError .
fDummy2
Reservado; não use.
wReserved
Reservados; deve ser zero.
XonLim
O número mínimo de bytes em uso permitido no buffer de entrada antes que o controle de fluxo seja ativado para permitir a transmissão pelo remetente. Isso pressupõe que o controle de fluxo de entrada XON/XOFF, RTS ou DTR seja especificado nos membros fInX, fRtsControl ou fDtrControl .
XoffLim
O número mínimo de bytes livres permitidos no buffer de entrada antes que o controle de fluxo seja ativado para inibir o remetente. Observe que o remetente pode transmitir caracteres depois que o sinal de controle de fluxo tiver sido ativado, portanto, esse valor nunca deve ser zero. Isso pressupõe que o controle de fluxo de entrada XON/XOFF, RTS ou DTR seja especificado nos membros fInX, fRtsControl ou fDtrControl . O número máximo de bytes em uso permitidos é calculado subtraindo esse valor do tamanho, em bytes, do buffer de entrada.
ByteSize
O número de bits nos bytes transmitidos e recebidos.
Parity
O esquema de paridade a ser usado. Esse membro pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
Paridade mesmo. |
|
Marcar paridade. |
|
Sem paridade. |
|
Paridade estranha. |
|
Paridade de espaço. |
StopBits
O número de bits de parada a serem usados. Esse membro pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
1 bit de parada. |
|
1,5 bits de parada. |
|
2 bits de parada. |
XonChar
O valor do caractere XON para transmissão e recepção.
XoffChar
O valor do caractere XOFF para transmissão e recepção.
ErrorChar
O valor do caractere usado para substituir bytes recebidos por um erro de paridade.
EofChar
O valor do caractere usado para sinalizar o fim dos dados.
EvtChar
O valor do caractere usado para sinalizar um evento.
wReserved1
Reservado; não use.
Comentários
Quando uma estrutura DCB é usada para configurar o 8250, as seguintes restrições se aplicam aos valores especificados para os membros ByteSize e StopBits :
- O número de bits de dados deve ser de 5 a 8 bits.
- O uso de 5 bits de dados com 2 bits de parada é uma combinação inválida, assim como 6, 7 ou 8 bits de dados com 1,5 bits de parada.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP |
Servidor mínimo com suporte | Windows Server 2003 |
Cabeçalho | winbase.h (incluir Windows.h) |