SERIAL_COMMPROP struttura (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;
Members
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 tutti gli 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 di modem. Il membro ProvSubType indica il tipo specifico di comunicazioni seriali implementate(ad esempio, modem).
Reserved1
Non usato.
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 nessun valore massimo viene imposto 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 nessun valore massimo viene imposto dal provider seriale.
MaxBaud
Velocità massima di baud accettabile. Un driver del controller 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 del controller seriale meno recenti impostano MaxBaud su uno dei bit di flag SERIAL_BAUD_ XXX definiti nel file di intestazione Ntddser.h. Per questo membro vengono 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 baud programmabili. |
ProvSubType
Tipo di provider di comunicazioni specifico. Quando il membro ServiceMask è impostato su SERIAL_SP_SERIALCOMM, ProvSubType è impostato su uno dei valori seguenti.
Valore | Significato |
---|---|
SERIAL_SP_UNSPECIFIED | Non specificata |
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 TCP/IP Telnet® |
SERIAL_SP_X25 | Standard X.25 |
ProvCapabilities
Le funzionalità offerte dal provider. Questo membro è impostato su zero o sul bit-OR di uno o più dei bit di flag seguenti.
Valore | Descrizione |
---|---|
SERIAL_PCF_DTRDSR | Sono supportati DTR (terminale dati pronto) e DSR (pronto per il set di dati). |
SERIAL_PCF_RTSCTS | Sono supportati RTS (richiesta di invio) e CTS (chiaro da inviare). |
SERIAL_PCF_CD | CD (rilevamento del vettore) è supportato. |
SERIAL_PCF_PARITY_CHECK | Il controllo della parità è supportato. |
SERIAL_PCF_XONXOFF | Il controllo flusso XON (trasmissione in) e XOFF (trasmissione off) sono supportati. |
SERIAL_PCF_SETXCHAR | I caratteri XON e XOFF sono impostabili. |
SERIAL_PCF_TOTALTIMEOUTS | Sono supportati i timeout totali trascorsi. |
SERIAL_PCF_INTTIMEOUTS | I timeout di intervallo sono supportati. |
SERIAL_PCF_SPECIALCHARS | Sono supportati caratteri speciali. |
SERIAL_PCF_16BITMODE | La modalità speciale a 16 bit è supportata. |
SettableParams
Maschera di bit che indica il parametro di comunicazione che può essere modificato. Questo membro è impostato su zero o sul bit-OR di uno o più dei bit di flag seguenti.
Valore | Descrizione |
---|---|
SERIAL_SP_PARITY | Tipo di parità (anche o dispari) |
SERIAL_SP_BAUD | Velocità in baud |
SERIAL_SP_DATABITS | Bit di dati |
SERIAL_SP_STOPBITS | Bit di stop |
SERIAL_SP_HANDSHAKING | Handshaking (controllo flusso) |
SERIAL_SP_PARITY_CHECK | Controllo parità |
SERIAL_SP_CARRIER_DETECT | Rilevamento del vettore |
SettableBaud
Maschera di bit che indica le tariffe 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 bit-OR o uno o più bit di questi flag.
I driver del controller seriale impostano il bit SERIAL_BAUD_USER flag nel valore della maschera di bit SettableBaud per indicare che supportano tassi di baud superiori a quelli che possono essere espressi dagli altri bit di flag SERIAL_BAUD_ XXX. Ad esempio, un driver che supporta i tassi di 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 possono essere impostati. Questo membro è impostato su zero o sul bit-OR 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 parità e bit di arresto che possono essere selezionate. Questo membro è impostato su zero o sul bit-OR di uno o più dei bit di flag seguenti.
Valore | Descrizione |
---|---|
SERIAL_STOPBITS_10 | Un singolo bit di stop. |
SERIAL_STOPBITS_15 | Uno e mezzo bit di arresto. |
SERIAL_STOPBITS_20 | Due bit di stop. |
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 | Anche 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 la dimensione 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 sulla dimensione del buffer dell'anello usato da SerCx per bufferare i dati ricevuti. Questo driver può chiamare il metodo SerCxGetRingBufferUtilization per ottenere le dimensioni del buffer dell'anello da SerCx.
Serial.sys imposta questo membro su un valore diverso da zero che indica la dimensione 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 di 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 della matrice ProvChar aggiuntivi che seguono questa struttura.
Commenti
Questa struttura viene utilizzata dalla richiesta di IOCTL_SERIAL_GET_PROPERTIES .
Requisiti
Requisito | Valore |
---|---|
Intestazione | ntddser.h |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per