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 中定义的非零错误代码。 可以将 FormatMessageFORMAT_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 (

另请参阅

BackupRead

CloseEncryptedFileRaw

文件加密

文件管理函数

OpenEncryptedFileRaw

WriteEncryptedFileRaw