Overview | ||||||||||||||||
Group | ||||||||||||||||
Quick Info
|
DdeClientTransaction
The DdeClientTransaction function begins a data transaction between a client and a server. Only a dynamic data exchange (DDE) client application can call this function, and the application can use it only after establishing a conversation with the server. HDDEDATA DdeClientTransaction( LPBYTE pData,
| // pointer to data to pass to server
|
DWORD cbData,
| // length of data
|
HCONV hConv,
| // handle to conversation
|
HSZ hszItem,
| // handle to item name string
|
UINT wFmt,
| // clipboard data format
|
UINT wType,
| // transaction type
|
DWORD dwTimeout,
| // time-out duration
|
LPDWORD pdwResult
| // pointer to transaction result
|
);
|
|
Type
| Meaning
|
XTYP_ADVSTART
| Begins an advise loop. Any number of distinct advise loops can exist within a
conversation. An application can alter the advise loop type by combining the
XTYP_ADVSTART transaction type with one or more of the following flags:
|
Flag
| Meaning
|
XTYPF_NODATA
| Instructs the server to notify the client of any data changes without actually
sending the data. This flag gives the client the option of ignoring the
notification or requesting the changed data from the server.
|
XTYPF_ACKREQ
| Instructs the server to wait until the client acknowledges that it received
the previous data item before sending the next data item. This flag prevents a
fast server from sending data faster than the client can process it.
|
XTYP_ADVSTOP
| Ends an advise loop.
|
XTYP_EXECUTE
| Begins an execute transaction.
|
XTYP_POKE
| Begins a poke transaction.
|
XTYP_REQUEST
| Begins a request transaction.
|
DMLERR_BUSY
DMLERR_DATAACKTIMEOUT
DMLERR_DLL_NOT_INITIALIZED
DMLERR_EXECACKTIMEOUT
DMLERR_INVALIDPARAMETER
DMLERR_MEMORY_ERROR
DMLERR_NO_CONV_ESTABLISHED
DMLERR_NO_ERROR
DMLERR_NOTPROCESSED
DMLERR_POKEACKTIMEOUT
DMLERR_POSTMSG_FAILED
DMLERR_REENTRANCY
DMLERR_SERVER_DIED
DMLERR_UNADVACKTIMEOUT Remarks When an application has finished using the data handle returned by DdeClientTransaction, the application should free the handle by calling the DdeFreeDataHandle function. Transactions can be synchronous or asynchronous. During a synchronous transaction, DdeClientTransaction does not return until the transaction either completes successfully or fails. Synchronous transactions cause a client to enter a modal loop while waiting for various asynchronous events. Because of this, a client application can still respond to user input while waiting on a synchronous transaction, but the application cannot begin a second synchronous transaction because of the activity associated with the first. DdeClientTransaction fails if any instance of the same task has a synchronous transaction already in progress. During an asynchronous transaction, DdeClientTransaction returns after the transaction has begun, passing a transaction identifier for reference. When the server's DDE callback function finishes processing an asynchronous transaction, the system sends an XTYP_XACT_COMPLETE transaction to the client. This transaction provides the client with the results of the asynchronous transaction that it initiated by calling DdeClientTransaction. A client application can choose to abandon an asynchronous transaction by calling the DdeAbandonTransaction function. See Also DdeAbandonTransaction, DdeAccessData, DdeConnect, DdeConnectList, DdeCreateDataHandle, DdeCreateStringHandle, DdeFreeDataHandle, XTYP_ADVSTART, XTYP_ADVSTOP, XTYP_EXECUTE, XTYP_POKE, XTYP_REQUEST
- 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