Digital
驱动牛犊
驱动牛犊
  • 注册日期2001-08-08
  • 最后登录2008-07-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望6点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2686回复:10

求教各位高手,如何使PASSTHRU与应用程序通讯(交换数据)??

楼主#
更多 发布于:2001-08-08 13:57
我想很多人都想知道的,大家讨论吧
相信自已!
wlw
wlw
驱动牛犊
驱动牛犊
  • 注册日期2001-05-15
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-08-08 15:59
我也正在研究呢,据说whnetbbs上有hu大侠的文章,只怪小弟我很菜,没找到(谁有珍藏就快贴上来吧)。其实只要贴段实现代码就可以了。
hwang
bingjie
驱动小牛
驱动小牛
  • 注册日期2001-08-15
  • 最后登录2007-11-29
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-08-15 20:42
正规途径是在DriverEntry中调用NdisMRegisterDevice,另一种方法则是再另外创建一个设备对象,这也是我最爱用的一种方法,完整的实现参见Device.c, 其中Adapter结构中可添加你所需要的信息。
另只要在DriverEntry文件中添加如下调用

static VOID ( *gpUnloadFunc )(  IN PDRIVER_OBJECT );

extern NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
);

VOID DriverUnload( IN PDRIVER_OBJECT DriverObject );


#pragma hdrstop
#pragma NDIS_INIT_FUNCTION(DriverEntry)
NTSTATUS
DriverEntry(
    IN PDRIVER_OBJECT DriverObject,
    IN PUNICODE_STRING RegistryPath
    )
{

//
// 其它部分省略
//

// 初始化设备对象
if( DeviceInitialize(DriverObject) )
{
   TRACE("Success , exit driverEntry");

   // 做退出时的释放内存工作
   gpUnloadFunc = DriverObject->DriverUnload;
   DriverObject->DriverUnload = DriverUnload;
}

return STATUS_SUCCESS;
}

VOID
DriverUnload(
IN PDRIVER_OBJECT DriverObject
)
{
    // 释放设备对象
    DeviceDestroy();

    if( gpUnloadFunc )
        ( *gpUnloadFunc )( DriverObject );
}

Digital
驱动牛犊
驱动牛犊
  • 注册日期2001-08-08
  • 最后登录2008-07-08
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望6点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-08-15 22:06
我的QQ:15614487
EMAIL:digitalbrain@163.com
个人主页:www.ishacker.com

在下愿与大侠交个朋友!
不知大侠如何联系?
相信自已!
SwordMan
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2007-07-27
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-04 17:17
代码下载不了,可否email一份。

wlwld@263.net

thanks!
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-04 17:21
passthru是一个WDM,讲WDM的书都有讲怎么和上层程序通信,交换数据的问题,
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
activei
驱动牛犊
驱动牛犊
  • 注册日期2002-11-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-05 10:08
任何的驱动都可以用CREATEFILE,然后READFILE,WRITEFILE,DEVICEIOCONTROL吗!
PASSTHRU例外呀?
驱动通知应用如何做,论坛有介绍,不过未明白,望高人点明!
路在脚下
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-05 10:10
任何的驱动都可以用CREATEFILE,然后READFILE,WRITEFILE,DEVICEIOCONTROL吗!
PASSTHRU例外呀?
驱动通知应用如何做,论坛有介绍,不过未明白,望高人点明!
 


passthru那里例外了?他也是一个WDM的驱动,也可以用那些方法的
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
jasic2002
驱动牛犊
驱动牛犊
  • 注册日期2003-10-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望37点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-11-17 23:10
给我一份。
jasic2002@126.com
 谢谢
zhleonix
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-11-22 08:58
给我一份
mail:zhleonix@avl.com.cn
hclily
驱动牛犊
驱动牛犊
  • 注册日期2003-11-19
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-11-23 21:25
我也想要一份,hclily@263.net
谢谢!
游客

返回顶部