[問題] Windows 儲存裝置的安全移除(退出)功能

看板C_and_CPP作者 (朽唯)時間10年前 (2013/09/23 15:35), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Windows7 + Qt5.1.1 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) SetupAPI.lib (WDK8.1) 問題(Question): 各位好: 小弟因工作需要,需要寫一個能自動退出裝置的小程式。 希望可以達到等同在 "我的電腦" -> 對SD、隨身碟的槽按右鍵 -> "退出"/"Eject"的效果 用過 1. devcon remove ** -> 這是移除裝置 不太一樣 2. 使用CM_Request_Device_Eject function 使用這個範例 http://ppt.cc/f919 結果: 會跳出"可以安全移除硬體"的提示泡泡。 但若用在記憶卡的時候,會移除整個USB reader,需重新拔插reader才能用。 無法像在右鍵那樣直接重拔插記憶卡就可以,也不適用PCI-E card reader。 3. 使用DeviceIoControl function + IOCTL_STORAGE_EJECT_MEDIA 使用這個範例 http://support.microsoft.com/kb/165721/zh-tw 結果: 不會跳出安全移除的提示泡泡,而且移除記憶卡時,若使用 右鍵->退出 該磁區會變成半透明,但用這個範例,圖示還是實體的樣子。 想請教還有什麼api可以做出和 右鍵 -> 退出相同的行為嗎? 卡關很久了,就麻煩有相關經驗的前輩提示一下 thanks... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 27.246.96.221
文章代碼(AID): #1IF-yvkQ (C_and_CPP)