0

我正在通过修改 Windows WDK 中的原始 passthru 示例,在 Windows 平台上开发类似 NAT 的软件。

这是我机器中的几个网络适配器,我想分析我收到的每个数据包,然后决定将数据包转发到哪个适配器。问题来了:调用 NdisSend 函数时不知道如何指定发送的适配器。

如下,在 NdisSend 中有一个 BindingHandle arg,但据我了解,它应该代表 passthru 中的所有适配器(可能不对:)

NdisSend(&Status, pAdapt->BindingHandle, MyPacket);

那么如何在调用 NdisSend 时指定这样的适配器:{62E9DB05-88D3-479D-A194-22D6A591DB96}?

非常感谢..

4

1 回答 1

1

我认为线索是pAdapt->BindingHandlepAdapt指向包含所有适配器特定信息的结构的指针也是如此,包括BindingHandle. 所以每个适配器都有不同BindingHandle的 ,这就是您控制哪个适配器获取数据包的方式。

此外,您可能想调查是否可以为您的驱动程序使用 WFP 而不是 NDIS。

于 2012-12-23T10:29:21.547 回答