拥有一个包含三个网卡的PCI设备,由Altera以太网内核提供。必须为WinXPe实现,因此NDIS5.1。MVP建议为每个核心实现一个WDM驱动程序,然后实现一个与各个WDM驱动程序对话的NDIS驱动程序,我不理解这一点,因为单个NDIS驱动程序似乎没有任何多端口或通道的概念。
如果在DriverEntry中,NDIS驱动程序为每个以太网核心调用一次NdisMInitializeWrapper,结果会怎样?它每次都需要使用相同的DriverObject调用,但可能每次调用都会得到不同的NdisWrapperHandle。这个惟一的NdisWrapperHandle可以用作调用所有其他NDIS驱动程序函数的上下文说明符。
发布于 2012-04-05 13:38:16
这是行不通的;每个驱动程序只能调用一次NdisMInitializeWrapper。
规则是:每个网络接口需要有一个设备节点。因此,如果需要3个以太网接口,则系统中需要3个设备节点。有几种方法可以做到这一点:
PCI
这种方法需要相当多的工作,因为现在您需要编写两个驱动程序。幸运的是,WDF使得为普通用户编写总线驱动程序成为可能。您的虚拟硬盘需要实现代码,以便在子网络微型端口之间共享资源(中断、配置空间)。
这些大牌供应商在选择选项#1还是选项#2的问题上存在分歧,因此这两个选项都可以工作。从你的描述中,听起来你已经得到了实现VBD的建议。
https://stackoverflow.com/questions/10018269
复制相似问题