mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 07:46:29 +00:00
[CDFS] Use IOCTL_CDROM_READ_TOC instead of IOCTL_CDROM_GET_LAST_SESSION, which is not always available
svn path=/trunk/; revision=64106
This commit is contained in:
parent
37ff67c8fc
commit
fa4b180304
1 changed files with 5 additions and 12 deletions
|
@ -201,14 +201,7 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
|
||||||
ULONG Size;
|
ULONG Size;
|
||||||
ULONG Offset;
|
ULONG Offset;
|
||||||
ULONG i;
|
ULONG i;
|
||||||
struct
|
CDROM_TOC Toc;
|
||||||
{
|
|
||||||
UCHAR Length[2];
|
|
||||||
UCHAR FirstSession;
|
|
||||||
UCHAR LastSession;
|
|
||||||
TRACK_DATA TrackData;
|
|
||||||
}
|
|
||||||
Toc;
|
|
||||||
|
|
||||||
DPRINT("CdfsGetVolumeData\n");
|
DPRINT("CdfsGetVolumeData\n");
|
||||||
|
|
||||||
|
@ -219,7 +212,7 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
|
||||||
|
|
||||||
Size = sizeof(Toc);
|
Size = sizeof(Toc);
|
||||||
Status = CdfsDeviceIoControl(DeviceObject,
|
Status = CdfsDeviceIoControl(DeviceObject,
|
||||||
IOCTL_CDROM_GET_LAST_SESSION,
|
IOCTL_CDROM_READ_TOC,
|
||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
&Toc,
|
&Toc,
|
||||||
|
@ -231,13 +224,13 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("FirstSession %u, LastSession %u, FirstTrack %u\n",
|
DPRINT("FirstTrack %u, LastTrack %u, TrackNumber %u\n",
|
||||||
Toc.FirstSession, Toc.LastSession, Toc.TrackData.TrackNumber);
|
Toc.FirstTrack, Toc.LastTrack, Toc.TrackData[0].TrackNumber);
|
||||||
|
|
||||||
Offset = 0;
|
Offset = 0;
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
Offset = (Offset << 8) + Toc.TrackData.Address[i];
|
Offset = (Offset << 8) + Toc.TrackData[0].Address[i];
|
||||||
}
|
}
|
||||||
CdInfo->VolumeOffset = Offset;
|
CdInfo->VolumeOffset = Offset;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue