Retrieve enumeration information

WTSupported in traditional Synergy on Windows
WNSupported in Synergy .NET on Windows
USupported on UNIX
VSupported on OpenVMS
xcall DD_ENUM(dcs, DDE_INFO, name, e_info)


xcall DD_ENUM(dcs, DDE_TEXT, field, data)


xcall DD_ENUM(dcs, DDE_MBRS, names_req, array, array2, [start] [,#names])



The repository control structure.


Returns general enumeration information and sets the current enumeration.


The unique enumeration definition name. (a30)


Returned with the enumeration data (including number of members). See the e_info record definition in the ddinfo.def file.


Returns textual information about the current enumeration.


A field in the e_info record that indicates what type of textual information should be returned in data (if the field is non‑zero):

ei_desc = Short description. (a40)

ei_ldesc = Long description. (a1800)


Returned with the requested textual data.


Returns an enumeration’s member names and values.


The number of member names requested. (d3)


Returned with an array of member names. ((*)a30)


Returned with an array of corresponding member values. ((*)a11)


(optional) Contains the member name at which to start. (a30)


(optional) Returned with the number of member names. (d3)


The DD_ENUM subroutine returns information about enumerations. There are three ways to call DD_ENUM:


If you pass DDE_INFO, the DD_ENUM subroutine reads the specified enumeration. If that enumeration is not found, the relevant error code is returned in the control structure. If it is found, the enumeration name is recorded in the control structure and general information is returned in e_info.


Once an enumeration has been selected, the DDE_TEXT function is valid. DDE_TEXT is used to obtain textual information about the enumeration. For each type of textual information, a corresponding field in the e_info record is non‑zero. For example, if the ei_desc field in the e_info record is non‑zero, a short description exists for the enumeration. If you pass DDE_TEXT along with the non‑zero field, the corresponding textual information is returned.


Once an enumeration has been selected, the DDE_MBRS function is valid. DDE_MBRS returns two arrays: the first is an array of member names defined for this enumeration and the second is a list of corresponding values. The names are returned in the order defined in the enumeration, starting with either the first name or the name specified with start. DD_ENUM returns all the member names found or the number requested, whichever is smaller. The count of member names in the array can be returned in #names. You must ensure that the buffer passed is large enough to hold the number of names that you are requesting.