Prev Next

DdeCallback info  Overview  Group

The DdeCallback function is an application-defined callback function that processes dynamic data exchange (DDE) transactions sent to the function in response to Dynamic Data Exchange Management Library (DDEML) calls by other applications.

HDDEDATA CALLBACK DdeCallback(

    UINT uType,

// transaction type

    UINT uFmt,

// clipboard data format

    HCONV hconv,

// handle to the conversation

    HSZ hsz1,

// handle to a string

    HSZ hsz2,

// handle to a string

    HDDEDATA hdata,

// handle to a global memory object

    DWORD dwData1,

// transaction-specific data

    DWORD dwData2 

// transaction-specific data

   );

Parameters

uType
Specifies the type of the current transaction. This parameter consists of a combination of transaction class flags and transaction type flags. The following table 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.

Class

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 class consists of the following types:

 


XTYP_ADVSTART
XTYP_CONNECT

XCLASS_DATA

A DDE callback function should return a DDE handle, the CBR_BLOCK return code, or NULL when it finishes processing a transaction that belongs to this class. The XCLASS_DATA transaction class consists of the following types:

 


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 class consists of the following types:

 


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 class consists of the following types:

XTYP_ADVSTOP
XTYP_CONNECT_CONFIRM
XTYP_DISCONNECT
XTYP_ERROR
XTYP_MONITOR
XTYP_REGISTER
XTYP_XACT_COMPLETE
XTYP_UNREGISTER

uFmt
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. For the meaning of this parameter, see the description of the transaction type.
hsz2
Identifies a string. The meaning of this parameter depends on the type of the current transaction. For the meaning of this parameter, see the description of the transaction type.
hdata
Identifies DDE data. The meaning of this parameter depends on the type of the current transaction. For the meaning of this parameter, see the description of the transaction type.
dwData1
Specifies transaction-specific data. For the meaning of this parameter, see the description of the transaction type.
dwData2
Specifies transaction-specific data. For the meaning of this parameter, see the description of the transaction type.

Return Values

The return value depends on the transaction class. For more information about the return values, see descriptions of the individual transaction types.

Remarks

The callback function is called asynchronously for transactions that do not involve the creation or termination of 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-defined or library-defined function name.

See Also

DdeEnableCallback, DdeInitialize