首页
社区
课程
招聘
[求助]关于驱动与应用程序通信
发表于: 2008-4-17 22:47 4378

[求助]关于驱动与应用程序通信

2008-4-17 22:47
4378
最近正在学驱动方面的东西..
看了 sislcb 的 "驱动和应用层的三种通信方式" 这篇精华贴..
受益非浅.. 但其中说到的四种缓冲策略... 他说 msdn 里有...
请问下在 msdn 中应该搜索什么关键字去找这些信息呢? (DDK我也装了)

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 266
活跃值: (35)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
也想知道
2008-4-18 10:27
0
雪    币: 334
活跃值: (212)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
3
逼我出绝招..  人工置顶...
2008-4-18 17:48
0
雪    币: 271
活跃值: (18)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
4
GUID+ 找到的。一个标示符...

可以在DDK文档查。请注意在装DDK时,要把DDK帮助文档勾上。

#define READ_DWORD CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define READ_STRING CTL_CODE(FILE_DEVICE_UNKNOWN, 0x801, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
#define READ_BOOLEAN CTL_CODE(FILE_DEVICE_UNKNOWN, 0x802, METHOD_NEITHER, FILE_ANY_ACCESS)
2008-4-18 18:10
0
雪    币: 271
活跃值: (18)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
5
//添加变量:
  GUID CCDeathClassGuid=CCDeathDevice_CLASS_GUID;//要修改下面一个函数哦
  
  在DeviceControl()函数中对3中方式进行处理...
  
  NTSTATUS CCDeathDevice::DeviceControl(KIrp I)
  {
   
    NTSTATUS status = STATUS_SUCCESS;
  
    switch (I.IoctlCode())
    {
      case READ_DWORD:
      status=CCDeath_DWORD_Hander(I);   
      break;
    case READ_STRING:
      status=CCDeath_STRING_Hander(I);
      break;
    case READ_BOOLEAN:
      status=CCDeath_BOOLEAN_Hander(I);
      break;
    default:
      status = STATUS_INVALID_DEVICE_REQUEST;
      break;
    }
          return  status;
  }
2008-4-18 18:13
0
游客
登录 | 注册 方可回帖
返回
//