Compartir a través de


Función BuildCommDCBAndTimeoutsA (winbase.h)

Convierte una cadena de definición de dispositivo en los códigos de bloque de control de dispositivo adecuados y los coloca en un bloque de control de dispositivo. La función también puede configurar valores de tiempo de espera, incluida la posibilidad de que no haya tiempos de espera, para un dispositivo; El comportamiento de la función en este sentido depende del contenido de la cadena de definición de dispositivo.

Sintaxis

BOOL BuildCommDCBAndTimeoutsA(
  [in]  LPCSTR         lpDef,
  [out] LPDCB          lpDCB,
  [out] LPCOMMTIMEOUTS lpCommTimeouts
);

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={11|110|15 150||300|300|60|600|12|1200|24 2400||48|4800|96|9600|19 19200|}][parity={n| e |o|M|s}] [data={5|6|7|8}][stop={1 1.5||2}][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]

La subcadena "baud" puede ser cualquiera de los valores enumerados, que están en pares. Los valores de dos dígitos son los dos primeros dígitos de los valores asociados que representan. Por ejemplo, 11 representa 110 baudios, 19 representa 19 200 baudios.

La subcadena "paridad" indica cómo se usa el bit de paridad para detectar errores de transmisión. Los valores representan "none", "even", "odd",
"mark" y "space".

Para obtener más información, consulte la referencia del comando Mode en TechNet.

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 información de la cadena de información de control de dispositivo a la que apunta lpDef. Esta estructura DCB define la configuración de control para un dispositivo de comunicaciones.

[out] lpCommTimeouts

Puntero a una estructura COMMTIMEOUTS que recibe información de tiempo de espera.

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 BuildCommDCBAndTimeouts modifica su comportamiento de configuración de tiempo de espera en función de la presencia o ausencia de una subcadena "to={on|off}" en lpDef:

  • Si esa cadena contiene la subcadena "to=on", la función establece el miembro WriteTotalTimeoutConstant de la estructura COMMTIMEOUTS en 60000 y todos los demás miembros en 0.
  • Si esa cadena contiene la subcadena "to=off", la función establece los miembros de COMMTIMEOUTS en 0.
  • Si esa cadena no especifica una subcadena "to={on|off}", la función omite la estructura COMMTIMEOUTS en lpCommTimeouts.
Para obtener más información, vea comentarios para la función BuildCommDCB .

Nota

El encabezado winbase.h define BuildCommDCBAndTimeouts 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

BuildCommDCB

COMMTIMEOUTS

Funciones de comunicaciones

Recursos de comunicaciones

DCB

GetCommTimeouts

SetCommTimeouts