private static IEnumerable <ITypeInfo> GetReferencedEnums(ITypeLib typeLib, ITypeInfo typeInfo, FUNCDESC funcDesc, Dictionary <Guid, ITypeInfo> processedTypeInfo) { foreach (var enumTypeInfo in GetReferencedEnums(typeLib, typeInfo, funcDesc.elemdescFunc, processedTypeInfo)) { yield return(enumTypeInfo); } foreach (var elemDesc in StructHelpers.GetStructsFromArray <ELEMDESC>(funcDesc.lprgelemdescParam, funcDesc.cParams)) { foreach (var enumTypeInfo in GetReferencedEnums(typeLib, typeInfo, elemDesc, processedTypeInfo)) { yield return(enumTypeInfo); } } }
public static IScope <FUNCDESC> CreateFuncDescScope(this ITypeInfo typeInfo, int index) { return(StructHelpers.CreateScope <FUNCDESC>((out IntPtr pFuncDesc) => typeInfo.GetFuncDesc(index, out pFuncDesc), typeInfo.ReleaseFuncDesc)); }
public static IScope <VARDESC> CreateVarDescScope(this ITypeInfo typeInfo, int index) { return(StructHelpers.CreateScope <VARDESC>((out IntPtr pVarDesc) => typeInfo.GetVarDesc(index, out pVarDesc), typeInfo.ReleaseVarDesc)); }
public static IScope <TYPEATTR> CreateAttrScope(this ITypeInfo typeInfo) { return(StructHelpers.CreateScope <TYPEATTR>(typeInfo.GetTypeAttr, typeInfo.ReleaseTypeAttr)); }
public static IScope <TYPELIBATTR> CreateAttrScope(this ITypeLib typeLib) { return(StructHelpers.CreateScope <TYPELIBATTR>(typeLib.GetLibAttr, typeLib.ReleaseTLibAttr)); }