Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.11;
Скачать: CL | DM;

Вниз

считать ATIP информацию с CD-R   Найти похожие ветки 

 
MetalFan ©   (2006-09-29 12:05) [0]

собственно сабж. интересует объем и manufacturer id  в частности
Мастера, подскажите куда копать!
предполагаю, что можно попытаться открыть устр-во \Device\cdrom1 как файл и считать заголовок... только какой его формат?
или как-то по другому?
заранее спасибо за советы!!!!


 
Мефисто   (2006-10-01 21:37) [1]

Win32_TapeDrive (WMI class)

http://msdn.microsoft.com/

Или нужно:

CDROM_TOC_ATIP_DATA_BLOCK
CDROM_TOC_ATIP_DATA
CDROM_READ_TOC_EX

то тоже по ссылке :)

Примечание к описанию:
Headers
Declared in ntddcdrm.h. Include ntddcdrm.h.

Comments
For further information and definitions of terms used in this reference page and in the reference pages of related structures, see specification T10/1363-D Revision-02A, by National Committee for Information Technology Standards (NCITS).


 
MetalFan ©   (2006-10-10 13:55) [2]

да-да. MSDN я почитал. а кода примерного ни у кого нет?


 
MetalFan ©   (2006-10-27 12:53) [3]

вот код, что ManufacturerID может считать)
у меня работает только на 1 из 2х резаков. на обычных приводах не пашет вроде
procedure TForm1.ButtonClick(Sender: TObject);
const
 CDROM_READ_TOC_EX_FORMAT_ATIP= $4;
 IOCTL_CDROM_READ_TOC_EX = $24054;
type
 CDROM_TOC_ATIP_DATA_BLOCK =record
   a1:  byte ;
     //UCHAR  CdrwReferenceSpeed : 3;
     //UCHAR  Reserved3          : 1;
     //UCHAR  WritePower        : 3;
     //UCHAR  True1              : 1;
   a2:  byte;
       //UCHAR  Reserved4      : 6;
       //UCHAR  UnrestrictedUse : 1;
       //UCHAR  Reserved5      : 1;
   a3:  byte;          
       //UCHAR  A3Valid  : 1;          
       // UCHAR  A2Valid  : 1;          
       //UCHAR  A1Valid  : 1;          
       //UCHAR  Reserved6 : 3;          
       //UCHAR  IsCdrw    : 1;          
       //UCHAR  True2    : 1;          
   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;
 CDROM_READ_TOC_EX = record
   par1: byte;
   //Format : UCHAR:4 ;
   // Reserved1 : UCHAR:3;
   // Msf : UCHAR:1 ;
   SessionTrack:UCHAR;
   Reserved2:UCHAR ;
   Reserved3:UCHAR;
 end;
 CDROM_TOC_ATIP_DATA =record
     Length:array [0..1] of UCHAR;
     Reserved1:UCHAR;
     Reserved2:UCHAR;
     Descriptors: array [0..0] of CDROM_TOC_ATIP_DATA_BLOCK;
 end;
var
 a:string;
 hCDDevice : THandle;
 DriveLetter : char;          
 d:Bool;          
 in_data: CDROM_READ_TOC_EX;          
 out_size:DWORD ;          
 out_data: CDROM_TOC_ATIP_DATA ;
begin
 FillChar( in_data,SizeOf(in_data),0);
 FillChar( out_data,SizeOf(out_data),0);
//  in_data.par1:=$84;
 in_data.par1:=CDROM_READ_TOC_EX_FORMAT_ATIP or ($1 shl 8);
 //in_data.Format  := CDROM_READ_TOC_EX_FORMAT_ATIP;
 //in_data.Reserved1 := 0;
//  in_data.Msf    :=1;
 in_data.SessionTrack :=  0;
 DriveLetter := "G";
 hCDDevice := CreateFile(PChar("\\.\"+DriveLetter+":"),
 GENERIC_READ,
 FILE_SHARE_READ or FILE_SHARE_WRITE,
 nil,
 OPEN_EXISTING,
 FILE_ATTRIBUTE_NORMAL,
 0 );
 if hCDDevice <> INVALID_HANDLE_VALUE then
     begin
 d:=DeviceIoControl(hCDDevice,
   IOCTL_CDROM_READ_TOC_EX,
   @in_data,
   sizeof(in_data),
 @out_data,
 sizeof(out_data),
   out_size,
   nil );
   if  d  = True then
         begin
 str(out_data.Descriptors[0].LeadInMsf[0],a);
 ShowMessage(a);
         end
         else ShowMessage(" Ошибка:"+IntToStr(GetLastError));
   CloseHandle(hCDDevice);
     end
   else ShowMessage(" Ошибка в Create file"+IntToStr(GetLastError));
 end;
end.


 
umbra ©   (2006-10-27 18:59) [4]

не-резаки не умеют читать ATIP


 
MetalFan ©   (2006-10-27 23:20) [5]


> не-резаки не умеют читать ATIP


эт я уже в курсе ) да и резаки некоторые почемуто не читают(



Страницы: 1 вся ветка

Текущий архив: 2007.03.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
15-1171353990
xayam
2007-02-13 11:06
2007.03.11
Правильное завершение программы


2-1171863559
Егоров А.Н.
2007-02-19 08:39
2007.03.11
Вычисление даты


1-1168713266
CaptainX
2007-01-13 21:34
2007.03.11
Передача экземпляров объектов между клиентом и сервером


2-1171724058
Norfolk
2007-02-17 17:54
2007.03.11
TPageControl запись в поле Edit на второй вкладке.


1-1169200353
Apachi
2007-01-19 12:52
2007.03.11
как мониторить значения ячеек в екселе