Главная страница | назад

Article #16726: 16bit to 32bit(shared global memory)

 Question and Answer Database

FAQ1726C.txt   16bit to 32bit(shared global memory)
Category   :Windows API
Platform    :All
Product    :BC++  5.x


I have a 16-bit DLL which has two primary funcions, e.g. 
SET_VALUE(int) and RETRIEVE_VALUE(int *). Process A could call 
SET_VALUE while process B could call RETRIEVE_VALUE of the same 
DLL effectively using the global memory of the DLL as shared
memory of some sort. I tried porting this to Windows NT 4.0 but
the DLL appears to be given a seperate address space for each 
process because this shared global memory "trick" no longer 
functions. How can I accomplish this in a 32-bit DLL?


There is no shared memory under win32 as we 
used to have under win16. You need to use what is called "file 
mapping", please see the online help (win32.hlp), click the 
"Contents" tab and browse to the "Memory Managment" topic. It 
has a sub topic called "Shared memory" wich explains all you 
need to know.

5/18/98 8:56:55 AM

Last Modified: 01-SEP-99