Função RemoveDirectoryTransactedA (winbase.h)

[A Microsoft recomenda fortemente que os desenvolvedores utilizem meios alternativos para atender às necessidades do aplicativo. Muitos cenários para os quais o TxF foi desenvolvido podem ser obtidos por meio de técnicas mais simples e prontamente disponíveis. Além disso, o TxF pode não estar disponível em versões futuras do Microsoft Windows. Para obter mais informações e alternativas ao TxF, confira Alternativas ao uso do NTFS transacional.]

Exclui um diretório vazio existente como uma operação transacionada.

Sintaxe

BOOL RemoveDirectoryTransactedA(
  [in] LPCSTR lpPathName,
  [in] HANDLE hTransaction
);

Parâmetros

[in] lpPathName

O caminho do diretório a ser removido. O 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 caracteres MAX_PATH. Para estender esse limite para 32.767 caracteres largos, preencha "\\?\" para o 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 de comprimento do caminho" de Arquivos de Nomenclatura, Caminhos e Namespaces para obter detalhes.

O diretório deve residir no computador local; caso contrário, a função falhará e o último código de erro será definido como ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE.

[in] hTransaction

Um identificador para a transação. Esse identificador é retornado pela função CreateTransaction .

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 RemoveDirectoryTransacted marca um diretório para exclusão no fechamento. Portanto, o diretório não será removido até que o último identificador para o diretório seja fechado.

RemoveDirectory remove uma junção de diretório, mesmo que o conteúdo do destino não esteja vazio; a função remove junções de diretório independentemente do estado do objeto de destino.

No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.

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

O SMB 3.0 não dá suporte a TxF.

Observação

O cabeçalho winbase.h define RemoveDirectoryTransacted 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 Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winbase.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

CreateDirectoryTransacted

Criar e excluir diretórios

Funções do gerenciamento de diretórios

NTFS transacional