Функция WriteEncryptedFileRaw используется, чтобы восстановить (импортировать) зашифрованные файлы. Она является одной из функций группы Системы шифрования файлов (EFS), которая предназначается, чтобы выполнять резервное копирование и функцию восстановления, в то время, когда файлы обслуживаются в их зашифрованном состоянии.
Синтаксис
DWORD WriteEncryptedFileRaw( PFE_IMPORT_FUNC pfImportCallback, PVOID pvCallbackContext, PVOID pvContext ); |
Параметры
pfImportCallback
[in] Указатель на функцию повторного вызова импорта. Система вызывает функцию повторного вызова несколько раз, каждый раз, когда передает буфер, который должен быть заполнен функцией повторного вызова частью данных поддерживаемого файла. Когда функции повторного вызова подаст сигнал, что весь файл обработан, он сообщается системе, что операция восстановления закончилась. Дополнительную информацию, см. в описании функции ImportCallback.pvCallbackContext
[in] Указатель на определяемый программой и распределенный контекстный блок. Система передает этот указатель на функцию повторного вызова, как параметр так, чтобы функция повторного вызова могла иметь доступ к конкретным для приложения данным. Это может быть структура и могут содержаться любые данные нужные приложению, типа дескриптора файла, который будет содержать резервную копию зашифрованного файла.pvContext
[in] Указатель на определяемый системой контекстный блок. Контекстный блок возвращается функцией OpenEncryptedFileRaw. Не изменяйте его.Возвращаемые значения
Если функция завершается успешно, возвращаемое значение - ERROR_SUCCESS.
Если функция завершается ошибкой, она возвращает ненулевой код ошибки, определяемый в winerror.h. Вы можете использовать функцию FormatMessage с флажком FORMAT_MESSAGE_FROM_SYSTEM, чтобы получить универсальное описание текста ошибки. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Замечания
Восстанавливаемый файл не расшифровывается; он восстанавливается в своем зашифрованном состоянии.
Чтобы сделать резервную копию зашифрованного файла, вызовите функцию OpenEncryptedFileRaw, чтобы открыть файл. Затем вызовите функцию ReadEncryptedFileRaw, передавая ей адрес определяемый программой экспортной функции повторного вызова. Система вызывает эту функцию повторного вызова, несколько раз до тех пор, пока не прочитает содержание всего файла и не сделает резервную копию. Когда резервное копирование завершиться, вызывается функция CloseEncryptedFileRaw, чтобы освободить ресурсы и закрыть файл. Подробности о том, как объявить экспортную функцию повторного вызова см. в описании функции ExportCallback.
Чтобы восстановить зашифрованный файл, вызовите функцию OpenEncryptedFileRaw, определяя CREATE_FOR_IMPORT в параметре ulFlags. Затем вызовите функцию WriteEncryptedFileRaw, передавая ей адрес определяемый программой функцией повторного вызова импорта. Система вызывает эту функцию повторного вызова, несколько раз до тех пор, пока содержание всего файла не будет прочитано и восстановлено. Когда восстановление завершиться, вызовите функцию CloseEncryptedFileRaw, чтобы освободить ресурсы и закрыть файл. Подробности о том, как объявить импортную функцию повторного вызова см. в описании функции ImportCallback.
Эта функция предназначается для того, чтобы восстанавливать только зашифрованные файлы; чтобы восстановить незашифрованные файлы, см. для этого описание BackupWrite.
Смотри также
Обзор Шифрование файлов, Функции, используемые для шифрования файловой системой, BackupWrite, CloseEncryptedFileRaw, OpenEncryptedFileRaw, ReadEncryptedFileRaw
Размещение и совместимость WriteEncryptedFileRaw |
||
К |
Windows XP |
Да |
л |
Windows 2000 Professional |
Да |
и |
Windows NT |
Нет |
е |
Windows Me |
Нет |
н |
Windows 98 |
Нет |
т |
Windows 95 |
Нет |
С |
Windows Server 2003 |
Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Нет |
в | ||
е | ||
р | ||
Используемая библиотека |
Advapi32.lib |
|
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в |
Winbase.h |
|
- включено в |
Windows.h |
|
Unicode |
Нет |
|
Замечания по платформе |
Не имеется |