Freigeben über


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.
Weitere Informationen finden Sie in den Anmerkungen zur BuildCommDCB-Funktion .

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

Siehe auch

BuildCommDCB

COMMTIMEOUTS

Kommunikationsfunktionen

Kommunikationsressourcen

DCB

GetCommTimeouts

SetCommTimeouts