Funzione NPAddConnection3 (npapi.h)
La funzione NPAddConnection3 connette un dispositivo locale a una risorsa di rete. Esegue la stessa operazione di NPAddConnection , ma consente inoltre di specificare un handle per la finestra che deve essere proprietaria di tutte le finestre di dialogo risultanti e specificare come deve essere stabilita la connessione.
Sintassi
DWORD NPAddConnection3(
[in] HWND hwndOwner,
[in] LPNETRESOURCEW lpNetResource,
[in] LPWSTR lpPassword,
[in] LPWSTR lpUserName,
[in] DWORD dwFlags
);
Parametri
[in] hwndOwner
Handle di una finestra che deve essere proprietaria di qualsiasi messaggio o finestra di dialogo. Questo handle è valido solo se CONNECT_INTERACTIVE è impostato in dwFlags e l'handle deve essere usato solo per produrre le finestre di dialogo necessarie per l'autenticazione.
[in] lpNetResource
Puntatore a una struttura NETRESOURCE che specifica la risorsa di rete a cui connettersi. Quando si effettua una connessione, è necessario impostare i campi seguenti. Gli altri vengono ignorati.
[in] lpPassword
Puntatore alla password da usare per stabilire la connessione, in genere la password associata a lpUserName. È possibile passare il valore NULL per fare in modo che la funzione usi la password predefinita. È possibile usare una stringa vuota per indicare che non è stata specificata alcuna password. Dopo aver terminato di usare la password, cancellarla dalla memoria chiamando la funzione SecureZeroMemory . Per altre informazioni sulla protezione della password, vedere Gestione delle password.
[in] lpUserName
Puntatore al nome utente usato per stabilire la connessione. Se NULL, viene applicato il nome utente predefinito (quello dell'utente attualmente connesso). Viene usato quando l'utente vuole connettersi a una risorsa, ma ha un nome utente o un account assegnato diverso per tale risorsa.
[in] dwFlags
Qualsiasi combinazione dei valori seguenti. Il provider deve ignorare tutti gli altri bit di dwFlag che possono essere impostati.
Valore | Significato |
---|---|
|
La connessione viene stabilita a scopo di esplorazione e probabilmente verrà rilasciata rapidamente. |
|
La connessione può avere interazione con l'utente a scopo di autenticazione. |
|
Non usare valori predefiniti per i nomi utente o le password senza offrire all'utente la possibilità di fornire un'alternativa. Questo flag è valido solo se è impostato anche CONNECT_INTERACTIVE. |
|
Non eseguire alcuna operazione di rete remota per stabilire la connessione di rete; ripristinare invece la connessione in uno stato "disconnesso". Tentare la connessione effettiva solo quando alcuni processi tentano di usare la connessione. Se questo bit è impostato, il chiamante deve fornire lpLocalName.
Questa funzionalità viene usata per velocizzare il ripristino delle connessioni di rete all'accesso. Provider che lo supporta deve restituire il bit WNNC_CON_DEFERRED in NPGetCaps. |
Valore restituito
Se la funzione ha esito positivo, restituirà WN_SUCCESS. In caso contrario, restituirà un codice di errore. Questo può includere uno dei seguenti elementi.
Codice restituito | Descrizione |
---|---|
|
Il valore del membro lpRemoteName della struttura passata in lpNetResource non è valido per questo provider. |
|
Il valore del membro lpLocalName della struttura passata in lpNetResource non è valido. |
|
La password specificata non è valida. |
|
Il dispositivo specificato nel membro lpLocalName della struttura passata in lpNetResource è già connesso. |
|
L'autorizzazione per stabilire la connessione viene negata. |
|
La rete non è presente. |
|
Il tentativo di effettuare la connessione è stato annullato dall'utente utilizzando una finestra di dialogo visualizzata dal provider. |
Commenti
Se un provider visualizza una finestra di dialogo password perché le credenziali specificate non sono sufficienti e il flag di CONNECT_INTERACTIVE è impostato, il provider potrebbe non restituire un codice di errore di accesso negato (uno dei ERROR_LOGON_FAILURE, WN_BAD_PASSWORD WN_ACCESS_DENIED). Il comportamento suggerito è che il provider continui a chiedere all'utente le credenziali valide fino a quando l'utente non le fornisce o preme un pulsante "annulla". Se NPAddConnection3 viene chiamato per effettuare la connessione richiesta durante la funzione WNetConnectionDialog o WNetConnectionDialog1 e viene restituito un codice di accesso negato, la funzione WNetConnectionDialog o WNetConnectionDialog1 visualizza una finestra di dialogo con password.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | npapi.h |