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) |