dohard
驱动牛犊
驱动牛犊
  • 注册日期2004-03-25
  • 最后登录2004-08-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1604回复:6

不同的驱动之间怎样通讯?

楼主#
更多 发布于:2004-03-26 14:29
不同的驱动之间怎样通讯?
比如说磁盘驱动和ndis驱动之间通讯可以采用那些方法?
dohard
驱动牛犊
驱动牛犊
  • 注册日期2004-03-25
  • 最后登录2004-08-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-30 14:22
已找到方法! :D
flyhobo
驱动小牛
驱动小牛
  • 注册日期2004-03-05
  • 最后登录2005-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-03-30 15:29
已找到方法! :D


公布一下吗 :P
好好过日子
yongliliu
驱动小牛
驱动小牛
  • 注册日期2003-10-20
  • 最后登录2007-09-28
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-30 15:34
给大家介绍一下如何?使用DeviceIoControl应该可以
成功不是天上掉下来的免费的丰盛的晚餐!
dohard
驱动牛犊
驱动牛犊
  • 注册日期2004-03-25
  • 最后登录2004-08-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-01 13:09
1.在driver1中定义一个全局变量,
VOID _declspec(dllexport) sharedmemory =NULL;
2.在driver1中分配此内存并在适当的时候给其赋值:
g_SharedMem =(PVOID)ExAllocatePool(NonPagedPool, memsize);
3.在diver2中作如下声明:
VOID extern _declspec(dllimport) g_DrvSharedMem;
4.在编译diver2时,在Source文件中加入driver1的LIB文件;
flyhobo
驱动小牛
驱动小牛
  • 注册日期2004-03-05
  • 最后登录2005-05-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-01 15:27
1.在driver1中定义一个全局变量,
VOID _declspec(dllexport) sharedmemory =NULL;
2.在driver1中分配此内存并在适当的时候给其赋值:
g_SharedMem =(PVOID)ExAllocatePool(NonPagedPool, memsize);
3.在diver2中作如下声明:
VOID extern _declspec(dllimport) g_DrvSharedMem;
4.在编译diver2时,在Source文件中加入driver1的LIB文件;


我想通过IRP也可以吧!但具体还没有试验。
有清楚的吗?介绍一下方法
好好过日子
kangzh
驱动小牛
驱动小牛
  • 注册日期2004-03-09
  • 最后登录2012-08-06
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望22点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-04-13 17:53
我这么做了,但好像还是不行,如下提示
    e:\\driversource\\xpassthru
BUILD: Linking e:\\driversource\\xpassthru directory
Linking Executable - e:\\run\\i386\\xpassthru.sys for i386
recv.obj() : error LNK2001: unresolved external symbol __imp__gScsi2NdisMemory
e:\\run\\i386\\xpassthru.sys() : error LNK1120: 1 unresolved externals
BUILD: Done
    1 executable built - 11 Warnings - 2 Errors



source文件中这么定义的:


TARGETLIBS=$(DDK_LIB_PATH)\\ndis.lib e:\\run\\i386\\vdisk.lib
C_DEFINES=$(C_DEFINES) -DNDIS40 -DNDIS_MINIPORT_DRIVER -DNDIS40_MINIPORT

INCLUDES=..\\..\\inc

SOURCES=network.c \\
xpassthru.c     \\
         minihook.c \\
         prothook.c \\
send.c \\
recv.c \\
packet.c

游客

返回顶部