Platform SDK: Interprocess Communications

XTYP_EXECUTE

A client uses the XTYP_EXECUTE transaction to send a command string to the server. A DDE server callback function, DdeCallback, receives this transaction when a client specifies XTYP_EXECUTE in the DdeClientTransaction function.

HDDEDATA CALLBACK DdeCallback(
  UINT uType,     // XTYP_EXECUTE
  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 transaction type.
uFmt
Not used.
hconv
Handle to the conversation.
hsz1
Handle to the topic name.
hsz2
Not used.
hdata
Handle to the command string.
dwData1
Not used.
dwData2
Not used.

Return Values

A server callback function should return DDE_FACK if it processes this transaction, DDE_FBUSY if it is too busy to process this transaction, or DDE_FNOTPROCESSED if it rejects this transaction.

Remarks

This transaction is filtered if the server application specified the CBF_FAIL_EXECUTES flag in the DdeInitialize function.

An application must free the data handle obtained during this transaction. An application must, however, copy the command string associated with the data handle if the application must process the string after the callback function returns. An application can use the DdeGetData function to copy the data.

Because most client applications expect a server application to perform an XTYP_EXECUTE transaction synchronously, a server should attempt to perform all processing of the XTYP_EXECUTE transaction either from within the DDE callback function or by returning the CBR_BLOCK return code. If the hdata parameter is a command that instructs the server to terminate, the server should do so after processing the XTYP_EXECUTE transaction.

Requirements

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Ddeml.h; include Windows.h.

See Also

Dynamic Data Exchange Management Library Overview, Dynamic Data Exchange Management Transactions, DdeClientTransaction, DdeGetData, DdeInitialize