Поделиться через


Функция EncryptFileA (winbase.h)

Шифрует файл или каталог. Все потоки данных в файле шифруются. Все новые файлы, созданные в зашифрованном каталоге, шифруются.

Синтаксис

BOOL EncryptFileA(
  [in] LPCSTR lpFileName
);

Параметры

[in] lpFileName

Имя зашифрованного файла или каталога.

Вызывающий объект должен иметь права доступа FILE_READ_DATA, FILE_WRITE_DATA, FILE_READ_ATTRIBUTES, FILE_WRITE_ATTRIBUTESи СИНХРОНИЗАЦИЯ. Дополнительные сведения см. в права доступа и безопасности файлов.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение ненулевое.

Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Замечания

Функция EncryptFile требует монопольного доступа к зашифрованному файлу и завершится ошибкой, если другой процесс использует файл.

Если файл уже зашифрован, EncryptFile просто возвращает ненулевое значение, указывающее на успех. Если файл сжимается, EncryptFile распакует файл перед шифрованием.

Если lpFileName указывает файл, доступный только для чтения, функция завершается ошибкой и GetLastError возвращает ERROR_FILE_READ_ONLY. Если lpFileName указывает каталог, содержащий файл только для чтения, функции выполняются успешно, но каталог не зашифрован.

Чтобы расшифровать зашифрованный файл, используйте функцию DecryptFile.

В Windows 8, Windows Server 2012 и более поздних версий эта функция поддерживается следующими технологиями.

Технологии Поддержанный
Протокол SMB 3.0 Да
Отработка отказа SMB 3.0 (TFO) Нет
SMB 3.0 с масштабируемыми общими папками (SO) Нет
Файловая система общего тома кластера (CSVFS) Нет
Отказоустойчивая файловая система (ReFS) Нет
 

SMB 3.0 не поддерживает EFS на общих ресурсах с возможностью непрерывной доступности.

Заметка

Заголовок winbase.h определяет EncryptFile как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP Professional [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка winbase.h (включая Windows.h)
библиотеки Advapi32.lib
DLL Advapi32.dll
набор API ext-ms-win-advapi32-encryptedfile-l1-1-0 (представлено в Windows 8)

См. также

DecryptFile

шифрование файлов

функции управления файлами