reactos操作系统实现(121)

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

reactos操作系统实现(120)

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

reactos操作系统实现(119)

 前介绍了初始化函数ScsiClassInitialize,那么在这个函数里使用下面的语句来查找SCSI的磁盘,如下:if (InitializationData->ClassFindDevices(DriverObject, Argument2,InitializationData,portDeviceObject, portNumber))其实这里的函数Initialization...
阅读(1122) 评论(0)

reactos操作系统实现(118)

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

reactos操作系统实现(117)

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

reactos操作系统实现(116)

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

reactos操作系统实现(115)

PciIdeXFdoPnpDispatch函数主要处理PCIIDE即插即用的消息处理。具体实现代码如下:#001  NTSTATUS NTAPI#002  PciIdeXFdoPnpDispatch(#003     IN PDEVICE_OBJECT DeviceObject,#004     IN PIRP Irp)#005  {#006     ULONG Min...
阅读(1208) 评论(0)

reactos操作系统实现(114)

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

reactos操作系统实现(113)

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

reactos操作系统实现(112)

IdeReadWrite函数主要实现了IDE设备的读和写命令发送。具体实现函数如下:#001  ULONG#002  NTAPI#003  IdeReadWrite(#004      IN PVOIDHwDeviceExtension,#005      IN PSCSI_REQUEST_BLOCKSrb#006      )#007  #008  /...
阅读(1234) 评论(0)

reactos操作系统实现(111)

IdeSendSmartCommand函数主要发送IDE的命令。具体实现代码如下:#001  ULONG#002  NTAPI#003  IdeSendSmartCommand(#004      IN PVOIDHwDeviceExtension,#005      IN PSCSI_REQUEST_BLOCKSrb#006      )#007  #...
阅读(1803) 评论(0)

reactos操作系统实现(110)

AtapiStartIo函数主要处理同步的IO请求包。具代的实现代码如下:#001  BOOLEAN#002  NTAPI#003  AtapiStartIo(#004      IN PVOIDHwDeviceExtension,#005      IN PSCSI_REQUEST_BLOCKSrb#006      )#007  #008  /*++...
阅读(1490) 评论(0)

reactos操作系统实现(109)

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

reactos操作系统实现(108)

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

reactos操作系统实现(107)

IssueIdentify函数主要是发送IDENTIFY命令给一个ATAPI设备,并且获取这个设备相关信息,比如磁头的个数。#001  BOOLEAN#002  NTAPI#003  IssueIdentify(#004      IN PVOIDHwDeviceExtension,#005      IN ULONG DeviceNumber,#006      ...
阅读(1314) 评论(0)
23条 共2页1 2 下一页 尾页
    个人资料
    • 访问:5574846次
    • 积分:72912
    • 等级:
    • 排名:第25名
    • 原创:1584篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2082条
    文章存档
    最新评论