Функция EncryptFileW (winbase.h)
Шифрует файл или каталог. Все потоки данных в файле шифруются. Все новые файлы, созданные в зашифрованном каталоге, шифруются.
Синтаксис
BOOL EncryptFileW(
[in] LPCWSTR 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 | Да |
Прозрачная отработка отказа (TFO) SMB 3.0 | Нет |
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) |