q065700
驱动牛犊
驱动牛犊
  • 注册日期2007-11-09
  • 最后登录2008-05-08
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
阅读:1274回复:2

文件打开失败,老问题了。

楼主#
更多 发布于:2008-04-18 09:02
#define RULE_FILE_NAME        L"\\SystemRoot\\xefs.dat"


    PWCHAR Rule;
    UNICODE_STRING FileName;
    IO_STATUS_BLOCK IoStatus;
    FILE_STANDARD_INFORMATION StandardInfo;
    ULONG Length;
    OBJECT_ATTRIBUTES ObjectAttributes;
    NTSTATUS Status;
    HANDLE FileHandle = NULL;

    RtlInitUnicodeString(&FileName, RULE_FILE_NAME);



    InitializeObjectAttributes(&ObjectAttributes,
        &FileName,
        OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
        NULL,
        NULL
        );

    do
    {
        Status = ZwCreateFile(FileHandle,
                                (SYNCHRONIZE | FILE_READ_DATA),
                                &ObjectAttributes,
                                &IoStatus,
                                NULL,
                                FILE_ATTRIBUTE_NORMAL,
                                0,
                                FILE_OPEN,
                                FILE_SYNCHRONOUS_IO_NONALERT | FILE_NO_INTERMEDIATE_BUFFERING,
                                NULL,
                                0
                                );
        if (!NT_SUCCESS(Status))
        {
            KdPrint(("1===1\n"));
            break;
        }


我把xefs.dat文件放到C盘windows文件夹下了,但每次运行都失败。
alwaysrun
驱动小牛
驱动小牛
  • 注册日期2006-06-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分1059分
  • 威望752点
  • 贡献值1点
  • 好评度98点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-18 09:41
路径不对啊
如果在C:\Windows下,那路径应该为
\??\c:\windows
一颗平常的心!
q065700
驱动牛犊
驱动牛犊
  • 注册日期2007-11-09
  • 最后登录2008-05-08
  • 粉丝0
  • 关注0
  • 积分530分
  • 威望54点
  • 贡献值0点
  • 好评度53点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-04-18 10:44
alwaysrun 我已经试过你说的那个了。还是不对。
游客

返回顶部