Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Изменение скорости привода CD-ROM

Поиск:
Находим в интернете файл ASPI.pas (еще есть wnaspi32.pas), подключаем его к проекту, пишем следующий код:
Код
function SetCDSpeed(Host,Target:byte;Speed:integer):BOOL;
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_
Сайт: http://forum.sources.ru






Просмотров: 2945

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную