Funzione WNetGetResourceInformationA (winnetwk.h)

Quando viene 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 NETRESOURCE che specifica la risorsa di rete per cui sono necessarie informazioni.

Il membro lpRemoteName 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 quella 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 in cui i membri del punto della struttura NETRESOURCE .

Ad esempio, se il percorso della risorsa remota di input è \server\share\dir1\dir2, la struttura NETRESOURCE di output contiene informazioni sulla risorsa \server\share. La parte \dir1\dir2 del percorso è accessibile tramite le funzioni di gestione dei file. Vengono restituiti i membri lpRemoteName, lpProvider, dwType, dwDisplayType e dwUsage 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 che, all'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, questo percorso riceve le dimensioni del buffer necessarie e la funzione restituisce ERROR_MORE_DATA.

[out] lplpSystem

Se la funzione viene restituita 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 membro lpRemoteName della struttura NETRESOURCE di output 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 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
ERROR_BAD_NET_NAME
Il membro lpRemoteName di input non è una risorsa di rete esistente per alcuna rete.
ERROR_BAD_DEV_TYPE
Il membro dwType di input 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.

Commenti

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 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

Requisito Valore
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

Vedi anche

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceParent

WNetGetUniversalName

Panoramica di Windows Networking (WNet)

Funzioni di rete di Windows