大坡3D软件开发

自主操作系统和CPU--用软件来改变世界

reactos操作系统实现(121)

 CreatePartitionDeviceObjects函数是通过分析MBR扇区的数据,然后来创建所有分区对象。具体实现代码如下:#001  NTSTATUS#002  NTAPI#003 CreatePartitionDeviceObjects(#004      IN PDEVICE_OBJ...

2009-10-31 22:10:00

阅读数 1518

评论数 1

reactos操作系统实现(120)

 CreateDiskDeviceObject函数主要就是为了物理设备创建磁盘对象,并且查找磁盘上每个分区和创建相应的对象。具体实现代码如下:#001  NTSTATUS#002  NTAPI#003  CreateDiskDeviceObject(#004      IN PDRIVER_OBJ...

2009-10-30 22:40:00

阅读数 1491

评论数 2

reactos操作系统实现(119)

 前介绍了初始化函数ScsiClassInitialize,那么在这个函数里使用下面的语句来查找SCSI的磁盘,如下:if (InitializationData->ClassFindDevices(DriverObject, Argument2,InitializationData,por...

2009-10-29 22:33:00

阅读数 1332

评论数 0

reactos操作系统实现(118)

 ScsiClassInitialize函数初始化驱动程序对象,主要是找到合适的端口驱动程序,并设置它来处理磁盘的命令,具体实现代码如下:#001  ULONG#002  NTAPI#003  ScsiClassInitialize(#004      IN  PVOID            A...

2009-10-28 21:42:00

阅读数 1389

评论数 0

reactos操作系统实现(117)

在Reactos里,磁盘类的驱动程序是由disk.sys实现的。从文件系统上输出和读取的调用,就是需要通过这个驱动程序来实现,在这个驱动程序下面就是PCIIDE和ATAPI的驱动程序了,后面这些驱动程序,在前面已经分析过,现在来学习disk类驱动程序。 10.4.1 DriverEntry入口函数...

2009-10-27 21:36:00

阅读数 1290

评论数 1

reactos操作系统实现(116)

PciIdeXFdoStartDevice函数是用来处理即插即用的启动设备消息,主要设置了DMA操作和保存设备端口的基地址,这里就是启动PCIIDE的物理设备,具体实现代码如下:#001  static NTSTATUS#002  PciIdeXFdoStartDevice(#003     IN...

2009-10-26 22:05:00

阅读数 1439

评论数 0

reactos操作系统实现(115)

PciIdeXFdoPnpDispatch函数主要处理PCIIDE即插即用的消息处理。具体实现代码如下:#001  NTSTATUS NTAPI#002  PciIdeXFdoPnpDispatch(#003     IN PDEVICE_OBJECT DeviceObject,#004     ...

2009-10-25 14:05:00

阅读数 1392

评论数 0

reactos操作系统实现(114)

PciIdeXAddDevice函数是用来添加PCIIDEX的设备,设置一个功能设备,并读取PCI总线的配置参数。具体实现代码如下:#001  NTSTATUS NTAPI#002  PciIdeXAddDevice(#003     IN PDRIVER_OBJECT DriverObject,...

2009-10-24 21:08:00

阅读数 1532

评论数 2

reactos操作系统实现(113)

下面来分析PCIIDE和PCIIDEX驱动程序,这两个都是PCI的IDE总线驱动程序。先从PCIIDE的入口函数开始,具体实现代码如下:#001  NTSTATUS NTAPI#002  DriverEntry(#003     IN PDRIVER_OBJECT DriverObject,#00...

2009-10-23 21:53:00

阅读数 1407

评论数 0

reactos操作系统实现(112)

IdeReadWrite函数主要实现了IDE设备的读和写命令发送。具体实现函数如下:#001  ULONG#002  NTAPI#003  IdeReadWrite(#004      IN PVOIDHwDeviceExtension,#005      IN PSCSI_REQUEST_BLO...

2009-10-22 22:01:00

阅读数 1426

评论数 0

reactos操作系统实现(111)

IdeSendSmartCommand函数主要发送IDE的命令。具体实现代码如下:#001  ULONG#002  NTAPI#003  IdeSendSmartCommand(#004      IN PVOIDHwDeviceExtension,#005      IN PSCSI_REQUE...

2009-10-21 20:59:00

阅读数 1995

评论数 0

reactos操作系统实现(110)

AtapiStartIo函数主要处理同步的IO请求包。具代的实现代码如下:#001  BOOLEAN#002  NTAPI#003  AtapiStartIo(#004      IN PVOIDHwDeviceExtension,#005      IN PSCSI_REQUEST_BLOCKS...

2009-10-20 22:02:00

阅读数 1742

评论数 0

reactos操作系统实现(109)

AtapiInterrupt函数是实现ATAPI的中断功能,主要根据SRB来判断是读取数据还是写入数据,然后对IDE设备读取或写入数据,还需要处理很多出错的情况。具体实现代码如下:#001  BOOLEAN#002  NTAPI#003  AtapiInterrupt(#004      IN P...

2009-10-19 22:11:00

阅读数 1626

评论数 0

reactos操作系统实现(108)

AtapiHwInitialize函数初始化不是ATAPT设备,设置它支持多块传送。接着判断那些设备是CD-ROM设备,还清除忙状态。具体实现代码如下:#001  BOOLEAN#002  NTAPI#003  AtapiHwInitialize(#004      IN PVOIDHwDevic...

2009-10-18 11:04:00

阅读数 1697

评论数 0

reactos操作系统实现(107)

IssueIdentify函数主要是发送IDENTIFY命令给一个ATAPI设备,并且获取这个设备相关信息,比如磁头的个数。#001  BOOLEAN#002  NTAPI#003  IssueIdentify(#004      IN PVOIDHwDeviceExtension,#005   ...

2009-10-17 22:46:00

阅读数 1530

评论数 0

reactos操作系统实现(106)

FindDevices函数主要用来查找ATAPI控制器,并且获取磁盘的参数。如果找到IDE的设备就返回TRUE,否则返回FALSE。其实是通过ATAPI的标志和IssueIdentify命令来判断IDE设备。#001  BOOLEAN#002  NTAPI#003  FindDevices(#00...

2009-10-16 21:41:00

阅读数 1262

评论数 0

reactos操作系统实现(105)

AtapiFindController函数主要用来查找ATAPI控制器,也就是IDE控制器。同时收集IDE控制器相关配置信息,比如磁盘的访问方式。#001  ULONG#002  NTAPI#003  AtapiFindController(#004      IN PVOIDHwDeviceEx...

2009-10-15 22:15:00

阅读数 1441

评论数 1

reactos操作系统实现(104)

AtapiFindPCIController函数是用来发现PCI总线上所有的IDE控制器,并发现相关的IDE设备。具体实现代码如下:#001  ULONG#002  NTAPI#003  AtapiFindPCIController(#004      IN PVOIDHwDeviceExtens...

2009-10-14 21:17:00

阅读数 1345

评论数 0

reactos操作系统实现(103)

ScsiPortInitialize函数用来初始化总线上设备,并查找每个总线上所有出现的设备,主要是SCSI相关的设备,当然这里SCSI设备是包括IDE控制器。找到每个设备之后,就会创建这个设备的设备对象,并且设置每个设备的参数、中断相关函数。 #001  ULONG NTAPI#002  Scs...

2009-10-13 21:44:00

阅读数 1624

评论数 0

reactos操作系统实现(102)

ATAPI驱动程序的源码在目录drivers/storage/ide/atapi里,其实ATAPI是一个IDE的小端口驱动程序,主要初始化不同总线上的ATAPI设备,其中最重要的就是从PCI总线里查找到IDE控制器。下面来分析这个驱动程序的入口函数:#001  ULONG#002  NTAPI#0...

2009-10-12 21:52:00

阅读数 1382

评论数 0

提示
确定要删除当前文章?
取消 删除