Freigeben über


BuildCommDCBAndTimeoutsW-Funktion (winbase.h)

Übersetzt eine Gerätedefinitionszeichenfolge in geeignete Gerätesteuerungsblockcodes und platziert sie in einen Gerätesteuerungsblock. Die Funktion kann auch Timeoutwerte einrichten, einschließlich der Möglichkeit, keine Timeouts für ein Gerät zu haben; das Verhalten der Funktion in dieser Hinsicht hängt vom Inhalt der Gerätedefinitionszeichenfolge ab.

Syntax

BOOL BuildCommDCBAndTimeoutsW(
  [in]  LPCWSTR        lpDef,
  [out] LPDCB          lpDCB,
  [out] LPCOMMTIMEOUTS lpCommTimeouts
);

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={111101515030300300606001212002424004848009696001919200}] [Parität={neoms}][data={5678}][stop={11,52}][to={onoff}][xon={onoff}][odsr={onoff}[octs={onoff}][dtr={onoffhs}][rts={onoffhstg}][idsr={onoff}]

Die Teilzeichenfolge "baud" kann eine beliebige der aufgelisteten Werte sein, die sich in Paaren befinden. Die zweistelligen Werte sind die ersten beiden Ziffern der zugeordneten Werte, die sie darstellen. Beispielsweise steht 11 für 110 Baud, 19 steht 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 Modus- Befehlsreferenz 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 durch 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 fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Die BuildCommDCBAndTimeouts-Funktion ändert das Timeout-Einstellungsverhalten 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 den WriteTotalTimeoutConstant Member 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 Elemente 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.

Anmerkung

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

BuildCommDCB-

COMMTIMEOUTS-

Kommunikationsfunktionen

Kommunikationsressourcen

DCB-

GetCommTimeouts-

SetCommTimeouts-