Compartir a través de


Función EncryptFileW (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 EncryptFileW(
  [in] LPCWSTR 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
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)

Consulte también

DecryptFile

Cifrado de archivos

Funciones de administración de archivos