venkat@tandoori.East.Sun.COM (Desikan Venkatrangan - Sun BOS Software CONTRACTOR) (05/15/91)
I have a Windows DLL and multiple applications using the DLL. Because of other non-technical requirements, the following is unavoidable -- storing far pointers to near data in the applications. Now at several places in the SDK I came across statements that storing far pointers to near data would not work if the data segment is marked MOVEABLE; but this statement appears to be made only for real-mode (Windows using the Basic Memory configuration). Is there a problem with storing far pointers to near data segment (which is marked MOVEABLE) when Windows is using the other memory configurations? (The EMS4.0 configuration, the Standard Mode configuration and Enhanced mode configuration) What negative side effects result if the data segment is marked FIXED in real-mode? Thanks. D. Venkatrangan (508) 671-0276 Sun Microsystems Inc.
kend@data.UUCP (Ken Dickey) (05/16/91)
For that matter, what about far pointers on the App stack when a low-level routine in a DLL "Blocks" waiting for a message {via GetMessage() or PeekMessage()}? It appears from the SDK documents that Windows locks the application's data segment when it gives it the CPU. If the DS is unlocked in a DLL's GetMessage() call, and far pointers are required to pass data through DLLs, then there is no way to safely "block" within a DLL to present a synchronous interface to its caller! Does anyone know more about this? Thanks, -Ken Dickey kend@data.uucp