Compartilhar via


Função NPAddConnection3 (npapi.h)

A função NPAddConnection3 conecta um dispositivo local a um recurso de rede. Ele executa a mesma operação que nPAddConnection , mas além disso permite especificar um identificador para a janela que deve possuir quaisquer caixas de diálogo resultantes e especificar como a conexão deve ser estabelecida.

Sintaxe

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

Parâmetros

[in] hwndOwner

Um identificador para uma janela que deve possuir mensagens ou caixas de diálogo. Esse identificador só será válido se CONNECT_INTERACTIVE estiver definido em dwFlags e o identificador só deverá ser usado para produzir caixas de diálogo necessárias para autenticação.

[in] lpNetResource

Ponteiro para uma estrutura NETRESOURCE que especifica o recurso de rede ao qual se conectar. Os campos a seguir devem ser definidos ao fazer uma conexão. Os outros são ignorados.

Value Meaning
lpRemoteName
Especifica o recurso de rede ao qual se conectar.
lpLocalName
Especifica o nome de um dispositivo local a ser redirecionado, como "F:" ou "LPT1". Esse nome é tratado como não diferencia maiúsculas de minúsculas e pode ser a cadeia de caracteres vazia ou o ponteiro NULL . Se a cadeia de caracteres estiver vazia ou NULL, a função se conectará ao recurso de rede sem fazer um redirecionamento.
dwType
Especifica o tipo de recurso ao qual se conectar. Isso pode ser RESOURCETYPE_DISK, RESOURCETYPE_PRINT ou RESOURCETYPE_ANY. O valor RESOURCETYPE_ANY será usado se o chamador não se importar ou não souber.

[in] lpPassword

Ponteiro para a senha a ser usada na criação da conexão, normalmente a senha associada ao lpUserName. O valor NULL pode ser passado para fazer com que a função use a senha padrão. Uma cadeia de caracteres vazia pode ser usada para indicar nenhuma senha. Quando terminar de usar a senha, desmarque-a da memória chamando a função SecureZeroMemory . Para obter mais informações sobre como proteger a senha, consulte Como lidar com senhas.

[in] lpUserName

Ponteiro para o nome de usuário usado para fazer a conexão. Se NULL, o nome de usuário padrão (o do usuário conectado no momento) será aplicado. Isso é usado quando o usuário deseja se conectar a um recurso, mas tem um nome de usuário ou conta atribuído diferente para esse recurso.

[in] dwFlags

Qualquer combinação dos valores a seguir. O provedor deve ignorar quaisquer outros bits de dwFlags que possam ser definidos.

Value Meaning
CONNECT_TEMPORARY
A conexão está sendo estabelecida para fins de navegação e provavelmente será liberada rapidamente.
CONNECT_INTERACTIVE
A conexão pode ter interação com o usuário para fins de autenticação.
CONNECT_PROMPT
Não use nenhum padrão para nomes de usuário ou senhas sem oferecer ao usuário a chance de fornecer uma alternativa. Esse sinalizador só será válido se CONNECT_INTERACTIVE também estiver definido.
CONNECT_DEFERRED
Não execute nenhuma operação de rede remota para fazer a conexão de rede; em vez disso, restaure a conexão em um "estado desconectado". Tente a conexão real somente quando algum processo tentar usar a conexão. Se esse bit estiver definido, o chamador deverá fornecer lpLocalName.

Esse recurso é usado para acelerar a restauração de conexões de rede no logon. Um provedor compatível com ele deve retornar o bit WNNC_CON_DEFERRED no NPGetCaps.

Valor de retorno

Se a função for bem-sucedida, ela retornará WN_SUCCESS. Caso contrário, ele retornará um código de erro. Isso pode incluir um dos seguintes.

Código de retorno Description
WN_BAD_NETNAME
O valor do membro lpRemoteName da estrutura passada para lpNetResource não é válido para esse provedor.
WN_BAD_LOCALNAME
O valor do membro lpLocalName da estrutura passada para lpNetResource não é válido.
WN_BAD_PASSWORD
A senha especificada não é válida.
WN_ALREADY_CONNECTED
O dispositivo especificado no membro lpLocalName da estrutura passada para lpNetResource já está conectado.
WN_ACCESS_DENIED
A permissão para estabelecer a conexão é negada.
WN_NO_NETWORK
A rede não está presente.
WN_CANCEL
A tentativa de fazer a conexão foi cancelada pelo usuário usando uma caixa de diálogo exibida pelo provedor.

Observações

Se um provedor exibir uma caixa de diálogo de senha porque as credenciais especificadas são insuficientes e o sinalizador de CONNECT_INTERACTIVE está definido, o provedor pode não retornar um código de erro negado pelo acesso (um dos ERROR_LOGON_FAILURE, WN_BAD_PASSWORD, WN_ACCESS_DENIED). O comportamento sugerido é que o provedor continue solicitando credenciais válidas ao usuário até que o usuário forneça ou pressione um botão "cancelar". Se NPAddConnection3 for chamado para fazer a conexão solicitada durante a função WNetConnectionDialog ou WNetConnectionDialog1 e um código negado pelo acesso for retornado, a função WNetConnectionDialog ou WNetConnectionDialog1 exibirá, por si só, uma caixa de diálogo de senha.

Requirements

Requirement Value
Cliente mínimo suportado Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo compatível Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
Header npapi.h
Library davclnt.lib

Consulte também

NPAddConnection