Click or drag to resize

IMcObjectsGetCategory_NewEnum Method

Implements a standard collection accessor function for an IEnumVARIANT interface, which allows "for each" enumeration of members of one category and some particular (or no) parent object.

Namespace:  MediaCy.IQL.ObjectManager
Assembly:  MediaCy.IQL.ObjectManager (in MediaCy.IQL.ObjectManager.dll) Version: 10.0.6912.0
Syntax
VB
Function GetCategory_NewEnum ( 
	varCategoryNameOrID As Object,
	<OptionalAttribute> varParentIMcObject As Object,
	Optional eControlFlags As mcobjEnumFiltersFlags = mcobjEnumFiltersFlags.mcobjEnumDefault
) As Object

Parameters

varCategoryNameOrID
Type: SystemObject
[in] Category name or ID (as returned from RegisterCategory).
varParentIMcObject (Optional)
Type: SystemObject
[in, optional] Parent object for the collection, or missing (VT_EMPTY or VT_ERROR) for global objects.
eControlFlags (Optional)
Type: MediaCy.IQL.ObjectManagermcobjEnumFiltersFlags
[in, defaultvalue(mcobjEnumDefault)]

Return Value

Type: Object
A new IEnumVariant instance. IEnumVARIANT is a COM standard interface for enumerating the McObjects collection.
Remarks
The CComEnum ATL template is used to implement the interface. We fill the enumeration list here before returning the interface, so any McObjects added during a "for each" loop will not be enumerated. Either a list of the VT_DISPATCH McObject pointers can be returned (the default) or a list of the Values of the enumerated objects can be returned, depending on the state of the mcobjEnumDataNotObject bit of the eControlFlags argument. By default only objects that were created by this instance of McObjects will be included in the enumeration. Set the mcobjEnumAllCreators flag in the eControlFlags argument or make a prior call to SetEnumFilters with this flag set to override this behavior. By default only normal, non-alias objects are enumerated. Set either the mcobjEnumAliasOrShadow or mcobjEnumAliasOnly flags in the eControlFlags argument or make a prior call to SetEnumFilters with one of these flags set to override this behavior. The contents of the enumeration list can be modified by a previous call to the SetEnumFilters method. After any call to this, GetCategory_NewEnum, method, any such filters are reset. If the SetEnumFilters method has been called, then the mcobjEnumDataNotObject, mcobjEnumAllCreators, mcobjEnumAliasOrShadow, or mcobjEnumAliasOnly flags could be set by either it's eControlFlags argument or with this method's eControlFlags argument; however the mcobjEnumAllParents always comes from the SetEnumFilters call (see Notes). If SetEnumFilters has been called before this call, then the SetEnumFilters varParentIMcObject argument and mcobjEnumAllParents eControlFlags bit determine the parent test; the corresponding arguments here are ignored. Thus, if SetEnumFilters is used you must supply the proper varParentIMcObject argument (and any mcobjEnumAllParents eControlFlags bit) there. You may use the mcobjEnumResetToNoFilter eControlFlags bit to ensure that no previous SetEnumFilters call will disturb an enumeration.
See Also