#win32s & dlls
2 messages in this thread
Hi,
PRELOAD, LOADONCALL, MOVEABLE, and DISCARDABLE are used in Win3.1 in the .DEF
file of a DLL. We're coding Win32s and we are load-time linking the DLLs into
the application.
1) Do the PRELOAD and etc. flags work under NT or are they ignored in either a
load-time or run-time linking scenario, or both? If ignored in a load-time
linking scenario, does the DLL get loaded into memory at the same time the
application is being loaded? From what I can tell when I start WinDbg, the
DLLs are being loaded before any function calls w/in the DLLs are called. Is
this always the case in NT with load-time linking?
2) If we have these flags in the .DEF file for our DLLs, will they be
recognized by the thunking DLL when running our Win32s application in Win3.1 or
will the DLLs be loaded into memory when the application starts in a load-time
linking scenario?
3) In a load-time linking scenario, once the DLL is loaded, it stays in memory
until the application ends, true or false?
Thanks,
Andrew
There is 1 Reply.
>1) Do the PRELOAD and etc. flags work under NT or are they ignored in
either a load-time or run-time linking scenario, or both? If ignored
in a load-time linking scenario, does the DLL get loaded into memory
at the same time the application is being loaded? From what I can
tell when I start WinDbg, the DLLs are being loaded before any function
calls w/in the DLLs are called. Is this always the case in NT with
load-time linking?
Those flags are not used – DLLs (and other user-mode binaries) are paged in
as needed.
>2) If we have these flags in the .DEF file for our DLLs, will they be
recognized by the thunking DLL when running our Win32s application in
Win3.1 or will the DLLs be loaded into memory when the application
starts in a load-time linking scenario?
Win32s 1.1 also will demand page (unless you have disabled demand paging) so
it ill only load in whatever pages are touched.
>3) In a load-time linking scenario, once the DLL is loaded, it stays in
memory until the application ends, true or false?
In the address space, yes, but it can of course be paged out of physical RAM.
Lee