Я следую за CodeProject Tutorial, чтобы удалить USB-накопитель на C#. проблема, с которой я столкнулся, - это извлечение USB Pen Drive, но не работает на переносном жестком диске. код приведен нижеИзвлечение USB-накопителя
int r = CM_Request_Device_Eject_NoUi(DevInstParent, IntPtr.Zero, null, 0, 0);
LogFile.Err("Eject Return value - " + r);
Когда ручка привода USB вынужден катапультироваться целое число г возвращает 0 и вытолкнуть команда выполнена успешно, но когда портативный накопитель вынужден катапультироваться, он возвращает 23.
В зависимости от того, является ли это 23 в делении или шестнадцатеричном формате, возврат является либо «CR_REMOVE_VETOED», либо «CR_NO_MORE_HW_PROFILES», возможно, первым. В коде, который вы связали, есть перечисление 'PNP_VETO_TYPE', которое я бы посмотрел, чтобы узнать, почему происходит вето. – TJennings
жизнь слишком коротка для безопасного извлечения USB;) – silver
@silver трепло, но я выбрасывания сразу после включения, значит, не делая каких-либо операций на USB – WiXXeY