DdeCallback

  HDDEDATA CALLBACK DdeCallback(wType, wFmt, hConv, hsz1, hsz2, hData, dwData1, dwData2)    
  UINT wType; /* transaction type */
  UINT wFmt; /* clipboard data format */
  HCONV hConv; /* handle of the conversation */
  HSZ hsz1; /* handle of a string */
  HSZ hsz2; /* handle of a string */
  HDDEDATA hData; /* handle of a global memory object */
  DWORD dwData1; /* transaction-specific data */
  DWORD dwData2; /* transaction-specific data */

The DdeCallback function is an application-defined callback function that processes DDE transactions sent to the function as a result of DDEML calls by other applications.

Parameters

wType

Specifies the type of the current transaction. This parameter consists of a combination of transaction-class flags and transaction-type flags. The following list describes each of the transaction classes and provides a list of the transaction types in each class. For information about a specific transaction type, see the individual description of that type.

Value Meaning

XCLASS_BOOL  
  A DDE callback function should return TRUE or FALSE when it finishes processing a transaction that belongs to this class. The XCLASS_BOOL transaction types consist of the following:
  XTYP_ADVSTART
  XTYP_CONNECT
XCLASS_DATA  
  A DDE callback function should return a DDE data handle, CBR_BLOCK, or NULL when it finishes processing a transaction that belongs to this class. The XCLASS_DATA transaction types consist of the following:
  XTYP_ADVREQ
  XTYP_REQUEST
  XTYP_WILDCONNECT
XCLASS_FLAGS  
  A DDE callback function should return DDE_FACK, DDE_FBUSY, or DDE_FNOTPROCESSED when it finishes processing a transaction that belongs to this class. The XCLASS_FLAGS transaction types consist of the following:
  XTYP_ADVDATA
  XTYP_EXECUTE
  XTYP_POKE
XCLASS_NOTIFICATION  
  The transaction types that belong to this class are for notification purposes only. The return value from the callback function is ignored. The XCLASS_NOTIFICATION transaction types consist of the following:
  XTYP_ADVSTOP
  XTYP_CONNECT_CONFIRM
  XTYP_DISCONNECT
  XTYP_ERROR
  XTYP_MONITOR
  XTYP_REGISTER
  XTYP_XACT_COMPLETE
  XTYP_UNREGISTER

wFmt

Specifies the format in which data is sent or received.

hConv

Identifies the conversation associated with the current transaction.

hsz1

Identifies a string. The meaning of this parameter depends on the type of the current transaction. See the description of the transaction type for the meaning of this parameter.

hsz2

Identifies a string. The meaning of this parameter depends on the type of the current transaction. See the description of the transaction type for the meaning of this parameter.

hData

Identifies DDE data. The meaning of this parameter depends on the type of the current transaction. See the description of the transaction type for the meaning of this parameter.

dwData1

Specifies transaction-specific data. See the description of the transaction type for the meaning of this parameter.

dwData2

Specifies transaction-specific data. See the description of the transaction type for the meaning of this parameter.

Return Value

The return value depends on the transaction class. See the descriptions of the individual transaction types for the return values.

Comments

The callback function is called asynchronously for transactions that do not involve creating or terminating conversations. An application that does not frequently accept incoming messages will have reduced DDE performance because the DDEML uses messages to initiate transactions.

An application must register the callback function by specifying a pointer to the function in a call to the DdeInitialize function.

DdeCallback is a placeholder for the application- or library-supplied function name. The actual name must be exported by including it in an EXPORTS statement in the application's module-definition file.

See Also

DdeEnableCallback, DdeInitialize