| 
			 
					阅读:1303回复:4
				 
				在DS中访问memory空间,如何传递偏移量
					用DS做一pci的memorry空间读写,我用readfile/writefile将用户程序的读写请求传至驱动,然后在驱动中调用KmemoryRange的ind/outd,但我没办法将偏移量传递过去,不知如何处理?请大侠指教。谢谢!				 
							 | 
	|
| 
			 沙发# 
								发布于:2003-06-28 14:06				
			
					我以前看到过一些帖子上说,用DEVICEIOCTL来传递这个偏移量,两个缓冲区都用上。				 
							 | 
	|
					
						
  | 
	
| 
			 板凳# 
								发布于:2004-01-11 17:30				
			
					具体怎么用?				 
							 | 
	|
					
						
  | 
	
| 
			 地板# 
								发布于:2004-01-12 17:27				
			
					你把offset和数据放在一个数组里一起传过去不就行了?
 
							比如: 1、应用程序: ULONG num=0; ULONG val[2]; val[0]=offset; ReadFile(hDevice,val,sizeof(val),&num,NULL); 2、驱动程序: KMemory Mem(I.Mdl()); PUSHORT pBuffer = (PUSHORT) Mem.MapToSystemSpace(); ULONG offset=(pBuffer[0]; pBuffer[1] = m_BAR2.ind(offset); 如此一来,val[1]中就存有读取的数据了  | 
	|
| 
			 地下室# 
								发布于:2004-01-13 02:27				
			
					dswei说的对!把你要传的数据放在一个数组里面一起传过去。				 
							 | 
	|