Skip navigation links
JNA API 4.4.0
com.sun.jna.platform.win32

Interface Ddeml

    • Field Detail

      • INSTANCE

        static final Ddeml INSTANCE
      • 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
      • 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.
        ValueMeaning
        DMLERR_LOW_MEMORYMemory 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.
        ValueMeaning
        MF_CALLBACKSThe system sent a transaction to a DDE callback function. The DDE object contains a MONCBSTRUCT structure that provides information about the transaction.
        MF_CONVA DDE conversation was established or terminated. The DDE object contains a MONCONVSTRUCT structure that provides information about the conversation.
        MF_ERRORSA DDE error occurred. The DDE object contains a MONERRSTRUCT structure that provides information about the error.
        MF_HSZ_INFOA 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_LINKSA DDE application started or stopped an advise loop. The DDE object contains a MONLINKSTRUCT structure that provides information about the advise loop.
        MF_POSTMSGSThe system or an application posted a DDE message. The DDE object contains a MONMSGSTRUCT structure that provides information about the message.
        MF_SENDMSGSThe 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
      • 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
      • 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
      • 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
      • 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
      • 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
    • 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.

        ValueMeaning
        APPCLASS_MONITOR
        0x00000001L

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

        APPCLASS_STANDARD
        0x00000000L

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

        APPCMD_CLIENTONLY
        0x00000010L

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

        APPCMD_FILTERINITS
        0x00000020L

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

        CBF_FAIL_ALLSVRXACTIONS
        0x0003f000

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

        CBF_FAIL_ADVISES
        0x00004000

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

        CBF_FAIL_CONNECTIONS
        0x00002000

        Prevents the callback function from receiving XTYP_CONNECT and XTYP_WILDCONNECT transactions.

        CBF_FAIL_EXECUTES
        0x00008000

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

        CBF_FAIL_POKES
        0x00010000

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

        CBF_FAIL_REQUESTS
        0x00020000

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

        CBF_FAIL_SELFCONNECTIONS
        0x00001000

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

        CBF_SKIP_ALLNOTIFICATIONS
        0x003c0000

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

        CBF_SKIP_CONNECT_CONFIRMS
        0x00040000

        Prevents the callback function from receiving XTYP_CONNECT_CONFIRM notifications.

        CBF_SKIP_DISCONNECTS
        0x00200000

        Prevents the callback function from receiving XTYP_DISCONNECT notifications.

        CBF_SKIP_REGISTRATIONS
        0x00080000

        Prevents the callback function from receiving XTYP_REGISTER notifications.

        CBF_SKIP_UNREGISTRATIONS
        0x00100000

        Prevents the callback function from receiving XTYP_UNREGISTER notifications.

        MF_CALLBACKS
        0x08000000

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

        MF_CONV
        0x40000000

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

        MF_ERRORS
        0x10000000

        Notifies the callback function whenever a DDE error occurs.

        MF_HSZ_INFO
        0x01000000

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

        MF_LINKS
        0x20000000

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

        MF_POSTMSGS
        0x04000000

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

        MF_SENDMSGS
        0x02000000

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

        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.
        ValueMeaning
        EC_ENABLEALLEnables all transactions for the specified conversation.
        EC_ENABLEONEEnables one transaction for the specified conversation.
        EC_DISABLEDisables all blockable transactions for the specified conversation.

        A server application can disable the following transactions:

        • XTYP_ADVSTART
        • XTYP_ADVSTOP
        • XTYP_EXECUTE
        • XTYP_POKE
        • XTYP_REQUEST

        A client application can disable the following transactions:

        • XTYP_ADVDATA
        • XTYP_XACT_COMPLETE
        EC_QUERYWAITINGDetermines 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.
        ValueMeaning
        DNS_REGISTERRegisters the error code service name.
        DNS_UNREGISTERUnregisters the error code service name. If the hsz1 parameter is 0L, all service names registered by the server will be unregistered.
        DNS_FILTERONTurns on service name initiation filtering. The filter prevents a server from receiving XTYP_CONNECT transactions for service names it has not registered. This is the default setting for this filter.

        If a server application does not register any service names, the application cannot receive XTYP_WILDCONNECT transactions.
        DNS_FILTEROFFTurns off service name initiation filtering. If this flag is specified, the server receives an XTYP_CONNECT transaction whenever another DDE application calls the DdeConnect function, regardless of the service name.
        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.
        ValueMeaning
        XTYP_ADVSTARTBegins an advise loop. Any number of distinct advise loops can exist within a conversation. An application can alter the advise loop type by combining the XTYP_ADVSTART transaction type with one or more of the following flags:
        XTYPF_NODATA.
        Instructs the server to notify the client of any data changes without actually sending the data. This flag gives the client the option of ignoring the notification or requesting the changed data from the server.
        XTYPF_ACKREQ.
        Instructs the server to wait until the client acknowledges that it received the previous data item before sending the next data item. This flag prevents a fast server from sending data faster than the client can process it.
        XTYP_ADVSTOPEnds an advise loop.
        XTYP_EXECUTEBegins an execute transaction.
        XTYP_POKEBegins a poke transaction.
        XTYP_REQUESTBegins a request transaction.
        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,
                                        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
JNA API 4.4.0

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