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

Выполняет резервное копирование (экспорт) зашифрованных файлов. Это одна из групп функций зашифрованной файловой системы (EFS), которая предназначена для реализации функций резервного копирования и восстановления, сохраняя при этом файлы в зашифрованном состоянии.

Синтаксис

DWORD ReadEncryptedFileRaw(
  [in]           PFE_EXPORT_FUNC pfExportCallback,
  [in, optional] PVOID           pvCallbackContext,
  [in]           PVOID           pvContext
);

Параметры

[in] pfExportCallback

Указатель на функцию обратного вызова экспорта. Система вызывает функцию обратного вызова несколько раз, каждый раз передавая блок данных файла функции обратного вызова, пока не будет прочитан весь файл. Дополнительные сведения см. в разделе ExportCallback.

[in, optional] pvCallbackContext

Указатель на определяемый приложением и выделенный блок контекста. Система передает этот указатель на функцию обратного вызова в качестве параметра, чтобы у функции обратного вызова был доступ к данным конкретного приложения. Это может быть структура и может содержать любые данные, необходимые приложению, например дескриптор файла, который будет содержать резервную копию зашифрованного файла.

[in] pvContext

Указатель на определяемый системой блок контекста. Блок контекста возвращается функцией OpenEncryptedFileRaw . Не изменяйте ее.

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

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

Если функция завершается сбоем, она возвращает ненулевой код ошибки, определенный в WinError.h. Вы можете использовать FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM , чтобы получить общее текстовое описание ошибки.

Комментарии

Файл, резервная копия которой выполняется, не расшифровывается; резервная копия выполняется в зашифрованном состоянии.

Чтобы создать резервную копию зашифрованного файла, вызовите OpenEncryptedFileRaw , чтобы открыть файл. Затем вызовите ReadEncryptedFileRaw, передав ему адрес определяемой приложением функции обратного вызова экспорта. Система вызывает эту функцию обратного вызова несколько раз, пока не будет прочитано и резервное копирование всего файла. После завершения резервного копирования вызовите Метод CloseEncryptedFileRaw , чтобы освободить ресурсы и закрыть файл. Дополнительные сведения о том, как объявить функцию обратного вызова экспорта, см. в разделе ExportCallback .

Чтобы восстановить зашифрованный файл, вызовите OpenEncryptedFileRaw, указав CREATE_FOR_IMPORT в параметре ulFlags . Затем вызовите WriteEncryptedFileRaw, передав ему адрес определяемой приложением функции обратного вызова импорта. Система вызывает эту функцию обратного вызова несколько раз, пока не будет прочитано и восстановлено все содержимое файла. После завершения восстановления вызовите Метод CloseEncryptedFileRaw , чтобы освободить ресурсы и закрыть файл. Дополнительные сведения о том, как объявить функцию обратного вызова импорта, см. в разделе ImportCallback .

Эта функция предназначена для резервного копирования только зашифрованных файлов; Сведения о резервном копировании незашифрованных файлов см. в статье BackupRead .

В 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 winbase.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll
Набор API ext-ms-win-advapi32-encryptedfile-l1-1-0 (появился в Windows 8)

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

BackupRead

CloseEncryptedFileRaw

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

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

OpenEncryptedFileRaw

WriteEncryptedFileRaw