estructura SERIAL_COMMPROP (ntddser.h)
La estructura SERIAL_COMMPROP especifica las propiedades de un puerto serie.
Sintaxis
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;
Miembros
PacketLength
Tamaño, en bytes, del paquete de datos que comienza por esta estructura y que contiene los datos de propiedad solicitados. Este tamaño incluye la estructura SERIAL_COMMPROP y los elementos adicionales de la matriz ProvChar que siguen esta estructura.
PacketVersion
Versión de esta estructura. El número de versión actual es 2.
ServiceMask
Máscara de bits que indica qué servicios implementa este proveedor de comunicaciones. Este miembro siempre se establece en SERIAL_SP_SERIALCOMM por parte de proveedores de comunicaciones serie, incluidos los proveedores de módems. El miembro ProvSubType indica el tipo específico de comunicaciones serie que se implementan (por ejemplo, módem).
Reserved1
No se usa.
MaxTxQueue
Tamaño máximo de la cola de transmisión. Tamaño máximo, en bytes, del búfer de salida interno del controlador de serie. Un valor de cero indica que el proveedor de serie no impone ningún valor máximo.
MaxRxQueue
Tamaño máximo de la cola de recepción. Tamaño máximo, en bytes, del búfer de entrada interno del controlador de serie. Un valor de cero indica que el proveedor de serie no impone ningún valor máximo.
MaxBaud
Velocidad máxima aceptable de baudios. Un controlador de controlador serie basado en extensión establece este miembro en una velocidad de baudios expresada en bits por segundo (bps). Por ejemplo, si el controlador serie admite una velocidad máxima de baudios de 115 200 bps, el controlador establece MaxBaud = 115200.
Sin embargo, Serial.sys y muchos controladores de controlador serie anteriores establecen MaxBaud en uno de los bits de marca SERIAL_BAUD_XXX que se definen en el archivo de encabezado Ntddser.h. Los valores siguientes se definen para este miembro.
Valor | Descripción |
---|---|
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 | Hay disponibles tarifas de baudios programables. |
ProvSubType
Tipo de proveedor de comunicaciones específico. Cuando el miembro ServiceMask se establece en SERIAL_SP_SERIALCOMM, ProvSubType se establece en uno de los valores siguientes.
Valor | Significado |
---|---|
SERIAL_SP_UNSPECIFIED | Sin especificar |
SERIAL_SP_RS232 | Puerto serie RS-232 |
SERIAL_SP_PARALLEL | Puerto paralelo |
SERIAL_SP_RS422 | Puerto serie RS-422 |
SERIAL_SP_RS423 | Puerto serie RS-423 |
SERIAL_SP_RS449 | Puerto serie RS-449 |
SERIAL_SP_MODEM | Dispositivo módem |
SERIAL_SP_FAX | Dispositivo fax |
SERIAL_SP_SCANNER | Dispositivo de examen |
SERIAL_SP_BRIDGE | Puente de red no especificado |
SERIAL_SP_LAT | Protocolo LAT |
SERIAL_SP_TELNET | Protocolo Telnet® tcp/IP |
SERIAL_SP_X25 | Estándares X.25 |
ProvCapabilities
Las funcionalidades que ofrece el proveedor. Este miembro se establece en cero o en el or bit a bit de uno o varios de los siguientes bits de marca.
Valor | Descripción |
---|---|
SERIAL_PCF_DTRDSR | Se admiteN DTR (terminal de datos listo) y DSR (conjunto de datos listos). |
SERIAL_PCF_RTSCTS | Se admiten RTS (solicitud de envío) y CTS (sin cifrar para enviar). |
SERIAL_PCF_CD | Se admite CD (detección de portador). |
SERIAL_PCF_PARITY_CHECK | Se admite la comprobación de paridad. |
SERIAL_PCF_XONXOFF | Se admite el control de flujo XON (transmitir) y XOFF (transmisión desactivada). |
SERIAL_PCF_SETXCHAR | Los caracteres XON y XOFF son configurables. |
SERIAL_PCF_TOTALTIMEOUTS | Se admiten tiempos de espera transcurridos totales. |
SERIAL_PCF_INTTIMEOUTS | Se admiten tiempos de espera de intervalo. |
SERIAL_PCF_SPECIALCHARS | Se admiten caracteres especiales. |
SERIAL_PCF_16BITMODE | Se admite el modo especial de 16 bits. |
SettableParams
Máscara de bits que indica el parámetro de comunicación que se puede cambiar. Este miembro se establece en cero o en el or bit a bit de uno o varios de los siguientes bits de marca.
Valor | Descripción |
---|---|
SERIAL_SP_PARITY | Tipo de paridad (par o impar) |
SERIAL_SP_BAUD | Velocidad en baudios |
SERIAL_SP_DATABITS | Bits de datos |
SERIAL_SP_STOPBITS | Bits de parada |
SERIAL_SP_HANDSHAKING | Protocolo de enlace (control de flujo) |
SERIAL_SP_PARITY_CHECK | Comprobación de paridad |
SERIAL_SP_CARRIER_DETECT | Detección del operador |
SettableBaud
Máscara de bits que indica las velocidades de baudios que se pueden usar. Para obtener una tabla que describa los bits de marca SERIAL_BAUD_XXX definidos para este miembro, vea la descripción del miembro MaxBaud . SettableBaud se establece en cero o en el or bit a bit o uno o varios de estos bits de marca.
Los controladores de controladora serie establecen el bit de marca SERIAL_BAUD_USER en el valor de máscara de bits SettableBaud para indicar que admiten velocidades de baudios más altas que las que pueden expresarse por los otros bits de marca SERIAL_BAUD_XXX . Por ejemplo, un controlador que admite velocidades de baudios de 57600, 115200, 230400 y 460800 bps establece SettableBaud = (SERIAL_BAUD_57600 | SERIAL_BAUD_115200 | SERIAL_BAUD_USER).
SettableData
Número de bits de datos que se pueden establecer. Este miembro se establece en cero o en el or bit a bit de uno o varios de los siguientes bits de marca.
Valor | Descripción |
---|---|
SERIAL_DATABITS_5 | 5 bits de datos |
SERIAL_DATABITS_6 | 6 bits de datos |
SERIAL_DATABITS_7 | 7 bits de datos |
SERIAL_DATABITS_8 | Bits de datos: 8 |
SERIAL_DATABITS_16 | 16 bits de datos |
SERIAL_DATABITS_16X | Ruta de acceso amplia especial a través de líneas de hardware serie |
SettableStopParity
La configuración de paridad y de bits de detención que se puede seleccionar. Este miembro se establece en cero o en el or bit a bit de uno o varios de los siguientes bits de marca.
Valor | Descripción |
---|---|
SERIAL_STOPBITS_10 | Un bit de parada. |
SERIAL_STOPBITS_15 | Bits de una y media parada. |
SERIAL_STOPBITS_20 | Dos bits de parada. |
SERIAL_PARITY_NONE | No se usa ningún bit de paridad. |
SERIAL_PARITY_ODD | Paridad impar. El bit de paridad es 1 si el número de 1s del valor de carácter es par. De lo contrario, el bit de paridad es 0. |
SERIAL_PARITY_EVEN | Paridad. El bit de paridad es 1 si el número de 1s del valor de carácter es impar. De lo contrario, el bit de paridad es 0. |
SERIAL_PARITY_MARK | El bit de paridad siempre se establece en 1. |
SERIAL_PARITY_SPACE | El bit de paridad siempre se establece en 0. |
CurrentTxQueue
Transmitir el tamaño de la cola. Este miembro especifica el tamaño, en bytes, del búfer de salida interno del controlador de serie. Un valor de cero indica que el tamaño del búfer no está disponible.
Para SerCx2 y SerCx, el controlador de controlador serie asociado normalmente establece este miembro en cero. Serial.sys establece este miembro en un valor distinto de cero que indica el tamaño del búfer de salida.
CurrentRxQueue
Tamaño de la cola de recepción. Este miembro especifica el tamaño, en bytes, del búfer de entrada interno del controlador de serie. Un valor de cero indica que el tamaño del búfer no está disponible.
Para SerCx2 y SerCx, este miembro lo establece el controlador de controlador serie asociado. Para SerCx2, el controlador normalmente establece este miembro en cero. Para SerCx, el controlador normalmente establece este miembro en el tamaño del búfer de anillo que SerCx usa para almacenar en búfer los datos recibidos. Este controlador puede llamar al método SerCxGetRingBufferUtilization para obtener el tamaño del búfer de anillo de SerCx.
Serial.sys establece este miembro en un valor distinto de cero que indica el tamaño del búfer de entrada.
ProvSpec1
Datos específicos del proveedor. Las aplicaciones deben omitir este miembro a menos que haya datos específicos del proveedor sobre el formato de datos requerido por el puerto serie.
ProvSpec2
Datos específicos del proveedor. Las aplicaciones deben omitir este miembro a menos que haya datos específicos del proveedor sobre el formato de datos requerido por el puerto serie.
ProvChar[1]
Datos específicos del proveedor. Las aplicaciones deben omitir este miembro a menos que haya datos específicos del proveedor sobre el formato de datos requerido por el puerto serie. Este miembro es el primer elemento de una matriz de caracteres anchos de uno o varios elementos. Todos los elementos adicionales siguen inmediatamente a este miembro. El miembro PacketLength especifica el tamaño de la estructura de SERIAL_COMMPROP más los elementos adicionales de la matriz ProvChar que siguen esta estructura.
Comentarios
La solicitud de IOCTL_SERIAL_GET_PROPERTIES usa esta estructura.
Requisitos
Requisito | Valor |
---|---|
Header | ntddser.h |