Sender: "Rolf Campbell" Message-ID: <37C5544E.350B4482@NortelNetworks.com> Date: Thu, 26 Aug 1999 10:50:54 -0400 From: "Rolf Campbell" Organization: Nortel Networks X-Mailer: Mozilla 4.7 [en] (X11; I; HP-UX B.10.20 9000/712) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.os.msdos.djgpp To: djgpp AT delorie DOT com Subject: Re: MSCDEX Data Block Headers References: <19990825102051 DOT 84665 DOT qmail AT hotmail DOT com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com Niko Salminen wrote: > I have a piece of code which uses IOCTL functions at the CDRom drive, but > for some reason, when I pass the data block's transfer address with the > in/output call, MSCDEX keeps finding only zeros at that location. > > For example, if I want to close the tray, I send MSCDEX my IOCTL output > block with a pointer to an unsigned char which contains the value 5 > (CLOSE_TRAY). The result is that the tray opens. > > The transfer address expects a far pointer (the original routine was > real-mode) but I just pass the protected mode address as-is. I even tried > reserving mem from the first 640kB and passing it's address, but then even > the tray didn't open with the proper function. The FAQ tells how to transfer addresses to a real-mode driver. -- -Rolf Campbell (39)3-6318