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

调用ZwCreateFile出错!

楼主#
更多 发布于:2003-02-22 22:13
   在写驱动时,我想记录一些日志。调用ZwCreateFile创建或打开一个系统目录下的文件时,总是自动死机后重启,函数如下:
#define DEFAULT_LOG_FILE_NAME L\"\\\\SystemRoot\\\\log.log\"
RtlInitUnicodeString(&szFileName,DEFAULT_LOG_FILE_NAME);
InitializeObjectAttributes(&ObjectAttributes,&szFileName,OBJ_CASE_INSENSITIVE,NULL,NULL);
Status = ZwCreateFile(&hFile,GENERIC_WRITE | GENERIC_READ | SYNCHRONIZE,&ObjectAttributes,&IoStatusBlock,0,FILE_ATTRIBUTE_NORMAL,FILE_SHARE_READ | FILE_SHARE_WRITE,FILE_OPEN_IF,FILE_SYNCHRONOUS_IO_NONALERT,NULL,0);

请问这是怎么回事,该如何解决?谢谢~

最新喜欢:

cyliucyliu
yuke
驱动牛犊
驱动牛犊
  • 注册日期2001-09-02
  • 最后登录2009-04-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-08 16:38
WCHAR filename[50] = L"\\??\\C:\\log.log";
HANDLE handle;
OBJECT_ATTRIBUTES oa;
UNICODE_STRING usname;
IO_STATUS_BLOCK iosb;

RtlInitUnicodeString(&usname, filename);
InitializeObjectAttributes(&oa, &usname, \
OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL);
status = ZwCreateFile(&handle, GENERIC_READ, &oa, &iosb, NULL, \
FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ, FILE_OPEN, \
FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0);
if(status != STATUS_SUCCESS) return FALSE;


这样做应该是没什么问题。

你可以登录 http://www.110i.net,通过 110i@110i.net 和我联系,我们一起来研究和探讨一下。

再见!
[color=blue]
bagpacker
驱动牛犊
驱动牛犊
  • 注册日期2006-11-13
  • 最后登录2007-10-18
  • 粉丝0
  • 关注0
  • 积分275分
  • 威望33点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-03-12 14:18
L"\\??\\C:\\log.log";
游客

返回顶部