Поделиться через


Функция 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.

Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов ошибок.

Код возврата Описание
ERROR_ACCESS_DENIED
У пользователя нет доступа к запрошенной информации.
ERROR_INVALID_PARAMETER
Указанный параметр недопустим.
ERROR_NOT_ENOUGH_MEMORY
Недостаточно памяти.
NERR_NetNameNotFound
Имя общей папки не существует.

Комментарии

Эта функция применяется только к общим папкам 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

См. также раздел

NetShareAdd

NetShareDelEx

Функции управления сетью

Общие сведения об управлении сетью

Функции общего сетевого ресурса