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 se agote el tiempo de espera, para un dispositivo; El comportamiento de la función en este sentido depende del contenido de la cadena de definición del 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 de DCB apuntada por lpDCB.

La cadena debe tener el mismo formato que el modo argumentos de la línea de comandos del comando:

xcom [:][baud={111101515030300300606001212002424004848009696001919200}][parity={neoms}][data={5678}][stop={11,52}][to={onoff}][xon={onoff}][odsr={onoff}][octs={onoff}][dtr={onononononOffhs}][rts={onoffhstg}][idsr={onoff}]

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 de comandos modo en TechNet.

Por ejemplo, la siguiente cadena 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 de dcB de 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 de COMMTIMEOUTS que recibe información de tiempo de espera.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es distinto de cero.

Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Observaciones

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 WriteTotalTimeoutConstant miembro 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 los comentarios de 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP
servidor mínimo admitido Windows Server 2003
de la plataforma de destino de Windows
encabezado de winbase.h (incluya Windows.h)
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

BuildCommDCB de

COMMTIMEOUTS

funciones de comunicaciones de

recursos de comunicaciones

DCB

GetCommTimeouts

SetCommTimeouts