3

我可以通过右键单击网络连接,打开“共享”选项卡,单击“允许其他网络用户通过此计算机的 Internet 连接进行连接”复选框,然后选择“家庭网络连接”来手动完成。

在解决这个问题时,我发现了多组 COM 接口:

1)使用 INetSharingManager 的Internet 连接共享和 Internet 连接防火墙接口

它的文档说:

Internet 连接防火墙可能会在后续版本中更改或不可用。而是使用 Windows 防火墙 API。

此外,INetSharingConfiguration.EnableSharing方法看起来不像与上述过程相对应,因为它的参数不包括“家庭网络连接”。

2)带有 SP2 接口的 Windows XP 的 Windows 防火墙

它的文档进一步引用了我们:

对于 Windows Vista 及更高版本,建议使用具有高级安全 API 的 Windows 防火墙。

3)具有高级安全 API 的 Windows 防火墙

只有以下接口:INetFwPolicy2, INetFwProduct, INetFwProducts, INetFwRule, INetFwRule2, INetFwRule3, INetFwRules, INetFwServiceRestriction. 看起来不是很有希望。

现在我迷路了。我应该在 Windows 7 上使用哪个 API?

4

2 回答 2

2

乌塔平戈

你最终的选择是哪一个?

http://social.msdn.microsoft.com/Forums/en-tw/windowssdk/thread/19f7581d-29c7-4109-85d4-6a79ee4d1577

“我找到了解决方案。您必须在要连接的适配器上启用公共接口,并在您希望能够用于网络的适配器的专用接口上启用共享。”

于 2012-10-11T09:42:12.417 回答
2

如果调用是由 64 位操作系统上的 32 位程序进行的,则仅在 Win 10 周年更新上发生访问冲突。它适用于 32 位操作系统上的 32 位程序或 64 位操作系统上的 64 位程序

于 2017-01-18T11:36:18.157 回答