From fa4b180304221d28ca08163da0165fdfeccb052d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Wed, 10 Sep 2014 16:02:02 +0000 Subject: [PATCH] [CDFS] Use IOCTL_CDROM_READ_TOC instead of IOCTL_CDROM_GET_LAST_SESSION, which is not always available svn path=/trunk/; revision=64106 --- reactos/drivers/filesystems/cdfs/fsctl.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/reactos/drivers/filesystems/cdfs/fsctl.c b/reactos/drivers/filesystems/cdfs/fsctl.c index 8504b0f8c22..5f7c7a579d0 100644 --- a/reactos/drivers/filesystems/cdfs/fsctl.c +++ b/reactos/drivers/filesystems/cdfs/fsctl.c @@ -201,14 +201,7 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject, ULONG Size; ULONG Offset; ULONG i; - struct - { - UCHAR Length[2]; - UCHAR FirstSession; - UCHAR LastSession; - TRACK_DATA TrackData; - } - Toc; + CDROM_TOC Toc; DPRINT("CdfsGetVolumeData\n"); @@ -219,7 +212,7 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject, Size = sizeof(Toc); Status = CdfsDeviceIoControl(DeviceObject, - IOCTL_CDROM_GET_LAST_SESSION, + IOCTL_CDROM_READ_TOC, NULL, 0, &Toc, @@ -231,13 +224,13 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject, return Status; } - DPRINT("FirstSession %u, LastSession %u, FirstTrack %u\n", - Toc.FirstSession, Toc.LastSession, Toc.TrackData.TrackNumber); + DPRINT("FirstTrack %u, LastTrack %u, TrackNumber %u\n", + Toc.FirstTrack, Toc.LastTrack, Toc.TrackData[0].TrackNumber); Offset = 0; for (i = 0; i < 4; i++) { - Offset = (Offset << 8) + Toc.TrackData.Address[i]; + Offset = (Offset << 8) + Toc.TrackData[0].Address[i]; } CdInfo->VolumeOffset = Offset;