Compartir a través de


Función NPAddConnection3 (npapi.h)

La función NPAddConnection3 conecta un dispositivo local a un recurso de red. Realiza la misma operación que NPAddConnection , pero además le permite especificar un identificador para la ventana que debe poseer los cuadros de diálogo resultantes y especificar cómo se debe establecer la conexión.

Syntax

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

Parámetros

[in] hwndOwner

Identificador de una ventana que debe poseer mensajes o cuadros de diálogo. Este identificador solo es válido si CONNECT_INTERACTIVE está establecido en dwFlags y el identificador solo debe usarse para generar cuadros de diálogo necesarios para la autenticación.

[in] lpNetResource

Puntero a una estructura NETRESOURCE que especifica el recurso de red al que conectarse. Los campos siguientes deben establecerse al realizar una conexión. Los demás se omiten.

Importancia Meaning
lpRemoteName
Especifica el recurso de red al que se va a conectar.
lpLocalName
Especifica el nombre de un dispositivo local que se va a redirigir, como "F:" o "LPT1". Este nombre se trata como no distingue mayúsculas de minúsculas y puede ser la cadena vacía o el puntero NULL . Si la cadena está vacía o NULL, la función se conecta al recurso de red sin realizar una redirección.
dwType
Especifica el tipo de recurso al que conectarse. Esto puede ser RESOURCETYPE_DISK, RESOURCETYPE_PRINT o RESOURCETYPE_ANY. El valor RESOURCETYPE_ANY se usa si el autor de la llamada no le importa o no lo sabe.

[in] lpPassword

Puntero a la contraseña que se va a usar para realizar la conexión, normalmente la contraseña asociada a lpUserName. El valor NULL se puede pasar para hacer que la función use la contraseña predeterminada. Se puede usar una cadena vacía para indicar que no hay contraseña. Cuando haya terminado de usar la contraseña, desactive la memoria llamando a la función SecureZeroMemory . Para obtener más información sobre cómo proteger la contraseña, consulte Control de contraseñas.

[in] lpUserName

Puntero al nombre de usuario usado para realizar la conexión. Si es NULL, se aplica el nombre de usuario predeterminado (el del usuario que ha iniciado sesión actualmente). Esto se usa cuando el usuario quiere conectarse a un recurso, pero tiene un nombre de usuario o una cuenta asignados diferentes para ese recurso.

[in] dwFlags

Cualquier combinación de los valores siguientes. El proveedor debe omitir cualquier otro bit de dwFlags que se pueda establecer.

Importancia Meaning
CONNECT_TEMPORARY
La conexión se establece con fines de exploración y probablemente se liberará rápidamente.
CONNECT_INTERACTIVE
La conexión puede tener interacción con el usuario con fines de autenticación.
CONNECT_PROMPT
No use ningún valor predeterminado para los nombres de usuario ni las contraseñas sin ofrecer al usuario la posibilidad de proporcionar una alternativa. Esta marca solo es válida si también se establece CONNECT_INTERACTIVE.
CONNECT_DEFERRED
No realice ninguna operación de red remota para establecer la conexión de red; en su lugar, restaure la conexión en un "estado desconectado". Intente la conexión real solo cuando algún proceso intente usar la conexión. Si se establece este bit, el autor de la llamada debe proporcionar lpLocalName.

Esta característica se usa para acelerar la restauración de conexiones de red al iniciar sesión. Un proveedor que lo admita debe devolver el bit WNNC_CON_DEFERRED en NPGetCaps.

Valor devuelto

Si la función se ejecuta correctamente, devolverá WN_SUCCESS. De lo contrario, devolverá un código de error. Esto puede incluir uno de los siguientes elementos.

Código de retorno Description
WN_BAD_NETNAME
El valor del miembro lpRemoteName de la estructura que se pasa a lpNetResource no es válido para este proveedor.
WN_BAD_LOCALNAME
El valor del miembro lpLocalName de la estructura que se pasa a lpNetResource no es válido.
WN_BAD_PASSWORD
La contraseña especificada no es válida.
WN_ALREADY_CONNECTED
El dispositivo especificado en el miembro lpLocalName de la estructura que se pasa a lpNetResource ya está conectado.
WN_ACCESS_DENIED
Se deniega el permiso para establecer la conexión.
WN_NO_NETWORK
La red no está presente.
WN_CANCEL
El usuario canceló el intento de realizar la conexión mediante un cuadro de diálogo mostrado por el proveedor.

Observaciones

Si un proveedor muestra un cuadro de diálogo de contraseña porque las credenciales especificadas no son suficientes y se establece la marca CONNECT_INTERACTIVE, es posible que el proveedor no devuelva un código de error denegado de acceso (uno de ERROR_LOGON_FAILURE, WN_BAD_PASSWORD, WN_ACCESS_DENIED). El comportamiento sugerido es que el proveedor siga pidiendo al usuario credenciales válidas hasta que el usuario los proporciona o presiona un botón "cancelar". Si se llama a NPAddConnection3 para realizar la conexión solicitada durante la función WNetConnectionDialog o WNetConnectionDialog1 y se devuelve un código denegado de acceso, la función WNetConnectionDialog o WNetConnectionDialog1 mostrará un cuadro de diálogo de contraseña.

Requisitos

Requirement Importancia
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
Header npapi.h
Library davclnt.lib

Consulte también

NPAddConnection