DCB-Struktur (winbase.h)
Definiert die Steuerungseinstellung für ein serielles Kommunikationsgerät.
Syntax
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;
Member
DCBlength
Die Länge der Struktur in Bytes. Der Aufrufer muss diesen Member auf sizeof(DCB)
festlegen.
BaudRate
Die Baudrate, mit der das Kommunikationsgerät arbeitet. Bei diesem Member kann es sich um einen tatsächlichen Baudsatzwert oder einen der folgenden Indizes handeln.
fBinary
Wenn dieses Element TRUE ist, ist der Binärmodus aktiviert. Windows unterstützt keine Übertragungen im nichtbinären Modus, daher muss dieses Element TRUE sein.
fParity
Wenn dieser Member TRUE ist, wird die Paritätsprüfung durchgeführt, und Es werden Fehler gemeldet.
fOutxCtsFlow
Wenn dieser Member TRUE ist, wird das CTS-Signal (Clear-to-Send) für die Ausgabeflusssteuerung überwacht. Wenn dieser Member TRUE ist und CTS deaktiviert ist, wird die Ausgabe angehalten, bis CTS erneut gesendet wird.
fOutxDsrFlow
Wenn dieses Element TRUE ist, wird das DSR-Signal (Data-Set-Ready) für die Ausgabeflusssteuerung überwacht. Wenn dieser Member TRUE ist und DSR deaktiviert ist, wird die Ausgabe angehalten, bis der DSR erneut gesendet wird.
fDtrControl
Die DTR-Ablaufsteuerung (data-terminal-ready). Dieser Member kann einer der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
Deaktiviert die DTR-Leitung beim Öffnen des Geräts und lässt es deaktiviert. |
|
Aktiviert die DTR-Leitung, wenn das Gerät geöffnet wird und eingeschaltet bleibt. |
|
Aktiviert DTR-Handshaking. Wenn handshaking aktiviert ist, ist es ein Fehler für die Anwendung, die Zeile mithilfe der EscapeCommFunction-Funktion anzupassen. |
fDsrSensitivity
Wenn dieser Member TRUE ist, reagiert der Kommunikationstreiber auf den Zustand des DSR-Signals. Der Treiber ignoriert alle empfangenen Bytes, es sei denn, die Eingabeleitung des DSR-Modems ist hoch.
fTXContinueOnXoff
Wenn dieser Member TRUE ist, wird die Übertragung fortgesetzt, nachdem der Eingabepuffer innerhalb von XoffLim-Bytes voll ist und der Treiber das XoffChar-Zeichen übertragen hat, um den Empfang von Bytes zu beenden. Wenn dieser Member FALSE ist, wird die Übertragung erst fortgesetzt, wenn sich der Eingabepuffer innerhalb von XonLim-Bytes von leer befindet und der Treiber das XonChar-Zeichen übertragen hat, um den Empfang fortzusetzen.
fOutX
Gibt an, ob die XON/XOFF-Flusssteuerung während der Übertragung verwendet wird. Wenn dieser Member TRUE ist, wird die Übertragung beendet, wenn das XoffChar-Zeichen empfangen wird, und beginnt erneut, wenn das XonChar-Zeichen empfangen wird.
fInX
Gibt an, ob die XON/XOFF-Flusssteuerung während des Empfangs verwendet wird. Wenn dieser Member TRUE ist, wird das XoffChar-Zeichen gesendet, wenn der Eingabepuffer in XoffLim-Bytes von voll ist, und das XonChar-Zeichen wird gesendet, wenn der Eingabepuffer in XonLim-Bytes leer ist.
fErrorChar
Gibt an, ob Bytes, die mit Paritätsfehlern empfangen werden, durch das Zeichen ersetzt werden, das vom ErrorChar-Element angegeben wird. Wenn dieses Element TRUE ist und das fParity-ElementTRUE ist, wird ersetzt.
fNull
Wenn dieses Element TRUE ist, werden NULL-Bytes verworfen, wenn sie empfangen werden.
fRtsControl
Das RTS-Ablaufsteuerelement (Request-to-Send). Dieser Member kann einer der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
Deaktiviert die RTS-Zeile, wenn das Gerät geöffnet wird, und lässt es deaktiviert. |
|
Aktiviert die RTS-Zeile, wenn das Gerät geöffnet wird, und lässt es eingeschaltet. |
|
Aktiviert RTS-Handshaking. Der Treiber löst die RTS-Zeile aus, wenn der "Type-Ahead"-Puffer (Eingabe)-Puffer weniger als eine Hälfte voll ist, und senkt die RTS-Zeile, wenn der Puffer mehr als drei Viertel voll ist. Wenn handshaking aktiviert ist, ist es ein Fehler für die Anwendung, die Zeile mithilfe der EscapeCommFunction-Funktion anzupassen. |
|
Gibt an, dass die RTS-Zeile hoch ist, wenn Bytes für die Übertragung verfügbar sind. Nachdem alle gepufferten Bytes gesendet wurden, ist die RTS-Zeile niedrig. |
fAbortOnError
Wenn dieser Member TRUE ist, beendet der Treiber alle Lese- und Schreibvorgänge mit einem Fehler status, wenn ein Fehler auftritt. Der Treiber akzeptiert keine weiteren Kommunikationsvorgänge, bis die Anwendung den Fehler durch Aufrufen der ClearCommError-Funktion bestätigt hat.
fDummy2
Reserviert; nicht verwenden.
wReserved
Reserviert; muss null sein.
XonLim
Die Mindestanzahl von Bytes, die im Eingabepuffer zulässig ist, bevor die Flusssteuerung aktiviert wird, um die Übertragung durch den Absender zuzulassen. Dabei wird davon ausgegangen, dass entweder XON/XOFF, RTS oder DTR-Eingabeflusssteuerung in den Elementen fInX, fRtsControl oder fDtrControl angegeben ist.
XoffLim
Die mindeste Anzahl von freien Bytes, die im Eingabepuffer zulässig sind, bevor die Flusssteuerung aktiviert wird, um den Absender zu hemmen. Beachten Sie, dass der Absender Zeichen senden kann, nachdem das Flusssteuerungssignal aktiviert wurde, sodass dieser Wert nie 0 sein sollte. Dabei wird davon ausgegangen, dass entweder XON/XOFF, RTS oder DTR-Eingabeflusssteuerung in den Elementen fInX, fRtsControl oder fDtrControl angegeben ist. Die maximal zulässige Anzahl von Bytes wird berechnet, indem dieser Wert von der Größe des Eingabepuffers in Bytes subtrahiert wird.
ByteSize
Die Anzahl der Bits in den bytes, die übertragen und empfangen werden.
Parity
Das zu verwendende Paritätsschema. Dieser Member kann einer der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
Sogar Parität. |
|
Parität markieren. |
|
Keine Parität. |
|
Ungerade Parität. |
|
Raumparität. |
StopBits
Die Anzahl der zu verwendenden Stoppbits. Dieser Member kann einer der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
1 Stoppbit. |
|
1,5 Stoppbits. |
|
2 Stoppbits. |
XonChar
Der Wert des XON-Zeichens für die Übertragung und den Empfang.
XoffChar
Der Wert des XOFF-Zeichens für die Übertragung und den Empfang.
ErrorChar
Der Wert des Zeichens, das verwendet wird, um empfangene Bytes durch einen Paritätsfehler zu ersetzen.
EofChar
Der Wert des Zeichens, das zum Signalisieren des Datenendes verwendet wird.
EvtChar
Der Wert des Zeichens, das zum Signalisieren eines Ereignisses verwendet wird.
wReserved1
Reserviert; nicht verwenden.
Hinweise
Wenn eine DCB-Struktur zum Konfigurieren des 8250 verwendet wird, gelten die folgenden Einschränkungen für die Werte, die für die ByteSize - und StopBits-Member angegeben sind:
- Die Anzahl der Datenbits muss 5 bis 8 Bits sein.
- Die Verwendung von 5 Datenbits mit 2 Stoppbits ist eine ungültige Kombination, ebenso wie 6, 7 oder 8 Datenbits mit 1,5 Stoppbits.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP |
Unterstützte Mindestversion (Server) | Windows Server 2003 |
Kopfzeile | winbase.h (einschließlich Windows.h) |