WNetAddConnectionA 函数 (winnetwk.h)
WNetAddConnection 函数使调用应用程序能够将本地设备连接到网络资源。 成功的连接是永久性的,这意味着系统会在后续登录操作期间自动还原连接。
语法
DWORD WNetAddConnectionA(
[in] LPCSTR lpRemoteName,
[in] LPCSTR lpPassword,
[in] LPCSTR lpLocalName
);
参数
[in] lpRemoteName
指向常 量以 null 结尾的字符串的指针,该字符串指定要连接到的网络资源。
[in] lpPassword
指向以 null 结尾的常量字符串的指针,该字符串指定要用于建立连接的密码。 此参数通常是与当前用户关联的密码。
如果此参数为 NULL,则使用默认密码。 如果字符串为空,则不使用任何密码。
Windows Me/98/95: 此参数必须为 NULL 或空字符串。
[in] lpLocalName
指向以 null 结尾的常量字符串的指针,该字符串指定要重定向的本地设备的名称,例如“F:”或“LPT1”。 字符串以不区分大小写的方式进行处理。 如果字符串为 NULL,则无需重定向本地设备即可连接到网络资源。
返回值
如果函数成功,则返回值NO_ERROR。
如果函数失败,则返回值是 系统错误代码,例如以下值之一。
返回代码 | 说明 |
---|---|
|
调用方无权访问网络资源。 |
|
lpLocalName 参数中指定的设备已连接。 |
|
设备类型和资源类型不匹配。 |
|
lpLocalName 参数中指定的值无效。 |
|
lpRemoteName 参数中指定的值无效或无法定位。 |
|
用户配置文件的格式不正确。 |
|
系统无法打开用户配置文件来处理持久连接。 |
|
在 lpLocalName 参数中指定的设备条目已在用户配置文件中。 |
|
发生特定于网络的错误。 若要获取错误的说明,请调用 WNetGetLastError 函数。 |
|
指定的密码无效。 |
|
由于网络组件未启动或无法使用指定名称,因此无法执行该操作。 |
|
网络不可用。 |
注解
在 Windows Server 2003 和 Windows XP 上,WNet 函数在与登录会话关联的 MS-DOS 设备命名空间中创建和删除网络驱动器号,因为 MS-DOS 设备由 AuthenticationID 标识 (
与登录会话关联的本地唯一标识符(LUID)。) 这可能会影响调用其中一个 WNet 函数以在一个用户登录下创建网络驱动器号的应用程序,但在其他用户登录下查询现有网络驱动器号。 这种情况的一个示例是,在登录会话中创建用户的第二次登录(例如,通过调用 CreateProcessAsUser 函数),第二次登录运行调用 GetLogicalDrives 函数的应用程序。 对 GetLogicalDrives 函数的 调用不会返回 WNet 函数调用在第一次登录下创建的网络驱动器号。 请注意,在前面的示例中,第一个登录会话仍然存在,该示例可以应用于任何登录会话,包括终端服务会话。 有关详细信息,请参阅 定义 MS-DOS 设备名称。
在 Windows Server 2003 和 Windows XP 上,如果作为 LocalSystem 运行的服务调用 WNetAddConnection 函数,则映射的驱动器对所有用户登录会话可见。
注意
winnetwk.h 标头将 WNetAddConnection 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winnetwk.h |
Library | Mpr.lib |
DLL | Mpr.dll |