请教,请教!Rasapi32.dll开发的新建网络拨号问题。(求帮忙,高分)

zuoyiww 2014-05-14 04:11:46
我用Rasapi32.dll中的RasSetEntryPropertiesA建立了一个拨号连接。
但在连接属性的“网络”页中“internet 协议版本 6 (tcp/ipv6)”一直处于未选中状态,我想让其被选择,应该怎么设置参数?

我的代码:
function Create_ADSL_Connection(sEntryName, sServer, sUsername, sPassword: string): Boolean;
var
sDeviceName, sDeviceType: string;
re: TRasEntry;
rc: TRasCredentialsA;
begin
sDeviceName := 'WAN 微型端口 (PPPOE)'; // 'WAN 微型端口 (PPTP)';
sDeviceType := 'modem';
with re do
begin
Result := False;
ZeroMemory(@re, SizeOf(re));
dwSize := SizeOf(re);
dwCountryCode := 86;
dwCountryID := 86;
dwDialExtraPercent := 75;
dwDialExtraSampleSeconds := 120;
dwDialMode := 1;
dwEncryptionType := 3;
dwfNetProtocols := 4;
dwfOptions := 83952400;
dwfOptions2 := 367;
dwFramingProtocol := 1;
dwHangUpExtraPercent := 10;
dwHangUpExtraSampleSeconds := 120;
dwRedialCount := 3;
dwRedialPause := 60;
dwType := 5;
dwEncryptionType := 3;
StrCopy(@szDeviceName[0], PAnsichar(sDeviceName));
StrCopy(@szDeviceType[0], PAnsichar(sDeviceType));
StrCopy(@szLocalPhoneNumber[0], PAnsichar(sServer));
end;
with rc do
begin
ZeroMemory(@rc, SizeOf(rc));
dwSize := SizeOf(rc);
dwMask := 11;
StrCopy(@szUserName[0], PAnsichar(sUsername));
StrCopy(@szPassword[0], PAnsichar(sPassword));
end;
if RasSetEntryPropertiesA(nil, PChar(sEntryName), @re, SizeOf(re), nil, 0) = 0 then
if RasSetCredentialsA(nil, PChar(sEntryName), @rc, 0) = 0 then
Result := True;
end;
...全文
125 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
金卯刀 2014-05-20
  • 打赏
  • 举报
回复
应该会定义在某个单元,可能你不清楚。 实在找不到,通过搜索引擎查询常量值,可以自己定义。

 Const RASNP_Ip = $0004; 
 Const RASNP_Ipv6 = $0008;
 Const RASNP_Ipx = $0002;
zuoyiww 2014-05-20
  • 打赏
  • 举报
回复
引用 2 楼 Avan_Lau 的回复:
dwfNetProtocols := 4; dwfOptions := 83952400; dwfOptions2 := 367; dwFramingProtocol := 1; ------------------------------- 不要这样写,用定义的常量替代,便于阅读。 要设置IPV6,将dwfNetProtocols := RASNP_Ipv6; dwFramingProtocol := RASFP_Ppp;(不确定RASFP_Ppp是否为1)
RASNP_Ipv6,这个变量识别不了啊。(谢谢你)
金卯刀 2014-05-15
  • 打赏
  • 举报
回复
dwfNetProtocols 同时支持ip4和ip6,这样设置 dwfNetProtocols := RASNP_Ip and RASNP_Ipv6
金卯刀 2014-05-15
  • 打赏
  • 举报
回复
dwfNetProtocols := 4; dwfOptions := 83952400; dwfOptions2 := 367; dwFramingProtocol := 1; ------------------------------- 不要这样写,用定义的常量替代,便于阅读。 要设置IPV6,将dwfNetProtocols := RASNP_Ipv6; dwFramingProtocol := RASFP_Ppp;(不确定RASFP_Ppp是否为1)
zuoyiww 2014-05-14
  • 打赏
  • 举报
回复
坐等高人出现

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧