摘要:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD> <META http-equiv=Content-Type content="text/html; charset=utf-8"& 阅读全文
摘要:
当用户删除文件时,就会通过ReactOS的API调用IO管理器函数,然后创建IRP包发送到文件系统驱动程序来,然后就调用下面函数来把文件分配的簇从FAT分配表时删除。具体实现的代码如下:#001 static NTSTATUS#002 FATDelEntry(#003 IN PDEVICE_EXTENSIONDeviceExt,#004 IN PVFATFCB pFcb)#005 {#006 ULONG CurrentCluster =0, NextCluster, i;#007 PVOID Context = NULL;#008 LARGE_INTEGER Offset;#009 PFAT_ 阅读全文
摘要:
在FAT里,需要从目录入口项里找到文件的首簇数,下面这段代码就是实现这样的功能,如下:#001 ULONG#002 vfatDirEntryGetFirstCluster(PDEVICE_EXTENSION pDeviceExt,#003 PDIR_ENTRY pFatDirEntry)#004 {#005 ULONG cluster;#006 根据FAT的类型进行不同的计算。#007 if(pDeviceExt->FatInfo.FatType == FAT32)#008 {32位组成的簇号。#009 cluster =pFatDirEntry->Fat.FirstCluster 阅读全文
摘要:
VfatHasFileSystem函数主要用来读取FAT文件系统信息,并且判断这个磁盘卷是否为FAT文件系统,具体实现如下:#001 static NTSTATUS#002VfatHasFileSystem(PDEVICE_OBJECT DeviceToMount,#003 PBOOLEANRecognizedFS,#004 PFATINFOpFatInfo)#005 {#006 NTSTATUS Status;#007 PARTITION_INFORMATIONPartitionInfo;#008 DISK_GEOMETRYDiskGeometry;#009 FATINFO FatInfo; 阅读全文
摘要:
微软昨天在其2009年专业开发者大会上展示了下一个版本的Internet Explorer浏览器IE9。尽管只是一个早期版本,IE开发团队还是比较高调的宣布了IE9的一些改进,比如速度比之前的IE版本都更快些,缩小与FF和webkit之间的差距(也就是还是赶不上了?),支持CSS3的一些新特性,比如圆角(border-radius),不过现在还不清楚是原生支持还是使用私有属性-ms-border-radius。可喜的是,IE9已经可以支持大部分CSS 选择器了!IE开发团队展示了IE9在css3.info的一个CSS选择器的测试页面的测试结果,结果如下图显示:测试结果显示,IE9支持43个选择 阅读全文
摘要:
VfatMount函数主要用来安装FAT文件卷,具体实现代码如下:#001 static NTSTATUS#002 VfatMount (PVFAT_IRP_CONTEXTIrpContext)#003 /*#004 * FUNCTION: Mount thefilesystem#005 */#006 {#007 PDEVICE_OBJECTDeviceObject = NULL;#008 PDEVICE_EXTENSIONDeviceExt = NULL;#009 BOOLEAN RecognizedFS;#010 NTSTATUS Status;#011 PVFATFCB Fcb = NU 阅读全文
摘要:
今天的微软开发者大会(Microsoft PDC 2009) 上, 微软演示了下一个版本IE --- IE9。 IE9 的亮点之一就是将使用DirectX (Direct2D, DirectWrite)和 GPU硬件加速,打造出革命性的浏览器渲染引擎(render engine)。 其优点很明显: 速度快, 高清。1. 速度快众所周知,DirectX 和GPU硬件加速一直是被用来做高性能、高复杂度的游戏引擎的。IE9 革命性地将DirectX/GPU 引入浏览器中, 为将来的互联网应用开创一个新的平台。 短短几个月时间,IE的速度已经提高了好几倍,而这只是刚刚开始。2. 高清传统的GDI 文字 阅读全文
摘要:
当从IO管理器里调用函数IopParseDevice来分析设备时,就可以找到相应的磁盘设备,并在这个函数里调用函数IopCheckVpbMounted来检查这个文件系统是否加载,如果没有加载,就会调用函数IopMountVolume来加载文件卷,那么在这个函数里就会构造一个IRP发送给文件系统驱动程序,驱动程序就收到主功能码为IRP_MJ_FILE_SYSTEM_CONTROL和次功能码为IRP_MN_MOUNT_VOLUME的IRP处理请求。在FAT文件系统里是通过函数VfatFileSystemControl来处理相应的功能码,具体实现如下:#001 NTSTATUSVfatFileSys 阅读全文
摘要:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD> <META http-equiv=Content-Type content="text/html; charset=gb2312" 阅读全文
摘要:
文件控制块主要用来表示一个ReactOS打开文件的对象。下面就来仔细地分析文件控制块的结构,如下:#001 typedef struct _VFATFCB#002 {ROS的文件头部,主要包括文件流的描述和系统使用的变量。#003 /* FCB header required byROS/NT */#004 FSRTL_COMMON_FCB_HEADERRFCB;指向每个文件的数据段指针。#005 SECTION_OBJECT_POINTERSSectionObjectPointers;#006 ERESOURCE MainResource;#007 ERESOURCEPagingIoReso 阅读全文