版块
论坛
喜欢
话题
应用
搜索
登录
注册
wangbnly的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=165567
应用程序如何访问内核申请的一块静态内存
操作系统环境:Windows XP/2003 问题:在应用程序如何才能得到访问这块空间的用户虚拟地址? 我在驱动中分配了一块共享空间,现在已知这块空间的内核虚拟地址,物理地址。应用程序也可以得到这块空间的虚拟地址和物理地址,但是却不能直接使用内核虚拟地址进行访问,因为每个应用程序...
全文
回复
(
8
)
2008-07-15 10:32
来自版块 -
内核编程
◆
◆
表情
告诉我的粉丝
提 交
wangbnly
:
请教具体怎么做
(2008-07-22 09:20)
回复
ysy
:
MmMapxxx
(2008-07-18 13:09)
回复
wangbnly
:
我申请的这块内存是存放DMA传输过来的数据,当内存块被放满之后,通过IOCTL告诉应用程序自动去取。但是却不能用IOCTL去传输这么大一块数据,因为下一块数据马上又会来,所以最快的方式是让应用程序直接访问这块空间,实现数据零拷贝。 并且这块空间要同时让好几个应用程序访问,所以我希...
(2008-07-16 10:28)
回复
stevensn
:
应用层访问的常规方法就是IOCTL,user mode 和kernel mode是隔离的,联通的方式就是DeviceIoControl,当然这是对于常规的WDM驱动,显示驱动可能不同。 你指的效率低,是指应用程序采用轮询的方式吧,如果采用驱动中进行事件通知的方式,效率是不会低,也...
(2008-07-16 09:20)
回复
wangbnly
:
引用第2楼petsatan于2008-07-15 16:32发表的 : 可以通过驱动 自定义IOCTL码来实现。 我申请的是一片很大的空间用来存放数据,让上层直接访问 用IOCTL好像效率就慢了一些。 引用第3楼stevensn于2008-07-15 17:26发表的 : ...
(2008-07-15 20:56)
回复
stevensn
:
用MDL转换不知道是否可以?
(2008-07-15 17:26)
回复
petsatan
:
可以通过驱动 自定义IOCTL码来实现。
(2008-07-15 16:32)
回复
wangbnly
:
第一次发言,麻烦知道的大大给个提示
(2008-07-15 14:38)
回复
wangbnly
加关注
写私信
0
关注
0
粉丝
8
帖子
返回顶部