Funzione NPGetResourceInformation (npapi.h)
Separa la parte di una risorsa di rete a cui si accede tramite l'API WNet dalla parte a cui si accede tramite API specifiche del tipo di risorsa.
Sintassi
DWORD NPGetResourceInformation(
[in] LPNETRESOURCEW lpNetResource,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpBufferSize,
[out] LPWSTR *lplpSystem
);
Parametri
[in] lpNetResource
Specifica la risorsa di rete per cui sono necessarie informazioni. Il campo lpRemoteName specifica il nome remoto della risorsa. Il programma chiamante deve compilare i valori per i campi lpProvider e dwType se conosce questi valori; in caso contrario, deve impostare questi campi su NULL. Tutti gli altri campi in NETRESOURCE vengono ignorati e non vengono inizializzati.
Se la stringa lpRemoteName contiene una parte a cui si accede tramite LE API WNet e una parte a cui si accede tramite altre API di sistema specifiche per il tipo di risorsa, la funzione deve restituire informazioni solo sulla parte di rete della risorsa (ad eccezione di lplpSystem, come descritto più avanti in questo argomento).
Ad esempio, se la risorsa è "\server\share\dir1\dir2", dove "\server\share" è accessibile tramite le API WNet e "\dir1\dir2" è accessibile tramite le API del file system, il provider deve verificare che sia il provider corretto per "\server\share", ma non è necessario verificare se "\dir1\dir2" esiste effettivamente.
[out] lpBuffer
Puntatore al buffer per ricevere il risultato. Il primo campo nel risultato è una singola struttura NETRESOURCE e stringhe associate, che rappresentano quella parte della risorsa di input a cui si accede tramite l'API WNet, anziché le API di sistema specifiche del tipo di risorsa. Ad esempio, se il nome della risorsa remota di input è "\server\share\dir1\dir2", l'output NETRESOURCE contiene informazioni sulla risorsa "\server\share". I campi lpRemoteName, lpProvider, dwType, dwDisplayType e dwUsage vengono restituiti contenenti valori, tutti gli altri campi impostati su NULL.
Il campo lpRemoteName deve essere restituito nello stesso formato restituito da un'enumerazione dalla funzione NPEnumResource , in modo che il chiamante possa eseguire un confronto tra stringhe con distinzione tra maiuscole e minuscole. Ciò è necessario per determinare se la risorsa di rete di output è uguale a quella restituita da NPEnumResource.
Il provider non deve eseguire un controllo puramente sintattico per determinare se è proprietaria della risorsa. Ciò potrebbe produrre risultati non corretti quando due reti sono in esecuzione nel client e il provider che esegue il controllo sintattico viene chiamato per primo.
[in, out] lpBufferSize
Puntatore a una posizione che specifica le dimensioni, in byte, del buffer a cui punta lpBuffer. Se il buffer è troppo piccolo per il risultato, la funzione inserisce le dimensioni del buffer necessarie in questa posizione e restituisce l'errore WN_MORE_DATA.
[out] lplpSystem
In caso di esito positivo, un puntatore a una stringa con terminazione Null nel buffer di output specificando quella parte della risorsa a cui si accede tramite LE API di sistema specifiche del tipo di risorsa, anziché tramite l'API WNet. Se tale parte non esiste, lplpSystem è impostato su NULL. Ad esempio, se il nome della risorsa remota di input è "\server\share\dir", lpRemoteName viene restituito puntando a "\server\share" e lplpSystem punta a "\dir", entrambe le stringhe archiviate nel buffer a cui punta lpBuffer.
Valore restituito
Se la funzione ha esito positivo, deve restituire WN_SUCCESS. In caso contrario, deve restituire un codice di errore, che può essere uno dei seguenti.
Codice restituito | Descrizione |
---|---|
|
Il buffer di input è troppo piccolo. |
|
La risorsa non viene riconosciuta dal provider. |
|
DwUsage o dwType non valido. |
|
Il chiamante passato in un dwType diverso da zero che non corrisponde al tipo effettivo della risorsa di rete. |
|
Il chiamante non è stato autenticato nella rete. |
|
Il chiamante è stato autenticato nella rete, ma non dispone di autorizzazioni sufficienti. |
Commenti
L'albero di enumerazione può essere spostato verso il basso da una risorsa di rete denominata usando NPOpenEnum e le relative funzioni. Per spostarsi da una risorsa denominata, è possibile chiamare la funzione NPGetResourceInformation per ottenere informazioni sulla risorsa, seguita dalla funzione NPGetResourceParent per ottenere il nome e il tipo della risorsa padre.
NPGetResourceInformation determina se il provider specificato è il provider corretto per rispondere a una richiesta per una risorsa di rete specificata. Restituisce quindi informazioni sul tipo della risorsa.
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 |