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 |