上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 36 下一页
摘要: http://melkov.narod.ru/misc/stl-fix/ 阅读全文
posted @ 2009-06-24 14:41 Fan Zhang 阅读(202) 评论(0) 推荐(0)
摘要: 在DriverEntry中,创建了一个device,并调用IoRegisterFileSystem,将它注册到文件系统类型中。每个分区类型驱动加载时候,都会调用IoRegisterFileSystem。 阅读全文
posted @ 2009-06-24 13:11 Fan Zhang 阅读(209) 评论(0) 推荐(0)
摘要: ReactOS默认的log是关闭的,在进入系统选择菜单“ReactOS (Debug)”,此时log通过串口输出。打印log可以使用DbgPrint函数。NDEBUG宏控制DBG版本中输出log。在每个module里都定义了NDEBUG宏,如果想在DBG版本里打印log就注释掉NDEBUG宏。此时DPRINT,DPRINT1等输出log的宏被enable。对于freeldr,也是用DbgPrint函数。在debug.c里修改下列宏,可以控制是否在DBG版本里打印log://#define DEBUG_ALL//#define DEBUG_INIFILE//#define DEBUG_REACT 阅读全文
posted @ 2009-06-04 14:59 Fan Zhang 阅读(225) 评论(0) 推荐(0)
摘要: 在调试窗口查看变量:@err,hr 阅读全文
posted @ 2009-06-04 14:04 Fan Zhang 阅读(263) 评论(0) 推荐(0)
摘要: 在atapi.sys的DriverEntry里会调用ScsiPortInitialize。 PCI中有8个条PCI bus。在ScsiPortInitialize中对每条PCI Bus调用一次AtapiFindCompatiblePciController或AtapiFindIsaBusController,用来寻找ATAPI的Controller。如果发现HBA,则调用ScsiPortCreat... 阅读全文
posted @ 2009-06-03 23:28 Fan Zhang 阅读(586) 评论(0) 推荐(0)
摘要: #include <stdio.h>#include <windows.h>#include <winioctl.h>#include <ntddscsi.h>typedef struct _INQUIRYDATA{ UCHAR DeviceType:5; UCHAR DeviceTypeQualifier:3; UCHAR DeviceTyp... 阅读全文
posted @ 2009-06-03 18:35 Fan Zhang 阅读(472) 评论(0) 推荐(0)
摘要: ATA和ATAPI是广为使用的IDE和EIDE设备的相关标准。ATA是AT Attachment的缩写,意思是AT计算机上的附加设备(还记得IBM PC/AT吗?)。ATA可以使用户方便地在PC机上连接硬盘,但有时这样还不够。有些用户需要通过同样方便的手段连接CDROM、磁带机、MO驱动器等设备。ATAPI标准就是为了解决在IDE/EIDE接口上连接多种设备而制定的。ATAPI是AT Attach... 阅读全文
posted @ 2009-06-03 11:28 Fan Zhang 阅读(1075) 评论(0) 推荐(0)
摘要: 我感觉磁盘驱动是mini driver+class driver。其中class2.sys就是类驱动而disk.sys就是mini drivermini driver的DriverEntry调用NTSTATUS STDCALLDriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath){ CLASS_I... 阅读全文
posted @ 2009-06-03 10:57 Fan Zhang 阅读(284) 评论(0) 推荐(0)
摘要: 首先是在main.c中ExpInitializeExecutive函数。遍历所有加载的模块,其中有ntoskrnl、各个驱动、nls、注册表文件等。找出驱动程序,依次调用LdrInitializeBootStartDriver函数。然后调用IoCreateArcNames函数,将\reactos 变为 multi(0)disk(0)rdisk(0)partition(1)\reactos最后调用I... 阅读全文
posted @ 2009-06-02 15:47 Fan Zhang 阅读(598) 评论(0) 推荐(0)
摘要: 最开始的是loadros.asm,它会将ntoskrnl.exe等各个模块读入内存,并跳到0:901000。同时它还会初始化一个_LOADER_PARAMETER_BLOCK数据结构。typedef struct _LOADER_PARAMETER_BLOCK { ULONG Flags; ULONG MemLower; ULONG MemHigher; ULONG BootDevice; ULO... 阅读全文
posted @ 2009-05-31 17:18 Fan Zhang 阅读(336) 评论(0) 推荐(0)
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 36 下一页