[問題] Windows 儲存裝置的安全移除(退出)功能
開發平台(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