| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | CD-ROM control programming |
Vitus Jensen wrote in a message to Mike Bilow: MB> You can read raw sectors off of a CD-ROM by simply calling MB> DosOpen() against the drive letter with the OPEN_FLAGS_DASD bit MB> asserted. However, this will fail if CDFS.IFS is loaded, since MB> it claims ownership of the drive letter. VJ> I have no problems to read a data CDROM using the code I VJ> posted here the other day. Any switches different between VJ> your and my call to DosOpen? Whether DosOpen() fails with OPEN_FLAGS_DASD asserted if CDFS.IFS is loaded appears to be specific to the version of CDFS.IFS. MB> If you comment out the load of CDFS.IFS in CONFIG.SYS, then no MB> file system will claim the drive letter created for the CD-ROM MB> drive by OS2CDROM.DMD, and you can do direct access to it. VJ> You can't lock the device if a filesystem driver is loaded. VJ> But you don't need a lock if you're only reading (who wants VJ> to write to a CDROM?). Technically, what happens when direct access calls are made to a drive letter being actively managed by a file system is that the IFS gets notifications from the DMD about the access attempts, and it can either allow or decline them. This is handled by a callback process between the IFS and DMD, depending upon the driver capabilities bits. Locks can be manageed by the IFS itself if it is set up to do this, but will be handled by the FS Router (a component of the kernel above the IFS) by default. You are right that a lock is not required for reading unless there is a concurrent writer, which obviously never happens for CD-ROM. VJ> The comments in the source of OS2CDROM.DMD declare a device VJ> with /!DM set won't by allocated. But this flag is never VJ> tested. Perhaps the production code works that way. Only OS2DASD.DMD should check the "/!DM" switch. The comment in the source looks like a consequence of cut and paste from OS2DASD.DMD. -- Mike ---* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107) SEEN-BY: 270/101 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407 SEEN-BY: 712/515 517 628 713/888 800/1 7877/2809 @PATH: 323/107 150 3615/50 396/1 270/101 712/515 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.