2.2.3 Dynamic Data Exchange Management Library

The Dynamic Data Exchange Management Library (DDEML) provides a set of API elements that simplifies the task of adding DDE capability to a Windows application. Instead of sending, posting, and processing DDE messages directly, an application uses the functions provided by the DDEML to manage DDE conversations.

The DDEML also provides a facility for managing the strings and data that are passed among DDE applications. Applications create and exchange string handles and data handles instead of atoms and pointers to shared memory objects. A server- name service allows a server application to register the application names that it supports. The names are broadcast to other applications in the system, which can then use the names to connect to the server. The DDEML also ensures compatibility among DDE applications by forcing them to implement the DDE protocol in a consistent manner.

Following are the new DDE functions:

Function Description

DdeAbandonTransaction Abandons an asynchronous transaction.
DdeAccessData Accesses a DDE global memory object.
DdeAddData Adds data to a DDE global memory object.
DdeClientTransaction Begins a DDE data transaction.
DdeCmpStringHandles Compares two DDE string handles.
DdeConnect Establishes a conversation with a server.
DdeConnectList Establishes multiple DDE conversations.
DdeCreateDataHandle Creates a DDE data handle.
DdeCreateStringHandle Creates a DDE string handle.
DdeDisconnect Terminates a DDE conversation.
DdeDisconnectList Destroys a DDE conversation list.
DdeEnableCallback Enables or disables one or more DDE conversations.
DdeFreeDataHandle Frees a global memory object.
DdeFreeStringHandle Frees a DDE string handle.
DdeGetData Copies data from a global memory object to a buffer.
DdeGetLastError Returns an error value set by a DDEML function.
DdeInitialize Registers an application with the DDEML.
DdeKeepStringHandle Increments the use count for a string handle.
DdeNameService Registers or unregisters a server application name.
DdePostAdvise Prompts a server to send data to a client during an advise loop.
DdeQueryConvInfo Retrieves information about a DDE conversation.
DdeQueryNextServer Obtains the next handle in a conversation list.
DdeQueryString Copies string-handle text to a buffer.
DdeSetUserHandle Associates a user-defined handle with a transaction.
DdeUnaccessData Frees a DDE global memory object.
DdeUninitialize Frees an application's DDEML resources.

The DDEML feature depends on the dynamic-link library DDEML.DLL. This is a redistributable library.