Функция EncryptionDisable (winefs.h)

Отключает или включает шифрование указанного каталога и файлов в нем. Это не влияет на шифрование подкаталогов ниже указанного каталога.

Синтаксис

BOOL EncryptionDisable(
  [in] LPCWSTR DirPath,
  [in] BOOL    Disable
);

Параметры

[in] DirPath

Имя каталога, для которого необходимо включить или отключить шифрование.

[in] Disable

Указывает, следует ли отключить шифрование (TRUE) или включить его (FALSE).

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

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

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

Комментарии

В обычных условиях EncryptFile не шифрует файлы и каталоги с помощью набора атрибутов FILE_ATTRIBUTE_SYSTEM . Можно переопределить атрибут FILE_ATTRIBUTE_SYSTEM и зашифровать файлы. Кроме того, если файл или каталог помечен атрибутом FILE_ATTRIBUTE_SYSTEM, они обычно будут невидимы для пользователя в списках каталогов и Windows Обозреватель окнах каталогов. EncryptionDisable отключает шифрование каталогов и файлов. Это не влияет на видимость файлов с набором атрибутов FILE_ATTRIBUTE_SYSTEM .

Если передано значение TRUE , EncryptionDisable запишет следующее в файл Desktop.ini в каталоге (при необходимости создав его):

[Encryption]
Disable=1

Если раздел уже существует, но для параметра Отключить задано значение 0, ему будет присвоено значение 1.

После этого encryptFile завершится сбоем в каталоге и файлах в нем, а код, который возвращает GetLastError , будет ERROR_DIR_EFS_DISALLOWED. Эта функция не влияет на шифрование подкаталогов в заданном каталоге.

Пользователь также может вручную добавить или изменить указанные выше строки в файле Desktop.ini и получить тот же эффект.

EncryptionDisable влияет только на FileEncryptionStatus и EncryptFile. После шифрования каталога все новые файлы и подкаталоги, созданные без атрибута FILE_ATTRIBUTE_SYSTEM , будут зашифрованы.

Если передано значение FALSE , EncryptionDisable запишет в файл Desktop.ini следующее:

[Encryption]
Disable=0

Это означает, что шифрование файлов в этом каталоге разрешено.

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

Если вы попытаетесь использовать EncryptionDisable для отключения или включения шифрования для файла, попытка завершится ошибкой.

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

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

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

Требования

   
Минимальная версия клиента Windows XP Professional [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winefs.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

DecryptFile

EncryptFile

Константы атрибутов файлов

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

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

FileEncryptionStatus

GetFileAttributes