加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactos操作系统实现(67)

发布时间:2020-12-15 05:01:09 所属栏目:百科 来源:网络整理
导读:前面分析安装后,就会调用 setup.exe 程序运行,在入口函数里处理命令行参数 newsetup 后,就会调用函数 newsetup 来运行,下面来仔细地分析这个函数是到底做什么事情。如下: #001 static VOID #002 RunNewSetup (HINSTANCE hInstance) #003 { #004 HMODULE

前面分析安装后,就会调用setup.exe程序运行,在入口函数里处理命令行参数newsetup后,就会调用函数newsetup来运行,下面来仔细地分析这个函数是到底做什么事情。如下:

#001 static VOID

#002 RunNewSetup (HINSTANCE hInstance)

#003 {

#004 HMODULE hDll;

#005 PINSTALL_REACTOS InstallReactOS;

#006

这里进行配置参数初始化,比如注册表里参数,固定文件保存的目录等等。

#007 /* some dlls (loaded by syssetup) need a valid user profile */

#008 InitializeProfiles();

#009

这里加载动态连接库syssetup文件。

#010 hDll = LoadLibrary (TEXT("syssetup"));

#011 if (hDll == NULL)

#012 {

#013 DPRINT("Failed to load 'syssetup'!/n");

#014 return;

#015 }

#016

从动态连接库syssetup里获取安装ReactOS的函数InstallReactOS

#017 DPRINT("Loaded 'syssetup'!/n");

#018 InstallReactOS = (PINSTALL_REACTOS)GetProcAddress (hDll,"InstallReactOS");

#019

#020 if (InstallReactOS == NULL)

#021 {

#022 DPRINT("Failed to get address for 'InstallReactOS()'!/n");

#023 FreeLibrary (hDll);

#024 return;

#025 }

#026

接着运行动态连接库里函数InstallReactOS

#027 InstallReactOS (hInstance);

#028

运行完成后,就开始释放动态连接库。

#029 FreeLibrary (hDll);

#030}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读