Topic: Memory and Windows!
Author: Edward Diener <70304.2632@CompuServe.COM>
Date: 13 Mar 1995 03:16:49 GMT Raw View
You have to use DPMI to access this memory since pointing to it
using a far pointer in Windows sets a selector::offset not a
segment::offset . Windows is a DPMI server and there are some
Windows functions that let you access somne of this memory but
it's a tricky business. I don't know the exact details of doing
this since Windows protects programs from directly accessing
direct memory addresses but I believe there are some in the
Windows API that will let you do what you want. The best book
for 'tricks' of this sort is, I believe, Andrew Schulman and Matt
Pietrek's Undocumented Windows . You might also find the answer
to this in some issue of the Microsoft System Journal . If you
have the Microsoft Developer Network Library CD-ROM the past 6 or
so years of MSJ is on it along with perhaps the information you
need. Sorry for the vagueness of this answer but the gist of it
is that you can't just set a pointer to this memory since you're
setting a selector not a segment. Hopefully someone else or the
doc I suggested can give you further details.
Author: engp4207@leonis.nus.sg (Mohammad Sadeghian Borujeni)
Date: 10 Mar 1995 10:30:49 GMT Raw View
Hi everybody
I have a hardware connected to PC via AT bus and it has 1M memory its
address mapped right above the available memory of my system but it is not
recognized by system! I want to read this memory but there is a problem
can any one give answer to my questions!?
1- Is it possible to access this memory ussing C++ in windows directly?(I
try it using (char far *lpbuf;) and setting the address correctly but it
didn't work)
2- How can I access this memory any how?
Thanks in advance.