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 |
參見