应用层调用ntdll.dll执行NTcreatefile

xun_jing 2016-09-08 08:39:07
参考了 http://blog.csdn.net/fengkuangfj/article/details/28657835 其中的代码,我在vc6+64位win7下,将“windows\\system32\\unicode.nls”换成“test\\123.txt”后,执行结果NtCreateFile failed (c0000034),找不到原因啊!不是写驱动,只是想调用一些NTDLL的函数,有什么需要注意的么?NTDLL函数都是UNICODE形式的?
...全文
1063 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
91program 2016-09-09
  • 打赏
  • 举报
回复
有没有换一个目录试试,如:直接在 D 盘下创建一个文件,而不是在 Device 中。 另外,就是确认 Device 目录是否允许创建新文件 ;目录名,使用全路径,而不是相对路径。
xun_jing 2016-09-09
  • 打赏
  • 举报
回复
FileName.Length = wcslen(_T("\\Device\\HarddiskVolume1\\test\\123.txt")) * sizeof(WCHAR);
memcpy(FileName.Buffer, _T("\\Device\\HarddiskVolume1\\test\\123.txt"), FileName.Length);
xun_jing 2016-09-09
  • 打赏
  • 举报
回复
引用 1 楼 91program 的回复:
test 目录是存在的吗?
恩,存在!
91program 2016-09-09
  • 打赏
  • 举报
回复
test 目录是存在的吗?
xun_jing 2016-09-09
  • 打赏
  • 举报
回复
引用 4 楼 91program 的回复:
有没有换一个目录试试,如:直接在 D 盘下创建一个文件,而不是在 Device 中。 另外,就是确认 Device 目录是否允许创建新文件 ;目录名,使用全路径,而不是相对路径。
都试了,还是不行!路径正常应该用 device还是d:\?反正都试失败 都是 NtCreateFile failed (c000003b)

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧