public void SetImports(List <PeImportDll> Imports, PhSymbolProvider SymPrv, DependencyWindow Dependencies)
        {
            this.Items.Clear();

            foreach (PeImportDll DllImport in Imports)
            {
                PE     ModuleImport   = Dependencies.LoadImport(DllImport.Name, null, DllImport.IsDelayLoad());
                string ModuleFilepath = (ModuleImport != null) ? ModuleImport.Filepath : null;

                foreach (var Import in BinaryCache.LookupImports(DllImport, ModuleFilepath))
                {
                    this.Items.Add(new DisplayPeImport(Import.Item1, SymPrv, ModuleFilepath, Import.Item2));
                }
            }
        }
Beispiel #2
0
        public void SetImports(List <PeImportDll> Imports, PhSymbolProvider SymPrv, DependencyWindow Dependencies)
        {
            this.ImportList.Items.Clear();

            foreach (PeImportDll DllImport in Imports)
            {
                PE     ModuleImport   = Dependencies.LoadImport(DllImport.Name, null, (DllImport.Flags & 0x01) == 0x01 /* TODO : Use proper macros */);
                string ModuleFilepath = (ModuleImport != null) ? ModuleImport.Filepath : null;

                foreach (PeImport Import in DllImport.ImportList)
                {
                    this.ImportList.Items.Add(new DisplayPeImport(Import, SymPrv, ModuleFilepath));
                }
            }

            // Refresh search view
            ImportSearchFilter_OnTextChanged(null, null);
        }