SERIAL_HANDFLOW-Struktur (ntddser.h)
Die SERIAL_HANDFLOW-Struktur gibt die Handshake- und Flusssteuerungseinstellungen für einen seriellen Port an.
Syntax
typedef struct _SERIAL_HANDFLOW {
ULONG ControlHandShake;
ULONG FlowReplace;
LONG XonLimit;
LONG XoffLimit;
} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;
Member
ControlHandShake
Eine Bitmaske, die die Steuerlinien angibt, die der serielle Port für die Flusssteuerung verwendet. Dieses Element ist auf null oder auf das bitweise OR oder mindestens eins der folgenden Flags festgelegt.
Wert | BESCHREIBUNG |
---|---|
SERIAL_DTR_CONTROL | DTR (Datenterminal bereit) ist aktiviert. |
SERIAL_DTR_HANDSHAKE | DTR wird für die Eingabeflusssteuerung verwendet. |
SERIAL_CTS_HANDSHAKE | CTS (clear to send) wird für die Ausgabeflusssteuerung verwendet. |
SERIAL_DSR_HANDSHAKE | DSR (Dataset ready) wird für die Ausgabeflusssteuerung verwendet. |
SERIAL_DCD_HANDSHAKE | DCD (Data Carrier Detect) wird für die Steuerung des Ausgabeflusses verwendet. |
SERIAL_DSR_SENSITIVITY | Ignorieren Sie Zeichen, die am seriellen Port ankommen, wenn die DSR-Zeile inaktiv ist. |
SERIAL_ERROR_ABORT | Abbrechen eines Sende- oder Empfangsvorgangs, wenn ein Fehler auftritt. |
SerCx2 unterstützt das flag SERIAL_CTS_HANDSHAKE und kann die anderen sechs für dieses Element definierten Flags abhängig vom seriellen Controllertreiber und den Funktionen der Hardware des seriellen Controllers unterstützen. SerCx unterstützt nur die ersten vier Flags in der vorherigen Tabelle. Serial.sys unterstützt alle Flags in der vorherigen Tabelle.
FlowReplace
Eine Bitmaske, die das Verhalten der Flusssteuerung angibt. Dieses Element ist auf null oder auf das bitweise OR oder mindestens eins der folgenden Flags festgelegt.
Wert | BESCHREIBUNG |
---|---|
SERIAL_AUTO_TRANSMIT | Verwenden Sie XON/XOFF für die Flusssteuerung übertragener Daten. |
SERIAL_AUTO_RECEIVE | Verwenden Sie XON/XOFF für die Flusssteuerung empfangener Daten. |
SERIAL_ERROR_CHAR | Fügen Sie das Fehlerzeichen in die empfangenen Daten ein, wenn ein Fehler auftritt. Weitere Informationen finden Sie in der Beschreibung des ErrorChar-Members in SERIAL_CHARS. |
SERIAL_NULL_STRIPPING | Entfernen Sie automatisch NULL-Zeichen aus empfangenen Daten. |
SERIAL_BREAK_CHAR | Fügen Sie das Umbruchzeichen in die empfangenen Daten ein, wenn ein Umbruch auftritt. Weitere Informationen finden Sie in der Beschreibung des BreakChar-Elements in SERIAL_CHARS. |
SERIAL_RTS_CONTROL | RTS (Anforderung zum Senden) ist aktiviert. |
SERIAL_RTS_HANDSHAKE | RTS wird für die Steuerung des Ausgabeflusses verwendet. |
SERIAL_XOFF_CONTINUE | Fahren Sie mit der Übertragung fort, nachdem Sie XOFF an das Gerät am anderen Ende der Zeile gesendet haben. |
SerCx2 unterstützt die Flags SERIAL_RTS_CONTROL und SERIAL_RTS_HANDSHAKE, unterstützt jedoch in der Regel nicht die anderen sechs Flags, die für dieses Element definiert sind, abhängig vom seriellen Controllertreiber und den Funktionen der Hardware des seriellen Controllers. SerCx unterstützt nur die flags SERIAL_RTS_CONTROL und SERIAL_RTS_HANDSHAKE. Serial.sys unterstützt alle Flags in der vorherigen Tabelle.
XonLimit
XON-Grenzwert. Wenn die Anzahl der Zeichen im internen Empfangspuffer unter den XON-Grenzwert fällt, verwendet der serielle Controllertreiber die Flusssteuerungssignale, um den Absender an zu informieren, das Senden von Zeichen fortzusetzen.
XoffLimit
XOFF-Grenzwert. Wenn die Anzahl der Zeichen im internen Empfangspuffer den XOFF-Grenzwert erreicht, verwendet der serielle Controllertreiber die Flusssteuerungssignale, um den Absender anzuhalten, zeichenlos zu senden.
Hinweise
Diese Struktur wird von den anforderungen IOCTL_SERIAL_GET_HANDFLOW und IOCTL_SERIAL_SET_HANDFLOW verwendet.
Nach dem Senden eines XOFF-Zeichens (Transmit Off) beendet der serielle Port die Übertragung sofort, ohne weitere Zeichen zu senden. Dieses Verhalten unterstützt serielle Ports, die jedes Zeichen, das einem XOFF folgt, als impliziertes XON (transmission on) interpretieren.
SerCx2 und SerCx unterstützen nur Teilmengen der Flags, die für die Member ControlHandShake und FlowControl definiert sind. Eine IOCTL_SERIAL_SET_HANDFLOW Anforderung, die ein nicht unterstütztes Flag angibt, wird mit STATUS_NOT_IMPLEMENTED abgeschlossen.
Anforderungen
Anforderung | Wert |
---|---|
Header | ntddser.h |