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 |