newlife
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2005-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1407回复:4

filedisk问题(关于如何获取镜像的路径)(增加15分)

楼主#
更多 发布于:2005-02-24 22:30
filedisk.c已经了解的差不多了,但是有两处要请教。

int
Mount(         ………………
………………
………………
{
    char    VolumeName[] = \"\\\\\\\\.\\\\ :\";
    char    DeviceName[255];
    HANDLE  Device;
    DWORD   BytesReturned;

为什么要给volumename赋值\"\\\\\\\\.\\\\ :\";?

另外
main函数中
strcpy(OpenFileInformation->FileName, \"\\\\??\\\\\");

这一段复制\"\\\\??\\\\\"给filename的作用是?

以上两个是否与获取img文件的路径有关?


[编辑 -  2/25/05 by  newlife]

最新喜欢:

bannicobannic...
zhangshengyu
驱动老牛
驱动老牛
  • 注册日期2003-10-03
  • 最后登录2016-07-26
  • 粉丝0
  • 关注0
  • 积分792分
  • 威望696点
  • 贡献值41点
  • 好评度499点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2005-02-25 10:25
传递到内核中用的 ZwCreateFile 的文件名前需要\\\\??\\\\
---内核开发合作或提供基础技术服务QQ:22863668 ---
newlife
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2005-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-25 16:56
那么volumename的赋值呢?
newlife
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2005-05-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-25 21:03
HANDLE createfile(
lpctstr lpfilename,
…………
…………
…………
)

lpfilename当时用该函数的unicode版本时,可以使该字符串的长度达到32000,并且在路径前使用“\\\\?\\\\“


是否这就是使用\\\\?\\\\的原因?

那么volumename呢?
highgo119
驱动牛犊
驱动牛犊
  • 注册日期2005-01-22
  • 最后登录2009-02-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-03-11 16:17
strcpy(OpenFileInformation->FileName, \"\\\\??\\\\\");即是在filename(dos设备名)前面加上dos设备目录\\??,在调用ZwCreateFile时它将到目录\\??下寻找这个dos设备名的符号连接以跟具体的设备对象连接起来。

\"\\\\\\\\.\\\\ :\"是dos设备名的格式

游客

返回顶部