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.
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 |