Condividi tramite


Funzione WNetGetConnectionA (winnetwk.h)

La funzione WNetGetConnection recupera il nome della risorsa di rete associata a un dispositivo locale.

Sintassi

DWORD WNetGetConnectionA(
  [in]      LPCSTR  lpLocalName,
  [out]     LPSTR   lpRemoteName,
  [in, out] LPDWORD lpnLength
);

Parametri

[in] lpLocalName

Puntatore a una stringa con terminazione Null costante che specifica il nome del dispositivo locale per cui ottenere il nome di rete.

[out] lpRemoteName

Puntatore a una stringa con terminazione Null che riceve il nome remoto usato per stabilire la connessione.

[in, out] lpnLength

Puntatore a una variabile che specifica le dimensioni del buffer a cui punta il parametro lpRemoteName, in caratteri. Se la funzione ha esito negativo perché il buffer non è sufficientemente grande, questo parametro restituisce le dimensioni del buffer necessarie.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è NO_ERROR.

Se la funzione ha esito negativo, il valore restituito è un codice di errore di sistema , ad esempio uno dei valori seguenti.

Codice restituito Descrizione
ERROR_BAD_DEVICE
La stringa a cui punta il parametro lpLocalName non è valida.
ERROR_NOT_CONNECTED
Il dispositivo specificato da lpLocalName non è un dispositivo reindirizzato. Per altre informazioni, vedere la sezione Osservazioni seguente.
ERROR_MORE_DATA
Il buffer è troppo piccolo. Il parametro lpnLength punta a una variabile contenente le dimensioni del buffer necessarie. Sono disponibili altre voci con le chiamate successive.
ERROR_CONNECTION_UNAVAIL
Il dispositivo non è attualmente connesso, ma è una connessione permanente. Per altre informazioni, vedere la sezione Osservazioni seguente.
ERROR_NO_NETWORK
La rete non è disponibile.
ERROR_EXTENDED_ERROR
Si è verificato un errore specifico della rete. Per ottenere una descrizione dell'errore, chiamare la funzione WNetGetLastError .
ERROR_NO_NET_OR_BAD_PATH
Nessuno dei provider riconosce il nome locale come avere una connessione. Tuttavia, la rete non è disponibile per almeno un provider a cui può appartenere la connessione.

Osservazioni

Se la connessione di rete è stata stabilita utilizzando la rete di Microsoft LAN Manager e l'applicazione chiamante è in esecuzione in una sessione di accesso diversa rispetto all'applicazione che ha effettuato la connessione, una chiamata alla funzione WNetGetConnection per il dispositivo locale associato avrà esito negativo. La funzione ha esito negativo con ERROR_NOT_CONNECTED o ERROR_CONNECTION_UNAVAIL. Ciò è dovuto al fatto che una connessione effettuata con Microsoft LAN Manager è visibile solo alle applicazioni in esecuzione nella stessa sessione di accesso dell'applicazione che ha effettuato la connessione. Per impedire che la chiamata a WNetGetConnection non riesca, non è sufficiente che l'applicazione venga eseguita nell'account utente che ha creato la connessione.

Windows Server 2003 e Windows XP: Questa funzione esegue una query sugli spazi dei nomi dei dispositivi MS-DOS associati a una sessione di accesso perché i dispositivi MS-DOS sono identificati da AuthenticationID. AuthenticationID è l'identificatore univoco locale o LUID associato a una sessione di accesso. Ciò può influire sulle applicazioni che chiamano una delle funzioni WNet per creare una lettera di unità di rete con un accesso utente, ma eseguire una query per le lettere di unità di rete esistenti con un accesso utente diverso. Un esempio di questa situazione può essere quando viene creato il secondo accesso di un utente all'interno di una sessione di accesso, ad esempio chiamando la funzione CreateProcessAsUser e il secondo accesso esegue un'applicazione che chiama la funzione GetLogicalDrives. getLogicalDrives non restituisce lettere di unità di rete create da una funzione WNet sotto il primo accesso. Si noti che nell'esempio precedente la prima sessione di accesso esiste ancora e l'esempio può essere applicato a qualsiasi sessione di accesso, inclusa una sessione di Servizi terminal. Per altre informazioni, vedere Definizione di un nome di dispositivo MS-DOS.

Esempi

Per un esempio di codice che illustra come usare la funzione WNetGetConnection per recuperare il nome della risorsa di rete associata a un dispositivo locale, vedere Recupero del nome della connessione.

Nota

L'intestazione winnetwk.h definisce WNetGetConnection come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winnetwk.h
libreria Mpr.lib
dll Mpr.dll

Vedere anche

WNetAddConnection2

WNetAddConnection3

WNetGetUser

Panoramica rete Windows

Funzioni di rete di Windows