映射网络驱动器(WebDAV)不适用于Windows XP

时间:2012-06-24 14:58:32

标签: delphi winapi windows-networking

我在使用API​​方法WNetAddConnection2在Windows XP下映射网络驱动器(WebDAV)时出现问题。在Windows 7下或它就像魅力一样。我的代码:

function ConnectDrive(Drive: string; Folder: string;
Username: string; Password: string; RestoreAtLogon: Boolean): HRESULT;

var
  NetResource: TNetResource;
  dwFlags: DWORD;
begin
  with NetResource do
  begin
    dwType := RESOURCETYPE_DISK;
    lpLocalName := PChar(Drive);
    lpRemoteName := PChar(Folder);
    lpProvider := nil;
  end;

  if (RestoreAtLogon) then
    dwFlags := CONNECT_UPDATE_PROFILE
  else
    dwFlags := 0;

  Result := WNetAddConnection2(NetResource, PChar(Password),
    PChar(Username), dwFlags);
end;

每次我尝试连接Windows时都告诉我:“无法找到网络名称”或“无法找到网络路径”

正如我之前所说,在Windows 7下没有问题。

如果我使用像Netdrive这样的商业工具,这个程序在XP,Vista或Windows 7下安装驱动器没有问题。

有人有想法吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

您的问题可能有无数原因......但您可以尝试:

  • 最重要的事情:完全修补您的Windows安装(Windows Update - 最新的SP&更新)。您可以使用可以修复的错误(webdav-redirector-list
  • 进行操作
  • 确保您能够解析webdav服务器的名称(您使用的是netbios(wins),dns,hosts文件吗?)
  • 指定FQDN
  • 指定IP地址
  • 尝试使用http://servernamehttpS(if supported)代替UNC(\\servername
  • 尝试使用NET USE命令查看映射是否成功(Mapping WebDAV folder as a network drive letter
  • 检查IIS级别(Mapping a WebDav network drive
  • 的身份验证配置
  • 检查以下工作范围:WebDav@Wikipedia
  • 使用网络嗅探器捕获并分析故障期间的网络流量(WireShark,网络监视器等)。

希望这有帮助!