ID Number: Q74040
3.00 3.10
WINDOWS
Summary:
In the Microsoft Windows environment, when a function in a dynamic-
link library (DLL) calls the GlobalAlloc function without specifying
the GMEM_DDESHARE flag in the wFlags parameter, the returned global
memory object belongs to the currently active instance of the
application that called the DLL. If that instance of the application
terminates, the memory is freed. If the DLL is unloaded before the
application terminates, the memory remains allocated.
If the function specifies the GMEM_DDESHARE flag when calling the
GlobalAlloc function, the DLL owns the returned memory object. The
memory is freed when the DLL is unloaded, not when any application
terminates.
This behavior will continue for 16-bit applications in all future
versions of the Microsoft Windows graphical environment. However,
applications written for Windows NT may be required to free
GMEM_DDESHARE memory explicitly by calling the GlobalFree function. In
other words, the system may not free GMEM_DDESHARE memory when either
the DLL or the application terminates.
Additional reference words: 3.00 3.10 shared