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
SyntaxFunction 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:
ObjectA new IEnumVariant instance. IEnumVARIANT is a COM standard interface
for enumerating the McObjects collection.
RemarksThe 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