BuildCommDCB

【勇芳软件工作室】汉化HomePreviousNext

BuildCommDCB函数使用设备控制字符串中指定的值填充指定的DCB结构。设备控制字符串使用模式命令的语法。

BOOL BuildCommDCB(

LPCTSTR 【lpDef】,//指向设备控制字符串的指针
LPDCB 【lpDCB】//指向设备控制块的指针
); 

参数

【lpDef】

指向指定设备控制信息的以空值终止的字符串的指针。字符串必须与模式命令的命令行参数的格式相同。例如,以下字符串指定波特率1200,无奇偶校验,8位数据位和1位停止位:

baud=1200 parity=N data=8 stop=1

如果设备名称包含在字符串中,则它将被忽略,但必须指定有效的设备,如下所示:

COM1: baud=1200 parity=N data=8 stop=1

有关模式命令语法的更多信息,请参阅操作系统的最终用户文档。

【lpDCB】

指向要填写的DCB结构的指针。

返回值

如果函数成功,返回值不为零。

如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.

备注

BuildCommDCB功能仅调整DCB参数特定影响的DCB结构的成员,但有以下例外:

*如果指定的波特率为110,该函数将停止位设置为2,以与Windows NT或MS-DOS 模式命令保持兼容。

*默认情况下,BuildCommDCB禁用XON / XOFF和硬件流控制。要启用流量控制,您必须显式设置DCB结构的相应成员。

BuildCommDCB功能仅填写DCB结构的成员。要将这些设置应用于串行端口,请使用SetCommState功能。

有更旧和更新的模式命令语法。BuildCommDCB功能支持这两种形式。但是,您不能将两种形式混合在一起。

模式命令语法的较新形式允许您显式设置DCB 结构的流控制成员的值。如果您使用旧版模式语法,BuildCommDCB功能将设置DCB结构的流控制成员,如下所示:

*对于不以xp结尾的字符串,例如96,n,8,1或任何其他较旧的模式字符串,

fInXfOutXfOutXDsrFlowfOutXCtsFlow都设置为FALSE

fDtrControl设置为DTR_CONTROL_ENABLE

fRtsControl设为RTS_CONTROL_ENABLE

*对于96,n,8,1,x或任何其他较旧的模式字符串,使用x完成的字符串:

fInXfOutX都设置为TRUE

fOutXDsrFlowfOutXCtsFlow都设置为FALSE。

fDtrControl设置为DTR_CONTROL_ENABLE

fRtsControl设置为RTS_CONTROL_ENABLE

*对于诸如96,n,8,1,p或任何其他使用p完成的较旧格式的模式字符串的字符串:

fInXfOutX都设置为FALSE

fOutXDsrFlowfOutXCtsFlow都设置为TRUE。

fDtrControl设置为DTR_CONTROL_HANDSHAKE

fRtsControl设置为RTS_CONTROL_HANDSHAKE

也可以看看

DCB, SetCommState