Función BuildCommDCBA (winbase.h)
Rellena una estructura DCB especificada con valores especificados en una cadena de control de dispositivo. La cadena device-control usa la sintaxis del comando mode .
Sintaxis
BOOL BuildCommDCBA(
[in] LPCSTR lpDef,
[out] LPDCB lpDCB
);
Parámetros
[in] lpDef
Información del control del dispositivo. La función toma esta cadena, la analiza y, a continuación, establece los valores adecuados en la estructura DCB a la que apunta lpDCB.
La cadena debe tener el mismo formato que los argumentos de la línea de comandos del comando mode :
COMx[:][baud=b][parity=p][data=d][stop=s][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|hs}][rts={on|off|hs|tg}][idsr={on|off}]
El nombre del dispositivo es opcional, pero debe especificar un dispositivo válido si se usa.
Por ejemplo, la cadena siguiente especifica una velocidad de baudios de 1200, sin paridad, 8 bits de datos y 1 bit de detención:
baud=1200 parity=N data=8 stop=1
[out] lpDCB
Puntero a una estructura DCB que recibe la información.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
La función BuildCommDCB solo ajusta los miembros de la estructura DCB que se ven específicamente afectados por el parámetro lpDef , con las siguientes excepciones:
- Si la velocidad de baudios especificada es 110, la función establece los bits de detención en 2 para que permanezcan compatibles con el comando mode del sistema.
- De forma predeterminada, BuildCommDCB deshabilita XON/XOFF y el control de flujo de hardware. Para habilitar el control de flujo, debe establecer explícitamente los miembros adecuados de la estructura DCB .
Hay formas más antiguas y más recientes de la sintaxis del modo . La función BuildCommDCB admite ambos formularios. Sin embargo, no se pueden combinar las dos formas.
La forma más reciente de la sintaxis del modo permite establecer explícitamente los valores de los miembros del control de flujo de la estructura DCB . Si usa una forma anterior de la sintaxis del modo , la función BuildCommDCB establece los miembros del control de flujo de la estructura DCB , como se indica a continuación:
- Para una cadena que no termina con una x o p:
- fInX, fOutX, fOutXDsrFlow y fOutXCtsFlow están establecidos en FALSE
- fDtrControl se establece en DTR_CONTROL_ENABLE
- fRtsControl se establece en RTS_CONTROL_ENABLE
- Para una cadena que termina con una x:
- fInX y fOutX se establecen en TRUE.
- fOutXDsrFlow y fOutXCtsFlow se establecen en FALSE.
- fDtrControl se establece en DTR_CONTROL_ENABLE
- fRtsControl se establece en RTS_CONTROL_ENABLE
- Para una cadena que termina con p:
- fInX y fOutX se establecen en FALSE.
- fOutXDsrFlow y fOutXCtsFlow se establecen en TRUE.
- fDtrControl se establece en DTR_CONTROL_HANDSHAKE
- fRtsControl se establece en RTS_CONTROL_HANDSHAKE
Nota
El encabezado winbase.h define BuildCommDCB como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP |
Servidor mínimo compatible | Windows Server 2003 |
Plataforma de destino | Windows |
Encabezado | winbase.h (incluya Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |
Vea también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de