Freigeben über


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

Siehe auch

IOCTL_SERIAL_GET_PROPERTIES