阅读:2007回复:11
内存映射问题。
我在DriverEntry里映射成功的内存为什么在用户层用deviceIocontrol调用是用ice跟进后变为不可用,在别的地方
映射的却可以用?我用的是MemoryType。 |
|
最新喜欢:yellow...
|
沙发#
发布于:2002-06-07 09:15
是不是用了分页内存
|
|
板凳#
发布于:2002-06-07 22:59
不能肯定,可能是security的问题。 在system context下做成的object,在普通用户的context(deviceiocontrol总是在process CONTEXT下,PASSIVE LEVEL夏执行的。)下不能使用。
你试着QUEUE一个WORK ITEM,换到SYSTEM CONTEXT,看看如何? |
|
地板#
发布于:2002-06-08 15:40
我是把dc000~~dFFFF映射的,总线类型是isa,与分页部分页没关系吧,是不是优先级的问题,我不能确定。问题虽能用我说的第二种方法解决,可是,为什么不能在driverentry里一次映射好,把其映射地址放在extension里,以后就可以随便调用呢?
|
|
|
地下室#
发布于:2002-06-15 14:47
怎么没人回答了 ?
|
|
|
5楼#
发布于:2002-06-16 00:24
I misunderstand you question. i thought your 映射 as section(share memory, or say section). if ISA port map to memory, i don\'t know reason.
|
|
6楼#
发布于:2002-06-19 15:15
Driver entry()在必要时可被系统交换出内存
|
|
7楼#
发布于:2002-06-22 14:12
to zdhe:
yes ,i map ISA port to memory, and i have mapped it . but if i map it in DriverEntry ,i can not operate it by dviceIocontrol.if i map it by deviceIocontrol ,i can use it. to SXJ: 我认为映射成功的内存没有交换一说吧? |
|
|
8楼#
发布于:2002-06-24 14:46
好像是
|
|
9楼#
发布于:2002-06-25 11:47
有在driverentry里映射内存的吗?
好象一般都是findadapter里吧?! |
|
10楼#
发布于:2002-06-25 22:04
用户态访问的系统内存需要使用MmMapLockedPages等函数影射到应用层,并且调用MmMapLockedPages的线程上下文要与访问的用户态上下文一致,因此最好使用DeviceIoControl中进行映射,否则不能保证用户可访问
|
|
|
11楼#
发布于:2002-07-23 21:57
to more
有在driverentry里映射内存的吗? 好象一般都是findadapter里吧?! 当然有了,我的驱动就有,而且是必要的,应为我要给 卡板下载代码。 |
|
|