Função NetShareDel (lmshare.h)

Exclui um nome de compartilhamento da lista de recursos compartilhados de um servidor, desconectando todas as conexões com o recurso compartilhado.

A função estendida NetShareDelEx permite que o chamador especifique uma estrutura SHARE_INFO_0, SHARE_INFO_1, SHARE_INFO_2, SHARE_INFO_502 ou SHARE_INFO_503 .

Sintaxe

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

Parâmetros

[in] servername

Ponteiro para uma cadeia de caracteres que especifica o nome DNS ou NetBIOS do servidor remoto no qual a função deve ser executada. Se esse parâmetro for NULL, o computador local será usado.

Essa cadeia de caracteres será Unicode se _WIN32_WINNT ou FORCE_UNICODE estiver definido.

[in] netname

Ponteiro para uma cadeia de caracteres que especifica o nome do compartilhamento a ser excluído.

Essa cadeia de caracteres será Unicode se _WIN32_WINNT ou FORCE_UNICODE estiver definido.

reserved

Reservado, precisa ser zero.

Valor retornado

Se a função for bem-sucedida, o valor retornado será NERR_Success.

Se a função falhar, o valor retornado poderá ser um dos códigos de erro a seguir.

Código de retorno Descrição
ERROR_ACCESS_DENIED
O usuário não tem acesso às informações solicitadas.
ERROR_INVALID_PARAMETER
O parâmetro especificado não é válido.
ERROR_NOT_ENOUGH_MEMORY
Memória insuficiente disponível.
NERR_NetNameNotFound
O nome do compartilhamento não existe.

Comentários

Essa função se aplica somente a compartilhamentos SMB (Server Message Block). Para outros tipos de compartilhamentos, como DFS (Sistema de Arquivos Distribuído) ou compartilhamentos WebDAV, use funções WNet (Windows Networking), que dão suporte a todos os tipos de compartilhamentos.

Somente os membros do grupo local Administradores, Operadores de Servidor ou Usuários avançados ou aqueles com associação de grupo operador de servidor podem excluir com êxito compartilhamentos de arquivos com uma chamada para a função NetShareDel . O Operador de Impressão pode excluir compartilhamentos de impressora.

Se você estiver programando para o Active Directory, poderá chamar determinados métodos ADSI (Active Directory Service Interface) para obter a mesma funcionalidade que você pode obter chamando as funções de compartilhamento de gerenciamento de rede. Para obter mais informações, consulte IADsFileShare.

Exemplos

O exemplo de código a seguir demonstra como excluir um compartilhamento usando uma chamada para a função 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;
}

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho lmshare.h (inclua Lm.h)
Biblioteca Netapi32.lib
DLL Netapi32.dll

Confira também

NetShareAdd

NetShareDelEx

Funções de gerenciamento de rede

Visão geral do gerenciamento de rede

Funções de compartilhamento de rede