reactos操作系统实现(138)

 在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 |

#010                   (pFatDirEntry->Fat.FirstClusterHigh << 16);

#011      }

#012      else if (pDeviceExt->Flags & VCB_IS_FATX)

#013      {

#014          cluster = pFatDirEntry->FatX.FirstCluster;

#015      }

#016      else

#017      {

 

这里直接使用16位组成的簇号。

#018          cluster = pFatDirEntry->Fat.FirstCluster;

#019      }

#020 

#021      return  cluster;

#022  }

转载于:https://www.cnblogs.com/ajuanabc/archive/2009/11/21/2463621.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值