Функция EncryptFileA (winbase.h)
Шифрует файл или каталог. Все потоки данных в файле шифруются. Все новые файлы, созданные в зашифрованном каталоге, шифруются.
Синтаксис
BOOL EncryptFileA(
[in] LPCSTR lpFileName
);
Параметры
[in] lpFileName
Имя файла или каталога для шифрования.
Вызывающий объект должен иметь права доступа FILE_READ_DATA, FILE_WRITE_DATA, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTES и SYNCHRONIZE . Дополнительные сведения см. в разделе Безопасность файлов и права доступа.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Функция EncryptFile требует монопольного доступа к зашифрованным файлам и завершится ошибкой, если файл используется другим процессом.
Если файл уже зашифрован, EncryptFile просто возвращает ненулевое значение, указывающее на успешное выполнение. Если файл сжат, EncryptFile распакует файл перед его шифрованием.
Если lpFileName указывает файл, доступный только для чтения, функция завершается ошибкой и GetLastError возвращает ERROR_FILE_READ_ONLY. Если lpFileName указывает каталог, содержащий файл, доступный только для чтения, функции выполняются успешно, но каталог не зашифрован.
Чтобы расшифровать зашифрованный файл, используйте функцию DecryptFile .
В Windows 8 Windows Server 2012 и более поздних версиях эта функция поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Да |
SMB 3.0 Transparent Failover (TFO) | Нет |
SMB 3.0 с масштабируемыми общими папками (SO) | Нет |
Файловая система общего тома кластера (CSVFS) | Нет |
Восстанавливаемая файловая система (ReFS) | Нет |
SMB 3.0 не поддерживает EFS в общих папках с возможностью непрерывной доступности.
Примечание
Заголовок winbase.h определяет EncryptFile как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP Professional [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
Набор API | ext-ms-win-advapi32-encryptedfile-l1-1-0 (появился в Windows 8) |