Funzione NetFileEnum (lmshare.h)

Restituisce informazioni su alcuni o tutti i file aperti in un server, a seconda dei parametri specificati.

Sintassi

NET_API_STATUS NET_API_FUNCTION NetFileEnum(
  [in]      LMSTR      servername,
  [in]      LMSTR      basepath,
  [in]      LMSTR      username,
  [in]      DWORD      level,
  [out]     LPBYTE     *bufptr,
  [in]      DWORD      prefmaxlen,
  [out]     LPDWORD    entriesread,
  [out]     LPDWORD    totalentries,
  [in, out] PDWORD_PTR resume_handle
);

Parametri

[in] servername

Puntatore a una stringa che specifica il nome DNS o NetBIOS del server remoto in cui eseguire la funzione. Se questo parametro è NULL, viene usato il computer locale.

Questa stringa è Unicode se è definita _WIN32_WINNT o FORCE_UNICODE .

[in] basepath

Puntatore a una stringa che specifica un qualificatore per le informazioni restituite. Se questo parametro è NULL, tutte le risorse aperte vengono enumerate. Se questo parametro non è NULL, la funzione enumera solo le risorse che hanno il valore del parametro basepath come prefisso. Un prefisso è la parte di un percorso che viene prima di una barra rovesciata.

Questa stringa è Unicode se è definita _WIN32_WINNT o FORCE_UNICODE .

[in] username

Puntatore a una stringa che specifica il nome dell'utente o il nome della connessione. Se la stringa inizia con due barre rovesciata ("\"), indica il nome della connessione, ad esempio "\127.0.0.1" o "\ClientName". La parte del nome della connessione dopo le barre rovesciate è uguale al nome del client nella struttura delle informazioni della sessione restituita dalla funzione NetSessionEnum . Se la stringa non inizia con due barre rovesciata, indica il nome dell'utente. Se questo parametro non è NULL, il relativo valore funge da qualificatore per l'enumerazione. I file restituiti sono limitati a quelli con nomi utente o nomi di connessione corrispondenti al qualificatore. Se questo parametro è NULL, non viene usato alcun qualificatore nome utente.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo parametro è un puntatore a una stringa che specifica il nome dell'utente. Se questo parametro non è NULL, il relativo valore funge da qualificatore per l'enumerazione. I file restituiti sono limitati a quelli con nomi utente corrispondenti al qualificatore. Se questo parametro è NULL, non viene usato alcun qualificatore nome utente.

Questa stringa è Unicode se è definita _WIN32_WINNT o FORCE_UNICODE .

[in] level

Specifica il livello di informazioni dei dati. Questo parametro può avere uno dei valori seguenti.

Valore Significato
2
Restituisce il numero di identificazione del file. Il parametro bufptr punta a una matrice di strutture FILE_INFO_2 .
3
Restituisce informazioni sul file. Il parametro bufptr punta a una matrice di strutture FILE_INFO_3 .

[out] bufptr

Puntatore all'indirizzo del buffer che riceve le informazioni. Il formato di questi dati dipende dal valore del parametro di livello .

Questo buffer viene allocato dal sistema e deve essere liberato usando la funzione NetApiBufferFree . Si noti che è necessario liberare il buffer anche se la funzione ha esito negativo con ERROR_MORE_DATA.

[in] prefmaxlen

Specifica la lunghezza massima preferita dei dati restituiti, in byte. Se si specifica MAX_PREFERRED_LENGTH, la funzione alloca la quantità di memoria necessaria per i dati. Se si specifica un altro valore in questo parametro, può limitare il numero di byte restituiti dalla funzione. Se le dimensioni del buffer non sono sufficienti per contenere tutte le voci, la funzione restituisce ERROR_MORE_DATA. Per altre informazioni, vedere Buffer delle funzioni di gestione della rete e lunghezze del buffer delle funzioni di gestione della rete.

[out] entriesread

Puntatore a un valore che riceve il conteggio degli elementi effettivamente enumerati.

[out] totalentries

Puntatore a un valore che riceve il numero totale di voci che potrebbero essere state enumerate dalla posizione di ripresa corrente. Si noti che le applicazioni devono considerare questo valore solo come hint.

[in, out] resume_handle

Puntatore a un valore che contiene un handle di ripresa usato per continuare una ricerca di file esistente. L'handle deve essere zero nella prima chiamata e lasciato invariato per le chiamate successive. Se questo parametro è NULL, non viene archiviato alcun handle di ripresa.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è NERR_Success.

Se la funzione ha esito negativo, il valore restituito può essere uno dei codici di errore seguenti.

Codice restituito Descrizione
ERROR_ACCESS_DENIED
L'utente non ha accesso alle informazioni richieste.
ERROR_INVALID_LEVEL
Il valore specificato per il parametro di livello non è valido.
ERROR_MORE_DATA
Sono disponibili altre voci. Specificare un buffer sufficiente per ricevere tutte le voci.
ERROR_NOT_ENOUGH_MEMORY
Memoria insufficiente disponibile.
NERR_BufTooSmall
Il buffer fornito è troppo piccolo.

Commenti

Solo i membri del gruppo locale Administrators o Server Operator possono eseguire correttamente la funzione NetFileEnum .

È possibile chiamare la funzione NetFileGetInfo per recuperare informazioni su una determinata apertura di una risorsa server.

Se si sta programmando per Active Directory, potrebbe essere possibile chiamare determinati metodi di Active Directory Service Interface (ADSI) per ottenere la stessa funzionalità che è possibile ottenere chiamando NetFileEnum. Per altre informazioni, vedere IADsResource e IADsFileServiceOperations.

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 lmshare.h (includere Lm.h)
Libreria Netapi32.lib
DLL Netapi32.dll

Vedi anche

FILE_INFO_2

FILE_INFO_3

Funzioni NetFile

NetFileGetInfo

Funzioni di gestione della rete

Panoramica sulla gestione della rete