BuildCommDCBAndTimeoutsA-Funktion (winbase.h)
Übersetzt eine Gerätedefinitionszeichenfolge in entsprechende Gerätesteuerungsblockcodes und platziert sie in einem Gerätesteuerungsblock. Die Funktion kann auch Timeoutwerte für ein Gerät einrichten, einschließlich der Möglichkeit, dass kein Timeout besteht. das Verhalten der Funktion in dieser Hinsicht hängt vom Inhalt der Gerätedefinitionszeichenfolge ab.
Syntax
BOOL BuildCommDCBAndTimeoutsA(
[in] LPCSTR lpDef,
[out] LPDCB lpDCB,
[out] LPCOMMTIMEOUTS lpCommTimeouts
);
Parameter
[in] lpDef
Die Gerätesteuerungsinformationen. Die Funktion übernimmt diese Zeichenfolge, analysiert sie und legt dann die entsprechenden Werte in der DCB-Struktur fest, auf die von lpDCB verwiesen wird.
Die Zeichenfolge muss dieselbe Form wie die Befehlszeilenargumente des Modusbefehls aufweisen:
COMx[:][baud={11|110|15|150 30|300||60 600||121200||24 24|2400|48|4800|96|96 9600|19|19200}][parity={n|e|O|M|s}] [data={5|6|7|8}][stop={1|1.5|2}][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|}][rts={on|off|hs|tg}][idsr={on|off}]
Die Teilzeichenfolge "baud" kann jeder der aufgeführten Werte sein, die paarweise sind. Die zweistelligen Werte sind die ersten beiden Ziffern der zugeordneten Werte, die sie darstellen. Beispielsweise steht 11 für 110 Baud, 19 für 19.200 Baud.
Die Teilzeichenfolge "Parität" gibt an, wie das Paritätsbit verwendet wird, um Übertragungsfehler zu erkennen.
Die Werte stellen "none", "even", "odd" dar,
"mark" und "space".
Weitere Informationen finden Sie in der Referenz zum Modusbefehl in TechNet.
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 Informationen aus der Gerätesteuerungsinformationszeichenfolge empfängt, auf die von lpDef verwiesen wird. Diese DCB-Struktur definiert die Steuerungseinstellungen für ein Kommunikationsgerät.
[out] lpCommTimeouts
Ein Zeiger auf eine COMMTIMEOUTS-Struktur , die Timeoutinformationen empfängt.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Die BuildCommDCBAndTimeouts-Funktion ändert ihr Timeouteinstellungsverhalten basierend auf dem Vorhandensein oder Fehlen einer "to={on|off}"-Teilzeichenfolge in lpDef:
- Wenn diese Zeichenfolge die Teilzeichenfolge "to=on" enthält, legt die Funktion das WriteTotalTimeoutConstant-Element der COMMTIMEOUTS-Struktur auf 60000 und alle anderen Member auf 0 fest.
- Wenn diese Zeichenfolge die Teilzeichenfolge "to=off" enthält, legt die Funktion die Member von COMMTIMEOUTS auf 0 fest.
- Wenn diese Zeichenfolge keine Teilzeichenfolge "to={on|off}" angibt, ignoriert die Funktion die COMMTIMEOUTS-Struktur in lpCommTimeouts.
Hinweis
Der winbase.h-Header definiert BuildCommDCBAndTimeouts 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 nicht codierungsneutralem Code 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows XP |
Unterstützte Mindestversion (Server) | Windows Server 2003 |
Zielplattform | Windows |
Kopfzeile | winbase.h (einschließlich Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |