Compartilhar via


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_ATTRIBUTESe SYNCHRONIZE. Para obter mais informações, consulte de Segurança de Arquivos e Direitos de Acesso.

Valor de retorno

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

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

Observações

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.

No Windows 8, no Windows Server 2012 e posterior, essa função tem suporte nas tecnologias a seguir.

Tecnologia Suportado
Protocolo SMB (Bloco de Mensagens do Servidor) 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 de Cluster (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.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winbase.h (inclua Windows.h)
biblioteca Advapi32.lib
de DLL Advapi32.dll
conjunto de API ext-ms-win-advapi32-encryptedfile-l1-1-0 (introduzido no Windows 8)

Consulte também

DecryptFile

de Criptografia de Arquivo

Funções de gerenciamento de arquivos