Hi all,
I am writing a virtual CD-ROM supported by an image file in NT 4.0. I added the response of IOCTL_CDROM_READ_TOC, IOCTL_CDROM_GET_DRIVE_GEOMETRY, IOCTL_CDROM_CHECK_VERIFY, etc. I also add the support of IRP_MJ_READ. But now after I mount a virtual CD-ROM, when I try to access the CD-ROM drive, it will report: “The disk structure is corrupt and non-readable.”
My questions are:
- The phenomena seem to be caused by the IRP_MJ_READ question. From IRP_MJ_READ, I can operate only Parameters.Read.Length & Parameters.Read.ByteOffset. But how can I redirect it to the real track data format through “byte” unit?
- Do I need to implement the response of IOCTL_CDROM_RAW_READ or more? Now, I cannot list the directory structure of the virtual CD-ROM. I wonder how many conditions are needed for being available to list the directory structure.
If any hint, thanks.
Jeffrey R
???y˫???+.n?+???u?ڲ˛??^r*D???kN???r??zǧu??jy???^j???ׯ??? 0?j?b??(??(
>But how can I redirect it to the real track data format through “byte”
cdfs mounts itself on a data track of your CD, so Read.ByteOffset zero
corresponds the first sector of the data track and so on.
- Do I need to implement the response of IOCTL_CDROM_RAW_READ
This isn’t used for data tracks. It’s used for instance for video
(mode2form2) tracks.
Regards,
Max Lyadvinsky
From: Jeffrey R[SMTP:xxxxx@sina.com]
Reply To: NT Developers Interest List
Sent: 29 ??? 2001 ?. 8:57
To: NT Developers Interest List
Subject: [ntdev] How to mount a virtual CD-ROM?
Hi all,
I am writing a virtual CD-ROM supported by an image file in NT 4.0. I
added the response of IOCTL_CDROM_READ_TOC,
IOCTL_CDROM_GET_DRIVE_GEOMETRY, IOCTL_CDROM_CHECK_VERIFY, etc. I also
add the support of IRP_MJ_READ. But now after I mount a virtual CD-ROM,
when I try to access the CD-ROM drive, it will report: “The disk
structure is corrupt and non-readable.”
My questions are:
- The phenomena seem to be caused by the IRP_MJ_READ question. From
IRP_MJ_READ, I can operate only Parameters.Read.Length &
Parameters.Read.ByteOffset. But how can I redirect it to the real track
data format through “byte” unit?
- Do I need to implement the response of IOCTL_CDROM_RAW_READ or more?
Now, I cannot list the directory structure of the virtual CD-ROM. I
wonder how many conditions are needed for being available to list the
directory structure.
If any hint, thanks.
Jeffrey R
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
How are you making your image file?
What are you doing in the TOC IOCTL?
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Jeffrey R
Sent: Monday, May 28, 2001 9:57 PM
To: NT Developers Interest List
Subject: [ntdev] How to mount a virtual CD-ROM?
Hi all,
I am writing a virtual CD-ROM supported by an image file in NT
4.0. I added the response of IOCTL_CDROM_READ_TOC,
IOCTL_CDROM_GET_DRIVE_GEOMETRY, IOCTL_CDROM_CHECK_VERIFY, etc. I
also add the support of IRP_MJ_READ. But now after I mount a
virtual CD-ROM, when I try to access the CD-ROM drive, it will
report: “The disk structure is corrupt and non-readable.”
My questions are:
- The phenomena seem to be caused by the IRP_MJ_READ question.
From IRP_MJ_READ, I can operate only Parameters.Read.Length &
Parameters.Read.ByteOffset. But how can I redirect it to the real
track data format through “byte” unit?
- Do I need to implement the response of IOCTL_CDROM_RAW_READ or
more? Now, I cannot list the directory structure of the virtual
CD-ROM. I wonder how many conditions are needed for being
available to list the directory structure.
If any hint, thanks.
Jeffrey R
b‹šç.®·§¶\¬¹»®&ÞvÚ’µ×¯jÈ䊶ò²Ú+jœ§ír‰“¢éì¹»®&Þ±éÝi¹ZžG¦j)m¢Wš
½éíuëùëbåŠËl¢ÊÜ
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You mean that Read.ByteOffset actually refers to the sector number of data track, right?
So thanks.
Best regards,
Jeffrey Ren
----- Original Message -----
From: “Max Lyadvinsky”
To: “NT Developers Interest List”
Sent: Tuesday, May 29, 2001 3:20 PM
Subject: [ntdev] RE: How to mount a virtual CD-ROM?
> >But how can I redirect it to the real track data format through “byte”
> cdfs mounts itself on a data track of your CD, so Read.ByteOffset zero
> corresponds the first sector of the data track and so on.
>
> >2) Do I need to implement the response of IOCTL_CDROM_RAW_READ
> This isn’t used for data tracks. It’s used for instance for video
> (mode2form2) tracks.
>
> Regards,
> Max Lyadvinsky
>
> ----------
> From: Jeffrey R[SMTP:xxxxx@sina.com]
> Reply To: NT Developers Interest List
> Sent: 29 ??? 2001 ?. 8:57
> To: NT Developers Interest List
> Subject: [ntdev] How to mount a virtual CD-ROM?
>
> Hi all,
>
> I am writing a virtual CD-ROM supported by an image file in NT 4.0. I
> added the response of IOCTL_CDROM_READ_TOC,
> IOCTL_CDROM_GET_DRIVE_GEOMETRY, IOCTL_CDROM_CHECK_VERIFY, etc. I also
> add the support of IRP_MJ_READ. But now after I mount a virtual CD-ROM,
> when I try to access the CD-ROM drive, it will report: “The disk
> structure is corrupt and non-readable.”
>
> My questions are:
> 1) The phenomena seem to be caused by the IRP_MJ_READ question. From
> IRP_MJ_READ, I can operate only Parameters.Read.Length &
> Parameters.Read.ByteOffset. But how can I redirect it to the real track
> data format through “byte” unit?
> 2) Do I need to implement the response of IOCTL_CDROM_RAW_READ or more?
> Now, I cannot list the directory structure of the virtual CD-ROM. I
> wonder how many conditions are needed for being available to list the
> directory structure.
>
> If any hint, thanks.
>
> Jeffrey R
b???.???????&?v?'?ׯj?.n?Qyȩf??]?:.?˛???m??֛???zf???%y?ޞ?^?˛??^r*Lzfެ?
???l??ܢ
> How are you making your image file?
I save the raw data to an image file and add a header info to it.
What are you doing in the TOC IOCTL?
I fill the CDROM_TOC structure according to the definition in NT4.0 DDK ntddcdrm.h.
Best regards,
Jeffrey Ren
----- Original Message -----
From: “Jamey Kirby”
To: “NT Developers Interest List”
Sent: Wednesday, May 30, 2001 2:14 AM
Subject: [ntdev] RE: How to mount a virtual CD-ROM?
> How are you making your image file?
> What are you doing in the TOC IOCTL?
>
> > -----Original Message-----
> > From: xxxxx@lists.osr.com
> > [mailto:xxxxx@lists.osr.com]On Behalf Of Jeffrey R
> > Sent: Monday, May 28, 2001 9:57 PM
> > To: NT Developers Interest List
> > Subject: [ntdev] How to mount a virtual CD-ROM?
> >
> >
> > Hi all,
> >
> > I am writing a virtual CD-ROM supported by an image file in NT
> > 4.0. I added the response of IOCTL_CDROM_READ_TOC,
> > IOCTL_CDROM_GET_DRIVE_GEOMETRY, IOCTL_CDROM_CHECK_VERIFY, etc. I
> > also add the support of IRP_MJ_READ. But now after I mount a
> > virtual CD-ROM, when I try to access the CD-ROM drive, it will
> > report: “The disk structure is corrupt and non-readable.”
> >
> > My questions are:
> > 1) The phenomena seem to be caused by the IRP_MJ_READ question.
> > From IRP_MJ_READ, I can operate only Parameters.Read.Length &
> > Parameters.Read.ByteOffset. But how can I redirect it to the real
> > track data format through “byte” unit?
> > 2) Do I need to implement the response of IOCTL_CDROM_RAW_READ or
> > more? Now, I cannot list the directory structure of the virtual
> > CD-ROM. I wonder how many conditions are needed for being
> > available to list the directory structure.
> >
> > If any hint, thanks.
> >
> > Jeffrey R
???y˫???+.n?+???u?ڲ˛??^r*D???kN???r??zǧu??jy???^j???ׯ??? 0?j?b??(??(
ByteOffset = sector number * 2048
From: Jeffrey Ren[SMTP:xxxxx@sina.com]
Reply To: NT Developers Interest List
Sent: 30 ÍÁÑ 2001 Ç. 6:19
To: NT Developers Interest List
Subject: [ntdev] RE: How to mount a virtual CD-ROM?
You mean that Read.ByteOffset actually refers to the sector number of
data track, right?
So thanks.
Best regards,
Jeffrey Ren
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
Thanks, I will try that.
Jeffrey Ren
----- Original Message -----
From: “Max Lyadvinsky”
To: “NT Developers Interest List”
Sent: Wednesday, May 30, 2001 2:08 PM
Subject: [ntdev] RE: How to mount a virtual CD-ROM?
> ByteOffset = sector number * 2048
>
> ----------
> From: Jeffrey Ren[SMTP:xxxxx@sina.com]
> Reply To: NT Developers Interest List
> Sent: 30 ??? 2001 ?. 6:19
> To: NT Developers Interest List
> Subject: [ntdev] RE: How to mount a virtual CD-ROM?
>
> You mean that Read.ByteOffset actually refers to the sector number of
> data track, right?
> So thanks.
>
> Best regards,
> Jeffrey Ren
>
???y˫???+.n?+???u?ڲ˛??^r*D???kN???r??zǧu??jy???^j???ׯ??? 0?j?b??(??(