Funzione WNetOpenEnumW (winnetwk.h)
La funzione WNetOpenEnum avvia un'enumerazione delle risorse di rete o delle connessioni esistenti. È possibile continuare l'enumerazione chiamando la funzione WNetEnumResource .
Sintassi
DWORD WNetOpenEnumW(
[in] DWORD dwScope,
[in] DWORD dwType,
[in] DWORD dwUsage,
[in] LPNETRESOURCEW lpNetResource,
[out] LPHANDLE lphEnum
);
Parametri
[in] dwScope
Ambito dell'enumerazione . Questo parametro può avere uno dei valori seguenti.
[in] dwType
Tipi di risorse da enumerare. Questo parametro può essere una combinazione dei valori seguenti.
Se un provider di rete non è in grado di distinguere tra le risorse di stampa e disco, può enumerare tutte le risorse.
[in] dwUsage
Tipo di utilizzo delle risorse da enumerare. Questo parametro può essere una combinazione dei valori seguenti.
Questo parametro viene ignorato a meno che il parametro dwScope non sia uguale a RESOURCE_GLOBALNET. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
[in] lpNetResource
Puntatore a una struttura NETRESOURCE che specifica il contenitore da enumerare. Se il parametro dwScope non è RESOURCE_GLOBALNET, questo parametro deve essere NULL.
Se questo parametro è NULL, viene utilizzata la radice della rete. Il sistema organizza una rete come gerarchia; la radice è il contenitore più alto nella rete.
Se questo parametro non è NULL, deve puntare a una struttura NETRESOURCE . Questa struttura può essere compilata dall'applicazione oppure può essere restituita da una chiamata alla funzione WNetEnumResource . La struttura NETRESOURCE deve specificare una risorsa contenitore; ovvero, il valore RESOURCEUSAGE_CONTAINER deve essere specificato nel parametro dwUsage .
Per enumerare tutte le risorse di rete, un'applicazione può iniziare l'enumerazione chiamando WNetOpenEnum con il parametro lpNetResource impostato su NULL e quindi usare l'handle restituito per chiamare WNetEnumResource per enumerare le risorse. Se una delle risorse nella matrice NETRESOURCE restituita dalla funzione WNetEnumResource è una risorsa contenitore, è possibile chiamare WNetOpenEnum per aprire la risorsa per un'ulteriore enumerazione.
[out] lphEnum
Puntatore a un handle di enumerazione che può essere usato in una chiamata successiva a WNetEnumResource.
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene 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 |
---|---|
|
Il parametro lpNetResource non punta a un contenitore. |
|
DwScope o il parametro dwType non è valido oppure è presente una combinazione non valida di parametri. |
|
La rete non è disponibile. |
|
Si è verificato un errore specifico della rete. Per ottenere una descrizione dell'errore, chiamare la funzione WNetGetLastError . |
|
Nome della risorsa di rete remota specificato nella struttura NETRESOURCE risolto in un indirizzo di rete non valido. |
Commenti
Se il parametro dwScope è uguale a RESOURCE_CONNECTED, una connessione di rete effettuata tramite la rete di Microsoft LAN Manager viene omessa dall'enumerazione se la connessione è stata effettuata da un'applicazione in esecuzione in una sessione di accesso diversa rispetto all'applicazione che chiama la funzione WNetOpenEnum . Ciò è dovuto al fatto che le connessioni effettuate con Microsoft LAN Manager sono visibili solo alle applicazioni in esecuzione nella stessa sessione di accesso dell'applicazione che ha effettuato la connessione. Per includere la connessione nell'enumerazione, non è sufficiente che l'applicazione sia in esecuzione nell'account utente che ha creato la connessione.
L'interpretazione esatta di RESOURCE_CONTEXT nel parametro dwScope dipende dalle reti installate nel computer.
La funzione WNetOpenEnum viene usata per iniziare l'enumerazione delle risorse in un singolo contenitore. Gli esempi seguenti illustrano la struttura gerarchica di una rete Microsoft LAN Manager e una rete Novell NetWare e identificano i contenitori.
LanMan (container, in this case the provider)
ACCOUNTING (container, in this case the domain)
\\ACCTSPAY (container, in this case the server)
PAYFILES (disk)
LASERJET (print)
NetWare (container, in this case the provider)
MARKETING (container, in this case the server)
SYS (disk, first one on any NetWare server)
ANOTHERVOLUME (disk)
LASERJET (print)
Esempio
Per un esempio di codice che illustra una funzione definita dall'applicazione che enumera tutte le risorse in una rete, vedere Enumerazione delle risorse di rete.
Nota
L'intestazione winnetwk.h definisce WNetOpenEnum 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winnetwk.h |
Libreria | Mpr.lib |
DLL | Mpr.dll |