手机版
热门标签
站点地图
我要投稿
广告合作
联系我们
搜 索
广告位招租
广告位招租
切换导航
首页
人工智能
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
网络运维
技术频道
▸ 编程语言
▸ 前端开发
▸ 移动开发
▸ 开发工具
▸ 程序设计
▸ 行业应用
▸ CMS系统
▸ 服务器
▸ 数据库
公众号推荐
微信公众号搜
"智元新知"
关注
微信扫一扫可直接关注哦!
操作系统
操作系统专题提供操作系统的最新资讯内容,帮你更好的了解操作系统。
reactos操作系统实现(65)
激动人心的时刻到了,最后安装成功了。会出现下面的界面,如下: 上面成功的实现代码如下: #001 static PAGE_NUMBER #002 SuccessPage(PINPUT_RECORD Ir) #003 { 显示成功安装的信息。 #004 MUIDisplayPage(SUCCESS_PAGE); #005 #006 if (IsUnatte
作者:佚名 时间:2020-05-20
reactos操作系统实现(66)
当选择重新启动后,就会进入最后阶段安装,进入有界面安装。这里主要通过程序setup.exe来实现的,它的实现代码在目录reactos/base/setup/setup里。就可以进安装驱程序和系统一些配置信息,如下: 下面就是程序入口点的代码,从这里可以看到这个程序与前面的安装程序是不一样的,它是采用应用程序的方式来运行,也就是加载了几个内核DLL才能运行这个程序。 #001 int WI
作者:佚名 时间:2020-05-20
reactos操作系统实现(67)
前面分析安装后,就会调用setup.exe程序运行,在入口函数里处理命令行参数newsetup后,就会调用函数newsetup来运行,下面来仔细地分析这个函数是到底做什么事情。如下: #001 static VOID #002 RunNewSetup (HINSTANCE hInstance) #003 { #004 HMODULE hDll; #005 PINSTALL_REA
作者:佚名 时间:2020-05-20
reactos操作系统实现(68)
前面介绍怎么样调用动态连接库里的InstallReactOS函数,下面就来分析这个函数的代码,看看这个函数是怎么运行向导界面,又做了些什么样的工作。如下: #001 DWORD WINAPI #002 InstallReactOS(HINSTANCE hInstance) #003 { #004 TCHAR szBuffer[MAX_PATH]; #005 DWORD L
作者:佚名 时间:2020-05-20
reactos操作系统实现(69)
当用户安装系统时,就会出现几个向导界面,这几个向导界面是怎么样实现的呢?具体又是做些什么样的功能呢?它的实现代码如下: #001 VOID #002 InstallWizard(VOID) #003 { #004 PROPSHEETHEADER psh; #005 HPROPSHEETPAGE ahpsp[8]; #006 PROPSHEETPAGE psp = {0};
作者:佚名 时间:2020-05-20
reactos操作系统实现(70)
安装和配置用户信息后,就会重新启动,ReactOS系统就会自动登录到正常的环境里,并且启动驱动程序安装向导,如下图: 当驱动程序安装完成后,整个系统就可以使用了,如下: 到这里就把从光盘开始安装到系统正常使用的过程分析完成,当然这个过程里,还有很多其它实现代码没有一一去解释,但这个主线已经完全清晰了,其它代码只需要顺藤摸瓜。
作者:佚名 时间:2020-05-20
reactos操作系统实现(71)
I/O管理器是管理着整个计算机的输入和输出的操作,因此它是一个基本的组成部份。I/O管理器的初始化调用是在文件reactos/ntoskrnl/ex/init.c里,它主要调用I/O管理器的函数IoInitSystem()来实现,这个函数在文件reactos/ntoskrnl/io/iomgr/iomgr.c里。这个函数的实现代码如下: #001 BOOLEAN #002 INIT_FUNCT
作者:佚名 时间:2020-05-20
reactos操作系统实现(72)
ReactOS通过对象管理机制为内核提供了一致的和安全的访问方式。对象管理器是一个用于创建、删除、保护和跟踪对象的内核一部份。由于I/O管理的设备是多方面的,就需要创建很多对象来表达这种设备,下面就来了解关于I/O相关的对象,初始化的代码如下: #001 BOOLEAN #002 INIT_FUNCTION #003 NTAPI #004 IopCreateObjectTypes(VOID
作者:佚名 时间:2020-05-20
reactos操作系统实现(73)
即插即用(Plug and Play,PnP)是计算机系统I/O设备与部件配置的应用技术。PnP就是指插入就可以使用,不需要进行任何的硬件配置。其实还是需要安装相应的驱动程序才可以使用的。随着人们对计算机使用多样化,不断地需要添加各种各样的硬件卡到计算机的主板上,这样就需要配置硬件卡的中断、I/O所占用的资源,才能正常工作。这个过程是非常复杂的,经常需要手工配置,还需要查看计算机那里中断是空闲的,
作者:佚名 时间:2020-05-20
reactos操作系统实现(74)
很多驱动程序,都是通过硬件检测时写到注册表里保存起来的,因此读取注册表里键值列表,就知道有多少设备需要需要加载了。下面就从注册表里创建一组驱动程序列表,实现的代码如下: #001 NTSTATUS INIT_FUNCTION #002 IoCreateDriverList(VOID) #003 { #004 RTL_QUERY_REGISTRY_TABLE QueryTable[
作者:佚名 时间:2020-05-20
reactos操作系统实现(75)
在引导系统后,会有一些驱动程序是由引导参数指定的,下面这个函数,就是处理引导时加载到内存里的驱动程序,实现的代码如下: #001 VOID #002 FASTCALL #003 IopInitializeBootDrivers(VOID) #004 { #005 PLIST_ENTRY ListHead, NextEntry; #006 PLDR_DATA_TABLE_
作者:佚名 时间:2020-05-20
reactos操作系统实现(76)
当键盘类驱动程序或鼠标类驱动程序枚举时,会找到很多设备,这些设备需要使用回调的方式来进行初始化。下面的函数,就是实现回调初始化驱动程序,如下: #001 VOID #002 NTAPI #003 IopReinitializeBootDrivers(VOID) #004 { #005 PDRIVER_REINIT_ITEM ReinitItem; #006 PLIST_
作者:佚名 时间:2020-05-20
reactos操作系统实现(77)
因为PC里一条总线上可以连接很多设备,就像一棵树一样,需要遍历所有总线上所有子设备,并且为每一个子设备安装相应的驱动程序,下面这个函数,实现枚举所有子设备,实现代码如下: #001 NTSTATUS #002 IopEnumerateDevice( #003 IN PDEVICE_OBJECT DeviceObject) #004 { 获取设备的节点。 #005 PD
作者:佚名 时间:2020-05-20
reactos操作系统实现(78)
ARC命名是Windows NT系统用来定位其引导分区所在的路径,也就是利用它指明引导分区在哪一个磁盘控制器,哪一个硬盘,哪一个分区内。ARC命名可分为两大类,以scsi为首或以multi为首,现分别说明如下: scsi(x)disk(y)rdisk(0)partition(z): 以scsi为首,表明该磁盘控制器为SCSI卡,并且该卡上的BIOS被设置为禁用(disable) scsi(x):表
作者:佚名 时间:2020-05-20
reactos操作系统实现(79)
下面这个函数实现标记引导分区,代码如下: #001 BOOLEAN #002 INIT_FUNCTION #003 NTAPI #004 IopMarkBootPartition(IN PLOADER_PARAMETER_BLOCK LoaderBlock) #005 { #006 OBJECT_ATTRIBUTES ObjectAttributes; #007 ST
作者:佚名 时间:2020-05-20
reactos操作系统实现(80)
下面的函数主要初始化PnP发现的设备,并为它安装服务,代码如下: #001 NTSTATUS #002 IopInitializePnpServices(IN PDEVICE_NODE DeviceNode) #003 { #004 DEVICETREE_TRAVERSE_CONTEXT Context; #005 #006 DPRINT("IopInitializePnp
作者:佚名 时间:2020-05-20
reactos操作系统实现(81)
由于操作系统会使用一些缺省的驱动程序,需要在启动时加载指定的驱动程序。下面这个函数,主要实现系统启动时指定加载的驱动程序。代码如下: #001 VOID #002 FASTCALL #003 IopInitializeSystemDrivers(VOID) #004 { #005 PSERVICE_GROUP CurrentGroup; #006 PSERVICE
作者:佚名 时间:2020-05-20
reactos操作系统实现(82)
在I/O管理最后阶段,就是加载系统所有动态连接库,比如加载NTDLL动态连接库,具体实现代码如下: #001 NTSTATUS #002 NTAPI #003 PsLocateSystemDll(VOID) #004 { #005 OBJECT_ATTRIBUTES ObjectAttributes; #006 IO_STATUS_BLOCK IoStatusBlock
作者:佚名 时间:2020-05-20
reactos操作系统实现(83)
前面已经分析了函数IopInitializeSystemDrivers的过程,在这个函数里加载注册表里指定的驱动程序。遍历了所有驱动程序,并通过调用函数IopLoadDriver来实现加载。也许你会问,驱动程序一般什么时候加载呢?其实在ReactOS里有三种情况,一种是在Freeloader引导时,加载内核时一起加载的驱动程序。一种是函数IopInitializeSystemDrivers里根据注
作者:佚名 时间:2020-05-20
reactos操作系统实现(84)
在系统里User32.dll,kernel32.dll,shell32.dll,gdi32.dll,rpcrt4.dll,comctl32.dll,advapi32.dll,version.dll等dll代表了Win32 API的基本提供者。Win32 API中的所有调用最终都转向了ntdll.dll,再由它转发至ntoskrnl.exe。ntdll.dll是本机 API用户模式的终端。真正的接口
作者:佚名 时间:2020-05-20
上一页
30
31
32
33
34
35
36
37
下一页
小编推荐
苹果市值2025年有望达4万亿美元
• iPadOS 18来了,iPad现在真的有“生产力
• 谷歌日本整活:打造莫比乌斯外形键盘 正
• 天玑9400核心配置曝光,OV米均已采购,
• iPad和安卓Pad有什么区别?不用这三项功
• 松下全画幅镜头便携长焦70-300mm F4.5-
• 停产Quest Pro、力推Quest 3S,Meta要让
• RTX 4080/90要说再见!消息称英伟达11月
热门标签
更多
python
JavaScript
java
HTML
PHP
reactjs
C#
Android
CSS
Node.js
sql
r
python-3.x
MysqL
jQuery
c++
pandas
Flutter
angular
IOS
django
linux
swift
typescript
路由器
JSON
路由器设置
无线路由器
h3c
华三
华三路由器设置
华三路由器
电脑软件教程
arrays
docker
软件图文教程
C
vue.js
laravel
spring-boot