Função EncryptFileA (winbase.h)

Criptografa um arquivo ou diretório. Todos os fluxos de dados em um arquivo são criptografados. Todos os novos arquivos criados em um diretório criptografado são criptografados.

Sintaxe

BOOL EncryptFileA(
  [in] LPCSTR lpFileName
);

Parâmetros

[in] lpFileName

O nome do arquivo ou diretório a ser criptografado.

O chamador deve ter os direitos de acesso FILE_READ_DATA, FILE_WRITE_DATA, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTES e SYNCHRONIZE . Para obter mais informações, consulte Segurança de arquivo e direitos de acesso.

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 EncryptFile requer acesso exclusivo ao arquivo que está sendo criptografado e falhará se outro processo estiver usando o arquivo.

Se o arquivo já estiver criptografado, EncryptFile simplesmente retornará um valor diferente de zero, o que indica êxito. Se o arquivo for compactado, EncryptFile descompactará o arquivo antes de criptografá-lo.

Se lpFileName especificar um arquivo somente leitura, a função falhará e GetLastError retornará ERROR_FILE_READ_ONLY. Se lpFileName especificar um diretório que contém um arquivo somente leitura, as funções serão bem-sucedidas, mas o diretório não será criptografado.

Para descriptografar um arquivo criptografado, use a função DecryptFile.

Em Windows 8, Windows Server 2012 e posteriores, 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 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 ao EFS em compartilhamentos com capacidade de disponibilidade contínua.

Observação

O cabeçalho winbase.h define EncryptFile 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 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 winbase.h (incluir Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll
Conjunto de APIs ext-ms-win-advapi32-encryptedfile-l1-1-0 (introduzido no Windows 8)

Confira também

DecryptFile

Criptografia de Arquivo

Funções de gerenciamento de arquivos