NetShareDel-Funktion (lmshare.h)

Löscht einen Freigabenamen aus der Liste der freigegebenen Ressourcen eines Servers und trennt alle Verbindungen mit der freigegebenen Ressource.

Mit der erweiterten Funktion NetShareDelEx kann der Aufrufer eine SHARE_INFO_0-, SHARE_INFO_1-, SHARE_INFO_2-, SHARE_INFO_502- oder SHARE_INFO_503-Struktur angeben.

Syntax

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

Parameter

[in] servername

Zeiger auf eine Zeichenfolge, die den DNS- oder NetBIOS-Namen des Remoteservers angibt, auf dem die Funktion ausgeführt werden soll. Wenn dieser Parameter NULL ist, wird der lokale Computer verwendet.

Diese Zeichenfolge ist Unicode, wenn _WIN32_WINNT oder FORCE_UNICODE definiert ist.

[in] netname

Zeiger auf eine Zeichenfolge, die den Namen der zu löschenden Freigabe angibt.

Diese Zeichenfolge ist Unicode, wenn _WIN32_WINNT oder FORCE_UNICODE definiert ist.

reserved

Reserviert, muss Null sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NERR_Success.

Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Fehlercodes sein.

Rückgabecode Beschreibung
ERROR_ACCESS_DENIED
Der Benutzer besitzt keinen Zugriff auf die angeforderten Informationen.
ERROR_INVALID_PARAMETER
Der angegebene Parameter ist ungültig.
ERROR_NOT_ENOUGH_MEMORY
Nicht genügend Arbeitsspeicher ist verfügbar.
NERR_NetNameNotFound
Der Freigabename ist nicht vorhanden.

Hinweise

Diese Funktion gilt nur für SMB-Freigaben (Server Message Block). Verwenden Sie für andere Freigabetypen, z. B. DFS- oder WebDAV-Freigaben, Windows-Netzwerkfunktionen (WNet), die alle Freigabetypen unterstützen.

Nur Mitglieder der lokalen Gruppe "Administratoren", "Serveroperatoren", "Power Users" oder "Serveroperator" können Dateifreigaben mit einem Aufruf der NetShareDel-Funktion erfolgreich löschen. Der Druckeroperator kann Druckerfreigaben löschen.

Wenn Sie für Active Directory programmieren, können Sie möglicherweise bestimmte ADSI-Methoden (Active Directory Service Interface) aufrufen, um die gleiche Funktionalität zu erreichen, die Sie durch Aufrufen der Netzwerkverwaltungsfreigabefunktionen erreichen können. Weitere Informationen finden Sie unter IADsFileShare.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine Freigabe mithilfe eines Aufrufs der NetShareDel-Funktion gelöscht wird.

#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;
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile lmshare.h (lm.h einschließen)
Bibliothek Netapi32.lib
DLL Netapi32.dll

Weitere Informationen

NetShareAdd

NetShareDelEx

Netzwerkverwaltungsfunktionen

Übersicht über die Netzwerkverwaltung

Netzwerkfreigabefunktionen