Compartir a través de


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

Consulte también

IOCTL_SERIAL_GET_PROPERTIES