2012-01-27 43 views
1

我只是碰到了一個有趣的MSDN文章這使我相信,軟件流控制跑不支持:http://msdn.microsoft.com/en-us/library/ff802693.aspxWindows支持軟件流控制嗎?

引述相關段落:

fBinary:指定二進制模式是否啓用。 Windows API不支持非二進制模式傳輸,所以此成員應爲TRUE。嘗試使用FALSE將不起作用。

由於軟件流量控制使用了兩個特殊字符,XOFF和XON,二進制傳輸不能使用軟件流控制; XON或XOFF字符可能會出現在二進制數據中,並會干擾數據傳輸。

這是否意味着Windows不再支持軟件流控制?它曾經嗎?

回答

1

我可以看到可能的困惑,但不是,那不是這個意思。 DCB.fBinary僅僅意味着驅動程序本身不會改變應用程序發送的數據。 * Binary transfers「講述了應用程序通過端口發送的數據kind。說什麼時候傳輸文件如果發送EXE文件,那麼文件數據不可避免地包含一個與XON匹配的字節值或XOFF。如果設備使用Xon/Xoff握手,那麼它不會工作正常,它會錯誤地將該字節解釋爲握手字符。

Xon/Xoff握手沒有問題,您只需製作確保你發送的數據本身不包含Ctrl + Q和Ctrl + S,就像文本一樣,與二進制傳輸相反

+0

好吧,所以我有一個後續問題,看看'DCB.fBinary'必須是真的,DCP.EofChar是否曾經使用過?我看到論壇帖子指出'DCB.fB'時會忽略'DCP.EofChar' inary「是真實的,但規範並不表示這種或那種方式。有任何想法嗎? – Gili 2012-01-27 16:40:24

+0

我看到它造成麻煩,所以我知道它至少由一個驅動程序實現。你最好把它留在零。 – 2012-01-27 16:43:40

+0

好吧,所以零意味着禁用?這對所有的'char'屬性都是如此嗎? – Gili 2012-01-27 16:46:10