首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WEC7中与MmGetPhysicalAddress等效的API

WEC7中与MmGetPhysicalAddress等效的API
EN

Stack Overflow用户
提问于 2017-07-26 17:29:43
回答 2查看 158关注 0票数 1

我正在将Windows7网络驱动程序代码移植到WEC7。我被MmGetPhysicalAddress接口卡住了。我在WEC7中找不到与此对应的接口。有没有人能帮助我们继续下去..

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2017-07-27 09:56:59

MmGetPhysicalAddress在Windows CE中不可用,但您可能无论如何都不需要它。

InitializeHandlerEx回调中的某个地方,驱动程序应该调用NdisMAllocateSharedMemory来分配RX/TX缓冲区。

NdisMAllocateSharedMemory同时返回分配的缓冲区的虚拟和物理地址,因此您可以保留物理地址,这样就不需要向操作系统请求它了。

正常情况下,物理地址将与虚拟缓冲区地址一起保存在驱动程序特定的每个缓冲区结构中。

您可以在C:\WINCE700\public\COMMON\oak\drivers\netcard\e100bex\60中找到此功能的示例实现。在mp_init.c中,请注意NICAllocAdapterMemory如何调用NdisMAllocateSharedMemory并将每个缓冲区的物理地址存储在pMpTxbuf->BufferPa中。

票数 0
EN

Stack Overflow用户

发布于 2017-07-27 13:02:04

您可能会看到NDIS:https://msdn.microsoft.com/en-us/library/ee482989.aspx,但是如果缓冲区不是使用NDIS函数分配的,那么它在物理内存中可能不是完全连续的,因此您可能需要检查这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45322867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档