An iterator is created with one of the following functions:
The NWDSItrCreateList function specifies many of the same parameters used in the NWDSList function. It is simple to use, but has limited functionality. It works best when enumerating objects in a container.
The NWDSItrCreateSearch function specifies many of the same parameters used in the NWDSSearch function. It is more complex to use than the NWDSItrCreateList function, but has much greater functionality. It has a search filter to indicate which objects to return. Other parameters specify how much information to return on the objects which pass the search filter
For information on search filter syntax, see Search Filter Components
(NDK: Novell eDirectory Core Services). For step-by step instructions on creating an iterator, see Section 2.1, Creating a Search Iterator Object.
An iterator can be cloned to produce a copy of itself, which may be positioned independently of the original. All iterators created with the NWDSItrCreateSearch, NWDSItrCreateList, or NWDSItrClone functions must be destroyed with the NWDSItrDestroy function. This function frees the resources associated with the iterator on both clients and servers.
Conceptually, an iterator creates a virtual list view (VLV) on the server containing all the entries that pass the search filter or list parameters. This list contains only objects on the particular server in question. An iterator can do a subtree search of objects in the replicas on the server, but the subtree search does not span servers.