Struttura DCB (winbase.h)
Definisce l'impostazione del controllo per un dispositivo di comunicazione seriale.
Sintassi
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;
Members
DCBlength
Lunghezza della struttura, in byte. Il chiamante deve impostare questo membro su sizeof(DCB)
.
BaudRate
Velocità in baud con cui opera il dispositivo di comunicazione. Questo membro può essere un valore di velocità baud effettivo o uno degli indici seguenti.
fBinary
Se questo membro è TRUE, la modalità binaria è abilitata. Windows non supporta i trasferimenti in modalità nonbinary, pertanto questo membro deve essere TRUE.
fParity
Se questo membro è TRUE, viene eseguito il controllo della parità e vengono segnalati errori.
fOutxCtsFlow
Se questo membro è TRUE, il segnale CTS (clear-to-send) viene monitorato per il controllo del flusso di output. Se questo membro è TRUE e CTS viene disattivato, l'output viene sospeso fino a quando CTS non viene inviato di nuovo.
fOutxDsrFlow
Se questo membro è TRUE, il segnale DSR (data-set-ready) viene monitorato per il controllo del flusso di output. Se questo membro è TRUE e la richiesta dell'interessato è disattivata, l'output viene sospeso fino a quando la richiesta dell'interessato non viene inviata di nuovo.
fDtrControl
Controllo del flusso DTR (data-terminal-ready). Questo membro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Disabilita la riga DTR quando il dispositivo viene aperto e lo lascia disabilitato. |
|
Abilita la linea DTR quando il dispositivo viene aperto e lo lascia acceso. |
|
Abilita l'handshaking DTR. Se l'handshaking è abilitato, si tratta di un errore per l'applicazione di regolare la riga usando la funzione EscapeCommFunction . |
fDsrSensitivity
Se questo membro è TRUE, il driver di comunicazione è sensibile allo stato del segnale DSR. Il driver ignora tutti i byte ricevuti, a meno che la linea di input del modem DSR non sia elevata.
fTXContinueOnXoff
Se questo membro è TRUE, la trasmissione continua dopo che il buffer di input è compreso tra XoffLim byte di pieno e il driver ha trasmesso il carattere XoffChar per interrompere la ricezione dei byte. Se questo membro è FALSE, la trasmissione non continua finché il buffer di input non è compreso in byte XonLim di essere vuoto e il driver ha trasmesso il carattere XonChar per riprendere la ricezione.
fOutX
Indica se il controllo del flusso XON/XOFF viene utilizzato durante la trasmissione. Se questo membro è TRUE, la trasmissione viene arrestata quando viene ricevuto il carattere XoffChar e viene avviato di nuovo quando viene ricevuto il carattere XonChar .
fInX
Indica se il controllo flusso XON/XOFF viene utilizzato durante la ricezione. Se questo membro è TRUE, il carattere XoffChar viene inviato quando il buffer di input rientra in XoffLim byte di essere pieno e il carattere XonChar viene inviato quando il buffer di input rientra in XonLim byte vuoti.
fErrorChar
Indica se i byte ricevuti con errori di parità vengono sostituiti con il carattere specificato dal membro ErrorChar . Se questo membro è TRUE e il membro fParity è TRUE, viene eseguita la sostituzione.
fNull
Se questo membro è TRUE, i byte Null vengono eliminati al momento della ricezione.
fRtsControl
Controllo del flusso RTS (request-to-send). Questo membro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Disabilita la riga RTS quando il dispositivo viene aperto e lo lascia disabilitato. |
|
Abilita la riga RTS quando il dispositivo viene aperto e lo lascia acceso. |
|
Abilita l'handshaking RTS. Il driver genera la riga RTS quando il buffer "type-ahead" (input) è minore di una metà pieno e riduce la linea RTS quando il buffer è più di tre quarti pieno. Se l'handshaking è abilitato, è un errore per l'applicazione per regolare la riga usando la funzione EscapeCommFunction . |
|
Specifica che la linea RTS sarà elevata se i byte sono disponibili per la trasmissione. Dopo l'invio di tutti i byte buffer, la riga RTS sarà bassa. |
fAbortOnError
Se questo membro è TRUE, il driver termina tutte le operazioni di lettura e scrittura con stato di errore se si verifica un errore. Il driver non accetta ulteriori operazioni di comunicazione finché l'applicazione non ha riconosciuto l'errore chiamando la funzione ClearCommError .
fDummy2
Riservati; non usare.
wReserved
Riservati; deve essere zero.
XonLim
Numero minimo di byte in uso consentito nel buffer di input prima che il controllo del flusso venga attivato per consentire la trasmissione dal mittente. Ciò presuppone che il controllo del flusso di input XON/XOFF, RTS o DTR sia specificato nei membri fInX, fRtsControl o fDtrControl .
XoffLim
Numero minimo di byte liberi consentiti nel buffer di input prima che il controllo del flusso venga attivato per inibire il mittente. Si noti che il mittente può trasmettere caratteri dopo l'attivazione del segnale di controllo del flusso, quindi questo valore non deve mai essere zero. Ciò presuppone che il controllo del flusso di input XON/XOFF, RTS o DTR sia specificato nei membri fInX, fRtsControl o fDtrControl . Il numero massimo di byte in uso consentito viene calcolato sottraendo questo valore dalle dimensioni, in byte, del buffer di input.
ByteSize
Numero di bit nei byte trasmessi e ricevuti.
Parity
Schema di parità da usare. Questo membro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Anche parità. |
|
Parità di contrassegno. |
|
Nessuna parità. |
|
Parità dispari. |
|
Parità di spazio. |
StopBits
Numero di bit di arresto da usare. Questo membro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
1 bit di arresto. |
|
1,5 bit di arresto. |
|
2 bit di arresto. |
XonChar
Valore del carattere XON per la trasmissione e la ricezione.
XoffChar
Valore del carattere XOFF per la trasmissione e la ricezione.
ErrorChar
Valore del carattere utilizzato per sostituire i byte ricevuti con un errore di parità.
EofChar
Valore del carattere utilizzato per segnalare la fine dei dati.
EvtChar
Valore del carattere utilizzato per segnalare un evento.
wReserved1
Riservati; non usare.
Commenti
Quando viene usata una struttura DCB per configurare la versione 8250, le restrizioni seguenti si applicano ai valori specificati per i membri ByteSize e StopBits :
- Il numero di bit di dati deve essere compreso tra 5 e 8 bit.
- L'uso di 5 bit di dati con 2 bit di arresto è una combinazione non valida, come è 6, 7 o 8 bit di dati con 1,5 bit di arresto.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP |
Server minimo supportato | Windows Server 2003 |
Intestazione | winbase.h (include Windows.h) |