Data Exchange

Overview of the Data Exchange technology.

To develop Data Exchange, you need these headers:

For programming guidance for this technology, see:

Functions

 
AddAtomA

Adds a character string to the local atom table and returns a unique value (an atom) identifying the string. (ANSI)
AddAtomW

Adds a character string to the local atom table and returns a unique value (an atom) identifying the string. (Unicode)
AddClipboardFormatListener

Places the given window in the system-maintained clipboard format listener list.
ChangeClipboardChain

Removes a specified window from the chain of clipboard viewers.
CloseClipboard

Closes the clipboard.
CountClipboardFormats

Retrieves the number of different data formats currently on the clipboard.
DdeAbandonTransaction

Abandons the specified asynchronous transaction and releases all resources associated with the transaction.
DdeAccessData

Provides access to the data in the specified Dynamic Data Exchange (DDE) object. An application must call the DdeUnaccessData function when it has finished accessing the data in the object.
DdeAddData

Adds data to the specified Dynamic Data Exchange (DDE) object.
DdeClientTransaction

Begins a data transaction between a client and a server. Only a Dynamic Data Exchange (DDE) client application can call this function, and the application can use it only after establishing a conversation with the server.
DdeCmpStringHandles

Compares the values of two string handles. The value of a string handle is not related to the case of the associated string.
DdeConnect

Establishes a conversation with a server application that supports the specified service name and topic name pair. If more than one such server exists, the system selects only one.
DdeConnectList

Establishes a conversation with all server applications that support the specified service name and topic name pair.
DdeCreateDataHandle

Creates a Dynamic Data Exchange (DDE) object and fills the object with data from the specified buffer. A DDE application uses this function during transactions that involve passing data to the partner application.
DdeCreateStringHandleA

Creates a handle that identifies the specified string. A Dynamic Data Exchange (DDE) client or server application can pass the string handle as a parameter to other Dynamic Data Exchange Management Library (DDEML) functions. (ANSI)
DdeCreateStringHandleW

Creates a handle that identifies the specified string. A Dynamic Data Exchange (DDE) client or server application can pass the string handle as a parameter to other Dynamic Data Exchange Management Library (DDEML) functions. (Unicode)
DdeDisconnect

Terminates a conversation started by either the DdeConnect or DdeConnectList function and invalidates the specified conversation handle.
DdeDisconnectList

Destroys the specified conversation list and terminates all conversations associated with the list.
DdeEnableCallback

Enables or disables transactions for a specific conversation or for all conversations currently established by the calling application.
DdeFreeDataHandle

Frees a Dynamic Data Exchange (DDE) object and deletes the data handle associated with the object.
DdeFreeStringHandle

Frees a string handle in the calling application.
DdeGetData

Copies data from the specified Dynamic Data Exchange (DDE) object to the specified local buffer.
DdeGetLastError

Retrieves the most recent error code set by the failure of a Dynamic Data Exchange Management Library (DDEML) function and resets the error code to DMLERR_NO_ERROR.
DdeImpersonateClient

Impersonates a Dynamic Data Exchange (DDE) client application in a DDE client conversation.
DdeInitializeA

Registers an application with the Dynamic Data Exchange Management Library (DDEML). An application must call this function before calling any other Dynamic Data Exchange Management Library (DDEML) function. (ANSI)
DdeInitializeW

Registers an application with the Dynamic Data Exchange Management Library (DDEML). An application must call this function before calling any other Dynamic Data Exchange Management Library (DDEML) function. (Unicode)
DdeKeepStringHandle

Increments the usage count associated with the specified handle.
DdeNameService

Registers or unregisters the service names a Dynamic Data Exchange (DDE) server supports.
DdePostAdvise

Causes the system to send an XTYP_ADVREQ transaction to the calling (server) application's Dynamic Data Exchange (DDE) callback function for each client with an active advise loop on the specified topic and item.
DdeQueryConvInfo

Retrieves information about a Dynamic Data Exchange (DDE) transaction and about the conversation in which the transaction takes place.
DdeQueryNextServer

Retrieves the next conversation handle in the specified conversation list.
DdeQueryStringA

Copies text associated with a string handle into a buffer. (ANSI)
DdeQueryStringW

Copies text associated with a string handle into a buffer. (Unicode)
DdeReconnect

Enables a client Dynamic Data Exchange Management Library (DDEML) application to attempt to reestablish a conversation with a service that has terminated a conversation with the client.
DdeSetQualityOfService

Specifies the quality of service (QOS) a raw Dynamic Data Exchange (DDE) application desires for future DDE conversations it initiates.
DdeSetUserHandle

Associates an application-defined value with a conversation handle or a transaction identifier. This is useful for simplifying the processing of asynchronous transactions. An application can use the DdeQueryConvInfo function to retrieve this value.
DdeUnaccessData

Unaccesses a Dynamic Data Exchange (DDE) object. An application must call this function after it has finished accessing the object.
DdeUninitialize

Frees all Dynamic Data Exchange Management Library (DDEML) resources associated with the calling application.
DeleteAtom

Decrements the reference count of a local string atom. If the atom's reference count is reduced to zero, DeleteAtom removes the string associated with the atom from the local atom table.
EmptyClipboard

Empties the clipboard and frees handles to data in the clipboard. The function then assigns ownership of the clipboard to the window that currently has the clipboard open.
EnumClipboardFormats

Enumerates the data formats currently available on the clipboard.
FindAtomA

Searches the local atom table for the specified character string and retrieves the atom associated with that string. (ANSI)
FindAtomW

Searches the local atom table for the specified character string and retrieves the atom associated with that string. (Unicode)
FreeDDElParam

Frees the memory specified by the lParam parameter of a posted Dynamic Data Exchange (DDE) message. An application receiving a posted DDE message should call this function after it has used the UnpackDDElParam function to unpack the lParam value.
GetAtomNameA

Retrieves a copy of the character string associated with the specified local atom. (ANSI)
GetAtomNameW

Retrieves a copy of the character string associated with the specified local atom. (Unicode)
GetClipboardData

Retrieves data from the clipboard in a specified format. The clipboard must have been opened previously.
GetClipboardFormatNameA

Retrieves from the clipboard the name of the specified registered format. The function copies the name to the specified buffer. (ANSI)
GetClipboardFormatNameW

Retrieves from the clipboard the name of the specified registered format. The function copies the name to the specified buffer. (Unicode)
GetClipboardOwner

Retrieves the window handle of the current owner of the clipboard.
GetClipboardSequenceNumber

Retrieves the clipboard sequence number for the current window station.
GetClipboardViewer

Retrieves the handle to the first window in the clipboard viewer chain.
GetOpenClipboardWindow

Retrieves the handle to the window that currently has the clipboard open.
GetPriorityClipboardFormat

Retrieves the first available clipboard format in the specified list.
GetUpdatedClipboardFormats

Retrieves the currently supported clipboard formats.
GlobalAddAtomA

Adds a character string to the global atom table and returns a unique value (an atom) identifying the string. (GlobalAddAtomA)
GlobalAddAtomExA

Adds a character string to the global atom table and returns a unique value (an atom) identifying the string. (GlobalAddAtomExA)
GlobalAddAtomExW

Adds a character string to the global atom table and returns a unique value (an atom) identifying the string. (GlobalAddAtomExW)
GlobalAddAtomW

Adds a character string to the global atom table and returns a unique value (an atom) identifying the string. (GlobalAddAtomW)
GlobalDeleteAtom

Decrements the reference count of a global string atom. If the atom's reference count reaches zero, GlobalDeleteAtom removes the string associated with the atom from the global atom table.
GlobalFindAtomA

Searches the global atom table for the specified character string and retrieves the global atom associated with that string. (ANSI)
GlobalFindAtomW

Searches the global atom table for the specified character string and retrieves the global atom associated with that string. (Unicode)
GlobalGetAtomNameA

Retrieves a copy of the character string associated with the specified global atom. (ANSI)
GlobalGetAtomNameW

Retrieves a copy of the character string associated with the specified global atom. (Unicode)
ImpersonateDdeClientWindow

Enables a Dynamic Data Exchange (DDE) server application to impersonate a DDE client application's security context. This protects secure server data from unauthorized DDE clients.
InitAtomTable

Initializes the local atom table and sets the number of hash buckets to the specified size.
IsClipboardFormatAvailable

Determines whether the clipboard contains data in the specified format.
MAKEINTATOM

Converts the specified atom into a string, so it can be passed to functions which accept either atoms or strings.
OpenClipboard

Opens the clipboard for examination and prevents other applications from modifying the clipboard content.
PackDDElParam

Packs a Dynamic Data Exchange (DDE) lParam value into an internal structure used for sharing DDE data between processes.
PFNCALLBACK

An application-defined callback function used with the Dynamic Data Exchange Management Library (DDEML) functions.
RegisterClipboardFormatA

Registers a new clipboard format. This format can then be used as a valid clipboard format. (ANSI)
RegisterClipboardFormatW

Registers a new clipboard format. This format can then be used as a valid clipboard format. (Unicode)
RemoveClipboardFormatListener

Removes the given window from the system-maintained clipboard format listener list.
ReuseDDElParam

Enables an application to reuse a packed Dynamic Data Exchange (DDE) lParam parameter, rather than allocating a new packed lParam. Using this function reduces reallocations for applications that pass packed DDE messages.
SetClipboardData

Places data on the clipboard in a specified clipboard format.
SetClipboardViewer

Adds the specified window to the chain of clipboard viewers. Clipboard viewer windows receive a WM_DRAWCLIPBOARD message whenever the content of the clipboard changes. This function is used for backward compatibility with earlier versions of Windows.
UnpackDDElParam

Unpacks a Dynamic Data Exchange (DDE)lParam value received from a posted DDE message.

Structures

 
CONVCONTEXT

Contains information supplied by a Dynamic Data Exchange (DDE) client application. The information is useful for specialized or cross-language DDE conversations.
CONVINFO

Contains information about a Dynamic Data Exchange (DDE) conversation.
COPYDATASTRUCT

Contains data to be passed to another application by the WM_COPYDATA message.
DDEACK

Contains status flags that a DDE application passes to its partner as part of the WM_DDE_ACK message.
DDEADVISE

Contains flags that specify how a DDE server application should send data to a client application during an advise loop. A client passes a handle to a DDEADVISE structure to a server as part of a WM_DDE_ADVISE message.
DDEDATA

Contains the data, and information about the data, sent as part of a WM_DDE_DATA message.
DDEML_MSG_HOOK_DATA

Contains information about a Dynamic Data Exchange (DDE) message, and provides read access to the data referenced by the message. This structure is intended to be used by a Dynamic Data Exchange Management Library (DDEML) monitoring application.
DDEPOKE

Contains the data, and information about the data, sent as part of a WM_DDE_POKE message.
HSZPAIR

Contains a DDE service name and topic name. A DDE server application can use this structure during an XTYP_WILDCONNECT transaction to enumerate the service-topic pairs that it supports.
METAFILEPICT

Defines the metafile picture format used for exchanging metafile data through the clipboard.
MONCBSTRUCT

Contains information about the current Dynamic Data Exchange (DDE) transaction. A DDE debugging application can use this structure when monitoring transactions that the system passes to the DDE callback functions of other applications.
MONCONVSTRUCT

Contains information about a Dynamic Data Exchange (DDE) conversation. A DDE monitoring application can use this structure to obtain information about a conversation that has been established or has terminated.
MONERRSTRUCT

Contains information about the current Dynamic Data Exchange (DDE) error. A DDE monitoring application can use this structure to monitor errors returned by DDE Management Library functions.
MONHSZSTRUCTA

Contains information about a Dynamic Data Exchange (DDE) string handle. A DDE monitoring application can use this structure when monitoring the activity of the string manager component of the DDE Management Library. (ANSI)
MONHSZSTRUCTW

Contains information about a Dynamic Data Exchange (DDE) string handle. A DDE monitoring application can use this structure when monitoring the activity of the string manager component of the DDE Management Library. (Unicode)
MONLINKSTRUCT

Contains information about a Dynamic Data Exchange (DDE) advise loop. A DDE monitoring application can use this structure to obtain information about an advise loop that has started or ended.
MONMSGSTRUCT

Contains information about a Dynamic Data Exchange (DDE) message. A DDE monitoring application can use this structure to obtain information about a DDE message that was sent or posted.