Andreas Mohr wrote:

> On Thu, Mar 02, 2000 at 01:36:34AM -0600, David Elliott wrote:
> > Hmmm.. that didn't go way over my head or anything.
> >
> > Maybe that should tell me something like to stay out of the land of DOS.
> > Something tells me I should maybe just export an extra function out of
> > WINASPI or something as a quick hack.  At least that would move ASPI into
> > the DLL realm instead of being part of libwine.so.
> >
> > Or maybe not, I am going to sleep now anyway so if I don't get an objection
> > to that idea, I'm using it.
>
> What Ove meant is to use e.g. MapLS() to allocate a selector for a certain
> linear address. That selector then can be used as the HIWORD part
> of a SEGPTR, of course (and the LOWORD part is 0, of course).
> This is exactly how it's partially done in winaspi16.c right now...

Cool, so something along the lines of:

winaspiprb = MapLS( DOSMEM_MapRealToLinear(ptrSRB) );
/* Also fix pointer to data in SRB using that */
/* Call regular WINASPI */
/* UnMapLS on the data pointer and reset it to the DOS value for the program */
UnMapLS(  winaspiprb );
/* return normally */

Correct?

Thanks Andreas, Thanks Ove,
Dave


Reply via email to