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,并在 ulFlags 参数中指定CREATE_FOR_IMPORT。 然后调用 WriteEncryptedFileRaw,向其传递应用程序定义的导入回调函数的地址。 系统多次调用此回调函数,直到读取和还原整个文件的内容。 还原完成后,调用 CloseEncryptedFileRaw 以释放资源并关闭文件。 有关如何声明导入回调函数的详细信息,请参阅 ImportCallback 。
此函数仅用于备份加密文件;有关未加密文件的备份,请参阅 BackupRead 。
在 Windows 8、Windows Server 2012 及更高版本中,以下技术支持此功能。
技术 | 支持 |
---|---|
服务器消息块 (SMB) 3.0 协议 | 是 |
SMB 3.0 透明故障转移 (TFO) | 否 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 否 |
群集共享卷文件系统 (CSV) | 否 |
弹性文件系统 (ReFS) | 否 |
SMB 3.0 不支持具有持续可用性功能的共享上的 EFS。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP Professional [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winbase.h (包括 Windows.h) |
Library | Advapi32.lib |
DLL | Advapi32.dll |
API 集 | 在 Windows 8) 中引入的 ext-ms-win-advapi32-encryptedfile-l1-1-0 ( |