Example: Using BatchExport

An application executes the BatchExport function to export Mail-Recipient objects. It requests the following attributes for each object: Object-Class, Common-Name, Display-Name, Proxy-Addresses, Members, and Home-Server. Because the Mail-Recipient objects happen to each have three proxy addresses on this server, the Proxy-Addresses attribute will hold multiple values. (Like Proxy-Addresses, the Members attribute is also multivalued, but in this case it has only one value.) Each of the other four requested attributes is single-valued. The structure of the data exported for a given Mail-Recipient object produces one callback and is shown in the following illustration.

Each export returns an array of ATT_VALUE structures

As this illustration shows, the requested attributes are returned in an array. If any of those attributes are multivalued, subsequent values are returned in further ATT_VALUE structures in a linked list. The linked list starts at the initial value of that attribute, which is a part of the ATT_VALUE array pointed to by rgEntryValues.