The Windows DDE protocol is a standard for cooperating applications. By using the protocol, applications exchange data and carry out remote commands by means of Windows messages.
Because Windows has a message-based architecture, passing messages is the most appropriate method for automatically transferring information between applications. However, Windows messages contain only two parameters (wParam and lParam) for passing data. As a result, these parameters must refer indirectly to other pieces of data if more than a few words of information are to be passed between applications.
The DDE protocol defines exactly how wParam and lParam are used to pass larger pieces of data by means of global atoms and global shared-memory handles.
A global atom is a reference to a character string. In the DDE protocol, atoms identify the applications exchanging data, the nature of the data being exchanged, and the data items themselves.
A global shared-memory handle is a handle of a memory object allocated by GlobalAlloc, using the GMEM_DDESHARE option. In the DDE protocol, global shared-memory objects store data items passed between applications, protocol options, and remote command execution strings.
The DDE protocol has specific rules for applications involved in a DDE exchange. These rules apply to allocating and deleting global atoms and shared memory objects.