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_ATTRIBUTESy SYNCHRONIZE. Para obtener más información, vea derechos de acceso y seguridad de archivos.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es distinto de cero.
Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Observaciones
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, la función produce un error y GetLastError devuelve ERROR_FILE_READ_ONLY. Si lpFileName especifica un directorio que contiene un archivo de solo lectura, las funciones se realizan correctamente, pero el directorio no está cifrado.
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 | Soportado |
---|---|
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 (ReFS) | No |
SMB 3.0 no admite EFS en recursos compartidos con capacidad 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 Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2003 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
winbase.h (incluya Windows.h) |
biblioteca de |
Advapi32.lib |
DLL de |
Advapi32.dll |
conjunto de API de |
ext-ms-win-advapi32-encryptedfile-l1-1-0 (introducido en Windows 8) |
Consulte también
de cifrado de archivos de