riceworm
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2008-10-22
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1478回复:4

请问:驱动程序和应用程序间能否通过DeviceIoControl 传递结构体?20分

楼主#
更多 发布于:2005-01-14 15:47
请问各位大虾,驱动程序和应用程序间能否通过DeviceIoControl 传递结构体,

  结构如下:
  typedef struct _STRUCT_TESTDATA{
        char  m_ParameterOne[32];
        char  m_ParameterTwo[4];  
        char  m_ParameterThree[32];
        short m_Flag;  
  }STRUCT_TESTDATA,PSTRUCT_TESTDATA;

请大虾伸出援助之手,就人与水火之中,我是个新手,希望大家能提供调用段和处理段的相关代码。多谢,多谢
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-14 16:23
请问各位大虾,驱动程序和应用程序间能否通过DeviceIoControl 传递结构体,

  结构如下:
  typedef struct _STRUCT_TESTDATA{
        char  m_ParameterOne[32];
        char  m_ParameterTwo[4];  
        char  m_ParameterThree[32];
        short m_Flag;  
  }STRUCT_TESTDATA,PSTRUCT_TESTDATA;

请大虾伸出援助之手,就人与水火之中,我是个新手,希望大家能提供调用段和处理段的相关代码。多谢,多谢


STRUCT_TESTDATA  testdata ;

// 初始化数据
memset(&testdata , 0 , sizeof(STRUCT_TESTDATA) ) ;
bResult = DeviceIoControl(hDevice,  code , &testdata, sizeof(STRUCT_TESTDATA), NULL , 0, &dwReturn, NULL);
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
riceworm
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2008-10-22
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-14 16:30
不好意思,你能否再告诉我驱动层该怎样处理应用层传递的数据啊?

利用 DbgPrint 将传入的数据显示出来;

我先给你记上10分,非常感谢你的回答。
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-14 17:50
自己定义一个CTL_CODE,然后在驱动的DeviceIoControl历程里处理就可以了,这种例子很多的。
在交流中学习。。。
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-14 17:52
对了,可以参考filemon,里面的代码挺好的
在交流中学习。。。
游客

返回顶部