zhangyj
驱动牛犊
驱动牛犊
  • 注册日期2002-07-17
  • 最后登录2009-07-17
  • 粉丝0
  • 关注0
  • 积分103分
  • 威望50点
  • 贡献值1点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:1748回复:2

谁能告诉我,调用ZwQueryDirectoryFile时当前的全路径?

楼主#
更多 发布于:2002-10-24 14:39
我在HOOK函数ZwQueryDirectoryFile取得了当前目录下的所有目录及文件名,但是就是不知道当前目录是哪一个,不知道各位大侠那位知道,是不是从参数hFile中获得?如果是,改调用那个函数取得?

函数原型:

NTSTATUS HookZwQueryDirectoryFile(
IN HANDLE hFile,
IN HANDLE hEvent OPTIONAL,
IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL,
IN PVOID IoApcContext OPTIONAL,
OUT PIO_STATUS_BLOCK pIoStatusBlock,
OUT PVOID FileInformationBuffer,
IN ULONG FileInformationBufferLength,
IN FILE_INFORMATION_CLASS FileInfoClass,
IN BOOLEAN bReturnOnlyOneEntry,
IN PUNICODE_STRING PathMask OPTIONAL,
IN BOOLEAN bRestartQuery)
zhangyj
驱动牛犊
驱动牛犊
  • 注册日期2002-07-17
  • 最后登录2009-07-17
  • 粉丝0
  • 关注0
  • 积分103分
  • 威望50点
  • 贡献值1点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-25 11:00
没人知道这个问题吗?还是不屑回答?.......
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-31 10:58
参考以下:
如果你想把整个文件读入内存缓冲区,应该先调用ZwQueryInformationFile获得文件的总长度:

FILE_STANDARD_INFORMATION si;
ZwQueryInformationFile(hfile, &iostatus, &si, sizeof(si), FileStandardInformation);
ULONG length = si.EndOfFile.LowPart;
 
你应从FileInformationBuffer中提取信息,你试一下.
生命驱动,活力无限!
游客

返回顶部