Estructura DCB (winbase.h)
Define la configuración de control para un dispositivo de comunicaciones serie.
Sintaxis
typedef struct _DCB {
DWORD DCBlength;
DWORD BaudRate;
DWORD fBinary : 1;
DWORD fParity : 1;
DWORD fOutxCtsFlow : 1;
DWORD fOutxDsrFlow : 1;
DWORD fDtrControl : 2;
DWORD fDsrSensitivity : 1;
DWORD fTXContinueOnXoff : 1;
DWORD fOutX : 1;
DWORD fInX : 1;
DWORD fErrorChar : 1;
DWORD fNull : 1;
DWORD fRtsControl : 2;
DWORD fAbortOnError : 1;
DWORD fDummy2 : 17;
WORD wReserved;
WORD XonLim;
WORD XoffLim;
BYTE ByteSize;
BYTE Parity;
BYTE StopBits;
char XonChar;
char XoffChar;
char ErrorChar;
char EofChar;
char EvtChar;
WORD wReserved1;
} DCB, *LPDCB;
Miembros
DCBlength
Longitud de la estructura, en bytes. El llamador debe establecer este miembro en sizeof(DCB)
.
BaudRate
Velocidad en baudios a la que opera el dispositivo de comunicaciones. Este miembro puede ser un valor real de velocidad en baudios o uno de los índices siguientes.
fBinary
Si este miembro es TRUE, el modo binario está habilitado. Windows no admite transferencias de modo nobinario, por lo que este miembro debe ser TRUE.
fParity
Si este miembro es TRUE, se realiza la comprobación de paridad y se notifican errores.
fOutxCtsFlow
Si este miembro es TRUE, la señal CTS (clear-to-send) se supervisa para el control de flujo de salida. Si este miembro es TRUE y CTS está desactivado, la salida se suspende hasta que se envía CTS de nuevo.
fOutxDsrFlow
Si este miembro es TRUE, la señal de DSR (lista para el conjunto de datos) se supervisa para el control de flujo de salida. Si este miembro es TRUE y DSR está desactivado, la salida se suspende hasta que DSR se envíe de nuevo.
fDtrControl
Control de flujo DTR (listo para el terminal de datos). Este miembro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
Deshabilita la línea DTR cuando se abre el dispositivo y la deja deshabilitada. |
|
Habilita la línea DTR cuando se abre el dispositivo y lo deja activado. |
|
Habilita el protocolo de enlace DTR. Si el protocolo de enlace está habilitado, es un error para que la aplicación ajuste la línea mediante la función EscapeCommFunction . |
fDsrSensitivity
Si este miembro es TRUE, el controlador de comunicaciones es sensible al estado de la señal DSR. El controlador omite los bytes recibidos, a menos que la línea de entrada del módem DSR sea alta.
fTXContinueOnXoff
Si este miembro es TRUE, la transmisión continúa después de que el búfer de entrada haya llegado a XoffLim bytes de estar lleno y el controlador ha transmitido el carácter XoffChar para dejar de recibir bytes. Si este miembro es FALSE, la transmisión no continúa hasta que el búfer de entrada está dentro de los bytes XonLim de estar vacío y el controlador ha transmitido el carácter XonChar para reanudar la recepción.
fOutX
Indica si se usa el control de flujo XON/XOFF durante la transmisión. Si este miembro es TRUE, la transmisión se detiene cuando se recibe el carácter XoffChar y se inicia de nuevo cuando se recibe el carácter XonChar .
fInX
Indica si se usa el control de flujo XON/XOFF durante la recepción. Si este miembro es TRUE, el carácter XoffChar se envía cuando el búfer de entrada entra en bytes XoffLim de estar lleno y el carácter XonChar se envía cuando el búfer de entrada entra en bytes XonLim de estar vacío.
fErrorChar
Indica si los bytes recibidos con errores de paridad se reemplazan por el carácter especificado por el miembro ErrorChar . Si este miembro es TRUE y el miembro fParity es TRUE, se produce el reemplazo.
fNull
Si este miembro es TRUE, los bytes NULL se descartan cuando se reciben.
fRtsControl
Control de flujo RTS (solicitud a envío). Este miembro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
Deshabilita la línea RTS cuando se abre el dispositivo y la deja deshabilitada. |
|
Habilita la línea RTS cuando se abre el dispositivo y lo deja activado. |
|
Habilita el protocolo de enlace RTS. El controlador genera la línea RTS cuando el búfer de "escritura anticipada" (entrada) es menor que una mitad llena y reduce la línea RTS cuando el búfer está lleno de más de tres cuartos. Si el protocolo de enlace está habilitado, es un error para que la aplicación ajuste la línea mediante la función EscapeCommFunction . |
|
Especifica que la línea RTS será alta si hay bytes disponibles para la transmisión. Una vez enviados todos los bytes almacenados en búfer, la línea RTS será baja. |
fAbortOnError
Si este miembro es TRUE, el controlador finaliza todas las operaciones de lectura y escritura con un estado de error si se produce un error. El controlador no aceptará ninguna otra operación de comunicación hasta que la aplicación haya confirmado el error mediante una llamada a la función ClearCommError .
fDummy2
Reservado; no usar.
wReserved
Reservados; debe ser cero.
XonLim
Número mínimo de bytes en uso permitido en el búfer de entrada antes de activar el control de flujo para permitir la transmisión por parte del remitente. Se supone que se especifica el control de flujo de entrada XON/XOFF, RTS o DTR en los miembros fInX, fRtsControl o fDtrControl .
XoffLim
El número mínimo de bytes libres permitidos en el búfer de entrada antes de activar el control de flujo para impedir al remitente. Tenga en cuenta que el remitente puede transmitir caracteres después de activar la señal de control de flujo, por lo que este valor nunca debe ser cero. Se supone que se especifica el control de flujo de entrada XON/XOFF, RTS o DTR en los miembros fInX, fRtsControl o fDtrControl . El número máximo de bytes en uso permitido se calcula restando este valor del tamaño, en bytes, del búfer de entrada.
ByteSize
Número de bits de los bytes transmitidos y recibidos.
Parity
Esquema de paridad que se va a usar. Este miembro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
Paridad. |
|
Marcar paridad. |
|
Sin paridad. |
|
Paridad impar. |
|
Paridad del espacio. |
StopBits
Número de bits de detención que se van a usar. Este miembro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
1 bit de detención. |
|
1,5 bits de detención. |
|
2 bits de detención. |
XonChar
Valor del carácter XON para la transmisión y la recepción.
XoffChar
Valor del carácter XOFF para transmisión y recepción.
ErrorChar
Valor del carácter utilizado para reemplazar los bytes recibidos por un error de paridad.
EofChar
Valor del carácter utilizado para indicar el final de los datos.
EvtChar
Valor del carácter utilizado para indicar un evento.
wReserved1
Reservado; no usar.
Comentarios
Cuando se usa una estructura DCB para configurar la versión 8250, se aplican las restricciones siguientes a los valores especificados para los miembros ByteSize y StopBits :
- El número de bits de datos debe ser de 5 a 8 bits.
- El uso de 5 bits de datos con 2 bits de detención es una combinación no válida, ya que es 6, 7 o 8 bits de datos con 1,5 bits de detención.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP |
Servidor mínimo compatible | Windows Server 2003 |
Encabezado | winbase.h (incluye Windows.h) |