阅读:1883回复:2
发什么IOCTL 码,可以获取文件所在的磁盘偏移地址?
发什么IOCTL 码,可以获取文件所在的磁盘偏移地址?
|
|
沙发#
发布于:2007-04-11 15:32
谢谢 devia 大侠
|
|
板凳#
发布于:2007-04-11 08:25
FSCTL_GET_RETRIEVAL_POINTERS:
用此代码调用DeviceIoControl时,InputBuffer应该包含有 STARTING_VCN_INPUT_BUFFER结构体,这个结构体描述了文件cluster链的首元素,函数成功执行后,OutputBuffer 将装有RETRIEVAL_POINTERS_BUFFER结构体,这个结构体描述了分配图。 STARTING_VCN_INPUT_BUFFER结构很容易懂,我们只需要向StartingVcn.QuadPart传递0,而第二个结构体RETRIEVAL_POINTERS_BUFFER的格式需要好好研究一下。第一个域 (ExtentCount)包含着结构体中Extents元素的数目。StartingVcn文件第一个cluster链的链号。每一个Extents元 素都包含有一个NextVcn,其含有链中cluser的数目,而Lcn——其第一个cluster的cluster号。也就是说所返回的信息就是 cluster链的描述符,其中每一个链都包含有某些个cluster。 |
|
|