阅读:1355回复:3
分配内存问题
下面是一个ioctrl函数,有相应的用户态函数调用这段代码,请问在没添加NdisAllocateMemory函数时程序是正常的,加上后一运行到这里就蓝屏,是分配内存方法不对吗?例子中还有内存锁,应该和锁没有关系吧?
PIO_STACK_LOCATION pIrpSp; NTSTATUS NtStatus = STATUS_SUCCESS; lclStatus=NdisAllocateMemory(buff1,20,0,noMaxAddr); if (NDIS_STATUS_SUCCESS != lclStatus) { NDIS_STATUS_TO_NT_STATUS(lclStatus, _pNtStatus_tmp); NtStatus = *_pNtStatus_tmp; goto Done; } //NdisZeroMemory(buff1, 20); //NdisMoveMemory( // buff1, // "hello user space ", // 17 // ); NdisMoveMemory( ioBuffer, "hello user space ", 17 ); BytesReturned=17; Done: NdisFreeMemory(buff1,20,0); |
|
|
沙发#
发布于:2004-10-09 11:13
错误信息抓下来了
DRIVER_IRQL_NOT_LESS_OR_EQUAL,接着就重新启动了 |
|
|
板凳#
发布于:2004-10-09 11:42
换成数组后程序就正常了,但是还是不明白用内存分配为什么就不行
|
|
|
地板#
发布于:2004-10-13 11:34
难道大家没有遇到这种问题?不过现在问题解决了,我没用ndis提供的内存分配函数了就正常了,其实我看头文件好象都差不多,另人费解的问题.还是觉得不爽
|
|
|