ICatInformationPtr pICatInformation( CLSID_StdComponentCategoriesMgr ); IEnumCLSID* pIEnumCLSID = NULL; GUID CATID_CameraCategory = { 0x1f3a6849, 0xee55, 0x4d4c, { 0xb4, 0x62, 0x9a, 0x4, 0x50, 0xd2, 0xee, 0x7a } }; HRESULT hr = pICatInformation->EnumClassesOfCategories( 1, &CATID_CameraCategory, 0, NULL, &pIEnumCLSID ); ASSERT( NULL != pIEnumCLSID ); CLSID clsid = GUID_NULL; while( ( S_OK == hr ) && ( S_OK == ( hr = pIEnumCLSID->Next(1, &clsid, NULL) ) ) ) { } pIEnumCLSID->Release();