古詩詞大全網 - 成語經典 - createfile失敗

createfile失敗

產生這種奇怪現象的原因是:微軟預定義的標準設備中含有“COM1”-“COM9”。所以,“COM1”-“COM9”作為文件名傳遞給函數時操作系統會自動地將之解析為相應的設備。但對於COM10及以上的串口,“COM10”之類的文件名系統只視之為壹般意義上的文件,而非串行設備。

為了增加對COM10及以上串行端口的支持,微軟規定,如果要訪問這樣的設備,應使用這樣的文件名(以COM10為例):\\.COM10

所以,對於COM10及以上的串口,CreateFile()的調用樣式應調整如下:

CreateFile(

"\\\\.\\COM10", // 定義串口名

fdwAccess, // 存取模式(讀寫)

0, // ***享模式:必須設置為0,表示設備獨占使用

NULL, // 保密性

OPEN_EXISTING, // 必須設置為OPEN_EXISTING

0, // 文件屬性,如果是異步模式,可設置為

NULL // 模版,串口設備必須設置為NULL

);

應該用反斜杠\。