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 |
---|---|
|
Der Benutzer besitzt keinen Zugriff auf die angeforderten Informationen. |
|
Der angegebene Parameter ist ungültig. |
|
Nicht genügend Arbeitsspeicher ist verfügbar. |
|
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 |