RAW READ ~~~ 从磁盘读取文件

本文讨论了如何使用RAW READ方法从磁盘读取文件,通过创建文件对象并发送FSCTL_GET_RETRIEVAL_POINTERS控制代码获取相关信息。提供了应用层的示例代码,展示了如何实现这一过程,涉及Windows API函数如CreateFile, DeviceIoControl等。" 130905910,8053702,AUTOSAR应用层与软件组件详解,"['车载系统', '软件架构', '组件通信']
摘要由CSDN通过智能技术生成
vxk   头衔: 无名氏
门派: 使徒十三
  

等级: 大天使
信息:  
威望: +5 积分: 2081  
现金: 5904 雷傲元
存款: 2552072 雷傲元
贷款: 没贷款
来自: 保密 
发帖: 1916 篇
精华: 8 篇
在线: 54 时 10 分 45 秒
注册: 2002/08/05 08:43am
造访: 2006/02/11 08:40pm
  消息 查看 搜索 好友 复制 引用 回复 只看我  [楼 主]

  最近真的很烦,FSDIO由于某些原因不能公开,只能在这里稍微谈论下RAW READ了,RAWREAD就是从磁盘读取文件得说,通过打开.//X:来进行读取文件的操作~~
不过之前要先通过给文件对象发送FSCTL_GET_RETRIEVaL_POINTERS获得相关信息——懒得自己计算的说~~
具体给个应用层例子好了(kernel mode的代码大家自己想一下,自己动手~~)::
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <winioctl.h>


ULONGLONG *GetFileClusters(
                   PCHAR lpFileName,
                   ULONG ClusterSize,
                   ULONG *ClCount,
                   ULONG *FileSize
                   )
{
   HANDLE  hFile;
   ULONG   OutSize;
   ULONG   Bytes, Cls, CnCount, r;
   ULONGLONG *Clusters = NULL;
   BOOLEAN Result = FALSE;
   LARGE_INTEGER PrevVCN, Lcn;
   STARTING_VCN_INPUT_BUFFER  InBuf;
   PRETRIEVaL_POINTERS_BUFFER OutBuf;

   hFile = CreateFile(lpFileName, FILE_READ_ATTRIBUTES,
                      FILE_SHARE_READ | FI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值