SERIAL_COMMPROP Struktur (ntddser.h)
Die SERIAL_COMMPROP Struktur gibt die Eigenschaften eines seriellen Ports an.
Syntax
typedef struct _SERIAL_COMMPROP {
USHORT PacketLength;
USHORT PacketVersion;
ULONG ServiceMask;
ULONG Reserved1;
ULONG MaxTxQueue;
ULONG MaxRxQueue;
ULONG MaxBaud;
ULONG ProvSubType;
ULONG ProvCapabilities;
ULONG SettableParams;
ULONG SettableBaud;
USHORT SettableData;
USHORT SettableStopParity;
ULONG CurrentTxQueue;
ULONG CurrentRxQueue;
ULONG ProvSpec1;
ULONG ProvSpec2;
WCHAR ProvChar[1];
} SERIAL_COMMPROP, *PSERIAL_COMMPROP;
Angehörige
PacketLength
Die Größe des Datenpakets in Bytes, das mit dieser Struktur beginnt und die angeforderten Eigenschaftendaten enthält. Diese Größe umfasst die SERIAL_COMMPROP Struktur und alle zusätzlichen ProvChar Arrayelemente, die dieser Struktur folgen.
PacketVersion
Die Version dieser Struktur. Die aktuelle Versionsnummer ist 2.
ServiceMask
Eine Bitmaske, die angibt, welche Dienste von diesem Kommunikationsanbieter implementiert werden. Dieses Mitglied ist immer auf SERIAL_SP_SERIALCOMM von seriellen Kommunikationsanbietern festgelegt, einschließlich Modemanbietern. Der ProvSubType Member gibt den spezifischen Typ der seriellen Kommunikation an, die implementiert ist (z. B. Modem).
Reserved1
Wird nicht verwendet.
MaxTxQueue
Maximale Übertragungswarteschlangengröße. Die maximale Größe des internen Ausgabepuffers des seriellen Controllertreibers in Bytes. Ein Wert von Null gibt an, dass vom seriellen Anbieter kein Maximalwert auferlegt wird.
MaxRxQueue
Maximale Empfangswarteschlangengröße. Die maximale Größe des internen Eingabepuffers des seriellen Controllertreibers in Bytes. Ein Wert von Null gibt an, dass vom seriellen Anbieter kein Maximalwert auferlegt wird.
MaxBaud
Der maximal zulässige Baudsatz. Ein erweiterungsbasierter serieller Controllertreiber dieses Element auf eine Baudrate festgelegt, die in Bits pro Sekunde (bps) ausgedrückt wird. Wenn der serielle Controller beispielsweise eine maximale Baudrate von 115.200 bps unterstützt, legt der Treiber MaxBaud = 115200 fest.
Allerdings legen Serial.sys und viele ältere serielle Controllertreiber MaxBaud auf eine der SERIAL_BAUD_XXX Flagbits fest, die in der Ntddser.h-Headerdatei definiert sind. Die folgenden Werte werden für dieses Element definiert.
Wert | Beschreibung |
---|---|
SERIAL_BAUD_075 | 75 bps |
SERIAL_BAUD_110 | 110 bps |
SERIAL_BAUD_134_5 | 134,5 Bps |
SERIAL_BAUD_150 | 150 bps |
SERIAL_BAUD_300 | 300 bps |
SERIAL_BAUD_600 | 600 bps |
SERIAL_BAUD_1200 | 1.200 Bps |
SERIAL_BAUD_1800 | 1.800 Bps |
SERIAL_BAUD_2400 | 2.400 bps |
SERIAL_BAUD_4800 | 4.800 bps |
SERIAL_BAUD_7200 | 7.200 bps |
SERIAL_BAUD_9600 | 9.600 bps |
SERIAL_BAUD_14400 | 14.400 bps |
SERIAL_BAUD_19200 | 19.200 Bps |
SERIAL_BAUD_38400 | 38.400 bps |
SERIAL_BAUD_56K | 56.000 Bps |
SERIAL_BAUD_57600 | 57.600 bps |
SERIAL_BAUD_115200 | 115.200 bps |
SERIAL_BAUD_128K | 128.000 Bps |
SERIAL_BAUD_USER | Programmierbare Baudraten sind verfügbar. |
ProvSubType
Der spezifische Kommunikationsanbietertyp. Wenn das ServiceMask Member auf SERIAL_SP_SERIALCOMM festgelegt ist, wird ProvSubType- auf einen der folgenden Werte festgelegt.
Wert | Bedeutung |
---|---|
SERIAL_SP_UNSPECIFIED | Unspezifiziert |
SERIAL_SP_RS232 | Serieller RS-232-Anschluss |
SERIAL_SP_PARALLEL | Paralleler Port |
SERIAL_SP_RS422 | Serieller RS-422-Anschluss |
SERIAL_SP_RS423 | Serieller RS-423-Anschluss |
SERIAL_SP_RS449 | Serieller RS-449-Anschluss |
SERIAL_SP_MODEM | Modemgerät |
SERIAL_SP_FAX | FAXgerät |
SERIAL_SP_SCANNER | Scannergerät |
SERIAL_SP_BRIDGE | Nicht angegebene Netzwerkbrücke |
SERIAL_SP_LAT | LAT-Protokoll |
SERIAL_SP_TELNET | TCP/IP Telnet-Protokoll® |
SERIAL_SP_X25 | X.25-Standards |
ProvCapabilities
Die vom Anbieter angebotenen Funktionen. Dieses Element ist auf Null oder auf das bitweise ODER eines oder mehrerer der folgenden Flagbits festgelegt.
Wert | Beschreibung |
---|---|
SERIAL_PCF_DTRDSR | DTR (Datenterminal bereit) und DSR (Data Set Ready) werden unterstützt. |
SERIAL_PCF_RTSCTS | RTS (Anforderung zum Senden) und CTS (clear to send) werden unterstützt. |
SERIAL_PCF_CD | CD (Carrier Detect) wird unterstützt. |
SERIAL_PCF_PARITY_CHECK | Die Paritätsüberprüfung wird unterstützt. |
SERIAL_PCF_XONXOFF | XON (Transmission on) und XOFF (Transmission off) Flow Control werden unterstützt. |
SERIAL_PCF_SETXCHAR | Die XON- und XOFF-Zeichen sind festgelegt. |
SERIAL_PCF_TOTALTIMEOUTS | Gesamtzeitüberschreitungen werden unterstützt. |
SERIAL_PCF_INTTIMEOUTS | Intervalltimeouts werden unterstützt. |
SERIAL_PCF_SPECIALCHARS | Sonderzeichen werden unterstützt. |
SERIAL_PCF_16BITMODE | Der spezielle 16-Bit-Modus wird unterstützt. |
SettableParams
Eine Bitmaske, die den Kommunikationsparameter angibt, der geändert werden kann. Dieses Element ist auf Null oder auf das bitweise ODER eines oder mehrerer der folgenden Flagbits festgelegt.
Wert | Beschreibung |
---|---|
SERIAL_SP_PARITY | Paritätstyp (gerade oder ungerade) |
SERIAL_SP_BAUD | Baudrate |
SERIAL_SP_DATABITS | Datenbits |
SERIAL_SP_STOPBITS | Stoppbits |
SERIAL_SP_HANDSHAKING | Handshaking (Flusssteuerung) |
SERIAL_SP_PARITY_CHECK | Paritätsprüfung |
SERIAL_SP_CARRIER_DETECT | Netzbetreibererkennung |
SettableBaud
Eine Bitmaske, die die baudraten angibt, die verwendet werden können. Eine Tabelle, die die SERIAL_BAUD_XXX--Flagbits beschreibt, die für dieses Element definiert sind, finden Sie in der Beschreibung des MaxBaud Members. SettableBaud auf Null oder bitweise oder auf mindestens einen dieser Flagbits festgelegt ist.
Serial controller drivers set the SERIAL_BAUD_USER flag bit in the SettableBaud bitmask value to indicate that they supports higher baud rates than those that can be expressed by the other SERIAL_BAUD_XXX flag bits. Beispielsweise wird ein Treiber, der Baudraten von 57600, 115200, 230400 und 460800 bps unterstützt, SettableBaud = (SERIAL_BAUD_57600 | SERIAL_BAUD_115200 | SERIAL_BAUD_USER).
SettableData
Die Anzahl der Datenbits, die festgelegt werden können. Dieses Element ist auf Null oder auf das bitweise ODER eines oder mehrerer der folgenden Flagbits festgelegt.
Wert | Beschreibung |
---|---|
SERIAL_DATABITS_5 | 5 Datenbits |
SERIAL_DATABITS_6 | 6 Datenbits |
SERIAL_DATABITS_7 | 7 Datenbits |
SERIAL_DATABITS_8 | 8 Datenbits |
SERIAL_DATABITS_16 | 16 Datenbits |
SERIAL_DATABITS_16X | Spezieller breiter Pfad durch serielle Hardwareleitungen |
SettableStopParity
Die Stop-Bit- und Paritätseinstellungen, die ausgewählt werden können. Dieses Element ist auf Null oder auf das bitweise ODER eines oder mehrerer der folgenden Flagbits festgelegt.
Wert | Beschreibung |
---|---|
SERIAL_STOPBITS_10 | Ein Stoppbit. |
SERIAL_STOPBITS_15 | Eineinhalb Stoppbits. |
SERIAL_STOPBITS_20 | Zwei Stoppbits. |
SERIAL_PARITY_NONE | Es wird kein Paritätsbit verwendet. |
SERIAL_PARITY_ODD | Ungerade Parität. Das Paritätsbit ist 1, wenn die Anzahl von 1s im Zeichenwert gleich ist. Andernfalls ist das Paritätsbit 0. |
SERIAL_PARITY_EVEN | Gerade Parität. Das Paritätsbit ist 1, wenn die Anzahl von 1s im Zeichenwert ungerade ist. Andernfalls ist das Paritätsbit 0. |
SERIAL_PARITY_MARK | Das Paritätsbit ist immer auf 1 festgelegt. |
SERIAL_PARITY_SPACE | Das Paritätsbit ist immer auf 0 festgelegt. |
CurrentTxQueue
Übertragungswarteschlangengröße. Dieses Element gibt die Größe des internen Ausgabepuffers des seriellen Controllertreibers in Bytes an. Ein Wert von Null gibt an, dass die Puffergröße nicht verfügbar ist.
Für SerCx2 und SerCx legt der zugeordnete serielle Controllertreiber dieses Element in der Regel auf Null fest. Serial.sys legt dieses Element auf einen Wert ungleich Null fest, der die Größe des Ausgabepuffers angibt.
CurrentRxQueue
Empfangswarteschlangengröße. Dieses Element gibt die Größe des internen Eingabepuffers des seriellen Controllertreibers in Bytes an. Ein Wert von Null gibt an, dass die Puffergröße nicht verfügbar ist.
Für SerCx2 und SerCx wird dieses Element vom zugehörigen seriellen Controllertreiber festgelegt. Für SerCx2 legt der Treiber dieses Element in der Regel auf Null fest. Bei SerCx legt der Treiber dieses Element in der Regel auf die Größe des Ringpuffers fest, den SerCx zum Puffern empfangener Daten verwendet. Dieser Treiber kann die SerCxGetRingBufferUtilization- Methode aufrufen, um die Größe des Ringpuffers von SerCx abzurufen.
Serial.sys legt dieses Element auf einen Wert ungleich Null fest, der die Größe des Eingabepuffers angibt.
ProvSpec1
Anbieterspezifische Daten. Anwendungen sollten dieses Mitglied ignorieren, es sei denn, anbieterspezifische Daten über das vom seriellen Port erforderliche Datenformat sind verfügbar.
ProvSpec2
Anbieterspezifische Daten. Anwendungen sollten dieses Mitglied ignorieren, es sei denn, anbieterspezifische Daten über das vom seriellen Port erforderliche Datenformat sind verfügbar.
ProvChar[1]
Anbieterspezifische Daten. Anwendungen sollten dieses Mitglied ignorieren, es sei denn, anbieterspezifische Daten über das vom seriellen Port erforderliche Datenformat sind verfügbar. Dieses Element ist das erste Element in einem Breitzeichenarray eines oder mehrerer Elemente. Alle zusätzlichen Elemente folgen diesem Element sofort. Das PacketLength Member gibt die Größe der SERIAL_COMMPROP Struktur sowie alle zusätzlichen ProvChar Arrayelemente an, die dieser Struktur folgen.
Bemerkungen
Diese Struktur wird von der IOCTL_SERIAL_GET_PROPERTIES Anforderung verwendet.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntddser.h |