Condividi tramite


Funzione WNetGetResourceInformationA (winnetwk.h)

Se fornito con un percorso remoto a una risorsa di rete, la funzione WNetGetResourceInformation identifica il provider di rete proprietario della risorsa e ottiene informazioni sul tipo di risorsa. La funzione viene in genere usata insieme alla funzione WNetGetResourceParent per analizzare e interpretare un percorso di rete digitato da un utente.

Sintassi

DWORD WNetGetResourceInformationA(
  [in]      LPNETRESOURCEA lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpcbBuffer,
  [out]     LPSTR          *lplpSystem
);

Parametri

[in] lpNetResource

Puntatore a una struttura di NETRESOURCE che specifica la risorsa di rete per cui sono necessarie informazioni.

Il lpRemoteName membro della struttura deve specificare il nome del percorso remoto della risorsa, in genere uno digitato da un utente. I membri lpProvider e dwType devono essere compilati anche se noti, perché questa operazione può richiedere un utilizzo elevato della memoria, soprattutto se non si specifica il membro dwType . Se non si conoscono i valori per questi membri, è necessario impostarli su NULL. Tutti gli altri membri della struttura NETRESOURCE vengono ignorati.

[out] lpBuffer

Puntatore al buffer per ricevere il risultato. In caso di esito positivo, la prima parte del buffer è una struttura NETRESOURCE che rappresenta tale parte del percorso della risorsa di input a cui si accede tramite le funzioni WNet, anziché tramite funzioni di sistema specifiche del tipo di risorsa di input. Il resto del buffer contiene le stringhe a lunghezza variabile a cui i membri del NETRESOURCE punto di struttura.

Ad esempio, se il percorso della risorsa remota di input è \server\share\dir1\dir2, l'output struttura NETRESOURCE contiene informazioni sulla risorsa \server\share. La parte \dir1\dir2 del percorso è accessibile tramite le funzioni di gestione dei file . Vengono restituiti lpRemoteName, lpProvider, dwType, dwDisplayTypee dwUsage membri di NETRESOURCE, con tutti gli altri membri impostati su NULL.

Il membro lpRemoteName viene restituito nella stessa sintassi restituita da un'enumerazione dalla funzione WNetEnumResource. In questo modo il chiamante può eseguire un confronto tra stringhe per determinare se la risorsa passata a WNetGetResourceInformation corrisponde alla risorsa restituita da una chiamata separata a WNetEnumResource.

[in, out] lpcbBuffer

Puntatore a una posizione in cui, in ingresso, specifica le dimensioni del buffer lpBuffer in byte. Il buffer allocato deve essere sufficientemente grande da contenere la struttura NETRESOURCE, oltre alle stringhe a cui puntano i relativi membri. Se il buffer è troppo piccolo per il risultato, questa posizione riceve le dimensioni del buffer necessarie e la funzione restituisce ERROR_MORE_DATA.

[out] lplpSystem

Se la funzione restituisce correttamente, questo parametro punta a una stringa nel buffer di output che specifica la parte della risorsa a cui si accede tramite le funzioni di sistema. Questo vale solo per le funzioni specifiche del tipo di risorsa anziché per le funzioni WNet.

Ad esempio, se il nome della risorsa remota di input è \server\share\dir1\dir2, il lpRemoteName membro dell'output struttura NETRESOURCE punta a \server\share. Inoltre, il parametro lplpSystem punta a \dir1\dir2. Entrambe le stringhe vengono archiviate nel buffer a cui punta il parametro lpBuffer .

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_NET_NAME
L'input membro lpRemoteName non è una risorsa di rete esistente per alcuna rete.
ERROR_BAD_DEV_TYPE
Il membro di input dwType non corrisponde al tipo di risorsa specificato dal membro lpRemoteName.
ERROR_EXTENDED_ERROR
Si è verificato un errore specifico della rete. Chiamare WNetGetLastError per ottenere una descrizione dell'errore.
ERROR_MORE_DATA
Il buffer a cui punta il parametro lpBuffer è troppo piccolo.
ERROR_NO_NETWORK
La rete non è disponibile.

Osservazioni

Nota

L'intestazione winnetwk.h definisce WNetGetResourceInformation 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

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceParent

WNetGetUniversalName

Panoramica rete Windows

Funzioni di rete di Windows