reactos操作系统实现(138)
2009-11-21 23:40
429 查看
在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 }
#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 }
相关文章推荐
- reactos操作系统实现(138)
- reactos操作系统实现(138)
- reactos操作系统实现(133)
- reactos操作系统实现(3)
- reactos操作系统实现(137)
- reactos操作系统实现(140)
- reactos操作系统实现(145)
- reactos操作系统实现(148)
- reactos操作系统实现(149)
- reactos操作系统实现(6)
- reactos操作系统实现(8)
- reactos操作系统实现(32)
- reactos操作系统实现(2)
- reactos操作系统实现(131)
- reactos操作系统实现(105)
- reactos操作系统实现(109)
- reactos操作系统实现(111)
- reactos操作系统实现(114)
- reactos操作系统实现(115)
- reactos操作系统实现(118)