Ddeml (JNA API)

com.sun.jna.platform.win32

## Interface Ddeml

- All Superinterfaces:
    AltCallingConvention, Library, StdCall, StdCallLibrary

      public interface Ddeml
      extends StdCallLibrary

  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 Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `Ddeml.CONVCONTEXT` The following structure is used by DdeConnect() and DdeConnectList() and by XTYP_CONNECT and XTYP_WILDCONNECT callbacks.
    `static class` | `Ddeml.CONVINFO`
    `static interface` | `Ddeml.DdeCallback`
    `static class` | `Ddeml.DDEML_MSG_HOOK_DATA`
    `static class` | `Ddeml.HCONV`
    `static class` | `Ddeml.HCONVLIST`
    `static class` | `Ddeml.HDDEDATA`
    `static class` | `Ddeml.HSZ`
    `static class` | `Ddeml.HSZPAIR` the following structure is for use with XTYP_WILDCONNECT processing.
    `static class` | `Ddeml.MONCBSTRUCT` Contains information about the current Dynamic Data Exchange (DDE) transaction.
    `static class` | `Ddeml.MONCONVSTRUCT` Contains information about a Dynamic Data Exchange (DDE) conversation.
    `static class` | `Ddeml.MONERRSTRUCT` Contains information about the current Dynamic Data Exchange (DDE) error.
    `static class` | `Ddeml.MONHSZSTRUCT` Contains information about a Dynamic Data Exchange (DDE) string handle.
    `static class` | `Ddeml.MONLINKSTRUCT` Contains information about a Dynamic Data Exchange (DDE) advise loop.
    `static class` | `Ddeml.MONMSGSTRUCT`

    - ### Nested classes/interfaces inherited from interface com.sun.jna.win32.StdCallLibrary

      `StdCallLibrary.StdCallCallback`

    - ### Nested classes/interfaces inherited from interface com.sun.jna.Library

      `Library.Handler`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `APPCLASS_MASK`
    `static int` | `APPCLASS_MONITOR` Makes it possible for the application to monitor DDE activity in the system.
    `static int` | `APPCLASS_STANDARD` Registers the application as a standard (nonmonitoring) DDEML application.
    `static int` | `APPCMD_CLIENTONLY` Prevents the application from becoming a server in a DDE conversation.
    `static 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.
    `static int` | `APPCMD_MASK`
    `static int` | `CADV_LATEACK`
    `static int` | `CBF_FAIL_ADVISES` Prevents the callback function from receiving XTYP_ADVSTART and XTYP_ADVSTOP transactions.
    `static int` | `CBF_FAIL_ALLSVRXACTIONS` Prevents the callback function from receiving server transactions.
    `static int` | `CBF_FAIL_CONNECTIONS` Prevents the callback function from receiving XTYP_CONNECT and XTYP_WILDCONNECT transactions.
    `static int` | `CBF_FAIL_EXECUTES` Prevents the callback function from receiving XTYP_EXECUTE transactions.
    `static int` | `CBF_FAIL_POKES` Prevents the callback function from receiving XTYP_POKE transactions.
    `static int` | `CBF_FAIL_REQUESTS` Prevents the callback function from receiving XTYP_REQUEST transactions.
    `static int` | `CBF_FAIL_SELFCONNECTIONS` Prevents the callback function from receiving XTYP_CONNECT transactions from the application's own instance.
    `static int` | `CBF_SKIP_ALLNOTIFICATIONS` Prevents the callback function from receiving any notifications.
    `static int` | `CBF_SKIP_CONNECT_CONFIRMS` Prevents the callback function from receiving XTYP_CONNECT_CONFIRM notifications.
    `static int` | `CBF_SKIP_DISCONNECTS` Prevents the callback function from receiving XTYP_DISCONNECT notifications.
    `static int` | `CBF_SKIP_REGISTRATIONS` Prevents the callback function from receiving XTYP_REGISTER notifications.
    `static int` | `CBF_SKIP_UNREGISTRATIONS` Prevents the callback function from receiving XTYP_UNREGISTER notifications.
    `static int` | `CP_WINANSI` default codepage for windows & old DDE convs.
    `static int` | `CP_WINNEUTRAL`
    `static int` | `CP_WINUNICODE` default codepage for usage from java
    `static int` | `DDE_FACK`
    `static int` | `DDE_FACKREQ`
    `static int` | `DDE_FACKRESERVED`
    `static int` | `DDE_FADVRESERVED`
    `static int` | `DDE_FAPPSTATUS`
    `static int` | `DDE_FBUSY`
    `static int` | `DDE_FDATRESERVED`
    `static int` | `DDE_FDEFERUPD`
    `static int` | `DDE_FNOTPROCESSED`
    `static int` | `DDE_FPOKRESERVED`
    `static int` | `DDE_FRELEASE`
    `static int` | `DDE_FREQUESTED`
    `static int` | `DMLERR_ADVACKTIMEOUT` A request for a synchronous advise transaction has timed out.
    `static int` | `DMLERR_BUSY` The response to the transaction caused the DDE_FBUSY flag to be set.
    `static int` | `DMLERR_DATAACKTIMEOUT` A request for a synchronous data transaction has timed out.
    `static 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.
    `static 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.
    `static int` | `DMLERR_EXECACKTIMEOUT` A request for a synchronous execute transaction has timed out.
    `static int` | `DMLERR_FIRST`
    `static int` | `DMLERR_INVALIDPARAMETER` A parameter failed to be validated by the DDEML.
    `static int` | `DMLERR_LAST`
    `static 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.
    `static int` | `DMLERR_MEMORY_ERROR` A memory allocation has failed.
    `static int` | `DMLERR_NO_CONV_ESTABLISHED` A client's attempt to establish a conversation has failed.
    `static int` | `DMLERR_NO_ERROR`
    `static int` | `DMLERR_NOTPROCESSED` A transaction has failed.
    `static int` | `DMLERR_POKEACKTIMEOUT` A request for a synchronous poke transaction has timed out.
    `static int` | `DMLERR_POSTMSG_FAILED` An internal call to the PostMessage function has failed.
    `static 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.
    `static 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.
    `static int` | `DMLERR_SYS_ERROR` An internal error has occurred in the DDEML.
    `static int` | `DMLERR_UNADVACKTIMEOUT` A request to end an advise transaction has timed out.
    `static int` | `DMLERR_UNFOUND_QUEUE_ID` An invalid transaction identifier was passed to a DDEML function.
    `static int` | `DNS_FILTEROFF`
    `static int` | `DNS_FILTERON`
    `static int` | `DNS_REGISTER`
    `static int` | `DNS_UNREGISTER`
    `static int` | `EC_DISABLE`
    `static int` | `EC_ENABLEALL`
    `static int` | `EC_ENABLEONE`
    `static int` | `EC_QUERYWAITING`
    `static int` | `HDATA_APPOWNED`
    `static Ddeml` | `INSTANCE`
    `static int` | `MF_CALLBACKS` Notifies the callback function whenever a transaction is sent to any DDE callback function in the system.
    `static int` | `MF_CONV` Notifies the callback function whenever a conversation is established or terminated.
    `static int` | `MF_ERRORS` Notifies the callback function whenever a DDE error occurs.
    `static 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.
    `static int` | `MF_LINKS` Notifies the callback function whenever an advise loop is started or ended.
    `static int` | `MF_MASK`
    `static int` | `MF_POSTMSGS` Notifies the callback function whenever the system or an application posts a DDE message.
    `static int` | `MF_SENDMSGS` Notifies the callback function whenever the system or an application sends a DDE message.
    `static int` | `MSGF_DDEMGR`
    `static int` | `QID_SYNC` Pseudo Transaction ID constant for the synchronous transaction
    `static int` | `ST_ADVISE`
    `static int` | `ST_BLOCKED`
    `static int` | `ST_BLOCKNEXT`
    `static int` | `ST_CLIENT`
    `static int` | `ST_CONNECTED`
    `static int` | `ST_INLIST`
    `static int` | `ST_ISLOCAL`
    `static int` | `ST_ISSELF`
    `static int` | `ST_TERMINATED`
    `static java.lang.String` | `SZDDE_ITEM_ITEMLIST`
    `static java.lang.String` | `SZDDESYS_ITEM_FORMATS`
    `static java.lang.String` | `SZDDESYS_ITEM_HELP`
    `static java.lang.String` | `SZDDESYS_ITEM_RTNMSG`
    `static java.lang.String` | `SZDDESYS_ITEM_STATUS`
    `static java.lang.String` | `SZDDESYS_ITEM_SYSITEMS`
    `static java.lang.String` | `SZDDESYS_ITEM_TOPICS`
    `static java.lang.String` | `SZDDESYS_TOPIC`
    `static int` | `TIMEOUT_ASYNC` Timeout constants for asynchronous requests
    `static int` | `XCLASS_BOOL`
    `static int` | `XCLASS_DATA`
    `static int` | `XCLASS_FLAGS`
    `static int` | `XCLASS_MASK`
    `static int` | `XCLASS_NOTIFICATION`
    `static int` | `XST_ADVACKRCVD`
    `static int` | `XST_ADVDATAACKRCVD`
    `static int` | `XST_ADVDATASENT`
    `static int` | `XST_ADVSENT`
    `static int` | `XST_CONNECTED`
    `static int` | `XST_DATARCVD`
    `static int` | `XST_EXECACKRCVD`
    `static int` | `XST_EXECSENT`
    `static int` | `XST_INCOMPLETE`
    `static int` | `XST_INIT1`
    `static int` | `XST_INIT2`
    `static int` | `XST_NULL`
    `static int` | `XST_POKEACKRCVD`
    `static int` | `XST_POKESENT`
    `static int` | `XST_REQSENT`
    `static int` | `XST_UNADVACKRCVD`
    `static int` | `XST_UNADVSENT`
    `static int` | `XTYP_ADVDATA` Informs the client that the value of the data item has changed.
    `static 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.
    `static int` | `XTYP_ADVSTART` A client uses the XTYP_ADVSTART transaction to establish an advise loop with a server.
    `static int` | `XTYP_ADVSTOP` A client uses the XTYP_ADVSTOP transaction to end an advise loop with a server.
    `static int` | `XTYP_CONNECT` A client uses the XTYP_CONNECT transaction to establish a conversation.
    `static 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.
    `static 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.
    `static int` | `XTYP_ERROR` A Dynamic Data Exchange (DDE) callback function, DdeCallback, receives the XTYP_ERROR transaction when a critical error occurs.
    `static int` | `XTYP_EXECUTE` A client uses the XTYP_EXECUTE transaction to send a command string to the server.
    `static int` | `XTYP_MASK`
    `static 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.
    `static int` | `XTYP_POKE` A client uses the XTYP_POKE transaction to send unsolicited data to the server.
    `static 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.
    `static int` | `XTYP_REQUEST` A client uses the XTYP_REQUEST transaction to request data from a server.
    `static int` | `XTYP_SHIFT`
    `static 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.
    `static 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.
    `static 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.
    `static int` | `XTYPF_ACKREQ`
    `static int` | `XTYPF_NOBLOCK`
    `static int` | `XTYPF_NODATA`

    - ### Fields inherited from interface com.sun.jna.win32.StdCallLibrary

      `FUNCTION_MAPPER, STDCALL_CONVENTION`

    - ### Fields inherited from interface com.sun.jna.Library

      `OPTION_ALLOW_OBJECTS, OPTION_CALLING_CONVENTION, OPTION_CLASSLOADER, OPTION_FUNCTION_MAPPER, OPTION_INVOCATION_MAPPER, OPTION_OPEN_FLAGS, OPTION_STRING_ENCODING, OPTION_STRUCTURE_ALIGNMENT, OPTION_TYPE_MAPPER`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `DdeAbandonTransaction(int idInst, Ddeml.HCONV hConv, int idTransaction)` Abandons the specified asynchronous transaction and releases all resources associated with the transaction.
    `Pointer` | `DdeAccessData(Ddeml.HDDEDATA hData, WinDef.DWORDByReference pcbDataSize)` Provides access to the data in the specified Dynamic Data Exchange (DDE) object.
    `Ddeml.HDDEDATA` | `DdeAddData(Ddeml.HDDEDATA hData, Pointer pSrc, int cb, int cbOff)` Adds data to the specified Dynamic Data Exchange (DDE) object.
    `Ddeml.HDDEDATA` | `DdeClientTransaction(Pointer pData, int cbData, Ddeml.HCONV hConv, Ddeml.HSZ hszItem, int wFmt, int wType, int dwTimeout, WinDef.DWORDByReference pdwResult)` Begins a data transaction between a client and a server.
    `Ddeml.HCONV` | `DdeConnect(int idInst, Ddeml.HSZ hszService, Ddeml.HSZ hszTopic, Ddeml.CONVCONTEXT pCC)` Establishes a conversation with a server application that supports the specified service name and topic name pair.
    `Ddeml.HCONVLIST` | `DdeConnectList(int idInst, Ddeml.HSZ hszService, Ddeml.HSZ hszTopic, Ddeml.HCONVLIST hConvList, Ddeml.CONVCONTEXT pCC)` Establishes a conversation with all server applications that support the specified service name and topic name pair.
    `Ddeml.HDDEDATA` | `DdeCreateDataHandle(int idInst, Pointer pSrc, int cb, int cbOff, Ddeml.HSZ hszItem, int wFmt, int afCmd)` Creates a Dynamic Data Exchange (DDE) object and fills the object with data from the specified buffer.
    `Ddeml.HSZ` | `DdeCreateStringHandle(int idInst, java.lang.String psz, int iCodePage)` Creates a handle that identifies the specified string.
    `boolean` | `DdeDisconnect(Ddeml.HCONV hConv)` Terminates a conversation started by either the DdeConnect or DdeConnectList function and invalidates the specified conversation handle.
    `boolean` | `DdeDisconnectList(Ddeml.HCONVLIST hConvList)` Destroys the specified conversation list and terminates all conversations associated with the list.
    `boolean` | `DdeEnableCallback(int idInst, Ddeml.HCONV hConv, int wCmd)` Enables or disables transactions for a specific conversation or for all conversations currently established by the calling application.
    `boolean` | `DdeFreeDataHandle(Ddeml.HDDEDATA hData)` Frees a Dynamic Data Exchange (DDE) object and deletes the data handle associated with the object.
    `boolean` | `DdeFreeStringHandle(int idInst, Ddeml.HSZ hsz)` Frees a string handle in the calling application.
    `int` | `DdeGetData(Ddeml.HDDEDATA hData, Pointer pDst, int cbMax, int cbOff)` Copies data from the specified Dynamic Data Exchange (DDE) object to the specified local buffer.
    `int` | `DdeGetLastError(int idInst)`
    `boolean` | `DdeImpersonateClient(Ddeml.HCONV hConv)` Impersonates a Dynamic Data Exchange (DDE) client application in a DDE client conversation.
    `int` | `DdeInitialize(WinDef.DWORDByReference pidInst, Ddeml.DdeCallback fnCallback, int afCmd, int ulRes)` Registers an application with the Dynamic Data Exchange Management Library (DDEML).
    `boolean` | `DdeKeepStringHandle(int idInst, Ddeml.HSZ hsz)` Increments the usage count associated with the specified handle.
    `Ddeml.HDDEDATA` | `DdeNameService(int idInst, Ddeml.HSZ hsz1, Ddeml.HSZ hsz2, int afCmd)` Registers or unregisters the service names a Dynamic Data Exchange (DDE) server supports.
    `boolean` | `DdePostAdvise(int idInst, Ddeml.HSZ hszTopic, Ddeml.HSZ 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.
    `int` | `DdeQueryConvInfo(Ddeml.HCONV hConv, int idTransaction, Ddeml.CONVINFO pConvInfo)` Retrieves information about a Dynamic Data Exchange (DDE) transaction and about the conversation in which the transaction takes place.
    `Ddeml.HCONV` | `DdeQueryNextServer(Ddeml.HCONVLIST hConvList, Ddeml.HCONV hConvPrev)` Retrieves the next conversation handle in the specified conversation list.
    `int` | `DdeQueryString(int idInst, Ddeml.HSZ hsz, Pointer psz, int cchMax, int iCodePage)` Copies text associated with a string handle into a buffer.
    `Ddeml.HCONV` | `DdeReconnect(Ddeml.HCONV 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.
    `boolean` | `DdeSetUserHandle(Ddeml.HCONV hConv, int id, BaseTSD.DWORD_PTR hUser)` Associates an application-defined value with a conversation handle or a transaction identifier.
    `boolean` | `DdeUnaccessData(Ddeml.HDDEDATA hData)` Unaccesses a Dynamic Data Exchange (DDE) object.
    `boolean` | `DdeUninitialize(int idInst)` Frees all Dynamic Data Exchange Management Library (DDEML) resources associated with the calling application.

- - ### Field Detail

    - #### INSTANCE

          static final Ddeml INSTANCE

    - #### XST_NULL

          static final int XST_NULL

      See Also:
        Constant Field Values

    - #### XST_INCOMPLETE

          static final int XST_INCOMPLETE

      See Also:
        Constant Field Values

    - #### XST_CONNECTED

          static final int XST_CONNECTED

      See Also:
        Constant Field Values

    - #### XST_INIT1

          static final int XST_INIT1

      See Also:
        Constant Field Values

    - #### XST_INIT2

          static final int XST_INIT2

      See Also:
        Constant Field Values

    - #### XST_REQSENT

          static final int XST_REQSENT

      See Also:
        Constant Field Values

    - #### XST_DATARCVD

          static final int XST_DATARCVD

      See Also:
        Constant Field Values

    - #### XST_POKESENT

          static final int XST_POKESENT

      See Also:
        Constant Field Values

    - #### XST_POKEACKRCVD

          static final int XST_POKEACKRCVD

      See Also:
        Constant Field Values

    - #### XST_EXECSENT

          static final int XST_EXECSENT

      See Also:
        Constant Field Values

    - #### XST_EXECACKRCVD

          static final int XST_EXECACKRCVD

      See Also:
        Constant Field Values

    - #### XST_ADVSENT

          static final int XST_ADVSENT

      See Also:
        Constant Field Values

    - #### XST_UNADVSENT

          static final int XST_UNADVSENT

      See Also:
        Constant Field Values

    - #### XST_ADVACKRCVD

          static final int XST_ADVACKRCVD

      See Also:
        Constant Field Values

    - #### XST_UNADVACKRCVD

          static final int XST_UNADVACKRCVD

      See Also:
        Constant Field Values

    - #### XST_ADVDATASENT

          static final int XST_ADVDATASENT

      See Also:
        Constant Field Values

    - #### XST_ADVDATAACKRCVD

          static final int XST_ADVDATAACKRCVD

      See Also:
        Constant Field Values

    - #### CADV_LATEACK

          static final int CADV_LATEACK

      See Also:
        Constant Field Values

    - #### ST_CONNECTED

          static final int ST_CONNECTED

      See Also:
        Constant Field Values

    - #### ST_ADVISE

          static final int ST_ADVISE

      See Also:
        Constant Field Values

    - #### ST_ISLOCAL

          static final int ST_ISLOCAL

      See Also:
        Constant Field Values

    - #### ST_BLOCKED

          static final int ST_BLOCKED

      See Also:
        Constant Field Values

    - #### ST_CLIENT

          static final int ST_CLIENT

      See Also:
        Constant Field Values

    - #### ST_TERMINATED

          static final int ST_TERMINATED

      See Also:
        Constant Field Values

    - #### ST_INLIST

          static final int ST_INLIST

      See Also:
        Constant Field Values

    - #### ST_BLOCKNEXT

          static final int ST_BLOCKNEXT

      See Also:
        Constant Field Values

    - #### ST_ISSELF

          static final int ST_ISSELF

      See Also:
        Constant Field Values

    - #### DDE_FACK

          static final int DDE_FACK

      See Also:
        Constant Field Values

    - #### DDE_FBUSY

          static final int DDE_FBUSY

      See Also:
        Constant Field Values

    - #### DDE_FDEFERUPD

          static final int DDE_FDEFERUPD

      See Also:
        Constant Field Values

    - #### DDE_FACKREQ

          static final int DDE_FACKREQ

      See Also:
        Constant Field Values

    - #### DDE_FRELEASE

          static final int DDE_FRELEASE

      See Also:
        Constant Field Values

    - #### DDE_FREQUESTED

          static final int DDE_FREQUESTED

      See Also:
        Constant Field Values

    - #### DDE_FAPPSTATUS

          static final int DDE_FAPPSTATUS

      See Also:
        Constant Field Values

    - #### DDE_FNOTPROCESSED

          static final int DDE_FNOTPROCESSED

      See Also:
        Constant Field Values

    - #### DDE_FACKRESERVED

          static final int DDE_FACKRESERVED

      See Also:
        Constant Field Values

    - #### DDE_FADVRESERVED

          static final int DDE_FADVRESERVED

      See Also:
        Constant Field Values

    - #### DDE_FDATRESERVED

          static final int DDE_FDATRESERVED

      See Also:
        Constant Field Values

    - #### DDE_FPOKRESERVED

          static final int DDE_FPOKRESERVED

      See Also:
        Constant Field Values

    - #### MSGF_DDEMGR

          static final int MSGF_DDEMGR

      See Also:
        Constant Field Values

    - #### CP_WINANSI

          static final int CP_WINANSI

      default codepage for windows & old DDE convs.
      See Also:
        Constant Field Values

    - #### CP_WINUNICODE

          static final int CP_WINUNICODE

      default codepage for usage from java
      See Also:
        Constant Field Values

    - #### CP_WINNEUTRAL

          static final int CP_WINNEUTRAL

      See Also:
        Constant Field Values

    - #### XTYPF_NOBLOCK

          static final int XTYPF_NOBLOCK

      See Also:
        Constant Field Values

    - #### XTYPF_NODATA

          static final int XTYPF_NODATA

      See Also:
        Constant Field Values

    - #### XTYPF_ACKREQ

          static final int XTYPF_ACKREQ

      See Also:
        Constant Field Values

    - #### XCLASS_MASK

          static final int XCLASS_MASK

      See Also:
        Constant Field Values

    - #### XCLASS_BOOL

          static final int XCLASS_BOOL

      See Also:
        Constant Field Values

    - #### XCLASS_DATA

          static final int XCLASS_DATA

      See Also:
        Constant Field Values

    - #### XCLASS_FLAGS

          static final int XCLASS_FLAGS

      See Also:
        Constant Field Values

    - #### XCLASS_NOTIFICATION

          static final int XCLASS_NOTIFICATION

      See Also:
        Constant Field Values

    - #### XTYP_ERROR

          static final int XTYP_ERROR

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

      Used Parameters

      uType
        The transaction type.
      hconv
        A handle to the conversation associated with the error. This parameter is NULL if the error is not associated with a conversation.
      dwData1
        The error code in the low-order word. Currently, only the following error code is supported.

        Value | Meaning
        --- | ---
        DMLERR_LOW_MEMORY | Memory is low; advise, poke, or execute data may be lost, or the system may fail.

      Remarks

      An application cannot block this transaction type; the CBR_BLOCK return code is ignored. The Dynamic Data Exchange Management Library (DDEML) attempts to free memory by removing noncritical resources. An application that has blocked conversations should unblock them.

      See Also:
        Constant Field Values

    - #### XTYP_ADVDATA

          static final int XTYP_ADVDATA

      Informs the client that the value of the data item has changed. The Dynamic Data Exchange (DDE) client callback function, DdeCallback, receives this transaction after establishing an advise loop with a server.

      Used Parameters

      uType
        The transaction type.
      uFmt
        The format atom of the data sent from the server.
      hconv
        A handle to the conversation.
      hsz1
        A handle to the topic name.
      hsz2
        A handle to the item name.
      hdata
        A handle to the data associated with the topic name and item name pair. This parameter is NULL if the client specified the XTYPF_NODATA flag when it requested the advise loop.

      Return value

      A DDE 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

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

      See Also:
        Constant Field Values

    - #### XTYP_ADVREQ

          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. The system sends this transaction to the Dynamic Data Exchange (DDE) callback function, DdeCallback, after the server calls the DdePostAdvise function.

      Used Parameters

      uType
        The transaction type.
      uFmt
        The format in which the data should be submitted to the client.
      hconv
        A handle to the conversation.
      hsz1
        A handle to the topic name.
      hsz2
        A handle to the item name that has changed.
      dwData1
        The count, in the low-order word, of XTYP_ADVREQ transactions that remain to be processed on the same topic, item, and format name set within the context of the current call to the DdePostAdvise function. The count is zero if the current XTYP_ADVREQ transaction is the last one. A server can use this count to determine whether to create an HDATA_APPOWNED data handle to the advise data.
        The low-order word is set to CADV_LATEACK if the DDEML issued the XTYP_ADVREQ transaction because of a late-arriving DDE_ACK message from a client being outrun by the server.
        The high-order word is not used.

      Return value

      The server should first call the DdeCreateDataHandle function to create a data handle that identifies the changed data and then return the handle. The server should return NULL if it is unable to complete the transaction.

      Remarks

      A server cannot block this transaction type; the CBR_BLOCK return code is ignored.

      See Also:
        Constant Field Values

    - #### XTYP_ADVSTART

          static final int XTYP_ADVSTART

      A client uses the XTYP_ADVSTART transaction to establish an advise loop with a server. A Dynamic Data Exchange (DDE) server callback function, DdeCallback, receives this transaction when a client specifies XTYP_ADVSTART as the wType parameter of the DdeClientTransaction function.

      Used Parameters

      uType
        The transaction type.
      uFmt
        The data format requested by the client.
      hconv
        A handle to the conversation.
      hsz1
        A handle to the topic name.
      hsz2
        A handle to the item name.

      Return value

      A server callback function should return TRUE to allow an advise loop on the specified topic name and item name pair, or FALSE to deny the advise loop. If the callback function returns TRUE, any subsequent calls to the DdePostAdvise function by the server on the same topic name and item name pair causes the system to send XTYP_ADVREQ transactions to the server.

      Remarks

      If a client requests an advise loop on a topic name, item name, and data format for an advise loop that is already established, the Dynamic Data Exchange Management Library (DDEML) does not create a duplicate advise loop but instead alters the advise loop flags (XTYPF_ACKREQ and XTYPF_NODATA) to match the latest request.

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

      See Also:
        Constant Field Values

    - #### XTYP_ADVSTOP

          static final int XTYP_ADVSTOP

      A client uses the XTYP_ADVSTOP transaction to end an advise loop with a server. A Dynamic Data Exchange (DDE) server callback function, DdeCallback, receives this transaction when a client specifies XTYP_ADVSTOP in the DdeClientTransaction function.

      Used Parameters

      uType
        The transaction type.
      uFmt
        The data format requested by the client.
      hconv
        A handle to the conversation.
      hsz1
        A handle to the topic name.
      hsz2
        A handle to the item name.

      Remarks

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

      See Also:
        Constant Field Values

    - #### XTYP_EXECUTE

          static final int XTYP_EXECUTE

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

      Used Parameters

      uType
        The transaction type.
      hconv
        A handle to the conversation.
      hsz1
        A handle to the topic name.
      hdata
        A handle to the command string.

      Return value

      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.

      See Also:
        Constant Field Values

    - #### XTYP_CONNECT

          static final int XTYP_CONNECT

      A client uses the XTYP_CONNECT transaction to establish a conversation. A Dynamic Data Exchange (DDE) server callback function, DdeCallback, receives this transaction when a client specifies a service name that the server supports (and a topic name that is not NULL) in a call to the DdeConnect function.

      Used Parameters

      uType
        The transaction type.
      hsz1
        A handle to the topic name.
      hsz2
        A handle to the service name.
      dwData1
        A pointer to a CONVCONTEXT structure that contains context information for the conversation. If the client is not a DDEML application, this parameter is 0.
      dwData2
        Specifies whether the client is the same application instance as the server. If the parameter is 1, the client is the same instance. If the parameter is 0, the client is a different instance.

      Return value

      A server callback function should return TRUE to allow the client to establish a conversation on the specified service name and topic name pair, or the function should return FALSE to deny the conversation. If the callback function returns TRUE and a conversation is successfully established, the system passes the conversation handle to the server by issuing an XTYP_CONNECT_CONFIRM transaction to the server's callback function (unless the server specified the CBF_SKIP_CONNECT_CONFIRMS flag in the DdeInitialize function).

      Remarks

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

      A server cannot block this transaction type; the CBR_BLOCK return code is ignored.

      See Also:
        Constant Field Values

    - #### XTYP_CONNECT_CONFIRM

          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. The system sends this transaction as a result of a previous XTYP_CONNECT or XTYP_WILDCONNECT transaction.

      Used Parameters

      uType
        The transaction type.
      hconv
        A handle to the new conversation.
      hsz1
        A handle to the topic name on which the conversation has been established.
      hsz2
        A handle to the service name on which the conversation has been established.
      dwData2
        Specifies whether the client is the same application instance as the server. If the parameter is 1, the client is the same instance. If the parameter is 0, the client is a different instance.

      Remarks

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

      A server cannot block this transaction type; the CBR_BLOCK return code is ignored.

      See Also:
        Constant Field Values

    - #### XTYP_XACT_COMPLETE

          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.

      Used Parameters

      uType
        The transaction type.
      uFmt
        The format of the data associated with the completed transaction (if applicable) or NULL if no data was exchanged during the transaction.
      hConv
        A handle to the conversation.
      hsz1
        A handle to the topic name involved in the completed transaction.
      hsz2
        A handle to the item name involved in the completed transaction.
      hdata
        A handle to the data involved in the completed transaction, if applicable. If the transaction was successful but involved no data, this parameter is TRUE. This parameter is NULL if the transaction was unsuccessful.
      dwData1
        The transaction identifier of the completed transaction.
      dwData2
        Any applicable DDE_ status flags in the low word. This parameter provides support for applications dependent on DDE_APPSTATUS bits. It is recommended that applications no longer use these bits — they may not be supported in future versions of the DDEML.

      Remarks

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

      See Also:
        Constant Field Values

    - #### XTYP_POKE

          static final int XTYP_POKE

      A client uses the XTYP_POKE transaction to send unsolicited data to the server. A Dynamic Data Exchange (DDE) server callback function, DdeCallback, receives this transaction when a client specifies XTYP_POKE in the DdeClientTransaction function.

      Used Parameters

      uType
        The transaction type.
      uFmt
        The format of the data sent from the server.
      hConv
        A handle to the conversation.
      hsz1
        A handle to the topic name.
      hsz2
        A handle to the service name.
      hdata
        A handle to the data that the client is sending to the server.

      Return value

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

      Remarks

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

      See Also:
        Constant Field Values

    - #### XTYP_REGISTER

          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.

      Used Parameters

      uType
        The transaction type.
      hsz1
        A handle to the base service name being registered.
      hsz2
        A handle to the instance-specific service name being registered.
      Remarks

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

      A application cannot block this transaction type; the CBR_BLOCK return code is ignored.

      An application should use the hsz1 parameter to add the service name to the list of servers available to the user. An application should use the hsz2 parameter to identify which application instance has started.

      See Also:
        Constant Field Values

    - #### XTYP_REQUEST

          static final int XTYP_REQUEST

      A client uses the XTYP_REQUEST transaction to request data from a server. A Dynamic Data Exchange (DDE) server callback function, DdeCallback, receives this transaction when a client specifies XTYP_REQUEST in the DdeClientTransaction function.

      Used Parameters

      uType
        The transaction type.
      uFmt
        The format in which the server should submit data to the client.
      hConv
        A handle to the conversation.
      hsz1
        A handle to the topic name.
      hsz2
        A handle to the service name.

      Return value

      The server should call the DdeCreateDataHandle function to create a data handle that identifies the data and then return the handle. The server should return NULL if it is unable to complete the transaction. If the server returns NULL, the client will receive a DDE_FNOTPROCESSED flag.

      Remarks

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

      If responding to this transaction requires lengthy processing, the server can return the CBR_BLOCK return code to suspend future transactions on the current conversation and then process the transaction asynchronously. When the server has finished and the data is ready to pass to the client, the server can call the DdeEnableCallback function to resume the conversation.

      See Also:
        Constant Field Values

    - #### XTYP_DISCONNECT

          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.

      Used Parameters

      uType
        The transaction type.
      hconv
        A handle to that the conversation was terminated.
      dwData2
        Specifies whether the client is the same application instance as the server. If the parameter is 1, the client is the same instance. If the parameter is 0, the client is a different instance.

      Remarks

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

      The application can obtain the status of the terminated conversation by calling the DdeQueryConvInfo function while processing this transaction. The conversation handle becomes invalid after the callback function returns.

      An application cannot block this transaction type; the CBR_BLOCK return code is ignored.

      See Also:
        Constant Field Values

    - #### XTYP_UNREGISTER

          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.

      Used Parameters

      uType
        The transaction type.
      hsz1
        A handle to the base service name being unregistered.
      hsz2
        A handle to the instance-specific service name being unregistered.

      Remarks

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

      A application cannot block this transaction type; the CBR_BLOCK return code is ignored.

      An application should use the hsz1 parameter to remove the service name from the list of servers available to the user. An application should use the hsz2 parameter to identify which application instance has terminated.

      See Also:
        Constant Field Values

    - #### XTYP_WILDCONNECT

          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. A Dynamic Data Exchange (DDE) server callback function, DdeCallback, receives this transaction when a client specifies a NULL service name, a NULL topic name, or both in a call to the DdeConnect or DdeConnectList function.

      Used Parameters

      uType
        The transaction type.
      hsz1
        A handle to the topic name. If this parameter is NULL, the client is requesting a conversation on all topic names that the server supports.
      hsz2
        A handle to the service name. If this parameter is NULL, the client is requesting a conversation on all service names that the server supports.
      dwData1
        A pointer to a CONVCONTEXT structure that contains context information for the conversation. If the client is not a DDEML application, this parameter is set to 0.
      dwData2
        Specifies whether the client is the same application instance as the server. If the parameter is 1, the client is same instance. If the parameter is 0, the client is a different instance.

      Return value

      The server should return a data handle that identifies an array of HSZPAIR structures. The array should contain one structure for each service-name and topic-name pair that matches the service-name and topic-name pair requested by the client. The array must be terminated by a NULL string handle. The system sends the XTYP_CONNECT_CONFIRM transaction to the server to confirm each conversation and to pass the conversation handles to the server. The server will not receive these confirmations if it specified the CBF_SKIP_CONNECT_CONFIRMS flag in the DdeInitialize function.

      The server should return NULL to refuse the XTYP_WILDCONNECT transaction.

      Remarks

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

      A server cannot block this transaction type; the CBR_BLOCK return code is ignored.

      See Also:
        Constant Field Values

    - #### XTYP_MONITOR

          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. To receive this transaction, an application must specify the APPCLASS_MONITOR value when it calls the DdeInitialize function.

      Used Parameters

      uType
        The transaction type.
      hdata
        A handle to a DDE object that contains information about the DDE event. The application should use the DdeAccessData function to obtain a pointer to the object.
      dwData2
        The DDE event. This parameter can be one of the following values.

        Value | Meaning
        --- | ---
        MF_CALLBACKS | The system sent a transaction to a DDE callback function. The DDE object contains a MONCBSTRUCT structure that provides information about the transaction.
        MF_CONV | A DDE conversation was established or terminated. The DDE object contains a MONCONVSTRUCT structure that provides information about the conversation.
        MF_ERRORS | A DDE error occurred. The DDE object contains a MONERRSTRUCT structure that provides information about the error.
        MF_HSZ_INFO | A DDE application created, freed, or incremented the usage count of a string handle, or a string handle was freed as a result of a call to the DdeUninitialize function. The DDE object contains a MONHSZSTRUCT structure that provides information about the string handle.
        MF_LINKS | A DDE application started or stopped an advise loop. The DDE object contains a MONLINKSTRUCT structure that provides information about the advise loop.
        MF_POSTMSGS | The system or an application posted a DDE message. The DDE object contains a MONMSGSTRUCT structure that provides information about the message.
        MF_SENDMSGS | The system or an application sent a DDE message. The DDE object contains a MONMSGSTRUCT structure that provides information about the message.

      Return value

      If the callback function processes this transaction, it should return 0.

      See Also:
        Constant Field Values

    - #### XTYP_MASK

          static final int XTYP_MASK

      See Also:
        Constant Field Values

    - #### XTYP_SHIFT

          static final int XTYP_SHIFT

      See Also:
        Constant Field Values

    - #### TIMEOUT_ASYNC

          static final int TIMEOUT_ASYNC

      Timeout constants for asynchronous requests
      See Also:
        Constant Field Values

    - #### QID_SYNC

          static final int QID_SYNC

      Pseudo Transaction ID constant for the synchronous transaction
      See Also:
        Constant Field Values

    - #### SZDDESYS_TOPIC

          static final java.lang.String SZDDESYS_TOPIC

      See Also:
        Constant Field Values

    - #### SZDDESYS_ITEM_TOPICS

          static final java.lang.String SZDDESYS_ITEM_TOPICS

      See Also:
        Constant Field Values

    - #### SZDDESYS_ITEM_SYSITEMS

          static final java.lang.String SZDDESYS_ITEM_SYSITEMS

      See Also:
        Constant Field Values

    - #### SZDDESYS_ITEM_RTNMSG

          static final java.lang.String SZDDESYS_ITEM_RTNMSG

      See Also:
        Constant Field Values

    - #### SZDDESYS_ITEM_STATUS

          static final java.lang.String SZDDESYS_ITEM_STATUS

      See Also:
        Constant Field Values

    - #### SZDDESYS_ITEM_FORMATS

          static final java.lang.String SZDDESYS_ITEM_FORMATS

      See Also:
        Constant Field Values

    - #### SZDDESYS_ITEM_HELP

          static final java.lang.String SZDDESYS_ITEM_HELP

      See Also:
        Constant Field Values

    - #### SZDDE_ITEM_ITEMLIST

          static final java.lang.String SZDDE_ITEM_ITEMLIST

      See Also:
        Constant Field Values

    - #### DMLERR_NO_ERROR

          static final int DMLERR_NO_ERROR

      See Also:
        Constant Field Values

    - #### DMLERR_FIRST

          static final int DMLERR_FIRST

      See Also:
        Constant Field Values

    - #### DMLERR_ADVACKTIMEOUT

          static final int DMLERR_ADVACKTIMEOUT

      A request for a synchronous advise transaction has timed out.
      See Also:
        Constant Field Values

    - #### DMLERR_BUSY

          static final int DMLERR_BUSY

      The response to the transaction caused the DDE_FBUSY flag to be set.
      See Also:
        Constant Field Values

    - #### DMLERR_DATAACKTIMEOUT

          static final int DMLERR_DATAACKTIMEOUT

      A request for a synchronous data transaction has timed out.
      See Also:
        Constant Field Values

    - #### DMLERR_DLL_NOT_INITIALIZED

          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.
      See Also:
        Constant Field Values

    - #### DMLERR_DLL_USAGE

          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.
      See Also:
        Constant Field Values

    - #### DMLERR_EXECACKTIMEOUT

          static final int DMLERR_EXECACKTIMEOUT

      A request for a synchronous execute transaction has timed out.
      See Also:
        Constant Field Values

    - #### DMLERR_INVALIDPARAMETER

          static final int DMLERR_INVALIDPARAMETER

      A parameter failed to be validated by the DDEML. Some of the possible causes follow:
      - The application used a data handle initialized with a different item name handle than was required by the transaction.
      - The application used a data handle that was initialized with a different clipboard data format than was required by the transaction.
      - The application used a client-side conversation handle with a server-side function or vice versa.
      - The application used a freed data handle or string handle.
      - More than one instance of the application used the same object.
      See Also:
        Constant Field Values

    - #### DMLERR_LOW_MEMORY

          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.
      See Also:
        Constant Field Values

    - #### DMLERR_MEMORY_ERROR

          static final int DMLERR_MEMORY_ERROR

      A memory allocation has failed.
      See Also:
        Constant Field Values

    - #### DMLERR_NOTPROCESSED

          static final int DMLERR_NOTPROCESSED

      A transaction has failed.
      See Also:
        Constant Field Values

    - #### DMLERR_NO_CONV_ESTABLISHED

          static final int DMLERR_NO_CONV_ESTABLISHED

      A client's attempt to establish a conversation has failed.
      See Also:
        Constant Field Values

    - #### DMLERR_POKEACKTIMEOUT

          static final int DMLERR_POKEACKTIMEOUT

      A request for a synchronous poke transaction has timed out.
      See Also:
        Constant Field Values

    - #### DMLERR_POSTMSG_FAILED

          static final int DMLERR_POSTMSG_FAILED

      An internal call to the PostMessage function has failed.
      See Also:
        Constant Field Values

    - #### DMLERR_REENTRANCY

          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.
      See Also:
        Constant Field Values

    - #### DMLERR_SERVER_DIED

          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.
      See Also:
        Constant Field Values

    - #### DMLERR_SYS_ERROR

          static final int DMLERR_SYS_ERROR

      An internal error has occurred in the DDEML.
      See Also:
        Constant Field Values

    - #### DMLERR_UNADVACKTIMEOUT

          static final int DMLERR_UNADVACKTIMEOUT

      A request to end an advise transaction has timed out.
      See Also:
        Constant Field Values

    - #### DMLERR_UNFOUND_QUEUE_ID

          static final int DMLERR_UNFOUND_QUEUE_ID

      An invalid transaction identifier was passed to a DDEML function. Once the application has returned from an XTYP_XACT_COMPLETE callback, the transaction identifier for that callback function is no longer valid.
      See Also:
        Constant Field Values

    - #### DMLERR_LAST

          static final int DMLERR_LAST

      See Also:
        Constant Field Values

    - #### HDATA_APPOWNED

          static final int HDATA_APPOWNED

      See Also:
        Constant Field Values

    - #### CBF_FAIL_SELFCONNECTIONS

          static final int CBF_FAIL_SELFCONNECTIONS

      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.
      See Also:
        Constant Field Values

    - #### CBF_FAIL_CONNECTIONS

          static final int CBF_FAIL_CONNECTIONS

      Prevents the callback function from receiving XTYP_CONNECT and XTYP_WILDCONNECT transactions.
      See Also:
        Constant Field Values

    - #### CBF_FAIL_ADVISES

          static final int CBF_FAIL_ADVISES

      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.
      See Also:
        Constant Field Values

    - #### CBF_FAIL_EXECUTES

          static final int CBF_FAIL_EXECUTES

      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.
      See Also:
        Constant Field Values

    - #### CBF_FAIL_POKES

          static final int CBF_FAIL_POKES

      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.
      See Also:
        Constant Field Values

    - #### CBF_FAIL_REQUESTS

          static final int CBF_FAIL_REQUESTS

      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.
      See Also:
        Constant Field Values

    - #### CBF_FAIL_ALLSVRXACTIONS

          static final int CBF_FAIL_ALLSVRXACTIONS

      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.
      See Also:
        Constant Field Values

    - #### CBF_SKIP_CONNECT_CONFIRMS

          static final int CBF_SKIP_CONNECT_CONFIRMS

      Prevents the callback function from receiving XTYP_CONNECT_CONFIRM notifications.
      See Also:
        Constant Field Values

    - #### CBF_SKIP_REGISTRATIONS

          static final int CBF_SKIP_REGISTRATIONS

      Prevents the callback function from receiving XTYP_REGISTER notifications.
      See Also:
        Constant Field Values

    - #### CBF_SKIP_UNREGISTRATIONS

          static final int CBF_SKIP_UNREGISTRATIONS

      Prevents the callback function from receiving XTYP_UNREGISTER notifications.
      See Also:
        Constant Field Values

    - #### CBF_SKIP_DISCONNECTS

          static final int CBF_SKIP_DISCONNECTS

      Prevents the callback function from receiving XTYP_DISCONNECT notifications.
      See Also:
        Constant Field Values

    - #### CBF_SKIP_ALLNOTIFICATIONS

          static final int CBF_SKIP_ALLNOTIFICATIONS

      Prevents the callback function from receiving any notifications. This flag is equivalent to combining all CBF_SKIP_ flags.
      See Also:
        Constant Field Values

    - #### APPCMD_CLIENTONLY

          static final int APPCMD_CLIENTONLY

      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
      See Also:
        Constant Field Values

    - #### APPCMD_FILTERINITS

          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. 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.
      See Also:
        Constant Field Values

    - #### APPCMD_MASK

          static final int APPCMD_MASK

      See Also:
        Constant Field Values

    - #### APPCLASS_STANDARD

          static final int APPCLASS_STANDARD

      Registers the application as a standard (nonmonitoring) DDEML application.
      See Also:
        Constant Field Values

    - #### APPCLASS_MONITOR

          static final int APPCLASS_MONITOR

      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.
      See Also:
        Constant Field Values

    - #### APPCLASS_MASK

          static final int APPCLASS_MASK

      See Also:
        Constant Field Values

    - #### MF_HSZ_INFO

          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.
      See Also:
        Constant Field Values

    - #### MF_SENDMSGS

          static final int MF_SENDMSGS

      Notifies the callback function whenever the system or an application sends a DDE message.
      See Also:
        Constant Field Values

    - #### MF_POSTMSGS

          static final int MF_POSTMSGS

      Notifies the callback function whenever the system or an application posts a DDE message.
      See Also:
        Constant Field Values

    - #### MF_CALLBACKS

          static final int MF_CALLBACKS

      Notifies the callback function whenever a transaction is sent to any DDE callback function in the system.
      See Also:
        Constant Field Values

    - #### MF_ERRORS

          static final int MF_ERRORS

      Notifies the callback function whenever a DDE error occurs.
      See Also:
        Constant Field Values

    - #### MF_LINKS

          static final int MF_LINKS

      Notifies the callback function whenever an advise loop is started or ended.
      See Also:
        Constant Field Values

    - #### MF_CONV

          static final int MF_CONV

      Notifies the callback function whenever a conversation is established or terminated.
      See Also:
        Constant Field Values

    - #### MF_MASK

          static final int MF_MASK

      See Also:
        Constant Field Values

    - #### EC_ENABLEALL

          static final int EC_ENABLEALL

      See Also:
        Constant Field Values

    - #### EC_ENABLEONE

          static final int EC_ENABLEONE

      See Also:
        Constant Field Values

    - #### EC_DISABLE

          static final int EC_DISABLE

      See Also:
        Constant Field Values

    - #### EC_QUERYWAITING

          static final int EC_QUERYWAITING

      See Also:
        Constant Field Values

    - #### DNS_REGISTER

          static final int DNS_REGISTER

      See Also:
        Constant Field Values

    - #### DNS_UNREGISTER

          static final int DNS_UNREGISTER

      See Also:
        Constant Field Values

    - #### DNS_FILTERON

          static final int DNS_FILTERON

      See Also:
        Constant Field Values

    - #### DNS_FILTEROFF

          static final int DNS_FILTEROFF

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### DdeInitialize

          int DdeInitialize(WinDef.DWORDByReference pidInst,
                            Ddeml.DdeCallback fnCallback,
                            int afCmd,
                            int ulRes)

      Registers an application with the Dynamic Data Exchange Management Library (DDEML). An application must call this function before calling any other Dynamic Data Exchange Management Library (DDEML) function.
      Parameters:
        `pidInst` - 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.

        `fnCallback` - 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.
        `afCmd` - 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.

        Value | Meaning
        --- | ---
        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.

        `ulRes` - Reserved; must be set to zero.
      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:

        - DMLERR_DLL_USAGE
        - DMLERR_INVALIDPARAMETER
        - DMLERR_SYS_ERROR

    - #### DdeUninitialize

          boolean DdeUninitialize(int idInst)

      Frees all Dynamic Data Exchange Management Library (DDEML) resources associated with the calling application.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
      Returns:
        true if function succeeded

    - #### DdeConnectList

          Ddeml.HCONVLIST DdeConnectList(int idInst,
                                         Ddeml.HSZ hszService,
                                         Ddeml.HSZ hszTopic,
                                         Ddeml.HCONVLIST hConvList,
                                         Ddeml.CONVCONTEXT pCC)

      Establishes a conversation with all server applications that support the specified service name and topic name pair. An application can also use this function to obtain a list of conversation handles by passing the function an existing conversation handle. The Dynamic Data Exchange Management Library removes the handles of any terminated conversations from the conversation list. The resulting conversation list contains the handles of all currently established conversations that support the specified service name and topic name.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
        `hszService` - 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.
        `hszTopic` - 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).
        `hConvList` - A handle to the conversation list to be enumerated. This parameter should be 0L if a new conversation list is to be established.
        `pCC` - 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.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_CONV_ESTABLISHED
        - DMLERR_NO_ERROR
        - DMLERR_SYS_ERROR

    - #### DdeQueryNextServer

          Ddeml.HCONV DdeQueryNextServer(Ddeml.HCONVLIST hConvList,
                                         Ddeml.HCONV hConvPrev)

      Retrieves the next conversation handle in the specified conversation list.
      Parameters:
        `hConvList` - A handle to the conversation list. This handle must have been created by a previous call to the DdeConnectList function.
        `hConvPrev` - 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.
      Returns:
        If the list contains any more conversation handles, the return value is the next conversation handle in the list; otherwise, it is 0L.

    - #### DdeDisconnectList

          boolean DdeDisconnectList(Ddeml.HCONVLIST hConvList)

      Destroys the specified conversation list and terminates all conversations associated with the list.
      Parameters:
        `hConvList` - A handle to the conversation list. This handle must have been created by a previous call to the DdeConnectList function.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_ERROR

    - #### DdeConnect

          Ddeml.HCONV DdeConnect(int idInst,
                                 Ddeml.HSZ hszService,
                                 Ddeml.HSZ hszTopic,
                                 Ddeml.CONVCONTEXT pCC)

      Establishes a conversation with a server application that supports the specified service name and topic name pair. If more than one such server exists, the system selects only one.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
        `hszService` - 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.
        `hszTopic` - 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.
        `pCC` - 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.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_CONV_ESTABLISHED
        - DMLERR_NO_ERROR

    - #### DdeDisconnect

          boolean DdeDisconnect(Ddeml.HCONV hConv)

      Terminates a conversation started by either the DdeConnect or DdeConnectList function and invalidates the specified conversation handle.
      Parameters:
        `hConv` - A handle to the active conversation to be terminated.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_NO_CONV_ESTABLISHED
        - DMLERR_NO_ERROR

    - #### DdeReconnect

          Ddeml.HCONV DdeReconnect(Ddeml.HCONV 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. When the conversation is reestablished, the Dynamic Data Exchange Management Library (DDEML) attempts to reestablish any preexisting advise loops.
      Parameters:
        `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.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_CONV_ESTABLISHED
        - DMLERR_NO_ERROR

    - #### DdeQueryConvInfo

          int DdeQueryConvInfo(Ddeml.HCONV hConv,
                               int idTransaction,
                               Ddeml.CONVINFO pConvInfo)

      Retrieves information about a Dynamic Data Exchange (DDE) transaction and about the conversation in which the transaction takes place.
      Parameters:
        `hConv` - A handle to the conversation.
        `idTransaction` - 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.
        `pConvInfo` - 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.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_NO_CONV_ESTABLISHED
        - DMLERR_NO_ERROR
        - DMLERR_UNFOUND_QUEUE_ID

    - #### DdeSetUserHandle

          boolean DdeSetUserHandle(Ddeml.HCONV hConv,
                                   int id,
                                   BaseTSD.DWORD_PTR hUser)

      Associates an application-defined value with a conversation handle or a transaction identifier. This is useful for simplifying the processing of asynchronous transactions. An application can use the DdeQueryConvInfo function to retrieve this value.
      Parameters:
        `hConv` - A handle to the conversation.
        `id` - 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.
        `hUser` - The value to be associated with the conversation handle.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_ERROR
        - DMLERR_UNFOUND_QUEUE_ID

    - #### DdeAbandonTransaction

          boolean DdeAbandonTransaction(int idInst,
                                        Ddeml.HCONV hConv,
                                        int idTransaction)

      Abandons the specified asynchronous transaction and releases all resources associated with the transaction.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
        `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).
        `idTransaction` - The identifier of the transaction to be abandoned. If this parameter is 0L, all active transactions in the specified conversation are abandoned.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_ERROR
        - DMLERR_UNFOUND_QUEUE_ID

    - #### DdePostAdvise

          boolean DdePostAdvise(int idInst,
                                Ddeml.HSZ hszTopic,
                                Ddeml.HSZ 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. A server application should call this function whenever the data associated with the topic name or item name pair changes.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
        `hszTopic` - 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.
        `hszItem` - 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.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_DLL_USAGE
        - DMLERR_NO_ERROR

    - #### DdeEnableCallback

          boolean DdeEnableCallback(int idInst,
                                    Ddeml.HCONV hConv,
                                    int wCmd)

      Enables or disables transactions for a specific conversation or for all conversations currently established by the calling application.
      Parameters:
        `idInst` - The application-instance identifier obtained by a previous call to the DdeInitialize function.
        `hConv` - A handle to the conversation to enable or disable. If this parameter is NULL, the function affects all conversations.
        `wCmd` - The function code. This parameter can be one of the following values.

        Value | Meaning
        --- | ---
        EC_ENABLEALL | Enables all transactions for the specified conversation.
        EC_ENABLEONE | Enables one transaction for the specified conversation.
        EC_DISABLE | Disables all blockable transactions for the specified conversation. A server application can disable the following transactions: XTYP_ADVSTART XTYP_ADVSTOP XTYP_EXECUTE XTYP_POKE XTYP_REQUEST A client application can disable the following transactions: XTYP_ADVDATA XTYP_XACT_COMPLETE
        EC_QUERYWAITING | Determines whether any transactions are in the queue for the specified conversation.

      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_ERROR

    - #### DdeImpersonateClient

          boolean DdeImpersonateClient(Ddeml.HCONV hConv)

      Impersonates a Dynamic Data Exchange (DDE) client application in a DDE client conversation.
      Parameters:
        `hConv` - A handle to the DDE client conversation to be impersonated.
      Returns:
        true if the function succeeds

        To get extended error information call GetLastError.

    - #### DdeNameService

          Ddeml.HDDEDATA DdeNameService(int idInst,
                                        Ddeml.HSZ hsz1,
                                        Ddeml.HSZ hsz2,
                                        int afCmd)

      Registers or unregisters the service names a Dynamic Data Exchange (DDE) server supports. This function causes the system to send XTYP_REGISTER or XTYP_UNREGISTER transactions to other running Dynamic Data Exchange Management Library (DDEML) client applications.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
        `hsz1` - 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.
        `hsz2` - Reserved; should be set to 0L.
        `afCmd` - The service name options. This parameter can be one of the following values.

        Value | Meaning
        --- | ---
        DNS_REGISTER | Registers the error code service name.
        DNS_UNREGISTER | Unregisters the error code service name. If the hsz1 parameter is 0L, all service names registered by the server will be unregistered.
        DNS_FILTERON | Turns 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_FILTEROFF | Turns 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.

      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_DLL_USAGE
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_ERROR

    - #### DdeClientTransaction

          Ddeml.HDDEDATA DdeClientTransaction(Pointer pData,
                                              int cbData,
                                              Ddeml.HCONV hConv,
                                              Ddeml.HSZ hszItem,
                                              int wFmt,
                                              int wType,
                                              int dwTimeout,
                                              WinDef.DWORDByReference pdwResult)

      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.
      Parameters:
        `pData` - 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.

        `cbData` - 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.
        `hConv` - A handle to the conversation in which the transaction is to take place.
        `hszItem` - 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.
        `wFmt` - 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.

        `wType` - The transaction type. This parameter can be one of the following values.

        Value | 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: 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.

        `dwTimeout` - 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.
        `pdwResult` - 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.
      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:

        - DMLERR_ADVACKTIMEOUT
        - 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

    - #### DdeCreateDataHandle

          Ddeml.HDDEDATA DdeCreateDataHandle(int idInst,
                                             Pointer pSrc,
                                             int cb,
                                             int cbOff,
                                             Ddeml.HSZ hszItem,
                                             int wFmt,
                                             int afCmd)

      Creates a Dynamic Data Exchange (DDE) object and fills the object with data from the specified buffer. A DDE application uses this function during transactions that involve passing data to the partner application.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
        `pSrc` - The data to be copied to the DDE object. If this parameter is NULL, no data is copied to the object.
        `cb` - 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.
        `cbOff` - 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.
        `hszItem` - 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.
        `wFmt` - The standard clipboard format of the data.
        `afCmd` - 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.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_MEMORY_ERROR
        - DMLERR_NO_ERROR

    - #### DdeAddData

          Ddeml.HDDEDATA DdeAddData(Ddeml.HDDEDATA hData,
                                    Pointer pSrc,
                                    int cb,
                                    int cbOff)

      Adds data to the specified Dynamic Data Exchange (DDE) object. An application can add data starting at any offset from the beginning of the object. If new data overlaps data already in the object, the new data overwrites the old data in the bytes where the overlap occurs. The contents of locations in the object that have not been written to are undefined.
      Parameters:
        `hData` - A handle to the DDE object that receives additional data.
        `pSrc` - The data to be added to the DDE object.
        `cb` - The length, in bytes, of the data to be added to the DDE object, including the terminating NULL, if the data is a string.
        `cbOff` - An offset, in bytes, from the beginning of the DDE object. The additional data is copied to the object beginning at this offset.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_MEMORY_ERROR
        - DMLERR_NO_ERROR

    - #### DdeGetData

          int DdeGetData(Ddeml.HDDEDATA hData,
                         Pointer pDst,
                         int cbMax,
                         int cbOff)

      Copies data from the specified Dynamic Data Exchange (DDE) object to the specified local buffer.
      Parameters:
        `hData` - A handle to the DDE object that contains the data to copy.
        `pDst` - 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.
        `cbMax` - 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.
        `cbOff` - An offset within the DDE object. Data is copied from the object beginning at this offset.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_ERROR

    - #### DdeAccessData

          Pointer DdeAccessData(Ddeml.HDDEDATA hData,
                                WinDef.DWORDByReference pcbDataSize)

      Provides access to the data in the specified Dynamic Data Exchange (DDE) object. An application must call the DdeUnaccessData function when it has finished accessing the data in the object.
      Parameters:
        `hData` - A handle to the DDE object to be accessed.
        `pcbDataSize` - 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.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_ERROR

    - #### DdeUnaccessData

          boolean DdeUnaccessData(Ddeml.HDDEDATA hData)

      Unaccesses a Dynamic Data Exchange (DDE) object. An application must call this function after it has finished accessing the object.
      Parameters:
        `hData` - A handle to the DDE object.
      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:

        - DMLERR_DLL_NOT_INITIALIZED
        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_ERROR

    - #### DdeFreeDataHandle

          boolean DdeFreeDataHandle(Ddeml.HDDEDATA hData)

      Frees a Dynamic Data Exchange (DDE) object and deletes the data handle associated with the object.
      Parameters:
        `hData` - 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.
      Returns:
        true if freeing succeeded

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

        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_ERROR

    - #### DdeGetLastError

          int DdeGetLastError(int idInst)

      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
      Returns:
        See `Ddeml`.DMLERR_*

    - #### DdeCreateStringHandle

          Ddeml.HSZ DdeCreateStringHandle(int idInst,
                                          java.lang.String psz,
                                          int iCodePage)

      Creates a handle that identifies the specified string. A Dynamic Data Exchange (DDE) client or server application can pass the string handle as a parameter to other Dynamic Data Exchange Management Library (DDEML) functions.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
        `psz` - 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.
        `iCodePage` - 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.
      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:

        - DMLERR_INVALIDPARAMETER
        - DMLERR_NO_ERROR
        - DMLERR_SYS_ERROR

    - #### DdeQueryString

          int DdeQueryString(int idInst,
                             Ddeml.HSZ hsz,
                             Pointer psz,
                             int cchMax,
                             int iCodePage)

      Copies text associated with a string handle into a buffer.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
        `hsz` - A handle to the string to copy. This handle must have been created by a previous call to the DdeCreateStringHandle function.
        `psz` - A pointer to a buffer that receives the string. To obtain the length of the string, this parameter should be set to NULL.
        `cchMax` - 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.
        `iCodePage` - The code page used to render the string. This value should be either CP_WINANSI or CP_WINUNICODE.
      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

    - #### DdeFreeStringHandle

          boolean DdeFreeStringHandle(int idInst,
                                      Ddeml.HSZ hsz)

      Frees a string handle in the calling application.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
        `hsz` - A handle to the string handle to be freed. This handle must have been created by a previous call to the DdeCreateStringHandle function.
      Returns:
        true if the function succeeds.

    - #### DdeKeepStringHandle

          boolean DdeKeepStringHandle(int idInst,
                                      Ddeml.HSZ hsz)

      Increments the usage count associated with the specified handle. This function enables an application to save a string handle passed to the application's Dynamic Data Exchange (DDE) callback function. Otherwise, a string handle passed to the callback function is deleted when the callback function returns. This function should also be used to keep a copy of a string handle referenced by the CONVINFO structure returned by the DdeQueryConvInfo function.
      Parameters:
        `idInst` - The application instance identifier obtained by a previous call to the DdeInitialize function.
        `hsz` - A handle to the string handle to be saved.
      Returns:
        true if the function succeeded

Copyright © 2007-2016 Timothy Wall. All Rights Reserved.