KsBuildCommDCB
此函式是否可用依装置支援项目而定。
用装置控制字串中指定的值填入指定的 DCB 结构,装置控制字串使用模式命令语法。
语法
BOOL KsBuildCommDCB(
LPCWSTR lpDef,
LPDCB lpDCB
);
参数
lpDef:装置控制资讯,该函式使用此字串进行解析,然后在 lpDCB 指向的 DCB 结构中设置适当的值。
该字串必须与模式命令的命令行引数具有相同的格式:
COMx[:][baud=b][parity=p][data=d][stop=s][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]
装置名称为选填,但若填上则必须指定一个有效的装置。
例如,以下字串指定鲍率为 1200、无奇偶性、8 个数据位元和 1 个停止位元:
baud=1200 parity=N data=8 stop=1
lpDCB:接收资讯的 DCB 结构指标。
回传值
若函式执行成功将回传 TRUE;失败将回传 FALSE。欲获取延伸错误资讯请呼叫 GetLastError。
备注
KsBuildCommDCB 函式仅为特定受 lpDef 参数影响的 DCB 结构成员做调整,除了以下例外:
- 若指定的鲍率为 110,函式会将停止位元设定为 2 以保持与系统模式命令的相容性。
- 预设下, KsBuildCommDCB 停用 XON/XOFF 与硬体流程控制,欲启用硬体流程控制,须显性设定 DCB 结构的适当成员。
KsBuildCommDCB 函式仅填充了 DCB 结构的成,欲将此设定用于串联埠,请使用 KsSetCommState 函式。
以上为旧与新模式语法的格式,KsBuildCommDCB 函式支援以上两种格式,但无法将两格式混合使用。
模式 (mode) 语法的新格式允许显性设定 DCB 结构的流程控制成员值,若使用模式语法的旧格式,BuildCommDCB 函式会将 DCB 结构的流程控制成员设定为以下:
- 非以 x 或 p 为结尾的字串:
- fInX, fOutX, fOutXDsrFlow 与 fOutXCtsFlow 皆设定为 FALSE
- fDtrControl 设定为 DTR_CONTROL_ENABLE
- fRtsControl 设定为 RTS_CONTROL_ENABLE
- x 结尾的字串:
- fInX 与 fOutX 皆设定为 TRUE
- fOutXDsrFlow 与 fOutXCtsFlow 皆设定为 FALSE
- fDtrControl 设定为 DTR_CONTROL_ENABLE
- fRtsControl 设定为 RTS_CONTROL_ENABLE
- p 结尾的字串:
- fInX 与 fOutX 皆设定为 FALSE
- fOutXDsrFlow 与 fOutXCtsFlow 皆设定为 TRUE
- fDtrControl 设定为 DTR_CONTROL_HANDSHAKE
- fRtsControl 设定为 RTS_CONTROL_HANDSHAKE
范例
N/A
使用需求
RT | Win32 | |
---|---|---|
最低支援版本 | 4.0 | 4.0 |
标头档 | kscom.h | kscom.h |
程式库 | KsApi_Rtss.lib | ksapi.h |
参见