阅读:1478回复:2
关于共享内存的分配问题,给高分!!!
我在passthru的MPInitialize例程中实现共享内存分配,可就是分配不了呢?代码如下:
Status = NdisMInitializeScatterGatherDma(MiniportAdapterHandle,FALSE,0x1000); if (Status != NDIS_STATUS_SUCCESS) return NDIS_STATUS_FAILURE;//这块成功了 pAdapt->SharedMemorySize = 1024*4;//get from registry. if (pAdapt->SharedMemorySize) { NdisMAllocateSharedMemory(MiniportAdapterHandle,pAdapt->SharedMemorySize,TRUE,&pAdapt->SharedMemoryPtr,&pAdapt->SharedMemoryPhysicalAddress); if (pAdapt->SharedMemoryPtr == NULL) { DBGPRINT(\"!!!!! Could not allocate shared memory.\\n\"); } else { NdisZeroMemory(pAdapt->SharedMemoryPtr,pAdapt->SharedMemorySize); } } //输出结果是:!!!!! Could not allocate shared memory. //点解啊????????? |
|
|
沙发#
发布于:2003-11-05 11:05
据我的实验, NdisMAllocateSharedMemory func 只有在真正的 Nic 中才能使用, 对于虚拟的 Nic 或者 Intermediate Ndis Driver 中好像都不可使用.
|
|
|
板凳#
发布于:2003-11-05 14:35
在中间层驱动很多都用共享内存的哦,可能是出于性能提高所在的考虑吧,不过我已经解决不能分配的问题了。;)
|
|
|