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.

Wert Bedeutung
CBR_110
110
110 Basispunkte
CBR_300
300
300 Basispunkte
CBR_600
600
600 Basispunkte
CBR_1200
1200
1200 Basispunkte
CBR_2400
2400
2400 Basispunkte
CBR_4800
4800
4800 Basispunkte
CBR_9600
9600
9600 Basispunkte
CBR_14400
14400
14400 Basispunkte
CBR_19200
19200
19200 Basispunkte
CBR_38400
38400
38400 Bps
CBR_57600
57600
57600 Bps
CBR_115200
115200
115200 Basispunkte
CBR_128000
128000
128000 Basispunkte
CBR_256000
256000
256000 Basispunkte

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
DTR_CONTROL_DISABLE
0x00
Deaktiviert die DTR-Leitung beim Öffnen des Geräts und lässt es deaktiviert.
DTR_CONTROL_ENABLE
0x01
Aktiviert die DTR-Leitung, wenn das Gerät geöffnet wird und eingeschaltet bleibt.
DTR_CONTROL_HANDSHAKE
0x02
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
RTS_CONTROL_DISABLE
0x00
Deaktiviert die RTS-Zeile, wenn das Gerät geöffnet wird, und lässt es deaktiviert.
RTS_CONTROL_ENABLE
0x01
Aktiviert die RTS-Zeile, wenn das Gerät geöffnet wird, und lässt es eingeschaltet.
RTS_CONTROL_HANDSHAKE
0x02
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.
RTS_CONTROL_TOGGLE
0x03
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
GLEICHMÄßIGEPARALITÄT
2
Sogar Parität.
MARKPARITY
3
Parität markieren.
NOPARITY
0
Keine Parität.
ODDPARITY
1
Ungerade Parität.
SPACEPARITY
4
Raumparität.

StopBits

Die Anzahl der zu verwendenden Stoppbits. Dieser Member kann einer der folgenden Werte sein.

Wert Bedeutung
ONESTOPBIT
0
1 Stoppbit.
ONE5STOPBITS
1
1,5 Stoppbits.
TWOSTOPBITS
2
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)

Weitere Informationen

BuildCommDCB

ClearCommError

EscapeCommFunction

GetCommState

SetCommState