コード例 #1
0
ファイル: HleModuleGuest.cs プロジェクト: soywiz/cspspemu
        public void ExportModules(HleModuleGuest Module)
        {
            foreach (var ExportModule in ModulesExports)
            {
                var ExportModuleName = ExportModule.Name;

                //Console.WriteLine("{0} - {1}", ExportModuleName, Module.Name);
                var ImportModule = Module.ModulesImports.Find(Item => Item.Name == ExportModuleName);
                if (ImportModule != null)
                {
                    foreach (var ImportFunction in ImportModule.Functions)
                    {
                        var ExportFunctionEntry = ExportModule.Functions[ImportFunction.Key];
                        var ImportFunctionEntry = ImportFunction.Value;

                        if (!ImportFunctionEntry.Linked)
                        {
                            ImportFunctionEntry.Linked = true;
                            var CallAddress = ImportFunctionEntry.Address;
                            var FunctionAddress = ExportFunctionEntry.Address;

                            LinkFunction(CallAddress, FunctionAddress);
                        }
                    }
                }
            }
        }
コード例 #2
0
        public void ExportModules(HleModuleGuest Module)
        {
            foreach (var ExportModule in ModulesExports)
            {
                var ExportModuleName = ExportModule.Name;

                //Console.WriteLine("{0} - {1}", ExportModuleName, Module.Name);
                var ImportModule = Module.ModulesImports.Find(Item => Item.Name == ExportModuleName);
                if (ImportModule != null)
                {
                    foreach (var ImportFunction in ImportModule.Functions)
                    {
                        var ExportFunctionEntry = ExportModule.Functions[ImportFunction.Key];
                        var ImportFunctionEntry = ImportFunction.Value;

                        if (!ImportFunctionEntry.Linked)
                        {
                            ImportFunctionEntry.Linked = true;
                            var CallAddress     = ImportFunctionEntry.Address;
                            var FunctionAddress = ExportFunctionEntry.Address;

                            LinkFunction(CallAddress, FunctionAddress);
                        }
                    }
                }
            }
        }