Freigeben über


BuildCommDCBW-Funktion (winbase.h)

Füllt eine angegebene DCB- Struktur mit Werten aus, die in einer Gerätesteuerungszeichenfolge angegeben sind. Die Gerätesteuerungszeichenfolge verwendet die Syntax des befehls Modus.

Syntax

BOOL BuildCommDCBW(
  [in]  LPCWSTR lpDef,
  [out] LPDCB   lpDCB
);

Parameter

[in] lpDef

Die Gerätesteuerungsinformationen. Die Funktion verwendet diese Zeichenfolge, analysiert sie und legt dann die entsprechenden Werte in der DCB- Struktur fest, auf die durch lpDCBverwiesen wird.

Die Zeichenfolge muss dieselbe Form wie die Modus Befehlszeilenargumente des Befehls aufweisen:

COMx[:][baud=b][Parität=p][data=d][stop=s][to={on|off}.][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]

Der Gerätename ist optional, muss jedoch bei Verwendung ein gültiges Gerät angeben.

Die folgende Zeichenfolge gibt beispielsweise eine Baudrate von 1200, keine Parität, 8 Datenbits und 1 Stoppbit an:

baud=1200 parity=N data=8 stop=1

[out] lpDCB

Ein Zeiger auf eine DCB- Struktur, die die Informationen empfängt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Die BuildCommDCB--Funktion passt nur die Member der DCB- Struktur an, die speziell vom parameter lpDef betroffen sind, mit den folgenden Ausnahmen:

  • Wenn die angegebene Baudrate 110 ist, legt die Funktion die Stoppbits auf 2 fest, um mit dem Modus des Systems Befehl kompatibel zu bleiben.
  • Standardmäßig deaktiviert BuildCommDCB die XON/XOFF- und Hardwareflusssteuerung. Um die Flusssteuerung zu aktivieren, müssen Sie explizit die entsprechenden Member der DCB- Struktur festlegen.
Die BuildCommDCB--Funktion füllt nur die Member der DCB--Struktur aus. Um diese Einstellungen auf einen seriellen Port anzuwenden, verwenden Sie die SetCommState-Funktion.

Es gibt ältere und neuere Formen des Modus Syntax. Die BuildCommDCB--Funktion unterstützt beide Formulare. Sie können die beiden Formen jedoch nicht miteinander kombinieren.

Mit der neueren Form des Modus Syntax können Sie die Werte der Flusssteuerungselemente der DCB--Struktur explizit festlegen. Wenn Sie eine ältere Form der Modus Syntax verwenden, legt die BuildCommDCB--Funktion die Flusssteuerungselemente der DCB--Struktur wie folgt fest:

  • Für eine Zeichenfolge, die nicht mit einem x oder einem p endet:
    • fInX-, fOutX-, fOutXDsrFlow-und fOutXCtsFlow- alle auf FALSE
    • fDtrControl- wird auf DTR_CONTROL_ENABLE
    • fRtsControl- wird auf RTS_CONTROL_ENABLE
  • Für eine Zeichenfolge, die mit einem x endet:
    • fInX- und fOutX- sind beide auf TRUE
    • fOutXDsrFlow- und fOutXCtsFlow- auf FALSE-
    • fDtrControl- wird auf DTR_CONTROL_ENABLE
    • fRtsControl- wird auf RTS_CONTROL_ENABLE
  • Für eine Zeichenfolge, die mit einem p endet:
    • fInX- und fOutX- auf FALSE-
    • fOutXDsrFlow- und fOutXCtsFlow- auf TRUE-
    • fDtrControl- auf DTR_CONTROL_HANDSHAKE
    • fRtsControl- auf RTS_CONTROL_HANDSHAKE

Anmerkung

Der winbase.h-Header definiert BuildCommDCB als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP
mindestens unterstützte Server- Windows Server 2003
Zielplattform- Fenster
Header- winbase.h (enthalten Windows.h)
Library Kernel32.lib
DLL- Kernel32.dll

Siehe auch

Kommunikationsfunktionen

Kommunikationsressourcen

DCB-

SetCommState-