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.
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.
The return value depends on the transaction class. See the descriptions of the individual transaction types for the return values.
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.
DdeEnableCallback, DdeInitialize