Функция OpenEncryptedFileRawA (winbase.h)
Открывает зашифрованный файл для резервного копирования (экспорта) или восстановления (импорта) файла. Это одна из групп функций зашифрованной файловой системы (EFS), которая предназначена для реализации функций резервного копирования и восстановления, сохраняя при этом файлы в зашифрованном состоянии.
Синтаксис
DWORD OpenEncryptedFileRawA(
[in] LPCSTR lpFileName,
[in] ULONG ulFlags,
[out] PVOID *pvContext
);
Параметры
[in] lpFileName
Имя открываемого файла. Строка должна состоять из символов из кодировки Windows.
[in] ulFlags
Операция, которая выполняется. Этот параметр может иметь одно из следующих значений.
[out] pvContext
Адрес блока контекста, который должен быть представлен в последующих вызовах ReadEncryptedFileRaw, WriteEncryptedFileRaw или CloseEncryptedFileRaw. Не изменяйте ее.
Возвращаемое значение
Если функция завершается успешно, она возвращает ERROR_SUCCESS.
Если функция завершается сбоем, она возвращает ненулевой код ошибки, определенный в WinError.h. Вы можете использовать FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM , чтобы получить общее текстовое описание ошибки.
Комментарии
Для успешного выполнения вызова вызывающий объект должен иметь доступ на чтение или запись к файлу или иметь право на резервное копирование SeBackupPrivilege на компьютере, на котором находятся файлы.
Чтобы создать резервную копию зашифрованного файла, вызовите OpenEncryptedFileRaw , чтобы открыть файл, а затем вызовите ReadEncryptedFileRaw. После завершения резервного копирования вызовите CloseEncryptedFileRaw.
Чтобы восстановить зашифрованный файл, вызовите OpenEncryptedFileRaw, указав CREATE_FOR_IMPORT в параметре ulFlags , а затем вызовите WriteEncryptedFileRaw один раз. После завершения операции вызовите CloseEncryptedFileRaw.
OpenEncryptedFileRaw завершается ошибкой , если значение lpFileName превышает MAX_PATH символов при открытии зашифрованного файла на удаленном компьютере.
Если вызывающий объект не имеет доступа к ключу для файла, ему требуется SeBackupPrivilege для экспорта зашифрованных файлов или SeRestorePrivilege для импорта зашифрованных файлов.
Функции BackupRead и BackupWrite обрабатывают резервное копирование и восстановление незашифрованных файлов.
В 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 определяет OpenEncryptedFileRaw в качестве псевдонима, который автоматически выбирает версию 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) |