If necessary, the accessor
dde-item*
creates a conversation for the duration of the transaction, but if a suitable conversation already exists, the transaction is executed over that conversation. If you need to make several transactions with the same
service
and
topic
, placing them inside a with-dde-conversation prevents a new conversation being established for each transaction.

If
new-conversation-p
is set to
t
a new conversation is always established for the transaction. This new conversation is always automatically disconnected when the transaction is completed.

If
connect-error-p
is
t
(the default value), then LispWorks signals an error if a conversation cannot be established. If it is
nil
,
dde-item*
returns
nil
if a conversation cannot be established. This allows the caller to distinguish between the cases when the server is not running, and when the server is running but the transaction fails.

On success, the function returns
t
. On failure, the behavior depends on the value of the
errorp
argument. If
errorp
is
t
(the default value), LispWorks signals an error. If it is
nil
, the function returns
nil
to indicate failure.