Функция NetShareDel (lmshare.h)
Удаляет имя общей папки из списка общих ресурсов сервера, отключая все подключения к общему ресурсу.
Расширенная функция NetShareDelEx позволяет вызывающей объекту указать структуру SHARE_INFO_0, SHARE_INFO_1, SHARE_INFO_2, SHARE_INFO_502 или SHARE_INFO_503 .
Синтаксис
NET_API_STATUS NET_API_FUNCTION NetShareDel(
[in] LMSTR servername,
[in] LMSTR netname,
DWORD reserved
);
Параметры
[in] servername
Указатель на строку, указывающую DNS- или NetBIOS-имя удаленного сервера, на котором выполняется функция. Если этот параметр имеет значение NULL, используется локальный компьютер.
Если определена _WIN32_WINNT или FORCE_UNICODE , эта строка имеет значение Юникод.
[in] netname
Указатель на строку, указывающую имя удаляемой общей папки.
Если определена _WIN32_WINNT или FORCE_UNICODE , эта строка имеет значение Юникод.
reserved
Зарезервировано, должно быть равно нулю.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NERR_Success.
Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
У пользователя нет доступа к запрошенной информации. |
|
Указанный параметр недопустим. |
|
Недостаточно памяти. |
|
Имя общей папки не существует. |
Комментарии
Эта функция применяется только к общим папкам SMB. Для других типов общих папок, таких как общие папки распределенной файловой системы (DFS) или WebDAV, используйте функции windows Networking (WNet), которые поддерживают все типы общих папок.
Только члены локальной группы "Администраторы", "Операторы сервера" или "Опытные пользователи" или члены группы операторов сервера могут успешно удалять общие папки с помощью вызова функции NetShareDel . Оператор печати может удалять общие папки принтера.
При программировании для Active Directory вы можете вызвать определенные методы интерфейса службы Active Directory (ADSI) для достижения тех же функциональных возможностей, которые можно достичь, вызвав функции общего ресурса управления сетью. Дополнительные сведения см. в разделе IADsFileShare.
Примеры
В следующем примере кода показано, как удалить общую папку с помощью вызова функции 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;
}
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | lmshare.h (включая Lm.h) |
Библиотека | Netapi32.lib |
DLL | Netapi32.dll |