The DDEML has four classes of transactions. Each class is identified by a constant that begins with the XCLASS_ prefix. The classes are defined in the DDEML header file. The class constant is combined with the transaction-type constant and is passed to the DDE callback function of the receiving application.
A transaction's class determines the return value that a callback function is
expected to return if it processes the transaction. The following table shows the
return values and transaction types associated with each of the four transaction classes:
Class | Return value | Transaction |
XCLASS_BOOL | TRUE or FALSE | XTYP_ADVSTART XTYP_CONNECT |
XCLASS_DATA | A data handle, CBR_BLOCK, or NULL | XTYP_ADVREQ XTYP_REQUEST XTYP_WILDCONNECT |
XCLASS_FLAGS | A transaction flag: DDE_FACK, DDE_FBUSY, or DDE_FNOTPROCESSED | XTYP_ADVDATA XTYP_EXECUTE XTYP_POKE |
XCLASS_NOTIFICATION | None | XTYP_ADVSTOP XTYP_CONNECT_CONFIRM XTYP_DISCONNECT XTYP_ERROR XTYP_REGISTER XTYP_UNREGISTER XTYP_XACT_COMPLETE |