| 
			 
					阅读:1667回复:5
				 
				Huyuguang及各位大虾,能帮俺解释一下这个问题吗?
					俺定义了一个全局变量的指针指向一片常驻内存的非分页的缓冲区;在mpinitialize中用ndisallocatememory对它进行初始化。
 
							俺想在mpsend中使用这块内存分配一个buffer,存放要发送的packet中的所有数据(也就是将所有buffer中的数据合并到一个buffer中),构造成一个新的packet,发送出去。 释放buffer,packet是没有问题的,收发数据、上网都没有问题。但卸载这个驱动的时候会出现问题,俺不知道在那儿用ndisfreememory释放掉那块全局变量指向的内存。 俺试着在ptunbindadapter中释放,也试着在mphalt中释放,但softice总是显示page fault错误。 请各位帮帮忙分析一下。多谢了!  | 
	|
					
						
						
						
						
  | 
	
| 
			 沙发# 
								发布于:2002-06-26 17:30				
			俺定义了一个全局变量的指针指向一片常驻内存的非分页的缓冲区;在mpinitialize中用ndisallocatememory对它进行初始化。 是2k下的passthru吗? 好像它本身的卸载有问题,是个bug!  | 
	|
					
						
  | 
	
| 
			 板凳# 
								发布于:2002-06-26 17:41				
			
					是2k下的passthru。
 
							应当怎样解决这个bug呢?  | 
	|
					
						
  | 
	
| 
			 地板# 
								发布于:2002-06-27 07:58				
			
					我也关心一次性的资源释放问题。
 
							都说ms的bug,ptunbind不调用,那在哪释放呢? 请gjpland指教. 关注!  | 
	|
| 
			 地下室# 
								发布于:2002-06-27 11:16				
			俺定义了一个全局变量的指针指向一片常驻内存的非分页的缓冲区;在mpinitialize中用ndisallocatememory对它进行初始化。 1.在卸载时,你先不释放这块内存。看看有没有错,确定是否真的是NdisAllocateMemory,NdisFreeMemory出的错。 2.如果是,那么缓冲区是否越界使用了? 3.卸载.并不一定调用ptunbindadapter. 4.确定buffer是不是和adpater关联,是否在该adpater关闭后不在使用了。(建议在MacCloseAdapterHandler里释放)  | 
	|
					
						
  | 
	
| 
			 5楼# 
								发布于:2002-06-27 14:52				
			
					Buffer可以用ndisallocatememory分配吗?
 
							好像buffer 是一个mdl吧,可以直接用memory代替吗?比较怀疑!  | 
	|