Пример #1
0
        internal static string GetNameOfLib(ComTypes.ITypeLib typeLib)
        {
            string name;
            string strDocString;
            int    dwHelpContext;
            string strHelpFile;

            typeLib.GetDocumentation(-1, out name, out strDocString, out dwHelpContext, out strHelpFile);
            return(name);
        }
Пример #2
0
        internal static string GetTypeLibName(ComTypes.ITypeLib refTypeInfo)
        {
            string refTypeName;
            string strHelpFile;
            int    dwHelpContext;
            string strDocString;

            refTypeInfo.GetDocumentation(-1, out refTypeName, out strDocString, out dwHelpContext, out strHelpFile);
            return(refTypeName);
        }
        private void GetNamesFromWrapper()
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            if (this.TypeLibWrapper != null)
            {
                TLIBATTR[] attr = new TLIBATTR[1];
                attr[0].guid         = this.TypeGuid;
                attr[0].wMajorVerNum = (ushort)this.MajorVersionNumber;
                attr[0].wMinorVerNum = (ushort)this.MinorVersionNumber;
                attr[0].LCID         = Convert.ToUInt32(this.LCID);
                string name;
                if (TypeLibWrapper.GetMainWrapperFriendlyName(attr, out name) == VSConstants.S_OK)
                {
                    this.typeName = name;
                    this.ItemNode.Rename(name);
                }
                if (TypeLibWrapper.GetMainWrapperFilename(attr, out name) == VSConstants.S_OK)
                {
                    this.wrapperFileName = name;
                }
                else
                {
                    Version version = new Version(MajorVersionNumber, MinorVersionNumber);

                    var key = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey("Typelib\\" + TypeGuid.ToString("B") + "\\" + version.ToString());
                    if (key != null)
                    {
                        name = (string)key.GetValue("PrimaryInteropAssemblyName");
                        var asmName  = new AssemblyName(name);
                        var assembly = Assembly.Load(asmName);
                        this.wrapperFileName = assembly.Location;
                    }
                }
            }
            // get the typelib description
            string typeLibPath = QueryPathOfRegTypeLib(this.TypeGuid, (short)MajorVersionNumber, (short)MinorVersionNumber, Convert.ToInt32(this.LCID));

            typeLibPath = typeLibPath.Replace("\0", "");
            if (File.Exists(typeLibPath))
            {
                int iresult = LoadTypeLib(typeLibPath, out var itypelib);
                if (iresult == VSConstants.S_OK && itypelib != null)
                {
                    System.Runtime.InteropServices.ComTypes.ITypeLib itl = itypelib as System.Runtime.InteropServices.ComTypes.ITypeLib;
                    if (itl != null)
                    {
                        string strName, strDocString, strHelpFile;
                        int    iHelpContext;
                        itl.GetDocumentation(-1, out strName, out strDocString, out iHelpContext, out strHelpFile);
                        description = strDocString;
                    }
                }
            }
        }
Пример #4
0
 internal static string GetNameOfLib(ComTypes.ITypeLib typeLib)
 {
     typeLib.GetDocumentation(-1, out string name, out string _, out int _, out string _);
     return(name);
 }
Пример #5
0
 public ComTypeLibrary(System.Runtime.InteropServices.ComTypes.ITypeLib typeLib)
 {
     _typeLib = typeLib;
     _typeLib.GetLibAttr(out _pTypeLibAttr);
     _typeLib.GetDocumentation(-1, out _Name, out _Description, out _HelpContext, out _HelpFile);
 }
Пример #6
0
 public ComTypeLibrary(System.Runtime.InteropServices.ComTypes.ITypeLib typeLib)
 {
     _typeLib = typeLib;
     _typeLib.GetLibAttr(out _pTypeLibAttr);
     _typeLib.GetDocumentation(-1, out _Name, out _Description, out _HelpContext, out _HelpFile);
 }