Top Description Inners Fields Methods
com.sun.jna.platform.win32

public Interface Ddeml

extends StdCallLibrary
Imports
com.sun.jna.Native, .Pointer, .PointerType, .Structure, .Structure.FieldOrder, com.sun.jna.platform.win32.BaseTSD.DWORD_PTR, .BaseTSD.ULONG_PTR, .WinDef.HWND, .WinDef.PVOID, .WinDef.BOOL, .WinDef.DWORD, .WinDef.DWORDByReference, .WinDef.LPARAM, .WinDef.UINT, .WinDef.UINT_PTR, .WinDef.WPARAM, .WinNT.HANDLE, .WinNT.SECURITY_QUALITY_OF_SERVICE, com.sun.jna.win32.StdCallLibrary, .W32APIOptions, .W32APITypeMapper

Ported from Ddeml.h. Microsoft Windows SDK 7.1.

Bindings for the DDEML - Dynamic Data Exchange Management Library (DDEML)

See Also
MSDN: About the DDEML

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
Ddeml.CONVCONTEXT

The following structure is used by DdeConnect and DdeConnectList and by XTYP_CONNECT and XTYP_WILDCONNECT callbacks.

public static class
Ddeml.CONVINFO

Contains information about a Dynamic Data Exchange (DDE) conversation.

public static interface
public static class
public static class
public static class
public static class
public static class
public static class
Ddeml.HSZPAIR

The following structure is for use with XTYP_WILDCONNECT processing.

public static class
Ddeml.MONCBSTRUCT

Contains information about the current Dynamic Data Exchange (DDE) transaction.

public static class
Ddeml.MONCONVSTRUCT

Contains information about a Dynamic Data Exchange (DDE) conversation.

public static class
Ddeml.MONERRSTRUCT

Contains information about the current Dynamic Data Exchange (DDE) error.

public static class
Ddeml.MONHSZSTRUCT

Contains information about a Dynamic Data Exchange (DDE) string handle.

public static class
Ddeml.MONLINKSTRUCT

Contains information about a Dynamic Data Exchange (DDE) advise loop.

public static class

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
APPCLASS_MONITOR

Makes it possible for the application to monitor DDE activity in the system.

public static final int
APPCLASS_STANDARD

Registers the application as a standard (nonmonitoring) DDEML application.

public static final int
APPCMD_CLIENTONLY

Prevents the application from becoming a server in a DDE conversation.

public static final int
APPCMD_FILTERINITS

Prevents the DDEML from sending XTYP_CONNECT and XTYP_WILDCONNECT transactions to the application until the application has created its string handles and registered its service names or has turned off filtering by a subsequent call to the DdeNameService or DdeInitialize function.

public static final int
public static final int
public static final int
CBF_FAIL_ADVISES

Prevents the callback function from receiving XTYP_ADVSTART and XTYP_ADVSTOP transactions.

public static final int
CBF_FAIL_ALLSVRXACTIONS

Prevents the callback function from receiving server transactions.

public static final int
CBF_FAIL_CONNECTIONS

Prevents the callback function from receiving XTYP_CONNECT and XTYP_WILDCONNECT transactions.

public static final int
CBF_FAIL_EXECUTES

Prevents the callback function from receiving XTYP_EXECUTE transactions.

public static final int
CBF_FAIL_POKES

Prevents the callback function from receiving XTYP_POKE transactions.

public static final int
CBF_FAIL_REQUESTS

Prevents the callback function from receiving XTYP_REQUEST transactions.

public static final int
CBF_FAIL_SELFCONNECTIONS

Prevents the callback function from receiving XTYP_CONNECT transactions from the application's own instance.

public static final int
CBF_SKIP_ALLNOTIFICATIONS

Prevents the callback function from receiving any notifications.

public static final int
CBF_SKIP_CONNECT_CONFIRMS

Prevents the callback function from receiving XTYP_CONNECT_CONFIRM notifications.

public static final int
CBF_SKIP_DISCONNECTS

Prevents the callback function from receiving XTYP_DISCONNECT notifications.

public static final int
CBF_SKIP_REGISTRATIONS

Prevents the callback function from receiving XTYP_REGISTER notifications.

public static final int
CBF_SKIP_UNREGISTRATIONS

Prevents the callback function from receiving XTYP_UNREGISTER notifications.

public static final int
CP_WINANSI

default codepage for windows & old DDE convs.

public static final int
public static final int
CP_WINUNICODE

default codepage for usage from java

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
DMLERR_ADVACKTIMEOUT

A request for a synchronous advise transaction has timed out.

public static final int
DMLERR_BUSY

The response to the transaction caused the DDE_FBUSY flag to be set.

public static final int
DMLERR_DATAACKTIMEOUT

A request for a synchronous data transaction has timed out.

public static final int
DMLERR_DLL_NOT_INITIALIZED

A DDEML function was called without first calling the DdeInitialize function, or an invalid instance identifier was passed to a DDEML function.

public static final int
DMLERR_DLL_USAGE

An application initialized as APPCLASS_MONITOR has attempted to perform a DDE transaction, or an application initialized as APPCMD_CLIENTONLY has attempted to perform server transactions.

public static final int
DMLERR_EXECACKTIMEOUT

A request for a synchronous execute transaction has timed out.

public static final int
public static final int
DMLERR_INVALIDPARAMETER

A parameter failed to be validated by the DDEML.

public static final int
public static final int
DMLERR_LOW_MEMORY

A DDEML application has created a prolonged race condition (in which the server application outruns the client), causing large amounts of memory to be consumed.

public static final int
DMLERR_MEMORY_ERROR

A memory allocation has failed.

public static final int
DMLERR_NO_CONV_ESTABLISHED

A client's attempt to establish a conversation has failed.

public static final int
public static final int
DMLERR_NOTPROCESSED

A transaction has failed.

public static final int
DMLERR_POKEACKTIMEOUT

A request for a synchronous poke transaction has timed out.

public static final int
DMLERR_POSTMSG_FAILED

An internal call to the PostMessage function has failed.

public static final int
DMLERR_REENTRANCY

An application instance with a synchronous transaction already in progress attempted to initiate another synchronous transaction, or the DdeEnableCallback function was called from within a DDEML callback function.

public static final int
DMLERR_SERVER_DIED

A server-side transaction was attempted on a conversation terminated by the client, or the server terminated before completing a transaction.

public static final int
DMLERR_SYS_ERROR

An internal error has occurred in the DDEML.

public static final int
DMLERR_UNADVACKTIMEOUT

A request to end an advise transaction has timed out.

public static final int
DMLERR_UNFOUND_QUEUE_ID

An invalid transaction identifier was passed to a DDEML function.

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final Ddeml
public static final int
MF_CALLBACKS

Notifies the callback function whenever a transaction is sent to any DDE callback function in the system.

public static final int
MF_CONV

Notifies the callback function whenever a conversation is established or terminated.

public static final int
MF_ERRORS

Notifies the callback function whenever a DDE error occurs.

public static final int
MF_HSZ_INFO

Notifies the callback function whenever a DDE application creates, frees, or increments the usage count of a string handle or whenever a string handle is freed as a result of a call to the DdeUninitialize function.

public static final int
MF_LINKS

Notifies the callback function whenever an advise loop is started or ended.

public static final int
public static final int
MF_POSTMSGS

Notifies the callback function whenever the system or an application posts a DDE message.

public static final int
MF_SENDMSGS

Notifies the callback function whenever the system or an application sends a DDE message.

public static final int
public static final int
QID_SYNC

Pseudo Transaction ID constant for the synchronous transaction

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final int
TIMEOUT_ASYNC

Timeout constants for asynchronous requests

public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int
XTYP_ADVDATA

Informs the client that the value of the data item has changed.

public static final int
XTYP_ADVREQ

The XTYP_ADVREQ transaction informs the server that an advise transaction is outstanding on the specified topic name and item name pair and that data corresponding to the topic name and item name pair has changed.

public static final int
XTYP_ADVSTART

A client uses the XTYP_ADVSTART transaction to establish an advise loop with a server.

public static final int
XTYP_ADVSTOP

A client uses the XTYP_ADVSTOP transaction to end an advise loop with a server.

public static final int
XTYP_CONNECT

A client uses the XTYP_CONNECT transaction to establish a conversation.

public static final int
XTYP_CONNECT_CONFIRM

A Dynamic Data Exchange (DDE) server callback function, DdeCallback, receives the XTYP_CONNECT_CONFIRM transaction to confirm that a conversation has been established with a client and to provide the server with the conversation handle.

public static final int
XTYP_DISCONNECT

An application's Dynamic Data Exchange (DDE) callback function, DdeCallback, receives the XTYP_DISCONNECT transaction when the application's partner in a conversation uses the DdeDisconnect function to terminate the conversation.

public static final int
XTYP_ERROR

A Dynamic Data Exchange (DDE) callback function, DdeCallback, receives the XTYP_ERROR transaction when a critical error occurs.

public static final int
XTYP_EXECUTE

A client uses the XTYP_EXECUTE transaction to send a command string to the server.

public static final int
public static final int
XTYP_MONITOR

A Dynamic Data Exchange (DDE) debugger's DDE callback function, DdeCallback, receives the XTYP_MONITOR transaction whenever a DDE event occurs in the system.

public static final int
XTYP_POKE

A client uses the XTYP_POKE transaction to send unsolicited data to the server.

public static final int
XTYP_REGISTER

A Dynamic Data Exchange (DDE) callback function, DdeCallback, receives the XTYP_REGISTER transaction type whenever a Dynamic Data Exchange Management Library (DDEML) server application uses the DdeNameService function to register a service name, or whenever a non-DDEML application that supports the System topic is started.

public static final int
XTYP_REQUEST

A client uses the XTYP_REQUEST transaction to request data from a server.

public static final int
public static final int
XTYP_UNREGISTER

A Dynamic Data Exchange (DDE) callback function, DdeCallback, receives the XTYP_UNREGISTER transaction whenever a Dynamic Data Exchange Management Library (DDEML) server application uses the DdeNameService function to unregister a service name, or whenever a non-DDEML application that supports the System topic is terminated.

public static final int
XTYP_WILDCONNECT

Enables a client to establish a conversation on each of the server's service name and topic name pairs that match the specified service name and topic name.

public static final int
XTYP_XACT_COMPLETE

A Dynamic Data Exchange (DDE) client callback function, DdeCallback, receives the XTYP_XACT_COMPLETE transaction when an asynchronous transaction, initiated by a call to the DdeClientTransaction function, has completed.

public static final int
public static final int
public static final int
Inherited from com.sun.jna.win32.StdCallLibrary:
FUNCTION_MAPPERSTDCALL_CONVENTION

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

true if the function succeeds

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeAbandonTransaction
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
Ddeml.HCONV
A handle to the conversation in which the transaction was initiated. If this parameter is 0L, all transactions are abandoned (that is, the idTransaction parameter is ignored).
hConv
,
int
The identifier of the transaction to be abandoned. If this parameter is 0L, all active transactions in the specified conversation are abandoned.
idTransaction
)

Abandons the specified asynchronous transaction and releases all resources associated with the transaction.

public Pointer

Returns:

If the function succeeds, the return value is a pointer to the first byte of data in the DDE object.

If the function fails, the return value is NULL.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeAccessData
(Ddeml.HDDEDATA
A handle to the DDE object to be accessed.
hData
,
WinDef.DWORDByReference
A pointer to a variable that receives the size, in bytes, of the DDE object identified by the hData parameter. If this parameter is NULL, no size information is returned.
pcbDataSize
)

Provides access to the data in the specified Dynamic Data Exchange (DDE) object.

public Ddeml.HDDEDATA

Returns:

If the function succeeds, the return value is a new handle to the DDE object. The new handle is used in all references to the object.

If the function fails, the return value is zero.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeAddData
(Ddeml.HDDEDATA
A handle to the DDE object that receives additional data.
hData
,
Pointer
The data to be added to the DDE object.
pSrc
,
int
The length, in bytes, of the data to be added to the DDE object, including the terminating NULL, if the data is a string.
cb
,
int
An offset, in bytes, from the beginning of the DDE object. The additional data is copied to the object beginning at this offset.
cbOff
)

Adds data to the specified Dynamic Data Exchange (DDE) object.

public Ddeml.HDDEDATA

Returns:

If the function succeeds, the return value is a data handle that identifies the data for successful synchronous transactions in which the client expects data from the server. The return value is nonzero for successful asynchronous transactions and for synchronous transactions in which the client does not expect data. The return value is zero for all unsuccessful transactions.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeClientTransaction
(Pointer
The beginning of the data the client must pass to the server.

Optionally, an application can specify the data handle (HDDEDATA) to pass to the server and in that case the cbData parameter should be set to -1. This parameter is required only if the wType parameter is XTYP_EXECUTE or XTYP_POKE. Otherwise, this parameter should be NULL.

For the optional usage of this parameter, XTYP_POKE transactions where pData is a data handle, the handle must have been created by a previous call to the DdeCreateDataHandle function, employing the same data format specified in the wFmt parameter.

pData
,
int
The length, in bytes, of the data pointed to by the pData parameter, including the terminating NULL, if the data is a string. A value of -1 indicates that pData is a data handle that identifies the data being sent.
cbData
,
Ddeml.HCONV
A handle to the conversation in which the transaction is to take place.
hConv
,
Ddeml.HSZ
A handle to the data item for which data is being exchanged during the transaction. This handle must have been created by a previous call to the DdeCreateStringHandle function. This parameter is ignored (and should be set to 0L) if the wType parameter is XTYP_EXECUTE.
hszItem
,
int
The standard clipboard format in which the data item is being submitted or requested.

If the transaction specified by the wType parameter does not pass data or is XTYP_EXECUTE, this parameter should be zero.

If the transaction specified by the wType parameter references non-execute DDE data ( XTYP_POKE, XTYP_ADVSTART, XTYP_ADVSTOP, XTYP_REQUEST), the wFmt value must be either a valid predefined (CF_) DDE format or a valid registered clipboard format.

wFmt
,
int
The transaction type. This parameter can be one of the following values.
ValueMeaning
XTYP_ADVSTARTBegins 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:
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_ADVSTOPEnds an advise loop.
XTYP_EXECUTEBegins an execute transaction.
XTYP_POKEBegins a poke transaction.
XTYP_REQUESTBegins a request transaction.
wType
,
int
The maximum amount of time, in milliseconds, that the client will wait for a response from the server application in a synchronous transaction. This parameter should be TIMEOUT_ASYNC for asynchronous transactions.
dwTimeout
,
WinDef.DWORDByReference
A pointer to a variable that receives the result of the transaction. An application that does not check the result can use NULL for this value. For synchronous transactions, the low-order word of this variable contains any applicable DDE_ flags resulting from the transaction. This provides support for applications dependent on DDE_APPSTATUS bits. It is, however, recommended that applications no longer use these bits because they may not be supported in future versions of the Dynamic Data Exchange Management Library (DDEML). For asynchronous transactions, this variable is filled with a unique transaction identifier for use with the DdeAbandonTransaction function and the XTYP_XACT_COMPLETE transaction.
pdwResult
)

Begins a data transaction between a client and a server.

public Ddeml.HCONV

Returns:

If the function succeeds, the return value is the handle to the established conversation.

If the function fails, the return value is 0L.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeConnect
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
Ddeml.HSZ
A handle to the string that specifies the service name of the server application with which a conversation is to be established. This handle must have been created by a previous call to the DdeCreateStringHandle function. If this parameter is 0L, a conversation is established with any available server.
hszService
,
Ddeml.HSZ
A handle to the string that specifies the name of the topic on which a conversation is to be established. This handle must have been created by a previous call to DdeCreateStringHandle. If this parameter is 0L, a conversation on any topic supported by the selected server is established.
hszTopic
,
Ddeml.CONVCONTEXT
A pointer to the CONVCONTEXT structure that contains conversation context information. If this parameter is NULL, the server receives the default CONVCONTEXT structure during the XTYP_CONNECT or XTYP_WILDCONNECT transaction.
pCC
)

Establishes a conversation with a server application that supports the specified service name and topic name pair.

public Ddeml.HCONVLIST

Returns:

If the function succeeds, the return value is the handle to a new conversation list.

If the function fails, the return value is 0L. The handle to the old conversation list is no longer valid.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeConnectList
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
Ddeml.HSZ
A handle to the string that specifies the service name of the server application with which a conversation is to be established. If this parameter is 0L, the system attempts to establish conversations with all available servers that support the specified topic name.
hszService
,
Ddeml.HSZ
A handle to the string that specifies the name of the topic on which a conversation is to be established. This handle must have been created by a previous call to the DdeCreateStringHandle function. If this parameter is 0L, the system will attempt to establish conversations on all topics supported by the selected server (or servers).
hszTopic
,
Ddeml.HCONVLIST
A handle to the conversation list to be enumerated. This parameter should be 0L if a new conversation list is to be established.
hConvList
,
Ddeml.CONVCONTEXT
A pointer to the CONVCONTEXT structure that contains conversation-context information. If this parameter is NULL, the server receives the default CONVCONTEXT structure during the XTYP_CONNECT or XTYP_WILDCONNECT transaction.
pCC
)

Establishes a conversation with all server applications that support the specified service name and topic name pair.

public Ddeml.HDDEDATA

Returns:

If the function succeeds, the return value is a data handle.

If the function fails, the return value is 0L.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeCreateDataHandle
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
Pointer
The data to be copied to the DDE object. If this parameter is NULL, no data is copied to the object.
pSrc
,
int
The amount of memory, in bytes, to copy from the buffer pointed to by pSrc. (include the terminating NULL, if the data is a string). If this parameter is zero, the pSrc parameter is ignored.
cb
,
int
An offset, in bytes, from the beginning of the buffer pointed to by the pSrc parameter. The data beginning at this offset is copied from the buffer to the DDE object.
cbOff
,
Ddeml.HSZ
A handle to the string that specifies the data item corresponding to the DDE object. This handle must have been created by a previous call to the DdeCreateStringHandle function. If the data handle is to be used in an XTYP_EXECUTE transaction, this parameter must be 0L.
hszItem
,
int
The standard clipboard format of the data.
wFmt
,
int
The creation flags. This parameter can be HDATA_APPOWNED, which specifies that the server application calling the DdeCreateDataHandle function owns the data handle this function creates. This flag enables the application to share the data handle with other DDEML applications rather than creating a separate handle to pass to each application. If this flag is specified, the application must eventually free the shared memory object associated with the handle by using the DdeFreeDataHandle function. If this flag is not specified, the handle becomes invalid in the application that created the handle after the data handle is returned by the application's DDE callback function or is used as a parameter in another DDEML function.
afCmd
)

Creates a Dynamic Data Exchange (DDE) object and fills the object with data from the specified buffer.

public Ddeml.HSZ

Returns:

If the function succeeds, the return value is a string handle.

If the function fails, the return value is 0L.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeCreateStringHandle
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
String
The null-terminated string for which a handle is to be created. This string can be up to 255 characters. The reason for this limit is that DDEML string management functions are implemented using atoms.
psz
,
int
The code page to be used to render the string. This value should be either CP_WINANSI (the default code page) or CP_WINUNICODE, depending on whether the ANSI or Unicode version of DdeInitialize was called by the client application.
iCodePage
)

Creates a handle that identifies the specified string.

public boolean

Returns:

true if the function succeeds

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeDisconnect
(Ddeml.HCONV
A handle to the active conversation to be terminated.
hConv
)

Terminates a conversation started by either the DdeConnect or DdeConnectList function and invalidates the specified conversation handle.

public boolean

Returns:

true if the function succeeds, the return value is nonzero.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeDisconnectList
(Ddeml.HCONVLIST
A handle to the conversation list. This handle must have been created by a previous call to the DdeConnectList function.
hConvList
)

Destroys the specified conversation list and terminates all conversations associated with the list.

public boolean

Returns:

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero.

If the wCmd parameter is EC_QUERYWAITING, and the application transaction queue contains one or more unprocessed transactions that are not being processed, the return value is TRUE; otherwise, it is FALSE.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeEnableCallback
(int
The application-instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
Ddeml.HCONV
A handle to the conversation to enable or disable. If this parameter is NULL, the function affects all conversations.
hConv
,
int
The function code. This parameter can be one of the following values.
ValueMeaning
EC_ENABLEALLEnables all transactions for the specified conversation.
EC_ENABLEONEEnables one transaction for the specified conversation.
EC_DISABLEDisables all blockable transactions for the specified conversation.

A server application can disable the following transactions:

A client application can disable the following transactions:

EC_QUERYWAITINGDetermines whether any transactions are in the queue for the specified conversation.
wCmd
)

Enables or disables transactions for a specific conversation or for all conversations currently established by the calling application.

public boolean

Returns:

true if freeing succeeded

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeFreeDataHandle
(Ddeml.HDDEDATA
A handle to the DDE object to be freed. This handle must have been created by a previous call to the DdeCreateDataHandle function or returned by the DdeClientTransaction function.
hData
)

Frees a Dynamic Data Exchange (DDE) object and deletes the data handle associated with the object.

public boolean

Returns:

true if the function succeeds.
DdeFreeStringHandle
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
Ddeml.HSZ
A handle to the string handle to be freed. This handle must have been created by a previous call to the DdeCreateStringHandle function.
hsz
)

Frees a string handle in the calling application.

public int

Returns:

If the pDst parameter points to a buffer, the return value is the size, in bytes, of the memory object associated with the data handle or the size specified in the cbMax parameter, whichever is lower.

If the pDst parameter is NULL, the return value is the size, in bytes, of the memory object associated with the data handle.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeGetData
(Ddeml.HDDEDATA
A handle to the DDE object that contains the data to copy.
hData
,
Pointer
A pointer to the buffer that receives the data. If this parameter is NULL, the DdeGetData function returns the amount of data, in bytes, that would be copied to the buffer.
pDst
,
int
The maximum amount of data, in bytes, to copy to the buffer pointed to by the pDst parameter. Typically, this parameter specifies the length of the buffer pointed to by pDst.
cbMax
,
int
An offset within the DDE object. Data is copied from the object beginning at this offset.
cbOff
)

Copies data from the specified Dynamic Data Exchange (DDE) object to the specified local buffer.

public int

Returns:

See Ddeml.DMLERR_*
DdeGetLastError
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
)

public boolean

Returns:

true if the function succeeds

To get extended error information call GetLastError.

DdeImpersonateClient
(Ddeml.HCONV
A handle to the DDE client conversation to be impersonated.
hConv
)

Impersonates a Dynamic Data Exchange (DDE) client application in a DDE client conversation.

public int

Returns:

If the function succeeds, the return value is DMLERR_NO_ERROR.

If the function fails, the return value is one of the following values:

DdeInitialize
(WinDef.DWORDByReference
The application instance identifier. At initialization, this parameter should point to 0. If the function succeeds, this parameter points to the instance identifier for the application. This value should be passed as the idInst parameter in all other DDEML functions that require it. If an application uses multiple instances of the DDEML dynamic-link library (DLL), the application should provide a different callback function for each instance.

If pidInst points to a nonzero value, reinitialization of the DDEML is implied. In this case, pidInst must point to a valid application-instance identifier.

pidInst
,
Ddeml.DdeCallback
A pointer to the application-defined DDE callback function. This function processes DDE transactions sent by the system. For more information, see the DdeCallback callback function.
fnCallback
,
int
A set of APPCMD_, CBF_, and MF_ flags. The APPCMD_ flags provide special instructions to DdeInitialize. The CBF_ flags specify filters that prevent specific types of transactions from reaching the callback function. The MF_ flags specify the types of DDE activity that a DDE monitoring application monitors. Using these flags enhances the performance of a DDE application by eliminating unnecessary calls to the callback function.

This parameter can be one or more of the following values.

ValueMeaning
APPCLASS_MONITOR
0x00000001L

Makes it possible for the application to monitor DDE activity in the system. This flag is for use by DDE monitoring applications. The application specifies the types of DDE activity to monitor by combining one or more monitor flags with the APPCLASS_MONITOR flag. For details, see the following Remarks section.

APPCLASS_STANDARD
0x00000000L

Registers the application as a standard (nonmonitoring) DDEML application.

APPCMD_CLIENTONLY
0x00000010L

Prevents the application from becoming a server in a DDE conversation. The application can only be a client. This flag reduces consumption of resources by the DDEML. It includes the functionality of the CBF_FAIL_ALLSVRXACTIONS flag.

APPCMD_FILTERINITS
0x00000020L

Prevents the DDEML from sending XTYP_CONNECT and XTYP_WILDCONNECT transactions to the application until the application has created its string handles and registered its service names or has turned off filtering by a subsequent call to the DdeNameService or DdeInitialize function. This flag is always in effect when an application calls DdeInitialize for the first time, regardless of whether the application specifies the flag. On subsequent calls to DdeInitialize, not specifying this flag turns off the application's service-name filters, but specifying it turns on the application's service name filters.

CBF_FAIL_ALLSVRXACTIONS
0x0003f000

Prevents the callback function from receiving server transactions. The system returns DDE_FNOTPROCESSED to each client that sends a transaction to this application. This flag is equivalent to combining all CBF_FAIL_ flags.

CBF_FAIL_ADVISES
0x00004000

Prevents the callback function from receiving XTYP_ADVSTART and XTYP_ADVSTOP transactions. The system returns DDE_FNOTPROCESSED to each client that sends an XTYP_ADVSTART or XTYP_ADVSTOP transaction to the server.

CBF_FAIL_CONNECTIONS
0x00002000

Prevents the callback function from receiving XTYP_CONNECT and XTYP_WILDCONNECT transactions.

CBF_FAIL_EXECUTES
0x00008000

Prevents the callback function from receiving XTYP_EXECUTE transactions. The system returns DDE_FNOTPROCESSED to a client that sends an XTYP_EXECUTE transaction to the server.

CBF_FAIL_POKES
0x00010000

Prevents the callback function from receiving XTYP_POKE transactions. The system returns DDE_FNOTPROCESSED to a client that sends an XTYP_POKE transaction to the server.

CBF_FAIL_REQUESTS
0x00020000

Prevents the callback function from receiving XTYP_REQUEST transactions. The system returns DDE_FNOTPROCESSED to a client that sends an XTYP_REQUEST transaction to the server.

CBF_FAIL_SELFCONNECTIONS
0x00001000

Prevents the callback function from receiving XTYP_CONNECT transactions from the application's own instance. This flag prevents an application from establishing a DDE conversation with its own instance. An application should use this flag if it needs to communicate with other instances of itself but not with itself.

CBF_SKIP_ALLNOTIFICATIONS
0x003c0000

Prevents the callback function from receiving any notifications. This flag is equivalent to combining all CBF_SKIP_ flags.

CBF_SKIP_CONNECT_CONFIRMS
0x00040000

Prevents the callback function from receiving XTYP_CONNECT_CONFIRM notifications.

CBF_SKIP_DISCONNECTS
0x00200000

Prevents the callback function from receiving XTYP_DISCONNECT notifications.

CBF_SKIP_REGISTRATIONS
0x00080000

Prevents the callback function from receiving XTYP_REGISTER notifications.

CBF_SKIP_UNREGISTRATIONS
0x00100000

Prevents the callback function from receiving XTYP_UNREGISTER notifications.

MF_CALLBACKS
0x08000000

Notifies the callback function whenever a transaction is sent to any DDE callback function in the system.

MF_CONV
0x40000000

Notifies the callback function whenever a conversation is established or terminated.

MF_ERRORS
0x10000000

Notifies the callback function whenever a DDE error occurs.

MF_HSZ_INFO
0x01000000

Notifies the callback function whenever a DDE application creates, frees, or increments the usage count of a string handle or whenever a string handle is freed as a result of a call to the DdeUninitialize function.

MF_LINKS
0x20000000

Notifies the callback function whenever an advise loop is started or ended.

MF_POSTMSGS
0x04000000

Notifies the callback function whenever the system or an application posts a DDE message.

MF_SENDMSGS
0x02000000

Notifies the callback function whenever the system or an application sends a DDE message.

afCmd
,
int
Reserved; must be set to zero.
ulRes
)

Registers an application with the Dynamic Data Exchange Management Library (DDEML).

public boolean

Returns:

true if the function succeeded
DdeKeepStringHandle
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
Ddeml.HSZ
A handle to the string handle to be saved.
hsz
)

Increments the usage count associated with the specified handle.

public Ddeml.HDDEDATA

Returns:

If the function succeeds, it returns a nonzero value. That value is not a true HDDEDATA value, merely a Boolean indicator of success. The function is typed HDDEDATA to allow for possible future expansion of the function and a more sophisticated return value.

If the function fails, the return value is 0L.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeNameService
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
Ddeml.HSZ
A handle to the string that specifies the service name the server is registering or unregistering. An application that is unregistering all of its service names should set this parameter to 0L.
hsz1
,
Ddeml.HSZ
Reserved; should be set to 0L.
hsz2
,
int
The service name options. This parameter can be one of the following values.
ValueMeaning
DNS_REGISTERRegisters the error code service name.
DNS_UNREGISTERUnregisters the error code service name. If the hsz1 parameter is 0L, all service names registered by the server will be unregistered.
DNS_FILTERONTurns on service name initiation filtering. The filter prevents a server from receiving XTYP_CONNECT transactions for service names it has not registered. This is the default setting for this filter.

If a server application does not register any service names, the application cannot receive XTYP_WILDCONNECT transactions.
DNS_FILTEROFFTurns off service name initiation filtering. If this flag is specified, the server receives an XTYP_CONNECT transaction whenever another DDE application calls the DdeConnect function, regardless of the service name.
afCmd
)

Registers or unregisters the service names a Dynamic Data Exchange (DDE) server supports.

public boolean

Returns:

true if the function succeeds

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdePostAdvise
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
Ddeml.HSZ
A handle to a string that specifies the topic name. To send notifications for all topics with active advise loops, an application can set this parameter to 0L.
hszTopic
,
Ddeml.HSZ
A handle to a string that specifies the item name. To send notifications for all items with active advise loops, an application can set this parameter to 0L.
hszItem
)

Causes the system to send an XTYP_ADVREQ transaction to the calling (server) application's Dynamic Data Exchange (DDE) callback function for each client with an active advise loop on the specified topic and item.

public int

Returns:

If the function succeeds, the return value is the number of bytes copied into the CONVINFO structure.

If the function fails, the return value is FALSE.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeQueryConvInfo
(Ddeml.HCONV
A handle to the conversation.
hConv
,
int
The transaction. For asynchronous transactions, this parameter should be a transaction identifier returned by the DdeClientTransaction function. For synchronous transactions, this parameter should be QID_SYNC.
idTransaction
,
Ddeml.CONVINFO
A pointer to the CONVINFO structure that receives information about the transaction and conversation. The cb member of the CONVINFO structure must specify the length of the buffer allocated for the structure.
pConvInfo
)

Retrieves information about a Dynamic Data Exchange (DDE) transaction and about the conversation in which the transaction takes place.

public Ddeml.HCONV

Returns:

If the list contains any more conversation handles, the return value is the next conversation handle in the list; otherwise, it is 0L.
DdeQueryNextServer
(Ddeml.HCONVLIST
A handle to the conversation list. This handle must have been created by a previous call to the DdeConnectList function.
hConvList
,
Ddeml.HCONV
A handle to the conversation handle previously returned by this function. If this parameter is 0L, the function returns the first conversation handle in the list.
hConvPrev
)

Retrieves the next conversation handle in the specified conversation list.

public int

Returns:

If the psz parameter specified a valid pointer, the return value is the length, in characters, of the returned text (not including the terminating null character). If the psz parameter specified a NULL pointer, the return value is the length of the text associated with the hsz parameter (not including the terminating null character).

If an error occurs, the return value is 0L

DdeQueryString
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
,
Ddeml.HSZ
A handle to the string to copy. This handle must have been created by a previous call to the DdeCreateStringHandle function.
hsz
,
Pointer
A pointer to a buffer that receives the string. To obtain the length of the string, this parameter should be set to NULL.
psz
,
int
The length, in characters, of the buffer pointed to by the psz parameter. For the ANSI version of the function, this is the number of bytes; for the Unicode version, this is the number of characters. If the string is longer than ( cchMax� 1), it will be truncated. If the psz parameter is set to NULL, this parameter is ignored.
cchMax
,
int
The code page used to render the string. This value should be either CP_WINANSI or CP_WINUNICODE.
iCodePage
)

Copies text associated with a string handle into a buffer.

public Ddeml.HCONV

Returns:

If the function succeeds, the return value is the handle to the reestablished conversation.

If the function fails, the return value is 0L.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeReconnect
(Ddeml.HCONV
A handle to the conversation to be reestablished. A client must have obtained the conversation handle by a previous call to the DdeConnect function or from an XTYP_DISCONNECT transaction.
hConv
)

Enables a client Dynamic Data Exchange Management Library (DDEML) application to attempt to reestablish a conversation with a service that has terminated a conversation with the client.

public boolean

Returns:

true If the function succeeds.

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeSetUserHandle
(Ddeml.HCONV
A handle to the conversation.
hConv
,
int
The transaction identifier to associate with the value specified by the hUser parameter. An application should set this parameter to QID_SYNC to associate hUser with the conversation identified by the hConv parameter.
id
,
BaseTSD.DWORD_PTR
The value to be associated with the conversation handle.
hUser
)

Associates an application-defined value with a conversation handle or a transaction identifier.

public boolean

Returns:

true if the function succeeds

The DdeGetLastError function can be used to get the error code, which can be one of the following values:

DdeUnaccessData
(Ddeml.HDDEDATA
A handle to the DDE object.
hData
)

Unaccesses a Dynamic Data Exchange (DDE) object.

public boolean

Returns:

true if function succeeded
DdeUninitialize
(int
The application instance identifier obtained by a previous call to the DdeInitialize function.
idInst
)

Frees all Dynamic Data Exchange Management Library (DDEML) resources associated with the calling application.