ICatInformation::EnumClassesOfCategories

Returns an enumerator over the classes that implement one or more of rgcatidImpl. If a class requires a category not listed in rgcatidReq, it is not included in the enumeration.

HRESULT EnumClassesOfCategories(

ULONG cImplemented,

//Number of category IDs in the rgcatidImpl array

CATID rgcatidImpl,

//Array of category identifiers

ULONG cRequired,

//Number of category IDs in the rgcatidReq array

CATID rgcatidReq,

//Array of category identifiers

IEnumCLSID** ppenumCLSID

//Location in which to return an IEnumCLSID interface

);

Parameters

cImplemented
[in] The number of category IDs in the rgcatidImpl array. This value cannot be zero. If this value is ((ULONG) -1), classes are included in the enumeration, regardless of the categories they implement.
rgcatidImpl
[in] An array of category identifiers.
cRequired
[in] The number of category IDs in the rgcatidReq array. This value can be zero. If this value is ((ULONG) -1), classes are included in the enumeration, regardless of the categories they require.
rgcatidReq
[in] An array of category identifiers.
ppenumCLSID
[out] The location in which to return an IEnumCLSID interface that can be used to enumerate the CLSIDs of the classes that implement category rcatid.

Return Values

S_OK
The function was successful.
E_INVALIDARG
One or more arguments are incorrect.
E_OUTOFMEMORY
Insufficient memory to create and return an enumerator object.

See Also

ICatInformation::EnumCategories, ICatInformation::EnumImplCategoriesOfClass, ICatInformation::EnumReqCategoriesOfClass, ICatInformation::GetCategoryDesc, ICatInformation::IsClassOfCategories