Creates a simplified component iterator that retrieves component objects meeting the user-specified conditions. This iterator starts at start_object, the 'root' or 'top' of an 'aggregation tree'. All components below the start_object will be searched to a depth of 1. The iterator returns all components that match the DRM class specified by 'drm_class'.
If 'drm_class' is SE_NULL_TOKEN, then the iterator returns all components, regardless of SDRM class.
Inherited components will not be inherited, locations will not be
transformed, model instances will not be followed, static control
links will not be evaluated. Breadth-first traversal is used, and
the iterator will resolve ITR references (see
SE_RESOLVE_ITR_REFERENCES in SE_ITR_TRAVERSAL_ENUM for details).
SE_NULL_REQUIRED_PARAMETER - and no changes are made, if iterator_out_ptr was NULL.
SE_INVALID_OR_NULL_OBJECT - and *iterator_out_ptr is set to NULL, if start_object is not a handle to a valid, active (i.e., unfreed) SEDRIS object.
SE_UNRESOLVED_START_OBJECT - and *iterator_out_ptr is set to NULL, if start_object is currently unresolved.
SE_OUT_OF_MEMORY - and *iterator_out_ptr is set to NULL, if memory cannot be allocated.
SE_FAILURE - and *iterator_out_ptr is set to NULL, if drm_class is provided, but does not correspond to a valid SDRM class.
extern SE_STATUS_CODE_ENUM | |||
SE_SimpleCreateComponentIterator | |||
( | |||
SE_OBJECT | start_object, | (notes) | |
SE_TOKEN_ENUM | drm_class, | (notes) | |
SE_ITERATOR | * | iterator_out_ptr | (notes) |
); |
the object whose components will be traversed.
specifies the SDRM class of component being searched for; if SE_NULL_TOKEN, all SDRM classes are returned
a pointer to the freshly created component iterator that will iterate over the objects meeting the conditions described above.