Compartir a través de


estructura SERIAL_HANDFLOW (ntddser.h)

La estructura SERIAL_HANDFLOW especifica la configuración del protocolo de enlace y el control de flujo para un puerto serie.

Sintaxis

typedef struct _SERIAL_HANDFLOW {
  ULONG ControlHandShake;
  ULONG FlowReplace;
  LONG  XonLimit;
  LONG  XoffLimit;
} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;

Miembros

ControlHandShake

Máscara de bits que especifica las líneas de control que usa el puerto serie para el control de flujo. Este miembro se establece en cero o en el or bit a bit o en uno o varios de los siguientes marcadores.

Valor Descripción
SERIAL_DTR_CONTROL DTR (terminal de datos listo) está habilitado.
SERIAL_DTR_HANDSHAKE DTR se usa para el control de flujo de entrada.
SERIAL_CTS_HANDSHAKE CTS (borrar para enviar) se usa para el control de flujo de salida.
SERIAL_DSR_HANDSHAKE DSR (conjunto de datos listo) se usa para el control de flujo de salida.
SERIAL_DCD_HANDSHAKE DCD (detección de portador de datos) se usa para el control de flujo de salida.
SERIAL_DSR_SENSITIVITY Omita los caracteres que llegan al puerto serie cuando la línea DSR esté inactiva.
SERIAL_ERROR_ABORT Anule una operación de transmisión o recepción si se produce un error.
 

SerCx2 admite la marca de SERIAL_CTS_HANDSHAKE y puede o no admitir las otras seis marcas definidas para este miembro, dependiendo del controlador de serie y de las capacidades del hardware del controlador serie. SerCx solo admite las cuatro primeras marcas de la tabla anterior. Serial.sys admite todas las marcas de la tabla anterior.

FlowReplace

Máscara de bits que especifica el comportamiento del control de flujo. Este miembro se establece en cero o en el or bit a bit o en uno o varios de los siguientes marcadores.

Valor Descripción
SERIAL_AUTO_TRANSMIT Use XON/XOFF para el control de flujo de los datos transmitidos.
SERIAL_AUTO_RECEIVE Use XON/XOFF para el control de flujo de los datos recibidos.
SERIAL_ERROR_CHAR Inserte el carácter de error en los datos recibidos cuando se produzca un error. Para obtener más información, vea la descripción del miembro de ErrorChar en SERIAL_CHARS.
SERIAL_NULL_STRIPPING Quita automáticamente caracteres NULL de los datos recibidos.
SERIAL_BREAK_CHAR Inserte el carácter de interrupción en los datos recibidos cuando se produzca una interrupción. Para obtener más información, vea la descripción del miembro breakChar de en SERIAL_CHARS.
SERIAL_RTS_CONTROL RTS (solicitud para enviar) está habilitado.
SERIAL_RTS_HANDSHAKE RTS se usa para el control de flujo de salida.
SERIAL_XOFF_CONTINUE Continúe transmitiendo después de enviar XOFF al dispositivo en el otro extremo de la línea.
 

SerCx2 admite las marcas SERIAL_RTS_CONTROL y SERIAL_RTS_HANDSHAKE, pero normalmente no admite las otras seis marcas definidas para este miembro, según el controlador de controlador serie y las funcionalidades del hardware del controlador serie. SerCx solo admite las marcas SERIAL_RTS_CONTROL y SERIAL_RTS_HANDSHAKE. Serial.sys admite todas las marcas de la tabla anterior.

XonLimit

Límite XON. Cuando el número de caracteres del búfer de recepción interno está por debajo del límite XON, el controlador de controlador serie usa las señales de control de flujo para indicar al remitente que reanude el envío de caracteres.

XoffLimit

Límite XOFF. Cuando el número de caracteres del búfer de recepción interno alcanza el límite XOFF, el controlador de controlador serie usa las señales de control de flujo para indicar al remitente que deje de enviar caracteres.

Observaciones

Esta estructura se usa en las solicitudes IOCTL_SERIAL_GET_HANDFLOW y IOCTL_SERIAL_SET_HANDFLOW.

Después de enviar un carácter XOFF (transmitir desactivado), el puerto serie deja de transmitirse inmediatamente, sin enviar más caracteres. Este comportamiento admite puertos serie que interpretan cualquier carácter que siga un XOFF como un XON implícito (transmitir).

SerCx2 y SerCx solo admiten subconjuntos de las marcas definidas para los miembros de ControlHandShake y FlowControl. Una solicitud IOCTL_SERIAL_SET_HANDFLOW que especifica una marca no admitida se completa con STATUS_NOT_IMPLEMENTED.

Requisitos

Requisito Valor
encabezado de ntddser.h

Consulte también

IOCTL_SERIAL_GET_HANDFLOW

IOCTL_SERIAL_SET_HANDFLOW