以编程方式启用Internet连接共享

时间:2012-09-06 07:17:56

标签: networking windows-7 routing nat

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

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

1)Internet Connection Sharing and Internet Connection Firewall Interfaces使用INetSharingManager

其文件说:

  

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

此外,INetSharingConfiguration.EnableSharing方法看起来与上述程序不符,因为它的参数不包括" Home网络连接"。

2)Windows Firewall for Windows XP with SP2 Interfaces

其文档进一步引用了我们:

  

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

3)Windows Firewall with Advanced Security API

只有以下界面:INetFwPolicy2, INetFwProduct, INetFwProducts, INetFwRule, INetFwRule2, INetFwRule3, INetFwRules, INetFwServiceRestriction。看起来不太有希望。

现在我输了。我应该在Windows 7上使用哪种API?

2 个答案:

答案 0 :(得分:2)

utapyngo

您最后的选择是什么?

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

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

答案 1 :(得分:1)

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