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;

Member

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. Dieser Member wird von seriellen Kommunikationsanbietern, einschließlich Modemanbietern, immer auf SERIAL_SP_SERIALCOMM festgelegt. Das ProvSubType-Element gibt den spezifischen Typ der seriellen Kommunikation an, die implementiert werden (z. B. Modem).

Reserved1

Wird nicht verwendet.

MaxTxQueue

Maximale Übertragungswarteschlangengröße. Die maximale Größe des internen Ausgabepuffers des seriellen Controllertreibers in Bytes. Der Wert 0 (null) gibt an, dass vom seriellen Anbieter kein Maximalwert festgelegt wird.

MaxRxQueue

Maximale Empfangswarteschlangengröße. Die maximale Größe des internen Eingabepuffers des seriellen Controllertreibers in Bytes. Der Wert 0 (null) gibt an, dass vom seriellen Anbieter kein Maximalwert festgelegt wird.

MaxBaud

Die maximal zulässige Baudrate. Ein erweiterungsbasierter serieller Controllertreiber legt diesen Member auf eine Baudrate fest, 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 eines der SERIAL_BAUD_XXX-Flagbits fest, die in der Headerdatei "Ntddser.h" definiert sind. Die folgenden Werte werden für diesen Member 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-Element auf SERIAL_SP_SERIALCOMM festgelegt ist, wird ProvSubType auf einen der folgenden Werte festgelegt.

Wert Bedeutung
SERIAL_SP_UNSPECIFIED Nicht angegeben.
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 FAX-Gerät
SERIAL_SP_SCANNER Scanner
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. Dieser Member wird auf null oder auf das bitweise OR eines oder mehrerer der folgenden Flagbits festgelegt.

Wert BESCHREIBUNG
SERIAL_PCF_DTRDSR DTR (Datenterminal bereit) und DSR (Dataset bereit) werden unterstützt.
SERIAL_PCF_RTSCTS RTS (Request to Send) und CTS (clear to send) werden unterstützt.
SERIAL_PCF_CD CD (Carrier Detect) wird unterstützt.
SERIAL_PCF_PARITY_CHECK Die Überprüfung der Parität wird unterstützt.
SERIAL_PCF_XONXOFF Die Ablaufsteuerung für XON (ein) und XOFF (transmit off) wird unterstützt.
SERIAL_PCF_SETXCHAR Die Zeichen XON und XOFF können festgelegt werden.
SERIAL_PCF_TOTALTIMEOUTS Timeouts insgesamt werden unterstützt.
SERIAL_PCF_INTTIMEOUTS Intervalltimeouts werden unterstützt.
SERIAL_PCF_SPECIALCHARS Sonderzeichen werden unterstützt.
SERIAL_PCF_16BITMODE Ein spezieller 16-Bit-Modus wird unterstützt.

SettableParams

Eine Bitmaske, die den Kommunikationsparameter angibt, der geändert werden kann. Dieser Member wird auf null oder auf das bitweise OR 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 Carrier-Erkennung

SettableBaud

Eine Bitmaske, die die baud-Raten 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-Elements . SettableBaud wird auf null oder auf das bitweise OR oder mindestens eins dieser Flagbits festgelegt.

Serielle Controllertreiber legen das SERIAL_BAUD_USER Flagbit im Bitmaskenwert SettableBaud fest, um anzugeben, dass sie höhere Baudraten unterstützen als diejenigen, die durch die anderen SERIAL_BAUD_XXX-Flagbits ausgedrückt werden können. Beispielsweise setzt 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. Dieser Member wird auf null oder auf das bitweise OR 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 Weg durch serielle Hardwareleitungen

SettableStopParity

Die Stop-Bit- und Paritätseinstellungen, die ausgewählt werden können. Dieser Member wird auf null oder auf das bitweise OR eines oder mehrerer der folgenden Flagbits festgelegt.

Wert BESCHREIBUNG
SERIAL_STOPBITS_10 1 Stoppbit.
SERIAL_STOPBITS_15 Anderthalb 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 1 im Zeichenwert gerade ist. Andernfalls ist das Paritätsbit 0.
SERIAL_PARITY_EVEN Sogar 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. Der Wert 0 (null) gibt an, dass die Puffergröße nicht verfügbar ist.

Für SerCx2 und SerCx legt der zugeordnete serielle Controllertreiber diesen Member in der Regel auf 0 (null) fest. Serial.sys legt diesen Member auf einen Wert ungleich null fest, der die Ausgabepuffergröße angibt.

CurrentRxQueue

Größe der Empfangswarteschlange. Dieser Member gibt die Größe des internen Eingabepuffers des seriellen Controllertreibers in Bytes an. Der Wert 0 (null) gibt an, dass die Puffergröße nicht verfügbar ist.

Für SerCx2 und SerCx wird dieser Member vom zugeordneten seriellen Controllertreiber festgelegt. Für SerCx2 legt der Treiber diesen Member in der Regel auf 0 (null) fest. Für SerCx legt der Treiber diesen Member 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 Ringpuffergröße von SerCx abzurufen.

Serial.sys legt diesen Member auf einen Wert ungleich Null fest, der die Größe des Eingabepuffers angibt.

ProvSpec1

Anbieterspezifische Daten. Anwendungen sollten dieses Element ignorieren, es sei denn, anbieterspezifische Daten über das für den seriellen Port erforderliche Datenformat sind verfügbar.

ProvSpec2

Anbieterspezifische Daten. Anwendungen sollten dieses Element ignorieren, es sei denn, anbieterspezifische Daten über das für den seriellen Port erforderliche Datenformat sind verfügbar.

ProvChar[1]

Anbieterspezifische Daten. Anwendungen sollten dieses Element ignorieren, es sei denn, anbieterspezifische Daten über das für den seriellen Port erforderliche Datenformat sind verfügbar. Dieses Element ist das erste Element in einem Breitzeichenarray aus einem oder mehreren Elementen. Alle zusätzlichen Elemente folgen sofort diesem Member. Das PacketLength-Element gibt die Größe der SERIAL_COMMPROP-Struktur sowie alle zusätzlichen ProvChar-Arrayelemente an, die dieser Struktur folgen.

Hinweise

Diese Struktur wird von der IOCTL_SERIAL_GET_PROPERTIES-Anforderung verwendet.

Anforderungen

Anforderung Wert
Header ntddser.h

Weitere Informationen

IOCTL_SERIAL_GET_PROPERTIES