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

IOCTL_SERIAL_GET_PROPERTIES