luis12
驱动牛犊
驱动牛犊
  • 注册日期2007-01-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分240分
  • 威望25点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
阅读:1125回复:1

求助!急!谢谢!

楼主#
更多 发布于:2007-03-31 22:08
我用DriverWorks创建了一个驱动
根据向导,在其中添加了三个控制码

序号是:0x800,0x801,0x802  (默认值)

生成编译,运行都正常;

后来希望再添加一个IO控制,所以手动在以下几个地方添加代码:
(模仿向导生成的代码)

1.MemTestioctl.h 头文件中添加  (MemTest是工程名)

#define MEMTEST_IOCTL_TEST CTL_CODE(FILE_DEVICE_UNKNOWN, 0x803, METHOD_BUFFERED, FILE_ANY_ACCESS)


2.MemTestDevice.cpp文件
  NTSTATUS MemTestDevice::DeviceControl(KIrp I)  函数中的switch里添加

case MEMTEST_IOCTL_TEST:
     status = MEMTEST_IOCTL_TEST_Handler(I);
      break;

3.MemTestDevice.cpp文件

NTSTATUS MemTestDevice::MEMTEST_IOCTL_TEST_Handler(KIrp I)
{
.....(代码略)
}


问题是:

这样添加是否完整
不知道是不是哪里还需要添加代码

希望大家指教!
急!谢谢!
luis12
驱动牛犊
驱动牛犊
  • 注册日期2007-01-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分240分
  • 威望25点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-04-07 10:11
 
游客

返回顶部