Execute Transaction
A client can use the
XTYP_EXECUTE transaction to cause a server to execute a command or a series of commands.
To execute a server command, the client first creates a buffer that contains a
command string for the server to execute and then passes either a pointer to
the buffer or a data handle identifying the buffer when it calls
DdeClientTransaction. Other required parameters include the conversation handle, the item name
string handle, the format specification, and the XTYP_EXECUTE transaction type. An
application that creates a data handle for passing execute data must specify
NULL for the
hszItem parameter of the
DdeCreateDataHandle function and zero for the
uFmt parameter.
The DDEML passes the XTYP_EXECUTE transaction to the server's DDE callback
function and specifies the format name, conversation handle, topic name, and data
handle identifying the command string. If the server supports the command, it
should use the
DdeAccessData function to obtain a pointer to the command string, execute the command, and
then return DDE_FACK. If the server does not support the command or cannot
complete the transaction, it should return DDE_FNOTPROCESSED. The server should
return DDE_FBUSY if it is too busy to complete the transaction.
In general, a server's callback function should process the XTYP_EXECUTE
transaction before returning with the following exceptions:
- When the command passed with the XTYP_EXECUTE transaction requests the server to terminate, the server should not terminate
until its callback function returns from processing XTYP_EXECUTE.
- If the server must perform an operation, such as processing a dialog box or a
DDE transaction that might cause DDEML recursion problems, the server should
return the CBR_BLOCK return code to block the execute transaction, perform the
operation, and then resume processing the execute transaction.
When
DdeClientTransaction returns, the client can use the
lpdwResult parameter to access the transaction status flag. If the flag is DDE_FBUSY,
the client should send the transaction again later.
If a server does not support the
XTYP_EXECUTE transaction, it should specify the CBF_FAIL_EXECUTES filter flag in the
DdeInitialize function. Doing so prevents the DDEML from sending the transaction to the
server.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database