Função DuplicateEncryptionInfoFile (winefs.h)

Copia os metadados do EFS de um arquivo ou diretório para outro.

Sintaxe

DWORD DuplicateEncryptionInfoFile(
  [in]           LPCWSTR                     SrcFileName,
  [in]           LPCWSTR                     DstFileName,
  [in]           DWORD                       dwCreationDistribution,
  [in]           DWORD                       dwAttributes,
  [in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

Parâmetros

[in] SrcFileName

O nome do arquivo ou diretório do qual os metadados do EFS devem ser copiados. Esse arquivo ou diretório de origem deve ser criptografado.

[in] DstFileName

O nome do arquivo ou diretório para o qual os metadados do EFS devem ser copiados.

Esse arquivo ou diretório de destino não precisa ser criptografado antes da chamada para essa função; no entanto, se essa função for concluída com êxito, ela será criptografada.

Se o valor de SrcFileName especificar um arquivo, o valor desse parâmetro também deverá especificar um arquivo e, da mesma forma, para diretórios. Se um arquivo ou diretório com o nome especificado por esse parâmetro não existir, um arquivo ou diretório (dependendo se SrcFileName especifica um arquivo ou diretório) será criado.

[in] dwCreationDistribution

Descreve como o arquivo de destino ou diretório identificado pelo valor do parâmetro DstFileName deve ser aberto. Veja a seguir os valores válidos desse parâmetro.

Valor Significado
CREATE_ALWAYS
2
Sempre crie o arquivo ou diretório de destino. Qualquer valor passado nesse parâmetro diferente de CREATE_NEW será processado como CREATE_ALWAYS.
CREATE_NEW
1
Crie o arquivo ou diretório de destino somente se ele ainda não existir. Se existir e esse valor for especificado, essa função falhará.

[in] dwAttributes

Os atributos de arquivo do arquivo ou diretório de destino. O atributo FILE_READ_ONLY atualmente não é processado por essa função.

[in, optional] lpSecurityAttributes

Um ponteiro para uma estrutura SECURITY_ATTRIBUTES que especifica os atributos de segurança do arquivo ou diretório de destino, se ele ainda não existir. Se você especificar NULL, o arquivo ou diretório obterá um descritor de segurança padrão. As ACLs no descritor de segurança padrão para um arquivo ou diretório são herdadas de seu diretório pai.

Valor retornado

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

Se a função falhar, o valor retornado será um código de erro do sistema. Para obter uma lista completa de códigos de erro, consulte Códigos de erro do sistema ou o arquivo de cabeçalho WinError.h.

Comentários

O acesso exclusivo ao arquivo ou diretório de destino é exigido pelo EFS para a chamada a essa função. Se esse acesso não for fornecido, essa função falhará.

O chamador deve ter a chave EFS para o arquivo ou diretório de origem e pelo menos a ACL READ_ATTRIBUTE para o arquivo ou diretório de origem.

O arquivo ou diretórios de origem e destino especificados devem residir no mesmo computador; caso contrário, um erro será retornado.

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 Sim
TFO (Failover transparente) do SMB 3.0 Não
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Não
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Não
ReFS (Sistema de Arquivos Resiliente) Não
 

O SMB 3.0 não dá suporte ao EFS em compartilhamentos com capacidade de disponibilidade contínua.

Requisitos

   
Cliente mínimo com suporte Windows XP Professional [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 winefs.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

Criptografia de Arquivo

Funções de gerenciamento de arquivos

SECURITY_ATTRIBUTES