NPAddConnection3 函数 (npapi.h)

NPAddConnection3 函数将本地设备连接到网络资源。 它执行与 NPAddConnection 相同的作,但此外,还可以指定窗口的句柄,该窗口应拥有任何生成的对话框,并指定应如何建立连接。

Syntax

DWORD NPAddConnection3(
  [in] HWND           hwndOwner,
  [in] LPNETRESOURCEW lpNetResource,
  [in] LPWSTR         lpPassword,
  [in] LPWSTR         lpUserName,
  [in] DWORD          dwFlags
);

参数

[in] hwndOwner

窗口的句柄,该窗口应拥有任何消息或对话框。 此句柄仅在 dwFlags 中设置CONNECT_INTERACTIVE时才有效,并且该句柄只能用于生成身份验证所需的对话框。

[in] lpNetResource

指向指定要连接到的网络资源的 NETRESOURCE 结构的指针。 建立连接时必须设置以下字段。 其他项将被忽略。

价值 Meaning
lpRemoteName
指定要连接到的网络资源。
lpLocalName
指定要重定向的本地设备的名称,例如“F:”或“LPT1”。 此名称被视为不区分大小写,可以是空字符串或 NULL 指针。 如果字符串为空或 NULL,则该函数将连接到网络资源,而不进行重定向。
dwType
指定要连接到的资源的类型。 这可以是RESOURCETYPE_DISK、RESOURCETYPE_PRINT或RESOURCETYPE_ANY。 如果调用方不关心或不知道,则使用RESOURCETYPE_ANY值。

[in] lpPassword

指向在建立连接时要使用的密码的指针,通常是与 lpUserName 关联的密码。 可能会传入 NULL 值,使函数使用默认密码。 空字符串可用于指示无密码。 使用完密码后,通过调用 SecureZeroMemory 函数从内存中清除密码。 有关保护密码的详细信息,请参阅 “处理密码”。

[in] lpUserName

指向用于建立连接的用户名的指针。 如果 为 NULL,则应用默认用户名(当前已登录用户的用户名)。 当用户想要连接到某个资源,但该资源具有不同的分配用户名或帐户时,将使用此方法。

[in] dwFlags

以下值的任意组合。 提供程序应忽略可能设置的任何其他 dwFlags 位。

价值 Meaning
CONNECT_TEMPORARY
正在建立连接以用于浏览目的,可能很快就会发布。
CONNECT_INTERACTIVE
连接可能与用户交互,以便进行身份验证。
CONNECT_PROMPT
请勿对用户名或密码使用任何默认值,而无需为用户提供提供替代方法的机会。 仅当同时设置CONNECT_INTERACTIVE时,此标志才有效。
CONNECT_DEFERRED
不执行任何远程网络作来建立网络连接;而是还原处于“断开连接状态”的连接。 仅在某些进程尝试使用连接时尝试实际连接。 如果设置了此位,调用方必须提供 lpLocalName

此功能用于加快在登录时还原网络连接的速度。 支持它的提供程序应返回 NPGetCaps 中的WNNC_CON_DEFERRED位。

返回值

如果函数成功,它将返回WN_SUCCESS。 否则,它将返回错误代码。 这可能包括以下项之一。

返回代码 Description
WN_BAD_NETNAME
传递到 lpNetResource 的结构的 lpRemoteName 成员的值对此提供程序无效。
WN_BAD_LOCALNAME
传递到 lpNetResource 的结构的 lpLocalName 成员的值无效。
WN_BAD_PASSWORD
指定的密码无效。
WN_ALREADY_CONNECTED
传递到 lpNetResource 的结构的 lpLocalName 成员中指定的设备已连接。
WN_ACCESS_DENIED
建立连接的权限被拒绝。
WN_NO_NETWORK
网络不存在。
WN_CANCEL
用户使用提供程序显示的对话框取消了尝试建立连接。

注解

如果提供程序显示密码对话框,因为指定的凭据不足,并且设置了CONNECT_INTERACTIVE标志,则提供程序可能不会返回拒绝访问的错误代码(ERROR_LOGON_FAILURE、WN_BAD_PASSWORD、WN_ACCESS_DENIED之一)。 建议的行为是使提供程序继续要求用户提供有效凭据,直到用户提供凭据或按“取消”按钮。 如果调用 NPAddConnection3 以在 WNetConnectionDialog 或 WNetConnectionDialog1 函数期间请求连接,并返回访问被拒绝的代码,则 WNetConnectionDialog 或 WNetConnectionDialog1 函数本身将显示密码对话框。

要求

Requirement 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows操作系统
Header npapi.h
Library davclnt.lib

另请参阅

NPAddConnection