protected virtual void FillClassInfo2(ref PClassInfo2 info, ClassRegistration reg)
 {
     info.Cardinality   = PClassInfo2.ClassCardinalityManyInstances;
     info.Category      = ObjectClassToCategory(reg.ObjectClass);
     info.ClassFlags    = reg.ClassFlags;
     info.ClassId       = reg.ClassTypeId;
     info.Name          = reg.DisplayName;
     info.SdkVersion    = FormatSdkVersionString(SdkVersion);
     info.SubCategories = reg.Categories.ToString();
     info.Vendor        = reg.Vendor;
     info.Version       = reg.Version.ToString();
 }
        public virtual int GetClassInfo2(int index, ref PClassInfo2 info)
        {
            if (!IsValidRegIndex(index))
            {
                return(TResult.E_InvalidArg);
            }

            var reg = _registrations[index];

            FillClassInfo2(ref info, reg);

            return(TResult.S_OK);
        }