WNetCancelConnection2A 函数 (winnetwk.h)

WNetCancelConnection2 函数取消现有网络连接。 还可以调用 函数来删除当前未连接的已记住的网络连接。

WNetCancelConnection2 函数取代了 WNetCancelConnection 函数。

语法

DWORD WNetCancelConnection2A(
  [in] LPCSTR lpName,
  [in] DWORD  dwFlags,
  [in] BOOL   fForce
);

参数

[in] lpName

指向以 null 结尾的常量字符串的指针,该字符串指定要从其断开连接的重定向本地设备或远程网络资源的名称。

如果此参数指定重定向的本地设备,则 函数仅取消指定的设备重定向。 如果 参数指定远程网络资源,则取消所有没有设备的连接。

[in] dwFlags

连接类型。 定义了以下值。

含义
0
系统不会更新有关连接的信息。

如果连接在注册表中标记为永久性,则系统会在下次登录时继续还原连接。 如果连接未标记为永久性,则函数将忽略CONNECT_UPDATE_PROFILE标志的设置。

CONNECT_UPDATE_PROFILE
系统会更新用户配置文件,其中包含连接不再是永久性连接的信息。

在后续登录操作期间,系统不会还原此连接。 (使用远程名称断开资源对持久连接没有影响。)

[in] fForce

指定在连接上有打开的文件或作业时是否应断开连接。 如果此参数为 FALSE,则函数在打开的文件或作业时失败。

返回值

如果函数成功,则返回值NO_ERROR。

如果函数失败,则返回值是 系统错误代码,例如以下值之一。

返回代码 说明
ERROR_BAD_PROFILE
用户配置文件的格式不正确。
ERROR_CANNOT_OPEN_PROFILE
系统无法打开用户配置文件来处理持久连接。
ERROR_DEVICE_IN_USE
设备已由某个活动进程使用,无法断开连接。
ERROR_EXTENDED_ERROR
发生特定于网络的错误。 若要获取错误的说明,请调用 WNetGetLastError 函数。
ERROR_NOT_CONNECTED
lpName 参数指定的名称不是重定向设备,或者系统当前未连接到 参数指定的设备。
ERROR_OPEN_FILES
有打开的文件, fForce 参数为 FALSE

注解

Windows Server 2003 和 Windows XP: WNet 函数在与登录会话关联的 MS-DOS 设备命名空间中创建和删除网络驱动器号,因为 MS-DOS 设备由 AuthenticationID 标识。 (AuthenticationID 是与登录会话关联的 本地唯一标识符(LUID)。) 这可能会影响调用其中一个 WNet 函数的应用程序,以在一个用户登录下创建网络驱动器号,但在其他用户登录下查询现有网络驱动器号。 这种情况的一个示例是,在登录会话中创建用户的第二次登录(例如,通过调用 CreateProcessAsUser 函数),第二次登录运行调用 GetLogicalDrives 函数的应用程序。 GetLogicalDrives 不会返回 WNet 函数在第一次登录时创建的网络驱动器号。 请注意,在前面的示例中,第一个登录会话仍然存在,该示例可以应用于任何登录会话,包括终端服务会话。 有关详细信息,请参阅 定义 MS-DOS 设备名称

示例

有关演示如何通过调用 WNetCancelConnection2 函数取消与网络资源的连接的代码示例,请参阅 取消网络连接

注意

winnetwk.h 标头将 WNetCancelConnection2 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winnetwk.h
Library Mpr.lib
DLL Mpr.dll

另请参阅

WNetAddConnection2

WNetAddConnection3

WNetGetConnection

Windows 网络 (WNet) 概述

Windows 网络函数