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.

QuickInfo

  Windows NT: Use version 5.0 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in comcat.h.

See Also

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