Compartilhar via


Função RemoveDirectoryA (fileapi.h)

Exclui um diretório vazio existente.

Para executar essa operação como uma operação transacionada, use a função RemoveDirectoryTransacted .

Sintaxe

BOOL RemoveDirectoryA(
  [in] LPCSTR lpPathName
);

Parâmetros

[in] lpPathName

O caminho do diretório a ser removido. Esse caminho deve especificar um diretório vazio e o processo de chamada deve ter acesso de exclusão ao diretório.

Por padrão, o nome é limitado a MAX_PATH caracteres. Para estender esse limite para 32.767 caracteres largos, acrescente "\\?\" ao caminho. Para obter mais informações, confira Nomear arquivos, caminhos e namespaces.

Dica

A partir do Windows 10, versão 1607, você pode optar por remover a limitação de MAX_PATH sem acrescentar "\\?\". Consulte a seção "Limitação máxima do comprimento do caminho" de Arquivos de Nomenclatura, Caminhos e Namespaces para obter detalhes.

Valor retornado

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

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

A função RemoveDirectory marca um diretório para exclusão no fechamento. Portanto, o diretório não é removido até que o último identificador para o diretório seja fechado.

Para excluir recursivamente os arquivos em um diretório, use a função SHFileOperation .

RemoveDirectory pode ser usado para remover uma junção de diretório. Como o diretório de destino e seu conteúdo permanecerão acessíveis por meio de seu caminho canônico, o diretório de destino em si não é afetado pela remoção de uma junção direcionada a ele. Por esse motivo, quando lpPathName se referir a uma junção de diretório, RemoveDirectory removerá o link especificado, independentemente de o diretório de destino ficar vazio ou não. Para obter mais informações sobre junções, consulte Links rígidos e junções.

O uso da exclusão POSIX faz com que o diretório seja excluído enquanto os identificadores permanecem abertos. Chamadas subsequentes para CreateDirectory para abrir o diretório falham com ERROR_FILE_NOT_FOUND.

Em Windows 8 e Windows Server 2012, essa função é compatível com as seguintes tecnologias:

Tecnologia Com suporte
Protocolo SMB (SMB) 3.0 Sim
TFO (Failover transparente) do SMB 3.0 Sim
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Sim
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim

Observação

O cabeçalho fileapi.h define RemoveDirectory como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho fileapi.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CreateDirectory

Criar e excluir diretórios

Funções do gerenciamento de diretórios

RemoveDirectoryTransacted