windows文件分发系统_windows文件系统的CCB和FCB

FCB在Windows文件系统中代表每个文件,而CCB则对应每次文件打开操作,每个CCB包含的FCB可能相同,记录了应用程序的文件操作位置。FILE_OBJECT结构中,FsContext指向FCB或DCB,FsContext2指向CCB,两者在创建文件对象时由文件系统驱动初始化。
摘要由CSDN通过智能技术生成

FCB 和CCB的解释:

在Windows文件系统驱动程序中,另一个数据结构是CCB(Context Control Block),它代表了一个应用程序已打开一个文件。CCB与FCB的不同之处是,FCB针对每个文件而唯一存在,而CCB针对每一次打开文件而存在。

例如,两个应用程序共享访问同一个文件,它们的CCB不同,但CCB中所指的FCB是相同的,而且,CCB中记录了相应的应用程序正在操作该文件的偏移位置。在这种情况下,每个CCB关联不同的文件对象(即FILE_OBJECT)。

kd> dt _FILE_OBJECT

nt!_FILE_OBJECT

+0x000 Type : Int2B

+0x002 Size : Int2B

+0x004 DeviceObject : Ptr32 _DEVICE_OBJECT

+0x008 Vpb : Ptr32 _VPB

+0x00c FsContext : Ptr32 Void 代表的实际对象的数据结构,如果文件对象代表一个磁盘文件,则它指向FCB(若文件支持多个数据流,则为SCB);如果文件对象代表一个磁盘目录,则它指向DCB;如果文件对象代表整个卷,则直接指向VCB。

+0x010 FsContext2 : Ptr32 Void 指向CCB结构,代表了文件对象的已打开实例。

+0x014 SectionObjectPointer : Ptr32 _SECTION_OBJECT_POINTERS

+0x018 PrivateCach

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值