Форум: "WinAPI";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизCD и нулевая дорожка Найти похожие ветки
← →
CCCP (2005-12-04 18:21) [0]Подскажите, как считать данные с нулевой дорожки CD?
← →
Чапаев © (2005-12-05 10:00) [1]У компакт-диска всего одна спиральная дорожка.
← →
CCCP (2005-12-05 19:06) [2]Мне ужно считать информацию о производителе диска.
← →
MTsv DN © (2005-12-05 20:01) [3]Надо читать TOC информацию, а не нулевую дорожку... И из нее по таблицам ATIP получить производителя диска...
С Уважением MTsv DN
← →
CCCP (2005-12-06 16:45) [4]а как добраться до TOC информации?
← →
WondeRu © (2005-12-06 17:04) [5]ищи в MSDN
CIM_PhysicalMedia
← →
CCCP (2005-12-06 17:40) [6]А есть какие либо примеры :)?
← →
WondeRu © (2005-12-06 17:46) [7]к сожалению, знаю не больше вашего
← →
MTsv DN © (2005-12-06 18:32) [8]Привет...
Вообще, по-хорошему, это надо делать через прямое обращение к приводу, т.е. либо через ASPI Layer, либо через SPTI... Другой вопрос, что отдельно примеров я не видел (правда и не искал :) )
Delphi
http://www.binarymagics.com - там есть платный компонент для записи дисков... Ограничения ТОЛЬКО на запись... Т.е. считывать инфу можно без ограничений (права не нарушите)...
http://sourceforge.net/projects/freeburner - бесплатный компонент, чуть "сырой", но считать думаю можно...
http://maxivamoto.narod.ru/DelphiComponents/diskinfo.htm - здесь набор компонентов для Delphi...
http://www.torry.net - здесь надо найти aspilib.
C&Delphi
"навскидку"...я просто больше в Delphi работаю...
http://www.hpcde.com - здесь набор библиотек
http://www.rocketdivision.com - и здесь набор библиотек
С Уважением MTsv DN
← →
MTsv DN © (2005-12-06 18:41) [9]В догонку:
www.cdgraber.narod.ru - здесь маленькая библиотека (~50 кб) в ней тоже есть функция ReadTOC... Это для C++. Думаю самый оптимальный вариант...
А здесь таблица для расшифровки ATIP:
http://www.replikator.ru/context.php?a_ID_CONTEXT=416&a_ID_MENU=10&ID_SITE=1
С Уважением MTsv DN
← →
CCCP (2005-12-06 19:15) [10]Спасибо, попробую, может что получится :)
← →
CCCP (2005-12-07 14:17) [11]а как это
typedef struct _CDROM_TOC_ATIP_DATA_BLOCK {
UCHAR CdrwReferenceSpeed : 3;
UCHAR Reserved3 : 1;
UCHAR WritePower : 3;
UCHAR True1 : 1;
UCHAR Reserved4 : 6;
UCHAR UnrestrictedUse : 1;
UCHAR Reserved5 : 1;
UCHAR A3Valid : 1;
UCHAR A2Valid : 1;
UCHAR A1Valid : 1;
UCHAR DiscSubType : 3;
UCHAR IsCdrw : 1;
UCHAR True2 : 1;
UCHAR Reserved7;
UCHAR LeadInMsf[3];
UCHAR Reserved8;
UCHAR LeadOutMsf[3];
UCHAR Reserved9;
UCHAR A1Values[3];
UCHAR Reserved10;
UCHAR A2Values[3];
UCHAR Reserved11;
UCHAR A3Values[3];
UCHAR Reserved12;
} CDROM_TOC_ATIP_DATA_BLOCK, *PCDROM_TOC_ATIP_DATA_BLOCK;
на Delphi перевести и получить
UCHAR A1Values[3];
UCHAR A2Values[3];
UCHAR A3Values[3];
← →
umbra © (2005-12-07 14:42) [12]
UCHAR == byte
UCHAR A1Values[3] == array[1..3] of UCHAR == array[1..3] of byte
← →
CCCP (2005-12-07 14:47) [13]а как весь struct _CDROM_TOC_ATIP_DATA_BLOCK на Delphi перевести, что бы в нем работало?
← →
CCCP (2005-12-07 17:16) [14]так?
type
CDROM_TOC_ATIP_DATA_BLOCK =record
a1 : byte ;
a2 : byte;
a3 : byte;
Reserved7 : UCHAR ;
LeadInMsf : array[0..2]of UCHAR;
Reserved8 : UCHAR;
LeadOutMsf : array[0..2]of UCHAR;
Reserved9 : UCHAR ;
A1Values : array[0..2]of UCHAR;
Reserved10 : UCHAR ;
A2Values : array[0..2]of UCHAR;
Reserved11 : UCHAR ;
A3Values : array[0..2]of UCHAR;
Reserved12 : UCHAR;
end;
← →
MTsv DN © (2005-12-07 18:11) [15]Привет...
Если Delphi используете, то советую с сети поискать Magic CD Burner v.1.21 (BinaryMagic)... НЕ НА САЙТЕ, А ИМЕННО В СЕТИ... Можно найти "интересную" версию и не надо будет заморачиваться с переводом с С++...
С Уважением MTsv DN
← →
CCCP (2005-12-07 18:32) [16]>MTsv DN
это та, что www.binarymagics.com?
← →
OldNaum © (2005-12-07 18:41) [17]Magic CD/DVD Burner была с сурсами в сети в свое время. до сих пор даже где-то валялась, советую. У меня утеряна безвозвратно ) но в свое время почерпнул много интересного.
← →
CCCP (2005-12-07 18:43) [18]Magic CD Burner v.1.21 находится, но все ссылки на него битые :(
← →
CCCP (2005-12-07 18:59) [19]нашел у азиатов, сейчас посмотрю
← →
MTsv DN © (2005-12-07 19:13) [20]Magic CD/DVD Burner была с сурсами в сети в свое время
Она и сейчас в сети есть... В Astalavista.sk поищи... Если не найдешь, пиши мне у меня есть...
С Уважением MTsv DN
← →
CCCP (2005-12-07 19:22) [21]>MTsv DN
я нашел и установил. А не подскажите, в каком направлении теперь работать, что смотреть, какие свойства?
← →
MTsv DN © (2005-12-07 19:56) [22]Значится так...
Я все делал динамически, поэтому первой строчке не удивляйся:
uses mbDrvLib, mbCDBC, mbASPI;
var
Burner: TBurner;
TOC_ATIP : string;
fTOC100: TTOCPMATIP0100;
begin
Burner := TBurner.Create(nil); // Создаю Burner
Burner.InitializeASPI(True); // Инициализация ASPI/SPTI
if not Burner.ASPIInitialized then
begin
ShowMsg( "Ошибка инициализации SPTI/ASPI...", MB_OK);
exit;
end;
if (Burner.Devices <> nil) and (Burner.Devices.Count > 0) then
for i := 1 to Burner.Devices.Count do
begin // Здесь заносишь найденные устройства в память, например в ComboBox
Burner.Device := Burner.Devices[i - 1];
cboxBurners.Insert(cboxDevices.Count, Burner.Devices[i - 1]);
end;
if cboxBurners.Count = 0 then
begin
ShowMsg("CDROM отсутствуют...", MB_OK);
exit;
end;
Burner.Device := cboxDevices.Items[cboxDevices.CurIndex]; // Устанавливаешь необходимый
fillchar(fTOC100, sizeof(fTOC100), 0); // Считывание ATIP информации
if Burner.ReadTOC(4, @fTOC100, Sizeof(fTOC100), 0, True) then
begin
if fTOC100.StFrame < 10 then
TOC_ATIP := intTostr(fTOC100.StMin) + ":" + intTostr(fTOC100.StSec) + ":0" + intTostr(fTOC100.StFrame)
else TOC_ATIP := intTostr(fTOC100.StMin) + ":" + intTostr(fTOC100.StSec) + ":" + intTostr(fTOC100.StFrame);
end;
ShowMsg(TOC_ATIP, MB_OK);
Вроде так...
С Уважением MTsv DN
← →
MTsv DN © (2005-12-07 20:03) [23]А потом TOC_ATIP, вида "ХХ:YY:ZZ", смотришь по таблице и получаешь производителя CD.
С Уважением MTsv DN
← →
MTsv DN © (2005-12-07 20:04) [24]Ах, да... Забыл... Переведи: "ХХ:YY:ZZ" => "ХХ:YY:Z0".
← →
CCCP (2005-12-07 21:58) [25]Спасибо за помощь, все отлично работает!!!
А такой вопрос, что еще можно считать с помощью этого компонента с CD,
я имею в виду те данные, которые не копируются?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.036 c