楼主: 银砾石
收起左侧

[原创工具] 火流星(2011-2-15 FS.DLL更新---bug修复)

  [复制链接]
lrlssrf
发表于 2009-9-29 09:40:05 | 显示全部楼层
很高兴,又更新了。谢谢
银砾石
 楼主| 发表于 2009-9-29 10:22:44 | 显示全部楼层
原帖由 olly 于 2009-9-28 22:31 发表
为什么我的调用会出错


typedef BYTE * (* FSREAD)(LARGE_INTEGER base,DWORD size) ;
typedef bool (* FSWRITE)(LARGE_INTEGER base,DWORD size,BYTE * mem) ;
typedef bool ( * FS_PRE_READ)(FSREAD  ...



以下是我写的VC下调用例子,试了下,可以使用
hDev = CreateFile("[url=]\\\\.\\c[/url]:",
  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
if (hDev == INVALID_HANDLE_VALUE){MessageBox(0,"","打开磁盘失败",0);return msg.wParam;}else{MessageBox(0,"","打开磁盘成功",0);;}
HINSTANCE DLLInst = NULL;
FS_ENUMFILE  FileEnum;
FS_PRE_READ  FileRreRead;
if(NULL == DLLInst) DLLInst = LoadLibrary(_T("FS.dll"));
if (DLLInst) {
  FileEnum = (FS_ENUMFILE) ::GetProcAddress(DLLInst, "FS_ENUMFILE");
  FileRreRead = (FS_PRE_READ) ::GetProcAddress(DLLInst, "FS_PRE_READ");
}
FileRreRead(FileEnumPre);
void * node = NULL;
node=FileEnum(L"c:\\", node);  //FileEnum的值需要返回给node,参数中的node是上次得到的文件清单,用来删除链表的,不需要删除的话可以传入空,你可以先用L"c:\\windows"这样试下行不行
FS_FAT * fp=(FS_FAT *)node;//这里不一定是FS_FAT类型的,NTFS加入后则是FS_NTFS(目前未提供)类型的,需要自己根据文件系统判断什么类型
while(fp!=NULL)
{
  MessageBox(0,fp->shortname,"",0);
  fp=fp->next;
}

MessageBox(0,"","结束",0);;
///
银砾石
 楼主| 发表于 2009-9-29 10:31:26 | 显示全部楼层
VC工程文件下载
1.gif

vvvv.rar

14.56 KB, 下载次数: 37

SONGLEI
发表于 2009-9-29 10:49:00 | 显示全部楼层
这次是为编程人员更新的,纯顶了
olly
发表于 2009-9-29 11:45:42 | 显示全部楼层

回复 303楼 银砾石 的帖子

奇怪了,我用vs2008 还是一样的错误

Windows 已在 vvvv.exe 中触发一个断点。
其原因可能是堆被损坏,这说明 vvvv.exe 中或它所加载的任何 DLL 中有 Bug。
原因也可能是用户在 vvvv.exe 具有焦点时按下了 F12。
输出窗口可能提供了更多诊断信息。


断在这里:
0042D9F9  push        offset string L"d:\\" (484C74h)
0042D9FE  call        dword ptr [FileEnum]
0042DA01  add         esp,8
0042DA04  cmp         esi,esp
莫非要用vc6.0 才行
银砾石
 楼主| 发表于 2009-9-29 12:32:25 | 显示全部楼层

回复 305楼 olly 的帖子

多谢测试
还没用过比6.0高版本的VC,,装个看看。

vc2008试了下
调试模式提示错误
运行的话可以得到文件列表

具体原因我找找看

[ 本帖最后由 银砾石 于 2009-9-29 12:56 编辑 ]
olly
发表于 2009-9-29 12:58:11 | 显示全部楼层
刚在vc6.0编译,成功执行~~
olly
发表于 2009-9-29 13:02:12 | 显示全部楼层
难怪,,我前面一直是调试模式运行的~~~
wo1234
发表于 2009-9-29 13:08:04 | 显示全部楼层
太专业了,纯支持了
银砾石
 楼主| 发表于 2009-9-29 13:44:37 | 显示全部楼层
找到原因了,read传入的数据在DLL中某个地方删除了,已修改。

FS.rar

44.31 KB, 下载次数: 30

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-12-28 03:51 , Processed in 0.099713 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表