Condividi tramite


Funzione NetShareDel (lmshare.h)

Elimina un nome di condivisione dall'elenco delle risorse condivise di un server, disconnettendo tutte le connessioni alla risorsa condivisa.

La funzione estesa NetShareDelEx consente al chiamante di specificare una struttura SHARE_INFO_0,SHARE_INFO_1, SHARE_INFO_2, SHARE_INFO_502 o SHARE_INFO_503.

Sintassi

NET_API_STATUS NET_API_FUNCTION NetShareDel(
  [in] LMSTR servername,
  [in] LMSTR netname,
       DWORD reserved
);

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

Puntatore a una stringa che specifica il nome della condivisione da eliminare.

Questa stringa è Unicode se è definita _WIN32_WINNT o FORCE_UNICODE .

reserved

Riservato, deve essere zero.

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_PARAMETER
Il parametro specificato non è valido.
ERROR_NOT_ENOUGH_MEMORY
Memoria insufficiente disponibile.
NERR_NetNameNotFound
Il nome della condivisione non esiste.

Commenti

Questa funzione si applica solo alle condivisioni SMB (Server Message Block). Per altri tipi di condivisioni, ad esempio File System distribuito (DFS) o condivisioni WebDAV, usare funzioni di Rete Windows (WNet), che supportano tutti i tipi di condivisioni.

Solo i membri del gruppo locale Administrators, Server Operator o Power Users o quelli con appartenenza al gruppo di operatori server possono eliminare correttamente le condivisioni file con una chiamata alla funzione NetShareDel . L'operatore di stampa può eliminare condivisioni stampanti.

Se si sta programmando per Active Directory, è possibile chiamare determinati metodi di Active Directory Service Interface (ADSI) per ottenere la stessa funzionalità che è possibile ottenere chiamando le funzioni di condivisione di gestione di rete. Per altre informazioni, vedere IADsFileShare.

Esempio

Nell'esempio di codice seguente viene illustrato come eliminare una condivisione usando una chiamata alla funzione NetShareDel .

#ifndef UNICODE
#define UNICODE
#endif
#include <windows.h>
#include <stdio.h>
#include <lm.h>
#pragma comment(lib, "Netapi32.lib")

void wmain( int argc, TCHAR *argv[ ])
{
   NET_API_STATUS res;

   if(argc<3)
      printf("Usage: NetShareDel server share\n");
   else
   {
      //
      // Call the NetShareDel function to delete the share.
      //
      res=NetShareDel(argv[1], argv[2], 0);
      //
      // Display the result of the call.
      //
      if(res==0)
         printf("Share Removed.\n");
      else
         printf("Error: %u\n", res);
   }
   return;
}

Requisiti

   
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

NetShareAdd

NetShareDelEx

Funzioni di gestione della rete

Panoramica sulla gestione della rete

Funzioni di condivisione di rete