Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Recupera informazioni su una radice o un collegamento DFS (Distributed File System) specificato in uno spazio dei nomi DFS.
Sintassi
NET_API_STATUS NET_API_FUNCTION NetDfsGetInfo(
[in] LPWSTR DfsEntryPath,
[in, optional] LPWSTR ServerName,
[in, optional] LPWSTR ShareName,
[in] DWORD Level,
[out] LPBYTE *Buffer
);
Parametri
[in] DfsEntryPath
Puntatore a una stringa che specifica il percorso UNC (Universal Naming Convention) di una radice o un collegamento DFS.
Per un collegamento, la stringa può essere in una delle due forme. Il primo modulo è il seguente:
\\ Nomeserver\DfsName\link_path
dove ServerName è il nome del server di destinazione radice che ospita lo spazio dei nomi DFS autonomo; DfsName è il nome dello spazio dei nomi DFS; e link_path è un collegamento DFS.
Il secondo modulo è il seguente:
\\ Domainname\DomDfsname\link_path
dove DomainName è il nome del dominio che ospita lo spazio dei nomi DFS basato su dominio; DomDfsname è il nome dello spazio dei nomi DFS; e link_path è un collegamento DFS.
Per una radice, la stringa può essere in una delle due forme:
\\ Nomeserver\DfsName
oppure
\\ Domainname\DomDfsname
dove i valori dei nomi sono uguali a quelli descritti in precedenza.
Questo parametro è obbligatorio.
[in, optional] ServerName
Questo parametro è attualmente ignorato e deve essere NULL.
[in, optional] ShareName
Questo parametro è attualmente ignorato e deve essere NULL.
[in] Level
Specifica il livello di informazioni della richiesta. Questo parametro può avere uno dei valori seguenti.
1
Restituisce il nome di collegamento DFS radice o DFS. Il parametro Buffer punta a una struttura DFS_INFO_1 .
2
Restituisce il nome del collegamento DFS radice o DFS, lo stato e il numero di destinazioni DFS. Il parametro Buffer punta a una struttura DFS_INFO_2 .
3
Restituisce il nome del collegamento DFS radice o DFS, lo stato e le informazioni di destinazione. Il parametro Buffer punta a una struttura DFS_INFO_3 .
4
Restituisce il nome del collegamento DFS radice o DFS, stato, GUID, timeout e informazioni di destinazione. Il parametro Buffer punta a una struttura DFS_INFO_4 .
5
Restituisce il nome, lo stato, il GUID, il timeout, i flag di proprietà, le dimensioni dei metadati e il numero di destinazioni per una radice DFS e tutti i collegamenti nella radice. Il parametro Buffer punta a una matrice di strutture DFS_INFO_5 .
6
Restituisce il nome, lo stato, il GUID, il timeout, i flag di proprietà, le dimensioni dei metadati, le informazioni di destinazione DFS per una radice o un collegamento e un elenco di destinazioni DFS. Il parametro Buffer punta a una matrice di strutture DFS_INFO_6 .
7
Restituisce il GUID del numero di versione dei metadati DFS. Il parametro Buffer punta a una matrice di strutture DFS_INFO_7 .
8
Restituisce il nome, lo stato, il GUID, il timeout, i flag di proprietà, le dimensioni dei metadati, il numero di destinazioni e i descrittori di sicurezza dei punti per una radice DFS e tutti i collegamenti nella radice. Il parametro Buffer punta a una matrice di strutture DFS_INFO_8 .
9
Restituisce il nome, lo stato, il GUID, il timeout, i flag di proprietà, le dimensioni dei metadati, le informazioni di destinazione DFS, i descrittori di sicurezza dei punti di ripristino del collegamento e un elenco di destinazioni DFS per una radice o un collegamento. Il parametro Buffer punta a una matrice di strutture DFS_INFO_9 .
50
Restituire la versione e le funzionalità dei metadati DFS di uno spazio dei nomi DFS esistente. Il parametro Buffer punta a una struttura DFS_INFO_50 .
100
Restituisce un commento sul collegamento radice O DFS DFS. Il parametro Buffer punta a una struttura DFS_INFO_100 .
150
Restituisce il descrittore di sicurezza per il punto di ripristino del collegamento DFS. Il parametro Buffer punta a una struttura DFS_INFO_150 .
[out] Buffer
Puntatore all'indirizzo di un buffer che riceve le strutture di informazioni richieste. Il formato di questi dati dipende dal valore del parametro Level . Questo buffer viene allocato dal sistema e deve essere liberato usando la funzione NetApiBufferFree . Per altre informazioni, vedere Buffer delle funzioni di gestione della rete e lunghezze del buffer delle funzioni di gestione della rete.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è NERR_Success.
Se la funzione ha esito negativo, il valore restituito è un codice di errore di sistema. Per un elenco di codici di errore, vedere Codici di errore di sistema.
Commenti
Non è necessaria alcuna appartenenza a gruppi speciali per l'uso della funzione NetDfsGetInfo .
Un'applicazione che chiama la funzione NetDfsGetInfo può causare indirettamente la manutenzione del server dello spazio dei nomi DFS locale per eseguire una sincronizzazione completa dei metadati dello spazio dei nomi correlati dal master dell'emulatore PDC per tale dominio. Questa sincronizzazione completa può verificarsi anche quando la modalità di scalabilità radice è configurata per tale spazio dei nomi. Per evitare questo effetto collaterale, se la finalità consiste nel recuperare solo il nome percorso UNC fisico usato da un computer client DFSN specifico corrispondente a un determinato percorso dello spazio dei nomi DFS, un'alternativa consiste nell'usare l'API WDK ZwQueryInformationFile, passando FileNetworkPhysicalNameInformation come parametro FileInformationClass e passando l'indirizzo di una struttura di FILE_NETWORK_PHYSICAL_NAME_INFORMATION allocata dal chiamante come parametro FileInformation . Per altre informazioni sulla chiamata di API WDK, vedere WDK.
Esempio
L'esempio di codice seguente illustra come recuperare informazioni su un collegamento DFS usando una chiamata alla funzione NetDfsGetInfo . L'esempio chiama NetDfsGetInfo, specificando il livello di informazioni 3 (DFS_INFO_3). Se la chiamata ha esito positivo, l'esempio stampa informazioni sul collegamento DFS, incluso il nome e lo stato di ogni destinazione a cui fa riferimento il collegamento. Infine, l'esempio di codice libera la memoria allocata per il buffer delle informazioni.
#include <windows.h>
#include <lm.h>
#include <lmdfs.h>
#include <stdio.h>
#pragma comment(lib, "Netapi32.lib")
void wmain(int argc, wchar_t *argv[ ])
{
PDFS_INFO_3 pData;
PDFS_STORAGE_INFO ps;
DWORD er = 0, tr = 0, res, j;
//
// Check command line arguments.
//
if (argc<2)
wprintf(L"Syntax: %s DfsEntryPath\n", argv[0]);
else
{
//
// Call the NetDfsGetInfo function, specifying level 3.
//
res = NetDfsGetInfo(argv[1], NULL, NULL, 3, (LPBYTE *) &pData);
//
// If the call succeeds, print the data.
//
if(res==0)
{
printf("%-30S Storages: %u\nComment: %S\n", pData->EntryPath, pData->NumberOfStorages, pData->Comment);
ps = pData->Storage;
//
// Loop through each target.
//
for(j = 1; j <= pData->NumberOfStorages;j++)
{
//
// Print the status (Offline/Online) and the name
// of each target referenced by the DFS link.
//
printf(" %S ", (ps->State == DFS_STORAGE_STATE_OFFLINE) ? TEXT("Offline"): TEXT("Online "));
printf("\\\\%S\\%S\n", ps->ServerName, ps->ShareName);
ps++;
}
//
// Free the allocated memory.
//
NetApiBufferFree(pData);
}
else
printf("Error: %u\n", res);
}
return;
}
Requisiti
| Client minimo supportato | Windows Vista |
| Server minimo supportato | Windows Server 2008 |
| Piattaforma di destinazione | Windows |
| Intestazione | lmdfs.h (include LmDfs.h, Lm.h) |
| Libreria | Netapi32.lib |
| DLL | Netapi32.dll |
Vedi anche
Funzioni DFS (Distributed File System)