Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

For Rayer - shared resources between DOS and WinXP (Announce)

posted by Japheth Homepage, Germany (South), 11.07.2008, 11:38

> Well, in fact I don't need true physical address but address which will
> have same meaning inside DJGPP program and outside in win32 app. So when I
> will create descriptor with same linear base in win32 app and will reach
> the same data as DJGPP prog. But as I saw NTVDM has assigned same linear
> address for multiple instances it will not work. If I use this linear
> address for descriptor inside win32 app it will point probably to
> somewhere else. Maybe it would work under w9x.
> Anyway I need to exchange some pointer to data which will work for both
> djgpp prog and win 32 app. As I understand calling VDD allows me to
> exchange data in registers (so maybe pointers) but how to get pointer
> usable for both sides? Or does NT kernel have some special functions to
> read memory inside NTVDM DPMI space? I would imagine somethinkg like
> ntvdm_movedata(UINT32 ntvdm_linear_address, UINT8 *buffer, UINT32 size);

You must distinguish between the VDD and other Win32 applications. The VDD is loaded in the very same process as NTVDM.EXE, that is, it can access the full DOS memory and a valid address in DOS is also valid for the VDD.

OTOH, other Win32 applications run in their own address space. If you need to communicate with them, you can use the normal Win32 process communication methods.

---
MS-DOS forever!

 

Complete thread:

Back to the forum
Board view  Mix view
22632 Postings in 2109 Threads, 402 registered users, 416 users online (0 registered, 416 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum