Condividi tramite


struttura SERIAL_COMMPROP (ntddser.h)

La struttura SERIAL_COMMPROP specifica le proprietà di una porta seriale.

Sintassi

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;

Membri

PacketLength

Dimensioni, in byte, del pacchetto di dati che inizia con questa struttura e che contiene i dati della proprietà richiesti. Queste dimensioni includono la struttura SERIAL_COMMPROP e gli eventuali elementi della matrice ProvChar aggiuntivi che seguono questa struttura.

PacketVersion

Versione di questa struttura. Il numero di versione corrente è 2.

ServiceMask

Maschera di bit che indica quali servizi vengono implementati da questo provider di comunicazioni. Questo membro è sempre impostato su SERIAL_SP_SERIALCOMM da provider di comunicazioni seriali, inclusi i provider modem. Il membro ProvSubType indica il tipo specifico di comunicazioni seriali implementate, ad esempio modem.

Reserved1

Non utilizzato.

MaxTxQueue

Dimensione massima della coda di trasmissione. Dimensioni massime, in byte, del buffer di output interno del driver del controller seriale. Un valore pari a zero indica che non viene imposto alcun valore massimo dal provider seriale.

MaxRxQueue

Dimensione massima della coda di ricezione. Dimensioni massime, in byte, del buffer di input interno del driver del controller seriale. Un valore pari a zero indica che non viene imposto alcun valore massimo dal provider seriale.

MaxBaud

Velocità massima di baud accettabile. Un driver seriale basato su estensione imposta questo membro su una velocità baud espressa in bit al secondo (bps). Ad esempio, se il controller seriale supporta una velocità massima di 115.200 bps, il driver imposta MaxBaud = 115200.

Tuttavia, Serial.sys e molti driver di controller seriali meno recenti impostati MaxBaud su uno dei bit di flagXXX SERIAL_BAUD_ definiti nel file di intestazione Ntddser.h. Per questo membro sono definiti i valori seguenti.

Valore Descrizione
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 Sono disponibili tariffe di baud programmabili.

ProvSubType

Tipo di provider di comunicazioni specifico. Quando il membro servicemask è impostato su SERIAL_SP_SERIALCOMM, ProvSubType viene impostato su uno dei valori seguenti.

Valore Significato
SERIAL_SP_UNSPECIFIED Specificato
SERIAL_SP_RS232 Porta seriale RS-232
SERIAL_SP_PARALLEL Porta parallela
SERIAL_SP_RS422 Porta seriale RS-422
SERIAL_SP_RS423 Porta seriale RS-423
SERIAL_SP_RS449 Porta seriale RS-449
SERIAL_SP_MODEM Dispositivo modem
SERIAL_SP_FAX Dispositivo FAX
SERIAL_SP_SCANNER Dispositivo scanner
SERIAL_SP_BRIDGE Bridge di rete non specificato
SERIAL_SP_LAT Protocollo LAT
SERIAL_SP_TELNET Protocollo Telnet® TCP/IP
SERIAL_SP_X25 Standard X.25

ProvCapabilities

Funzionalità offerte dal provider. Questo membro è impostato su zero o sull'OR bit per bit di uno o più dei bit di flag seguenti.

Valore Descrizione
SERIAL_PCF_DTRDSR Sono supportati DTR (pronto per il terminale dati) e DSR (set di dati pronti).
SERIAL_PCF_RTSCTS Sono supportati RTS (richiesta di invio) e CTS (chiaro da inviare).
SERIAL_PCF_CD Il cd (rilevamento del gestore telefonico) è supportato.
SERIAL_PCF_PARITY_CHECK Il controllo della parità è supportato.
SERIAL_PCF_XONXOFF Sono supportati il controllo del flusso XON (trasmetti su) e XOFF (trasmetti fuori).
SERIAL_PCF_SETXCHAR I caratteri XON e XOFF sono impostabili.
SERIAL_PCF_TOTALTIMEOUTS Sono supportati i timeout totali trascorsi.
SERIAL_PCF_INTTIMEOUTS I timeout dell'intervallo sono supportati.
SERIAL_PCF_SPECIALCHARS Sono supportati caratteri speciali.
SERIAL_PCF_16BITMODE È supportata la modalità speciale a 16 bit.

SettableParams

Maschera di bit che indica il parametro di comunicazione che può essere modificato. Questo membro è impostato su zero o sull'OR bit per bit di uno o più dei bit di flag seguenti.

Valore Descrizione
SERIAL_SP_PARITY Tipo di parità (pari o dispari)
SERIAL_SP_BAUD Baud rate
SERIAL_SP_DATABITS Bit di dati
SERIAL_SP_STOPBITS Bit di arresto
SERIAL_SP_HANDSHAKING Handshaking (controllo del flusso)
SERIAL_SP_PARITY_CHECK Controllo parità
SERIAL_SP_CARRIER_DETECT Rilevamento del gestore telefonico

SettableBaud

Maschera di bit che indica le frequenze baud che possono essere usate. Per una tabella che descrive i bit di flag SERIAL_BAUD_XXX definiti per questo membro, vedere la descrizione del membro MaxBaud. settableBaud è impostato su zero o su OR bit per bit o uno o più di questi bit di flag.

I driver del controller seriale impostano il bit del flag SERIAL_BAUD_USER nel settableBaud valore della maschera di bit per indicare che supportano velocità baud superiori a quelle che possono essere espresse dagli altri bitflag SERIAL_BAUD_ XXX. Ad esempio, un driver che supporta velocità baud di 57600, 115200, 230400 e 460800 bps imposta SettableBaud = (SERIAL_BAUD_57600 | SERIAL_BAUD_115200 | SERIAL_BAUD_USER).

SettableData

Numero di bit di dati che è possibile impostare. Questo membro è impostato su zero o sull'OR bit per bit di uno o più dei bit di flag seguenti.

Valore Descrizione
SERIAL_DATABITS_5 5 bit di dati
SERIAL_DATABITS_6 6 bit di dati
SERIAL_DATABITS_7 7 bit di dati
SERIAL_DATABITS_8 8 bit di dati
SERIAL_DATABITS_16 16 bit di dati
SERIAL_DATABITS_16X Percorso wide speciale attraverso le linee hardware seriali

SettableStopParity

Impostazioni di bit di arresto e parità che è possibile selezionare. Questo membro è impostato su zero o sull'OR bit per bit di uno o più dei bit di flag seguenti.

Valore Descrizione
SERIAL_STOPBITS_10 Un bit di stop.
SERIAL_STOPBITS_15 Uno e mezzo bit di sosta.
SERIAL_STOPBITS_20 Due bit di arresto.
SERIAL_PARITY_NONE Non viene usato alcun bit di parità.
SERIAL_PARITY_ODD Parità dispari. Il bit di parità è 1 se il numero di 1 nel valore del carattere è pari. In caso contrario, il bit di parità è 0.
SERIAL_PARITY_EVEN Pari parità. Il bit di parità è 1 se il numero di 1 nel valore del carattere è dispari. In caso contrario, il bit di parità è 0.
SERIAL_PARITY_MARK Il bit di parità è sempre impostato su 1.
SERIAL_PARITY_SPACE Il bit di parità è sempre impostato su 0.

CurrentTxQueue

Trasmettere le dimensioni della coda. Questo membro specifica le dimensioni, in byte, del buffer di output interno del driver del controller seriale. Un valore pari a zero indica che le dimensioni del buffer non sono disponibili.

Per SerCx2 e SerCx, il driver del controller seriale associato imposta in genere questo membro su zero. Serial.sys imposta questo membro su un valore diverso da zero che indica le dimensioni del buffer di output.

CurrentRxQueue

Dimensioni della coda di ricezione. Questo membro specifica le dimensioni, in byte, del buffer di input interno del driver del controller seriale. Un valore pari a zero indica che le dimensioni del buffer non sono disponibili.

Per SerCx2 e SerCx, questo membro viene impostato dal driver del controller seriale associato. Per SerCx2, il driver imposta in genere questo membro su zero. Per SerCx, il driver imposta in genere questo membro sulle dimensioni del buffer circolare usato da SerCx per memorizzare nel buffer i dati ricevuti. Questo driver può chiamare il metodo serCxGetBufferUtilization per ottenere le dimensioni del buffer circolare da SerCx.

Serial.sys imposta questo membro su un valore diverso da zero che indica le dimensioni del buffer di input.

ProvSpec1

Dati specifici del provider. Le applicazioni devono ignorare questo membro a meno che non siano disponibili dati specifici del provider relativi al formato di dati richiesto dalla porta seriale.

ProvSpec2

Dati specifici del provider. Le applicazioni devono ignorare questo membro a meno che non siano disponibili dati specifici del provider relativi al formato di dati richiesto dalla porta seriale.

ProvChar[1]

Dati specifici del provider. Le applicazioni devono ignorare questo membro a meno che non siano disponibili dati specifici del provider relativi al formato di dati richiesto dalla porta seriale. Questo membro è il primo elemento in una matrice di caratteri wide di uno o più elementi. Tutti gli elementi aggiuntivi seguono immediatamente questo membro. Il membro PacketLength specifica le dimensioni della struttura SERIAL_COMMPROP più eventuali elementi aggiuntivi ProvChar matrice che seguono questa struttura.

Osservazioni

Questa struttura viene utilizzata dalla richiesta di IOCTL_SERIAL_GET_PROPERTIES.

Fabbisogno

Requisito Valore
intestazione ntddser.h

Vedere anche

IOCTL_SERIAL_GET_PROPERTIES