Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Управление скоростью CD-ROM, Как осуществить? 
:(
    Опции темы
JohnnY
Дата 3.5.2007, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 20.8.2005
Где: Калининград

Репутация: нет
Всего: нет



Подскажите пожалуйста как осуществить функцию изменения скорости CD-ROM...

Может где-нибудь поднимался этот вопрос?
PM MAIL WWW   Вверх
_hunter
Дата 4.5.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 9
Всего: 98





--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
MIX55
Дата 13.5.2007, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


много работы
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 208
Регистрация: 23.10.2005
Где: Здесь

Репутация: нет
Всего: 4



Вариант 1
Находим в интернете файл ASPI.pas (еще есть wnaspi32.pas), подключаем его к проекту, пишем следующий код:
Код


function SetCDSpeed(Host,Target:byte;Speed:integer):BOOL;
{©Drkb v.3(2007): www.drkb.ru}
var
 dwASPIStatus: DWORD;
 hEvent: THandle;
 srbExec: SRB_ExecSCSICmd;
begin
 if Speed<176 then result:=false
  else
   begin
    hEvent:=CreateEvent(nil, true, false, nil);
    Fillchar(srbExec,sizeof(SRB_ExecSCSICmd),0);
    srbExec.SRB_Cmd:= SC_EXEC_SCSI_CMD;
    srbExec.SRB_Flags:= SRB_DIR_OUT or SRB_EVENT_NOTIFY;
    srbExec.SRB_Target:= Target;
    srbExec.SRB_HaId:= Host;
    srbExec.SRB_Lun:= 0;
    srbExec.SRB_SenseLen:= SENSE_LEN;
    srbExec.SRB_CDBLen:= 12;
    srbExec.SRB_PostProc:=Pointer(hEvent);
    srbExec.CDBByte[0]:= $BB; // команда изменения скорости привода
    srbExec.CDBByte[2]:= Speed shr 8;
    srbExec.CDBByte[3]:= Speed;
    srbExec.CDBByte[4]:= $FF;
    srbExec.CDBByte[5]:= $FF;
    ResetEvent(hEvent);
    dwASPIStatus:= SendASPI32Command(@srbExec);
     if dwASPIStatus=SS_PENDING
      then
       begin
        WaitForSingleObject(hEvent,INFINITE);
       end;
   if srbExec.SRB_Status<>SS_COMP
    then
     begin
      MessageBox(0,'Error processing the SRB.','Error',MB_OK);
      result:=false;
     end
   else
    result:=true;
end;

end;




Какие параметры передавать - написано в том же ASPI.pas 

Автор Rouse_

Вариант 2.
Вот тут статья "Укрощение строптивого CD-ROM". 

Вариант 3.
Поискать исходники программы  CDSpeed правда она на С.


--------------------
Hарод, а как в дельфи писать паскалевские проги....?*********************************************Жизнь слишком коротка, чтобы писать на Assembler'e
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0395 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.