zzzh888
驱动牛犊
驱动牛犊
  • 注册日期2004-04-05
  • 最后登录2007-11-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1348回复:5

winxp ddk 的src里面的cancel例程,为什么运行出错?

楼主#
更多 发布于:2005-01-24 16:53
我的配置:winxp sp2 + vc.net + winxp ddk

build好以后,运行canclapp.exe,提示说 Driver: PCIDUMPR.SYS is not in the system directory.

查源程序,好像是因为CreateFile(DriverLocation,
                                 GENERIC_READ,
                                 0,
                                 NULL,
                                 OPEN_EXISTING,
                                 FILE_ATTRIBUTE_NORMAL,
                                 NULL
                                 )== INVALID_HANDLE_VALUE
导致,其中DriverLocation其实是存放cancel.sys的路径及文件名的PUCHAR,可我已经把cancel.sys拷入windows\system32了.

哪里出了问题呢?
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-24 17:07
他说得是PCIDUMPR.SYS不在系统目录,
应该吧那个拷贝过去
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
zzzh888
驱动牛犊
驱动牛犊
  • 注册日期2004-04-05
  • 最后登录2007-11-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-24 19:56
可是,哪里有这个PCIDUMPR.SYS呢?

我搜索了整个windows文件夹,没有这个文件.
zzzh888
驱动牛犊
驱动牛犊
  • 注册日期2004-04-05
  • 最后登录2007-11-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-24 20:11
是否用xpddk开发的driver在winxp sp2里面不能用?
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-25 08:58
他说得是PCIDUMPR.SYS不在系统目录,
应该吧那个拷贝过去

看了一下那个文件,问题可能的原因,
cancel.sys文件应该放在当前目录,
即和cancel.exe放到同一个目录,
程序在当前目录打开,而不是在系统目录

    driverLocLen = GetCurrentDirectory(MAX_PATH,
                                       DriverLocation
                                       );

    if (!driverLocLen) {

        printf("GetCurrentDirectory failed!  Error = %d \n", GetLastError());

        return FALSE;
    }

    //
    // Setup path name to driver file.
    //

    strcat(DriverLocation, "\\");
    strcat(DriverLocation, DRIVER_NAME);
    strcat(DriverLocation, ".sys");

    //
    // Insure driver file is in the specified directory.
    //

    if ((fileHandle = CreateFile(DriverLocation,
                                 GENERIC_READ,
                                 0,
                                 NULL,
                                 OPEN_EXISTING,
                                 FILE_ATTRIBUTE_NORMAL,
                                 NULL
                                 )) == INVALID_HANDLE_VALUE) {


        printf("Driver: PCIDUMPR.SYS is not in the system directory. \n");

        //
        // Indicate failure.
        //

        return FALSE;
    }
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
zzzh888
驱动牛犊
驱动牛犊
  • 注册日期2004-04-05
  • 最后登录2007-11-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-25 10:20
真的是这个原因,多谢.

已给分.
游客

返回顶部