[問題] 如何測試Handle 是否還存在?(已解)

看板C_and_CPP (C/C++)作者 (f814030)時間12年前 (2014/01/07 18:08), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) bcb 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 小弟使用 DeviceIoControl 這個api來對usb進行資料的操作, 突然在某些時後會吐不出東西,發現 Error Code = 55, 意思是設備沒有正常的啟動。 但小弟的程式裡並沒有close掉 handle 的部份啊, 所以想請問版上先進,是否有測試 handle 是否存在的方法呢? 而不是只剩下一個 address 在上面。 謝謝。 餵入的資料(Input): 使用 DeviceIoControl來輸入指令。 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.45.58

01/07 18:25, , 1F
Error Code 不就是用來告訴你的 @@?
01/07 18:25, 1F
error code的確是告訴我裝置無法使用,但我看 handle 裡面的位置是存在的, 所以才想知道,這位址所指到的地方,是否有東西@@

01/07 18:45, , 2F
你當下再createfile一次可以正常做事嗎
01/07 18:45, 2F

01/07 18:46, , 3F
應該跟handle沒關係吧,有沒可能是device driver出問題?
01/07 18:46, 3F
感謝您的提點,小弟當下在createfile 也是一樣無法下指令… 看來很有可能是device driver 的問題…… ※ 編輯: f814030 來自: 220.130.45.58 (01/08 09:29) 小弟查到原因了, 原來是DeviceIoControl回傳false的時後, host 會自已把device reset, 所以我的device 當然就不見了@@ 謝謝以上先進的提醒! ※ 編輯: f814030 來自: 220.130.45.58 (01/08 14:25)
文章代碼(AID): #1Ioz8dp0 (C_and_CPP)
文章代碼(AID): #1Ioz8dp0 (C_and_CPP)