问题描述
我正在使用 Delphi XE3 并尝试使用“HNetCfg.NATUPnP”创建端口转发 (UPnP)。经过一些研究,这是我目前得到的:
function PortMapAdd(const ExtPort,IntPort: DWORD;
const IPAdd,Protocol,Descript: string): Boolean;
var
Nat,Ports: Variant;
begin
Result := False;
try
CoInitialize(nil);
try
Nat := CreateOleObject('HNetCfg.NATUPnP');
Ports := Nat.StaticPortMappingCollection;
if not VarIsClear(Ports) then
begin
Ports.Add(ExtPort,UpperCase(Protocol),IntPort,IPAdd,True,Descript);
Result := True;
end;
finally
CoUninitialize;
end;
except
on E:Exception do raise;
end;
end;
以上代码在 Windows 7 上运行良好,但在 Windows 10 上 VarIsClear
总是返回 true
。
Application-UPnP
在我的路由器配置中启用,UPnP User Interface (network discovery)
在 Windows 10 中启用。
请问,我还需要检查其他配置吗?或者代码可能与 Windows 10 不兼容?感谢您的帮助,谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)