Función EncryptFileA (winbase.h)
Cifra un archivo o directorio. Todos los flujos de datos de un archivo se cifran. Todos los archivos nuevos creados en un directorio cifrado se cifran.
Sintaxis
BOOL EncryptFileA(
[in] LPCSTR lpFileName
);
Parámetros
[in] lpFileName
Nombre del archivo o directorio que se va a cifrar.
El autor de la llamada debe tener los derechos de acceso FILE_READ_DATA, FILE_WRITE_DATA, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTES y SYNCHRONIZE . Para obtener más información, vea Derechos de acceso y seguridad de archivos.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
La función EncryptFile requiere acceso exclusivo al archivo que se está cifrando y producirá un error si otro proceso usa el archivo.
Si el archivo ya está cifrado, EncryptFile simplemente devuelve un valor distinto de cero, lo que indica que se ha realizado correctamente. Si el archivo está comprimido, EncryptFile descomprimirá el archivo antes de cifrarlo.
Si lpFileName especifica un archivo de solo lectura, se produce un error en la función y GetLastError devuelve ERROR_FILE_READ_ONLY. Si lpFileName especifica un directorio que contiene un archivo de solo lectura, las funciones se ejecutan correctamente, pero el directorio no se cifra.
Para descifrar un archivo cifrado, use la función DecryptFile.
En Windows 8, Windows Server 2012 y versiones posteriores, esta función es compatible con las siguientes tecnologías.
Tecnología | Compatible |
---|---|
Protocolo Bloque de mensajes del servidor (SMB) 3.0 | Sí |
Conmutación por error transparente (TFO) de SMB 3.0 | No |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | No |
Sistema de archivos de Volumen compartido de clúster (CsvFS) | No |
Sistema de archivos resistente a errores (ReFS) | No |
SMB 3.0 no admite EFS en recursos compartidos con funcionalidad de disponibilidad continua.
Nota
El encabezado winbase.h define EncryptFile como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winbase.h (incluye Windows.h) |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |
Conjunto de API | ext-ms-win-advapi32-encryptedfile-l1-1-0 (introducido en Windows 8) |