Текущее время: Пн окт 23, 2017 9:10 am

Часовой пояс: UTC + 3 часа




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 262 ]  На страницу Пред.  1 ... 14, 15, 16, 17, 18
Автор Сообщение
 Заголовок сообщения: Re: не останавливается внешний HDD
СообщениеДобавлено: Сб ноя 01, 2008 6:17 pm 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: Вс ноя 18, 2007 12:20 pm
Сообщения: 397
Откуда: Санкт-Петербург
Silver писал(а):
Наблюдается аналогичная ситуация, как у Nthnsq.

Внешний диск Hitachi 120Гб 2,5" в корпусе Smart Mobile Storage от techsolo. AMD Athlon64 X2 3800. WinXP SP2. USB Safely Remove 4.0 beta 7. После работы с диском при попытке отключения появляется окошко с красным текстом, мол, невозможно определить блокируюшие процессы.
Если перезагрузить комп не отключая дисковод, то при первой попытке отключения выводится окошко, аналогичное показанному у Nthnsq (svchost.exe, tracking.log), после нажатия "Стоп еще раз" выскакивает окошко с красным текстом и потом отключиться уже не удается. Если же первое окошко закрыть, то вторая попытка отключения, как правило, бывает успешной.

Вы нажимаете "Стоп еще раз" или "Форс. стоп"?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Сб ноя 01, 2008 6:42 pm 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: Вс ноя 18, 2007 12:20 pm
Сообщения: 397
Откуда: Санкт-Петербург
DRON писал(а):
Igor писал(а):
Боюсь, что сэмулировать поведение этой программы в USBSR будет непросто. В любом случае, вышлите нам, пожалуйста, техническую информацию этого устройства.

Что там с WDH1B10000 я не знаю, но например мой WD My Book выключается командой START STOP UNIT (код 1Bh) которую можно послать через DeviceIoControl(hDevice,IOCTL_SCSI_PASS_THROUGH,...).

А нет ли у вас соображений насчёт кнопки имеющейся на многих внешних накопителях (обычно при нажатии на неё фирменная утилита начинает делать бекап)? Было бы неплохо иметь возможность посадить на неё некое действие, как это сейчас сделано для подключения/отключения устройств.

Dron, большое спасибо за информацию. Насчет возможности реагировать на кнопку - интересная мысль, подумаем над этим в следующих версиях.

P.S. Я так понимаю, у Вас есть тестовая утилита, которая позволяет отключать винчестер используя вышеприведенный способ? Если можете, выложите ее, пожалуйста, здесь, чтобы посмотреть будет ли работать этот способ у Master'a и прочих товарищей с подобной проблемой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Сб ноя 01, 2008 9:49 pm 
Не в сети

Зарегистрирован: Ср авг 06, 2008 8:28 pm
Сообщения: 4
Igor писал(а):
Я так понимаю, у Вас есть тестовая утилита, которая позволяет отключать винчестер используя вышеприведенный способ?

Это фирменная утилита, которая идёт вместе с WD, не исключаю, что для разных винтов команды разные, но для всех четырёх (разные модели, разных лет выпуска) имеющихся у меня, работает следующий код:
Код:
procedure WDShutdown(Disk:Char);
type
  TScsiPassThrough=packed record
    Length:Word;
    ScsiStatus:Byte;
    PathId:Byte;
    TargetId:Byte;
    Lun:Byte;
    CdbLength:Byte;
    SenseInfoLength:Byte;
    DataIn:DWORD;
    DataTransferLength:DWORD;
    TimeOutValue:DWORD;
    DataBufferOffset:DWORD;
    SenseInfoOffset:DWORD;
    Cdb:array[0..15] of Byte;
  end;
const
  IOCTL_SCSI_PASS_THROUGH=$4D004;
  PT:TScsiPassThrough=(Length:SizeOf(TScsiPassThrough);CdbLength:1;TimeOutValue:20;Cdb:($1B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));
var
  DeviceHandle:THandle;
  Returned:DWORD;
begin
  DeviceHandle:=CreateFile(PChar(Format('\\.\%s:', [Disk])),GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0);
  Win32Check(DeviceHandle<>INVALID_HANDLE_VALUE);
  Win32Check(DeviceIoControl(DeviceHandle,IOCTL_SCSI_PASS_THROUGH,@PT,SizeOf(PT),nil,0,Returned,nil));
end;

Как тут файл прикреплять я не понял, так что http://slil.ru/26295426

И ещё в диалоге отключения устройства (frmStoppingUSBDevice) надо видимо Scaled:=False, а то у меня полосы прокрутки появляются.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт ноя 06, 2008 2:57 pm 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: Вс ноя 18, 2007 12:20 pm
Сообщения: 397
Откуда: Санкт-Петербург
DRON писал(а):
Igor писал(а):
Я так понимаю, у Вас есть тестовая утилита, которая позволяет отключать винчестер используя вышеприведенный способ?

Это фирменная утилита, которая идёт вместе с WD, не исключаю, что для разных винтов команды разные, но для всех четырёх (разные модели, разных лет выпуска) имеющихся у меня, работает следующий код:
Код:
procedure WDShutdown(Disk:Char);
type
  TScsiPassThrough=packed record
    Length:Word;
    ScsiStatus:Byte;
    PathId:Byte;
    TargetId:Byte;
    Lun:Byte;
    CdbLength:Byte;
    SenseInfoLength:Byte;
    DataIn:DWORD;
    DataTransferLength:DWORD;
    TimeOutValue:DWORD;
    DataBufferOffset:DWORD;
    SenseInfoOffset:DWORD;
    Cdb:array[0..15] of Byte;
  end;
const
  IOCTL_SCSI_PASS_THROUGH=$4D004;
  PT:TScsiPassThrough=(Length:SizeOf(TScsiPassThrough);CdbLength:1;TimeOutValue:20;Cdb:($1B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));
var
  DeviceHandle:THandle;
  Returned:DWORD;
begin
  DeviceHandle:=CreateFile(PChar(Format('\\.\%s:', [Disk])),GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0);
  Win32Check(DeviceHandle<>INVALID_HANDLE_VALUE);
  Win32Check(DeviceIoControl(DeviceHandle,IOCTL_SCSI_PASS_THROUGH,@PT,SizeOf(PT),nil,0,Returned,nil));
end;

Как тут файл прикреплять я не понял, так что http://slil.ru/26295426

И ещё в диалоге отключения устройства (frmStoppingUSBDevice) надо видимо Scaled:=False, а то у меня полосы прокрутки появляются.

Большое спасибо за код и за программу. Полосы прокрытки исправим в следующей версии.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Небольшая фича
СообщениеДобавлено: Ср ноя 12, 2008 8:54 am 
Не в сети

Зарегистрирован: Ср ноя 12, 2008 8:50 am
Сообщения: 1
Всем привет! отличная программа, но мне кажется не хватает одной маленькой фичи, для утилиты командной строки usr.exe можно ли сделать чтобы он возвращал код возврата операции, чтобы можно было использовать в скриптах. Например 0 - это все нормально, типа того...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Небольшая фича
СообщениеДобавлено: Ср ноя 12, 2008 1:12 pm 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: Вс ноя 18, 2007 12:20 pm
Сообщения: 397
Откуда: Санкт-Петербург
frodo10 писал(а):
Всем привет! отличная программа, но мне кажется не хватает одной маленькой фичи, для утилиты командной строки usr.exe можно ли сделать чтобы он возвращал код возврата операции, чтобы можно было использовать в скриптах. Например 0 - это все нормально, типа того...

Так и делается. Смотрите справку по командной строке (раздел "Как... использовать командную строку"), либо используйте команду "usr help errs" чтобы узнать значения errorlevel, возвращаемые командной строкой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Закрываем ветку
СообщениеДобавлено: Ср ноя 19, 2008 12:39 am 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: Вс ноя 18, 2007 12:20 pm
Сообщения: 397
Откуда: Санкт-Петербург
На этой неделе ожидается выпуск беты 8 - последней беты перед выходом финальной версии. В связи с чем, я хочу закрыть эту ветку - она разрослась до немыслимых размеров. Новую функциональность в версию 4.0 мы добавлять не будем - только баг-фикс. Поэтому, просьба, все идеи писать в отдельных топиках, чтобы их было удобно обсуждать.

Все баги и замечания по бета 8 - в ветке, посвященной ей: http://safelyremove.com/forumrus/viewtopic.php?t=83


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 262 ]  На страницу Пред.  1 ... 14, 15, 16, 17, 18

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
ООО Кристал Рич © 2014 Powered by phpBB ©