Using GMEM_DDESHARE in Win32 Programming

ID: Q99114


The information in this article applies to:
  • Microsoft Win32 Application Programming Interface (API), included with:
    • Microsoft Windows NT, versions 3.1, 3.5, 3.51
    • Microsoft Windows 95

The GMEM_DDESHARE flag remains a legitimate value for GlobalAlloc(). This flag can be used to indicate that the memory will be used for one of the following so that the system can optimize the allocation for these special needs:

   DDE
   OLE 1.0
   Clipboard operations 
However, GlobalAlloc( GMEM_DDESHARE, ...) cannot be used to allocate a block of memory that can be shared between processes. This flag was never intended for this purpose, even under Windows versions 3.0 and 3.1 (3.x). GlobalAlloc( GMEM_DDESHARE, ...) works in this case because all Windows- based applications share the same address space; this is not the case under Windows NT.

All allocations of global shared memory can be used within the process that they are allocated in, but another mechanism is required to share memory between processes.

Additional query words: 3.10 3.50 4.00

Keywords : kbNTOS310 kbNTOS350 kbNTOS351 kbWinOS95
Version :
Platform :
Issue type :


Last Reviewed: September 23, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.