guolin
驱动牛犊
驱动牛犊
  • 注册日期2002-08-18
  • 最后登录2003-04-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2817回复:2

ZwDeviceIoControlFile的句柄如何获得!!!

楼主#
更多 发布于:2003-04-06 20:57
XP ifs kit中有osr的文档,其中有一片是irpman,我读了其中的一段代码,我想LOCK_VOLUME比如说lock c:,通过包含入ntifs.h我的程序能够编译,连接了,但是我调用 zwdeviceiofilecontrol,所需的第一个参数我无法获得.
我试图通过zwcreatefile来获取

KUstring  l_str(L\"\\\\Device\\\\FileDisk\\\\FileDisk0\");
InitializeObjectAttributes(&object_attributes,
                           &l_str.UnicodeString(),
                           //OBJ_KERNEL_HANDLE,        OBJ_CASE_INSENSITIVE,
                           0,
                            0);
IO_STATUS_BLOCK iosb;
status = ZwCreateFile(l_hfile,
GENERIC_READ | SYNCHRONIZE,
&object_attributes,
&iosb,
0,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_WRITE | FILE_SHARE_READ,
//FILE_SHARE_VALID_FLAGS,
FILE_OPEN,
FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT,
0,
0);
switch(iosb.Information)
{
case FILE_CREATED:
{
int i = 0;
break;
}
case FILE_OPENED:
{
int i = 0;
break;
}
case FILE_OVERWRITTEN:
{
int i = 0;
break;
}
case FILE_SUPERSEDED:
{
int i = 0;
break;
}
case FILE_EXISTS:
{
int i = 0;
break;
}
case FILE_DOES_NOT_EXIST:
{
int i = 0;
break;
}
}
我发现每次都市落入FILE_SUPERSEDED,而status显示0xc0000005就是拒绝访问。 任何提示,或者帮助,都非常感谢!!
vcmfc
驱动中牛
驱动中牛
  • 注册日期2001-03-23
  • 最后登录2008-01-28
  • 粉丝0
  • 关注0
  • 积分528分
  • 威望53点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-04-07 01:01
\\\\Device\\\\FileDisk\\\\FileDisk0 ???????
guolin
驱动牛犊
驱动牛犊
  • 注册日期2002-08-18
  • 最后登录2003-04-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-04-09 16:02
不好意思,应该是\"\\\\??\\\\X:\" 其中x是filedisk生成的
游客

返回顶部